Deployment Guide
This deployment guide provides comprehensive instructions for deploying the CIVITAS/CORE platform in both local development and remote production environments. The platform supports a unified deployment approach that ensures consistency across all deployment types.
Deployment Overview
CIVITAS/CORE deployment is structured as a two-phase process:
- Cluster Setup Phase - Prepare your Kubernetes environment
- Platform Installation Phase - Deploy and configure CIVITAS/CORE components
This separation allows for consistent platform installation while supporting different infrastructure approaches (local development, cloud providers, on-premises).
Unified Installation Workflow
Both local and remote deployments use the same platform installation process:
# Phase 1: Set up Kubernetes cluster (deployment-specific)
# Follow appropriate cluster setup guide
# Phase 2: Install platform (unified process)
pip install cc-cli
cc_cli wizard # Interactive configuration
cc_cli validate # Verify configuration
cc_cli exec # Deploy platform
Quick Start Paths
Local Development Deployment
Best for: Development, testing, learning, proof-of-concepts
-
Cluster Setup: Follow your OS-specific guide:
-
Platform Installation: Platform Installation Guide
Time: 1-2 hours
Remote/Cloud Deployment
Best for: Staging, production, shared environments
- Cluster Setup: Generic Remote/Cloud Setup Guide or Specific Azure Setup Guide
- Platform Installation: Platform Installation Guide
Time: 4-8 hours
Documentation Structure
This deployment guide is organized as follows:
Core Guides
- Deployment Requirements - Prerequisites and system requirements
- The cluster setup guides - Kubernetes environment preparation
- Remote: Generic Cloud Setup | Azure AKS Setup
- Local: Linux | macOS | Windows
- Inventory Configuration - cc_cli wizard configuration and advanced customization guide
Advanced Guides
- Upgrade Guide - Platform updates and version management
Specialized Topics
- MQTT Integration - Enable MQTT with TLS
- Private Registry Support - Use private container registries
- IT Security - Security best practices and vulnerability management
Repository Setup
Before starting deployment, clone the CIVITAS/CORE repository:
git clone https://gitlab.com/civitas-connect/civitas-core/civitas-core.git
cd civitas-core
For customizations: If you need to modify platform components or add custom configurations, fork the repository first and clone your fork. This ensures you can track your customizations and receive upstream updates.
Deployment Scopes
The platform supports flexible deployment scopes based on your needs:
Sandbox Deployment
- Purpose: Development, testing, learning
- Components: Core functionality only
- Resources: Minimal (4-8 GB RAM)
- Time: 10-20 minutes
Full Deployment
- Purpose: Production, staging, comprehensive evaluation
- Components: All platform features
- Resources: Production-grade (16+ GB RAM)
- Time: 20-45 minutes
Key Features of Unified Approach
CC CLI Tool Benefits
- Interactive Wizard: Guided configuration for all deployment types
- Built-in Validation: Pre-deployment configuration verification
- Consistent Commands: Same workflow for local and remote deployments
- Error Prevention: Automatic validation of settings and cluster state
- Incremental Updates: Support for configuration changes and component updates
Deployment Type Detection
The cc_cli tool automatically detects your deployment type and provides appropriate defaults:
- Local deployments: Self-signed certificates, local DNS, minimal resources
- Remote deployments: Let's Encrypt certificates, production settings, scalability options
Getting Help
Documentation Resources
- Platform Installation Guide - Step-by-step unified installation
- Inventory Configuration - Detailed configuration options
- Administration Guide - Post-deployment management
Troubleshooting
- Validation Issues: Run
cc_cli validate --verbose
for detailed error information - Installation Problems: Check cluster status with
kubectl cluster-info
- Configuration Questions: Use the interactive wizard's built-in help
Community & Support
- GitLab Issues: Report problems or request features
- Documentation Updates: Contribute improvements via merge requests
- Architecture Questions: See Architecture Documentation
Next Steps
- Check Requirements: Review Deployment Requirements
- Choose Deployment Type: Local development or remote deployment
- Follow Setup Guide: Complete cluster setup for your chosen deployment type
- Install Platform: Use the Platform Installation Guide