Manual CodeMie Components Deployment
This guide provides step-by-step instructions for manually deploying AI/Run CodeMie application components using Helm charts. Manual deployment gives you granular control over each component installation, allowing for customization and troubleshooting at each stage.
Use manual deployment when you need:
- Fine-grained control over individual component configuration
- Custom installation order or selective component deployment
- Troubleshooting capabilities at each deployment stage
- Integration with existing infrastructure components
If you prefer automated deployment, see Scripted Deployment instead.
Overview
Manual deployment involves installing components individually in a specific dependency order. Each component is deployed using Helm charts with cloud-specific values files (values-azure.yaml).
Deployment Scope
This guide covers all components required for a fully functional AI/Run CodeMie installation:
- Infrastructure services - Storage provisioning and ingress routing
- Data layer - Document storage and relational databases
- Security components - Identity management and authentication proxies
- Messaging system - Inter-service communication infrastructure
- Core CodeMie services - Main application components
- Observability stack - Logging and monitoring dashboards
Prerequisites
Before starting manual deployment, ensure you have completed all requirements:
Verification Checklist
- Infrastructure Deployed: Completed Infrastructure Deployment phase
- Cluster Access: Connected to Jumpbox VM and kubectl configured for AKS
- Container Registry: Completed Container Registry Access Setup from overview page
- Helm Installed: Helm 3.16.0+ installed on deployment machine
- Repository Cloned:
codemie-helm-chartsrepository available locally - Domain Configured: Know your CodeMie domain name from infrastructure outputs
You must complete the Container Registry Access setup from the Components Deployment Overview before proceeding. Each component requires the gcp-artifact-registry pull secret to exist.
Required Tools
Ensure these tools are available on your deployment machine (Jumpbox):
kubectl- Kubernetes cluster managementhelm3.16.0+ - Kubernetes package managergcloudCLI - For GCR authenticationazCLI - For Azure operations
Component Installation Order
Components must be installed in the following order to satisfy dependencies:
1. Kubernetes Components
Purpose: Foundation infrastructure for storage provisioning and external access
Components:
- Azure Storage Class (for dynamic volume provisioning)
- Nginx Ingress Controller (for HTTP/HTTPS routing)
When to Skip: If your cluster already has these components configured
2. Data Layer
Purpose: Persistent storage for application data and user content
Components:
- Elasticsearch (document storage and search engine)
- PostgreSQL Operator (database lifecycle management)
- PostgreSQL (relational database instances)
Dependencies: Requires storage class from Step 1
3. Security and Identity
Purpose: User authentication, authorization, and access control
Components:
- Keycloak Operator (Keycloak lifecycle management)
- Keycloak (identity and access management)
- OAuth2 Proxy (authentication proxy)
Dependencies: Requires PostgreSQL from Step 2
4. Plugin Engine
Purpose: Inter-service messaging and plugin communication infrastructure
Components:
- NATS (message broker)
- NATS Auth Callout (authentication service for NATS)
Dependencies: None (standalone messaging layer)
5. AI/Run CodeMie Core
Purpose: Main application services providing CodeMie functionality
Components:
- CodeMie API (backend REST API)
- CodeMie UI (frontend web application)
- MCP Connect (Model Context Protocol connector)
- Mermaid Server (diagram rendering service)
Dependencies: Requires all previous components (data layer, security, messaging)
6. Observability
Purpose: System monitoring, logging aggregation, and operational insights
Components:
- Fluent Bit (log collection and forwarding)
- Kibana (log visualization and analysis)
- Kibana Dashboards (pre-configured monitoring views)
Dependencies: Requires Elasticsearch from Step 2
Getting Started
Step 1: Clone Repository
Clone the Helm charts repository on your Jumpbox VM:
git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git
cd codemie-helm-charts
Step 2: Configure Domain Name
Update the domain name in values files. Replace codemie.example.com with your actual domain, or leave it if using the default one:
# Use your domain from deployment_outputs.env
YOUR_DOMAIN="codemie.example.com"
# Update all values-azure.yaml files
find . -name "values-azure.yaml" -exec sed -i "s/codemie.example.com/$YOUR_DOMAIN/g" {} \;
# Update domain placeholder in CodeMie API values
sed -i "s/%%DOMAIN%%/example.com/g" codemie-api/values-azure.yaml
Your domain name was configured during infrastructure deployment. Find it in deployment_outputs.env as CODEMIE_DOMAIN_NAME.
Step 3: Authenticate to Container Registry
Authenticate Helm to the Google Container Registry:
# Set credentials
export GOOGLE_APPLICATION_CREDENTIALS=key.json
# Login to registry
gcloud auth application-default print-access-token | \
helm registry login -u oauth2accesstoken --password-stdin europe-west3-docker.pkg.dev
Step 4: Get Latest CodeMie Version
Retrieve the latest AI/Run CodeMie release version:
# Check latest version
bash get-codemie-latest-release-version.sh -c key.json
# Note the version (e.g., 1.2.3) for component installations
You'll use this version when installing each component's Helm chart.
Installation Process
Follow the component installation guides in the order listed above. Each guide provides:
- Detailed installation commands
- Configuration options
- Validation steps
- Troubleshooting guidance
Installing components out of order will cause deployment failures. Always follow the numbered sequence to ensure dependencies are satisfied.
Common Issues
Image Pull Failures
Symptom: Pods stuck in ImagePullBackOff or ErrImagePull
Solution:
- Verify
gcp-artifact-registrysecret exists:kubectl get secret -n codemie - Re-authenticate to registry (repeat Step 3)
- Check network connectivity to
europe-west3-docker.pkg.dev
Next Steps
Begin the installation process by following the guides in order, starting with Kubernetes Components.
After completing all component installations, proceed to Configuration to configure users, AI models, and data sources.