From 6d98e548317b8274986b716392e6aaead01a9603 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Fri, 25 Sep 2026 17:38:41 +0300 Subject: [PATCH 1/8] docs(deployment): add consolidated multi-cloud deployment guides Add infrastructure-deployment/ and platform-deployment/ sections that consolidate cloud-specific (AWS/GCP/Azure) documentation into unified guides using cloud-provider tabs instead of separate per-cloud pages. - infrastructure-deployment/: kubernetes and on-vm guides (all 3 clouds) - platform-deployment/automated/: scripted Helm deployment for all clouds - platform-deployment/manual/kubernetes/: 6-step manual install guides - Add optional props to 4 common partials for depth-sensitive links - Update sidebars.ts with nested categories for the new sections Generated with AI Co-Authored-By: codemie-ai --- .../core/_core-components-access.mdx | 2 +- .../_data-layer-postgresql-config.mdx | 2 +- .../_observability-fluent-bit.mdx | 2 +- .../_observability-validation.mdx | 2 +- .../infrastructure-deployment/index.md | 36 + .../infrastructure-deployment/kubernetes.mdx | 727 ++++++++++++++++ .../infrastructure-deployment/on-vm.mdx | 793 ++++++++++++++++++ .../platform-deployment/automated/index.md | 28 + .../automated/kubernetes.mdx | 379 +++++++++ .../deployment/platform-deployment/index.md | 34 + .../platform-deployment/manual/index.md | 37 + .../manual/kubernetes/core-components.mdx | 115 +++ .../manual/kubernetes/data-layer.mdx | 68 ++ .../manual/kubernetes/index.mdx | 158 ++++ .../manual/kubernetes/k8s-components.mdx | 156 ++++ .../manual/kubernetes/observability.mdx | 38 + .../manual/kubernetes/plugin-engine.mdx | 24 + .../kubernetes/security-and-identity.mdx | 49 ++ sidebars.ts | 64 ++ 19 files changed, 2710 insertions(+), 4 deletions(-) create mode 100644 docs/admin/deployment/infrastructure-deployment/index.md create mode 100644 docs/admin/deployment/infrastructure-deployment/kubernetes.mdx create mode 100644 docs/admin/deployment/infrastructure-deployment/on-vm.mdx create mode 100644 docs/admin/deployment/platform-deployment/automated/index.md create mode 100644 docs/admin/deployment/platform-deployment/automated/kubernetes.mdx create mode 100644 docs/admin/deployment/platform-deployment/index.md create mode 100644 docs/admin/deployment/platform-deployment/manual/index.md create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx create mode 100644 docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx index 757904c6..e63f90c5 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx @@ -7,5 +7,5 @@ https://codemie.airun.example.com ``` :::warning User Creation Required -You'll be redirected to Keycloak for authentication, but no users exist yet. You must complete the [Configuration](../../../../../../configuration/index.mdx) guide to create users before you can log in to the application. +You'll be redirected to Keycloak for authentication, but no users exist yet. You must complete the Configuration guide to create users before you can log in to the application. ::: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx index a5225e43..5df9e187 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx @@ -29,5 +29,5 @@ Get your {props.postgresServiceName} connection details from the infrastructure :::tip Finding Credentials -Your `deployment_outputs.env` file was created during [Infrastructure Deployment](../../../infrastructure-deployment). It should be located in your Terraform working directory. +Your `deployment_outputs.env` file was created during Infrastructure Deployment. It should be located in your Terraform working directory. ::: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx index 37e2a6a5..32c4772b 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx @@ -14,7 +14,7 @@ Collects structured usage metrics from CodeMie application pods, including: These metrics are required for Kibana dashboards and usage analytics. By default, they are stored in the `codemie_metrics_logs` index. When quarterly metrics index rotation is enabled, configure the metrics output to use the `codemie_metrics_logs_write` alias -instead. See the [Metrics Index Rotation](../../../../../../configuration/observability/metrics-index-rotation) +instead. See the Metrics Index Rotation guide for the migration and configuration steps. **2. Infrastructure Logs (Optional)** diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-validation.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-validation.mdx index 3189cf9d..5cfb3441 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-validation.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-validation.mdx @@ -26,4 +26,4 @@ All checks should return successful results. Congratulations! You have successfully completed the manual deployment of all AI/Run CodeMie components. -Proceed to **[Accessing Applications](../../../accessing-applications)** - Learn how to access the deployed AI/Run CodeMie applications and complete the required configuration steps. +Proceed to **Accessing Applications** - Learn how to access the deployed AI/Run CodeMie applications and complete the required configuration steps. diff --git a/docs/admin/deployment/infrastructure-deployment/index.md b/docs/admin/deployment/infrastructure-deployment/index.md new file mode 100644 index 00000000..2eaab829 --- /dev/null +++ b/docs/admin/deployment/infrastructure-deployment/index.md @@ -0,0 +1,36 @@ +--- +id: infrastructure-deployment-overview +title: Infrastructure Deployment +sidebar_label: Infrastructure Deployment +sidebar_position: 1 +--- + +# Infrastructure Deployment + +This section covers deploying the cloud infrastructure required to run AI/Run CodeMie — managed Kubernetes clusters, virtual machines, networking, storage, and databases. All guides support AWS, GCP, and Azure in a unified format using cloud tabs. + +:::info Existing Infrastructure +If you already have a provisioned cluster or VM with all required services, skip this section and proceed directly to [Platform Deployment](../platform-deployment/index.md). +::: + +## Deployment Tracks + +Choose the deployment track that matches your target environment: + +| Track | Description | When to Use | +| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| [**Kubernetes**](./kubernetes.mdx) | Provision a managed Kubernetes cluster (EKS / GKE / AKS) along with supporting cloud resources (networking, storage, databases) using Terraform | When running CodeMie on Kubernetes (recommended for production) | +| [**On VM**](./on-vm.mdx) | Provision a single virtual machine (EC2 / GCE / Azure VM) and deploy the full CodeMie stack via Docker Compose | When a lightweight, single-node deployment is preferred | + +## Deployment Methods + +Both tracks support two deployment methods: + +| Method | Description | Recommendation | +| ------------ | ---------------------------------------------------------------- | --------------------------------------- | +| **Scripted** | Automated shell script handles all Terraform phases in sequence | Recommended for most users | +| **Manual** | Step-by-step Terraform commands for full control over each phase | Advanced use cases, custom integrations | + +## Next Steps + +After completing infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/index.md) to install AI/Run CodeMie application components. diff --git a/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx b/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx new file mode 100644 index 00000000..f8254db9 --- /dev/null +++ b/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx @@ -0,0 +1,727 @@ +--- +id: infrastructure-deployment-kubernetes +title: Kubernetes Infrastructure Deployment +sidebar_label: Kubernetes +sidebar_position: 2 +pagination_prev: admin/deployment/infrastructure-deployment/infrastructure-deployment-overview +pagination_next: admin/deployment/infrastructure-deployment/infrastructure-deployment-on-vm +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Kubernetes Infrastructure Deployment + +This guide covers deploying the cloud infrastructure required to run AI/Run CodeMie on Kubernetes. All three cloud providers are supported: AWS (EKS), GCP (GKE), and Azure (AKS). + +The Terraform automation provisions a managed Kubernetes cluster together with networking, storage, databases, and security infrastructure. The resulting `deployment_outputs.env` file contains all values needed for the subsequent platform deployment phase. + +:::tip Recommended Approach +Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. +::: + +:::info Existing Infrastructure +If you already have a provisioned Kubernetes cluster with all required services, skip this page and proceed directly to [Platform Deployment](../platform-deployment/index.md). +::: + +## Prerequisites + +Ensure all requirements from the cloud-specific Prerequisites page are met before starting. + + + + +### Verification Checklist + +- [ ] **AWS Access**: Programmatic access with IAM permissions +- [ ] **Tools Installed**: Terraform 1.13.5+, AWS CLI, kubectl, Helm, gcloud CLI, Docker +- [ ] **AWS Authentication**: Configured AWS credentials and region +- [ ] **Repository Access**: Access to Terraform and Helm repositories +- [ ] **Network Planning**: Prepared list of allowed networks +- [ ] **Domain Configuration**: Route 53 hosted zone ready + +:::warning Authentication Required +You must have configured AWS credentials before running the deployment. Verify with `aws sts get-caller-identity`. +::: + + + + +### Verification Checklist + +- [ ] **GCP Access**: Project Owner or Editor role with IAM permissions +- [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs +- [ ] **Tools Installed**: tfenv, Terraform 1.13.5+, gcloud CLI, kubectl, Helm, Docker +- [ ] **GCP Authentication**: Logged in with gcloud CLI and application default credentials configured +- [ ] **Repository Access**: Access to Terraform and Helm repositories +- [ ] **Network Planning**: Prepared list of authorized networks (if accessing GKE API from workstation) + +:::warning Authentication Required +You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth login` and `gcloud auth application-default login`. Verify the active project with `gcloud config get-value project`. +::: + + + + +### Verification Checklist + +- [ ] **Azure Access**: Contributor role with Entra ID App Registration access +- [ ] **Tools Installed**: Terraform 1.13.5+, Azure CLI, kubectl, Helm, gcloud CLI, Docker +- [ ] **Azure Authentication**: Logged in via `az login` and subscription set +- [ ] **Repository Access**: Access to `codemie-terraform-azure` repository +- [ ] **Network Planning**: Prepared list of allowed networks +- [ ] **Domain & Certificate**: DNS zone and TLS certificate ready (for public access) or will use private DNS + +:::warning Authentication Required +You must be authenticated to Azure CLI before running the deployment script. Run `az login` and verify with `az account show`. +::: + + + + +--- + +## Scripted Deployment + +Scripted deployment runs all Terraform phases automatically in the correct order and generates `deployment_outputs.env` upon completion. + + + + +### Deployment Phases (AWS) + +| Phase | Description | Required | +| ------------------------------------ | ---------------------------------------------------------------- | ------------------------------------- | +| **Phase 1: IAM Deployer Role** | Creates IAM role with required permissions for deployment | Can be skipped if role already exists | +| **Phase 2: State Backend** | Creates S3 bucket with native locking for Terraform state files | Yes | +| **Phase 3: Platform Infrastructure** | Deploys EKS, networking, storage, databases, security components | Yes | + +### Phase 1: Deploy IAM Deployer Role + +The IAM deployer role provides necessary permissions for all subsequent infrastructure operations. **Skip this phase if the role already exists.** + +1. Clone the IAM Terraform repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam.git +cd codemie-terraform-aws-iam +``` + +2. Create `terraform.tfvars`: + +```hcl +region = "us-east-1" +platform_name = "codemie" +deployer_role_name = "AIRunDeployerRole" + +# Optional: IAM Permissions Boundary +iam_permissions_boundary_policy_arn = "" + +# Optional: Custom tags +tags = { + "SysName" = "AI/Run" + "Environment" = "Production" + "Project" = "AI/Run" +} +``` + +3. Initialize and apply Terraform: + +```bash +terraform init +terraform plan +terraform apply +``` + +### Phase 2 & 3: Deploy Platform Infrastructure + +1. Clone the platform repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform.git +cd codemie-terraform-aws-platform +``` + +2. Edit `deployment.conf`: + +```bash +# Required: AWS Account Information +AWS_PROFILE="My_Profile" + +# Required: Basic Configuration +TF_VAR_region="us-east-1" +TF_VAR_role_arn="arn:aws:iam::123456789012:role/AIRunDeployerRole" +TF_VAR_platform_domain_name="airun.example.com" + +# Required: EKS Configuration +TF_VAR_cluster_version="1.35" +TF_VAR_demand_instance_types='[{ instance_type = "r5.xlarge" }]' +TF_VAR_demand_max_nodes_count=3 +TF_VAR_demand_desired_nodes_count=3 +TF_VAR_demand_min_nodes_count=3 + +# Required: Platform Configuration +TF_VAR_platform_name="codemie" +TF_VAR_subnet_azs='["us-east-1a", "us-east-1b", "us-east-1c"]' +TF_VAR_s3_states_bucket_name="codemie-terraform-states" + +# Optional: IAM Permissions Boundary +TF_VAR_eks_admin_role_arn="" +TF_VAR_role_permissions_boundary_arn="" + +# Optional: Network Access Control +TF_VAR_enable_private_connections=true +TF_VAR_lb_prefix_list_ids='[]' +TF_VAR_lb_specific_ips='[]' +TF_VAR_security_group_ids='[]' + +# Optional: Dedicated RDS Instances +TF_VAR_keycloak_db_config='{"enabled":true}' +TF_VAR_langfuse_db_config='{"enabled":false}' +TF_VAR_litellm_db_config='{"enabled":false}' +``` + +:::info Complete Variable List +For all available configuration options, refer to the `variables.tf` file in the platform repository. +::: + +3. Run the deployment script: + +```bash +bash ./aws-terraform.sh +``` + +The script automatically executes: + +1. **Validate Environment** — Check for required tools and AWS authentication +2. **Verify Configuration** — Validate `deployment.conf` parameters +3. **Deploy State Backend** — Create S3 bucket with native locking +4. **Deploy Platform Infrastructure** — Provision EKS, networking, storage, databases +5. **Generate Outputs** — Create `deployment_outputs.env` + +:::warning Security Groups +Ensure that incoming traffic to the Security Group on LoadBalancers is allowed from: + +- Your VPN or networks you plan to use with AI/Run CodeMie +- EKS Cluster NAT Gateway EIP (not required if `enable_private_connections=true`) + ::: + + + + + +### Deployment Phases (GCP) + +| Phase | Description | Required | +| ------------------------------------ | ---------------------------------------------------------------------------------- | -------- | +| **Phase 1: State Backend** | Creates GCS bucket for Terraform state files | Yes | +| **Phase 2: Platform Infrastructure** | Deploys GKE, networking, storage, databases, security components, and Bastion Host | Yes | + +### Step 1: Clone Platform Repository + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform.git +cd codemie-terraform-gcp-platform +``` + +### Step 2: Configure Deployment + +Edit `deployment.conf`: + +```bash +TF_VAR_project_id="my-gcp-project-id" +TF_VAR_region="europe-west3" +TF_VAR_storage_bucket_name="codemie-terraform-states" +TF_VAR_labels='{"sys_name":"ai_run","environment":"development","project":"ai_run"}' +TF_VAR_platform_name="codemie" + +# Whether to create a private GKE cluster (also deploys a bastion host) +TF_VAR_private_cluster=false + +# Users/groups allowed to access the bastion host via IAP (only when private_cluster=true) +TF_VAR_bastion_members='["user:user@example.com"]' + +TF_VAR_node_pool_machine_type="e2-standard-8" +TF_VAR_node_pool_min_count=2 +TF_VAR_node_pool_max_count=3 +TF_VAR_extra_authorized_networks='[]' + +# Optional: Dedicated Cloud SQL Instances +TF_VAR_keycloak_db_config='{"enabled":true}' +TF_VAR_langfuse_db_config='{"enabled":false}' +TF_VAR_litellm_db_config='{"enabled":false}' + +# Optional: Cloud Memorystore Redis +TF_VAR_codemie_cache_config='{"enabled":false}' +``` + +:::info Complete Variable List +For all available configuration options, refer to the `platform/terraform.tfvars.example` file in the repository. +::: + +### Step 3: Run Deployment Script + +```bash +bash ./gcp-terraform.sh +``` + +The script automatically executes: + +1. **Validate Configuration** — Check `deployment.conf` for required variables +2. **Verify Prerequisites** — Check for required tools +3. **Check Terraform Version** — Ensure correct version via tfenv +4. **Verify GCP Authentication** — Validate active gcloud session +5. **Deploy State Backend** — Create GCS bucket for Terraform state +6. **Deploy Platform Infrastructure** — Provision GKE, networking, storage, databases +7. **Generate Outputs** — Create `deployment_outputs.env` + +:::info Private Cluster Post-Deployment +For a **private GKE cluster** (`TF_VAR_private_cluster=true`), configure [Bastion Host access](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before proceeding to platform deployment. +::: + + + + +### Deployment Phases (Azure) + +| Phase | Description | Required | +| ------------------------------------ | ---------------------------------------------------------------- | -------- | +| **Phase 1: State Backend** | Creates Azure Storage Account for Terraform state files | Yes | +| **Phase 2: Platform Infrastructure** | Deploys AKS, networking, storage, databases, security components | Yes | +| **Phase 3: AI Models** | Provisions Azure OpenAI services | Optional | + +:::info Skipping AI Models +Set `DEPLOY_AI_MODELS="false"` to skip Phase 3 if using external AI providers. +::: + +### Step 1: Clone Repository + +```bash +git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git +cd codemie-terraform-azure +``` + +### Step 2: Configure Deployment + +Edit `deployment.conf`: + +```bash +# Required: Azure Account Information +AZURE_TENANT_ID="00000000-0000-0000-0000-000000000000" +AZURE_SUBSCRIPTION_ID="11111111-1111-1111-1111-111111111111" + +# Required: Basic Configuration +TF_VAR_customer="airun" +TF_VAR_location="West Europe" +TF_VAR_resource_group_name="" # Leave empty to auto-generate + +# Required: AKS Admin Access +TF_VAR_admin_group_object_ids='["3a459347-0000-1111-2222-e73413cfa80a"]' + +# Optional: Resource Tagging +TF_VAR_tags='{"createdWith":"Terraform","environment":"production"}' + +# Optional: AI Models Deployment +DEPLOY_AI_MODELS="true" + +# Optional: Dedicated PostgreSQL Flexible Server Instances +TF_VAR_keycloak_db_config='{"enabled":true}' +TF_VAR_langfuse_db_config='{"enabled":false}' +TF_VAR_litellm_db_config='{"enabled":false}' +``` + +:::info Azure OpenAI Configuration +When `DEPLOY_AI_MODELS="true"`, configure the `TF_VAR_cognitive_regions` variable to specify which Azure OpenAI models to deploy and in which regions. See [Azure AI Models Configuration](../../azure/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment#azure-openai-model-configuration) for detailed examples. +::: + +### Step 3: Run Deployment Script + +```bash +bash ./azure-terraform.sh +``` + +The script automatically executes: + +1. **Validate Environment** — Check for required tools and Azure authentication +2. **Verify Configuration** — Validate `deployment.conf` parameters +3. **Deploy State Backend** — Create Azure Storage Account +4. **Deploy Platform Infrastructure** — Provision AKS, networking, storage, databases +5. **Deploy AI Models** — Provision Azure OpenAI services (if `DEPLOY_AI_MODELS="true"`) +6. **Generate Outputs** — Create `deployment_outputs.env` + + + + +--- + +## Deployment Outputs + +Upon successful deployment, a `deployment_outputs.env` file is generated containing infrastructure details needed for the platform deployment phase. + + + + +```bash +# Platform Infrastructure +AWS_DEFAULT_REGION=us-east-1 +EKS_AWS_ROLE_ARN=arn:aws:iam::123456789012:role/codemie-eks-role +AWS_KMS_KEY_ID=12345678-90ab-cdef-1234-567890abcdef +AWS_S3_BUCKET_NAME=codemie-platform-bucket +CODEMIE_DOMAIN_NAME=airun.example.com + +# PostgreSQL +CODEMIE_POSTGRES_DATABASE_HOST=codemie-rds.123456789012.us-east-1.rds.amazonaws.com +CODEMIE_POSTGRES_DATABASE_PORT=5432 +CODEMIE_POSTGRES_DATABASE_NAME=codemie +CODEMIE_POSTGRES_DATABASE_USER=dbadmin +CODEMIE_POSTGRES_DATABASE_PASSWORD="generated-password" +``` + + + + +```bash +# GKE Cluster +GKE_CLUSTER_NAME=codemie-gke +GKE_LOCATION=europe-west3 +KUBECTL_COMMAND=gcloud container clusters get-credentials --project my-gcp-project --zone europe-west3 codemie-gke + +# GCP +VERTEX_PROJECT=my-gcp-project + +# PostgreSQL +CODEMIE_POSTGRES_DATABASE_HOST= +CODEMIE_POSTGRES_DATABASE_PORT=5432 +CODEMIE_POSTGRES_DATABASE_NAME=codemie +CODEMIE_POSTGRES_DATABASE_USER=admin +CODEMIE_POSTGRES_DATABASE_INSTANCE=codemie-postgresql +CODEMIE_POSTGRES_DATABASE_SECRET=codeemiePGDB +CODEMIE_POSTGRES_DATABASE_PASSWORD=generated-password +``` + + + + +```bash +# Platform Infrastructure +AZURE_CLIENT_ID="00000000-0000-0000-0000-000000000000" +AZURE_KEY_VAULT_URL="https://codemie-kv-abc123.vault.azure.net" +AZURE_KEY_NAME="codemie-key" +AZURE_STORAGE_ACCOUNT_NAME="codemiestorage123" +AZURE_RESOURCE_GROUP="airun-codemie" +CODEMIE_DOMAIN_NAME="airun.example.com" + +# AI Models (if DEPLOY_AI_MODELS="true") +AZURE_AI_TENANT_ID="00000000-0000-0000-0000-000000000000" +AZURE_AI_CLIENT_ID="00000000-0000-0000-0000-000000000000" +AZURE_AI_CLIENT_SECRET="some-secret" + +# PostgreSQL +CODEMIE_POSTGRES_DATABASE_HOST="codemie-psql-abc123.postgres.database.azure.com" +CODEMIE_POSTGRES_DATABASE_PORT="5432" +CODEMIE_POSTGRES_DATABASE_NAME="codemie" +CODEMIE_POSTGRES_DATABASE_USER="pgadmin" +CODEMIE_POSTGRES_DATABASE_PASSWORD="password" +``` + + + + +:::tip Secure Storage +`deployment_outputs.env` contains sensitive information. Store it securely, do not commit it to version control, and reference it during the Platform Deployment phase. +::: + +--- + +## Post-Deployment Validation + + + + +```bash +# List all resources in the region +aws resourcegroupstaggingapi get-resources --region + +# Verify EKS cluster status +aws eks describe-cluster --name --region --query "cluster.status" + +# Verify RDS instance status +aws rds describe-db-instances --db-instance-identifier --region +``` + +Review deployment logs: + +```bash +less logs/codemie_aws_deployment_YYYY-MM-DD-HHMMSS.log +``` + + + + +```bash +# Verify GKE cluster status +gcloud container clusters list --project= + +# Check Cloud SQL instance +gcloud sql instances list --project= + +# Check Memorystore Redis instance (if enabled) +gcloud redis instances list --project= --region= + +# Verify GCS state bucket +gcloud storage buckets list | grep terraform +``` + +Review deployment logs: + +```bash +less logs/codemie_gcp_deployment_YYYY-MM-DD-HHMMSS.log +``` + +:::info Private Cluster Next Step +If you deployed a **private GKE cluster** (`TF_VAR_private_cluster=true`), proceed to [Bastion Host Access Configuration](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before deploying platform components. +::: + + + + +```bash +# List all resources in the resource group +az resource list --resource-group --output table + +# Verify AKS cluster status +az aks show --resource-group --name CodeMieAks --query "provisioningState" + +# Verify PostgreSQL server status +az postgres flexible-server show --resource-group --name +``` + +Review deployment logs: + +```bash +cat logs/codemie_azure_deployment_YYYY-MM-DD-HHMMSS.log +``` + +### Access Jumpbox VM via Bastion + +After deployment, access the Jumpbox VM to configure AKS access: + +1. In the Azure Portal, navigate to your resource group (default: `CodeMieRG`) +2. Select the Jumpbox VM (`CodeMieVM`) → **Connect** → **Connect via Bastion** +3. Use **SSH Private Key from Azure Key Vault** authentication with `azadmin` user and the `codemie-vm-private-key` secret + +Once connected via RDP, configure kubectl: + +```bash +az login +az account set --subscription +az aks get-credentials \ + --resource-group \ + --name CodeMieAks \ + --overwrite-existing +kubelogin convert-kubeconfig -l azurecli +kubectl get nodes +``` + + + + +--- + +## Manual Deployment + +Manual deployment gives full control over each Terraform operation. Use this when you need custom configurations or are integrating with existing infrastructure management workflows. + +:::info When to Use Manual Deployment +Use manual deployment when you need fine-grained control over each deployment phase, want to customize Terraform configurations, or are integrating with existing infrastructure management workflows. +::: + + + + +### Phase 1: IAM Deployer Role + +The `DeployerRole` AWS IAM role will be used for all subsequent infrastructure deployments. + +1. Clone the repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam.git +cd codemie-terraform-aws-iam +``` + +2. Create `terraform.tfvars`: + +```hcl +region = "us-east-1" +platform_name = "codemie" +deployer_role_name = "AIRunDeployerRole" +``` + +3. Apply Terraform: + +```bash +terraform init +terraform plan +terraform apply +``` + +### Phase 2: Terraform State Backend + +1. Clone the remote backend repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-remote-backend.git +cd codemie-terraform-aws-remote-backend +``` + +2. Create `terraform.tfvars`: + +```hcl +region = "us-east-1" +role_arn = "arn:aws:iam::123456789012:role/AIRunDeployerRole" +s3_states_bucket_name = "codemie-terraform-states" +``` + +3. Apply Terraform and note the outputs: + +```bash +terraform init +terraform plan -out=tfplan +terraform apply tfplan + +export BACKEND_BUCKET=$(terraform output -raw terraform_states_s3_bucket_name) +export BACKEND_KMS_KEY_ARN=$(terraform output -raw terraform_state_kms_key_arn) +``` + +### Phase 3: Platform Infrastructure + +1. Clone the platform repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform.git +cd codemie-terraform-aws-platform/platform +``` + +2. Create `terraform.tfvars`: + +```hcl +region = "us-east-1" +role_arn = "arn:aws:iam::123456789012:role/AIRunDeployerRole" +platform_domain_name = "codemie.airun.example.com" +platform_name = "codemie" +subnet_azs = ["us-east-1a", "us-east-1b", "us-east-1c"] +cluster_version = "1.35" +demand_instance_types = [{ instance_type = "r5.xlarge" }] +demand_max_nodes_count = 3 +demand_desired_nodes_count = 3 +demand_min_nodes_count = 3 +keycloak_db_config = { enabled = true } +langfuse_db_config = { enabled = false } +litellm_db_config = { enabled = false } +``` + +3. Initialize Terraform with backend configuration: + +```bash +export AWS_PROFILE="your-aws-profile" +export REGION="us-east-1" + +terraform init \ + -backend-config="bucket=${BACKEND_BUCKET}" \ + -backend-config="key=${REGION}/codemie/platform_terraform.tfstate" \ + -backend-config="region=${REGION}" \ + -backend-config="acl=bucket-owner-full-control" \ + -backend-config="encrypt=true" \ + -backend-config="kms_key_id=${BACKEND_KMS_KEY_ARN}" \ + -backend-config="use_lockfile=true" + +terraform plan -out=tfplan +terraform apply tfplan +terraform output +``` + + + + +### Phase 1: Terraform State Backend + +1. Clone the platform repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform.git +cd codemie-terraform-gcp-platform/remote-backend +``` + +2. Create `terraform.tfvars`: + +```hcl +project_id = "your-gcp-project-id" +region = "europe-west3" +storage_bucket_name = "codemie-terraform-states" +``` + +3. Apply Terraform and note the bucket name: + +```bash +terraform init +terraform plan -out=tfplan +terraform apply tfplan + +export BACKEND_BUCKET=$(terraform output -raw terraform_states_storage_bucket_name) +``` + +### Phase 2: Platform Infrastructure + +1. Navigate to the platform directory: + +```bash +cd ../platform +``` + +2. Create `terraform.tfvars`: + +```hcl +project_id = "your-gcp-project-id" +platform_name = "codemie" +private_cluster = false +bastion_members = ["user:admin@airun.example.com"] +keycloak_db_config = { enabled = true } +langfuse_db_config = { enabled = false } +litellm_db_config = { enabled = false } +codemie_cache_config = { enabled = false } +``` + +3. Initialize and apply: + +```bash +terraform init \ + -backend-config="bucket=${BACKEND_BUCKET}" \ + -backend-config="prefix=${TF_VAR_region}/codemie/platform_terraform.tfstate" + +terraform plan -out=tfplan +terraform apply tfplan +terraform output +``` + +:::info Private Cluster Next Step +For a **private GKE cluster**, proceed to [Bastion Host Access Configuration](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before deploying platform components. +::: + + + + +:::warning Manual Deployment Not Available for Azure +Manual Kubernetes infrastructure deployment is not documented for Azure. Use [Scripted Deployment](#scripted-deployment) instead. + +If you need Terraform-level control for Azure, refer to the `variables.tf` files in the `codemie-terraform-azure` repository directly. +::: + + + + +--- + +## Next Steps + +After successful infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/index.md) to install AI/Run CodeMie application components. diff --git a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx new file mode 100644 index 00000000..c991485c --- /dev/null +++ b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx @@ -0,0 +1,793 @@ +--- +id: infrastructure-deployment-on-vm +title: On-VM Infrastructure Deployment +sidebar_label: On VM +sidebar_position: 3 +pagination_prev: admin/deployment/infrastructure-deployment/infrastructure-deployment-kubernetes +pagination_next: admin/deployment/platform-deployment/platform-deployment-overview +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# On-VM Infrastructure Deployment + +This guide covers deploying AI/Run CodeMie on a single virtual machine using Docker Compose. All three cloud providers are supported: AWS (EC2), GCP (Compute Engine), and Azure (VM). + +The `deploy.sh` script handles the full lifecycle: Terraform provisions cloud resources (VM, storage, networking, DNS), and Docker Compose brings up the CodeMie application stack on the provisioned VM. + +:::tip Recommended Approach +Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of all operations automatically. +::: + +## Prerequisites + + + + +- [ ] **AWS Access**: Programmatic access with IAM permissions +- [ ] **Tools Installed**: Terraform 1.15.x, AWS CLI, jq, openssl, envsubst, session-manager-plugin +- [ ] **AWS Authentication**: Configured AWS credentials +- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) +- [ ] **GCP Registry Key**: `key.json` file available + + + + + +- [ ] **GCP Access**: Active project with required IAM roles +- [ ] **Tools Installed**: Terraform 1.15.x, gcloud CLI, jq, openssl, envsubst +- [ ] **GCP Authentication**: `gcloud auth application-default login` completed +- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) +- [ ] **GCP Registry Key**: `key.json` file available + + + + + +- [ ] **Azure Access**: Active subscription with Contributor role +- [ ] **Tools Installed**: Terraform 1.15.x, Azure CLI, jq, openssl, envsubst +- [ ] **Azure Authentication**: `az login` completed, subscription set +- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) +- [ ] **GCP Registry Key**: `key.json` file available + + + + + +--- + +## Scripted Deployment + +### Step 1: Clone the Repository + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git +cd codemie-on-vm +``` + +### Step 2: Place the GCP Registry Key + +Copy your `key.json` file to the repository root: + +```bash +cp /path/to/key.json ./key.json +``` + +### Step 3: Create Deployment Configuration + + + + +:::info One-Time Setup: IAM Deployer Role +Before running `deploy.sh` for the first time, create the IAM deployer role. + +Navigate to the IAM module and apply Terraform: + +```bash +cd terraform/aws/codemie-on-vm-aws-iam/ +``` + +Create `terraform.tfvars`: + +```hcl +region = "eu-north-1" +platform_name = "codemie" +deployer_role_name = "CodemieOnVmDeployerRole" +``` + +Deploy: + +```bash +terraform init +terraform plan +terraform apply +terraform output deployer_iam_role_arn +# Example: arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole +``` + +Then return to the repository root. +::: + +```bash +cp deployment.conf.example deployment.conf +``` + +Edit `deployment.conf`: + +```bash +# AWS credentials +AWS_PROFILE="" +TF_VAR_region="eu-north-1" +TF_VAR_role_arn="arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" + +# Terraform State +TF_VAR_s3_states_bucket_name="codemie-terraform-states" + +# Platform +TF_VAR_platform_name="codemie" + +# EC2 +TF_VAR_instance_type="r5.xlarge" # 4 vCPU, 32 GB RAM +TF_VAR_volume_size=100 +TF_VAR_access_prefix_list_ids='[]' +TF_VAR_private_ip_only=false + +# Domain & TLS (optional) +TF_VAR_platform_domain_name="" + +# CodeMie +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" +``` + + + + +```bash +cp deployment.conf.gcp.example deployment.conf +``` + +Edit `deployment.conf`: + +```bash +CLOUD_PROVIDER="gcp" + +# GCP +TF_VAR_project_id="" +TF_VAR_region="europe-west3" +TF_VAR_zone_suffix="a" + +# Terraform State +TF_VAR_states_bucket_name="" + +# Platform +TF_VAR_platform_name="codemie" + +# VM +TF_VAR_machine_type="n2-highmem-4" # 4 vCPU, 32 GB RAM +TF_VAR_disk_size=100 + +# Domain & Private DNS (optional) +TF_VAR_platform_domain_name="" + +# CodeMie +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" +``` + + + + +```bash +cp deployment.conf.azure.example deployment.conf +``` + +Edit `deployment.conf`: + +```bash +CLOUD_PROVIDER="azure" + +# Azure +AZURE_SUBSCRIPTION_ID="" +AZURE_TENANT_ID="" + +# Terraform +TF_VAR_location="westeurope" +TF_VAR_platform_name="codemie" +TF_VAR_vm_size="Standard_E4s_v5" # 4 vCPU, 32 GB RAM +TF_VAR_vm_os_disk_size=100 +TF_VAR_platform_domain_name="" + +# CodeMie +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +# Azure OpenAI / AI Models +DEPLOY_AI_MODELS="true" +# Required only when DEPLOY_AI_MODELS=false: +# AZURE_OPENAI_ENDPOINT="" +# AZURE_CLIENT_ID="" +# AZURE_CLIENT_SECRET="" +``` + + + + +### Step 4: Authenticate with Cloud Provider + + + + +```bash +# If using AWS SSO: +aws sso login --profile your-profile +export AWS_PROFILE=your-profile + +# Verify credentials: +aws sts get-caller-identity +``` + + + + +```bash +gcloud auth application-default login + +# Verify active project: +gcloud config get-value project +``` + + + + +```bash +az login +az account set --subscription "" + +# Verify: +az account show +``` + + + + +### Step 5: Run the Deployment + +```bash +./deploy.sh +``` + +The script executes the following phases: + + + + +| Phase | Description | +| ------------------------------ | ------------------------------------------------------- | +| Loading config | Validates `deployment.conf` variables | +| Checking prerequisites | Verifies required tools are installed | +| Verifying AWS credentials | Confirms valid AWS session | +| Initializing S3 remote backend | Creates S3 bucket for Terraform state | +| Running terraform | Plans and applies infrastructure (with approval prompt) | +| Reading terraform outputs | Fetches EC2 ID, IPs, S3 bucket, KMS key | +| Generating .env | Creates secrets and renders Docker Compose environment | +| Provisioning EC2 | Installs Docker, syncs files, starts services | +| Writing outputs | Saves credentials to `deployment_outputs.env` | +| Deployment summary | Prints URL, SSH command, credentials | + +:::warning Interactive Prompts +The script pauses twice for approval: remote backend Terraform plan and platform Terraform plan. Review plans carefully before typing `y`. +::: + + + + +| Phase | Description | +| ------------------------------ | ---------------------------------------------------------------- | +| Loading config | Validates `deployment.conf` variables | +| Checking prerequisites | Verifies required tools are installed | +| Verifying GCP credentials | Confirms valid `gcloud` session and project | +| Initializing Terraform backend | Creates GCS bucket for Terraform state | +| Running platform Terraform | Plans and applies VM, GCS bucket, Cloud KMS key, DNS, firewall | +| Reading Terraform outputs | Fetches VM private IP, GCS bucket name, KMS key ID | +| Generating .env | Creates secrets and renders Docker Compose environment | +| Provisioning VM | Installs Docker, syncs files, starts services via IAP SSH tunnel | +| Writing outputs | Saves credentials to `deployment_outputs.env` | +| Deployment summary | Prints URL, SSH command, credentials | + + + + +| Phase | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| Loading config | Validates `deployment.conf` variables | +| Checking prerequisites | Verifies required tools are installed | +| Verifying Azure credentials | Confirms valid `az` session and subscription | +| Initializing Terraform backend | Creates Azure Storage container for Terraform state | +| Running platform Terraform | Plans and applies VM, Storage Account, Key Vault, DNS, NSG | +| Running AI models Terraform | Plans and applies Azure OpenAI accounts (if `DEPLOY_AI_MODELS="true"`) | +| Reading Terraform outputs | Fetches VM private IP, Storage Account name, Key Vault URL | +| Generating .env | Creates secrets and renders Docker Compose environment | +| Provisioning VM | Installs Docker, syncs files, starts services via Azure Bastion | +| Writing outputs | Saves credentials to `deployment_outputs.env` | +| Deployment summary | Prints URL, SSH command, credentials | + + + + +### Step 6: Verify Deployment + +```bash +curl -k https:///v1/healthcheck +``` + +Expected response: `{"status":"ok"}` + +## Deployment Outputs + +The script creates `deployment_outputs.env` with: + +- **CODEMIE_URL** — Application URL +- **SSH_COMMAND** — Full SSH command for access +- **Credentials** — Keycloak admin or superadmin password +- **Internal secrets** — Preserved across re-runs + +:::danger Sensitive File +`deployment_outputs.env` contains passwords and secrets. Do not commit it to version control. +::: + +## SSH Access + + + + +SSH uses AWS Systems Manager Session Manager as a proxy (no need to open port 22): + +```bash +ssh -i codemie-key.pem \ + -o "ProxyCommand=aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p" \ + ubuntu@ +``` + + + + +SSH via Identity-Aware Proxy (IAP) tunnel: + +```bash +gcloud compute ssh \ + --project \ + --zone \ + --tunnel-through-iap +``` + + + + +SSH via Azure Bastion: + +```bash +az network bastion ssh \ + --name "" \ + --resource-group "" \ + --target-resource-id "" \ + --auth-type "ssh-key" \ + --username "azadmin" \ + --ssh-key "~/.ssh/codemie-key.pem" +``` + + + + +## Re-deploying / Updating + +To update CodeMie version or configuration: + +1. Edit `deployment.conf` (e.g., change `CODEMIE_VERSION`) +2. Run `./deploy.sh` again + +The script detects the existing `deployment_outputs.env` and preserves all secrets. Only the Docker Compose services are updated. + +--- + +## Manual Deployment + +Manual deployment provides full control over each Terraform phase. Use this when you need fine-grained customization or are integrating with existing infrastructure management workflows. + +After provisioning the infrastructure manually, the application is deployed using BYO mode: `./deploy.sh --byo`. + + + + +### Deployment Phases (AWS) + +| Phase | Description | Directory | +| ------------------------------------ | ------------------------------------------ | -------------------------------------- | +| **Phase 1: IAM Deployer Role** | Creates IAM role with required permissions | `terraform/aws/codemie-on-vm-aws-iam/` | +| **Phase 2: State Backend** | Creates S3 bucket for Terraform state | `terraform/aws/remote-backend/` | +| **Phase 3: Platform Infrastructure** | Provisions VPC, EC2, S3, KMS, ALB | `terraform/aws/platform/` | +| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | + +### Phase 1: IAM Deployer Role + +:::info One-Time Setup +This phase only needs to run once per AWS account. +::: + +```bash +cd terraform/aws/codemie-on-vm-aws-iam/ +``` + +Create `terraform.tfvars`: + +```hcl +region = "eu-north-1" +platform_name = "codemie" +deployer_role_name = "CodemieOnVmDeployerRole" +``` + +Deploy: + +```bash +terraform init +terraform plan -out=tfplan +terraform apply tfplan +terraform output deployer_iam_role_arn +``` + +### Phase 2: Terraform State Backend + +```bash +cd terraform/aws/remote-backend/ +terraform init +terraform plan -out=tfplan \ + -var="region=eu-north-1" \ + -var="role_arn=arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" \ + -var="bucket_name=codemie-terraform-states" +terraform apply tfplan +``` + +### Phase 3: Platform Infrastructure + +```bash +cd terraform/aws/platform/ +``` + +Create `backend.tfvars`: + +```hcl +bucket = "codemie-terraform-states" +key = "codemie/terraform.tfstate" +region = "eu-north-1" +use_lockfile = true +``` + +Create `terraform.tfvars`: + +```hcl +region = "eu-north-1" +role_arn = "arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" +platform_name = "codemie" +instance_type = "r5.xlarge" +volume_size = 100 +private_ip_only = false +platform_domain_name = "" +access_prefix_list_ids = [] +``` + +```bash +terraform init -backend-config=backend.tfvars +terraform plan -out=tfplan +terraform apply tfplan + +# Note outputs for Phase 4: +terraform output ec2_instance_id +terraform output ec2_public_ip +terraform output s3_bucket_name +terraform output kms_key_id +terraform output ssm_ec2_private_key +``` + +Fetch the SSH key from SSM: + +```bash +aws ssm get-parameter \ + --name "$(terraform output -raw ssm_ec2_private_key)" \ + --region eu-north-1 \ + --with-decryption \ + --query "Parameter.Value" \ + --output text > codemie-key.pem +chmod 600 codemie-key.pem +``` + +### Phase 4: Application Provisioning (BYO Mode) + +Place the GCP registry key and configure `deployment.conf` with BYO settings. + +`BYO_EC2_HOST` determines the application URL. Set it based on your network mode: + +| Network Mode | `BYO_EC2_HOST` | Access | +| ------------ | ------------------------------------------------- | ------------------- | +| Public IP | `ec2_public_ip` from outputs | Direct HTTPS to EIP | +| Private IP | `ec2_private_ip` from outputs | HTTPS via VPN only | +| Domain + ALB | Any IP (overridden by `BYO_PLATFORM_DOMAIN_NAME`) | HTTPS via ALB | + +Example `deployment.conf` for Public IP mode: + +```bash +TF_VAR_region="eu-north-1" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_EC2_HOST="*.*.*.*" +BYO_EC2_USER="ubuntu" +BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" +BYO_EC2_SSH_MODE="ssm" +BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" +BYO_AWS_S3_BUCKET_NAME="codemie-user-data" +BYO_AWS_KMS_KEY_ID="" +BYO_PLATFORM_DOMAIN_NAME="" +``` + +Run BYO deployment: + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + +Verify: + +```bash +curl -k https:///v1/healthcheck +``` + + + + +### Deployment Phases (GCP) + +| Phase | Description | Directory | +| ------------------------------------ | ------------------------------------------------------- | ------------------------------- | +| **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | +| **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | +| **Phase 3: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | + +### Phase 1: Terraform State Backend + +```bash +cd terraform/gcp/remote-backend/ +terraform init +``` + +Create `terraform.tfvars`: + +```hcl +project_id = "my-codemie-project" +region = "europe-west3" +states_bucket_name = "codemie-tfstate" +``` + +```bash +terraform plan -out=tfplan +terraform apply tfplan +# Note the GCS bucket name from outputs +``` + +### Phase 2: Platform Infrastructure + +```bash +cd terraform/gcp/platform/ +``` + +Create `backend.tfvars`: + +```hcl +bucket = "codemie-tfstate" +prefix = "codemie/platform" +``` + +Create `terraform.tfvars`: + +```hcl +project_id = "my-codemie-project" +region = "europe-west3" +zone_suffix = "a" +platform_name = "codemie" +machine_type = "n2-highmem-4" +disk_size = 100 +platform_domain_name = "" +``` + +```bash +terraform init -backend-config=backend.tfvars +terraform plan -out=tfplan +terraform apply tfplan + +# Note outputs for Phase 3: +terraform output vm_private_ip +terraform output gcs_bucket_name +terraform output kms_key_id +terraform output instance_name +terraform output zone +``` + +### Phase 3: Application Provisioning (BYO Mode) + +Configure `deployment.conf` with outputs from Phase 2: + +```bash +CLOUD_PROVIDER="gcp" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_VM_HOST="" +BYO_VM_USER="ubuntu" +BYO_VM_SSH_KEY="/path/to/codemie-key" +BYO_VM_SSH_MODE="iap" +BYO_GCP_PROJECT_ID="" +BYO_GCP_ZONE="" +BYO_GCP_INSTANCE_NAME="" +BYO_GCS_BUCKET_NAME="" +BYO_GCP_KMS_KEY_ID="" +BYO_PLATFORM_DOMAIN_NAME="" +``` + +Run BYO deployment: + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + + + + +### Deployment Phases (Azure) + +| Phase | Description | Directory | +| ------------------------------------ | --------------------------------------------------- | --------------------------------- | +| **Phase 1: State Backend** | Creates Azure Storage container for Terraform state | `terraform/azure/remote-backend/` | +| **Phase 2: Platform Infrastructure** | Provisions VM, Storage Account, Key Vault, DNS, NSG | `terraform/azure/platform/` | +| **Phase 3: AI Models** (optional) | Provisions Azure OpenAI cognitive accounts | `terraform/azure/ai-models/` | +| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | + +### Phase 1: Terraform State Backend + +```bash +cd terraform/azure/remote-backend/ +terraform init +``` + +Create `terraform.tfvars`: + +```hcl +location = "westeurope" +platform_name = "codemie" +``` + +```bash +terraform plan -out=tfplan +terraform apply tfplan + +terraform output storage_account_name +terraform output container_name +``` + +### Phase 2: Platform Infrastructure + +```bash +cd terraform/azure/platform/ +``` + +Create `backend.tfvars`: + +```hcl +resource_group_name = "codemie-terraform-state" +storage_account_name = "codemiestate" +container_name = "tfstate" +key = "codemie/terraform.tfstate" +``` + +Create `terraform.tfvars`: + +```hcl +location = "westeurope" +platform_name = "codemie" +vm_size = "Standard_E4s_v5" +vm_os_disk_size = 100 +platform_domain_name = "" +``` + +```bash +terraform init -backend-config=backend.tfvars +terraform plan -out=tfplan +terraform apply tfplan + +# Note outputs for Phase 4: +terraform output vm_private_ip +terraform output storage_account_name +terraform output key_vault_url +terraform output bastion_name +terraform output resource_group_name +terraform output vm_resource_id +``` + +### Phase 3: AI Models (Optional) + +Skip this phase if `DEPLOY_AI_MODELS="false"` or you have an existing Azure OpenAI endpoint. + +```bash +cd terraform/azure/ai-models/ +``` + +Create `backend.tfvars` (reuse same state backend): + +```hcl +resource_group_name = "codemie-terraform-state" +storage_account_name = "codemiestate" +container_name = "tfstate" +key = "codemie/ai-models.tfstate" +``` + +```bash +terraform init -backend-config=backend.tfvars +terraform plan -out=tfplan +terraform apply tfplan + +terraform output azure_openai_endpoint +terraform output azure_client_id +terraform output azure_client_secret +``` + +### Phase 4: Application Provisioning (BYO Mode) + +Configure `deployment.conf` with outputs from Phase 2 and Phase 3: + +```bash +CLOUD_PROVIDER="azure" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_VM_HOST="" +BYO_VM_USER="azadmin" +BYO_VM_SSH_KEY="/path/to/codemie-key.pem" +BYO_VM_SSH_MODE="bastion" +BYO_AZURE_BASTION_NAME="" +BYO_AZURE_RESOURCE_GROUP="" +BYO_AZURE_VM_RESOURCE_ID="" +BYO_AZURE_STORAGE_ACCOUNT_NAME="" +BYO_AZURE_KEY_VAULT_URL="" +BYO_AZURE_KEY_NAME="codemie-key" +BYO_PLATFORM_DOMAIN_NAME="" + +# If DEPLOY_AI_MODELS=false: +# AZURE_OPENAI_ENDPOINT="" +# AZURE_CLIENT_ID="" +# AZURE_CLIENT_SECRET="" +``` + +Run BYO deployment: + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + + + + +--- + +## Next Steps + +After successful deployment, verify the application is running: + +```bash +curl -k https:///v1/healthcheck +``` + +Expected response: `{"status":"ok"}` + +For configuration and onboarding, proceed to the [Configuration Guide](../../configuration/index.mdx). diff --git a/docs/admin/deployment/platform-deployment/automated/index.md b/docs/admin/deployment/platform-deployment/automated/index.md new file mode 100644 index 00000000..f4f595a1 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/automated/index.md @@ -0,0 +1,28 @@ +--- +id: platform-automated-overview +title: Automated Platform Deployment +sidebar_label: Automated Deployment +sidebar_position: 1 +--- + +# Automated Platform Deployment + +Automated deployment uses the `helm-charts.sh` script to install all AI/Run CodeMie components in the correct dependency order with a single command. + +:::tip Recommended Approach +Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. +::: + +## Deployment Tracks + +| Track | Description | +| ---------------------------------- | ----------------------------------------------------------------------- | +| [**Kubernetes**](./kubernetes.mdx) | Deploy all components onto an EKS / GKE / AKS cluster using Helm charts | + +## Script Modes + +| Mode | Components Installed | Use Case | +| ------------- | ------------------------------------------------------------ | ---------------------------------------- | +| `all` | All components including Nginx Ingress Controller | Fresh cluster without existing ingress | +| `recommended` | All components except Nginx Ingress Controller | Cluster with existing ingress controller | +| `update` | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating existing installation | diff --git a/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx new file mode 100644 index 00000000..0357cf37 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx @@ -0,0 +1,379 @@ +--- +id: platform-automated-kubernetes +title: Automated Kubernetes Platform Deployment +sidebar_label: Kubernetes +sidebar_position: 2 +pagination_prev: admin/deployment/platform-deployment/automated/platform-automated-overview +pagination_next: null +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Automated Kubernetes Platform Deployment + +This guide walks you through deploying all AI/Run CodeMie application components onto a Kubernetes cluster using the `helm-charts.sh` script. The script handles component installation in the correct dependency order for AWS (EKS), GCP (GKE), and Azure (AKS). + +:::tip Recommended Approach +Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. +::: + +## Overview + +The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) repository automates the installation of: + +- **Infrastructure services** — Nginx Ingress Controller, cloud-specific Storage Class +- **Data layer** — Elasticsearch +- **Security components** — Keycloak Operator, Keycloak, OAuth2 Proxy +- **Messaging system** — NATS, NATS Auth Callout +- **Core CodeMie services** — API, UI, MCP Connect, Mermaid Server +- **Observability stack** — Fluent Bit, Kibana, Kibana Dashboards + +## Prerequisites + +### Verification Checklist + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: `kubectl` configured for EKS cluster +- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `aws` CLI + + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or `kubectl` configured for GKE +- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI + + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS +- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI + + + + + +:::warning Container Registry Access Required +The `gcp-artifact-registry` pull secret must exist before running the script. Complete the Container Registry Access Setup from the Components Deployment Overview before proceeding. +::: + +--- + +## Quick Start + +### Step 1: Clone Repository + +```bash +git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git +cd codemie-helm-charts +``` + +### Step 2: Configure Cloud-Specific Values + + + + +Source the infrastructure outputs and update AWS-specific placeholders in the values files: + +```bash +# Source the deployment outputs +source deployment_outputs.env + +# Update CodeMie API values with AWS-specific configuration +sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_DEFAULT_REGION%%/${AWS_DEFAULT_REGION}/g" codemie-api/values-aws.yaml +sed -i "s|%%EKS_AWS_ROLE_ARN%%|${EKS_AWS_ROLE_ARN}|g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_KMS_KEY_ID%%/${AWS_KMS_KEY_ID}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_S3_BUCKET_NAME%%/${AWS_S3_BUCKET_NAME}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_S3_REGION%%/${AWS_S3_REGION}/g" codemie-api/values-aws.yaml + +# Update domain in all remaining values-aws.yaml files +CODEMIE_DOMAIN_NAME="airun.example.com" +find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" {} \; +``` + +| Placeholder | Description | Source | +| ------------------------ | ----------------- | ------------------------------------------------ | +| `%%DOMAIN%%` | DNS zone name | `deployment_outputs.env` → `CODEMIE_DOMAIN_NAME` | +| `%%AWS_DEFAULT_REGION%%` | AWS region | `deployment_outputs.env` → `AWS_DEFAULT_REGION` | +| `%%EKS_AWS_ROLE_ARN%%` | EKS IRSA role ARN | `deployment_outputs.env` → `EKS_AWS_ROLE_ARN` | +| `%%AWS_KMS_KEY_ID%%` | KMS key ID | `deployment_outputs.env` → `AWS_KMS_KEY_ID` | +| `%%AWS_S3_BUCKET_NAME%%` | S3 bucket name | `deployment_outputs.env` → `AWS_S3_BUCKET_NAME` | +| `%%AWS_S3_REGION%%` | S3 bucket region | `deployment_outputs.env` → `AWS_S3_REGION` | + + + + +Replace domain and GCP-specific placeholders in the values files: + +```bash +# Set your values (from Terraform outputs or deployment_outputs.env) +DOMAIN="airun.example.com" +PROJECT_ID="my-gcp-project" +REGION="europe-west3" + +# Replace domain in all GCP values files +find . -name "values-gcp.yaml" -exec sed -i "s/%%DOMAIN%%/$DOMAIN/g" {} \; + +# Replace GCP parameters in CodeMie API +sed -i "s/%%GOOGLE_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_REGION%%/$REGION/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_KMS_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_KMS_REGION%%/$REGION/g" codemie-api/values-gcp.yaml +``` + +| Placeholder | Description | Source | +| --------------------------- | ----------------------- | -------------------------------- | +| `%%DOMAIN%%` | DNS zone name | Terraform outputs → `dns_name` | +| `%%GOOGLE_PROJECT_ID%%` | GCP project ID | Terraform outputs → `project_id` | +| `%%GOOGLE_REGION%%` | GCP region | Terraform outputs → `region` | +| `%%GOOGLE_KMS_PROJECT_ID%%` | GCP project ID with KMS | Same as `project_id` | +| `%%GOOGLE_KMS_REGION%%` | GCP KMS region | Same as `region` | + +**Files requiring domain configuration:** +`kibana/values-gcp.yaml`, `keycloak-helm/values-gcp.yaml`, `oauth2-proxy/values-gcp.yaml`, `codemie-ui/values-gcp.yaml`, `codemie-api/values-gcp.yaml` + +--- + +**Create Service Account Key** + +Create the service account key for Kubernetes to access GCP services (Vertex AI, Cloud KMS): + +1. Open **IAM & Admin** in Google Cloud Console +2. Locate the `codemie-gsa` service account (created by Terraform) +3. Create a new JSON key +4. Save it as `codemie-helm-charts/codemie-gsa-key.json` + +```bash +ls -la codemie-gsa-key.json +``` + +:::warning Key Security +This key grants access to Vertex AI and Cloud KMS. Keep it secure and do not commit it to version control. +::: + +--- + +**Configure LoadBalancer Type** (private vs public) + +The default configuration is **private access** (Internal LoadBalancer). No changes are needed for a private cluster. + +For **public access**, modify these files before running the deployment script: + +Edit `ingress-nginx/values-gcp.yaml`: + +```yaml +ingress-nginx: + controller: + service: + annotations: {} # Remove the Internal annotation + type: LoadBalancer + loadBalancerSourceRanges: + - x.x.x.x/24 # Your office network (required for security) + enableHttp: false +``` + +Edit `codemie-nats/values-gcp.yaml`: + +```yaml +service: + merge: + metadata: + annotations: {} # Remove the Internal annotation + spec: + type: LoadBalancer + loadBalancerSourceRanges: + - x.x.x.x/24 +``` + +:::danger Security Critical +Never deploy a public LoadBalancer without `loadBalancerSourceRanges` configured. +::: + + + + +Update the domain placeholder in all Azure values files: + +```bash +# Use your DNS zone name from deployment_outputs.env +CODEMIE_DOMAIN_NAME="airun.example.com" + +# Update all values-azure.yaml files (default placeholder is private.lab.com) +find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; +``` + +| Component | File | Placeholder | +| ---------------- | --------------------------------- | ------------------------- | +| **Kibana** | `kibana/values-azure.yaml` | `*.private.lab.com` | +| **Keycloak** | `keycloak-helm/values-azure.yaml` | `*.private.lab.com` | +| **OAuth2 Proxy** | `oauth2-proxy/values-azure.yaml` | `*.private.lab.com` | +| **CodeMie UI** | `codemie-ui/values-azure.yaml` | `codemie.private.lab.com` | +| **CodeMie API** | `codemie-api/values-azure.yaml` | `*.private.lab.com` | + + + + +### Step 3: Authenticate to Container Registry + +```bash +export GOOGLE_APPLICATION_CREDENTIALS=key.json + +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 + +```bash +bash get-codemie-latest-release-version.sh -c key.json +# Note the version (e.g., 2.26.0) for the next step +``` + +### Step 5: Configure Optional Components (If Required) + +| Component | Description | +| --------- | ------------------------------------------------------------------- | +| `litellm` | LiteLLM Proxy — unified LLM API, multi-model routing, cost tracking | +| `pgadmin` | PostgreSQL admin interface for database inspection | + +:::warning LiteLLM Configuration Required +If deploying with `--optional litellm`, complete the [LiteLLM Proxy Installation and Configuration Guide](../../extensions/litellm-proxy/index.md) **before** running the deployment script. +::: + +Skip this step if not deploying optional components. + +### Step 6: Run Deployment Script + + + + +```bash +# Standard installation with all core components +bash helm-charts.sh --cloud aws --version --mode all + +# With LiteLLM proxy for multi-model routing +bash helm-charts.sh --cloud aws --version --mode all --optional litellm + +# With all optional components +bash helm-charts.sh --cloud aws --version --mode all --optional litellm,pgadmin + +# Cluster with existing Nginx Ingress (skip ingress installation) +bash helm-charts.sh --cloud aws --version --mode recommended + +# Update existing installation (core components only) +bash helm-charts.sh --cloud aws --version --mode update +``` + + + + +```bash +# Standard installation with all core components +bash helm-charts.sh --cloud gcp --version --mode all + +# With database management tools +bash helm-charts.sh --cloud gcp --version --mode all --optional pgadmin + +# With LiteLLM for multi-model AI testing +bash helm-charts.sh --cloud gcp --version --mode recommended --optional litellm + +# Full-featured installation with all optional components +bash helm-charts.sh --cloud gcp --version --mode all --optional litellm,pgadmin +``` + + + + +```bash +# Initial installation with all core components +bash helm-charts.sh --cloud azure --version --mode all + +# Upgrade existing deployment to new version +bash helm-charts.sh --cloud azure --version --mode update + +# Add LiteLLM to existing installation +bash helm-charts.sh --cloud azure --version --mode recommended --optional litellm + +# Enterprise installation with all optional components +bash helm-charts.sh --cloud azure --version --mode all --optional litellm,pgadmin +``` + + + + +Replace `` with the version obtained in Step 4 (e.g., `2.26.0`). + +:::tip Idempotent Script +The deployment script is idempotent — you can safely re-run it after a failure. Simply run it again with the same parameters to continue or retry. +::: + +--- + +## Configuration Reference + +### Script Parameters + +| Parameter | Description | Required | Values | +| --------------- | ------------------------- | -------- | -------------------------------------- | +| `-h, --help` | Show help message | No | — | +| `-c, --cloud` | Target cloud provider | Yes | `aws`, `gcp`, `azure` | +| `-v, --version` | CodeMie component version | Yes | e.g., `2.26.0` | +| `-m, --mode` | Installation mode | Yes | `all`, `recommended`, `update` | +| `--optional` | Optional components | No | `litellm`, `pgadmin` (comma-separated) | + +### Deployment Modes + +| Mode | Components Installed | Use Case | +| ------------- | ------------------------------------------------------------ | -------------------------------------- | +| `all` | All components including Nginx Ingress Controller | Fresh cluster without existing ingress | +| `recommended` | All components except Nginx Ingress Controller | Cluster with existing ingress | +| `update` | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating an existing installation | + +--- + +## GCP: Post-Deployment DNS Configuration + +For GCP clusters with **public access**, configure DNS records after LoadBalancers are provisioned: + +**Wildcard record for Nginx Ingress** (covers all subdomains): + +```bash +kubectl get service ingress-nginx-controller -n ingress-nginx \ + -o jsonpath='{.status.loadBalancer.ingress[0].ip}' +``` + +Add an A record: `*.airun.example.com → ` + +**NATS record for Plugin Engine**: + +```bash +kubectl get service codemie-nats -n codemie \ + -o jsonpath='{.status.loadBalancer.ingress[0].ip}' +``` + +Add an A record: `nats-codemie.airun.example.com → ` + +--- + +## Next Steps + +After successful deployment, proceed to **[Accessing Applications](../../aws/kubernetes/accessing-applications.md)** to verify access and complete initial configuration. diff --git a/docs/admin/deployment/platform-deployment/index.md b/docs/admin/deployment/platform-deployment/index.md new file mode 100644 index 00000000..220079bb --- /dev/null +++ b/docs/admin/deployment/platform-deployment/index.md @@ -0,0 +1,34 @@ +--- +id: platform-deployment-overview +title: Platform Deployment +sidebar_label: Platform Deployment +sidebar_position: 1 +--- + +# Platform Deployment + +This section covers deploying AI/Run CodeMie application components onto a Kubernetes cluster. All guides support AWS, GCP, and Azure in a unified format using cloud tabs. + +:::info Prerequisites +Before proceeding, ensure you have completed [Infrastructure Deployment](../infrastructure-deployment/index.md) and have a running Kubernetes cluster with the `deployment_outputs.env` file from the infrastructure phase. +::: + +## Deployment Methods + +| Method | Description | Recommendation | +| ------------------------------------------------ | ----------------------------------------------------------------------------- | -------------------------------------------------------- | +| [**Automated Deployment**](./automated/index.md) | Single script (`helm-charts.sh`) installs all components in the correct order | Recommended for most users | +| [**Manual Deployment**](./manual/index.md) | Install each component individually with full control over configuration | Advanced use cases, troubleshooting, custom integrations | + +## What Gets Deployed + +Both methods install the same set of components: + +| Component Group | Components | +| ----------------------- | ---------------------------------------------------- | +| **Infrastructure** | Nginx Ingress Controller, Storage Class | +| **Data Layer** | Elasticsearch | +| **Security & Identity** | Keycloak Operator, Keycloak, OAuth2 Proxy | +| **Plugin Engine** | NATS, NATS Auth Callout | +| **Core Services** | CodeMie API, CodeMie UI, MCP Connect, Mermaid Server | +| **Observability** | Fluent Bit, Kibana, Kibana Dashboards | diff --git a/docs/admin/deployment/platform-deployment/manual/index.md b/docs/admin/deployment/platform-deployment/manual/index.md new file mode 100644 index 00000000..2e5e99fd --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/index.md @@ -0,0 +1,37 @@ +--- +id: platform-manual-overview +title: Manual Platform Deployment +sidebar_label: Manual Deployment +sidebar_position: 1 +--- + +# Manual Platform Deployment + +Manual deployment installs each AI/Run CodeMie component individually using Helm charts, giving you granular control over configuration and installation order. + +:::info When to Use Manual Deployment +Use manual deployment when you need fine-grained control over individual component configuration, want to selectively deploy certain components, or are troubleshooting specific services. + +If you prefer automated deployment, see [Automated Deployment](../automated/index.md) instead. +::: + +## Deployment Tracks + +| Track | Description | +| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| [**Kubernetes**](./kubernetes/index.mdx) | Manually install each component onto an EKS / GKE / AKS cluster using individual Helm chart commands | + +## Component Installation Order + +Components must be installed in the following order to satisfy dependencies: + +1. [Kubernetes Components](./kubernetes/k8s-components.mdx) — Storage Class + Nginx Ingress +2. [Data Layer](./kubernetes/data-layer.mdx) — Elasticsearch +3. [Security and Identity](./kubernetes/security-and-identity.mdx) — Keycloak Operator, Keycloak, OAuth2 Proxy +4. [Plugin Engine](./kubernetes/plugin-engine.mdx) — NATS, NATS Auth Callout +5. [Core Components](./kubernetes/core-components.mdx) — CodeMie API, UI, MCP Connect, Mermaid +6. [Observability](./kubernetes/observability.mdx) — Fluent Bit, Kibana, Dashboards + +:::warning Respect Installation Order +Installing components out of order will cause deployment failures. Always follow the numbered sequence. +::: diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx new file mode 100644 index 00000000..f7278ec6 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx @@ -0,0 +1,115 @@ +--- +id: core-components +title: Core Components +sidebar_label: Core Components +sidebar_position: 6 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/plugin-engine +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/observability +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CoreComponentsOverview from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-overview.mdx'; +import CoreComponentsMcpConnect from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-mcp-connect.mdx'; +import CoreComponentsMermaid from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-mermaid.mdx'; +import CoreComponentsUi from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx'; +import CoreComponentsApi from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-api.mdx'; +import CoreComponentsAccess from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx'; +import CoreComponentsValidation from '../../../common/deployment/components-deployment/manual-deployment/core/_core-components-validation.mdx'; + + + + + + + + + + + + + + + + + + + + + + + + + +## CodeMie API Installation + +CodeMie API is the backend service that handles all business logic, AI orchestration, and data processing. + +### Step 1: Configure API Values + +Verify the values in `codemie-api/values-gcp.yaml` are correct: + +- `%%DOMAIN%%` should be replaced with your DNS zone name (e.g., `airun.example.com`) +- `%%GOOGLE_PROJECT_ID%%` should be replaced with your GCP project ID where Vertex AI is available +- `%%GOOGLE_KMS_PROJECT_ID%%` should be replaced with your GCP project ID where KMS key is available +- `%%GOOGLE_REGION%%` should be replaced with your GCP region (e.g., `europe-west3`) +- `%%GOOGLE_KMS_REGION%%` should be replaced with your GCP KMS region (e.g., `europe-west3`) + +:::tip Domain Configuration +If you followed the Getting Started steps, these replacements should already be done. +::: + +### Step 2: Copy Elasticsearch Credentials + +```bash +kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | \ + sed '/namespace:/d' | \ + kubectl apply -n codemie -f - +``` + +### Step 3: Create Google Service Account Secret + +```bash +kubectl create secret generic google-service-account \ + --namespace codemie \ + --from-file=gcp-service-account.json=codemie-gsa-key.json +``` + +:::warning Service Account Key +Ensure the `codemie-gsa-key.json` file exists in your current directory. This key grants access to Vertex AI and Cloud KMS. +::: + +### Step 4: Install CodeMie API Helm Chart + +```bash +helm upgrade --install codemie-api \ + oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/codemie \ + --version x.y.z \ + --namespace codemie \ + -f ./codemie-api/values-gcp.yaml \ + --wait \ + --timeout 600s +``` + +### Step 5: Verify CodeMie API Deployment + +```bash +kubectl get pods -n codemie | grep codemie-api +kubectl get deployment -n codemie codemie-api +kubectl logs -n codemie deployment/codemie-api --tail=100 +kubectl exec -n codemie deployment/codemie-api -- curl -s http://localhost:8080/health +``` + + + + + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx new file mode 100644 index 00000000..cefd0ea6 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx @@ -0,0 +1,68 @@ +--- +id: data-layer +title: Data Layer +sidebar_label: Data Layer +sidebar_position: 3 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/k8s-components +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/security-and-identity +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DataLayerOverview from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-overview.mdx'; +import DataLayerElasticsearch from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-elasticsearch.mdx'; +import DataLayerPostgresConfig from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx'; +import DataLayerPostgresIamSetup from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-iam-setup.mdx'; +import DataLayerPostgresSecretAws from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-aws.mdx'; +import DataLayerPostgresSecretCommon from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx'; +import DataLayerValidation from '../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-validation.mdx'; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx new file mode 100644 index 00000000..5e269098 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx @@ -0,0 +1,158 @@ +--- +id: platform-manual-kubernetes-overview +title: Manual Kubernetes Deployment Overview +sidebar_label: Overview +sidebar_position: 1 +pagination_prev: admin/deployment/platform-deployment/manual/platform-manual-overview +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/k8s-components +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Manual Kubernetes Deployment + +Manual deployment installs each AI/Run CodeMie component individually using Helm charts. All three cloud providers are supported: AWS (EKS), GCP (GKE), and Azure (AKS). + +:::info When to Use Manual Deployment +Use manual deployment when you need fine-grained control over individual component configuration, want to selectively deploy certain components, or are troubleshooting specific services. + +For automated installation, see [Automated Deployment](../../automated/kubernetes.mdx) instead. +::: + +## Component Installation Order + +Components must be installed in the following order to satisfy dependencies: + +| Step | Component | Purpose | +| ---- | ---------------------------------------------------- | ----------------------------------------- | +| 1 | [Kubernetes Components](./k8s-components.mdx) | Storage Class + Nginx Ingress Controller | +| 2 | [Data Layer](./data-layer.mdx) | Elasticsearch + PostgreSQL connection | +| 3 | [Security and Identity](./security-and-identity.mdx) | Keycloak Operator, Keycloak, OAuth2 Proxy | +| 4 | [Plugin Engine](./plugin-engine.mdx) | NATS, NATS Auth Callout | +| 5 | [Core Components](./core-components.mdx) | CodeMie API, UI, MCP Connect, Mermaid | +| 6 | [Observability](./observability.mdx) | Fluent Bit, Kibana, Kibana Dashboards | + +:::warning Respect Installation Order +Installing components out of order will cause deployment failures. Always follow the numbered sequence to ensure dependencies are satisfied. +::: + +## Prerequisites + +### Verification Checklist + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: `kubectl` configured for EKS cluster +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `aws` CLI + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: Connected to Bastion Host (private cluster) or `kubectl` configured for GKE +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI + + + + +- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase +- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Helm Installed**: Helm 3.16.0+ +- [ ] **Repository Cloned**: `codemie-helm-charts` available locally +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI + + + + +## Getting Started + +### Step 1: Clone Repository + +```bash +git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git +cd codemie-helm-charts +``` + +### Step 2: Configure Cloud-Specific Values + + + + +```bash +source deployment_outputs.env + +sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_DEFAULT_REGION%%/${AWS_DEFAULT_REGION}/g" codemie-api/values-aws.yaml +sed -i "s|%%EKS_AWS_ROLE_ARN%%|${EKS_AWS_ROLE_ARN}|g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_KMS_KEY_ID%%/${AWS_KMS_KEY_ID}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_S3_BUCKET_NAME%%/${AWS_S3_BUCKET_NAME}/g" codemie-api/values-aws.yaml +sed -i "s/%%AWS_S3_REGION%%/${AWS_S3_REGION}/g" codemie-api/values-aws.yaml + +CODEMIE_DOMAIN_NAME="airun.example.com" +find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" {} \; +``` + + + + +```bash +DOMAIN="airun.example.com" +PROJECT_ID="my-gcp-project" +REGION="europe-west3" + +find . -name "values-gcp.yaml" -exec sed -i "s/%%DOMAIN%%/$DOMAIN/g" {} \; +sed -i "s/%%GOOGLE_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_REGION%%/$REGION/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_KMS_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml +sed -i "s/%%GOOGLE_KMS_REGION%%/$REGION/g" codemie-api/values-gcp.yaml +``` + +Also create the GCP service account key file: + +1. Open **IAM & Admin** in Google Cloud Console +2. Locate the `codemie-gsa` service account +3. Create and download a new JSON key +4. Save as `codemie-helm-charts/codemie-gsa-key.json` + + + + +```bash +CODEMIE_DOMAIN_NAME="airun.example.com" +find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; +``` + + + + +### Step 3: Authenticate to Container Registry + +```bash +export GOOGLE_APPLICATION_CREDENTIALS=key.json + +gcloud auth application-default print-access-token | \ + helm registry login -u oauth2accesstoken --password-stdin europe-west3-docker.pkg.dev +``` + +### Step 4: Get CodeMie Version + +```bash +bash get-codemie-latest-release-version.sh -c key.json +# Note the version (e.g., 2.26.0) — you will use it in each helm install command +``` + +## Begin Installation + +Start the installation process with **[Kubernetes Components](./k8s-components.mdx)** and follow each guide in numbered order. diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx new file mode 100644 index 00000000..3d153ca8 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx @@ -0,0 +1,156 @@ +--- +id: k8s-components +title: Kubernetes Components +sidebar_label: Kubernetes Components +sidebar_position: 2 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/platform-manual-kubernetes-overview +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/data-layer +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import StorageIngressOverview from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-overview.mdx'; +import StorageIngressNginx from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-nginx.mdx'; +import StorageClassInstallation from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx'; +import StorageIngressValidation from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-validation.mdx'; + + + + + + + + + + + + + + + + + +### Step 4: Configure DNS Record + +Create a DNS record pointing to the ingress controller's load balancer: + +```bash +INGRESS_HOST=$(kubectl get service ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') +echo "Ingress Host: ${INGRESS_HOST}" +``` + +Using **Route 53**: + +```bash +HOSTED_ZONE_ID=$(aws route53 list-hosted-zones-by-name \ + --dns-name airun.example.com \ + --query 'HostedZones[0].Id' \ + --output text | cut -d'/' -f3) + +aws route53 change-resource-record-sets \ + --hosted-zone-id ${HOSTED_ZONE_ID} \ + --change-batch '{ + "Changes": [{ + "Action": "UPSERT", + "ResourceRecordSet": { + "Name": "codemie.airun.example.com", + "Type": "CNAME", + "TTL": 300, + "ResourceRecords": [{"Value": "'${INGRESS_HOST}'"}] + } + }] + }' +``` + +**Parameters to adjust**: replace `airun.example.com` and `codemie.airun.example.com` with your domain values from `deployment_outputs.env`. + +**Verification**: + +```bash +aws route53 list-resource-record-sets \ + --hosted-zone-id ${HOSTED_ZONE_ID} \ + --query "ResourceRecordSets[?Name=='codemie.airun.example.com.']" + +nslookup codemie.airun.example.com +``` + + + + + +:::info DNS for GCP +For **private clusters**, DNS is automatically configured by the Terraform infrastructure deployment. No manual DNS step is required here. + +For **public clusters**, refer to the [Automated Deployment DNS guide](../../automated/kubernetes.mdx#gcp-post-deployment-dns-configuration) for adding the required A records. +::: + + + + + +### Step 4: Configure DNS Record + +Create an A record in your Azure Private DNS zone pointing to the ingress controller's IP: + +```bash +ingressip=$(kubectl get service ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}') +echo "Ingress IP: ${ingressip}" + +az network private-dns record-set a add-record \ + -g CodeMieRG \ + -z airun.example.com \ + -n codemie \ + -a ${ingressip} +``` + +**Parameters to adjust**: + +- `-g CodeMieRG` — replace with your resource group name +- `-z airun.example.com` — replace with your Private DNS zone name +- `-n codemie` — replace with your desired hostname (subdomain) + +**Verification**: + +```bash +az network private-dns record-set a list \ + -g CodeMieRG \ + -z airun.example.com \ + -o table + +nslookup codemie.airun.example.com +``` + + + + + + + + + + + + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx new file mode 100644 index 00000000..3186f69e --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx @@ -0,0 +1,38 @@ +--- +id: observability +title: Observability +sidebar_label: Observability +sidebar_position: 7 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/core-components +pagination_next: null +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ObservabilityOverview from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-overview.mdx'; +import ObservabilityFluentBit from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx'; +import ObservabilityKibana from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx'; +import ObservabilityDashboards from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-dashboards.mdx'; +import ObservabilityValidation from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-validation.mdx'; + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx new file mode 100644 index 00000000..6b3e466d --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx @@ -0,0 +1,24 @@ +--- +id: plugin-engine +title: Plugin Engine +sidebar_label: Plugin Engine +sidebar_position: 5 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/security-and-identity +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/core-components +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import PluginEngineContent from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx'; + + + + + + + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx new file mode 100644 index 00000000..8794e637 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx @@ -0,0 +1,49 @@ +--- +id: security-and-identity +title: Security and Identity +sidebar_label: Security and Identity +sidebar_position: 4 +pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/data-layer +pagination_next: admin/deployment/platform-deployment/manual/kubernetes/plugin-engine +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import SecurityOverview from '../../../common/deployment/components-deployment/manual-deployment/security/_security-overview.mdx'; +import SecurityKeycloakOperator from '../../../common/deployment/components-deployment/manual-deployment/security/_security-keycloak-operator.mdx'; +import SecurityKeycloakInstall from '../../../common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx'; +import SecurityOauth2Proxy from '../../../common/deployment/components-deployment/manual-deployment/security/_security-oauth2-proxy.mdx'; +import SecurityValidation from '../../../common/deployment/components-deployment/manual-deployment/security/_security-validation.mdx'; + + + + + + + + + + + + + + + + + + + + + diff --git a/sidebars.ts b/sidebars.ts index 250ac9bf..3cf45abc 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -728,6 +728,70 @@ const sidebars: SidebarsConfig = { }, ], }, + { + type: 'category', + label: 'Infrastructure Deployment', + link: { + type: 'doc', + id: 'admin/deployment/infrastructure-deployment/infrastructure-deployment-overview', + }, + collapsed: true, + items: [ + 'admin/deployment/infrastructure-deployment/infrastructure-deployment-kubernetes', + 'admin/deployment/infrastructure-deployment/infrastructure-deployment-on-vm', + ], + }, + { + type: 'category', + label: 'Platform Deployment', + link: { + type: 'doc', + id: 'admin/deployment/platform-deployment/platform-deployment-overview', + }, + collapsed: true, + items: [ + { + type: 'category', + label: 'Automated Deployment', + link: { + type: 'doc', + id: 'admin/deployment/platform-deployment/automated/platform-automated-overview', + }, + collapsed: true, + items: [ + 'admin/deployment/platform-deployment/automated/platform-automated-kubernetes', + ], + }, + { + type: 'category', + label: 'Manual Deployment', + link: { + type: 'doc', + id: 'admin/deployment/platform-deployment/manual/platform-manual-overview', + }, + collapsed: true, + items: [ + { + type: 'category', + label: 'Kubernetes', + link: { + type: 'doc', + id: 'admin/deployment/platform-deployment/manual/kubernetes/platform-manual-kubernetes-overview', + }, + collapsed: true, + items: [ + 'admin/deployment/platform-deployment/manual/kubernetes/k8s-components', + 'admin/deployment/platform-deployment/manual/kubernetes/data-layer', + 'admin/deployment/platform-deployment/manual/kubernetes/security-and-identity', + 'admin/deployment/platform-deployment/manual/kubernetes/plugin-engine', + 'admin/deployment/platform-deployment/manual/kubernetes/core-components', + 'admin/deployment/platform-deployment/manual/kubernetes/observability', + ], + }, + ], + }, + ], + }, { type: 'category', label: 'Extensions', From dbad56e14f6b82678b9262c0ee6e1f5c6cd9f5ca Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Mon, 28 Sep 2026 11:03:24 +0300 Subject: [PATCH 2/8] docs(deployment): move on-vm byo application provisioning to platform deployment extract byo application provisioning from infrastructure-deployment/on-vm.mdx into a new platform-deployment/manual/on-vm.mdx page; infrastructure guide now ends after terraform phases and links forward to the platform page - add platform-deployment/manual/on-vm.mdx with 3-cloud byo deployment steps - remove byo application phase content from infrastructure-deployment/on-vm.mdx - update manual/index.md deployment tracks table to include on vm row - add on-vm to sidebars.ts under manual deployment Generated with AI Co-Authored-By: codemie-ai --- .../infrastructure-deployment/on-vm.mdx | 129 ++------------ .../platform-deployment/manual/index.md | 5 +- .../platform-deployment/manual/on-vm.mdx | 157 ++++++++++++++++++ sidebars.ts | 1 + 4 files changed, 171 insertions(+), 121 deletions(-) create mode 100644 docs/admin/deployment/platform-deployment/manual/on-vm.mdx diff --git a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx index c991485c..6109a777 100644 --- a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx +++ b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx @@ -4,7 +4,7 @@ title: On-VM Infrastructure Deployment sidebar_label: On VM sidebar_position: 3 pagination_prev: admin/deployment/infrastructure-deployment/infrastructure-deployment-kubernetes -pagination_next: admin/deployment/platform-deployment/platform-deployment-overview +pagination_next: admin/deployment/platform-deployment/manual/on-vm --- import Tabs from '@theme/Tabs'; @@ -407,7 +407,6 @@ After provisioning the infrastructure manually, the application is deployed usin | **Phase 1: IAM Deployer Role** | Creates IAM role with required permissions | `terraform/aws/codemie-on-vm-aws-iam/` | | **Phase 2: State Backend** | Creates S3 bucket for Terraform state | `terraform/aws/remote-backend/` | | **Phase 3: Platform Infrastructure** | Provisions VPC, EC2, S3, KMS, ALB | `terraform/aws/platform/` | -| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | ### Phase 1: IAM Deployer Role @@ -501,50 +500,10 @@ aws ssm get-parameter \ chmod 600 codemie-key.pem ``` -### Phase 4: Application Provisioning (BYO Mode) +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack. -Place the GCP registry key and configure `deployment.conf` with BYO settings. - -`BYO_EC2_HOST` determines the application URL. Set it based on your network mode: - -| Network Mode | `BYO_EC2_HOST` | Access | -| ------------ | ------------------------------------------------- | ------------------- | -| Public IP | `ec2_public_ip` from outputs | Direct HTTPS to EIP | -| Private IP | `ec2_private_ip` from outputs | HTTPS via VPN only | -| Domain + ALB | Any IP (overridden by `BYO_PLATFORM_DOMAIN_NAME`) | HTTPS via ALB | - -Example `deployment.conf` for Public IP mode: - -```bash -TF_VAR_region="eu-north-1" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" - -BYO_EC2_HOST="*.*.*.*" -BYO_EC2_USER="ubuntu" -BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" -BYO_EC2_SSH_MODE="ssm" -BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" -BYO_AWS_S3_BUCKET_NAME="codemie-user-data" -BYO_AWS_KMS_KEY_ID="" -BYO_PLATFORM_DOMAIN_NAME="" -``` - -Run BYO deployment: - -```bash -cp /path/to/key.json ./key.json -./deploy.sh --byo -``` - -Verify: - -```bash -curl -k https:///v1/healthcheck -``` - - - + + ### Deployment Phases (GCP) @@ -552,7 +511,6 @@ curl -k https:///v1/healthcheck | ------------------------------------ | ------------------------------------------------------- | ------------------------------- | | **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | | **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | -| **Phase 3: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | ### Phase 1: Terraform State Backend @@ -613,36 +571,10 @@ terraform output instance_name terraform output zone ``` -### Phase 3: Application Provisioning (BYO Mode) - -Configure `deployment.conf` with outputs from Phase 2: - -```bash -CLOUD_PROVIDER="gcp" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" - -BYO_VM_HOST="" -BYO_VM_USER="ubuntu" -BYO_VM_SSH_KEY="/path/to/codemie-key" -BYO_VM_SSH_MODE="iap" -BYO_GCP_PROJECT_ID="" -BYO_GCP_ZONE="" -BYO_GCP_INSTANCE_NAME="" -BYO_GCS_BUCKET_NAME="" -BYO_GCP_KMS_KEY_ID="" -BYO_PLATFORM_DOMAIN_NAME="" -``` - -Run BYO deployment: +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack. -```bash -cp /path/to/key.json ./key.json -./deploy.sh --byo -``` - - - + + ### Deployment Phases (Azure) @@ -651,7 +583,6 @@ cp /path/to/key.json ./key.json | **Phase 1: State Backend** | Creates Azure Storage container for Terraform state | `terraform/azure/remote-backend/` | | **Phase 2: Platform Infrastructure** | Provisions VM, Storage Account, Key Vault, DNS, NSG | `terraform/azure/platform/` | | **Phase 3: AI Models** (optional) | Provisions Azure OpenAI cognitive accounts | `terraform/azure/ai-models/` | -| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | ### Phase 1: Terraform State Backend @@ -741,53 +672,13 @@ terraform output azure_client_id terraform output azure_client_secret ``` -### Phase 4: Application Provisioning (BYO Mode) - -Configure `deployment.conf` with outputs from Phase 2 and Phase 3: - -```bash -CLOUD_PROVIDER="azure" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" - -BYO_VM_HOST="" -BYO_VM_USER="azadmin" -BYO_VM_SSH_KEY="/path/to/codemie-key.pem" -BYO_VM_SSH_MODE="bastion" -BYO_AZURE_BASTION_NAME="" -BYO_AZURE_RESOURCE_GROUP="" -BYO_AZURE_VM_RESOURCE_ID="" -BYO_AZURE_STORAGE_ACCOUNT_NAME="" -BYO_AZURE_KEY_VAULT_URL="" -BYO_AZURE_KEY_NAME="codemie-key" -BYO_PLATFORM_DOMAIN_NAME="" - -# If DEPLOY_AI_MODELS=false: -# AZURE_OPENAI_ENDPOINT="" -# AZURE_CLIENT_ID="" -# AZURE_CLIENT_SECRET="" -``` - -Run BYO deployment: - -```bash -cp /path/to/key.json ./key.json -./deploy.sh --byo -``` +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack. - + --- ## Next Steps -After successful deployment, verify the application is running: - -```bash -curl -k https:///v1/healthcheck -``` - -Expected response: `{"status":"ok"}` - -For configuration and onboarding, proceed to the [Configuration Guide](../../configuration/index.mdx). +Infrastructure provisioning is complete. Proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack onto the provisioned VM. diff --git a/docs/admin/deployment/platform-deployment/manual/index.md b/docs/admin/deployment/platform-deployment/manual/index.md index 2e5e99fd..d21f79b4 100644 --- a/docs/admin/deployment/platform-deployment/manual/index.md +++ b/docs/admin/deployment/platform-deployment/manual/index.md @@ -20,10 +20,11 @@ If you prefer automated deployment, see [Automated Deployment](../automated/inde | Track | Description | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | | [**Kubernetes**](./kubernetes/index.mdx) | Manually install each component onto an EKS / GKE / AKS cluster using individual Helm chart commands | +| [**On VM**](./on-vm) | Deploy the CodeMie stack via BYO mode onto a VM provisioned by manual Terraform phases | -## Component Installation Order +## Kubernetes Component Installation Order -Components must be installed in the following order to satisfy dependencies: +For Kubernetes, components must be installed in the following order to satisfy dependencies: 1. [Kubernetes Components](./kubernetes/k8s-components.mdx) — Storage Class + Nginx Ingress 2. [Data Layer](./kubernetes/data-layer.mdx) — Elasticsearch diff --git a/docs/admin/deployment/platform-deployment/manual/on-vm.mdx b/docs/admin/deployment/platform-deployment/manual/on-vm.mdx new file mode 100644 index 00000000..3ffeb965 --- /dev/null +++ b/docs/admin/deployment/platform-deployment/manual/on-vm.mdx @@ -0,0 +1,157 @@ +--- +id: on-vm +title: On-VM Application Deployment (BYO Mode) +sidebar_label: On VM +sidebar_position: 2 +pagination_prev: admin/deployment/infrastructure-deployment/infrastructure-deployment-on-vm +pagination_next: null +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# On-VM Application Deployment (BYO Mode) + +After the infrastructure is provisioned manually (VM, storage, networking, DNS), this step deploys the AI/Run CodeMie application stack using BYO (Bring Your Own) mode: `./deploy.sh --byo`. + +:::info Prerequisites +Complete all infrastructure phases from [On-VM Infrastructure Deployment](../../../infrastructure-deployment/infrastructure-deployment-on-vm) before proceeding. +::: + +## Application Provisioning + + + + +### Configure deployment.conf (BYO Mode) + +`BYO_EC2_HOST` determines the application URL. Set it based on your network mode: + +| Network Mode | `BYO_EC2_HOST` | Access | +| ------------ | ------------------------------------------------- | ------------------- | +| Public IP | `ec2_public_ip` from Terraform outputs | Direct HTTPS to EIP | +| Private IP | `ec2_private_ip` from Terraform outputs | HTTPS via VPN only | +| Domain + ALB | Any IP (overridden by `BYO_PLATFORM_DOMAIN_NAME`) | HTTPS via ALB | + +Example `deployment.conf` for Public IP mode: + +```bash +TF_VAR_region="eu-north-1" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_EC2_HOST="*.*.*.*" +BYO_EC2_USER="ubuntu" +BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" +BYO_EC2_SSH_MODE="ssm" +BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" +BYO_AWS_S3_BUCKET_NAME="codemie-user-data" +BYO_AWS_KMS_KEY_ID="" +BYO_PLATFORM_DOMAIN_NAME="" +``` + +### Run BYO Deployment + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + +### Verify + +```bash +curl -k https:///v1/healthcheck +``` + +Expected response: `{"status":"ok"}` + + + + +### Configure deployment.conf (BYO Mode) + +Fill in the values from Terraform outputs (Phase 2): + +```bash +CLOUD_PROVIDER="gcp" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_VM_HOST="" +BYO_VM_USER="ubuntu" +BYO_VM_SSH_KEY="/path/to/codemie-key" +BYO_VM_SSH_MODE="iap" +BYO_GCP_PROJECT_ID="" +BYO_GCP_ZONE="" +BYO_GCP_INSTANCE_NAME="" +BYO_GCS_BUCKET_NAME="" +BYO_GCP_KMS_KEY_ID="" +BYO_PLATFORM_DOMAIN_NAME="" +``` + +### Run BYO Deployment + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + +### Verify + +```bash +curl -k https:///v1/healthcheck +``` + +Expected response: `{"status":"ok"}` + + + + +### Configure deployment.conf (BYO Mode) + +Fill in the values from Terraform outputs (Phase 2 and Phase 3): + +```bash +CLOUD_PROVIDER="azure" +CODEMIE_VERSION="2.26.0" +COMPOSE_PROFILE="enterprise" + +BYO_VM_HOST="" +BYO_VM_USER="azadmin" +BYO_VM_SSH_KEY="/path/to/codemie-key.pem" +BYO_VM_SSH_MODE="bastion" +BYO_AZURE_BASTION_NAME="" +BYO_AZURE_RESOURCE_GROUP="" +BYO_AZURE_VM_RESOURCE_ID="" +BYO_AZURE_STORAGE_ACCOUNT_NAME="" +BYO_AZURE_KEY_VAULT_URL="" +BYO_AZURE_KEY_NAME="codemie-key" +BYO_PLATFORM_DOMAIN_NAME="" + +# If DEPLOY_AI_MODELS=false: +# AZURE_OPENAI_ENDPOINT="" +# AZURE_CLIENT_ID="" +# AZURE_CLIENT_SECRET="" +``` + +### Run BYO Deployment + +```bash +cp /path/to/key.json ./key.json +./deploy.sh --byo +``` + +### Verify + +```bash +curl -k https:///v1/healthcheck +``` + +Expected response: `{"status":"ok"}` + + + + +## Next Steps + +For configuration and onboarding proceed to the [Configuration Guide](../../../../configuration/). diff --git a/sidebars.ts b/sidebars.ts index 3cf45abc..248ea01d 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -788,6 +788,7 @@ const sidebars: SidebarsConfig = { 'admin/deployment/platform-deployment/manual/kubernetes/observability', ], }, + 'admin/deployment/platform-deployment/manual/on-vm', ], }, ], From d3e03782d34ec84354ee8f88f6860c5dc4f18659 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Mon, 28 Sep 2026 11:28:36 +0300 Subject: [PATCH 3/8] docs(deployment): move on-vm byo to automated section and restructure deployment index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit move platform-deployment/manual/on-vm.mdx to automated/ since ./deploy.sh --byo is a scripted deployment, not a manual one; restructure deployment/index.mdx to show the logical deployment lifecycle at the top with old cloud-specific guides moved to the bottom - move on-vm.mdx from platform-deployment/manual/ to platform-deployment/automated/ - add on-vm to automated/index.md deployment tracks table - remove on-vm from manual/index.md deployment tracks table - update sidebars.ts to place on-vm under automated deployment - update infrastructure-deployment/on-vm.mdx links to point to automated/on-vm - restructure deployment/index.mdx: infrastructure → platform → configuration → update → security at top, cloud-specific guides moved to bottom section Generated with AI Co-Authored-By: codemie-ai --- docs/admin/deployment/index.mdx | 96 ++++++++++++++++++- .../infrastructure-deployment/on-vm.mdx | 10 +- .../platform-deployment/automated/index.md | 7 +- .../{manual => automated}/on-vm.mdx | 0 .../platform-deployment/manual/index.md | 1 - sidebars.ts | 2 +- 6 files changed, 101 insertions(+), 15 deletions(-) rename docs/admin/deployment/platform-deployment/{manual => automated}/on-vm.mdx (100%) diff --git a/docs/admin/deployment/index.mdx b/docs/admin/deployment/index.mdx index 9ec0ee72..43ae26e5 100644 --- a/docs/admin/deployment/index.mdx +++ b/docs/admin/deployment/index.mdx @@ -14,9 +14,95 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; # Deployment Guides -Welcome to the AI/Run CodeMie deployment guides. Choose your cloud provider to get started with deploying CodeMie in your environment. +Welcome to the AI/Run CodeMie deployment guides. A full deployment follows four phases: provision infrastructure, deploy the platform, configure your installation, then maintain and secure it. -## Kubernetes Deployments +## Infrastructure Deployment + +Provision the cloud infrastructure required to run CodeMie — Kubernetes clusters or virtual machines, networking, storage, and databases — using Terraform. Supports AWS, GCP, and Azure. + + + +
+
+ + +## Platform Deployment + +Deploy AI/Run CodeMie application components onto the provisioned infrastructure. Choose between automated scripted installation or step-by-step manual control. + + + +
+
+ + +## Configuration + +Configure authentication, integrations, observability, and API settings for your CodeMie installation after deployment. + + + +
+
+ + +## Update + +Keep your CodeMie installation up to date by following the recommended upgrade procedure. + + + +
+
+ + +## Security & Compliance + +Review security requirements, network policies, role-based access control, and compliance guidelines for your CodeMie installation. + + + +
+
+ + +--- + +## Cloud-Specific Guides + +The guides below provide cloud-specific deployment workflows maintained for reference. + +### Kubernetes Deployments -## VM Deployments +### VM Deployments -## Marketplace +### Marketplace -## Additional Resources +### Additional Resources @@ -571,7 +571,7 @@ terraform output instance_name terraform output zone ``` -After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack. +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. @@ -672,7 +672,7 @@ terraform output azure_client_id terraform output azure_client_secret ``` -After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack. +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. @@ -681,4 +681,4 @@ After completing infrastructure provisioning, proceed to [Application Provisioni ## Next Steps -Infrastructure provisioning is complete. Proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/manual/on-vm) to deploy the CodeMie stack onto the provisioned VM. +Infrastructure provisioning is complete. Proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack onto the provisioned VM. diff --git a/docs/admin/deployment/platform-deployment/automated/index.md b/docs/admin/deployment/platform-deployment/automated/index.md index f4f595a1..054d1e56 100644 --- a/docs/admin/deployment/platform-deployment/automated/index.md +++ b/docs/admin/deployment/platform-deployment/automated/index.md @@ -15,9 +15,10 @@ Scripted deployment is recommended for standard installations as it automates co ## Deployment Tracks -| Track | Description | -| ---------------------------------- | ----------------------------------------------------------------------- | -| [**Kubernetes**](./kubernetes.mdx) | Deploy all components onto an EKS / GKE / AKS cluster using Helm charts | +| Track | Description | +| ---------------------------------- | ----------------------------------------------------------------------------------- | +| [**Kubernetes**](./kubernetes.mdx) | Deploy all components onto an EKS / GKE / AKS cluster using Helm charts | +| [**On VM**](./on-vm.mdx) | Deploy the CodeMie stack onto a provisioned VM using the `./deploy.sh --byo` script | ## Script Modes diff --git a/docs/admin/deployment/platform-deployment/manual/on-vm.mdx b/docs/admin/deployment/platform-deployment/automated/on-vm.mdx similarity index 100% rename from docs/admin/deployment/platform-deployment/manual/on-vm.mdx rename to docs/admin/deployment/platform-deployment/automated/on-vm.mdx diff --git a/docs/admin/deployment/platform-deployment/manual/index.md b/docs/admin/deployment/platform-deployment/manual/index.md index d21f79b4..346b0aa9 100644 --- a/docs/admin/deployment/platform-deployment/manual/index.md +++ b/docs/admin/deployment/platform-deployment/manual/index.md @@ -20,7 +20,6 @@ If you prefer automated deployment, see [Automated Deployment](../automated/inde | Track | Description | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | | [**Kubernetes**](./kubernetes/index.mdx) | Manually install each component onto an EKS / GKE / AKS cluster using individual Helm chart commands | -| [**On VM**](./on-vm) | Deploy the CodeMie stack via BYO mode onto a VM provisioned by manual Terraform phases | ## Kubernetes Component Installation Order diff --git a/sidebars.ts b/sidebars.ts index 248ea01d..1c423398 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -760,6 +760,7 @@ const sidebars: SidebarsConfig = { collapsed: true, items: [ 'admin/deployment/platform-deployment/automated/platform-automated-kubernetes', + 'admin/deployment/platform-deployment/automated/on-vm', ], }, { @@ -788,7 +789,6 @@ const sidebars: SidebarsConfig = { 'admin/deployment/platform-deployment/manual/kubernetes/observability', ], }, - 'admin/deployment/platform-deployment/manual/on-vm', ], }, ], From ce1678514616900b5b6c467308fd2747e1104912 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Mon, 28 Sep 2026 13:16:47 +0300 Subject: [PATCH 4/8] docs(deployment): restructure deployment index and add feature cards to section indexes split deployment/index.mdx into two logical groups: installation & configuration (infrastructure, platform, configuration) and maintenance (update, security). convert section index files from .md to .mdx and replace tables with feature card grids to match the top-level deployment page style. - deployment/index.mdx: group into installation & configuration + maintenance sections - infrastructure-deployment/index.mdx: add feature cards for kubernetes and on vm tracks - platform-deployment/index.mdx: add feature cards for automated and manual methods - platform-deployment/automated/index.mdx: add feature cards for kubernetes and on vm - platform-deployment/manual/index.mdx: add feature card for kubernetes track Generated with AI Co-Authored-By: codemie-ai --- docs/admin/deployment/index.mdx | 44 +++---------------- .../{index.md => index.mdx} | 28 +++++++++--- .../automated/{index.md => index.mdx} | 28 +++++++++--- .../{index.md => index.mdx} | 28 +++++++++--- .../manual/{index.md => index.mdx} | 19 ++++++-- 5 files changed, 86 insertions(+), 61 deletions(-) rename docs/admin/deployment/infrastructure-deployment/{index.md => index.mdx} (53%) rename docs/admin/deployment/platform-deployment/automated/{index.md => index.mdx} (50%) rename docs/admin/deployment/platform-deployment/{index.md => index.mdx} (50%) rename docs/admin/deployment/platform-deployment/manual/{index.md => index.mdx} (71%) diff --git a/docs/admin/deployment/index.mdx b/docs/admin/deployment/index.mdx index 43ae26e5..760aa746 100644 --- a/docs/admin/deployment/index.mdx +++ b/docs/admin/deployment/index.mdx @@ -14,11 +14,9 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; # Deployment Guides -Welcome to the AI/Run CodeMie deployment guides. A full deployment follows four phases: provision infrastructure, deploy the platform, configure your installation, then maintain and secure it. +Welcome to the AI/Run CodeMie deployment guides. A complete deployment follows three phases: provision infrastructure, deploy the platform, then configure your installation. Use the maintenance section to keep it up to date and secure. -## Infrastructure Deployment - -Provision the cloud infrastructure required to run CodeMie — Kubernetes clusters or virtual machines, networking, storage, and databases — using Terraform. Supports AWS, GCP, and Azure. +## Installation & Configuration -
-
- - -## Platform Deployment - -Deploy AI/Run CodeMie application components onto the provisioned infrastructure. Choose between automated scripted installation or step-by-step manual control. - - -
-
- - -## Configuration - -Configure authentication, integrations, observability, and API settings for your CodeMie installation after deployment. - - -
-
-## Update - -Keep your CodeMie installation up to date by following the recommended upgrade procedure. +## Maintenance -
-
- - -## Security & Compliance - -Review security requirements, network policies, role-based access control, and compliance guidelines for your CodeMie installation. - -
-
--- diff --git a/docs/admin/deployment/infrastructure-deployment/index.md b/docs/admin/deployment/infrastructure-deployment/index.mdx similarity index 53% rename from docs/admin/deployment/infrastructure-deployment/index.md rename to docs/admin/deployment/infrastructure-deployment/index.mdx index 2eaab829..fb27da39 100644 --- a/docs/admin/deployment/infrastructure-deployment/index.md +++ b/docs/admin/deployment/infrastructure-deployment/index.mdx @@ -5,22 +5,38 @@ sidebar_label: Infrastructure Deployment sidebar_position: 1 --- +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + # Infrastructure Deployment This section covers deploying the cloud infrastructure required to run AI/Run CodeMie — managed Kubernetes clusters, virtual machines, networking, storage, and databases. All guides support AWS, GCP, and Azure in a unified format using cloud tabs. :::info Existing Infrastructure -If you already have a provisioned cluster or VM with all required services, skip this section and proceed directly to [Platform Deployment](../platform-deployment/index.md). +If you already have a provisioned cluster or VM with all required services, skip this section and proceed directly to [Platform Deployment](../platform-deployment/). ::: ## Deployment Tracks Choose the deployment track that matches your target environment: -| Track | Description | When to Use | -| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -| [**Kubernetes**](./kubernetes.mdx) | Provision a managed Kubernetes cluster (EKS / GKE / AKS) along with supporting cloud resources (networking, storage, databases) using Terraform | When running CodeMie on Kubernetes (recommended for production) | -| [**On VM**](./on-vm.mdx) | Provision a single virtual machine (EC2 / GCE / Azure VM) and deploy the full CodeMie stack via Docker Compose | When a lightweight, single-node deployment is preferred | + + + +
+ ## Deployment Methods @@ -33,4 +49,4 @@ Both tracks support two deployment methods: ## Next Steps -After completing infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/index.md) to install AI/Run CodeMie application components. +After completing infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/) to install AI/Run CodeMie application components. diff --git a/docs/admin/deployment/platform-deployment/automated/index.md b/docs/admin/deployment/platform-deployment/automated/index.mdx similarity index 50% rename from docs/admin/deployment/platform-deployment/automated/index.md rename to docs/admin/deployment/platform-deployment/automated/index.mdx index 054d1e56..ac9daa4b 100644 --- a/docs/admin/deployment/platform-deployment/automated/index.md +++ b/docs/admin/deployment/platform-deployment/automated/index.mdx @@ -5,9 +5,12 @@ sidebar_label: Automated Deployment sidebar_position: 1 --- +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + # Automated Platform Deployment -Automated deployment uses the `helm-charts.sh` script to install all AI/Run CodeMie components in the correct dependency order with a single command. +Automated deployment uses scripts to install all AI/Run CodeMie components in the correct dependency order. :::tip Recommended Approach Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. @@ -15,12 +18,25 @@ Scripted deployment is recommended for standard installations as it automates co ## Deployment Tracks -| Track | Description | -| ---------------------------------- | ----------------------------------------------------------------------------------- | -| [**Kubernetes**](./kubernetes.mdx) | Deploy all components onto an EKS / GKE / AKS cluster using Helm charts | -| [**On VM**](./on-vm.mdx) | Deploy the CodeMie stack onto a provisioned VM using the `./deploy.sh --byo` script | + + + +
+ -## Script Modes +## Kubernetes Script Modes | Mode | Components Installed | Use Case | | ------------- | ------------------------------------------------------------ | ---------------------------------------- | diff --git a/docs/admin/deployment/platform-deployment/index.md b/docs/admin/deployment/platform-deployment/index.mdx similarity index 50% rename from docs/admin/deployment/platform-deployment/index.md rename to docs/admin/deployment/platform-deployment/index.mdx index 220079bb..589935cf 100644 --- a/docs/admin/deployment/platform-deployment/index.md +++ b/docs/admin/deployment/platform-deployment/index.mdx @@ -5,20 +5,36 @@ sidebar_label: Platform Deployment sidebar_position: 1 --- +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + # Platform Deployment -This section covers deploying AI/Run CodeMie application components onto a Kubernetes cluster. All guides support AWS, GCP, and Azure in a unified format using cloud tabs. +This section covers deploying AI/Run CodeMie application components onto a provisioned infrastructure. All guides support AWS, GCP, and Azure in a unified format using cloud tabs. :::info Prerequisites -Before proceeding, ensure you have completed [Infrastructure Deployment](../infrastructure-deployment/index.md) and have a running Kubernetes cluster with the `deployment_outputs.env` file from the infrastructure phase. +Before proceeding, ensure you have completed [Infrastructure Deployment](../infrastructure-deployment/) and have a running Kubernetes cluster or VM with the `deployment_outputs.env` file from the infrastructure phase. ::: ## Deployment Methods -| Method | Description | Recommendation | -| ------------------------------------------------ | ----------------------------------------------------------------------------- | -------------------------------------------------------- | -| [**Automated Deployment**](./automated/index.md) | Single script (`helm-charts.sh`) installs all components in the correct order | Recommended for most users | -| [**Manual Deployment**](./manual/index.md) | Install each component individually with full control over configuration | Advanced use cases, troubleshooting, custom integrations | + + + +
+ ## What Gets Deployed diff --git a/docs/admin/deployment/platform-deployment/manual/index.md b/docs/admin/deployment/platform-deployment/manual/index.mdx similarity index 71% rename from docs/admin/deployment/platform-deployment/manual/index.md rename to docs/admin/deployment/platform-deployment/manual/index.mdx index 346b0aa9..19983683 100644 --- a/docs/admin/deployment/platform-deployment/manual/index.md +++ b/docs/admin/deployment/platform-deployment/manual/index.mdx @@ -5,6 +5,9 @@ sidebar_label: Manual Deployment sidebar_position: 1 --- +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + # Manual Platform Deployment Manual deployment installs each AI/Run CodeMie component individually using Helm charts, giving you granular control over configuration and installation order. @@ -12,14 +15,22 @@ Manual deployment installs each AI/Run CodeMie component individually using Helm :::info When to Use Manual Deployment Use manual deployment when you need fine-grained control over individual component configuration, want to selectively deploy certain components, or are troubleshooting specific services. -If you prefer automated deployment, see [Automated Deployment](../automated/index.md) instead. +If you prefer automated deployment, see [Automated Deployment](../automated/) instead. ::: ## Deployment Tracks -| Track | Description | -| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| [**Kubernetes**](./kubernetes/index.mdx) | Manually install each component onto an EKS / GKE / AKS cluster using individual Helm chart commands | + + +
+
+ ## Kubernetes Component Installation Order From 702b67dc92f0822770054493dca0b95f585a474d Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Wed, 30 Sep 2026 17:58:50 +0300 Subject: [PATCH 5/8] docs(deployment): replace per-cloud doc tree with consolidated multi-cloud guides Delete the legacy docs/admin/deployment/{aws,azure,gcp}/ directories and fix all references across the site to point at the new consolidated infrastructure-deployment and platform-deployment guides. Add top-of-page navigation links to the Kubernetes/On-VM architecture and prerequisites sections, and add a "two deployment methods" intro to the on-vm guide to match the kubernetes guide. Generated with AI Co-Authored-By: codemie-ai --- .../codemie/api-configuration.md | 8 +- .../configuration/observability/index.md | 2 +- .../observability/metrics-index-rotation.md | 5 +- .../deployment/accessing-applications.mdx | 17 + docs/admin/deployment/architecture.mdx | 263 ++++++++ .../aws/kubernetes/accessing-applications.md | 16 - .../deployment/aws/kubernetes/architecture.md | 39 -- .../kubernetes/components-deployment/index.md | 233 ------- .../manual-deployment/core-components.md | 39 -- .../manual-deployment/data-layer.md | 34 -- .../manual-deployment/index.md | 239 -------- .../manual-deployment/k8s-components.md | 94 --- .../manual-deployment/observability.md | 31 - .../manual-deployment/plugin-engine.mdx | 15 - .../security-and-identity.md | 31 - .../scripted-deployment.md | 220 ------- .../aws/kubernetes/images/2613320799.png | Bin 179045 -> 0 bytes .../aws/kubernetes/images/2613320927.png | Bin 62617 -> 0 bytes .../aws/kubernetes/images/2613321045.png | Bin 49162 -> 0 bytes .../aws/kubernetes/images/2613321923.png | Bin 52489 -> 0 bytes .../aws/kubernetes/images/README.md | 24 - .../images/litellm-architecture.png | Bin 140660 -> 0 bytes .../infrastructure-deployment/index.md | 136 ----- .../manual-deployment.md | 387 ------------ .../scripted-deployment.md | 255 -------- .../deployment/aws/kubernetes/overview.md | 12 - .../aws/kubernetes/prerequisites.md | 74 --- .../deployment/aws/on-vm/architecture.mdx | 116 ---- .../deployment/aws/on-vm/deployment/byo.md | 195 ------ .../deployment/aws/on-vm/deployment/index.md | 39 -- .../aws/on-vm/deployment/manual-deployment.md | 307 ---------- .../on-vm/deployment/scripted-deployment.md | 215 ------- docs/admin/deployment/aws/on-vm/overview.md | 60 -- .../deployment/aws/on-vm/prerequisites.md | 90 --- .../kubernetes/accessing-applications.md | 15 - .../azure/kubernetes/architecture.md | 39 -- .../kubernetes/components-deployment/index.md | 229 ------- .../manual-deployment/core-components.md | 34 -- .../manual-deployment/data-layer.md | 29 - .../manual-deployment/index.md | 225 ------- .../manual-deployment/k8s-components.md | 76 --- .../manual-deployment/observability.md | 31 - .../manual-deployment/plugin-engine.mdx | 15 - .../security-and-identity.md | 31 - .../scripted-deployment.md | 195 ------ .../images/azure-client-tenant.drawio.png | Bin 608702 -> 0 bytes .../images/azure-cross-tenants.drawio.png | Bin 752933 -> 0 bytes .../images/azure-epam-tenant.drawio.png | Bin 558181 -> 0 bytes .../infrastructure-deployment/index.md | 133 ---- .../scripted-deployment.md | 546 ----------------- .../deployment/azure/kubernetes/overview.md | 12 - .../azure/kubernetes/prerequisites.md | 83 --- .../deployment/azure/on-vm/architecture.mdx | 87 --- .../deployment/azure/on-vm/deployment/byo.md | 146 ----- .../azure/on-vm/deployment/index.md | 39 -- .../on-vm/deployment/manual-deployment.md | 230 ------- .../on-vm/deployment/scripted-deployment.md | 155 ----- docs/admin/deployment/azure/on-vm/overview.md | 60 -- .../deployment/azure/on-vm/prerequisites.md | 103 ---- .../_accessing-codemie-applications.mdx | 18 +- docs/admin/deployment/extensions/index.mdx | 2 +- .../gcp/kubernetes/accessing-applications.md | 15 - .../deployment/gcp/kubernetes/architecture.md | 46 -- .../kubernetes/components-deployment/index.md | 258 -------- .../manual-deployment/core-components.mdx | 106 ---- .../manual-deployment/data-layer.mdx | 27 - .../manual-deployment/index.md | 228 ------- .../manual-deployment/k8s-components.md | 31 - .../manual-deployment/observability.md | 31 - .../manual-deployment/plugin-engine.mdx | 15 - .../security-and-identity.md | 29 - .../scripted-deployment.md | 390 ------------ .../bastion-host-access.md | 158 ----- .../infrastructure-deployment/index.md | 113 ---- .../manual-deployment.md | 270 --------- .../scripted-deployment.md | 216 ------- .../deployment/gcp/kubernetes/overview.md | 12 - .../gcp/kubernetes/prerequisites.md | 113 ---- .../deployment/gcp/on-vm/architecture.mdx | 88 --- .../deployment/gcp/on-vm/deployment/byo.md | 146 ----- .../deployment/gcp/on-vm/deployment/index.md | 38 -- .../gcp/on-vm/deployment/manual-deployment.md | 180 ------ .../on-vm/deployment/scripted-deployment.md | 149 ----- docs/admin/deployment/gcp/on-vm/overview.md | 59 -- .../deployment/gcp/on-vm/prerequisites.md | 103 ---- .../architecture-diagram-aws.drawio.png} | Bin .../architecture-diagram-azure.drawio.png} | Bin .../architecture-diagram-gcp.drawio.png} | Bin ...ecture-diagram-aws-domain-mode.drawio.png} | Bin ...chitecture-diagram-aws-ip-mode.drawio.png} | Bin ...cture-diagram-aws-private-mode.drawio.png} | Bin ...-vm-architecture-diagram-azure.drawio.png} | Bin ...on-vm-architecture-diagram-gcp.drawio.png} | Bin docs/admin/deployment/index.mdx | 87 +-- .../infrastructure-deployment/index.mdx | 1 + .../infrastructure-deployment/kubernetes.mdx | 567 +++++++++++++----- .../infrastructure-deployment/on-vm.mdx | 322 +++++----- .../automated/kubernetes.mdx | 92 +-- .../platform-deployment/automated/on-vm.mdx | 56 +- .../manual/kubernetes/core-components.mdx | 20 +- .../manual/kubernetes/data-layer.mdx | 22 +- .../manual/kubernetes/index.mdx | 30 +- .../manual/kubernetes/k8s-components.mdx | 44 +- .../manual/kubernetes/observability.mdx | 14 +- .../manual/kubernetes/plugin-engine.mdx | 6 +- .../kubernetes/security-and-identity.mdx | 16 +- docs/admin/deployment/prerequisites.mdx | 515 ++++++++++++++++ docs/admin/index.mdx | 57 +- .../admin/security/data-processing-storage.md | 2 +- .../elasticsearch/metrics-index-rotation.md | 5 +- .../update/release-notes/release-notes.md | 4 +- sidebars.ts | 313 +--------- 112 files changed, 1577 insertions(+), 9146 deletions(-) create mode 100644 docs/admin/deployment/accessing-applications.mdx create mode 100644 docs/admin/deployment/architecture.mdx delete mode 100644 docs/admin/deployment/aws/kubernetes/accessing-applications.md delete mode 100644 docs/admin/deployment/aws/kubernetes/architecture.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/index.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/index.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity.md delete mode 100644 docs/admin/deployment/aws/kubernetes/components-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/aws/kubernetes/images/2613320799.png delete mode 100644 docs/admin/deployment/aws/kubernetes/images/2613320927.png delete mode 100644 docs/admin/deployment/aws/kubernetes/images/2613321045.png delete mode 100644 docs/admin/deployment/aws/kubernetes/images/2613321923.png delete mode 100644 docs/admin/deployment/aws/kubernetes/images/README.md delete mode 100644 docs/admin/deployment/aws/kubernetes/images/litellm-architecture.png delete mode 100644 docs/admin/deployment/aws/kubernetes/infrastructure-deployment/index.md delete mode 100644 docs/admin/deployment/aws/kubernetes/infrastructure-deployment/manual-deployment.md delete mode 100644 docs/admin/deployment/aws/kubernetes/infrastructure-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/aws/kubernetes/overview.md delete mode 100644 docs/admin/deployment/aws/kubernetes/prerequisites.md delete mode 100644 docs/admin/deployment/aws/on-vm/architecture.mdx delete mode 100644 docs/admin/deployment/aws/on-vm/deployment/byo.md delete mode 100644 docs/admin/deployment/aws/on-vm/deployment/index.md delete mode 100644 docs/admin/deployment/aws/on-vm/deployment/manual-deployment.md delete mode 100644 docs/admin/deployment/aws/on-vm/deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/aws/on-vm/overview.md delete mode 100644 docs/admin/deployment/aws/on-vm/prerequisites.md delete mode 100644 docs/admin/deployment/azure/kubernetes/accessing-applications.md delete mode 100644 docs/admin/deployment/azure/kubernetes/architecture.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/index.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/index.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity.md delete mode 100644 docs/admin/deployment/azure/kubernetes/components-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/azure/kubernetes/images/azure-client-tenant.drawio.png delete mode 100644 docs/admin/deployment/azure/kubernetes/images/azure-cross-tenants.drawio.png delete mode 100644 docs/admin/deployment/azure/kubernetes/images/azure-epam-tenant.drawio.png delete mode 100644 docs/admin/deployment/azure/kubernetes/infrastructure-deployment/index.md delete mode 100644 docs/admin/deployment/azure/kubernetes/infrastructure-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/azure/kubernetes/overview.md delete mode 100644 docs/admin/deployment/azure/kubernetes/prerequisites.md delete mode 100644 docs/admin/deployment/azure/on-vm/architecture.mdx delete mode 100644 docs/admin/deployment/azure/on-vm/deployment/byo.md delete mode 100644 docs/admin/deployment/azure/on-vm/deployment/index.md delete mode 100644 docs/admin/deployment/azure/on-vm/deployment/manual-deployment.md delete mode 100644 docs/admin/deployment/azure/on-vm/deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/azure/on-vm/overview.md delete mode 100644 docs/admin/deployment/azure/on-vm/prerequisites.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/accessing-applications.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/architecture.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/index.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components.mdx delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/data-layer.mdx delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/index.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/k8s-components.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/observability.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/security-and-identity.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/components-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/bastion-host-access.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/index.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/manual-deployment.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/overview.md delete mode 100644 docs/admin/deployment/gcp/kubernetes/prerequisites.md delete mode 100644 docs/admin/deployment/gcp/on-vm/architecture.mdx delete mode 100644 docs/admin/deployment/gcp/on-vm/deployment/byo.md delete mode 100644 docs/admin/deployment/gcp/on-vm/deployment/index.md delete mode 100644 docs/admin/deployment/gcp/on-vm/deployment/manual-deployment.md delete mode 100644 docs/admin/deployment/gcp/on-vm/deployment/scripted-deployment.md delete mode 100644 docs/admin/deployment/gcp/on-vm/overview.md delete mode 100644 docs/admin/deployment/gcp/on-vm/prerequisites.md rename docs/admin/deployment/{aws/kubernetes/images/architecture-diagram.drawio.png => images/architecture-diagram-aws.drawio.png} (100%) rename docs/admin/deployment/{azure/kubernetes/images/architecture-diagram.drawio.png => images/architecture-diagram-azure.drawio.png} (100%) rename docs/admin/deployment/{gcp/kubernetes/images/architecture-diagram.drawio.png => images/architecture-diagram-gcp.drawio.png} (100%) rename docs/admin/deployment/{aws/on-vm/images/domain-mode-diagram.drawio.png => images/on-vm-architecture-diagram-aws-domain-mode.drawio.png} (100%) rename docs/admin/deployment/{aws/on-vm/images/ip-mode-diagram.drawio.png => images/on-vm-architecture-diagram-aws-ip-mode.drawio.png} (100%) rename docs/admin/deployment/{aws/on-vm/images/private-mode-diagram.drawio.png => images/on-vm-architecture-diagram-aws-private-mode.drawio.png} (100%) rename docs/admin/deployment/{azure/on-vm/images/architecture-diagram.drawio.png => images/on-vm-architecture-diagram-azure.drawio.png} (100%) rename docs/admin/deployment/{gcp/on-vm/images/architecture-diagram.drawio.png => images/on-vm-architecture-diagram-gcp.drawio.png} (100%) create mode 100644 docs/admin/deployment/prerequisites.mdx diff --git a/docs/admin/configuration/codemie/api-configuration.md b/docs/admin/configuration/codemie/api-configuration.md index 502df054..b0dedec0 100644 --- a/docs/admin/configuration/codemie/api-configuration.md +++ b/docs/admin/configuration/codemie/api-configuration.md @@ -1502,9 +1502,5 @@ AUTHORIZED_APPS_ALLOWED_KEY_DOMAINS=["trusted.example","keys.trusted.example"] ## See Also -- [AWS Kubernetes Deployment](../../deployment/aws/kubernetes/overview.md) - Complete AWS Kubernetes deployment walkthrough -- [AWS On VM Deployment](../../deployment/aws/on-vm/overview.md) - AWS EC2 deployment with Docker Compose -- [Azure Kubernetes Deployment](../../deployment/azure/kubernetes/overview.md) - Azure Kubernetes setup instructions -- [Azure On VM Deployment](../../deployment/azure/on-vm/overview.md) - Azure VM deployment with Docker Compose -- [GCP Kubernetes Deployment](../../deployment/gcp/kubernetes/overview.md) - Google Cloud Kubernetes deployment steps -- [GCP On VM Deployment](../../deployment/gcp/on-vm/overview.md) - Google Cloud GCE deployment with Docker Compose +- [Kubernetes Deployment](../../deployment/infrastructure-deployment/kubernetes.mdx) - Complete Kubernetes deployment walkthrough for AWS, Azure, and GCP +- [On-VM Deployment](../../deployment/infrastructure-deployment/on-vm.mdx) - EC2, Azure VM, or Compute Engine deployment with Docker Compose diff --git a/docs/admin/configuration/observability/index.md b/docs/admin/configuration/observability/index.md index ecbb89f9..5fecc1bc 100644 --- a/docs/admin/configuration/observability/index.md +++ b/docs/admin/configuration/observability/index.md @@ -115,5 +115,5 @@ Langfuse integration is configured via environment variables in the CodeMie API - [API Configuration](../codemie/api-configuration.md) — full reference for all observability environment variables -- [Observability Components Deployment](../../deployment/aws/kubernetes/components-deployment/manual-deployment/observability.md) — +- [Observability Components Deployment](../../deployment/platform-deployment/manual/kubernetes/observability) — install Fluent Bit, Elasticsearch, and Kibana on your cluster diff --git a/docs/admin/configuration/observability/metrics-index-rotation.md b/docs/admin/configuration/observability/metrics-index-rotation.md index 03cac0b3..e0e58e7d 100644 --- a/docs/admin/configuration/observability/metrics-index-rotation.md +++ b/docs/admin/configuration/observability/metrics-index-rotation.md @@ -94,10 +94,7 @@ codemie_metrics_logs_write Do not change the output used for infrastructure logs. User metrics must continue to be collected for Kibana dashboards and usage analytics. -The cloud-specific deployment guides describe the metrics and infrastructure-log -outputs: [AWS](../../../deployment/aws/kubernetes/components-deployment/manual-deployment/observability), -[Azure](../../../deployment/azure/kubernetes/components-deployment/manual-deployment/observability), or -[GCP](../../../deployment/gcp/kubernetes/components-deployment/manual-deployment/observability). +The [Observability Components Deployment](../../../deployment/platform-deployment/manual/kubernetes/observability) guide describes the metrics and infrastructure-log outputs for AWS, Azure, and GCP. ## Enable rotation diff --git a/docs/admin/deployment/accessing-applications.mdx b/docs/admin/deployment/accessing-applications.mdx new file mode 100644 index 00000000..ffc9f3f2 --- /dev/null +++ b/docs/admin/deployment/accessing-applications.mdx @@ -0,0 +1,17 @@ +--- +id: accessing-applications +title: Accessing AI/Run CodeMie Applications +sidebar_label: Accessing Applications +sidebar_position: 5 +pagination_prev: admin/deployment/platform-deployment/platform-deployment-overview +pagination_next: admin/deployment/extensions/extensions-overview +--- + +import AccessingApplicationsContent from './common/deployment/accessing-codemie/_accessing-codemie-applications.mdx'; + + diff --git a/docs/admin/deployment/architecture.mdx b/docs/admin/deployment/architecture.mdx new file mode 100644 index 00000000..436f46fc --- /dev/null +++ b/docs/admin/deployment/architecture.mdx @@ -0,0 +1,263 @@ +--- +id: architecture +title: AI/Run CodeMie Deployment Architecture +sidebar_label: Architecture +sidebar_position: 1 +pagination_prev: admin/deployment/index +pagination_next: admin/deployment/prerequisites +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ContainerResources from './common/deployment/architecture/_container-resources.mdx'; + +# AI/Run CodeMie Deployment Architecture + +This page provides an overview of the AI/Run CodeMie deployment architecture, including infrastructure components, network design, and resource requirements. A cloud provider can be selected below for provider-specific details. + +This page covers two architecture variants: + +- [**Kubernetes Deployment Architecture**](#kubernetes-deployment-architecture) - Full production deployment on a managed Kubernetes cluster (EKS, AKS, or GKE) +- [**On-VM Deployment Architecture**](#on-vm-deployment-architecture) - Lightweight single-VM deployment for PoC and demo environments + +## Kubernetes Deployment Architecture + + + + +AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: + +![AWS Architecture Diagram](./images/architecture-diagram-aws.drawio.png) + + + + +AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: + +![Azure Architecture Diagram](./images/architecture-diagram-azure.drawio.png) + + + + +AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. + +### Deployment Options + +There are two deployment options available depending on your organization's access requirements: + +- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations +- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: + +![GCP Architecture Diagram](./images/architecture-diagram-gcp.drawio.png) + + + + +:::tip Architecture Customization +The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. +::: + +## Kubernetes Resource Requirements + + + +## On-VM Deployment Architecture + +CodeMie On VM deploys the full AI/Run CodeMie platform on a **single virtual machine** using Docker Compose. It provides the same core functionality as the full Kubernetes deployment but with minimal infrastructure overhead, and is designed for proof-of-concept and demo environments rather than production workloads. + +### Infrastructure Overview + + + + +CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraform provisions the following resources depending on the network mode: + + + + Direct access to the EC2 instance via Elastic IP: + + ![IP Mode Diagram](./images/on-vm-architecture-diagram-aws-ip-mode.drawio.png) + + + + When `TF_VAR_platform_domain_name` is configured, an ALB with trusted TLS certificate is created: + + ![Domain Mode Diagram](./images/on-vm-architecture-diagram-aws-domain-mode.drawio.png) + + + + When `TF_VAR_private_ip_only=true`, EC2 is placed in a private subnet with NAT Gateway for outbound traffic. Access is via VPN, AWS Workspaces, or some other available VM: + + ![Private Mode Diagram](./images/on-vm-architecture-diagram-aws-private-mode.drawio.png) + + + + +#### AWS Resources + +| Resource | Purpose | +| ------------------------ | --------------------------------------------------------------------- | +| **VPC** | Isolated network with public subnets (+ private if `private_ip_only`) | +| **EC2 Instance** | Single instance running Docker Compose (Ubuntu, r5.xlarge default) | +| **Elastic IP** | Static public IP for the EC2 instance | +| **S3 Bucket** | Persistent storage for user data (repos, files) | +| **KMS Key** | Encryption key for S3 data at rest | +| **ALB** | Application Load Balancer with TLS (if domain configured) | +| **ACM Certificate** | Trusted TLS certificate for the domain (if domain configured) | +| **Route 53 Record** | DNS A record pointing to ALB (if domain configured) | +| **SSM Parameter** | Stores EC2 SSH private key securely | +| **Security Groups** | Controls inbound traffic to ALB and EC2 | +| **IAM Instance Profile** | Grants EC2 access to Bedrock, S3, KMS, SSM | + +#### Network Modes + +| Mode | Configuration | Access | +| ----------------------- | ------------------------------------------- | --------------------------------- | +| **Public IP** (default) | `TF_VAR_private_ip_only=false` | EC2 gets EIP, direct HTTPS access | +| **Domain + ALB** | `TF_VAR_platform_domain_name="example.com"` | ALB with ACM cert, Route 53 DNS | +| **Private IP** | `TF_VAR_private_ip_only=true` | No public IP, access via VPN only | + + + + +![Azure On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-azure.drawio.png) + +CodeMie On VM runs on a single Azure VM with supporting Azure services. Terraform provisions the following resources: + +#### Azure Resources + +| Resource | Purpose | +| ------------------------------ | -------------------------------------------------------------------- | +| **Azure VM (Standard_E4s_v5)** | Single VM running Docker Compose (4 vCPU, 32 GB RAM) | +| **Virtual Network / Subnet** | Isolated network for the VM | +| **Network Security Group** | Controls inbound/outbound traffic to the VM | +| **Azure Storage Account** | Persistent storage for user data (repos, files) | +| **Azure Key Vault** | Encryption key management for storage data | +| **Private DNS Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | +| **Azure Bastion** | Secure SSH access to the VM without exposing a public IP | + +#### Network Modes + +| Mode | Configuration | Access | +| ------------------------ | ----------------------------------------------- | ----------------------------------------- | +| **Private IP** (default) | `TF_VAR_platform_domain_name` empty | VM private IP, access via VPN or Bastion | +| **Domain** | `TF_VAR_platform_domain_name="private.lab.com"` | Creates private DNS zone, access via name | + + + + +![GCP On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-gcp.drawio.png) + +CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform provisions the following resources: + +#### GCP Resources + +| Resource | Purpose | +| ------------------------------ | -------------------------------------------------------------------- | +| **GCE VM (n2-highmem-4)** | Single VM running Docker Compose (4 vCPU, 32 GB RAM) | +| **VPC / Subnet** | Isolated network for the VM | +| **Firewall Rules** | Controls inbound/outbound traffic to the VM | +| **GCS Bucket** | Persistent storage for user data (repos, files) | +| **Cloud KMS Key** | Encryption key management for storage data | +| **Cloud DNS Private Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | +| **IAP (Identity-Aware Proxy)** | Secure SSH access to the VM without exposing a public IP | +| **Secret Manager** | Stores the SSH private key for VM access | + +#### Network Modes + +| Mode | Configuration | Access | +| ------------------------ | ------------------------------------------------ | ----------------------------------------------- | +| **Private IP** (default) | `TF_VAR_platform_domain_name` empty | VM private IP, access via VPN or IAP | +| **Domain** | `TF_VAR_platform_domain_name="codemie.internal"` | Creates Cloud DNS private zone, access via name | + + + + +### Application Architecture + +All CodeMie services run as Docker containers on the VM, orchestrated by Docker Compose. This layer is identical regardless of the underlying cloud provider. + +![Docker Compose Services](./common/deployment/images/docker-compose-diagram.drawio.png) + +#### Services by Profile + +**Shared services** (both profiles): + +| Service | Image | Purpose | +| ------------- | --------------------------- | ------------------------------------------------- | +| postgres | pgvector/pgvector:pg17 | Primary database for application data | +| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | +| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | +| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | +| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | + +**OSS profile:** + +| Service | Purpose | +| -------------- | --------------------------------------------- | +| codemie-oss | API server with built-in local authentication | +| codemie-ui-oss | Web frontend | + +**Enterprise profile:** + +| Service | Purpose | +| ----------------- | ---------------------------------------------- | +| codemie | API server | +| codemie-ui | Web frontend | +| keycloak | Identity provider (SSO, OIDC) | +| oauth2-proxy | Authentication proxy in front of nginx | +| litellm | LLM proxy for model routing and key management | +| nats | Messaging for plugin engine | +| nats-auth-callout | NATS authentication service | +| mermaid-server | Diagram rendering | + +## On-VM Resource Requirements + + + + +| Resource | Minimum | Recommended | +| -------- | ------- | ------------- | +| vCPU | 4 | 4 (r5.xlarge) | +| RAM | 16 GB | 32 GB | +| Disk | 50 GB | 100 GB (gp3) | + + + + +| Resource | Minimum | Recommended | +| -------- | ------- | ------------------- | +| vCPU | 4 | 4 (Standard_E4s_v5) | +| RAM | 16 GB | 32 GB | +| Disk | 50 GB | 100 GB | + + + + +| Resource | Minimum | Recommended | +| -------- | ------- | ---------------- | +| vCPU | 4 | 4 (n2-highmem-4) | +| RAM | 16 GB | 32 GB | +| Disk | 50 GB | 100 GB | + + + + +## Next Steps + +After understanding the architecture, proceed to: + +- [Prerequisites](./prerequisites.mdx) - Review requirements before you begin +- [Infrastructure Deployment](./infrastructure-deployment/index.mdx) - Provision the cloud infrastructure using Terraform diff --git a/docs/admin/deployment/aws/kubernetes/accessing-applications.md b/docs/admin/deployment/aws/kubernetes/accessing-applications.md deleted file mode 100644 index 3193db71..00000000 --- a/docs/admin/deployment/aws/kubernetes/accessing-applications.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: accessing-applications -sidebar_position: 6 -title: Accessing AI/Run CodeMie Applications -sidebar_label: Accessing Applications -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/configuration/index ---- - -import AccessingApplicationsContent from '../../common/deployment/accessing-codemie/\_accessing-codemie-applications.mdx'; - - diff --git a/docs/admin/deployment/aws/kubernetes/architecture.md b/docs/admin/deployment/aws/kubernetes/architecture.md deleted file mode 100644 index 02c5f554..00000000 --- a/docs/admin/deployment/aws/kubernetes/architecture.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: architecture -title: AI/Run CodeMie Deployment Architecture -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/aws/kubernetes/prerequisites -pagination_next: admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-deployment-overview ---- - -import ContainerResources from '../../common/deployment/architecture/\_container-resources.mdx'; - -# AI/Run CodeMie Deployment Architecture - -This page provides an overview of the AI/Run CodeMie deployment architecture on Amazon Web Services, including infrastructure components, network design, and resource requirements. - -## Architecture Overview - -AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: - -![AWS Architecture Diagram](./images/architecture-diagram.drawio.png) - -:::tip Architecture Customization -The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. -::: - -## Resource Requirements - - - -## Next Steps - -After understanding the architecture, proceed to: - -- [Infrastructure Deployment](./infrastructure-deployment/index.md) - Deploy the AWS infrastructure using Terraform -- [Components Deployment](./components-deployment/index.md) - Deploy AI/Run CodeMie application components using Helm diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/index.md b/docs/admin/deployment/aws/kubernetes/components-deployment/index.md deleted file mode 100644 index 36d6509a..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/index.md +++ /dev/null @@ -1,233 +0,0 @@ ---- -id: components-deployment-overview -sidebar_position: 5 -title: AI/Run CodeMie Components Deployment -sidebar_label: CodeMie Components Deployment -pagination_prev: admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/components-scripted-deployment ---- - -# AI/Run CodeMie Components Deployment - -## Overview - -This section guides you through deploying the AI/Run CodeMie application stack on your EKS cluster. After completing infrastructure deployment, this phase installs all necessary Kubernetes components including: - -- **Core AI/Run CodeMie services** (API, UI, MCP Connect, NATS Auth) -- **Data layer** (Elasticsearch) -- **Security & Identity** (Keycloak, OAuth2 Proxy) -- **Infrastructure services** (Ingress controller, storage) -- **Observability** (Kibana, Fluent Bit) -- **Optional LLM Proxy** (for load balancing AI model requests) - -The deployment uses Helm charts to install and configure all components in the correct order, ensuring proper dependencies and integration. - -:::info Prerequisites -This phase assumes you have completed [Infrastructure Deployment](../infrastructure-deployment/) and have a running EKS cluster with network, storage, and security configured. -::: - -### Application Stack Components - -The AI/Run CodeMie application consists of multiple integrated components organized into functional categories: - -![Application Stack](../../../common/deployment/images/application-stack-diagram.drawio.png) - -#### Core AI/Run CodeMie Services - -Proprietary services that provide the main AI/Run CodeMie functionality: - -| Component | Container Registry | Description | -| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| **CodeMie API** | `europe-west3-docker.pkg.dev/.../codemie:x.y.z` | Backend service handling business logic, data processing, and API operations | -| **CodeMie UI** | `europe-west3-docker.pkg.dev/.../codemie-ui:x.y.z` | Frontend web application providing the user interface | -| **NATS Auth Callout** | `europe-west3-docker.pkg.dev/.../codemie-nats-auth-callout:x.y.z` | Authentication and authorization service for NATS messaging (Plugin Engine component) | -| **MCP Connect** | `europe-west3-docker.pkg.dev/.../codemie-mcp-connect-service:x.y.z` | Bridge enabling CodeMie to communicate with MCP servers | -| **Mermaid Server** | `europe-west3-docker.pkg.dev/.../mermaid-server:x.y.z` | Diagram generation service for visualization in chats | - -:::info Version Information -To find the latest release versions for CodeMie components: - -```bash -# Clone the helm charts repository -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts - -# Check latest versions (requires GCR authentication) -bash get-codemie-latest-release-version.sh -c /path/to/key.json -``` - -**Note**: Docker container versions match Helm chart release versions. -::: - -#### Data Layer - -Database and search components for data persistence: - -| Component | Container Registry | Description | -| ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | -| **Elasticsearch** | `docker.elastic.co/elasticsearch/elasticsearch:x.y.z` | Primary data store for AI/Run CodeMie (datasources, projects, conversations, etc.) | -| **Kibana** | `docker.elastic.co/kibana/kibana:x.y.z` | Analytics and visualization interface for Elasticsearch data | - -#### Security & Identity Management - -Authentication and authorization components: - -| Component | Container Registry | Description | -| --------------------- | ----------------------------------------- | --------------------------------------------------------------------------- | -| **Keycloak Operator** | `epamedp/keycloak-operator:x.y.z` | Manages Keycloak deployment and configuration | -| **Keycloak** | `quay.io/keycloak/keycloak:x.y.z` | Identity and access management (IAM) solution providing SSO, authentication | -| **OAuth2 Proxy** | `quay.io/oauth2-proxy/oauth2-proxy:x.y.z` | Authentication middleware integrating with Keycloak for secure access | - -#### Infrastructure Services - -Essential Kubernetes infrastructure components: - -| Component | Container Registry | Description | -| ---------------------------- | ------------------------------------------------ | --------------------------------------------------- | -| **Nginx Ingress Controller** | `registry.k8s.io/ingress-nginx/controller:x.y.z` | Routes external traffic to internal services | -| **Storage Class** | AWS EBS CSI Driver | Provides persistent volumes for stateful components | - -#### Messaging & Integration - -Message broker for Plugin Engine: - -| Component | Container Registry | Description | -| --------- | ------------------ | ----------------------------------------------------------------- | -| **NATS** | `nats:x.y.z` | High-performance messaging system for Plugin Engine communication | - -#### Observability - -Logging and monitoring components: - -| Component | Container Registry | Description | -| -------------- | ----------------------------------------- | ------------------------------------------------------ | -| **Fluent Bit** | `cr.fluentbit.io/fluent/fluent-bit:x.y.z` | Lightweight log collector enabling agent observability | - -#### Optional Components - -Components that can be omitted based on configuration: - -| Component | Container Registry | Description | -| ------------- | ------------------ | ----------------------------------------------------------------------------------------------- | -| **LLM Proxy** | – | Optional proxy for load balancing and high availability of AI model requests and usage insights | - -#### Deployment Dependencies - -Components must be deployed in the following order due to dependencies: - -1. **Infrastructure** → Ingress Controller, Storage Class -2. **Operators** → Keycloak Operator -3. **Data Layer** → Elasticsearch -4. **Security** → Keycloak (with database credentials), OAuth2 Proxy -5. **Messaging** → NATS -6. **Core Services** → CodeMie API, UI, MCP Connect, NATS Auth -7. **Observability** → Fluent Bit, Kibana -8. **Optional** → LLM Proxy (if needed) - -## Prerequisites - -### Cluster Readiness - -Ensure your EKS cluster is ready for component deployment: - -- [x] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/) phase -- [x] **Cluster Access**: kubectl configured and authenticated to EKS cluster -- [x] **Kubeconfig Setup**: Obtained kubeconfig using: - -```bash -aws eks update-kubeconfig --region --name -``` - -### Required Components - -The following components will be installed during this phase if not already present: - -- **Nginx Ingress Controller**: Routes external traffic to services -- **AWS gp3 Storage Class**: Provides persistent storage for stateful components - -:::info -These components will be installed automatically if not already present in your cluster. Both scripted and manual deployment procedures include the necessary installation steps. -::: - -### Repository and Access {#repository-and-access} - -#### Helm Charts Repository - -Clone the Helm charts repository on your deployment machine (local workstation or bastion host): - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -#### Container Registry Credentials - -Before deploying AI/Run CodeMie components, you need to set up authentication for the container registry. - -**Request Access**: Ask the AI/Run CodeMie team to provide: - -- `key.json` file (GCP service account credentials) -- Service account email for pulling images from GCR - -**Create Namespace**: - -```bash -kubectl create namespace codemie -``` - -**Configure Registry Secret**: - -Replace `%%PROJECT_NAME%%` with your project name and create the pull secret: - -```bash -kubectl create secret docker-registry gcp-artifact-registry \ - --docker-server=https://europe-west3-docker.pkg.dev \ - --docker-email=`` \ - --docker-username=_json_key \ - --docker-password="$(cat key.json)" \ - -n codemie -``` - -**Verify Secret**: - -```bash -kubectl get secret gcp-artifact-registry -n codemie -``` - -:::info Pull Secret Usage -The `gcp-artifact-registry` secret must be referenced in all AI/Run CodeMie component deployments: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. - -This is configured automatically in the values files: - -```yaml -imagePullSecrets: - - name: gcp-artifact-registry -``` - -::: - -## Deployment Methods - -Two deployment approaches are available depending on your needs: - -### Scripted Deployment (Recommended) - -Automated deployment using the `helm-charts.sh` wrapper script: - -- **Best for**: Standard deployments, quick setup, production environments -- **Advantages**: Automated dependency ordering, validation checks, consistent configuration - -[→ Scripted Deployment Guide](./components-scripted-deployment) - -### Manual Deployment - -Step-by-step manual installation of each component: - -- **Best for**: Custom configurations, learning the stack, troubleshooting -- **Advantages**: Full control over each component, easier to debug issues - -[→ Manual Deployment Guide](./manual-deployment/) - -:::tip Recommendation -Use **Scripted Deployment** for initial installations. Switch to manual deployment only if you need custom configurations or are troubleshooting specific issues. -::: diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components.md deleted file mode 100644 index fe69820a..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: core-components -sidebar_position: 6 -title: Core Components -sidebar_label: Core Components -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability ---- - -import CoreComponentsOverview from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-overview.mdx'; -import CoreComponentsMcpConnect from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-mcp-connect.mdx'; -import CoreComponentsMermaid from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-mermaid.mdx'; -import CoreComponentsUi from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-ui.mdx'; -import CoreComponentsApi from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-api.mdx'; -import CoreComponentsAccess from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-access.mdx'; -import CoreComponentsValidation from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-validation.mdx'; - - - - - - - - - - - - - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer.md deleted file mode 100644 index e50a5239..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: data-layer -sidebar_position: 2 -title: Data Layer -sidebar_label: Data Layer -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity ---- - -import DataLayerOverview from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-overview.mdx'; -import DataLayerElasticsearch from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-elasticsearch.mdx'; -import DataLayerPostgresConfig from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-config.mdx'; -import DataLayerPostgresIamSetup from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-iam-setup.mdx'; -import DataLayerPostgresSecret from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-secret-aws.mdx'; -import DataLayerValidation from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-validation.mdx'; - - - - - - - - - - - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/index.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/index.md deleted file mode 100644 index 152ecbaa..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/index.md +++ /dev/null @@ -1,239 +0,0 @@ ---- -id: manual-deployment-overview -sidebar_position: 2 -title: Manual Deployment Overview -description: Overview of manual component installation process -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components ---- - -# 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. - -:::info When to Use Manual Deployment -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](../components-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-aws.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](../../infrastructure-deployment/) phase -- [ ] **Cluster Access**: kubectl configured for EKS cluster -- [ ] **Container Registry**: Completed [Container Registry Access Setup](../#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs -- [ ] **Deployment Outputs File**: Have `deployment_outputs.env` from infrastructure deployment - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](../#repository-and-access) before proceeding. Each component requires the `gcp-artifact-registry` pull secret to exist. -::: - -### Required Tools - -Ensure these tools are available on your deployment machine: - -- `kubectl` - Kubernetes cluster management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `aws` CLI - For AWS operations - -## Component Installation Order - -Components must be installed in the following order to satisfy dependencies: - -### 1. [Kubernetes Components](./k8s-components) - -**Purpose**: Foundation infrastructure for storage provisioning and external access - -**Components**: - -- AWS gp3 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](./data-layer) - -**Purpose**: Persistent storage for application data and user content - -**Components**: - -- Elasticsearch (document storage and search engine) - -**Dependencies**: Requires storage class from Step 1 - -### 3. [Security and Identity](./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 RDS from infrastructure deployment - -### 4. [Plugin Engine](./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](./core-components) - -**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](./observability.md) - -**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 deployment machine: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure AWS-Specific Values - -Update AWS-specific values in the CodeMie API configuration. Use values from your `deployment_outputs.env` file: - -```bash -# Source the deployment outputs -source deployment_outputs.env - -# Update CodeMie API values with AWS-specific configuration -sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_DEFAULT_REGION%%/${AWS_DEFAULT_REGION}/g" codemie-api/values-aws.yaml -sed -i "s|%%EKS_AWS_ROLE_ARN%%|${EKS_AWS_ROLE_ARN}|g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_KMS_KEY_ID%%/${AWS_KMS_KEY_ID}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_S3_BUCKET_NAME%%/${AWS_S3_BUCKET_NAME}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_S3_REGION%%/${AWS_S3_REGION}/g" codemie-api/values-aws.yaml -``` - -### Step 3: Configure Domain Name - -Update the DNS zone name in values files. Replace `%%DOMAIN%%` with your actual DNS zone name: - -```bash -# Use your DNS zone name from deployment_outputs.env -CODEMIE_DOMAIN_NAME="airun.example.com" - -# Update all values-aws.yaml files -find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/$CODEMIE_DOMAIN_NAME/g" {} \; -``` - -:::tip Domain Configuration -Your DNS zone name was configured during infrastructure deployment. Find it in `deployment_outputs.env` as `CODEMIE_DOMAIN_NAME`. -::: - -### Step 4: Authenticate to Container Registry - -Authenticate Helm to the Google Container Registry: - -```bash -# 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 5: Get Latest CodeMie Version - -Retrieve the latest AI/Run CodeMie release version: - -```bash -# 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 - -:::warning Respect Installation Order -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-registry` secret exists: `kubectl get secret -n codemie` -- Re-authenticate to registry (repeat Step 4) -- 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](./k8s-components)**. - -After completing all component installations, proceed to **[Configuration](../../../../../configuration/)** to configure users, AI models, and data sources. diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components.md deleted file mode 100644 index 42c4f49f..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: k8s-components -sidebar_position: 1 -title: Kubernetes Components -sidebar_label: Kubernetes Components -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer ---- - -import StorageIngressOverview from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-overview.mdx'; -import StorageIngressNginx from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-nginx.mdx'; -import StorageClassInstallation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-class-installation.mdx'; -import StorageIngressValidation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-validation.mdx'; - - - - - -### Step 4: Configure DNS Record - -Create a DNS record pointing to the ingress controller's load balancer: - -```bash -# Retrieve ingress controller hostname/IP -INGRESS_HOST=$(kubectl get service ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') - -echo "Ingress Host: ${INGRESS_HOST}" -``` - -**DNS Configuration Options**: - -If using **Route 53**: - -```bash -# Get your hosted zone ID -HOSTED_ZONE_ID=$(aws route53 list-hosted-zones-by-name \ - --dns-name airun.example.com \ - --query 'HostedZones[0].Id' \ - --output text | cut -d'/' -f3) - -# Create CNAME record -aws route53 change-resource-record-sets \ - --hosted-zone-id ${HOSTED_ZONE_ID} \ - --change-batch '{ - "Changes": [{ - "Action": "UPSERT", - "ResourceRecordSet": { - "Name": "codemie.airun.example.com", - "Type": "CNAME", - "TTL": 300, - "ResourceRecords": [{"Value": "'${INGRESS_HOST}'"}] - } - }] - }' -``` - -**Parameters to Adjust**: - -- `airun.example.com` - Replace with your DNS zone name -- `codemie.airun.example.com` - Replace with your desired hostname - -:::tip DNS Configuration -These values should match what you configured during infrastructure deployment. Check your `deployment_outputs.env` file for the correct domain name. -::: - -### Verification - -Confirm the DNS record was created: - -```bash -# List DNS records in Route 53 -aws route53 list-resource-record-sets \ - --hosted-zone-id ${HOSTED_ZONE_ID} \ - --query "ResourceRecordSets[?Name=='codemie.airun.example.com.']" - -# Test DNS resolution -nslookup codemie.airun.example.com -``` - - - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability.md deleted file mode 100644 index 4caed1fa..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: observability -sidebar_position: 7 -title: Observability -sidebar_label: Observability -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/accessing-applications ---- - -import ObservabilityOverview from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-overview.mdx'; -import ObservabilityFluentBit from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-fluent-bit.mdx'; -import ObservabilityKibana from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-kibana.mdx'; -import ObservabilityDashboards from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-dashboards.mdx'; -import ObservabilityValidation from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx deleted file mode 100644 index 2da0d254..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: plugin-engine -sidebar_position: 5 -title: Plugin Engine -sidebar_label: Plugin Engine -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components ---- - -import PluginEngineContent from '../../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx'; - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity.md b/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity.md deleted file mode 100644 index 1b94500d..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: security-and-identity -sidebar_position: 4 -title: Security and Identity -sidebar_label: Security and Identity -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine ---- - -import SecurityOverview from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-overview.mdx'; -import SecurityKeycloakOperator from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-operator.mdx'; -import SecurityKeycloakInstall from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-install.mdx'; -import SecurityOauth2Proxy from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-oauth2-proxy.mdx'; -import SecurityValidation from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/aws/kubernetes/components-deployment/scripted-deployment.md b/docs/admin/deployment/aws/kubernetes/components-deployment/scripted-deployment.md deleted file mode 100644 index 5b672e08..00000000 --- a/docs/admin/deployment/aws/kubernetes/components-deployment/scripted-deployment.md +++ /dev/null @@ -1,220 +0,0 @@ ---- -id: components-scripted-deployment -sidebar_position: 1 -title: CodeMie Scripted Deployment -sidebar_label: CodeMie Scripted Deployment -pagination_prev: admin/deployment/aws/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/accessing-applications ---- - -# Scripted CodeMie Components Deployment - -This guide walks you through deploying AI/Run CodeMie application components using the automated `helm-charts.sh` deployment script. The script handles the installation of all components in the correct dependency order using Helm charts. - -:::tip Recommended Approach -Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. -::: - -## Overview - -The deployment script automates the installation of: - -- **Infrastructure services** (Nginx Ingress, Storage Class) -- **Data layer** (Elasticsearch) -- **Security components** (Keycloak, OAuth2 Proxy) -- **Messaging system** (NATS) -- **Core CodeMie services** (API, UI, MCP Connect) -- **Observability stack** (Fluent Bit, Kibana) - -## Prerequisites - -Before starting deployment, ensure you have completed all requirements: - -### Verification Checklist - -- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/index.md) phase -- [ ] **Cluster Access**: kubectl configured for EKS cluster -- [ ] **Container Registry**: Completed [Container Registry Access Setup](./index.md#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs -- [ ] **Deployment Outputs File**: Have `deployment_outputs.env` from infrastructure deployment - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](./index.md#repository-and-access) before proceeding. The script requires the `gcp-artifact-registry` pull secret to exist. -::: - -### Required Tools - -Ensure these tools are available on your deployment machine: - -- `kubectl` - Kubernetes cluster management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `aws` CLI - For AWS operations - -## Quick Start - -### Step 1: Clone Repository - -Clone the Helm charts repository on your deployment machine: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure AWS-Specific Values - -Update AWS-specific values in the CodeMie API configuration. Use values from your `deployment_outputs.env` file: - -```bash -# Source the deployment outputs -source deployment_outputs.env - -# Update CodeMie API values with AWS-specific configuration -sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_DEFAULT_REGION%%/${AWS_DEFAULT_REGION}/g" codemie-api/values-aws.yaml -sed -i "s|%%EKS_AWS_ROLE_ARN%%|${EKS_AWS_ROLE_ARN}|g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_KMS_KEY_ID%%/${AWS_KMS_KEY_ID}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_S3_BUCKET_NAME%%/${AWS_S3_BUCKET_NAME}/g" codemie-api/values-aws.yaml -sed -i "s/%%AWS_S3_REGION%%/${AWS_S3_REGION}/g" codemie-api/values-aws.yaml -``` - -### Step 3: Configure Domain Name - -Update the DNS zone name in the remaining values files: - -```bash -# Use your domain zone name from deployment_outputs.env -CODEMIE_DOMAIN_NAME="airun.example.com" - -# Update all values-aws.yaml files -find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" {} \; -``` - -:::tip Domain Configuration -Your DNS zone name was configured during infrastructure deployment. Find it in `deployment_outputs.env` as `CODEMIE_DOMAIN_NAME`. -::: - -### Step 4: Authenticate to Container Registry - -Authenticate Helm to the Google Container Registry: - -```bash -# 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 5: Get Latest CodeMie Version - -Retrieve the latest AI/Run CodeMie release version: - -```bash -# Check latest version -bash get-codemie-latest-release-version.sh -c key.json - -# Note the version (e.g., 1.2.3) for next step -``` - -### Step 6: Configure Optional Components (If Required) - -**Optional Components:** - -- `litellm` - LiteLLM Proxy for unified LLM API interface, multi-model routing, and cost tracking -- `pgadmin` - PostgreSQL administration interface for database inspection and monitoring - -:::warning LiteLLM Configuration Required -If deploying with the `--optional litellm` flag, configuration must be completed **before** running the deployment script. Follow the [LiteLLM Proxy Installation and Configuration Guide](../../../extensions/litellm-proxy/index.md) to set up values files and credentials. -::: - -Skip this step if not deploying optional components. - -### Step 7: Run Deployment Script - -Execute the deployment script with your chosen mode: - -```bash -# Standard installation with all core components -bash helm-charts.sh --cloud aws --version --mode all - -# Production deployment with LiteLLM proxy for multi-model routing -bash helm-charts.sh --cloud aws --version --mode all --optional litellm - -# Complete installation with database administration capabilities -bash helm-charts.sh --cloud aws --version --mode all --optional litellm,pgadmin - -# Cluster with existing Nginx Ingress (installs only CodeMie components) -bash helm-charts.sh --cloud aws --version --mode recommended - -# Update existing installation to new version (core components only) -bash helm-charts.sh --cloud aws --version --mode update -``` - -:::tip Idempotent Script -The deployment script is idempotent, meaning you can safely re-run it multiple times. If the script fails or is interrupted, simply run it again with the same parameters to continue or retry the deployment. -::: - -## Configuration Reference - -### Script Parameters - -The deployment script accepts the following parameters: - -| Parameter | Description | Required | Values | -| --------------- | ------------------------------------ | -------- | -------------------------------------------------------------------- | -| `-h, --help` | Show help message and usage examples | No | N/A | -| `-c, --cloud` | Target cloud provider | Yes | `aws`, `azure`, `gcp` | -| `-v, --version` | CodeMie component version | Yes | Semantic version (e.g., `2.2.3`) | -| `-m, --mode` | Installation mode | Yes | `all`, `recommended`, `update` | -| `--optional` | Optional components to deploy | No | Comma-separated list: `litellm`, `pgadmin` (e.g., `litellm,pgadmin`) | - -### Deployment Modes - -| Mode | Components Installed | Use Case | -| --------------- | ------------------------------------------------------------ | --------------------------------------------- | -| **all** | All components including Nginx Ingress Controller | Fresh EKS cluster without existing ingress | -| **recommended** | All components except Nginx Ingress Controller | Cluster with existing ingress controller | -| **update** | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating existing installation to new version | - -:::tip Choosing Deployment Mode - -- **First-time installation**: Use `all` or `recommended` depending on whether you need Nginx Ingress -- **Version updates**: Use `update` to upgrade only CodeMie components -- **Fresh EKS cluster**: Use `all` mode - ::: - -### AWS-Specific Configuration Values - -The following AWS-specific values must be configured in `codemie-api/values-aws.yaml` (automated by Step 2 in Quick Start): - -| Placeholder | Description | Example Value | Source File | -| ------------------------ | ----------------------------- | ------------------------------------------------ | ------------------------ | -| `%%DOMAIN%%` | Your DNS Zone name | `airun.example.com` | `deployment_outputs.env` | -| `%%AWS_DEFAULT_REGION%%` | AWS region | `us-west-2` | `deployment_outputs.env` | -| `%%EKS_AWS_ROLE_ARN%%` | IAM role for EKS IRSA | `arn:aws:iam::0123456789012:role/AWSIRSA_AI_RUN` | `deployment_outputs.env` | -| `%%AWS_KMS_KEY_ID%%` | AWS KMS key ID for encryption | `50f3f093-dc86-48de-8f2d-7a76e480348c` | `deployment_outputs.env` | -| `%%AWS_S3_BUCKET_NAME%%` | S3 bucket for user data | `codemie-user-data-0123456789012` | `deployment_outputs.env` | -| `%%AWS_S3_REGION%%` | S3 bucket region | `us-west-2` | `deployment_outputs.env` | - -### Domain Name Configuration - -The following files require domain name configuration (automated by Step 3 in Quick Start): - -| Component | File | Placeholder | Example Value | -| ---------------- | ------------------------------- | --------------------- | ---------------------------- | -| **Kibana** | `kibana/values-aws.yaml` | `kibana.%%DOMAIN%%` | `kibana.airun.example.com` | -| **Keycloak** | `keycloak-helm/values-aws.yaml` | `keycloak.%%DOMAIN%%` | `keycloak.airun.example.com` | -| **OAuth2 Proxy** | `oauth2-proxy/values-aws.yaml` | `*.%%DOMAIN%%` | `*.airun.example.com` | -| **CodeMie UI** | `codemie-ui/values-aws.yaml` | `codemie.%%DOMAIN%%` | `codemie.airun.example.com` | -| **CodeMie API** | `codemie-api/values-aws.yaml` | `*.%%DOMAIN%%` | `*.airun.example.com` | - -## Next Steps - -After successful deployment and validation, proceed to: - -**[Accessing Applications](../accessing-applications.md)** - Learn how to access the deployed AI/Run CodeMie applications and complete the required configuration steps. diff --git a/docs/admin/deployment/aws/kubernetes/images/2613320799.png b/docs/admin/deployment/aws/kubernetes/images/2613320799.png deleted file mode 100644 index 82076ca6fe09998ba8eca26e62c4e5ef9d191a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179045 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

    hStw#8&bllTT$PndeK=z3lPDq370nY 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 N=N+`VdSy(;e*n^nUDE&n diff --git a/docs/admin/deployment/aws/kubernetes/images/2613321923.png b/docs/admin/deployment/aws/kubernetes/images/2613321923.png deleted file mode 100644 index cda316bffdeeeed3b29f847625327ee977d4c3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52489 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%0A^kXU7s~{Pk2B2zw_%zg7Ay=~FmBn3 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 SbIlU?IkaDUU(TLm0sjxB#b4q8 diff --git a/docs/admin/deployment/aws/kubernetes/images/README.md b/docs/admin/deployment/aws/kubernetes/images/README.md deleted file mode 100644 index 15b8301b..00000000 --- a/docs/admin/deployment/aws/kubernetes/images/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Images Directory - -This directory contains all images and diagrams used in the AWS deployment guide documentation. - -## Key Diagrams - -- **architecture-diagram.drawio.png** - Main AWS infrastructure architecture diagram showing EKS, VPC, ALB/NLB, RDS, S3, etc. -- **application-stack-diagram.drawio.png** - Complete application stack showing all AI/Run CodeMie components and their relationships -- **litellm-architecture.png** - LiteLLM Proxy architecture diagram (if available) - -## Usage - -All other images in this directory are screenshots and supporting diagrams used throughout the deployment guide, particularly for: - -- Post-installation configuration steps -- Keycloak setup instructions -- User management workflows -- Extension configurations - -## Image Naming - -- Original numeric filenames (e.g., `2418773898.png`) are preserved from the source -- Key diagrams have been given descriptive aliases for easier reference -- All images are referenced in the corresponding markdown documentation files diff --git a/docs/admin/deployment/aws/kubernetes/images/litellm-architecture.png b/docs/admin/deployment/aws/kubernetes/images/litellm-architecture.png deleted file mode 100644 index 1ca89f9d00e125ddb800baeb4ead3fe85f33201e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140660 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

    J~+7DJ>mk8aw=e>c3qeD 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

    FiVdvv^1HNOYsxJLC_+!BDk7+dD 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 - - -This method uses environment variables with the `TF_VAR_` prefix, which Terraform automatically recognizes. - -Set AWS profile and load variables from deployment.conf: - -```bash -export AWS_PROFILE="your-aws-profile" -``` - -```bash -set -a && source ../deployment.conf && set +a -``` - -Initialize Terraform: - -```bash -terraform init -``` - -Plan the changes: - -```bash -terraform plan -out=tfplan -``` - -Apply the changes: - -```bash -terraform apply tfplan -``` - -Note the outputs for the S3 bucket and its KMS key (you'll need these for Phase 3): - -```bash -export BACKEND_BUCKET=$(terraform output -raw terraform_states_s3_bucket_name) -export BACKEND_KMS_KEY_ARN=$(terraform output -raw terraform_state_kms_key_arn) -echo "Backend bucket: $BACKEND_BUCKET" -echo "Backend KMS key: $BACKEND_KMS_KEY_ARN" -``` - - - - -Create a `terraform.tfvars` file in the `remote-backend` directory: - -```hcl -region = "us-east-1" -role_arn = "arn:aws:iam::123456789012:role/AIRunDeployerRole" # IAM role created in Phase 1 -s3_states_bucket_name = "codemie-terraform-states" - -# Optional: Custom tags -tags = { - "SysName" = "CodeMie" - "Environment" = "Production" - "Project" = "CodeMie" -} -``` - -:::tip Review All Variables -Most variables have sensible defaults. Review `variables.tf` for the complete list of available configuration options. -::: - -Set AWS profile: - -```bash -export AWS_PROFILE="your-aws-profile" -``` - -Initialize and apply Terraform: - -```bash -terraform init -terraform plan -out=tfplan -terraform apply tfplan -``` - -Note the outputs for the S3 bucket and its KMS key (you'll need these for Phase 3): - -```bash -export BACKEND_BUCKET=$(terraform output -raw terraform_states_s3_bucket_name) -export BACKEND_KMS_KEY_ARN=$(terraform output -raw terraform_state_kms_key_arn) -echo "Backend bucket: $BACKEND_BUCKET" -echo "Backend KMS key: $BACKEND_KMS_KEY_ARN" -``` - - - - -The created S3 bucket will be used for all subsequent infrastructure deployments. - -:::warning KMS Key Access -The backend's KMS key policy restricts `Decrypt`/`GenerateDataKey*` to the `role_arn` deployer role. If you run `terraform init`/`plan`/`apply` for Phase 3 as a different AWS identity (e.g. an SSO admin profile), backend state reads/writes will fail with `AccessDenied`. Either run as the deployer role directly, or add an `assume_role` block to your backend config, e.g. in a `backend.hcl` file passed as `-backend-config=backend.hcl`: - -```hcl -assume_role = { - role_arn = "arn:aws:iam::123456789012:role/AIRunDeployerRole" -} -``` - -::: - -## Phase 3: Main AWS Resources Deployment - -This phase creates the following resources (see [Architecture](../architecture.md)): - -- EKS Cluster -- AWS ASGs for the EKS Cluster -- AWS ALB & AWS NLB -- AWS KMS key to encrypt and decrypt sensitive data -- AWS IAM Role to access AWS KMS and Bedrock services -- AWS IAM role ExternalSecretOperator to use AWS Systems Manager -- AWS RDS Postgres -- Optionally: internal AWS ALB and private DNS hosted zone for private network connections - -1. Clone the repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform.git -cd codemie-terraform-aws-platform/platform -``` - -2. Configure and deploy. There are two ways to provide Terraform variables: - - - - -This is the same method used by the `aws-terraform.sh` script. Variables are loaded as environment variables with the `TF_VAR_` prefix, which Terraform automatically recognizes. - -Set AWS profile: - -```bash -export AWS_PROFILE="your-aws-profile" -``` - -Load variables from deployment.conf (`set -a` enables auto-export of all variables): - -```bash -set -a && source ../deployment.conf && set +a -``` - -Initialize Terraform with backend configuration: - -```bash -terraform init \ - -backend-config="bucket=${BACKEND_BUCKET}" \ - -backend-config="key=${TF_VAR_region}/codemie/platform_terraform.tfstate" \ - -backend-config="region=${TF_VAR_region}" \ - -backend-config="acl=bucket-owner-full-control" \ - -backend-config="encrypt=true" \ - -backend-config="kms_key_id=${BACKEND_KMS_KEY_ARN}" \ - -backend-config="use_lockfile=true" -``` - -Run terraform plan: - -```bash -terraform plan -out=tfplan -``` - -Apply the changes: - -```bash -terraform apply tfplan -``` - -Check the outputs: - -```bash -terraform output -``` - - - - -Create a `terraform.tfvars` file with your configuration: - -```hcl -# Required: AWS Configuration -region = "us-east-1" -role_arn = "arn:aws:iam::123456789012:role/AIRunDeployerRole" # IAM role created in Phase 1 -platform_domain_name = "codemie.airun.example.com" - -# Required: Platform Configuration -platform_name = "codemie" -subnet_azs = ["us-east-1a", "us-east-1b", "us-east-1c"] - -# Required: EKS Configuration -cluster_version = "1.35" -demand_instance_types = [{ instance_type = "r5.xlarge" }] -demand_max_nodes_count = 3 -demand_desired_nodes_count = 3 -demand_min_nodes_count = 3 - -# Optional: Network Configuration -platform_cidr = "10.0.0.0/16" -private_cidrs = ["10.0.0.0/22", "10.0.4.0/22", "10.0.8.0/22"] -public_cidrs = ["10.0.12.0/24", "10.0.13.0/24", "10.0.14.0/24"] - -# Optional: IAM Permissions Boundary -eks_admin_role_arn = "" -role_permissions_boundary_arn = "" - -# Optional: Network Access Control -enable_private_connections = true -lb_prefix_list_ids = [] -lb_specific_ips = [] -security_group_ids = [] - -# Optional: Dedicated RDS Instances Configuration -# Set enabled = true to provision a dedicated RDS instance for the service. -# All other fields are optional and fall back to defaults. -keycloak_db_config = { enabled = true } -langfuse_db_config = { enabled = false } -litellm_db_config = { enabled = false } -``` - -:::tip Review All Variables -The configuration file contains many variables. Most have sensible defaults. Review `variables.tf` for the complete list of available configuration options. -::: - -Set AWS profile: - -```bash -export AWS_PROFILE="your-aws-profile" -``` - -Set region for backend configuration (Terraform doesn't read tfvars during init phase): - -```bash -export REGION="us-east-1" -``` - -Initialize Terraform with backend configuration: - -```bash -terraform init \ - -backend-config="bucket=${BACKEND_BUCKET}" \ - -backend-config="key=${REGION}/codemie/platform_terraform.tfstate" \ - -backend-config="region=${REGION}" \ - -backend-config="acl=bucket-owner-full-control" \ - -backend-config="encrypt=true" \ - -backend-config="kms_key_id=${BACKEND_KMS_KEY_ARN}" \ - -backend-config="use_lockfile=true" -``` - -Run terraform plan: - -```bash -terraform plan -out=tfplan -``` - -Apply the changes: - -```bash -terraform apply tfplan -``` - -Check the outputs: - -```bash -terraform output -``` - - - - -:::warning Security Groups -Ensure that you allowed incoming traffic to the Security Group attached to LoadBalancers from: - -- Your VPN or from networks you're planning to work with AI/Run CodeMie -- EKS Cluster NAT Gateway EIP (not required if `enable_private_connections` variable is set to `true`) - ::: - -This concludes AWS infrastructure deployment. - -## Next Steps - -After successful deployment, proceed to [Components Deployment](../components-deployment/index.md) to install AI/Run CodeMie application components. diff --git a/docs/admin/deployment/aws/kubernetes/infrastructure-deployment/scripted-deployment.md b/docs/admin/deployment/aws/kubernetes/infrastructure-deployment/scripted-deployment.md deleted file mode 100644 index b1ed094a..00000000 --- a/docs/admin/deployment/aws/kubernetes/infrastructure-deployment/scripted-deployment.md +++ /dev/null @@ -1,255 +0,0 @@ ---- -id: infrastructure-scripted-deployment -title: Infrastructure Scripted Deployment -sidebar_label: Infrastructure Scripted Deployment -sidebar_position: 1 -pagination_prev: admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/aws/kubernetes/components-deployment/components-deployment-overview ---- - -# Scripted Infrastructure Deployment - -This guide walks you through deploying AWS infrastructure for AI/Run CodeMie using the automated `aws-terraform.sh` deployment script. The script handles all deployment phases automatically: IAM deployer role, Terraform state backend, and core platform infrastructure. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Prerequisites - -Before starting the deployment, ensure you have completed all requirements from the [Prerequisites](../prerequisites.md) page: - -### Verification Checklist - -- [ ] **AWS Access**: Programmatic access with IAM permissions -- [ ] **Tools Installed**: Terraform 1.13.5, AWS CLI, kubectl, Helm, gcloud CLI, Docker -- [ ] **AWS Authentication**: Configured AWS credentials and region -- [ ] **Repository Access**: Have access to Terraform and Helm repositories -- [ ] **Network Planning**: Prepared list of allowed networks -- [ ] **Domain Configuration**: Route 53 hosted zone ready - -:::warning Authentication Required -You must have configured AWS credentials before running the deployment script. Verify with `aws sts get-caller-identity`. -::: - -## Deployment Phases - -The script automatically deploys infrastructure in sequential phases: - -| Phase | Description | Required | -| ------------------------------------ | ---------------------------------------------------------------- | ------------------------------------- | -| **Phase 1: IAM Deployer Role** | Creates IAM role with required permissions for deployment | Can be skipped if role already exists | -| **Phase 2: State Backend** | Creates S3 bucket with native locking for Terraform state files | Yes | -| **Phase 3: Platform Infrastructure** | Deploys EKS, networking, storage, databases, security components | Yes | - -## Phase 1: Deploy IAM Deployer Role - -The IAM deployer role is created first to provide necessary permissions for all subsequent infrastructure operations. This phase can be skipped if the role already exists. - -### Step 1: Clone IAM Repository - -Clone the IAM Terraform repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam.git -cd codemie-terraform-aws-iam -``` - -### Step 2: Configure IAM Deployment - -Review input variables in `variables.tf` and create a `terraform.tfvars` file with your AWS-specific configuration: - -```hcl -# Required: AWS Configuration -region = "us-east-1" -platform_name = "codemie" -deployer_role_name = "AIRunDeployerRole" - -# Optional: IAM Permissions Boundary -iam_permissions_boundary_policy_arn = "" - -# Optional: Custom tags -tags = { - "SysName" = "AI/Run" - "Environment" = "Production" - "Project" = "AI/Run" -} -``` - -### Step 3: Deploy IAM Role - -Initialize and apply Terraform to create the IAM deployer role: - -```bash -terraform init -terraform plan -terraform apply -``` - -:::info -The created IAM role contains all required permissions to manage AWS resources for AI/Run CodeMie deployment. This role will be used for all subsequent platform infrastructure deployments and updates. -::: - -## Phase 2 & 3: Deploy Platform Infrastructure - -This phase deploys both the Terraform state backend (Phase 2) and core platform infrastructure (Phase 3) using the automated deployment script. - -### Step 1: Clone Platform Repository - -Clone the platform Terraform repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform.git -cd codemie-terraform-aws-platform -``` - -### Step 2: Configure Platform Deployment - -Edit the `deployment.conf` file to provide your AWS-specific configuration: - -```bash -# Required: AWS Account Information -AWS_PROFILE="My_Profile" - -# Required: Basic Configuration -TF_VAR_region="us-east-1" # AWS region for deployment -TF_VAR_role_arn="arn:aws:iam::123456789012:role/AIRunDeployerRole" # IAM role created in Phase 1 -TF_VAR_platform_domain_name="airun.example.com" # DNS zone name for the platform - -# Required: EKS Configuration -TF_VAR_cluster_version="1.35" -TF_VAR_demand_instance_types='[{ instance_type = "r5.xlarge" }]' -TF_VAR_demand_max_nodes_count=3 -TF_VAR_demand_desired_nodes_count=3 -TF_VAR_demand_min_nodes_count=3 - -# Required: Platform Configuration -TF_VAR_platform_name="codemie" -TF_VAR_subnet_azs='["us-east-1a", "us-east-1b", "us-east-1c"]' -TF_VAR_s3_states_bucket_name="codemie-terraform-states" - -# Optional: IAM Permissions Boundary -TF_VAR_eks_admin_role_arn="" -TF_VAR_role_permissions_boundary_arn="" - -# Optional: Network Access Control -TF_VAR_enable_private_connections=true -TF_VAR_lb_prefix_list_ids='[]' -TF_VAR_lb_specific_ips='[]' -TF_VAR_security_group_ids='[]' - -# Optional: Dedicated RDS Instances Configuration -# Set enabled=true to provision a dedicated RDS instance for the service. -# Omitted fields fall back to defaults (instance_class, db_name, username, etc.). -TF_VAR_keycloak_db_config='{"enabled":true}' -TF_VAR_langfuse_db_config='{"enabled":false}' -TF_VAR_litellm_db_config='{"enabled":false}' -... -``` - -:::info Complete Variable List -For all available configuration options, refer to the `variables.tf` file in the platform repository. -::: - -### Step 3: Run Deployment Script - -Execute the automated deployment script: - -```bash -bash ./aws-terraform.sh -``` - -The script will automatically execute the following operations: - -1. **Validate Environment**: Check for required tools and AWS authentication -2. **Verify Configuration**: Validate `deployment.conf` parameters -3. **Deploy State Backend**: Create S3 bucket with native locking for Terraform state files -4. **Deploy Platform Infrastructure**: Provision core platform infrastructure (EKS, networking, storage, databases) -5. **Generate Outputs**: Create `deployment_outputs.env` with infrastructure details required during next phases - -## Deployment Outputs - -Upon successful deployment, the script generates a `deployment_outputs.env` file containing essential infrastructure details needed for the next deployment phase: - -```bash -# Platform Infrastructure Outputs -AWS_DEFAULT_REGION=us-east-1 -EKS_AWS_ROLE_ARN=arn:aws:iam::123456789012:role/codemie-eks-role -AWS_KMS_KEY_ID=12345678-90ab-cdef-1234-567890abcdef -AWS_S3_BUCKET_NAME=codemie-platform-bucket -CODEMIE_DOMAIN_NAME=airun.example.com - -# RDS Database Outputs -CODEMIE_POSTGRES_DATABASE_HOST=codemie-rds.123456789012.us-east-1.rds.amazonaws.com -CODEMIE_POSTGRES_DATABASE_PORT=5432 -CODEMIE_POSTGRES_DATABASE_NAME=codemie -CODEMIE_POSTGRES_DATABASE_USER=dbadmin -CODEMIE_POSTGRES_DATABASE_PASSWORD="generated-password" - -# Keycloak Database Outputs (present when keycloak_db_config.enabled=true) -KEYCLOAK_POSTGRES_DATABASE_HOST=codemie-keycloak-rds.123456789012.us-east-1.rds.amazonaws.com -KEYCLOAK_POSTGRES_DATABASE_PORT=5432 -KEYCLOAK_POSTGRES_DATABASE_NAME=keycloak -KEYCLOAK_POSTGRES_DATABASE_USER=keycloak_admin -KEYCLOAK_POSTGRES_DATABASE_PASSWORD="generated-password" - -# LiteLLM Database Outputs (present when litellm_db_config.enabled=true) -LITELLM_POSTGRES_DATABASE_HOST=codemie-litellm-rds.123456789012.us-east-1.rds.amazonaws.com -LITELLM_POSTGRES_DATABASE_PORT=5432 -LITELLM_POSTGRES_DATABASE_NAME=litellm -LITELLM_POSTGRES_DATABASE_USER=litellm_admin -LITELLM_POSTGRES_DATABASE_PASSWORD="generated-password" - -# Langfuse Database Outputs (present when langfuse_db_config.enabled=true) -LANGFUSE_POSTGRES_DATABASE_HOST=codemie-langfuse-rds.123456789012.us-east-1.rds.amazonaws.com -LANGFUSE_POSTGRES_DATABASE_PORT=5432 -LANGFUSE_POSTGRES_DATABASE_NAME=langfuse -LANGFUSE_POSTGRES_DATABASE_USER=langfuse_admin -LANGFUSE_POSTGRES_DATABASE_PASSWORD="generated-password" -``` - -:::tip Save These Outputs -The `deployment_outputs.env` file contains sensitive information. Store it securely, do not commit to version control system and reference it during the Components Deployment phase. -::: - -:::warning Security Groups -Ensure that you allowed incoming traffic to the Security Group attached to LoadBalancers from: - -- Your VPN or from networks you're planning to work with AI/Run CodeMie -- EKS Cluster NAT Gateway EIP (not required if `enable_private_connections` variable is set to `true`) - ::: - -This concludes AWS infrastructure deployment. - -## Post-Deployment Validation - -After deployment completes, verify that all infrastructure was created successfully: - -### Step 1: Verify AWS Resources - -Check that all expected resources were created in the AWS Console or via CLI: - -```bash -# List all resources in the region -aws resourcegroupstaggingapi get-resources --region - -# Verify EKS cluster status -aws eks describe-cluster --name --region --query "cluster.status" - -# Verify RDS instance status -aws rds describe-db-instances --db-instance-identifier --region -``` - -### Step 2: Check Deployment Logs - -Review the deployment logs in the `logs/` directory for any warnings or errors: - -```bash -less logs/codemie_aws_deployment_YYYY-MM-DD-HHMMSS.log -``` - -## Next Steps - -After successful infrastructure deployment and validation, proceed to: - -**[Components Deployment](../components-deployment/index.md)** - Deploy AI/Run CodeMie application components to your EKS cluster diff --git a/docs/admin/deployment/aws/kubernetes/overview.md b/docs/admin/deployment/aws/kubernetes/overview.md deleted file mode 100644 index a1b796df..00000000 --- a/docs/admin/deployment/aws/kubernetes/overview.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: overview -title: AI/Run Deployment Guide on AWS -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/aws/kubernetes/prerequisites ---- - -import OverviewContent from '../../common/deployment/overview/\_overview-content.mdx'; - - diff --git a/docs/admin/deployment/aws/kubernetes/prerequisites.md b/docs/admin/deployment/aws/kubernetes/prerequisites.md deleted file mode 100644 index a6eb20f7..00000000 --- a/docs/admin/deployment/aws/kubernetes/prerequisites.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/aws/kubernetes/overview -pagination_next: admin/deployment/aws/kubernetes/architecture ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import NetworkRequirements from '../../common/deployment/prerequisites/\_network-requirements.mdx'; -import ClusterRequirements from '../../common/deployment/prerequisites/\_cluster-requirements.mdx'; -import DeploymentMachineTools from '../../common/deployment/prerequisites/\_deployment-machine-tools.mdx'; -import NextSteps from '../../common/deployment/prerequisites/\_next-steps.mdx'; - -# Prerequisites - -This page outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie on Amazon Web Services. Please ensure all requirements are met before proceeding with the installation. - -## AWS Account Requirements - -### Required Access and Permissions - -To deploy AI/Run CodeMie on AWS, you need: - -- **Active AWS Account** with preferred region for deployment -- **Programmatic Access** with credentials that have permissions to create and manage IAM Roles and Policy Documents -- **Sufficient Quota** for the required resources (EKS, RDS, networking, storage, etc.) - :::info Complete Resource List - For a detailed list of all AWS resources that will be provisioned, refer to the [Infrastructure Deployment](./infrastructure-deployment/index.md) section or review the Terraform modules in the deployment repository. - ::: - -## Network Requirements - -### DNS and Certificate Requirements - -AI/Run CodeMie requires proper DNS and TLS certificate configuration: - -- **Route 53 Hosted Zone** with available wildcard DNS configuration -- **Automatic Certificate Management** - AI/Run CodeMie Terraform modules will automatically create: - - DNS Records in Route 53 - - TLS certificates through AWS Certificate Manager for ALB and NLB - -:::tip Automatic Setup -DNS and certificate provisioning is fully automated through Terraform when using AI/Run CodeMie-managed infrastructure. You only need to provide the hosted zone. However, if you're using self-provisioned infrastructure, you will need to handle DNS records and certificates for it. -::: - - - - - - - -**Cloud-Specific Tools:** - -| Tool | Version | Purpose | -| ---------------------------------------------------------------------------------------- | ------- | ----------------------- | -| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | - -### Required Repository Access - -You will need access to the following repositories to complete the deployment: - -- **Terraform IAM Module:** [codemie-terraform-aws-iam](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam) -- **Terraform Platform Module:** [codemie-terraform-aws-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform) -- **Terraform Remote Backend:** [codemie-terraform-aws-remote-backend](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-remote-backend) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - -:::info Air-Gapped Environments -If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. -::: - - diff --git a/docs/admin/deployment/aws/on-vm/architecture.mdx b/docs/admin/deployment/aws/on-vm/architecture.mdx deleted file mode 100644 index c3ff9d39..00000000 --- a/docs/admin/deployment/aws/on-vm/architecture.mdx +++ /dev/null @@ -1,116 +0,0 @@ ---- -id: architecture -title: On VM Deployment Architecture -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/aws/on-vm/prerequisites -pagination_next: admin/deployment/aws/on-vm/deployment/deployment ---- - -# On VM Deployment Architecture - -This page describes the infrastructure and application architecture of CodeMie On VM. - -## Infrastructure Overview - -CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraform provisions the following resources depending on the network mode: - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - - - Direct access to the EC2 instance via Elastic IP: - - ![IP Mode Diagram](./images/ip-mode-diagram.drawio.png) - - - - When `TF_VAR_platform_domain_name` is configured, an ALB with trusted TLS certificate is created: - - ![Domain Mode Diagram](./images/domain-mode-diagram.drawio.png) - - - - When `TF_VAR_private_ip_only=true`, EC2 is placed in a private subnet with NAT Gateway for outbound traffic. Access is via VPN, AWS Workspaces, or some other available VM: - - ![Private Mode Diagram](./images/private-mode-diagram.drawio.png) - - - - -### AWS Resources - -| Resource | Purpose | -| ------------------------ | --------------------------------------------------------------------- | -| **VPC** | Isolated network with public subnets (+ private if `private_ip_only`) | -| **EC2 Instance** | Single instance running Docker Compose (Ubuntu, r5.xlarge default) | -| **Elastic IP** | Static public IP for the EC2 instance | -| **S3 Bucket** | Persistent storage for user data (repos, files) | -| **KMS Key** | Encryption key for S3 data at rest | -| **ALB** | Application Load Balancer with TLS (if domain configured) | -| **ACM Certificate** | Trusted TLS certificate for the domain (if domain configured) | -| **Route 53 Record** | DNS A record pointing to ALB (if domain configured) | -| **SSM Parameter** | Stores EC2 SSH private key securely | -| **Security Groups** | Controls inbound traffic to ALB and EC2 | -| **IAM Instance Profile** | Grants EC2 access to Bedrock, S3, KMS, SSM | - -### Network Modes - -| Mode | Configuration | Access | -| ----------------------- | ------------------------------------------- | --------------------------------- | -| **Public IP** (default) | `TF_VAR_private_ip_only=false` | EC2 gets EIP, direct HTTPS access | -| **Domain + ALB** | `TF_VAR_platform_domain_name="example.com"` | ALB with ACM cert, Route 53 DNS | -| **Private IP** | `TF_VAR_private_ip_only=true` | No public IP, access via VPN only | - -## Application Architecture - -All CodeMie services run as Docker containers on the EC2 instance, orchestrated by Docker Compose. - -![Docker Compose Services](../../common/deployment/images/docker-compose-diagram.drawio.png) - -### Services by Profile - -**Shared services** (both profiles): - -| Service | Image | Purpose | -| ------------- | --------------------------- | ------------------------------------------------- | -| postgres | pgvector/pgvector:pg17 | Primary database for application data | -| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | -| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | -| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | -| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | - -**OSS profile:** - -| Service | Purpose | -| -------------- | --------------------------------------------- | -| codemie-oss | API server with built-in local authentication | -| codemie-ui-oss | Web frontend | - -**Enterprise profile:** - -| Service | Purpose | -| ----------------- | ---------------------------------------------- | -| codemie | API server | -| codemie-ui | Web frontend | -| keycloak | Identity provider (SSO, OIDC) | -| oauth2-proxy | Authentication proxy in front of nginx | -| litellm | LLM proxy for model routing and key management | -| nats | Messaging for plugin engine | -| nats-auth-callout | NATS authentication service | -| mermaid-server | Diagram rendering | - -## Resource Requirements - -### Minimum EC2 Instance - -| Resource | Minimum | Recommended | -| -------- | ------- | ------------- | -| vCPU | 4 | 4 (r5.xlarge) | -| RAM | 16 GB | 32 GB | -| Disk | 50 GB | 100 GB (gp3) | - -## Next Steps - -- [Deployment](../deployment/) — Deploy CodeMie On VM with Terraform diff --git a/docs/admin/deployment/aws/on-vm/deployment/byo.md b/docs/admin/deployment/aws/on-vm/deployment/byo.md deleted file mode 100644 index 95d32d2b..00000000 --- a/docs/admin/deployment/aws/on-vm/deployment/byo.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: byo -title: BYO EC2 Deployment -sidebar_label: BYO EC2 -sidebar_position: 7 -pagination_prev: admin/deployment/aws/on-vm/deployment/manual-deployment -pagination_next: null ---- - -# BYO EC2 Deployment - -Deploy CodeMie on an **existing EC2 instance** that is not managed by this project's Terraform. This mode skips all infrastructure provisioning and directly provisions the application stack. - -## When to Use - -- You already have an EC2 instance (provisioned manually, via CloudFormation, or another Terraform stack) -- You want to avoid creating additional VPC/ALB/S3 resources via Terraform -- Your organization manages infrastructure separately from application deployment - -## EC2 Requirements - -Your existing EC2 instance must meet these requirements: - -| Requirement | Details | -| --------------------- | -------------------------------------------------------------- | -| **OS** | Ubuntu 24.04 | -| **Instance type** | Minimum t3.xlarge (4 vCPU, 16 GB RAM); recommended r5.xlarge | -| **Disk** | Minimum 50 GB; recommended 100 GB | -| **Internet access** | Outbound HTTPS for pulling Docker images and accessing Bedrock | -| **IAM Instance Role** | Permissions for S3, KMS (optional), and Bedrock | - -### Required IAM Permissions on EC2 - -The instance role must include: - -```json -{ - "Effect": "Allow", - "Action": [ - "bedrock:InvokeModel", - "bedrock:InvokeModelWithResponseStream", - "s3:GetObject", - "s3:PutObject", - "s3:DeleteObject", - "s3:ListBucket" - ], - "Resource": "*" -} -``` - -If using KMS encryption, add: - -```json -{ - "Effect": "Allow", - "Action": ["kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"], - "Resource": "arn:aws:kms:::key/" -} -``` - -## Configuration - -Edit `deployment.conf` with BYO-specific variables: - -```bash -# ── Shared (required for both modes) ──────────────────────────────── -TF_VAR_region="eu-north-1" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# ── BYO EC2 ────────────────────────────────────────────────────────── -BYO_EC2_HOST="1.2.3.4" # Public IP, private IP, or hostname -BYO_EC2_USER="ubuntu" # SSH user -BYO_EC2_SSH_KEY="/path/to/key.pem" # Absolute path to SSH private key -BYO_EC2_SSH_MODE="direct" # direct | ssm -BYO_EC2_INSTANCE_ID="" # Required only for ssm mode -BYO_AWS_S3_BUCKET_NAME="my-bucket" # S3 bucket (must already exist) -BYO_AWS_KMS_KEY_ID="" # KMS key ID (empty = plain encryption) -BYO_PLATFORM_DOMAIN_NAME="" # Optional: overrides CODEMIE_HOST URL -``` - -### BYO_EC2_HOST - -This variable serves two purposes depending on the SSH mode: - -| SSH Mode | Purpose of `BYO_EC2_HOST` | -| ---------- | ------------------------------------------------------------- | -| **direct** | SSH target address AND application URL (`CODEMIE_HOST`) | -| **ssm** | Application URL only (SSH connects via `BYO_EC2_INSTANCE_ID`) | - -Set it based on how users will access the application: - -| Scenario | `BYO_EC2_HOST` value | Result | -| --------------------------- | ------------------------------- | -------------------------------------- | -| EC2 has a public IP | Public IP (e.g. `1.2.3.4`) | `CODEMIE_HOST=https://1.2.3.4` | -| EC2 in private subnet (VPN) | Private IP (e.g. `10.0.10.104`) | `CODEMIE_HOST=https://10.0.10.104` | -| ALB with domain in front | Any IP (overridden) | Set `BYO_PLATFORM_DOMAIN_NAME` instead | - -### SSH Modes - -| Mode | When to Use | Requirements | -| ---------- | ------------------------------------------------------------- | ---------------------------------------------------------------------- | -| **direct** | EC2 has a reachable IP/hostname and port 22 is open | SSH private key, network access to port 22 | -| **ssm** | EC2 is in a private subnet, or you prefer not to open port 22 | SSM Agent installed on EC2, valid AWS credentials locally, instance ID | - -### Encryption - -| `BYO_AWS_KMS_KEY_ID` | Behavior | -| --------------------------- | ------------------------------------------------------- | -| Empty | `ENCRYPTION_TYPE=plain` — data stored unencrypted in S3 | -| Set (e.g. `12345-abcde...`) | `ENCRYPTION_TYPE=aws` — S3 data encrypted with KMS | - -### CODEMIE_HOST Resolution - -| Configuration | Result | -| ------------------------------------------------ | ------------------------------------------ | -| `BYO_PLATFORM_DOMAIN_NAME` empty | `CODEMIE_HOST=https://` | -| `BYO_PLATFORM_DOMAIN_NAME="codemie.example.com"` | `CODEMIE_HOST=https://codemie.example.com` | - -:::tip Using with ALB -If you have your own ALB with ACM certificate in front of the EC2: - -1. Set `BYO_PLATFORM_DOMAIN_NAME` to your domain -2. Point the ALB target group to EC2 port 443 -3. The self-signed certificate on nginx works fine as an ALB backend (ALB does not validate backend certs) - ::: - -## Deployment - -### Step 1: Place the GCP registry key - -This is a GCP service account credentials file used to pull CodeMie container images from Google Artifact Registry. - -:::info -For open-source deployments with self-built images, this key is optional. -::: - -```bash -cp /path/to/key.json ./key.json -``` - -### Step 2: Run BYO deployment - -```bash -./deploy.sh --byo -``` - -The script executes: - -| Phase | Description | -| ------------------------- | ---------------------------------------------------- | -| Loading config | Validates BYO-specific variables | -| Checking prerequisites | Verifies tools (no Terraform needed for direct mode) | -| Verifying AWS credentials | Only if SSM mode | -| Setting up BYO variables | Maps config to internal variables | -| Generating .env | Creates secrets, renders environment file | -| Setting up SSH | Configures SSH transport (direct or SSM) | -| Provisioning EC2 | Installs Docker, syncs files, starts services | -| Writing outputs | Saves deployment info to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -### Step 3: Verify - -```bash -curl -k https:///v1/healthcheck -``` - -## Re-deploying - -Run `./deploy.sh --byo` again. Secrets from `deployment_outputs.env` are preserved automatically. - -## Troubleshooting - -### SSH connection refused - -- **Direct mode**: Verify port 22 is open in the EC2 security group and the SSH key is correct -- **SSM mode**: Verify SSM Agent is running (`systemctl status amazon-ssm-agent`) and your AWS credentials are valid - -### Docker login fails - -The `key.json` must be a valid GCP service account with access to `europe-west3-docker.pkg.dev`. Verify locally: - -```bash -cat key.json | docker login -u _json_key --password-stdin https://europe-west3-docker.pkg.dev -``` - -### Containers unhealthy - -SSH into the instance and check logs: - -```bash -cd /opt/codemie/compose -docker compose --profile enterprise logs --tail=50 -docker compose --profile enterprise ps -``` diff --git a/docs/admin/deployment/aws/on-vm/deployment/index.md b/docs/admin/deployment/aws/on-vm/deployment/index.md deleted file mode 100644 index b7bbfacc..00000000 --- a/docs/admin/deployment/aws/on-vm/deployment/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: deployment -title: Deployment -sidebar_label: Deployment -sidebar_position: 4 -pagination_prev: admin/deployment/aws/on-vm/architecture -pagination_next: admin/deployment/aws/on-vm/deployment/scripted-deployment ---- - -# Deployment - -This section covers deploying CodeMie On VM infrastructure and application stack. - -## Deployment Methods - -| Method | Description | When to Use | -| ------------------------------------------------ | ------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [**Scripted Deployment**](./scripted-deployment) | Fully automated — single `./deploy.sh` handles IAM, Terraform, and provisioning | Recommended for most users | -| [**Manual Deployment**](./manual-deployment) | Step-by-step Terraform commands, then BYO mode for application provisioning | When you need full control or are integrating with existing workflows | - -:::tip Recommendation -Use **Scripted Deployment** unless you have specific requirements for manual Terraform control. The script handles prerequisite checks, configuration validation, and proper phase sequencing automatically. -::: - -## Deployment Phases - -Both methods execute the same logical phases: - -| Phase | Description | -| ---------------------------- | ------------------------------------------------------------------------ | -| **IAM Deployer Role** | Creates IAM role with permissions for EC2, VPC, S3, KMS, ALB (one-time) | -| **Terraform State Backend** | Creates S3 bucket for Terraform state (one-time) | -| **Platform Infrastructure** | Provisions VPC, EC2, S3, KMS, ALB, Security Groups | -| **Application Provisioning** | Installs Docker, syncs compose files, generates secrets, starts services | - -## Next Steps - -- [Scripted Deployment](./scripted-deployment) — Automated deployment with `./deploy.sh` -- [Manual Deployment](./manual-deployment) — Manual Terraform + BYO application provisioning diff --git a/docs/admin/deployment/aws/on-vm/deployment/manual-deployment.md b/docs/admin/deployment/aws/on-vm/deployment/manual-deployment.md deleted file mode 100644 index 6e31ccb6..00000000 --- a/docs/admin/deployment/aws/on-vm/deployment/manual-deployment.md +++ /dev/null @@ -1,307 +0,0 @@ ---- -id: manual-deployment -title: Manual Deployment -sidebar_label: Manual Deployment -sidebar_position: 6 -pagination_prev: admin/deployment/aws/on-vm/deployment/scripted-deployment -pagination_next: admin/deployment/aws/on-vm/deployment/byo ---- - -# Manual Deployment - -This guide provides step-by-step instructions for manually deploying CodeMie On VM infrastructure using Terraform, followed by application provisioning via the BYO mode (`./deploy.sh --byo`). - -:::info When to Use Manual Deployment -Manual deployment is suitable when you need fine-grained control over each Terraform phase, want to customize infrastructure configurations, or are integrating with existing infrastructure management workflows. -::: - -## Prerequisites - -Ensure you have completed all requirements from the [Prerequisites](../../prerequisites) page: - -- [ ] **AWS Access**: Programmatic access with IAM permissions -- [ ] **Tools Installed**: Terraform 1.15.x, AWS CLI, jq, openssl, envsubst, session-manager-plugin -- [ ] **AWS Authentication**: Configured AWS credentials -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry**: `key.json` file available - -## Deployment Phases - -| Phase | Description | Directory | -| ------------------------------------ | ------------------------------------------ | -------------------------------------- | -| **Phase 1: IAM Deployer Role** | Creates IAM role with required permissions | `terraform/aws/codemie-on-vm-aws-iam/` | -| **Phase 2: State Backend** | Creates S3 bucket for Terraform state | `terraform/aws/remote-backend/` | -| **Phase 3: Platform Infrastructure** | Provisions VPC, EC2, S3, KMS, ALB | `terraform/aws/platform/` | -| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | - ---- - -## Phase 1: IAM Deployer Role - -:::info One-Time Setup -This phase only needs to run once per AWS account. -::: - -1. Navigate to the IAM module: - -```bash -cd terraform/aws/codemie-on-vm-aws-iam/ -``` - -2. Create a `terraform.tfvars` file: - -```hcl -region = "eu-north-1" -platform_name = "codemie" -deployer_role_name = "CodemieOnVmDeployerRole" - -# Optional: IAM Permissions Boundary -iam_permissions_boundary_policy_arn = "" - -# Optional: Custom tags -tags = { - "SysName" = "CodeMie" - "Environment" = "Development" - "Project" = "codemie-on-vm" -} -``` - -3. Initialize and apply: - -```bash -terraform init -terraform plan -out=tfplan -terraform apply tfplan -``` - -4. Note the deployer role ARN: - -```bash -terraform output deployer_iam_role_arn -# Example: arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole -``` - ---- - -## Phase 2: Terraform State Backend - -1. Navigate to the remote backend directory: - -```bash -cd terraform/aws/remote-backend/ -``` - -2. Initialize Terraform: - -```bash -terraform init -``` - -3. Plan and apply with variables: - -```bash -terraform plan -out=tfplan \ - -var="region=eu-north-1" \ - -var="role_arn=arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" \ - -var="bucket_name=codemie-terraform-states" - -terraform apply tfplan -``` - -The S3 bucket is now ready for storing platform state. - ---- - -## Phase 3: Platform Infrastructure - -1. Navigate to the platform directory: - -```bash -cd terraform/aws/platform/ -``` - -2. Create `backend.tfvars`: - -```hcl -bucket = "codemie-terraform-states" -key = "codemie/terraform.tfstate" -region = "eu-north-1" -use_lockfile = true -``` - -3. Initialize Terraform with backend configuration: - -```bash -terraform init -backend-config=backend.tfvars -``` - -4. Create `terraform.tfvars` with platform configuration: - -```hcl -region = "eu-north-1" -role_arn = "arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" -platform_name = "codemie" -instance_type = "r5.xlarge" -volume_size = 100 - -# Network: set to true for private-only deployment (requires VPN) -private_ip_only = false - -# Domain (optional): enables ALB + ACM certificate + Route 53 record -# Leave empty for IP-only access with self-signed certificate -platform_domain_name = "" - -# Access control: prefix list IDs allowed to reach ALB/EC2 -access_prefix_list_ids = [] -``` - -5. Plan and apply: - -```bash -terraform plan -out=tfplan -terraform apply tfplan -``` - -6. Note the outputs — you will need them for Phase 4: - -```bash -terraform output ec2_instance_id -terraform output ec2_public_ip # Empty if private_ip_only=true -terraform output ec2_private_ip -terraform output s3_bucket_name -terraform output kms_key_id -terraform output ssm_ec2_private_key -``` - -7. Fetch the SSH key from SSM: - -```bash -aws ssm get-parameter \ - --name "$(terraform output -raw ssm_ec2_private_key)" \ - --region eu-north-1 \ - --with-decryption \ - --query "Parameter.Value" \ - --output text > codemie-key.pem - -chmod 600 codemie-key.pem -``` - ---- - -## Phase 4: Application Provisioning (BYO Mode) - -Now that infrastructure is provisioned manually, use the BYO mode to deploy the application stack. The BYO mode skips Terraform and connects directly to the EC2 instance. - -1. Navigate to the project root: - -2. Place the GCP registry key: - -```bash -cp /path/to/key.json ./key.json -``` - -3. Configure `deployment.conf` with BYO settings. - -**`BYO_EC2_HOST`** determines the application URL (`CODEMIE_HOST`). Set it based on your network mode: - -| Network Mode | `BYO_EC2_HOST` value | Access | -| ------------ | ------------------------------------------------- | ------------------- | -| Public IP | `ec2_public_ip` from outputs | Direct HTTPS to EIP | -| Private IP | `ec2_private_ip` from outputs | HTTPS via VPN only | -| Domain + ALB | Any IP (overridden by `BYO_PLATFORM_DOMAIN_NAME`) | HTTPS via ALB | - -**`BYO_EC2_SSH_MODE`** determines how the script connects to the instance: - -| SSH Mode | When to use | `BYO_EC2_HOST` used for SSH? | -| -------- | -------------------------------------------------- | ----------------------------- | -| `ssm` | Instance created by this Terraform (has SSM agent) | No — connects via instance ID | -| `direct` | Instance with port 22 reachable from your machine | Yes — SSH target | - -**Example: Public IP mode** - -```bash -# ── Shared ─────────────────────────────────────────────────────────── -TF_VAR_region="eu-north-1" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" - -# ── BYO EC2 ────────────────────────────────────────────────────────── -BYO_EC2_HOST="*.*.*.*" # ec2_public_ip -BYO_EC2_USER="ubuntu" -BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" -BYO_EC2_SSH_MODE="ssm" -BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" -BYO_AWS_S3_BUCKET_NAME="codemie-user-data" -BYO_AWS_KMS_KEY_ID="" -BYO_PLATFORM_DOMAIN_NAME="" -``` - -**Example: Private IP mode** (`private_ip_only=true`) - -```bash -BYO_EC2_HOST="10.0.10.104" # ec2_private_ip (accessible via VPN) -BYO_EC2_USER="ubuntu" -BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" -BYO_EC2_SSH_MODE="ssm" -BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" -BYO_AWS_S3_BUCKET_NAME="codemie-user-data" -BYO_AWS_KMS_KEY_ID="" -BYO_PLATFORM_DOMAIN_NAME="" -``` - -**Example: Domain mode** (ALB + ACM configured in Phase 3) - -```bash -BYO_EC2_HOST="10.0.10.104" # Any reachable IP (not used for URL) -BYO_EC2_USER="ubuntu" -BYO_EC2_SSH_KEY="./terraform/platform/codemie-key.pem" -BYO_EC2_SSH_MODE="ssm" -BYO_EC2_INSTANCE_ID="i-xxxxxxxxxxxxxxxxx" -BYO_AWS_S3_BUCKET_NAME="codemie-user-data" -BYO_AWS_KMS_KEY_ID="" -BYO_PLATFORM_DOMAIN_NAME="example.com" -``` - -4. Run the BYO deployment: - -```bash -./deploy.sh --byo -``` - -5. Verify the deployment: - -```bash -curl -k https:///v1/healthcheck -``` - -## Post-Deployment - -### SSH Access - -```bash -ssh -i codemie-key.pem \ - -o "ProxyCommand=aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p" \ - ubuntu@ -``` - -### Re-deploying - -To update the application (e.g., new version): - -1. Edit `deployment.conf` (change `CODEMIE_VERSION`) -2. Run `./deploy.sh --byo` again - -Secrets from `deployment_outputs.env` are preserved automatically. - -### Modifying Infrastructure - -To change infrastructure (e.g., instance type, add domain): - -1. Update `terraform.tfvars` in `terraform/platform/` -2. Run `terraform plan -out=tfplan && terraform apply tfplan` -3. Update `deployment.conf` with new outputs if needed -4. Run `./deploy.sh --byo` to re-provision the application - -## Next Steps - -- [BYO EC2](../byo) — Deploy on a completely external EC2 instance (not managed by this Terraform) diff --git a/docs/admin/deployment/aws/on-vm/deployment/scripted-deployment.md b/docs/admin/deployment/aws/on-vm/deployment/scripted-deployment.md deleted file mode 100644 index 444c2e6d..00000000 --- a/docs/admin/deployment/aws/on-vm/deployment/scripted-deployment.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -id: scripted-deployment -title: Scripted Deployment -sidebar_label: Scripted Deployment -sidebar_position: 5 -pagination_prev: admin/deployment/aws/on-vm/deployment/deployment -pagination_next: admin/deployment/aws/on-vm/deployment/manual-deployment ---- - -# Scripted Deployment - -This guide walks through deploying CodeMie On VM using the automated `deploy.sh` script. The script handles all phases automatically: IAM role creation, Terraform state backend, infrastructure provisioning, and application deployment. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Phase 1: IAM Deployer Role - -The IAM deployer role provides scoped permissions for Terraform to create and manage AWS resources. - -:::info One-Time Setup -Phase 1 only needs to run once per AWS account. If the role already exists, skip to Phase 2. -::: - -### Step 1: Navigate to the IAM module - -```bash -cd terraform/aws/codemie-on-vm-aws-iam/ -``` - -### Step 2: Configure variables - -Create a `terraform.tfvars` file: - -```hcl -region = "eu-north-1" -platform_name = "codemie" -deployer_role_name = "CodemieOnVmDeployerRole" - -# Optional: IAM permissions boundary (leave empty if not required) -iam_permissions_boundary_policy_arn = "" - -# Optional: custom tags -tags = { - "SysName" = "CodeMie" - "Environment" = "Development" - "Project" = "codemie-on-vm" -} -``` - -### Step 3: Deploy the role - -```bash -terraform init -terraform plan -terraform apply -``` - -### Step 4: Note the output - -```bash -terraform output deployer_iam_role_arn -# Example: arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole -``` - -Save this ARN — you will use it as `TF_VAR_role_arn` in the next phase. - ---- - -## Phase 2: Platform Deployment - -### Step 1: Navigate to the repo root - -### Step 2: Place the GCP registry key - -Copy your `key.json` file to the repository root: - -```bash -cp /path/to/key.json ./key.json -``` - -### Step 3: Create deployment configuration - -```bash -cp deployment.conf.example deployment.conf -``` - -Edit `deployment.conf`: - -```bash -# ── AWS ────────────────────────────────────────────────────────────── -AWS_PROFILE="" # AWS CLI profile (optional) -TF_VAR_region="eu-north-1" -TF_VAR_role_arn="arn:aws:iam::123456789012:role/CodemieOnVmDeployerRole" - -# ── Terraform State ────────────────────────────────────────────────── -TF_VAR_s3_states_bucket_name="codemie-terraform-states" - -# ── Platform ───────────────────────────────────────────────────────── -TF_VAR_platform_name="codemie" - -# ── EC2 ────────────────────────────────────────────────────────────── -TF_VAR_instance_type="r5.xlarge" # 4 vCPU, 32GB RAM -TF_VAR_volume_size=100 # Root EBS size in GB -TF_VAR_access_prefix_list_ids='[]' # Prefix lists for ALB/EC2 SG access - -# ── Network mode ───────────────────────────────────────────────────── -TF_VAR_private_ip_only=false # true = private subnet, no public IP - -# ── Domain & TLS (optional) ────────────────────────────────────────── -TF_VAR_platform_domain_name="" # e.g. codemie.example.com - -# ── CodeMie ────────────────────────────────────────────────────────── -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise -``` - -### Step 4: Authenticate with AWS - -```bash -# If using AWS SSO: -aws sso login --profile your-profile -export AWS_PROFILE=your-profile - -# Verify credentials: -aws sts get-caller-identity -``` - -### Step 5: Run the deployment - -```bash -./deploy.sh -``` - -The script executes the following phases: - -| Phase | Description | -| ------------------------------ | ------------------------------------------------------- | -| Loading config | Validates `deployment.conf` variables | -| Checking prerequisites | Verifies required tools are installed | -| Verifying AWS credentials | Confirms valid AWS session | -| Initializing S3 remote backend | Creates S3 bucket for Terraform state | -| Running terraform | Plans and applies infrastructure (with approval prompt) | -| Reading terraform outputs | Fetches EC2 ID, IPs, S3 bucket, KMS key | -| Generating .env | Creates secrets and renders Docker Compose environment | -| Provisioning EC2 | Installs Docker, syncs files, starts services | -| Writing outputs | Saves credentials to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -:::warning Interactive Prompts -The script will pause twice for approval: - -1. Remote backend Terraform plan -2. Platform Terraform plan - -Review the plans carefully before typing `y`. -::: - -### Step 6: Verify deployment - -After the script completes, verify the application is running: - -```bash -# Check the health endpoint (use the URL from the summary) -curl -k https:///v1/healthcheck -``` - -Expected response: `{"status":"ok"}` - -## Deployment Outputs - -The script creates `deployment_outputs.env` with: - -- **CODEMIE_URL** — Application URL -- **EC2_INSTANCE_ID** — Instance ID for management -- **SSH_COMMAND** — Full SSH command for access -- **Credentials** — Keycloak admin or superadmin password (depending on profile) -- **Internal secrets** — Preserved across re-runs to avoid breaking running databases - -:::danger Sensitive File -`deployment_outputs.env` contains passwords and secrets. Do not commit it to version control. -::: - -## SSH Access - -Connect to the EC2 instance: - -```bash -# The SSH command is provided in the deployment summary and outputs file -ssh -i codemie-key.pem \ - -o "ProxyCommand=aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p" \ - ubuntu@ -``` - -:::tip SSH via SSM -SSH access uses AWS Systems Manager Session Manager as a proxy. This means: - -- No need to open SSH port (22) in security groups -- All sessions are logged in CloudTrail -- Works even for private-IP-only instances - ::: - -## Re-deploying / Updating - -To update CodeMie version or configuration: - -1. Edit `deployment.conf` (e.g., change `CODEMIE_VERSION`) -2. Run `./deploy.sh` again - -The script detects the existing `deployment_outputs.env` and preserves all secrets. Only the Docker Compose services are updated. - -## Next Steps - -- [Manual Deployment](../manual-deployment) — Alternative method with full Terraform control diff --git a/docs/admin/deployment/aws/on-vm/overview.md b/docs/admin/deployment/aws/on-vm/overview.md deleted file mode 100644 index c0161429..00000000 --- a/docs/admin/deployment/aws/on-vm/overview.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -id: overview -title: AI/Run CodeMie On VM Deployment Guide -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/aws/on-vm/prerequisites ---- - -# AI/Run CodeMie On VM Deployment - -CodeMie On VM deploys the full AI/Run CodeMie platform on a **single EC2 instance** using Docker Compose. It provides the same core functionality as the full AWS (EKS) deployment but with minimal infrastructure overhead. - -## When to Use - -CodeMie On VM is designed for: - -- **Proof of Concept (PoC)** — quickly validate CodeMie capabilities in your environment -- **Demo environments** — showcase CodeMie to stakeholders without complex infrastructure - -:::warning Not for Production -For production workloads with high availability, scaling, and multi-AZ redundancy, use the full [AWS EKS Deployment Guide](/admin/deployment/aws/kubernetes/overview). -::: - -## Deployment Profiles - -CodeMie On VM supports two profiles: - -| Profile | Authentication | LLM Proxy | Plugin Tool | -| -------------- | ----------------------- | --------- | ----------- | -| **OSS** | Local (built-in) | Internal | No | -| **Enterprise** | Keycloak + OAuth2 Proxy | LiteLLM | Yes | - -## Deployment Modes - -| Mode | Command | Infrastructure | -| ------------ | ------------------- | ---------------------------------------- | -| **Standard** | `./deploy.sh` | Terraform creates EC2, VPC, ALB, S3, KMS | -| **BYO EC2** | `./deploy.sh --byo` | Use your existing EC2 instance | - -## Repository - -All deployment code is hosted at: [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) - -``` -codemie-on-vm/ -├── compose/ # Docker Compose files and config -├── deploy.sh # Deployment script -├── destroy.sh # Destroy script -├── deployment.conf.aws.example # Configuration template -└── terraform/ - └── aws/ - ├── codemie-on-vm-aws-iam/ # IAM deployer role Terraform module - ├── platform/ # EC2, VPC, ALB, S3, KMS infrastructure - └── remote-backend/ # S3 Terraform state bucket -``` - -## Next Steps - -Proceed to [Prerequisites](/admin/deployment/aws/on-vm/prerequisites) to verify your environment is ready for deployment. diff --git a/docs/admin/deployment/aws/on-vm/prerequisites.md b/docs/admin/deployment/aws/on-vm/prerequisites.md deleted file mode 100644 index d752c61e..00000000 --- a/docs/admin/deployment/aws/on-vm/prerequisites.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/aws/on-vm/overview -pagination_next: admin/deployment/aws/on-vm/architecture ---- - -# Prerequisites - -This page outlines the requirements for deploying AI/Run CodeMie On VM. Ensure all prerequisites are met before proceeding. - -## AWS Account Requirements - -### Required Access and Permissions - -- **Active AWS Account** with a region that supports [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) -- **IAM permissions** to create an IAM deployer role (one-time setup) -- **Sufficient quota** for: 1 EC2 instance, 1 VPC, 1 S3 bucket, 1 KMS key, 1 EIP - -:::tip IAM Deployer Role -The deployment uses a dedicated IAM role with scoped permissions. You only need broad IAM access to create this role once — subsequent deployments use the role. -::: - -### Network Requirements - -- Outbound internet access from EC2 (to pull Docker images, access Bedrock API) -- Optional: Route 53 hosted zone (if using a custom domain with ALB + ACM) - -## Deployment Machine Tools - -The following tools must be installed on the machine where you run `./deploy.sh`: - -| Tool | Version | Purpose | -| --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | -| [Session Manager Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) | latest | SSH access via AWS SSM | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -**Enterprise profile only:** - -| Tool | Version | Purpose | -| ------------------------------------- | ------- | ------------------- | -| [nsc](https://github.com/nats-io/nsc) | latest | NATS key generation | - -### Verify Installation - -```bash -terraform version # Should show 1.15.x -aws --version # AWS CLI v2 -session-manager-plugin # Should print version info -jq --version -openssl version -envsubst --version -``` - -## GCP Container Registry Access - -CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry. - -:::info Obtaining key.json -Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. -::: - -## Repository Access - -Clone the deployment repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -The repository structure: - -| Directory | Purpose | -| -------------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `terraform/aws/codemie-on-vm-aws-iam/` | IAM deployer role Terraform module | -| `terraform/aws/remote-backend/` | S3 Terraform state bucket | -| `terraform/aws/platform/` | EC2, VPC, ALB, S3, KMS infrastructure | - -## Next Steps - -After verifying all prerequisites, review the [Architecture](/admin/deployment/aws/on-vm/architecture) to understand what will be deployed. diff --git a/docs/admin/deployment/azure/kubernetes/accessing-applications.md b/docs/admin/deployment/azure/kubernetes/accessing-applications.md deleted file mode 100644 index fb829cbd..00000000 --- a/docs/admin/deployment/azure/kubernetes/accessing-applications.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: accessing-applications -sidebar_position: 6 -title: Accessing AI/Run CodeMie Applications -sidebar_label: Accessing Applications -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/configuration/index ---- - -import AccessingApplicationsContent from '../../common/deployment/accessing-codemie/\_accessing-codemie-applications.mdx'; - - diff --git a/docs/admin/deployment/azure/kubernetes/architecture.md b/docs/admin/deployment/azure/kubernetes/architecture.md deleted file mode 100644 index b8ca9886..00000000 --- a/docs/admin/deployment/azure/kubernetes/architecture.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: architecture -title: AI/Run CodeMie Deployment Architecture -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/azure/kubernetes/prerequisites -pagination_next: admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-deployment-overview ---- - -import ContainerResources from '../../common/deployment/architecture/\_container-resources.mdx'; - -# AI/Run CodeMie Deployment Architecture - -This page provides an overview of the AI/Run CodeMie deployment architecture on Microsoft Azure, including infrastructure components, network design, and resource requirements. - -## Architecture Overview - -AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: - -![Azure Architecture Diagram](./images/architecture-diagram.drawio.png) - -:::tip Architecture Customization -The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. -::: - -## Resource Requirements - - - -## Next Steps - -After understanding the architecture, proceed to: - -- [Infrastructure Deployment](./infrastructure-deployment/index.md) - Deploy the Azure infrastructure using Terraform -- [Components Deployment](./components-deployment/index.md) - Deploy AI/Run CodeMie application components using Helm diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/index.md b/docs/admin/deployment/azure/kubernetes/components-deployment/index.md deleted file mode 100644 index 1d31b245..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/index.md +++ /dev/null @@ -1,229 +0,0 @@ ---- -id: components-deployment-overview -sidebar_position: 5 -title: AI/Run CodeMie Components Deployment -sidebar_label: CodeMie Components Deployment -pagination_prev: admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/components-scripted-deployment ---- - -# AI/Run CodeMie Components Deployment - -## Overview - -This section guides you through deploying the AI/Run CodeMie application stack on your AKS cluster. After completing infrastructure deployment, this phase installs all necessary Kubernetes components including: - -- **Core AI/Run CodeMie services** (API, UI, MCP Connect, NATS Auth) -- **Data layer** (Elasticsearch) -- **Security & Identity** (Keycloak, OAuth2 Proxy) -- **Infrastructure services** (Ingress controller, storage) -- **Observability** (Kibana, Fluent Bit) -- **Optional LLM Proxy** (for load balancing AI model requests) - -The deployment uses Helm charts to install and configure all components in the correct order, ensuring proper dependencies and integration. - -:::info Prerequisites -This phase assumes you have completed [Infrastructure Deployment](../infrastructure-deployment/index.md) and have a running AKS cluster with network, storage, and security configured. -::: - -### Application Stack Components - -The AI/Run CodeMie application consists of multiple integrated components organized into functional categories: - -![Application Stack](../../../common/deployment/images/application-stack-diagram.drawio.png) - -#### Core AI/Run CodeMie Services - -Proprietary services that provide the main AI/Run CodeMie functionality: - -| Component | Container Registry | Description | -| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| **CodeMie API** | `europe-west3-docker.pkg.dev/.../codemie:x.y.z` | Backend service handling business logic, data processing, and API operations | -| **CodeMie UI** | `europe-west3-docker.pkg.dev/.../codemie-ui:x.y.z` | Frontend web application providing the user interface | -| **NATS Auth Callout** | `europe-west3-docker.pkg.dev/.../codemie-nats-auth-callout:x.y.z` | Authentication and authorization service for NATS messaging (Plugin Engine component) | -| **MCP Connect** | `europe-west3-docker.pkg.dev/.../codemie-mcp-connect-service:x.y.z` | Bridge enabling CodeMie to communicate with MCP servers | -| **Mermaid Server** | `europe-west3-docker.pkg.dev/.../mermaid-server:x.y.z` | Diagram generation service for visualization in chats | - -:::info Version Information -To find the latest release versions for CodeMie components: - -```bash -# Clone the helm charts repository -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts - -# Check latest versions (requires GCR authentication) -bash get-codemie-latest-release-version.sh -c /path/to/key.json -``` - -**Note**: Docker container versions match Helm chart release versions. -::: - -#### Data Layer - -Database and search components for data persistence: - -| Component | Container Registry | Description | -| ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | -| **Elasticsearch** | `docker.elastic.co/elasticsearch/elasticsearch:x.y.z` | Primary data store for AI/Run CodeMie (datasources, projects, conversations, etc.) | -| **Kibana** | `docker.elastic.co/kibana/kibana:x.y.z` | Analytics and visualization interface for Elasticsearch data | - -#### Security & Identity Management - -Authentication and authorization components: - -| Component | Container Registry | Description | -| --------------------- | ----------------------------------------- | --------------------------------------------------------------------------- | -| **Keycloak Operator** | `epamedp/keycloak-operator:x.y.z` | Manages Keycloak deployment and configuration | -| **Keycloak** | `quay.io/keycloak/keycloak:x.y.z` | Identity and access management (IAM) solution providing SSO, authentication | -| **OAuth2 Proxy** | `quay.io/oauth2-proxy/oauth2-proxy:x.y.z` | Authentication middleware integrating with Keycloak for secure access | - -#### Infrastructure Services - -Essential Kubernetes infrastructure components: - -| Component | Container Registry | Description | -| ---------------------------- | ------------------------------------------------ | --------------------------------------------------- | -| **Nginx Ingress Controller** | `registry.k8s.io/ingress-nginx/controller:x.y.z` | Routes external traffic to internal services | -| **Storage Class** | Azure CSI Driver | Provides persistent volumes for stateful components | - -#### Messaging & Integration - -Message broker for Plugin Engine: - -| Component | Container Registry | Description | -| --------- | ------------------ | ----------------------------------------------------------------- | -| **NATS** | `nats:x.y.z` | High-performance messaging system for Plugin Engine communication | - -#### Observability - -Logging and monitoring components: - -| Component | Container Registry | Description | -| -------------- | ----------------------------------------- | ------------------------------------------------------ | -| **Fluent Bit** | `cr.fluentbit.io/fluent/fluent-bit:x.y.z` | Lightweight log collector enabling agent observability | - -#### Optional Components - -Components that can be omitted based on configuration: - -| Component | Container Registry | Description | -| ------------- | ------------------ | ----------------------------------------------------------------------------------------------- | -| **LLM Proxy** | – | Optional proxy for load balancing and high availability of AI model requests and usage insights | - -#### Deployment Dependencies - -Components must be deployed in the following order due to dependencies: - -1. **Infrastructure** → Ingress Controller, Storage Class -2. **Operators** → Keycloak Operator -3. **Data Layer** → Elasticsearch -4. **Security** → Keycloak (with database credentials), OAuth2 Proxy -5. **Messaging** → NATS -6. **Core Services** → CodeMie API, UI, MCP Connect, NATS Auth -7. **Observability** → Fluent Bit, Kibana -8. **Optional** → LLM Proxy (if needed) - -## Prerequisites - -### Cluster Readiness - -Ensure your AKS cluster is ready for component deployment: - -- [x] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/index.md) phase -- [x] **Cluster Access**: kubectl configured and authenticated to AKS cluster -- [x] **Jumpbox Access**: Connected to Jumpbox VM via Azure Bastion (for deployment) - -### Required Components - -The following components will be installed during this phase if not already present: - -- **Nginx Ingress Controller**: Routes external traffic to services -- **Azure Storage Class**: Provides persistent storage for stateful components - -:::info -These components will be installed automatically if not already present in your cluster. Both scripted and manual deployment procedures include the necessary installation steps. -::: - -### Repository and Access {#repository-and-access} - -#### Helm Charts Repository - -Clone the Helm charts repository on your deployment machine (Jumpbox or local workstation): - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -#### Container Registry Credentials - -Before deploying AI/Run CodeMie components, you need to set up authentication for the container registry. - -**Request Access**: Ask the AI/Run CodeMie team to provide: - -- `key.json` file (GCP service account credentials) -- Service account email for pulling images from GCR - -**Create Namespace**: - -```bash -kubectl create namespace codemie -``` - -**Configure Registry Secret**: - -Replace `%%PROJECT_NAME%%` with your project name and create the pull secret: - -```bash -kubectl create secret docker-registry gcp-artifact-registry \ - --docker-server=https://europe-west3-docker.pkg.dev \ - --docker-email=`` \ - --docker-username=_json_key \ - --docker-password="$(cat key.json)" \ - -n codemie -``` - -**Verify Secret**: - -```bash -kubectl get secret gcp-artifact-registry -n codemie -``` - -:::info Pull Secret Usage -The `gcp-artifact-registry` secret must be referenced in all AI/Run CodeMie component deployments: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. - -This is configured automatically in the values files: - -```yaml -imagePullSecrets: - - name: gcp-artifact-registry -``` - -::: - -## Deployment Methods - -Two deployment approaches are available depending on your needs: - -### Scripted Deployment (Recommended) - -Automated deployment using the `helm-charts.sh` wrapper script: - -- **Best for**: Standard deployments, quick setup, production environments -- **Advantages**: Automated dependency ordering, validation checks, consistent configuration - -[→ Scripted Deployment Guide](./scripted-deployment.md) - -### Manual Deployment - -Step-by-step manual installation of each component: - -- **Best for**: Custom configurations, learning the stack, troubleshooting -- **Advantages**: Full control over each component, easier to debug issues - -[→ Manual Deployment Guide](./manual-deployment/index.md) - -:::tip Recommendation -Use **Scripted Deployment** for initial installations. Switch to manual deployment only if you need custom configurations or are troubleshooting specific issues. -::: diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components.md deleted file mode 100644 index 80d5f60d..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: core-components -sidebar_position: 5 -title: Core Components -sidebar_label: Core Components -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability ---- - -import CoreComponentsOverview from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-overview.mdx'; -import CoreComponentsMcpConnect from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-mcp-connect.mdx'; -import CoreComponentsMermaid from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-mermaid.mdx'; -import CoreComponentsUi from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-ui.mdx'; -import CoreComponentsApi from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-api.mdx'; -import CoreComponentsAccess from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-access.mdx'; -import CoreComponentsValidation from '../../../../common/deployment/components-deployment/manual-deployment/core/\_core-components-validation.mdx'; - - - - - - - - - - - - - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer.md deleted file mode 100644 index 934ee4a2..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: data-layer -sidebar_position: 2 -title: Data Layer -sidebar_label: Data Layer -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity ---- - -import DataLayerOverview from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-overview.mdx'; -import DataLayerElasticsearch from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-elasticsearch.mdx'; -import DataLayerPostgresConfig from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-config.mdx'; -import DataLayerPostgresSecret from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-secret-common.mdx'; -import DataLayerValidation from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/\_data-layer-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/index.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/index.md deleted file mode 100644 index 5be7b354..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/index.md +++ /dev/null @@ -1,225 +0,0 @@ ---- -id: manual-deployment-overview -sidebar_position: 2 -title: Manual Deployment Overview -description: Overview of manual component installation process -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components ---- - -# 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. - -:::info When to Use Manual Deployment -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](../components-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](../../infrastructure-deployment/) phase -- [ ] **Cluster Access**: Connected to Jumpbox VM and kubectl configured for AKS -- [ ] **Container Registry**: Completed [Container Registry Access Setup](../#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs -- [ ] **Deployment Outputs File**: Have `deployment_outputs.env` from infrastructure deployment - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](../#repository-and-access) 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 management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `az` CLI - For Azure operations - -## Component Installation Order - -Components must be installed in the following order to satisfy dependencies: - -### 1. [Kubernetes Components](./k8s-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](./data-layer) - -**Purpose**: Persistent storage for application data and user content - -**Components**: - -- Elasticsearch (document storage and search engine) - -**Dependencies**: Requires storage class from Step 1 - -### 3. [Security and Identity](./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 infrastructure deployment - -### 4. [Plugin Engine](./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](./core-components) - -**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](./observability.md) - -**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: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure Domain Name - -Update the DNS zone name in values files. Replace `private.lab.com` with your actual DNS zone name, or leave it if using the default one: - -```bash -# Use your DNS zone name from deployment_outputs.env -CODEMIE_DOMAIN_NAME="airun.example.com" - -# Update all values-azure.yaml files -find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; - -# Update domain placeholder in CodeMie API values -sed -i "s/%%DOMAIN%%/$CODEMIE_DOMAIN_NAME/g" codemie-api/values-azure.yaml -``` - -:::tip Domain Configuration -Your DNS zone 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: - -```bash -# 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: - -```bash -# 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 - -:::warning Respect Installation Order -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-registry` secret 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](./k8s-components.md)**. - -After completing all component installations, proceed to **[Configuration](../../../../../configuration/index.mdx)** to configure users, AI models, and data sources. diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components.md deleted file mode 100644 index 111a762c..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -id: k8s-components -sidebar_position: 1 -title: Kubernetes Components -sidebar_label: Kubernetes Components -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer ---- - -import StorageIngressOverview from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-overview.mdx'; -import StorageIngressNginx from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-nginx.mdx'; -import StorageClassInstallation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-class-installation.mdx'; -import StorageIngressValidation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-validation.mdx'; - - - - - -### Step 4: Configure DNS Record - -Create an A record in your Azure Private DNS zone pointing to the ingress controller's load balancer IP: - -```bash -# Retrieve ingress controller IP -ingressip=$(kubectl get service ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - -echo "Ingress IP: ${ingressip}" - -# Create A record (adjust parameters to match your environment) -az network private-dns record-set a add-record \ - -g CodeMieRG \ - -z airun.example.com \ - -n codemie \ - -a ${ingressip} -``` - -**Parameters to Adjust**: - -- `-g CodeMieRG` - Replace with your resource group name -- `-z airun.example.com` - Replace with your Private DNS zone name -- `-n codemie` - Replace with your desired hostname (subdomain) - -:::tip DNS Configuration -These values should match what you configured during infrastructure deployment. Check your `deployment_outputs.env` file for the correct DNS zone and resource group names. -::: - -### Verification - -Confirm the DNS record was created: - -```bash -# List DNS records -az network private-dns record-set a list \ - -g CodeMieRG \ - -z airun.example.com \ - -o table - -# Test DNS resolution (from within VNet or via VPN) -nslookup codemie.airun.example.com -``` - - - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability.md deleted file mode 100644 index dfdf1181..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: observability -sidebar_position: 6 -title: Observability -sidebar_label: Observability -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/accessing-applications ---- - -import ObservabilityOverview from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-overview.mdx'; -import ObservabilityFluentBit from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-fluent-bit.mdx'; -import ObservabilityKibana from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-kibana.mdx'; -import ObservabilityDashboards from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-dashboards.mdx'; -import ObservabilityValidation from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx deleted file mode 100644 index 3178e535..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: plugin-engine -sidebar_position: 4 -title: Plugin Engine -sidebar_label: Plugin Engine -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components ---- - -import PluginEngineContent from '../../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx'; - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity.md b/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity.md deleted file mode 100644 index 541120b7..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: security-and-identity -sidebar_position: 3 -title: Security and Identity -sidebar_label: Security and Identity -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine ---- - -import SecurityOverview from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-overview.mdx'; -import SecurityKeycloakOperator from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-operator.mdx'; -import SecurityKeycloakInstall from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-install.mdx'; -import SecurityOauth2Proxy from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-oauth2-proxy.mdx'; -import SecurityValidation from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/azure/kubernetes/components-deployment/scripted-deployment.md b/docs/admin/deployment/azure/kubernetes/components-deployment/scripted-deployment.md deleted file mode 100644 index a38978a4..00000000 --- a/docs/admin/deployment/azure/kubernetes/components-deployment/scripted-deployment.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: components-scripted-deployment -sidebar_position: 1 -title: CodeMie Scripted Deployment -sidebar_label: CodeMie Scripted Deployment -pagination_prev: admin/deployment/azure/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/accessing-applications ---- - -# Scripted CodeMie Components Deployment - -This guide walks you through deploying AI/Run CodeMie application components using the automated `helm-charts.sh` deployment script. The script handles the installation of all components in the correct dependency order using Helm charts. - -:::tip Recommended Approach -Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. -::: - -## Overview - -The deployment script automates the installation of: - -- **Infrastructure services** (Nginx Ingress, Storage Class) -- **Data layer** (Elasticsearch) -- **Security components** (Keycloak, OAuth2 Proxy) -- **Messaging system** (NATS) -- **Core CodeMie services** (API, UI, MCP Connect) -- **Observability stack** (Fluent Bit, Kibana) - -## Prerequisites - -Before starting deployment, ensure you have completed all requirements: - -### Verification Checklist - -- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/index.md) phase -- [ ] **Cluster Access**: Connected to Jumpbox VM and kubectl configured for AKS -- [ ] **Container Registry**: Completed [Container Registry Access Setup](./index.md#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs -- [ ] **Deployment Outputs File**: Have `deployment_outputs.env` from infrastructure deployment - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](./index.md#repository-and-access) before proceeding. The script requires the `gcp-artifact-registry` pull secret to exist. -::: - -### Required Tools - -Ensure these tools are available on your deployment machine (Jumpbox): - -- `kubectl` - Kubernetes cluster management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `az` CLI - For Azure operations - -## Quick Start - -### Step 1: Clone Repository - -Clone the Helm charts repository on your Jumpbox VM: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure Domain Name - -Update the DNS zone name in values files. Replace `private.lab.com` with your actual DNS zone name, or leave it if using the default one: - -```bash -# Use your DNS zone name from deployment_outputs.env -CODEMIE_DOMAIN_NAME="airun.example.com" - -# Update all values-azure.yaml files -find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; - -# Update domain placeholder in CodeMie API values -sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" codemie-api/values-azure.yaml -``` - -:::tip Domain Configuration -Your DNS zone 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: - -```bash -# 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: - -```bash -# Check latest version -bash get-codemie-latest-release-version.sh -c key.json - -# Note the version (e.g., 1.2.3) for next step -``` - -### Step 5: Configure Optional Components (If Required) - -**Optional Components:** - -- `litellm` - LiteLLM Proxy for unified LLM API interface, multi-model routing, and cost tracking -- `pgadmin` - PostgreSQL administration interface for database inspection and monitoring - -:::warning LiteLLM Configuration Required -If deploying with the `--optional litellm` flag, configuration must be completed **before** running the deployment script. Follow the [LiteLLM Proxy Installation and Configuration Guide](../../../extensions/litellm-proxy/index.md) to set up values files and credentials. -::: - -Skip this step if not deploying optional components. - -### Step 6: Run Deployment Script - -Execute the deployment script with your chosen mode: - -```bash -# Initial installation with all core components -bash helm-charts.sh --cloud azure --version --mode all - -# Upgrade existing deployment to new version (preserves configuration) -bash helm-charts.sh --cloud azure --version --mode update - -# Add LiteLLM to existing installation for AI model management -bash helm-charts.sh --cloud azure --version --mode recommended --optional litellm - -# Maintenance deployment with database administration tools -bash helm-charts.sh --cloud azure --version --mode update --optional pgadmin - -# Enterprise installation with all optional components -bash helm-charts.sh --cloud azure --version --mode all --optional litellm,pgadmin -``` - -Replace `` with the version from Step 4 (e.g., `2.2.3`). - -:::tip Idempotent Script -The deployment script is idempotent, meaning you can safely re-run it multiple times. If the script fails or is interrupted, simply run it again with the same parameters to continue or retry the deployment. -::: - -## Configuration Reference - -### Script Parameters - -The deployment script accepts the following parameters: - -| Parameter | Description | Required | Values | -| --------------- | ------------------------------------ | -------- | -------------------------------------------------------------------- | -| `-h, --help` | Show help message and usage examples | No | N/A | -| `-c, --cloud` | Target cloud provider | Yes | `azure`, `aws`, `gcp` | -| `-v, --version` | CodeMie component version | Yes | Semantic version (e.g., `2.2.3`) | -| `-m, --mode` | Installation mode | Yes | `all`, `recommended`, `update` | -| `--optional` | Optional components to deploy | No | Comma-separated list: `litellm`, `pgadmin` (e.g., `litellm,pgadmin`) | - -### Deployment Modes - -| Mode | Components Installed | Use Case | -| --------------- | ------------------------------------------------------------ | --------------------------------------------- | -| **all** | All components including Nginx Ingress Controller | Fresh AKS cluster without existing ingress | -| **recommended** | All components except Nginx Ingress Controller | Cluster with existing ingress controller | -| **update** | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating existing installation to new version | - -:::tip Choosing Deployment Mode - -- **First-time installation**: Use `all` or `recommended` depending on whether you need Nginx Ingress -- **Version updates**: Use `update` to upgrade only CodeMie components -- **Fresh AKS cluster**: Use `all` mode - ::: - -### Domain Name Configuration - -The following files require domain name configuration (automated by Step 2 in Quick Start): - -| Component | File | Placeholder | Example Value | -| ---------------- | --------------------------------- | ------------------------- | --------------------------- | -| **Kibana** | `kibana/values-azure.yaml` | `*.private.lab.com` | `*.airun.example.com` | -| **Keycloak** | `keycloak-helm/values-azure.yaml` | `*.private.lab.com` | `*.airun.example.com` | -| **OAuth2 Proxy** | `oauth2-proxy/values-azure.yaml` | `*.private.lab.com` | `*.airun.example.com` | -| **CodeMie UI** | `codemie-ui/values-azure.yaml` | `codemie.private.lab.com` | `codemie.airun.example.com` | -| **CodeMie API** | `codemie-api/values-azure.yaml` | `*.private.lab.com` | `*.airun.example.com` | - -## Next Steps - -After successful deployment and validation, proceed to: - -**[Accessing Applications](../accessing-applications.md)** - Learn how to access the deployed AI/Run CodeMie applications and complete the required configuration steps. diff --git a/docs/admin/deployment/azure/kubernetes/images/azure-client-tenant.drawio.png b/docs/admin/deployment/azure/kubernetes/images/azure-client-tenant.drawio.png deleted file mode 100644 index b00fffb7e25b4949a320bba4abd317ed13de1b8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608702 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°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

    >oDtjhH?| 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�kR}Yz(@dFGaO}Y^FC&rwKRe>HO;$ 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
    -2yP|sk>Zbi*z$3_AKsA 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 diff --git a/docs/admin/deployment/azure/kubernetes/images/azure-cross-tenants.drawio.png b/docs/admin/deployment/azure/kubernetes/images/azure-cross-tenants.drawio.png deleted file mode 100644 index 2932a6c2e88041123801fdbb796a68d9e4038c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 752933 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

    t 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 z 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 Y%8L(lAqQXq?`FrNh&S3av+hNHF$EE#C zk6ltNmrpK>M+q*>66K7JUqfAgG2*O)W=~Xx&XtK#$f_J0_ZMaC;9Ld0-yt%~=ymPG z({mE7uLbhWi@LwSFIV(KmG8Va*l70mA(oL7<_96^d*@2%tmGi7N@?cjlDdLlgwwVt#<|V zh`|tdefGUjUf2u09B3a*#zRiPpc4A*n@rZ^d5_nBP`~U9B7{OO2fZsk>i~MT(sb#C zp7ISZGvNNTagK^@dbAHa9mXtMrW5osVa~&9n+)kL8=N)o`dmlPyT|LMjb%7hRSAjA zf|Hl1JC9LoMuY%{Zi~L;=DZ0j#!b)c{w7Iule?IDt&plZ+{QTx>_1R8Tt)EC z!=yj-85>%|C;Nk+C&<{iRigQymr1T_3-kAMPnWcaTakzo00;MD{{G0@*78eK>DJqj|ZfEXEtdEHR1LAOur(cBHG~V_w=DsUG5VSb*lK!pK2&)x87ph!oJ` zerh$GQLF7;ZBWgdehK0ntcl~RXpAORge}JNQ`)rP?^8xct1cf%9s?fFO-Ip?Th2lj zL(I8XOtRGa{z{Pqmh)mzL}Jy=U4hDS87snM|eh>aJ*@1yc^c~7Gj1v@uBcr!a)Oz?5ZQfA$b1&2qwFe$X` zwt!KeE)!sK@UD2LGG$3gb4fKoH*OelY&5VfuoNOLTi(FpV5S`G{ARENfb<7^(4ggB z15OQPn+T9!1e_9r7kikLB^=25;sMVs8zk1G1vGeTcoQ`%0v zC(=%!+5LzC`Ls(OSwIDldht1WR&uA?Yvt+YslfU#7Wvns5+tQd(cy zILb*WW)3gcR&_21)smOk&)c4UkDTT!+rU7S8JKaqPLLPJnkB04W&IK@* zyCokosgneVoVT)GAi+5d;=6{<@5=f>(rN>3ytg@Aq}(?qMe6ZesEvDe2Xmo(if?ep zMNB&Ik2=R}*%~&AXQ0*y>t6UCBg~nQvv|T&A)SP?$Hy9Rv|1gOuk+4%urzWll&N zYY_*3|Cd!r8YF|yG`!OF_(r-Zn|l0tb78V-&%ynn6HJe0acr&IQCxsNRiK3x)UGui}YCN zhBaYgu>b_*IFS&Nq!a9Dhgx;fuZy8~>Fi*TtPLJ9_12>o2c7O@Yk5UR`jr+!}6RQdy<{tH1)n<#y ze9)l- z;1^L+&;9-U0~^I;Z-yAju|wX%jWj?G*e5y1t7jA!hx2{nvtW*+yrqvQzK+bv#~@K~ zd5XX9t?H7FRRBL@O*pGO21ib{L`LhZ}z$dwI8e)pvj zg~%|2gVG6d$eXlKqH6H`{e4H}t8~|g5iQd*g?i;8#XV;;nkI7hh&*R`3ieeRZx~wWhT2Db@pJ}VRsw3$4m1P^G_!ALD zzqYuB>Bwg)`a=%0EPj=1G0{*9el<0FKvB1hC>!YP9`JR?y?tLpBiX46;HJ*9c=!g> z*`bBwtgr+wcX4uYvAE294m7fob4?F=S))8N)o7|Ytr7W!j(G4A3*yADcjnXIm5uQ# zVOR&w)yPo2Iu)v$+WKd$c-Y&={)SvRb)0k8Fc{bqkd)l;h@q(M7YzR-Ea?c;G`wD@ znZXtVDFgmd*J6U+B9r}|HeOWGFc~kK@ob->2&Nh+gQdK@B1XMfE&G5<&xbNUEK!~F zX@jb|^tNa$)HT*XXTI6dsONxA`Z>g5R$qgew8i`ma@v)T>O7(*Gji9TGKY`1FzIXS zkx3dsU|YNQ!GN6M-cL}$vRl`=z2S-mXBOVAb=t`5sje0$TsYsZmMq+a zYtj6hW)&Jcz{8H%mB45oYkn|4hjr*?pRMEiyHTpyad!=HQtp zGGFff@m}S3ZlgZc)ZR@ZZLi235sSLyPM}mAL(KF8Q>qr~W6J>CuMU>;eANfj|$qdZ+Vw-^j1 zwH?sb*s4=!dPmx)tvohVVTA$oy{I57vlYXkN)OkMR=wlO5hbD^{qvrmkF4%@*cwv; zxeb?!JE&mxil|?#o0|-CaCplO=xk95M&1e~OtL51MZsgn))<-3@}R8~3Cbi})I%6lNR%e%URFX=p8 zLXA0+U9(k#4*+sa9>6vx-b5Yg!~q4iK-N^-87-a9EmBQrrFnohjV?bV9`OLQsN=6Gbx5!5v$@qOQFT`$pw9CR{ z)(b@t&qR-LsOmQ)Pygz0^jkjIwm%0H{#L3V^LS^g;@L+*0tE2R>h7Ys# zC5m}(%X#?3kKpOgz;7UiA)sy1{1&j$N=xmf?hHM!Pr)< z8BEb&*LXg(PsspSGUA2TOBYf2jSAR_?p?BbOtbZSg9wKE{AFxVy~VHIe+meciR!uDFp-{ISukR=M~rs&k+#>d0-EnsQeU zP|nLEyt#J{aH%@FTwzhN_Jiq8M8;}~fc7U6$N^xgz-Fp1@ z7_+4V5IM8p_N#(+TTOj=huIL0NK1n&&|`OU6c?l}*S_UbTl^c4dAw-r*XKBfcz$x> z(i2K=rXbs%jG-hA7TF05TFjI>cen$l4yDWmK>09TGwawZROi+T;kHE;e8yAqz{qtl zReZY{Ycjmr-`Q#m@xC7~>cU~MzCRqek~MvLSDj=(FP<-9?(BW)xQ!LibiJI7AE zODhrSjcF>pIf`~cCIuiXF>0aI++JI1S+&f0|eKdyW?vA!B!y#gyL+<`+1>X9j_{Q(82Zq$o_P^M< z)7rw)aL2R!bH(0EHR93<=Tym=R||K=5DN4bmDpw>hkzl>Z?%%9Dc9?33Zo3GZm&4~ z@%+DG;oEooZ(i?keZgQrD2+o{Y^gQ_xG%zX-pnK6VYSsFU|=m7b__PzM3xX7aA&Y~ z`<&*xi{HlBwnM3CbyJ+DxwA6?O8>}7gV;!^tO_plQGNxkhRQhk^Ed_HE# z+uIE!48C=ANu@{VZG4U*w=JWqa6o@4VBAfII19Hc+N!Ios_Ny!u*t}f!-fPWC|wkK zKcM2%-%3rH&&%%8FUr`}oX%`l&W>fF%h#7@I3_g!vn2v$QU7io()$V4$oxwvs>hK( zrswsSD3eC1#1b{c70b~=9pvkdyf~ln(#)h8#e5U|6W4nlWeVm_%NfPzSIa();3wFl z)}#2|%qX*$={{N!^?ZXdkkv%@F;y^9jW!K8h3&%M5hoi++oT(>0k?%)z^Jrg#&a_S zbfnzNB6DJ??QFZU_h?OEvb)&b7$(XMuV|R%bOq?6D9`0ppr}i#XNUb#Ii8@}(7=ku zjBg_IH;7)?PD1+fmanuCE}iY(MSpDFautfag?4ecdbR$UcpF&^j}2+^)xvXXL(y(O zN#!4hxO28c4-Wy%GW)mxW$LS4&{bcxU>v*4OJCKo@IPL@rofS6La*)G{na|b~J5b&b3-k}*t@Q(OyA+y-PEK=Ms7D>53WJRE2fYr`M+~`gP7J)- zMCbTAKJKkc=cawO82qU-Oa4@5UCQ1s73a?18*;8$Sk@URf=0x>@?p$5)y#FmvyZnL zx^;g{1Wp8T_CgHtp$2?#N64*INx32lp_y?`HlP>CXQb&(9ME7^4qofYf$-&Tn55Jd|T_ zHN%V|@8X#5+_7dx?y{~dSg(4!^umV(abOJyTwZ6aUJblP(au)jBC)3FVeT=5&I|({ zxI?@5{}+w_XPW*2!cs>z?|c$wz(y<%D_O^k#ApQT_&aym#-tq%D!G77QxW%^PU%Cb zl7zB|Yp)$6Hsoqd8gyRhCOR`{ghjcz)OTFBSsV^|xc+&2L&@k$9JTiBwy8_2qq z+qr82lEpj9vr~M-)#;&ci>g<>DPotaboH2|SpI-bHlB!rgEE1mCPm4O)*e z)okQ(a-7=CB~8&ZDlv3ATs6KY!p;<&VxPE!Pvu&~@kB-x0qCVskomH`1?kSWAtgLw zz6F@XWYE<4g$O4h#k)~^=6nFNKou1s5%$&yWAy<~hFde4EX$DVA{c9GqqWY+(| zoCv^(>3V{UM_@Zcs2yYZ5p(B6n$JS-7whu-S5pcpL$EUjZ{*7wX)$Auu&V2ytgS$m zqGgAshqCrX4+-;qp8#$08CgxV7ESv(cbO5%g@;JOZ=QfD zL#Xn%{QrxQ?Vr~WD7`XPj-*gG5vFHK8tT;`6th4r+_IW!V@W&Ua{4gS=1vy$A3nJW zXp(e7F09pqfQWR$ z>CFNGo}XM)s}JQ|YSo!r9l7p&4vwQv-ukE6$Z^17|2f z?trM1piFzuAKe4=rw<0sc5`LA@q_Dgov54tjnAO-+|1*D8EwwgY?F@V!0!( z3HWm*_n0QH>*@l50#86$IafB2wevS(+4yXSjVnTpYOufnxZpknkeIItUdV+YWd=MDoHk>j#0>;J(*s~Ib}3D`Z#Jr`d8{m9=?DH?X$2gcBd1+(lVdlg+r;JzBl{EpADpRk<&HrRO#Q+w=ZJL( zZ3z&8CfB>vfj2k-h)2?YJTtl&usCXFR}*M-EW1GN_Zx1;H=ThOUfMv4m(TYNL==tn z7il$pzD)hH!{50>e>(qlF^$4CM~EmArK9Aq^R^u+tI(ke8=AfQSeDltR9oxeHm>0^ zK|jBkn8wV9bd5`TgwCho-6_1cO?Dw0xbjke5p>m~CZMG&Nui7}OI;5bQ37QZlp7KD zIe|=KZCxYqOD`dQR)M`5aw&4m=Q)PyRZCkT{^j7Mq{}v$n-OHpP5Q%VpxSI6Z!lZb zKlLl8aL=9QU5eHgCwr{2ShHi#_Cgspwlb2TZ&+YovKSSwcZ44j7>nX@T2mhu{z2;H z>i|+O%vQLwlbc!u4&TB5b2`6&b?y!7nBB9`++klJu-8r9# z`uEl?dQAfe|Ctn7QX4O^cbg9=YKB?6eDP=9TwM5ExBv*C=%vm5r zPoH)7bspr8@#Q8X4Omx=#HR<*yMSI`zg$8wT_te&wX0*~R^64TyhF2H$%XOK2^P6t z20|4+gj*<>xSDz}t>c63%*|SO7L=8Fq&*ps6kvAzgrM5lu2cbVInBSz9@-EP7BUxY zVT$>BLKb|*f=TWg2&J#a;jtSh}8Th0%45kGP~ zcV9BA3Zr%OOO;F2MxvXRFw(WCfZW2Ru}XWr+@mFQ^U|)uxN8^x6$$bO!oAFL?09+O zEG&hE4apYxbMTRvrGqw9Q$4oI&NWeUEz7qU?BbNPc%uBQ1ZJEgYovQ)<1ZSMck zG~q&y@HPvjhKq}#ySsP)Diyhovz)gdl}xi;0TIMhyJSZvI71<`SSV2>Xe__q$BhlZ zkH=ERLah%r;WA0%{?y4#J~wm6Tm|=mHe~sgj<0zb6%pKPQvuy2YWm&9K7tW5 zuYIj_Pe*pa+K8;ja9)MBSD9mLG1W;3d|5TK_+k5Wq?j9^hejS@@pu+&d-M*{$fxcz z1s6Rn1)Yp9F>0{~r5E(}0n3`Zt_XEr@aa4k4Oy^Knd~G|p<&-Fx4!I&9gEyn-fk;tGv+a2! zwm=B=0FPYM=+@HEas=QBvYdfY>6a!7eI=KIM!d*z>DMLW@BNE(x^CZI4U2*NzH<>| znPC>*^?~TGhBJE!dRZB^u%>E1niGOh(hjI{REv1~6N^q5dvQnAlArT^kGva4e<)G^ zA}0TABlut>Px`3^eE)x&J-4auXKVo##c^=u*vQ1^F{*m^YoZ9LQl4B*zADLDxatW=iUnNkv4*NfcC|G9WA3xh$$@hnxXh|7`ISUb zHRh(r>N*~Y=`Kizos&H);l$I(p?$QQ5tWzAwuzMzz36#K#J~4gCN&Hv!|CsrjMa^| zxjH91c8|wWMkE3O3N`_3=e8+@^02j6%niDWSavxcFf-}Xd`yowP(RlZ2A{XBf0J8 z1AX-Xy899R^q#hxLtUwyaYQJlo^KjoA4UXnbQ+UwVrBJ(bI7;8PPr7)c?Gy`x*o7` zHI2URZO0sX+qH`YD7#4|>0N^Meg>`9yu7@D;|n?wAgNo2W1bD3UrLq>Y@=A*?*A~j z$hS3cOA?toX3Bxw35bWQ1Jri8M$$>`J!SIij2O5(e)qhdJK>~ znM|L+OO@mIGmprmfZUWIEKehFj)wOYpgn$%=J8AH=E6pXB=5$)4^Up-e$_w>%+ zfkbCfN3kW4W|8~cf~=jGZ+~qd$?*!G?sP1wD2x1%wKSTo!|xKIW<51-u6|FV1UL z<6M=PuiLh{lox9Bz59d!tnYnJ-t1Cv5>lND_D#GLIr&o(b`w=9Ij(tLPVtIvm{9_9sUn1Iz@HIPUzSdarZ?wcU)63RXOBO3xkirlpbXF@l= zPmN~W+EeWMGx)d}@SE8FbBN&=2*&RYJ3p~+*yoj@cO~H2%P(k%Z1Ku_Jr4L{_6e6< z*X;wUpx)0hZ5riiy;Ujgz*tZ#Uzv3va$MN;YlgwO;f#7%)OwB=Sl{ZANMjv4FRD## zzuKLzjZz`S!+h)ZzAYivC1F;rmI?HQCb0mjq|PD;rr#zYb!2`tGr99J=dQ9v*n^SK zAsn4U48^pVcI4z}ZGSj=HC=4>Z`+yWtsX#1XsHZgK-FOcL7!?>q zQpc^yh; zQ1(;_TaSxenw#Y|1OXBChGZpVZo?0-{D-?k)LPdrlawUffYFwl$MR7ZomXow$@K$P z29SF*&K_pSBo*iKjRoOXqJ-KrZl40(;bCOMIfW!P0WfBNdPGOQfR5lksB;^PgF6xK zu_qf$rQJ_jq|p`NSYsC;21)y2Ep8;yayh5Vt}(ZgE-u8zxnCkU(V(WSlh6IR!v^JMbWPSGZ_<*&Xi}*JPr*bMvwb9ier-;=p%Y#ZV0*~p$4(kx68vND|KxPs(WShShAoBg1olg$m4G>M3NkzYsCLeE zqQB1ldG}^=k&S&${JJoaobI~CCjAQbvw9gPG(ccWb#PZF;k0=Y(z1~=;a)_K5eC0(NeDT%vyT5A8 zh>F~?i+B}H_6oYvqyMX{%5t|_;HsEWEK8d>roFEpFoc?fZ4S&T(`oP<%7;>qzWM9g z9j=+ojy9_Cs`BqKtx8+?V;}+f44c&33#f*r+B!toExn{1d8D%Nz)rgvCX7NWQiY79fXy3rbfl_jV`ZlghI)72qq8L9i;Y*W88!5?=-}X|ryZ5O$}m3FQEz(9 zABxnSf}p}EWYyIKS>+~Rn6SX#P+6)@LTO<@U)5{esMfPbV{bB@33DYRj6j$tCs-gq zmQ?6oF=gE@3^fwQWNIWR>)a|6x;~SL?`lg`A{bNG`^I&^{3C+KdkMt`!NJ@PO8nMP zC$@+aw4fnnI|o)>&MK_LD_1Aawx=D#JW&lvpAOO9>zb{R=9@zLS{GQns>i-kx|a9* z+%v4}XL|%INc2@HQj0pQO$CDO(x-7O9L+d0+?A5ouJ!LdElGKrI@ne8qwRrRa{W^2 zhB%k2SFaZPEj(+oA1V&P`)aA$zbYbnmJ{zz{HT_S?YCPI2cisr7EhWxcK?rYfS1nO zuO<~n%$(@X*zSQi?sV2gZQ&41yqF~6;-n#CL*N`Lwp;(K9)D}$I{ z9(wDljR0ruI|`pFS(0hc9rYTsczxdSt7FgxmZ@bROQ1ln!2$>8aPed z^r6U67|>4--Kg&gW%TgK18PWQsA@lSU|-O}gGVoJ#JxIelTk+~VgXLA#qe66S0aOQ z!+m^GoTbI&)~$}o!9j*Pn*jNQYqUQFDJ;06Jme#;K{i5|1^ako*F{TlJ@!WN!9xx% zkg+M?5Q!(be$-B$M={e1R=(DWxr*0fqHj+xX$4*b^}ljM;mqt^Q}}fAj|$= zPu8&5*?Q3W$LIv=`jWC?mu+`>uY)DkZ*Nl#gK@C$vdu`-l-_vui>-Sv{S={ql! zVnXz}g@kNTEU-Wvym|d3624gojJ16An>(Kj$jXla)lV~Yjc93}4NUCzX&J@frsOc$ zz{s1md91a}rFB)YFmtaFl(a$-YwJ0|h?;1z)+S%jz-G@abOdQ+J+rs)Z~=w+_RJ{7 z(Uq0q%cPaLiZKoGxkz#{U#bfJ`~aVgH~LX0V=7aU^_r#tc$*~y6H2<)^6KD)GCu|K zZ$#tI@OofIcIQra`=hR2x8oFX1JdS(wrJ1cCrCcGHu!$sWQ)vD-nZYH4}cX?3eeQ` zp-#hsKN)n)Z%}}RAN;o4?zY73i^m6k#y+=h>$cpvC-ZRGI;Ep3By^^+OMaGQ5ioF) zf4(bX%LaaV!o)6wuCdWQMRVJdkaJr!N_Ss=ooJnmJu~XHA69rhL!oWY#uPrE($k^0 z(I_4zPg$K|gpAY_8;F41oi-mkMV$k?5Z&GVTJ%QEw@a9!BA0$p#{MN??$lpc73Yh!YLIe2#j#bait!~UNvEF)>V z&vVGtmI$p>f5yOprWQWDxqpsdG7XUbQR6T~TxjxoLlEJHWWM_>(+3L-p~D3feTGZp zpF|%&oYgmR*IObLY@e%D!8_a0^9Ju@d=&=EbsBNF&)heNBT(-o^62S-hwe0l*Ki_z zRRG_iI43kxCv!X4c=Jtc=h=Z}ZpK)QyP4Tq_|YE0sofB(;jCITJX!(9nf7DUF)@^i z3sQ?yDZHSjrbdiSp)yI6QzDU`+XM=;*uk?e*Y#O(5m(acLN0vLL%xDKT(z`p`7#Jw z=CJI#(CplH4YdLdgiH?rOALRY_4xkHc$S=T<~V1(!I2JaE|pOsftoM=>cP?@(d9e3yvRi zF7;TXs zSLTP2hnSRQ4#qf>c_!`sJx`QGT4>R7@Yh5ssQD0c<*|}P%b>O2xwU@>*{H<I+=n3VyQZw?`pyvx2+8K|->aqAag+!eCl{|)&!Tn+Sj zTI3Hlld-V7_&>H;Gy{uNnTU#G5563^sC8%T*)=F7%;$*i@WCpU+IQ_?X zKp(JnoBU%C0!xV2sh4yS`fgU1ev`O{Gq3U$#6+c>L*0qSos;b5pRypLiGoCmo}l|; ztaSNi#Fc#AsABJ%Z?n(}Amo_(OicjOBoZFSIwv^*RZH@|j{aAS8U{Sytzk z{yL(=#GYMaLVQ8Bt|MP36!rBtSw!r`$di@(eZZJ@=PLWb01AsY#u_B=35E(PtGU_pEAl1nUkAjX3cE$^%Mu z`Hbo`V{5aEYY2Xg)*O8s4NGSKBCGQZC)fz*)Fm~E9Im`)&1h^!y(K-oYhH-p0p!+yalR1#uAy61DMG3g~_3R zQSpsl`uS0hW(r3aHGtM73_gB6bMQc=jGT8LDpeM}sEwvC@T;&!vCZTB&W9>1b_2DH6tYM`V67K3ZdX&kPX3agu6BT|;9(*s(M3Ermb@p+;Z zF(DWx{oL?T#RPPEp)B95H`&L-WqBa=lxVi%-8tJ${4$c&rIvKjF;f)ka4ncHRO6K@ zK37aw!HyZ$wvp1p=#PqHC}XZuZ!=-D2$GEjeQ0#KUV}v$G0`wuf|WCS$GcV`gBbn# z>O8EA*OFq)SOZuNujWNV#oIicE2cdtoI1z>rWX>uy#^(Qs<@`jaYjImr%#JUUx7DZ zSGouK(;;1)s$Nc;Vzg_C{e(gwe)44Y->%hpKYxd(1I)WezBofOU-(W8owznA11cpo z3i6;xt0OCh{EBM(_`#{sIDsQpfPZ|y%4SR44joXE1OtY zw^c_;lKEr%^{Wn^k2e1lyUt+_I4<+=gVo~F0~V@r^UJE_K53u2cU{@gEV{F?F(vRigl{WNj|{0t z5ak!%I)$!o(HUP8z9iAd-Di-JbH%U<@L&I6MR@7&BPb6s(X(u4Z_MOMuc~Q(rU$Jw z376wJH%9Bh`L7)WMvlPedk0@$Ss{1UozLtLP7jk){mt55SarYkTCs;8eytb$pnq_G z1W$UX9k3!m5*bp_28V9tN-~Q>FiB`bRZ^+TW1yki`G`+dCCu&&6f1wBQ3oW~J;o8q z=MpjSoy(&4hMvmE1MTHVFbY{EtBgVqi+YLp7MHxn-;OJC<2-A8LDXITGH8{m&^Q$* z$aT`o)hR1GI8E6U6STb|aBW1F8S2hG;1$ZGw0C!#0Hzyp$wH#B1Q)oa(-$yYQQ69O z!N!JYI`%cC@5v6OK{^~`3$XXx*C4pf923;u1C2rdS*xLo@yWY{7;~iJzxW8Tay<2g zRr$WJn;AG(c@Lk4W-Qie*kxG|n7Yn~x*W)EWl|vzYNsLCI@~x+bm-`6FkoOroBFXA zXT8weMqsx(ol;TGDo|m^m2t-a7WtB0eKah*_6oNF(a(@k41&OMPatG7yN_u7E z{hn72eP%219Gs26YF?)G~wmINba?Jf5hxxV9ichoRC4 z#a8RMCn$|dS(m)R65tBpOBn{qiafKkv*wWIf`S6~@v8%A5BZ|6K2Z2}WaQleom^=V z5%cBO)>?|hNBw^e*SD_{C03RjK#L;+%RSW)(0fM|<2~E2x1xsigh`nkve+0FjFl(P zDNE%vp4`a$Lm44H_YUsy)%K7C&A*c#O8;7Z*E<{ogH<b`rJa-w>>jYbJ<|Td-_o}NiEZ=$JX14) zjKe=D?+-;zbH^WHsxv%LMY?|n=rVBeP*+Q*84j!_pEGwq(6cY|dCB`7b5{>#_VZkS ze8i?$Hww|&juSMJ!AT2t^yR~ok-1%RxV35`%}6tijZ3asQNqm+!bh{`(nGGN8#46$ z1v_uSWZ=ib3)T2gGI*UsO_^Ux2CO(^UU@iJU~S*8f_|TRJEw3DZ+X^p?35iLUa-J6 z)0_;?g-uE14)n$oRrS$S;Y-f#>A+Q$m@7(3G^Nh!&((FC72ZAXuA_@0TK4}Oze=jp zoaEnbV88vhU+)yyA#=y$pC|h5E2rI6rF-&k4ZgFIrYx6-Kk+Jl3>K=XgjEmpsK9V# zfs6L=UI%>IJGBV053*jNaYuXDU!KJJ?|HP<(ED2M<#fsy+2^Tcmt{>SO8^>W01L>q zuewuYkM_i1glcW2j}#FcSf4Y9iLPmV*VI%tdS0rZs%ZGC7Wnaq&ceJ%SN}(EEfej4 zPU_vOFrPhQnC7NV9{R;7yQ8Xe_xR`D4PlhNHqp!%#*$%!vDqCxJV7#pq^?0rfosox zJNE1M`Y(#DCWH6#+`Wi3e7W2Ef`YXe??Sr@{n#^Ckh$rYx1T;eEGJmna4gUeW*}AS z9H1`P6Lt#D&Pg-djxEwgBNpY+V5~k2io0!vz2Mk*JQ%o>P^P(~11$x_ZAi!x@B&0( zl3Ip_h9L&PdZKWt-Q9lxALIr+e2o)_V0*ayd!_4#h~M)6ad5k~Zdcfpp37=)9PhiH zp`vu(+ptIlwUAP}(MLmTMv(76q#pIn(Dtq>WCV(2D9VgT|G~re>GFL^yHEOGg*UU2 z{KAZ(XH(^029*>nd0SeanP3v5OTH2-7}NFQp^SpzP|6yev6$&(jjlT3ep?4O_JoYo zs#GShNbr~yv7DkJY#8xomoko z-oK=f7uAb-1uwF(${-VLbCrs0G9(O>3;CDXR{rX9#hC0|ro^RR68X>I`n62z$E$Ha z`!YFMShU+4825_Tu|~PRP!C?+Etox##F@Yy2^x!F@^6;TK;BWe+ec_ik4>cwbge1Rv0wVgIP2&XIQZ+gqAmh1ZtMj58iy;~+j2O^R1qqP4LtpnQx# zmXvB2JFR+>y3Y>MCR14s+#BESudJ*La&~dyw@If=7d0Ui3c9Xr0DJ5<1nyi1LE=tn{&K^9cP8&2y8HEPD!pwza9Xy>wX1_RFsn|e^w0ocP5bIg*MzvI zygS5A)DKif-vzxKJ=OjMv8QQom<#Wq!V4J@9*_vNQbkYN_NshQCOoOinmoQ*#ts@W z@31cMX*3~QN={*u& zBIYh7WqSQ*>$I)NxBF$!>DO3lv{`%B_rm(m>egsaSzeVl??2O>m(IH}Gvp)$S+!Mz zHJ*b8aPE5irFr7WkJWm=YCd4&+<$JN+;`$@iYagtC}06sotd7_$%@G+)+E4JG3rp_ zu|jLihpdJHJXo?ob4M~x{pyF|&)cpYBxD%~SGe|Et6(+T)as^V zIq$N%^#2*-SF% zb#gLOXU_KjF!vrnO|DPdxFQIG3L-^C0YRjLiXb%s6_FxEdJPCjFQJ#vMT7__RcS$r zp!61c7Z8xpdkH=CUP2512NjOzocI0x=bicHd%u~C^B7X@?6ddowb$;wo8cbqc>`7W zXxAYNo72K@08!Fp0(iWr_*0rdchav%$Ctl8|J$II-&^1$i%l=j=oRAkeTu}J{++L} zE`*G!CU;y*=}JM~^ZCToz}DTH-7joy+*~3Hx?~jaf*p>5*KadoK@mtnI6UfhLaMMO zhGs7+RXYY*GOjzJNr(Oc&KQ!wnHctP2V`V*i{G4^$g1$-Ud?c3cy|-e{LG)K@KY)N z)}=I1CSDaC*acwf{_6P>t=%R=lFe0Y1FuEXp1r`cj6e|%mM(zF+_i9s?;O0JRREp0 zi6^9W(uD()D7W{fTcXj+kX8qKfk?!o49!BFZs4C;djV4YBg|*QUR6W(ogP5eMs4s$ zmA^C+AU7QduKdyN)ay3$sCk2|IJ$3{2jw?23+n(U%8Z*bDG<#c)Pda&Q@xUz(p1OC zVnS`Xeh5+5>3yCVk6GVbtA4@U*eH-PGX^VRnNkXK@b8O!Y7;`*QzwAfl2cx@)^qhJ z*kT&cc+allqt^0tk zY`>ZQfh{pm)|h_KBz4GWMhf1yjy#gxGg7Q1z+-#R^=|TfZ*F!4PB9i}2lJ1=v9}kw zI&mbvX9}JojPeM)*~66B-LB)QL%*dMkHi0PT;p{Qn1}J!BAWz106$=9hMq-=f>KlI z$$RdgL4tsJPUI*%ylI?IB_S-gNL%T$_Czr!Qa2fDKFhBLA#wkfba$dSVe{3&ctVl> zN9glC^3C?^Uwp@k^b}S{dr;n#4LQjZx<|S-(J|gP$6=I1AU!yeP=wVO0&CcI)%RQ? zNGt5A=wSf-5>WZbeqwcgtur;DYRQ!@)oOa0xyDDXJX0lOP$}m@3z@O}>D#|EC|wJ2T}8*s{tr7UvcPnbHqx6)t*>TZ}ow5>6bM5Vg46pFa-V`BgVITRZi`G8wU z$Q2V6thPhsp6T!F>q`@7*CFW_<1+Upjcr+sNLSh~ zaR+{l6)Kwc`z+rfDcs;|DU!=U-6aJvo0%84haJ&w13y0UL{3dl$AwMNb_UR@7(r( zl5aPJn&Sk_|C^Eq{avbxv`zRRmK^_TDQGgsRz@NS?N+aB1Gv45Q{R z$wf(37KOuGX+ZCt;prGN_1sM4I&RrT6@$SbT*v*Hw>HKC2WSzizttRh>V~QI(Od%A zCeMEu3tq~2@QG^!a+my#zSR(eV15;)%n;JFVDHUPfW@XieDeaMSSN>xv6`sC!zA$k zpa3+dDaKZOalG%E+Q5sQ68>+7vd^I_!&5QqV&NbdI~oOXb2ZbVP`}4PdRdYh6Vobw zQ$_=2#JL!=?gkU{Pq9_86r=3Yj4gnMj02jwHtd#uC#VDZF?4b=CUnx^y)7u>^3n7w z`e6dKKYL&QTK`|pH=dRFJZ*6(a%hu`*Q&b$MLGv`GUXE=-yE<7Qnw8yTg2W#r2+VG zYa&P}v)i9J&S}DhGwgS|_Wnb!&qW3Rw^FAXEAo>FIDsn9G(Cs^dM1pS>?xp9$&YE+ zxfLe!prxYzVRGLr68osJ5vx4K98wLu(CY=Huw(-EKz-?kYE|YQQ?C1S@)7A4*xq1ve8ln-1Ll+>(Nx3X1yt+~H!RPL; zO=et!XHskr%)6Xwt~s9Xa*Q*tWu0O_$uVCG_GB+s`olamQWg}xRItufvypQDW(ZIr zB`iUM>I;)v*C_z2GZxd$o^Feh3;;rUR*u}T^++iMm-%u`=)$ZId2pDF+T4+i3IXB} zUz2brwOER7aTA2?TJQ=3VC3``V%DdA;=s%zlz?<;l0!t0U=hpsul`v^c<2AqNQKm5 z(ZQhM{BBD>)7qPwtVE{UR;%8k1IB$wUWmcvt7G3T%W36V4wonb)p@4&4en(optma% z%g`Tp8#vOstFIo<&zlp|J@|YyB&fLkpWPF@USIm&rtX7rDIlg@ED+n){j!S>PJ?92 z(-7L`E8GFgY;*0ai{vX+cb4y-)qh|b_v!ra4h&u{)I?IK8IpzQ1J1|F74%Zyn*wYV zK7~uFT*JB`h{ucg7ZnvI64EyPy|Y#qGx!6{V^TT37Ul%_6s#AF2}cAC07k3712hG< zc*}x)f$rJe8<&c!P*%`H_r`&~X`3%3nX8!_uEO|&lR1OD=`sum(apP$s|%5@^*&a< za#v7SvO2KvXZCF)gYbX)ta`SplD`??BlLDsJSiGVKGW{_ z4%t8d)P9MVet)lgpl`oQZ?Lg=Kx6|#GcSd?ixQkqXI9D5IWVzE&&kfV?vLU%y9ge8 zb@^^ej=gZIZZ!VF9OHOuLxQSh<+xN~6^} zy5k(dWjpigQo)23{Ts?F6+xUZIp(v=Glc|JJ5!VuU+mc}N#bUmpRUNDbt*iMI?cDW z;W;oMKlN7a6LrOjVyzx%b%4jM{c{%4_7s@$7wrBI)t0$&vwISo5fSM+{(iQysNy@z zS`6j#Bc$q|R&AKz5yrc~PWHHSuXTXsz1=3FP_md`y{pZRxAUhW6FLm|OClcC%;V_=6g8_3D&>DTA(zdy5kb?a-+jib%=XCQR# zljw?87FTtrNGpjAwcHPf>cu7-O;&c}>BEGF4rL?#?^Wq)`VOh#cY@Zb_HrK!Aui76 z<=Z1|<<7P`9Nu>-!DM+ymKIVSPmfH^^*ns@%wnEofu~0R@igPTEoHa>gw8(uB~?<< z57wRcTGYwOEI|VT0NY~-&2~u%AvL2SphkwrP@LWIQ-sF0s_b%DT0P6is-udrrAo%f zjOX&Jw8N-M?_`jZ&I2(eCNY~YKwDwp1!nI_HF50E*Th&c(k1kz+!FZ0f;H{0^>voM z^y_y5Lxi{f0eAsz{?&8ql-K8*ZJ*tkEeZy2Udx_!V9Q^g$Q(xwI?g6jWelq1@U}FO z17q#$5Wt!H(z5iD+@`hlbuc9FWlL44tRSwl+~AlCn2iUf#=o#vw_rJ*5B8bqU3WfG zQ=-&R?Vl1SOO@9ho)D2B*zqMjD`s6zaemVSF?ksMs&ZFn)ygr@rlKdZpSOv+_cg1L zYMP{f-qihj-`QZ<))`9|b!PgxuO}e6-~R4jewMf|#k2_t6C*q8agKdlZ4EKO_8Ws< zJ?y`(@+2ovZwk6Vb1QC)zoG^V-`$H4cguL+y%&;=0#v&swTxwI@0-3FO`7z@I(vn^ zfK2yp|DE*MBlLM6nH=y)X_|Ued>lz7Q62nJxvr%)3~&h$Lxu8!?PBuH9`v@d%um#N`pdaOK$Dst!^}f#kcR}mXZU$_!%752c4mb~f322~Q^-f{HWxKY!#7&hl z!dAYrHU525Qv;}~1Kd&+e(KAWsNPr)0NFbTO@%4yTp%ev0jiRC zTXI98xwoQ!5<`EQ5rD`*;jhIl6zIR3swd>S687O6DnOluji@I7U|JP85b55V)>_K) ziYelv83(4>Z6J772wT>@a~CG%aIvMKl%QXoJHz=?bN%=w60%=dSf2Ov;a#&z=*?_t ze_BI|9jXeS$|g{BZC?sZVTdolO-vzHywOl$Kq~Z6*GP|UwdwdzYpt+?!0Az!s%29_ z)$?iDzwkd^oNzWD8sA#|Aj#x^w$5IK!q+%`yhovFZr{`($2T<}t07#t8Qc&!G3fvu z7*HP=PeTUUv8!C~LI-7Pkt2$XNHnCsm~$V^O?B9UXhta` zaF6b3#k&_40-{Y^Ut1#&-K{L-+}Jq+#GTWHK%bxs{>0>g8l%(ej<((B0$uVrejX=@ zA2}KFZ=CleOLil3x-gYqr+Ct?&r~rUOB`X^xz|4AajWi|u`*Re8 z&8;N6+*UR>g;YxT`8~Zawovu!(kc`LKLdXI=StMcZm33Z4Ll~V&o{>w70E7>_N}&f zToA*t7&4$PI5(Q`hW$7ql!xP;|F0Xr0Q9alzDD6WtrVe2plG|H9zQEIW0b z`t*r~ywjbRt-GDs3rl#?ogw+EgcMWOH*gC!1Bxxnu!u3Em?Jh1^O>JoQYDTct zG(u&G@i711Jat`9?_2`e=Bg^XDiYgsJgfkiICZP)`9B130)!Y>@1n>CcTeUrbCSOYb=oz5|p?CV+ zV2K0s53!}VH`xTZ=cFlqAX<+=nm4M2Q0}1g7CNWuE1uoYTqZ}_2COBIgDS==Mw4kZ z;e>coMDlM%c?q<52RpBO)iaTejG;VWB?Av8kf+b>>p>i-Ha`rAB;KJ+~4ntZ~woWSN2)HNqfpH^}E1ubw&f=TrBvG)Ib z!#gNmbzZqcm^br5y^DlV%{VZK`6-G}edGnYX${p-A%nXVt}$X%V?(!RG}@_ht-eC8 z3st`wUSY+sJWsxuKC}kHXB*;Y;eg$DD!`Do*;5kVxv^HV98u$eEpd%KdDIIcLL-2wm0$DB&T`ef`$e&IP%wQx| zvC44E5dRt2{d5{$yO(sS{yT&E2WxZ-u!D$rdN0w>=d%B-83VkHJHZ-aDW_5iTNE=t z>LX%Ejk&cm8lw%ncS%~In4*3Q!V1ftyJOV?_s)$;A1Y=+zLnekj&Y+ytjJ04jqU@4 zICc2WYp&)^Mfd8oYPj}UK;5n~RlNj^BQWNzC}h~p>u}~g_>r`-y14&C49qY4#|}u3 z;ceo0(GPJ-@!rW2mW=G+$|hQrx+|u6JpKrsno;?t#!e>P`3{Z=n1>-dfWX$w)D7UB zWAa#-_^Bi7ass9SOL)XIP-7AV>3j5|EJ5Gj73Sz~|I{$A`dhk(ugdRcL>4f30{z~zFaAx?^pf;W$UU)s^%7qB zwqZhues2PLoDDve#iS49PoyKLFo|~;u5BWfDA<}MGNiO(T?m_8oQFxYC3a1mfe%#1 zHwN(ZRcAm(E8E84+vXOmXGk%<)&yNK;yZl_HmtE9E{wPBClEP2@ zPZZX#-7BAVG*DMr_Ut2IN*THC^*?21ER0vZF0y?N@C-4#jRM6S%>AAHbdb}13*Ht>;BfxP!4qksH`|CyT5n0v@Dh8JCDaX>tDuy8Ze?}AKS6sZB+L<&3~1o9XY^@bEIu3@1+yWdCwA^=BWaKm#VzJ2%U=;@q236` z1DlR!fgB>%p=#sYxT{m?Lq-WIAiYJmNe(0xXv@TGO0l9QQ-wAhi$|aWxnI$(2G1UX zB$UZvjmVIz2e5^_3WS_y4MD9pY+HWCbbBm<3Fs?PPu$g8zaSy!)>0=-)K%_Tndox| zEA8K(UiSEXYyIN5oWY^!Mo9p6?5pFV zN*C9n%4m>cyQr||L`zdxUO~$_n5wXnLPhHEbrkKH)6-Bc^|+hi6WBBDdqP`)^rCfQ)xI8bw|j`HJACr|1MV z&=T=P{6zOJc$FEsE|Bw=Pv&;jxr?RQ%6`dd)p$>;P~5tANPdZLo%%4$7DWi5t(Tn5 z)_y*+!>97Hx`Wbpk`G#nD`f^7n6s%n^+PzpjIN>?*r z#c+p%wEIQ`fW1J-M9cayyQ{c}BZ!GTz?%ffoM#KN0$FbmW|D499HqWc(7g2SAt!nZQVF5#| zRB|giadvEU* zQdgUUuCC%6GqCG9X={x*DlEm1xqt*H%-7@fY$`|D022qi-oNKkO0Cphs93wTg0pZi z<>%KtJlfqB)IsHfLLT5$Fvw5L@VTCu%F#C>9fH2+8e_g>9 zP;+`erYDOZtD^VuH?)(Xt?hu8j^}f)p4p?V;FbGRZcoil{~mAldxQRz(QnG*x4`c` z2U0XwcXD%Cfp_X25X=ArFpotkYKT|ew^T~VRn#a@=oK>wdq?^uNAW`|TYy{rPJT>5 zAv}1oQVKhoHW{PIk+KaUK0D{@-LeS`BG?eE4l3ccVit+1Eax74c$wrunAJA2xr3Z; zFCS*T<}6K->^8DP7BsIf?N=QY_P+J`dW^XU&D;6hXs4f+~V$7>Ua0)>$DZ6LiES^B?0jsDu2ZAk=u!YA@NmfYVRvGEnJ z^w%FF)PI8PsMJ$~KYft#B;Er=WptXX@#LW44p7$h`bcLplxLP!mCuZ$o30(8R9USn zx+o*hf)=GI!~1wmO<2(#k%P*Z%J@rj&m;Mhu;queTqO`ZZS5^pWRXfEC$* zW&m08TZ_qW86Y%;>xdF@Ni(Br)m>;!nl|~(ukdRUvyYWOyukn|V9Fz7sq4o13b8w8 z?U19(`7>9}z|QsHRsnbW?I^~AJJ%m@u+a_;sArEKp~v(eyW&tSjq94RQ^4UAlR-@i zY6yH!!YpW@PcT7uvuB`Jj>_0QwRUiHAt^S|CO z_gr^4Z@BP+)*V?{8Z12~j7TaeHo*oCe;85MgJjt{+|>T>DM<;}XQKUezH_H=}5G+ySU zZbg;H<0b(FivmUq@X6c$f@(ZRTzc64(@c2Ba|($?Amjxsr&_sUqaQEan`BT*_Nc71 zaSmu1ocZ3bV0))2PQewU)tAk}CM98b6s{a)qKGkhzr@&0Pm~_5e@tAIdA^Lh(}lVpP!ES2WV2q2m*ceoUXL)hwqlZkHru>S0>p=J}s{Q@Z#pToJ z=^%MA{>QvrJwTVA(FE_B8lQt0c8d!j6{&^vZ>>|nAifEh7F~naE+6SolCD#Xrb_GX|O$}Pm_16)`-`6_c5miU*$|_r^n~B?M7xcdsUG;*C3Pg zHPs3H9LTso(Ilm~o<0KES1);?{gjHz5tM}dgp&JjD(GoY%n`IDmzHht z{M{ipnI2RL`Hgahzpx?Z>en$wqb%`OegaG*EBLPanijMqx36bv5DSfB7jn9H1T=ZI zt^xBT;%ABa{QExVX*y`=d)d*&XJ^aXQn&UncY?ZXm%(3zbjl=q!OqFF&hwyW*fskW zob$^jDw|vzw-JwbyQB(x94ZRe0U}4000lA#cQOD5?+8G~q+{SO5HiBC$Eo?KU#a=W zhKnw|ozs;|@wHaViQ1^e1W7;^F|6T z4bhS;+hnd>t9;^XyC-%z$DCkwf$|%2dffet4~L`G%FEssw@XKkIzGws@SJMy8(};X zMtNou^~g%uPK;a1IYo3=sUrI6NBwcf<=F;bwAoaYp*W%hx8CEie-@-x%fi*9=0$qM zcv62BPTca!%GXssDqg~xs?U@@lU{VuQ$1LNh}>U@cQEb0D`c6gvl>DP-<%3Ym<<_m z&*6HPJHUwjQl03H7jtUum^vw#?+F4!Dw_RQv>NLI}Q7~EU-c?5dG5l7P zLYN)r5>4uM1ZP1rUCB(m$9C7sqk%O0l$fN5TYuTzpSJs+lBdN#s2>2FAE&c`+W^>3 zAiuvu@@?%GvNOJpmri~RM-=FtKJD@K_p7%y6Sz&@64F<>uB9;Yf<%R`A%g2FEcP&q zjH|i)eL?R&jnZJSy?}$LM+m?>8U^ZKQ2j(pGBS5x>6c$4`>yN7vG*f=4JY*gHUW>^ zoOC5M-YBB6!!-BK^ zRms$z?q#JjA70zz0+lV>RtT59&Ot{R*5pqD)&55{rNniH5o{MTgfPaPK7+H74>r2E zFpdgn1x`4-v{zmcn9Frh)Z-ZW#iIy59BccWHXzPH9j}daM3Ea- zQ{#Xs8;#YllvfC>qiQm~fxkoGTY?s#+=ZHL&Tf4yyvI%C&Q6`qu0Nenpqy7va7Ovv zrqqf{WOYG_+V3qyABaC-Z=5z1^Rgf}pPec2URLKmbnDddK_8??(Lg!>J-x(YS+20d8h>NrL(M&RTx6u zCMPs^c2iLuB2V($9E=<~xN*aeYDq0p_=as@-2b%9MECEVj)4CM+YB@myWVDn$9+%p z@h=&A1rVhE>YsDUOUY~0cZu+}_H^rWwVg|$`*Oo^NXN}(Ls?d3m=@=N@{K}?LqD*V@MA(i z(Xj(t#-E>&nxq{Zc54sfDnea?j1{_aT@-BQEw<4zezf-Sd}#Amg7!0ETFQxb?qYG% z+_4!}7@79*a1zCO8`PGen7fB86CJ=;aM5u%gv3M@Huu!;6||42+IPxg997U68pmt< z!_$Rvi~gtjWcnNUxgC0!(oYDO@4BavuYZbOG?ARB-T^H_WCw@XRaQY33JcCUfMmq5 z;Npb7Uh&Ne@r03-L=`;?`7UIUUqyH8dgV&E{hFPJ;wK0ipKhORp8}QDK%li$O8`wMc2E}p~Z-t5!x!eMgrftamkG~h*Z!z@2Cm!Bfskg~2K&$iLz zi~MfKjZb*pixZjxoZGJNf~O+o3;J**{_D@&-pQqG+1jXEen=wpc~DBaefP*y(W}S5 zov3Tlo zh?3F53f%a~AY=gTdA?U$6!h{A-=A~5(WUQ1(%q2wtRZ4xdi18?uGQXbh=go=?DD>L zFWALjR%BakF{dH(TAO2h6sE_V6RC=68Yx`NQJ?3y(3e=?P@13Sz+aii*O!@0Nln0T zZ2XQ5-*Hav4}Cq7-3bW0Cr;0<$X5gU<$;cFz?`V(&7WeAdMkPd*}%niUgtc8oxg0< zZdiydqmZwyjezc6yW?i#4^5-E!W{GZ^Y2tpb59i^uH1=Iw4HlW9S$oNu zPSfWDoe!n7oiV<^sdvWw1HQp8j)kBmRFi@-9kQ3DuOd-rYj8v8;*a(f{Q;BZ`4W@P z+QF~dh_As{1D}(qzW%!k{=>rng8MDUlX_7gF?kIKDe4|n`FM05?AP1rhw;@&k6tS3 zLWJMyI4B`z4b1Ih7BG_QuM+?gk}}_bx|qD%pl>SuAGOE9w;*(;?x$)YBLA2dqsI$Ek1U%3IO#|8jj69@nLE!6VD9A+b+s4s`9v;)g;E$pW){N_s{QN14uvw9#n=b(!sYq}O7n6$kK zdU(0z@Mgl>Iw9)CL5U{I>HKP0&VmDi*! z0e=1x^a-IQ&rt>5W<%2dmGgY3j<@h@{x~t713%b$si%tIz$e>{eh*P&2K84aKuNh} z_o=6`0EKdbCAVF$e0p@HSY1wA@BP#P%>2Sf#WqxHcN1Y_R=bKJG<;3G^qmL39t4ry zx6HJ#oTs7I}iF9P4q?mjBnDAl3ce!YiB?1gZkS(2!EScNkvD+S0ow0gwh;X+Z zQW$s%U+gvt&AhfV=rAyrAbTy_(X3#m&FSzfL!lw^_2P(}9}bNw8Ldd%M64dB2ti7o zW3*sjw+21H7P;-8O?$sSVxho-&lL>POGIDqc~Yu9EdD6iIBn~|rbdv9mpq>5SjkS* z?e9FwZ^<14cfg4lmmSV!DBR8atFXrF$7NlKBZ*H?6Y0!UJR2P;BG~_VrLPR8clV47yfswt6HaK^!aNE{#Q!H1y3{?4IYXf$4YEf?EOQcC(4h^IMKw-Ia6)rCXJ{JQi*`gqy=T$+@;P z>ldR32Ku@Ghk{rnHt1fme*4R}{@$tu3{~_;a=1Z)uU~3K!{VgOH8ZBq3LO1k5zj3H z3evPGLI!Vl^wfJ7`0Gnk6B77FcdsJNv19IADqhJoo0?5Mx&(%GlAEZx30U~}d!XD= z(QIV)Uf&bu-%5Q7Z|a=gU~0zhTXTpG@6E|an`7Ua9iB$E!SN;3TfzdsvW_dSGFh#kipIjE81kutFh!I+?%ENBWQ$#9XK1LM=JIWj(}yXdxZ5Mbsuvi&C0T?TQn#$_HO z?W0SxIg|UbAPY`bHkcWTFvJ*}M}wurd)cOIH=l@vJ(ZZ>)@SFim2|F@kfb@=zqG3R zu=hQvy3HbSRu zllef-7Ob9D<2@Jj&=tRlGX5m-e`4AGk=FQ|4OAlqV!tfHYubM~ULX#>N$`Q@G=7gN zy;IJ75V4(KC|{WE*1pFU>I@3?RraveDn$Mf2`7C5UV!)Wu-k6}E|8?E^>!=EE2t~< zz8;^`P`O0o(3?A_feYv(VIX1B zll!PF#CFW`?>q~ME(dmpXFH+b9w z*)tD>GQs-ia4Y@<*n?Ha@hHUz-LYqi>z#w!Xr5O>hwfl5Tzd<)&JX8(=-l1tbf^bu z@W2f=tOg~beOf(cZLxJ$9&akOY`H8;)&)7rZOIO?E#z7&jioE4q?}dZm1@Gtho8Kw zr+kX$_M=zRxc5&(oN9xu7xKVCrdx5+S@&Mu!%pRP} zclz?3e?8Pf@t45P^KNOMu;RX-7TJ_w`8}`ieDnYM{CxU5TFGkyd~bECB}DrZ)MfH& z+TM2y*v84)zQ7P@3V(jMDH|*MFnVwPqk0HkzvUEME_SV~z$PT3_4V zL>|})I_rsy-ieASX}=qi%kBi!Blq5D(w;=SulMvog zE89kcgRF4N+ty3VsJhJuI`F-S;j}fbFL(0GYB)V~0!S)d9=IPMg;ol!MtlZw4iME? z?cdVBLVCJ4>R)#dxTpW^O^la}2ZQ6$WuGkmiyQc18vko(q08Kls#b;!co^ zxgVUn5^&24X*rNOA%8%kA2n4~DPPx-nsjM`bGW&fXMAVA z20!^GgHLylOw#L`aAHjA<{fa+IamHqB@CBj@*lJAT*xS=Oz=#2ZgMKP>IZ+Zpd&oi z#P#>jsCq@NR)Pg-tqsnvjrgPu2*3F4{J>-1#d*^K+jQe z#2|3(u_Lr7YIW@oBS!hl#ZWR;9PFI?Ud0Y}SOPOK*GZ+%>k$4eFpdU-YdRe7%9E`I+7FUgme1cFs@%sxZ)6Xt3Q7Z8 z*{5h61795^{n5}*H$5z;{Z_m%tDJPc^|0aLK5j2^LTLGbH^`&^!Ad=|+Z74Wlp1WK zuXT(NeQ*wkjRcQR3t85zRqM1~Y11Z40|&WR{Wj|w zUi{pjcl?R4EJqvlUylR1st5P~wfXLNu|5&?5OE8*;k-!K%lz-%dB^L^!}#4g6++cF z+<4t8%7Q?%?Q5_*A)J{qw-7nLHoH`V;2bB$g%`iwE34f5q17( z>|J*c+)fd0dLDY1>wkF1UU~I`TzlyX$}Dm$myW9@3vDliYWLfegS>L3mf82)TrT%% z-Pr`Mrpal0W|fVlIH7GTUnL^ePM3`_E!UrG@Sp|n_Xn@~Rj#5OwftO{A-N$+5|+}c zhHU8Q*CX@iM>c~Ei#GhWM>h`3&KP+ZfHFJ4O4gWfXb};px~~V$kQTK+2U+#70$-(b zs*YS4I5Xn+KzO+vyWm&p4cXtP*k8uh2VO{^??I&zt0Y!aC6^ZV_cpOcf4 z@;FdjQ`k=`HGQ5wf7OK4-1F+{=3E))wt+*^?1$fO$M-iRh6m_YSc$R7t+S_?d;cO~YlI zEOT#>Jf=BoJ!?bnV0px6M|HP$_wj_u@69{GH0ttSSlc^ZIOb8Bf17WaM|ivJ6P+sq zojXkxrT_BKRd)392j)v7-KS*Jznc27X{*uACMr?LUzsGHp6vz;gsW^RKB4s$$ZUC9 z7|Wjjyr_~k<(kVETZ0P+AHUtba(y4Vx!1C-ESFW2C}Ce6bC9+d5!+Y}k@FvFmbsV2 z)HueV`7o6Eg-GCd=XEOfVk9b}hhxg!Fl*c>BXw?Nh1dt3iYw}8+zjJocaJ*vq3YVL zcR0ezvj~jD=3Osa4@XdDlreD!A@pic`~l?s*kjU2exvc_4sz!1$` zHBWJIHxDc^gF(AU>E&8Tg)_DLR=p;4i+Oq?DvxTSqVCbaORZek4*m47h?SNIJ6qh{ zJC`*raycFPE#{!u zWWol`ep4h7%6@W=&8LSIKBcdhJ1gAI)3$+QxEqvHIBTqeO3zdZPxD=O8!cT;irw~J zYKL3bLR)mU%zNIN*-|}lbDmWcoK|b!WN6>37QuBs4=M^{J@g z7mQkWFo_ESp{~oZ+q#MaXx*?a9UF z#;k*T^Lm7qZqP1>AG2_{pb>BK=#jLFKGnd48G_Jk75R|T{p>wKGE1$w+A5DO5 zH?ykmXZ}%JfZ?cK+jH5g+69i|7d1Dva`KH32ltQV@H++9u4Dy!aN-VTm&eN?zCN_h zM6?A5BOgj<&nTbx$|(h6lyD(K*luxzq~*0}>eHc0N$+F5e*i z=2Hk`;nQ+VtnW=vBxqw^Y^N=Wd{y`&czlO8S4!r*GGik&Fx_!upr^kJGhZecOGP^|A zyllKwebuaT2}Y{v5N5X>Jmq+Qd-QDq#IeGUQ%I_0uVGCn%GJ7lAWH~c8*zha_&|T> zMvDl){$g+JvR-pg$PzARKWLgZCTD9NwViD!A?bLi<}P7Nic;IN$GG<8CIW!vf3S>w zW6dC{Wnf)&7Krxoqi^|narCu`i#!^zqu+9LQ3iafN50z=crdV3_oE9(VC})kR^!#9 zmHfOoT3Y+oRZh^+?>)L00R#XZ043Hn06*vFMJe$6BnFN0u}7;tx^M!Pk2BtTOGO9B zWdG>m|JB8)u8~FyU4C}e0^9&><$AfQ8^<90D$#YfnvdO12KQq6jebQdANKJ#s7IL( zS=}C9R^!3nr#QAE$Klt94*ai*NcT0FZy2(^)0d(sOwO5VmasCVs39-q!oR=gyfKQj zF^!esiji88yUOtJqPGKE0*RD-(qPRg=CG#;$UeJ0bw^#qg{}%p z$%hNzJz`-S9~!k+7Vmc7N#x9n+!+%DpUuFuaXXYG!p<6y%G)x;dOeZOJG)AD{s-2< zek8)RDKA|a&%NjfGs;}Wqsau*2wCP`rrmpUW;Ldvf-K8HI zf#rw0cM|n!MC1~5djtvX$VJT@+OHRLNif)mJ*H>4@>ZksmAQ%N7Y-(>?~erMV7kU+ zMc4;$=(wv@17X}M>Hg>=$I*cG$jJ_uK#d38ujeh^EEdAZw)$4@I<3(XPWTd5P-MB) z(?EZ$qy1FDi-CRC!~Gd+fxT#od6WjTh@x05$@kJHPo>)g1i^-+;fCi1ss|YEUwSIg zB}j3GVuF~S?9wT`=e7?92;^YjqgMyY+h6#m z!lOk^78@~+!dY9JEFW2!6Y-OTn9z>Kg{HbIX4{Co*`=?@4ffOM=A*^m4yw|;=t_v& zjIUiy8b-X902x0puUL&3f_Y|XRj7Bk23YE|g^4>eVL{_E%Tg6tY)q7vPkB_#XFpG_ zZN&}Tmgf0PXs96D8rA~>CPLTn8gbWKfgA`?hXb+Br7qePuxw;*0MSDEdPSe!Qc$1q zL7=nh(zif<^?1ze)%){boG$qqr5}Gd2sNZWY`T@f zv^{A{p=nQv>^FWOyjtBb%Ig{z1otR?r#%rJ>l#rm(K|6Hf`AIQuHX{$s3q3#BBqy5 zAH-b=z7L@MhP*=4BUqmpxB3)-?XJSEX~-j-K6my1z@H^XTsIs=kD`P!kI;JSLD*{^ zlP5n?B=w6dK(!z5GfsCV-5ugXjLAe@S~uyqVj10PeY@q&&V7^fg)K(>p)U>W*G)jp z$Rl%b>gB(9q{PcBgc}k@6K~JSaN>b7{vK#n|^&M$Q9x18^tM>`b4_@v3O#do{S*JjbDRZ_4Y(QR1!I&R2Z0Zk7bQ0z6~(+7t1M5InhmcLdHUfd|*1SH4yRS55D#e{Per zdM1$}$l)8t-JV`BEra@^Sz#A68BoTSXxw9wrXz32p+8fi zTf&w)Bi`jF#bWj(&{yrw4$gA1gHuW++_}sxYUPn8)*f+h339*8uro{Q+{g@ns4rEj zx~;tPefVo=Qh-tjRf&4!^)rm9kk)OLb9++nw&fouyi4lasc4)CX;s@|v6tBp-sw_G z)A5fwwwk^7q_g0?GPXK=7UgLTO217>g0x==eXO}-Qo$LHgE_vqk{iKhffj#ot%~!iwl;>LhKkD8(D#||k z7o{8NP6rSW38fpQTUr_kY3Xhe>F(~3?rsDGq#LBWyX!vKzVCa^@0|PBy=%>4J&epa z&)(l%pZ(c;&_iG{AQQ<_5(EzN`5y^##Gp*2_xoreQw@Q;x8e@LValmMM7#p)qKhL& zWP1oMJjO0PKKw^~)N(}IH~n|j1en9W5C3qI`>o@7xwjS=pv)Vo<}=1Wj0nKX$X+J; z#x@V==OH-BZ&215Wim8lMV7x;l4dbhQLz;tD3zUK2qqXQ(T)s~DliH9Jfv~xSALVw zd!UU|&|f{)TDFFNDH*Tdbuh%AcsSBs;`~bEfIK%eCr4zbM?rEBp~uV@LLy6FrfRXG zpqjj0nMU>F^6>nZwXlcyqP*C+*F~Gs({Gy}0L7$-!lU92mH|qs@rkx;QjCEs{yp>1 z5UC77-gtnbM@Z;PCCy}Q+5AkY*z0ehx7dwcZ^)p|Mb>*K$6x?J?#yVzDuon_L zKAG3mpwtVvDRm4TiawKry~2u6_W$~%d&5DDX)k=qk0rAq+tE@o=%bSB*q5xbHA3zW z{*u9}mBv|jOKAfW)QNA_v~TrhN~VX zl`Bw+-WZa>$nlaLvn%JRis7YLW%#yD&47Uv^V~NGV@%#9D?M_`>Ca z5-)tv>1z{(Kaa^;yRZC6lLZE!fniZ2)taWZ!BeQj2_0s7^bvx6NPWm1#$+YQIcm8e z;Y8l+Rkl->dd?&qP<6<}7TVXn_@EbRZ9idiDlJN$@gyl%h6g9Qua$CWXrHNs9r1kNcpHIn)gn*hN13957S26Mlkb(&q2#&*bScw?IztjdFpi5H|aA$;9Aq&Go z3#bxo@d*(N>#arF?sJJOWp75r-*zBDinjlc*!$l>#AD<6z37QG_2-7} zWiLcF|E&i5(V1z+1pHR*$p=P#qhlv#1_Crc7LO~Zl2bct_Rr#BkYGI>5cI*>FK~mF&>SpI1Ni&j%H2d$Oh0z ze*P-$u#zd6x(*IeRbNTsRs`J&m%EVzo-v2}-s@`FpzbHhC4tS6)$42)F(8o|PYTK+H3Sdggr2>a zVg!QD2OtPoNs{6sEaUcenB0dC(2wv@nhBm|OkD!l&S0pVX`dl7t&Z46Xp}))Myji* zmA|_sx?tIZ*Z^_i0y%?Eg51htro~b(y!g6P$5L@qaFxJ3e85mc{0xk(1J?Jq|IyOQ zSA>}T`bS9lX#@W*xx(MO^QQ2MHlp%;xc5`Xl;CsSf4opD4IXJWnE$c7^azSkK{dPS za{lDy9O7Ap<9 z{%^-fF4$eVz7~Gjj(aY|nZ)AI<}+(mKp`y6eVKKkv8YQ))E>rP$K5mQhY4T^-G(ST z>gC&N=_Zq^S3Pu370W`x^$T?h>^@#&iEj|xCfI7$J?dOO`q(9tyiF*cI+hkA06yB) zSNrwhmaSW(QXQR*(ZY|PBbu9KucuA|E%ZfwSYHJtq$bu0!L$6jQ_)^|Vlhy*)2{XT*gLJmhRTKsk%GV^jif|EoIh*` zK(SE^G6reGzT8%kd-%?xH^Y-BMUV~@s|H3Da$PTf2wR?L10V6I!qE7o->SI9WlaZDbK%h7L^!q zPI7_nye_r1P1>_0j;3(@0_2=8?jyyAEv_&j;~W-Tf5i;ba-B^jE)Wo63S3sK^FYS_?epD?q*WBKCGHEv6ZXz{aEPa^S-!R9>s~NsGmOJ+?7I!wCvQhN2XV zYh`%3Wil)m_taeAGrR!i^U|k%Ew;7>D8(d(5itn^vf=`#pwhxNQNiU`0%Oz@Drq`q zkpdB~igRg^%2=pG-i`U_3PLTJ$}oU3!gR}avQu#WsRP_V_a)$t{{8s7m+Zj<0$Rvt zgE+%V-!&Wa3SzeRn_jfoJkq7v%J74c=33D1Q=NwlY;5KtUa2$Pl+ViwQ#94s!UYSm zF;x{zRW&#f#~z0r`KXko7)Cxe%-a0O6FVeH{d6OX$vCdkXcPdEC2rf%&+Ghf3icH$>u@DE87Q;vQh`Uj#P5w*s@DI&UMC5ms{%}C?tTQp& zO^u6|FRCaG=?DG)?Gof$ytqts-}^f`{VD3dOTu+hz%K0Oi*O>vL8DsEd~Ef-r38*>KRqGBK6Cw^3Jc`%+5RnYzSr*t_E-Ncjpf~<(O8Gc}+$2=7#yX7SQKT~k^^|y+w%9Wv1wk9WlTJz7l#QR9 z17`3>mtjs%vu8$9jiqAwbRQKMDdUOq6=e5f2OTZx6jmOcE>9gd2>4;~Dm?8^oCFH( z4nD`CNEO3TEcNkB{7D^u;zWwQmYH)C?(CWPqb~zMol>Kge)LqX6VuG!GFK@BV6iLp z_tYN$C`op9rU;|^B_p(HEg?xUoWERU8=>-Z%Ss4^y8B_xyQmulLw6C8{4w3n8Vwo9D3gXus^IaH=S;KJW zrEY){`Aa}xDt7WnU<&9XWEW~|p+<)0ZwTN%Ni{e3{o+1hd$?=hS(5qD5+T^Y4d){x zgrzXQQ)Iv%nJFWZYbr$xH69!jVPV6Bd<7Bsz1XICr|U^J4*n%&JT>XbHiAv2ppdvF zu@5eFv<_JY7?hYAhqy1adnJ=qX-jB@kvrUm2nQ$yEwo}=Ly#7&#U%ua(7Hm_ozLkT zlw}L!0|(^}SFn!XV*h}e796NxrUWAZbAI&PSfCX2?x2zi7fn{Qbn;Yg!2h=o`)1b}B;2!>8>W~~y=mlUd6-E63a_JKEX{z($`D4+5_6-Xcf&MH zEQ>92Qfa7|d%SU~3Xe}QKHw-cC0_FOwK#j;m)B{I(3uqNQCR|9@A80J@Y@GKB1^Gz zy#-%!R?<&T7fQ`44|kjk_&QwJH7EYLzkg#lwCKs!)SD&BT$=3nN#Q$|QOneV>5Ap< zB~e4k{pp*bb>fMS<66VXl`eDxN+X=tth&pp#Z7ai(o9PWF*X{Kx5|Y%>GSNmoZd7_ z#)qP@boJBO^u9aAvy@~UFCV2DycO)}V?J@QXI&v@FJ#_}PnH`Wg=Wu+1JzX8|Ak*mFwHCCp?=KW<=vGzA9=6)hqSa>jE*NMllj2NjIs1wK(a9>N$E z-t)YNeyM#Pp45eW?>Czt5&@Xh2XI~5IuXCrGnq@!p@xVPOfBqi2vw3z?(=;dD)tXS zg8_m9-GWe{ceW#Ok95T$#q_?FA~I|KeX;dIiaPmIsuV-$rZG$-^fHwqeC)m;Wp9a& z%=9s8rp2_RCz&j-C{tgMuDslOiS#mn#+^?93{FI_oS8$&+TQki2>$D*);oB6&i~01 zHD{3Dlk~dj{ZW1)iVQaJ=gU8YP+SWquPXnwR*bj3TyJo=pIxs!jp^{Pl#0Gfns5xTdg6!TS}(Ez>(X;mdd>~4TJF{tjq7>A-EoVqgM-LET_T@;Jt2GfffvZs z3cH?OI2&1xP;z$4=2TEUlHs!f8a`(s1scAVf<20bxw6^VvjsD9mP0=a7AMx^wm{~| zbXUu4g{)JhhH~xF(fFNO9#||RxHFkJw9GQ9EUoNvtFOu*YrT`6B+;I2ASuVlV3fs8 z<`ZBQ|CyKlbYc-?^N_!M(Vu_tCuLeO=sq2@{QC8m;s7Mx+dbLnn<+B5zzdk5Zor1X zfFMK|L%x9Nk`s8q!SjRdfc*4i7@AwWGMSoR+J^Oeg+K4Rg7K(3d4BRRqve@M*svOA zzF=?H$WT6Bn_>;%K`gR+l4cwQ2{y`fkD|bjqStcA64#BAAEdVVDk3N9;uH{1j>Ity zKD1^V+-wngTn2n#2^EM-&Fu{C1eCF4sAIo@UQn8=x`_7+qE_of;UNR$Q5c;;zw$s^ zi5ov*0d-Ytzh`4(Pr%=Ww_=6JiFXf11&KiCV7+S^Sb8aqZR-^`1WKo1M-lNP+fu`k zVZtE$!jb5xCoE9vF`pqKhYMqrXzD1&2onUy?%@LxVd-F>=zFjOE-0!EeX* zN9FRnU|ClMLb~gmtD(!&-|v9S3vTyaff7a#TkDKVe37mj8SO@$;!$`o0LIx(*l!$U zq>xphCmJU+b%qS?4{I2}JgO>wYw^(}M7pAK^;I$~%|)6p$J(`?P5IZ%b)ePb%UrPy zdK^Z}9Tt(mM3Fm5rojF)P47*XrK^h%;XTgoK39=J^jqw z`?509*l%-lPZ%>Reyf};kyt;^8-}uOv)6z*+Y-IKl+H$ZEvA%Aylbm(@{K0T1Ydk! z){8LhDzo%B%egcKW}ZR1%>hR8_P4ykp`e=Dkw}9vifEf4o5I79c#33p-t6ND+;pUm zQryb8DG$F_B0bb^dI+(p;EjI^=2y1L;4v!EJpDhMcC8&Wpbt1s?8H0yM^#P$J~#fo z7*v3RirUN$5fZo+&HPI9f&~=}^iI~gWQ8oy#~lIW2SbWMIOG@YZql)=ZSDhoBA?IV zP4h@jvp^1fCqq~{;%zsTUiydl2C_*b`Ff>-skeholEwKDLo@D`Fazq-hlb`axI@7C zD!+hogb!=Xv+zIflZ=m8=YRLNDp1F+-~PW8Cx*lqXrY_#m3_7;PQ?+a==~fZ)In@) za!r-i2zfs}&T$BEa&Te3nk=w@)U#9#1>s`)FfSk7&xXD)B*Dc3t@+rk1K&IW$+Cc6 z5tOHoF`=o1F$6vdWkTiS2MB3^-BcvV1j=U4J^?r6;}~Fv=oZE7=g^hS@VrRjz6^jH za|aQDQ3X5<CP6brYTlD0I_0iigi5AoPJZRH!nN@zMYWlq&8?TK#4pb=hj z?7ng~m9C>2{rpIYWmp?<{C-d6ndD-XeW@9&tGIsVe!39OG}(4=bB{+7oNdZ=Y91B! zCYab3E3!9e3T<`O$VbLcgd3mSc#!X3PW#fh z73d4rKKF$kaRgfq`K{q|$A?;L2*#%+IAYP*j%|)=C`aEWq<5N^Y?L&p$1femQpcCQ z(@^PD83{Yn5+1jbtuJ|gxP|XE+CvvxPv6himn-TKTsu+?6=2Q{=1$YBY zrQJl18iVAwuf5_T^co!TQdtLwul|(mZ{7T_hMa!shM@wW(2Z|rpH?{kP2P^tf|%{Q zSL+yyhtCCCiyYLkKjJcWC`RZrI0cJTf1ey^WwKx&FsASaA`fM$Xk|E`I$<-=$RZJW zmMn{luN#C%Ha9{OaIXV69)jWvdsz2S!zJvUw z!d?E$5{W#fmogSvRNO`@uUcal)hx-2YCeeeVd6#Ur!mJa2fdqG33x{KNu?FKXobKVvu5 zi7b>ekQWfgIkVhvXjQEXB$TcWWIR%YG8h_BAhEJZpJWQFq;=%?SYc9!>9A{RD{m2(`b7Z;LrJ!eE>Unaqf^+tU=L`x zJTh3lQGU)kz1>IfO!ZNCd$|-;{jZb$=f#f{M{5(!$LAO&jK^eGLL_Sz*;)G^Qf8KH z?!WK6dVrJtjwRp9@O3AM#uT7SPJ)^Pu?DS8^)BzdUD}H<-SLAENb+_H5N*g%SjC~A z91Y(>2BiDK6DG_ElS;b%d1QCfapTXI&5-N7?v9+IrrEeVJNSouQ<9?WyRq6M({^2+ z>%ot5iD+3v4~XnP5IMYc5z$2Qfh3CaSQdxe0UCfWKWxi)x?78OOR=}tQPAmr`q^W~ zhXPHaflK*WXS}lNVjpoZFaCfrfbIil9sGt0m6{06$3Pqb1n}4}m4M1;J|rl^1FQ|K zG)kSkec+191%^B8uFFO{uhi-yUK*=d-;S+yeSXha_W2k+yj7%j zHD)POC@zgqp)WJgKsKAr1_(5Q&V7+xhxcHiGJN^%7K1X%y44AZ$KwXZ8m}~Eog|KQL!x)PgKG0A1ou!SA5-VG^jB| z6ZKX0Qn?2#JAk}by&Eqhb{TId*Q@ezMX)sjGtl73YXAy{DJjD>>ttILZjKt^eltWy zBW*>-_$j%hOkTKi?EfJV{iiv6cVx{1zn-w@I z4!$3?rnP9f_7kz1tT&`9{)$qzay?o3fnDht#+ZqHeBKxvUy;ar!Src57{a8}GY!j) z3>m$ahv5?ZmHF>7R(?W)v=EMxpM8C#OJG5u<=BrQQgsc;K9%iC8CXW3iZZs$i0!v1l!#>GmV&8X z6^#$)9F&Byv5JZ*7pO_o!=Zj^=({M`lVx3PX+#|@!m6z<-jgJecC^VQIa3~KEFzkD z^*NPkPYj3O!g1U7?43}wLV!)6z!|wdbXm4bT)}yVLi2ssR9qsP8J3Bs~KC#is9(onPlfdX83GhH!dV#ubZRTJcdA>H%t zlALwSXnGxVgy0WR1M{Cm^ra6juiNQtXbZT)AvZAGvp?V0#P<(AO7KQXTpyoH8#18B zEtMrl3X&xn7@K@xjS}@teob_!o*5U)>KH{$>-sy#xdQW9`lUkZNi-j zmZF9tvD3=rQ1g8ZeL&@1_zhGNf-?5J2bErkqi2Ouguy@Si4gIWV-wUtBdEkbmhW?`yawWv6{v|cPt z?k9gK<}XTY@J_Q1HQi5sn&PA8Dr-l5AffB+vUB7dE0og+v&v2HR8iRHZab5V^h78p z?~Ks5NmRybtEZ$#4J;eser}to{$nkkA6b+ZTxnlRjuP zwUCEQ_63*cTh@G@_&zixgUSZjTDP7NyX}*L(KQCbX$ip=d!OKr3DIoHV>ElyOcX)E z-+Xf%Evj4OXC8cIG?*kweNgdnj~J@34yD=@?_s`{-yp+lcZ_#bGIiE|gP~d77rO4J zpicp3LhHteC_qy8QPBPFX}k*TsbMz0$GkBpnLTY{DAY4B(r^q0T66&aISnr2=I&(B zN6kr}9OLP4<6z1!2tIR!cv~|lLUqA-ZxSC?BbUq&Zw(vw$1>`d6RBLjJgaxwO@The z9(0|D6I&Z;R2J%9nQ%wom|hp0N){S=>`PUmRSh(;A5n=wJZN`!7kY0^3KI7%D7ytC zzPgq)KUS)0+m((j*hlc%IU!CF!uJCQ53KKo0F~l|GUJnhP>;#Vht^{}(4(TjD6j#j z4S;*u!c&+*%J-8Bm;rDf$(^`t$ntsXj<({_?^#s;AR7Eu!q1HA-?9E4aZ*da_h`(1 z(>d?T;Q7`OKw4!2(2`0vO%NB!HIp;IpmhmQ>h{3KKS@s9fRc+7BX3?j) z9bG6?OP$%9#tj@M&s+O>1DB*7c^hpvqxXAwZ!z5(H&M>lh{km$=Wl9Kj7P1=)n6x) zdYvapI+kZ1Zx&9DxsY#CojpYUV97JBroi|5g>?E5@$_CTanemx??G~tJ?ev-;NAoG z#Bn{zwSe_&>8`^Tz4L_{$_2aV#K1hWT6Dxc^%(raqw1#(k4v*A?(o)6g1%w0B&jFqRhJSbFEC!9wbP=^_)qngCCnSff2%I)DI#Y=M^$PN@QIu z8o!3mzFomNKaJIFhv&T|ZFJtuE;cZ{-FKXn?hpSA;9#J0#0U>U0V^hcv`|@qEtW!5 zkp(|F~o61!0Qx61H)x|#d7xWh8Cn{8Q2V2kg%|t0vX=ZNw{30Avj46E6CfyF2@KBl&mWe zS#D%0I7{yg@)W{FUVXKi`MO^`00naM3*NgAMG2?y&Id{)Euw2K$ogv6R@W!BM;15r zc_rpuGaKpS7c;}IFW=8vYOVegTm+LdQ&=A+8zqnd6$82vZsjrLO(=Wc7R53;XM zoT{%oc!Njc`U>CghGe>QCLm>z#eY_@LDH_u?(68`sbvnjZe^KRt08!ui2Pz9i9*}? zWQIV~=4j=-Jz2W7s_&A-d370Oep=rRyy?2_5!#e+LZ{ zx0c&r4zTIBjWc3a)n*s6Uu)-u)K2@G7VX^bm|YLD_ZC&xoUt{zc0A8lG&%1iV{-BF z57@Dqa6N{yLy&h^m)$CXFt!F#6O z{Bs6OMBA^IiRIJSfvRs-~4EVmpH-D#ZrGg$+A<=ff3ii{m(VP`qq+ zZU=dY!&Sb$r4LkZD3|T1Z>GG)v=Vw`2I7 zH~61(vES0;S-53hl0tKU`xbsY#>}4UjPOSm?NI{nyh{t)Zm+vdr2hH`#i6+w|NXr1 zzk@NLObJpCw&PWbYO{S2fdsUZMznIO1TDhj6tw657@|EdBS4JsI4ihf%%WC!TFyN- z9vJEV zZeOO%6mM+z7U$};EM5?)3LxE(arJEeu>o+bYG&f48eVNK3`&K_MdH{&^TH# zExz+-?GU25YLJ;4{@w`UOGewb`JF!hQJMZPVHgGk4~08b-E@=s)i&3^@yhQ;D!~hJ z@P%`)g@fN)LBU1}`Zm{ZJ$rhnFqEOl{jpIZMgiN^CP`xVdmiJ*sa+4gWXuNi*lvNN zD3jPT2y(#da1P9QI0}mmaz3jJe_s-nb@Q@Ys^W7LSAc7O=?9}KO`HK<{N}u(YZC@c zVbN7*5KH1sQOT95zmlt&-FMG_%;;fL1!vMYT|05+Lv%2Nk@Vi~X5QTSn)A+gN!p$S zSiB#-)Xbgi18Z7AHkMd3`&dV04so5RJ+TzoRlIrc;dx&e{iOL8p8dJio23ns83d=M zw~Sw0Fz3SaHHoaoI2iYHvbWuF>W@V2*Qy?L;`BM9@SF{wE#*`-Ld2Vu60^+NGv+f| zB`Ua<@3zxqx%eek%+6u4ByvIqJ56@j&x}{Kq?#prdUH88$a4<%IL1S*@>o8ybviY< zp7yqFx8QZbZrl$apWm9h0Cp<5bS`Fk*F#-#ZG)LqwV%c?>tHLotQ*JMb)A{IH5ghb zPMA!`vW3|3`q{aia;|E5Hz@Yc98uT*T)SofMacSplRitRLqN)%ts9>&yC(bxjv*ln zaZv4msH4tBguj>-E; ztBxLwJT8{mH()5Uc0^nopKH#8>36*Q6HZ?^UkIDEDm9(Xv8|p6FU7(V`l(mWVOYH} z1D^%bL>=MfC`&T~oDSm3I~ca@8P)m7+ABndv)=K(ae{lo`u(H$5!^Z6zl&JlncvKb zzp5dRQ4y`)yWY}K``C~575#62c-=qWBJTws$xtWKwJLN1jQn+^o$-zCD?z_-xs&b( zD`CR%jPVtrjz)C~(T_JXL&YnQ#93Pd%pVV6e#q*c6D!C$$}%n*)?uM zDa(Y>BVyb25B5XeES*V3vrwwMmNQ9L<7%(HjCa{cgm1?^&X1*UktsE=>8>wZmk#Dg zoM@BWCR!#|Qc*f#woE6EEZ&&$Kwi~ru{^lDR%Ba_VV|(rJ8|4q$M9l&16}#m;t}yd z#K}Rc9XIA4?*{exVv&YNQPS}P=hgRT3z76(gs@zPq+Ggr-r6@dEbA8{myTx7>>i!E zbqU#zMpt%}%~s+OAI8`??b`hsiECbmO8Cc^#E<&!KO3IS$KSTN1s64${lw^htAYU; z?$grR4Eh#Q13H$}xU|4%WcY*iwKPjnA%0KKr*D{3Gi_5lbgigabjeWSx?a)|@Rejn z?xAu}YcOT?i=1_Q#Km<~=Q27l%{y3}{l2h3D-Pq8nLl1k-8c-}`blteUei93^Sr+B z;(Ls_z%$o#b^C+Y^eq~7gzly+PN;8sV@5%l;}HopPWk?w^>5|4Zn>?Bms$w48zl9q zxb$?xX~)`z?`!}UXVw1+NDeUjYFF8u*Ou*;cxMk~39aYBC*E%DFz9H#+2W}^^E_3< zk#;-EV!K9EeLaU``aZBKj>AsFExg&buE_I7qne^ZG5J%#u~s(*4O zf7^wJsMP)N*0N^GM+>gxZ}VG!#X7B0RG*u*x%YaW^f`|c3K$ibUV4Q4k7YcLsD6eX zDVpc4$E2L2B_1Io5tqh>#k$yS|2D0FI+=r-E|=)h7wLHA8-%l>vupcLtrv1v-8>E7 zyk)aI87dLV4S&Oi=Gn(slbk)+?xElne^Fg5fpm?$$j+==U*H%n# z@lxYfs%A&lbYHX7Rgpjc>@gqVRUqWSsFmi2qTA!%^KK;`A2;4>5iZ**$dZ0UpsY@w zMv%S>mOPjjF1iN`e})8Hsb*jj1nU z)~|Ya@A{0p&V!j$?tEcxbu#7A)q*KL;n!b~k)8t+c3uxXZ$?3B)p;)QdN8$tA(tqYY!|v{P*kerRpesL`NAvkw8AH=Qv4DR@$zw7P`>*w0Id2+q zWfHTl6moLNO$Ghso{E~vu5{s2jwn%(0ZTlpu*9Vj!xJCli~EX-<9~Ezg`}iaF5T`u zSQoTAzEa3;y>S-8cohhhHR<+MkxUeru>9>pzD0>Vk>;I$JoWw8|B4YFUEgL%ku;%` zQ$7)wGvm%zU~i-zun#QzqDlrr}@7)OMs65vp4SeZGP!}m*9QZ`CRQ^ zA5|NoWG<0adq$aFP$5zD`Q_7owOrk<&#hS05jbzVMFc~W%U=M)^5s}&qJU^)%ua?B z6P>d*VJY&Yqstho`>b@l+pA7CZk!94rJ7L^bfLPNSe|tStt{Q|Lnt;_Kv%o2qdAzy zxO-NEvN`-$%>v9D&%^!?w7Xx2DMj;JpWra^nEU&%=0EPl7K)e!R3YsA_t`y$kJp>3goW_D%X6W*cY;uE%>M9;h%ZaNTlzK9`N;_koW(zuwo`xKva^4xj1;m%vm)tQ5?Zrk!} z!~X6AIPu+AL0hg3xNC0PQVCZJ7uB25{w4dXCA|4=_mf>8&s{!b=nPk^e|700rMvBg za6Ti8o`ka2`PQcfT)>`U54 zj`Z6hV7%UB_0qDVE9XtaLt>u2)yDcHdOe6A^J~Q);J#KJyQUtsO;*(~>ng7J4s z>u=M0-kkN9aDNE;7Y*&#UuucnlVr0;qI7feRCJG9n8Mh;oC+$7j(GFF|bED2=7%{t0ja9wz^QC_J&a)s+A`)YV!jn#Mt zwrUfKy^Om_`D?`txG2|wll$L-uG>x zIL^W>v?n!dXwSeQLUf`Vf$RQc(_-~_VgOn4r2?1LILd-yFguJH$0o-4qEe&(aQ`iB zVfF1^wbKEFOTB9*3CTU0bK>IPr>b$bmdUnbWw&5O-vG^fJK(J5xQhNnHP`J6=~}}- z0BQ*t2%i50IsbK7vxx2mJLS^l^7>w~U|)Wn;%^t)O`Lnr6}X{u`clh1BKqA&c^4v? zzeJMujy-v5C`uzk5MYtjFsy+@nOv*+MxM7l0MEO#@a*d(z0x5!pczLHDz}2!>p)nTEmv`cI~~{{D_>JXHU^J=dQAI|0`3Bka1RMtfpS7);-+rGsM6d@%12@ z-8R9w8d%Dv6~%;`1BdgTF2s`M-Bh8K^Dj-wZm_e*31;)f!fsHo+xxclix-^>WSw^; zuGdGy<_mgmZA5l6L8+;cb8g4O>$59`l67V2i|s|XZ4Kw`z}Db!`g%0p+kGxI*HiR$ z5{&iy@_$Wxy5s%nNq=4cGriC{yf=2rx$#ew_iIo*K1wyO{Rxi5fS?Y&j}MCYu3=V| zvS?{N(J?79n`O$itwXKhv5_B4CA{R>0Z%bFZh^Z-FMCt}l-O}C(8ZiUv*kXkRQ%xX zB$49T91!EdPGIVrxVrnU!Ood0srKqk`2fQ2xOO5>f(RoJtJp<(z8=F>veQ{jPuogy7v`Nb-s7d ztT@Yzxz&9Q`}&I37C)65*MCgizF-Q5S%nM~Mue7=+l;j~>z_=>OG4sy8+hI&yt?E! zHxqyO_YxA|*k~c6?vs7D%YXd*XBrG_O9BE&GKN**eVcvRUuBwe%#PJJ#RE-uXropL1}z^snjcB__Fh_su{9a0>S}{-vV( zoE?M4fvTs}Ylij=id^wI9`n#%Gl5O#DQKmnCMe#Ub1vue$?>I6XR|^6t_^TKQ4c=a zRCIsAD=Qv-G(Eq7Vo!cLec@}rnneGpiP#=f~mW* ztT(FIX0f}f*71X-S0Bu~%&-@n_Ued89CmpRhJ$RtLuEbmm@sZZE}0#84R;M5>ZWZxR?hBGP8tk!3B8nS z8}vHnk)*sdpWJ7buwu!$MgJnWByuB@%Ojf-&RGo|g3 zAIu(IOz3BK>U5eCd$5;PeG2f1^?^g6YP;Ku_Hh>yU?5=vCO3XEa=}bxZh<}F)%zoY z=eu=god^95;Jlo#c?xfr8h*Cg{wP@uP>cT!vjA!4KVX4Z;!q#%kV`78QF+IH$QJlM zn7P5*_%iS z9*;Fp>*#A;ay44kz8eD2G0EDL8;h-Y@L=++23TWX)K;f)?OMOOA-pts)c|(2bIrER zU?*%+J-hu{si)}TFf2MMC;vs?hUdy*e3?5qH|&G>ltD_QSf z2{6?6eSaskT9I&{T9Bg;Qxrck|K-u|l5 zB!e-9nI*P?`gWiqVc;SX1v8vTqFU3A--m!cT_*I z0Mgjc05J;xIWMXVz^8)cS33&u(G?I#q*qxO2zzh1`WzmC4FYiudEtz=9#+$#jkfxB zvE=SG1dGEzvH~E6Nk~EPME=iNY!-vZ>Rd*A>-hfQFTpDEg7bchN#A770pMJ3n~)(r zg;R3--n*(8XQGsg)|&Od>Z0i7;#ZR+xcZ3qk`A6xa5zEx2nDykcMN+l1 zzkr_X|h>cKYp4NyKuRA3NousW9|0F%BK;Y0O{hg4$^Kc|oAnjz#{ zP)E_bNpW58Ze=yUb`b!A6*Iq9_f51(uhxOwr7xerz5;Q*EI=nU5NCd`7Xs|949$v& zDTnF}-Bu&`nRAY|VlJf!psRpEI6y_fmiDnUfO$vp35>8PpfG|a(qC+($h?1J_3VqR zkbyaL1|*swE<6$e8apo9M{Fv5BC;12q#$FJuBa#mBxGQM$OBl(6t?Z~A5;mCdtl?& zJ^qpmaPg;bB&_bsbEZ4w`K=!@s@eMC{Lk;}afc5G=HuEtoi0Y|2g~JsDP&N%S7pfme=LV@{H?QEf;xOqTA>vp6OEZw`cuYkMSqQ;v&>M z{-Zqh@O_lRixH*fuw^Oo$kFYueIX345W7EQ2P+ul7fj!!}7$onLH#C!j<Y<;G99IS=Y5d|CJ70UzIc}rDwI*7QL62uSDs$zKb7?Y;3?Nj!PmApkKk9(29Ei> zB&NneqYY#N6{y5$KZr`y^x9r^xW zemHX*jQ!gmw^n=#_vx)2eKV?th5{R++K}imq_UnJ9Aj5>RIv}^Nrt`UA&Rx0V^}}0 z&g$X#r$RdoV1vTO(hqd4+2~(0TDq!Qc#p` z5KyEW32BsW5Ri~kQkoT&knWD98%b#tMLH#yQb9^WSh}8TK@`33&o_R**Yo@XyDaCN zJ#)>xXXZU~&54{GNKDFzv9%8YbI68caiGvBhL3WKmTR<3A%#qu`37vW=ngZyx&5W8 z%&lB3bhh#p^Dh5_EdYDjQG|m2O;~4=G7vm~bd1j}(*5pF=mA=EW@Cc^7Ru|PXV(l< z_^#s-r}x2|G^@%yEty4#Nmz8R!!nV>0n?`DAa5sz@*DGKJOxf zTzXBvj(30X|8P>~PeVGR7%tR^0bI?ks=ws`Mrek6DV_`+C`QA0uZKDNz-%WR_X#qs zFz>UtzCL??Iy+!1EsR>5>7l|YaXZh3X9^eTJN?{n5s8tEfzsh!%aV6%Rhe`U->JNM zmU*H8+Hnmkl{7E=9)>#v$e9RXq+IK`ELxI^r&S_uOi#7o*4x$|g=QxqBgcnCD5?m0 zt$U-!2sJs?UurZtqHeHheWrPJrcxz^ozPtn=r>BQ!aZ9uPNo#Cjk1+A@M-kUT_ zrY@Z(25bch0HdbCs5+;^1Ag5y;>CY&Cyj9k4@uFr3jMZVi|LT!BG~?FQ=7GkZhGtew)>tf`A6HLdm>ujy6h{rl2aUU9vi{hp zYavm_-HS97Q`Em*$*;`!Ka_S5-}sl(^dRPOaT^T(5vV{ssHSQVCj^ljzze&}XeOj; zssk?yW>r+VEY8nIeR>&zFFm_fUZM5|v^rlW4Ayu$qs8w{ewvMhhagR^2t?`)UM`VW zU$Mz~IXA!tv2AS;%n+xP{sH3~GGDnd_Tc$D{5H-ipU4fawbC3uzuJ5--htgn)6OofGqu1k%j5%^a3CTM z_6S8;%RFE6mqM&6Z>$M<;Dg&k5~%C=G}xD3zWH_)uhsY14s2Xd%3*iY{(|F6Lb%se0i3tYQ^Sl|`k1 z=Sn^e7LmLic6WopO}(o%H{KXy3l9Z@y&ZFkDEq-$o_ZaXarLN7^=a``_#@E+QI7dv z^7M|BTi!VmF-A3Tru5$$_$ap!sw*y0l0jQiu0Hs1CEre1o#?S`QHA`g`Xv2F<*;F; zB;~TrP_v^TYwLKUPE%w4trBKp`-%*WQdSrfle;|sN83Ql<+d_6CJ)7orIIqE3_6Pe zO}YQgc;BB0a)KQ(9*8(=ev5M}@K-kXYjNca?qIx6+R}O9%Z7Bz7ld|+m_}e|c-+O- z<~TC-ES%XDmm&Qjxc7m;Plb$OLIpiqZ@)?wnBS?e&q` z@ZbOqo1Gy@?qQE>B;KcseV2(9Xym=aH_X3%;VfbOcp&EUo_eL)EKr~m2Y8z~b(9%` z;sY09@L-JX>cX%&3Elbe#F+GGr;<2Xh3JGb@yny${DkVMQPU}4m__wb_&&G`d9?(s>Y0L^KX4w$3CNJUX%jl1W$*@Vx==b7P!m)29y{f z)F7eH9ghUq-CMRZfv&vpD#ysjLWG_Vv#UOy#^NUe2K{qn$Y9(H9W7+o`Llq^xo9LX zI|a7{S*rZ|G!n0`0Ac&!Bkgle1`L})8Ll8)&wt2e zjv)h3o9xKR(#Rj-1jf?tcQiZ z$iQNXYG6s}=afx+M3bu=@USXYGN`q)`@UXzpG>>;qNA=KW097hp^>b!LazXFyyTpz zRJStt5Pw8-?)A$~Qe|EfeC81em58nI4;T3o3iu?$SXk~WMD}Ug4-tNbULa0gJZ3G^ z@E;$~_5R-(i;gw|C(0!zy8rMU2o`-_s?llL1_e@si!6c?1T|-h(qYXFWf;UC$d~kk zEUJH9{@FDKT3!6X{Bo+NSs=&giF)KKLt}8M6&(p;Otom4W`Xb{U|71jxK{biP9BEP z=R{s2WXLm+{8D+g##CBdymI-0rT~y>+(Xc7BMDfg5qKmz$n)SRNt7l@@k^58x##`C zbcB1?eOuzxz&c=wiD@ZWQh-Jv8dp68ycrbWu8RE&&i#iboYN4i={~|=q(PtjQ*Z{k zc&pAstdLZum-kcy#XePhx@nI3ssHh{YjP=?RveIc=hGIIISZ7?iOv?bScmmk zZI4YqL2k&IkM#d`&~SXq$Cb0=SAR+5zmkR8BKG=ZqJBZ}>bIXB^p~WLUl@T&)|bV+ zYsFNNsr_x`HSZ_d<|htU5umN!_LTB8Oae9y_=4tCu_h#FQEty`5+%JL!3VMOizyu~PQl!dXKdghFBXn93D;5g#)Rez4& zj&VbEqxu`h5MXvDyZ$?bBNm-xn2cEOdNbWK?88UnHxZ{1rqX~# z5sDjsh%`6$14C9wz({AbyMwvssM2ZY%*9b%RhURQN^Z*4+`8Izi-hq8>35cA#%UJf z;{M0P_k)o>gF-39EYo7r6gC#{9Fg4Art4viCr{oo;KN@%9d7xj2K>jhFCN55Z{Tm> zQ~dmQYs`uEfCH_0(lh#~Qr}`c&Y=mo-F3H)O93(lQ$2uVo(SV&^4s}A=C^6ykGCV z&nL)}U|?IP0D~y< zU3(1O)7_FWTBvSX|9YqY{&3|O5q;db{hD?6CmDXV&$s@ayonT9q@T+oA8mU5=ryNOnrzf>(od{P%ZzJx%|85;q?Cpk3+`J$7DNdDIOhpOfcJEL;Ki5Pb90t z&>}CFhq9$|sh93s&OBtxzr7v4&==^WwZk%Kot1o=0}#lk$gGUP*CZ-7PiaMFbo4jpe+KdQy0~t$eG4QNa#xm5ig+!vUQt zhdo}In~gRKGICl_xvXr3*~loun!H@=!K)>jf!hxE6rjub>q%pgsfPXVUp&hkCQAMD zKiH>ZnJrL<90^psi>zc-EZI$(PLwzJfST}kbO{=|_z;n2&U$&ACH;o;Uk)4bHpN?H z59jJa@~~E(4vkNV<#U`@QAyiv+o1Y!Mcl2S z`e{>vYfh30XMG`9zsD#u!a_~AgJMLIaeaGi)~6P4y(+wnr$ma6mw#Uh5pTA(+9zi9 z-?GyczsV-rccz)<44(Md)6{kCF0I_VqVX97sTyhkC;AIL#+gGRzseaLpWBq;3sl^06j_2#bS(%kgo1 zg4#PKI*x2g^E|Ft*d1=nd4fX>$il$zfV>UZ@esRIb?le)pL`szTpwuPqMj_@%@O5G z2J-B5=rl=z@ElQ9(W~?C zZE_6OxX|qmBYN81iqm|_wJ@3cx>4uBj%G=DFwM${nL>A1vV|)3eMKUdrZ|}!ThrB+ zS&16mjJL<{JC;gvIT`2)s&Gy^>IUVQtS^~-How~iDTAJL4ISUN#vZC0%KsSJ8{vq4 zaK)mcN*ir-jemC2$nijs4;aOEvGlY?_u2=7pS}oi%k> zL+2w|X~NLC{4~7_;(MSpDtm;xDu1$6%@R|G54XN%H5^gaKV36@{4O}C$#uL`(p zv6(B)4PrUS&0G%AOTF3ZH#pHMx@m4_5+BcLL3n{!!9=4d@{*}-y7tB!QO#Ev;E^#7 z$5~uADrm;m({WuK;MwZC{o}x{K2Y%p-n6}zll)~-jcwm;9fH1FvT=u{+G_DK=A8G; z97$ECp(s&(q`A}O0l?BIxTOO}Tj$};10j5yLI?YDKV4z38|9<3b~6t5p%n@&GF^B96bJr(%N z?$5sX*D&@gZO;z(`)1e@m_Q0C7j5kRh0Q-90wOJKfV6A$5($pXfng?=HdwA?{Dy(? z0o{gDM!lHO2%+B8kA9H1yT8}E*89xKcyKMJ z&yoHpEMvUP+1%k-?S z#Y|(bew~BgmDlZrq3Hs~`$Oow_qQb9^V+<>B41%*_gcR-mc`Fb;d}J0(T`@W76iT3 zQvG?dtyWFB?P5o{)I;zBikZ9*==$gsUPve>KL}-zi2_gG{QC1-VgsKu|AcyvqGVDH zbE5vgtT<#Ly8bVh`2Q2Y?>t}Qm3pVYgWFqZHZ=XbU(fEN7!uzUV$Oowg@$S ztM)s6Qv$PEsn6ew@8ogt^C)iLL4r_GhrGI0?zuYs#ZvBt2qnH0Pb7uwrR9inm|B~Y z#cXTG3VrKc{osgDeXQu<1`k;i)?|i7$NiY*AUKT9_^9-){H8E6e6n@4ztc+7d$c?* zfZ{dNrA!5jxWrN&4RDI6`b_TovYlcpVkJ%ZoRDKbI%@M zgt1%f&}h~!GuKS2mTawBOP6tF-Sxe)7rflG%wahxy+^#4u~!zm-shpE*cQH7Fyqf@ zG#%$LGn4wdeCAtLUR#xVg#E6a2+$AQpFbe*^E}@FomdkvkWt{>&-sSLks#0;jT3mk z&w!pU5-}HiHDFxdmYu7T4R4m>s)xCLR`O5D&j!8+g&6XIH(k>us&~$)7hi~!=3Q$!s@sWx?}?F{yPGrTsAfco zOUyTP+tu%%`?%TKEGXQXS-039Bi9fZaG-vyv+EBN(#XCy#9P%28>f3LDy_Z!0-M>e z;cKsqpNRfSk0ayQkgJ+UL7Y6K!xWJdGS2Asb(3_0WznfHiuM{&%Xjk3mImT_X8nTL z&x-_MA*DE09L+S*<2u@k^hRa62|^VNfkiiHxrLQgmyb+Ys&+Tml`m&ks}nRA9u1<`<{CY(_J9IRlUXV~4Hr@)=q3*rE7^#n}G{=?oLvR28Nf zq=OmgLtB$%)@R_ArnLgK2?F9j*jY=S$5`j+8y?GH&^b{(3Xx!Gwk@v{$olw z@Coq>dHhY zZJW_H+x5Y%bl4LI=1J-Ey~Qv3#SWizEXgffy`qw}n&`atj4hRrjlILgm5@%Y zaOT{$8vO~D(xFR{jHN!U%10}#^L?)q6O^|s8Sm$dbD0JjYxI#hbUS|R@=7mJhF=<0 zt9J>|an|OoTJhHETklp)zn>R2;e7E_SO{s}Q$Zc3KO?Y{&rtQfNU44!ff~?8%*8~b zaqwwlEbdg?nKKwu;L?5;Hn~}03iNS^hO4sR%MAWzm3W%s{)6tS9dmUudNL?wAF2G zg;%IoMxt?Ellc+zg_ncfu@=v0j7CB8d$d)UR&-Q^8jfnjX17|TWMaFNU&-gAzz6&@ zU-GO=OKkhSiQDw=PBMJ0ca{3~L6D7F_^Hxz-JVI+T1k6`WCn?&Rh5Igk-GJFH#*+v z>5^|>+{`IFf`!#Xh3nPD3Tw*~BJzlq%Kk82WK>&SFN`z#b7GYg+bG|0e;GJMH>&Mo zW!su1L@wZ1!1k!ajK2gd@|j3Vu51yfs+H)DIjyUnWsQk-UvB>p*S4+eyBwd{3PtFk z)p7!6ce!P_4QYjS4S)2fFn`C{9M>pf#K}a2FdtXFqfJ3xABc|(cihsU z@pLPX$4dT@Qp>+}WZd%V+|0L$y6G@XEvZP`fe$e)M^0i=N2JzAGx=5VGOB)I&D;@D zn@xE#uUy+?%hzQR@UjhGOR_GhXdiBWS6yqPuWUDEzR*f6dq~%G=$Jfa|8>K5qH0z; zcDQ6jD}Gs3>ANz6)E*3`D%hlNw4kJpk;0;U30 znd(bJ(rLT$=_-Eg^M&uPd`-CBEEV|5a3<{V@^oB-TBuzi8};kUwMWp$yM)ihKE%$w+7w-KTi$w<|pGy#OalGJ*XNuKTU{`6WQpyqP-PgrDT8^)1y7ph7&9zlt*^_6|GFmc_AGn z?A#(bQNw+_DW+4z5~0N9IS@k&FVpJe;N@g7jwlOH8WIqwvNE3;jf$kXMpOR@_O0lP zfGov6Q^bkxGT@>hYl*8op~hw_qS7U+mLu~himv6@yYIa9>a*=ivQ22-q0;@X1sxfV zd-^DAswLb;QMwkh(PQb^(T{k$`y~-%Q7DWQ@XK!+=r5alS}P8#_r(-j%snj{CrWS`bvA5~ zyA^FMY;t$~4v1H5sSIq{V_u^tNJDPBFAd88OA_n6T^Hb1;}OZ1G5xZpJKA)jMpQ3m zOu4K22G?X^=Zn9z+rJQr|L&Q{=VUR?+yT!z3hG?)j%(w^lOxfqk@mz+4uDWmg}}wo z0<{Oy;~m#mODZxVl{R}_p7!0+>Sh?S1JA;)Uw1%5#GD8(HSLEK{@Y#sl)~Skz{$U! z@oXZfDEIN;shB@cLUGUQyavgsnh`?YD?8GrhWLhCYL;2r#hdp^SH!{lBw4DeSWG!s z^W$#^4=U5~zi?8(>~eN3E=uQoG3pbgTB}tP`cn)k#TdnUztHS-UD4~2_{IMVp**7$ z@$$I2OkH!j;|NBp=y-)OQS&S`iHMQ zmE$wE#!Dw=@c2A>j}vXnsndZ>VH8uJtihV9h-Ztzd!8W<1#3%Q#`*gRT+)X!kMN4* z7az1fk8IjAvwNxwZ#O3_((K!nSq`^fpu&iaO+8Z04Of{#$Y@%MV*Up?Z``xDK#U?m zs8^2N`{}nm7VU4r{jx-KieECm=Zgw=n#Jt3)nxi5Op&*E2DB&3vV9((z-k;@c|a!| z5oOX*vJ49`>W?NcjiBwVHNTlDvrQZ`S4`4q*ZL$-N7E;+@WRBWK2J@zChWJA`Up~v zJ?W`njz9S=oiljyOOO=YKxEzW^4}0fe{!Z4L1dHTcMSF@6F67ze1nhHl~kDXxiftY zgK>kb%`se$#VudihU$Yt7gj;Gj)q-7{+IG$FasDxT*m*-<+qfdQ8bc) zcMvMZ6k+3=hTkUw?aE#hkNFZjFAAKegV7K0RgmtYNB@A$cfrFaJQ4>BPq6@tT=H?un3%#i7}83EP|NMGc2cVm_B5 zlLTGcEQ;#rgb%mV%!=#zA3_h3@m)8+hf2I6YQ5bpKrQG3$90cs^dq1jW1U7P#7B= ztzTyE{0;-+&hapLJnu-1#Rr`zI3XeOAmr>lODIhZzcylbft$_4DvLT2c$F0r`BbN_ zb6hz}a$OFsvYVBxt^fKlxVDGtAEdkLD%Zh*5}vXq)GKnv*~;2mD)s2y-*?(WR_T-eiNJy0)mNzc3gfBUbdA=l{5* z0OVkAtKAFv+_X225H7YE+f!yj%~F%V{he;ls5;lJ-6-PAmuVdqK81EA@`H?bJY7DX zOQ}$YSD(BfU$0I}GT;j3-C(i-CJbcMH4U%%Q?UM}!#}a9kBCA<*os)|?B^+uFBU&S z#pOvuxo`MgxcYgzPOv16v0H(Q&_kJp)VoHCS7DPpRl{L)1@i(>=HYtu{Y@NS_!IX&l@%Q@;r zNwD$OXjWaOmD=^71U`qh9FS2$?l3pLJ9}5hNOXMH;3HgBGxe@NKZdvwPdx(=nA(^l zj$w{eC!b}f{n|ThAvJy5#mY8ZFsmqiy<)n;!dtoG!k#T!=A%;j@9kCD;jkZmTvanI z>&YLUTXRP*3!9yUcBfDPp<+Y&L)j8AAkORGTH`n^YGo}RdmJ4eJZuS}RI0LlSTxRZ z#b`QAmNhh#`mW3?B9<`|`lGdWHg`MT!0U+fB_mz_DZ}4R<~Y`&SV0B;g!Gtdgm)0w4l|HLv+{vIMTHP@TA_JLSm z$`C5#$31Ufu~OEVvn?QlvM|@BV%G7MSuL^c?=VL67-7 z!n2W|e?xfI29D2*2qlTkA=y-Qu3X11>K6_XQX*IQi|Ap_6?O17%$neA(i&b%5TKE6 zK$`t#euE}Qzh$$OKGB2G&Pp!n?yS6AF8{f*Y=SqfNp>EeyS_nND}26R$tqHJLOZw- zHr!bzu>Goz1i{?>mLLT#iY3Y~gF%A4V<>*mgw{Jq^t`IrctFzJY)+?w=kuwNQgMY#2J$EDHM zg31XdYRP~Qa*u6Me0=;8A?IOq?9IVNtgGze*7Z9ky*uL;<`Z?UPNvudbaEl%HBLT( z9dCHtwjZ0;@%hjdm&vspvJcD?&?~eMC<=UzH{JX`lC#?jR(^-J(c!F_94j^e*0+rEQlV zsL~7*M(w>b8h3U0vXS*Cx>MXkAwfN=Y&ht| zxaV=WGduH<+%sae(HQ&EpaC3UOk46HoSweLsVjjODmtSHK`6e!;r3VP+a;I8^O!^} zg}OE3vpC6j&uu$k+tlx5!k5Rj57(j_j2Z6r}x_M1$=Qxk<1-_|GxToLya}| zOT9|##DMF(O4il$bo4`9TW(rA&a;X1OR&o5YKKLc5B`^FnV4h(et1+Q4~D2%UAS~T zWHn{&%ZFF8mX?;e9?kirI&SQK?KN9 zRJW=15{J+?C@8AleNP5BOZTDvm71CM=)KXtT+8ul)d|-X!ATPPLjILnWkW;5bjd&x z+aDi@Ww(c*60g{Gl%MKX*7kakFM1PZdy^WW+!3`qO|Oh^_6 z7=MEVs#Z$2C2Oy>ittrBW6ad|Av`l7@vmsg&9kPBZ*N6@8rpn)Ks)_S+UP^YymK$_ z(wMXZf1i0}RR!#pVfTD_;(EpR4uUB9MA_@cg*y(fNIxL*jFv)?K@Vo08ubT12|Gjt zl}ccM$Qco?HpCNU((|Ye>&i_Lp`-nE70B9r!JTuVoO9bRi1mCK-l%)B7QF4)ns6<; zp;xO>fkp9D-6w$Rd z<|1FA7K(ixmxtJM$sFckV@{LqCE$|qYUzPo)tO+={j>;%`|lRhjP3@K%($ApbYiax z2??PXy-WTybd1KO8|~8dxsDvG<}2nyg^7gBYI1oBeHZZ7COW83xd6+Nu=1mUG*6Q` zL0h`w3)s6uQ=Zz>i1LrIrWf+xD+y9;h?Jw0mj{gu{MaX)F~^jti-g&cS9?9*^FCs9 z2L8Y9T3Nb8IiW{WwP+hh8%3Ux9VltU zH#8`y?*jjH5p^zzRV9j+%I z@kEhiFIPN_0+_7DWj!`$kJ<22Pj(R`Zqc%=RquIM$Q+l)7=s1Yd~fJhf3jM$b@wbY z?{C)5nvh*Fw*4Hf?-6>J++Bs;WmtT1upq;AYq^y=tVA_Wt<^NyJ!)An`Igbkj(Bdi z9J{sGHk0*zwa)9)T1t*Ud+3Z8L?k$a|QrAC5Qf4 z{!gF<=EgvSa(_ghp89Msosx}Fd#gCHRfg%2(05{p!9`;$_0*6hoA7Ve_*sP)dZA0W znu(b z+yC*A{pqTKGx(k8aoe;jA}iTLi%BJW3YLQQs$sp0-*({>qkfI{NS$kC?a|?0{bB@* zw%SXqt5hT^`v4RDglI&H(sr`%rx^nusDN9Fwpz1pR&P5a)0;kXJM__DJ|m9Mc8Zbh zr2Cfi)0C%{mic2(K9Y9vj=!RF9~O~Z{4`~@m3n?Q(J9Go`?F8b0m!bucBF01_A3fU zBA-J`cQJ!hSQI~%TsPfHKua#ttr@&lxPpl-5F8Y=Il7j+3UV8NA)Y(4LyH>=1G1U& z@pNnr`z1zDF5tE!iS^y?=c?pD$7|D9uDP$cV8;?(BITQgn+@j28m;Jw+0}jPNfmS7 z+6HOy8n6w&YoAuIDtumIUuy$#$~$77dx1g!4DG`yapp(qMJ3yb}cq!9*b;JnZ&7RNh>fT zrTQc^?zBZRyDnLadYAFr&ry(w6d`w7*L)+XZE)MMWyzE|I#}_1*q35zM6YAvkFN9jKce?-rCr569wAb&IcPq86e2c*-R&@oN&n- za~RTvZZ$3yTMV&c;6ymW?BXnX8YYa&9cOd(8|rmzTWPI1^=-$u!WD()Yw4RN&$&Et zFdHe!sNEd35W0BJVV3x^3?&98G0$&RsZY2It&s8f} zK>eYPNKI3bn@Fw{R1KM7{`m2uL0fmqOt*(Ly;FgU(21N#5<91PgbaQ{H zax!T}bhrU%Q=;It@WZ{=fVf&aI-EQTFL~JRvN$lc{{oZPWuxQbZjWEY+a2>jUKe<_ z8;H-K%gZ|e#T0>WXP7_#uI2zfarh(HGXi8iRq_gl$w&Jiw^lD^-TK}GmB5?_DUQag z7Ldg;>$`764sDK@Chw4uq-@EOf9uJI}C0O}zEn21I<2@z(y@#$NX~RN>d#^gJUfE52qv~=qYzPoEy6wsl zH&UMo5q~jp(OtFffs$BI5Z0fx212P$D_js1suajul88mtyXPETHx_7{uT(NN>6}Zm zsoPM~Pexd5eWSHt4g?O|W>uNZq#m%CMO0^f*QIhieR@7VtvC*IsIs&9%0!**{`Qk1 zy%p$(U8LDHy#AD=kN$S+=z1j}L2B>Y4kq6t_CFL}y&O-2$C;dbhr= zcx=`9PSAt(jRM`%&6QA)R7h>_!JOFhl}e1IdnvYyGwol2;IhPVNo&RJwc!VGa;kfP zt1Dtjdxkc@wK&whL-u%Y-jz4a2jhy7_{TYKq_JDOUS7dMyHX(SqTWpj1c|`#Ru7VU zh!`Nc#+J>$?RwPgF66n-a){`Y-ReUaMF#Bj%p3%KezHr5570s4#(v%(9V<1~~tj`Cb~`g{s7#o5gOQUm=j zL5h4uOA6tF!_i$v%1RBsi==mK7m`zt)N&r0GB>hC0b=^R3TRl{W=(lzs(IE9f0dX; zXiyM(Hjt;jSFPtTpjzMfV6xSosX(hd?9o83v#Gm9eDq8|Y6 zhJWjfUt|osoUN4M&tWyHLbbyVngC3bmlkv1j&>bku9lnBLD%JCZi><=B+OxMTKA+t z;472*9B%{`OHDk*LHv9sc=7#S{Y zPWDmyw50jOWyI07i%g=73|QLx^bU!_P~~rvsUw%$VV5MjqPbT>xf z53Yce$m#u79zef(AF(+yViv9G&ghbqOh7cQ$8o+n`tpix^Cy1cqDLUb|CP41I05cz zJuw0EcOmQ~f5g>++>@eVd_fao*6znuiM?yiL&?IgU75&HxrDE0zYDun!IIO!vUsJ^ zdXK(5E2iJP(mioZ&~$Nm7`}EdyPPmM>3W=UK{cySL=8&EaiQiO9F;^hIBH)?LNSW; z7o&Av-769ik?hbuUY!!ydF?S>2hK_C;6e{ki=9#JH{^dP}^TvRBBGSQo@jYRpFkarIoAo&TIy)DR!yk?Z{v@&5k;XIq+Flt_NxVt!$n^$Pt7J41NR|#0I`a%+~ zY|EPcVs^k8El+|3hwj&;AR4 z>Uq^i7xiCAdzJsare3F=3R4*SAfK~co0cvjyLOHFVOzwH1x-d{rvyDQ?<6OXcaiuC zJ1nU5daWY36TrgFyu4-|0;0Fp1YW!8?H^x91w(SQ${#6#Q2cgDW!l}~HeWnyW57N_ zk(ZXK0DjSS3m>_Ozuj@^27jd1ly+$tx5$VDp@m@k%3bV|A%nfuouKQy_~_ipw85I8-3dtQe>vKgdlWSICDN9CWAdYO5$@hr^aZdE-e`p+m%?<5H%4Jy zK5%@lc^VfXhon!!4mEiFx(cy)sm`jUTd;)c3rdZs!F3SO-s37UTIM<5;kq~kUOuwE@j!Gd&0pbF+Tl&xJ^ zNRTiI07l={Lk$Xrh8-S>6S3w(=1I26gv7V5=&@zbH2L7PgGh*4OAnYqIwbN20%?VPE#?ytvvj+cSrpD zPC8KO=d@4u9$D{=DjSZCU8UVLvy^H3;6Xd^zT#?c(LJfC%!R#H`s5ZI z;r)kiW23KkuOUjbNAQS&B%BHC7fw}1wJ!?tLMMl(pjFsUNy@xls=2-g5@1~C=TPT8O>O|lhT7(eD67)fFtT(a9a-dsIz59#>8A<1Yt~O zd;dWl$gZI{HBuv*FnGeIv@>hzZq;lOGpOMHsJ5D@)f_C+Um4hNRU^L`5)(65W`5HX zn8*8=bRRDMlj0vjOprTNjqGP#H(=gyQ}iFNU^9#TqZNu_4W(DD(f5$LtJl}#s_pH^F?BfcRI#S2<#*b<_|W6+&W> zWMryQZVR7s*gX&3VujqRYXK3v)R!?=Yi^WJa%zcOyqe&)g;8I z_z1TOEyt%4M9F-$acL!Jy^CA&+cbc>!z_~28C>B!NV2;yCn&XZ4|6Lae(@ll=Ls}l ztGvw$|A1_8nrp5K=y{LxR4I%|8qod{=DpAtLmQy{yat$A*Y)ocbucGg>~BLU9yUm) zZVjlly4P{~dnzMa3fxHV*I0;zY3;t3>>ri>R9y5I@9V{JcH7nQ`=DeTiZT;ImZeEf z3l;fa73ldDp_`RePF*Z}>**FRwj8=G;uFUe9_f#EO1sE=j&CYPtcc^^g-z4~vM%7_ z<0pUE4&w4B<={mWl5IVZVAxE7Lf*sKu0%b-zIQ*qetZb1(E4T0N1s9fZ|Y(NQWAyL zx*-Eh7VU}%3V!Yu4e+y+zqT=`|EMA5?KoTQ>a*t; z>Mia)1-0v$-n-s2dQE{C1qspIDmB=zm^7BEVmfiT;OGybFBtdta@{J z-I9fGaS5V`O7XO^#)EBP%S&64`3Q7p826=1*DE7(;+ZY37u*W*T=G#Y+C&qC_p1PA z*RQ}3ncSC&bM9}NL3mp0Tv)xp)SKc_1VKR%{x7`_Ywq?d@)L+Fljxcq>uO60(%E(# z^a>@PT!lo3PgNWnb*|GT0)ca_IZCt`I9v*H za)j7OT?;0h3@+>6I_n>R?$jRx#H>0DB#)Q4792pO@&TiEMLsOzLE&3>lAeSIS;gUi z&&AI3o13t|q;JF*Iq9({|L$C9|GZjuoWlx&4g@TQzCvQj(N{|64U&)}Ku5Q+RE~vN z;M|o;;`ObKPF1S-YP@t_Y6V1A0fmxLOF|Vk8VNa-f4*DwHv^xo5y1bypqIP)~=_TN?WbFfn zu84|mWwtKmP7b-?zz<4|Tk&W2q`D)SRAma^e7VSSrfcpQU8Bbt8SykB+EPDXYn;Io zNijn&mOUdte}54M8mKf*s<^fSmU%B-yag{`Ai2aa7isvX$sp;ZCi8yVHs`X=q_U!E zX9u~peHUz3s_Ac9gAsayx5_w$B6?cOCad0Lk5O-eMkZ(a#*V*2%aeY=rzWTzJoUi+ z)xToXC>C*CnOL%D&tDr**WYQLs|DHo=1cRNYk+A6{*43u4T$-)0vJen9*clK5#OII zL#{=iwT>#}Wv%6SCY!m>~F|c*de#brO z_SH2-MDkVt)(9vK)lt|k<>C1ET)1z>TiHh&twROshU=OATQdlX3M8IpJ$ro_vhKRT za6J%lL*J-h2RwXpGi#<9iljZXIi{_CLDxFouBjh-Jl|3f?~d}=4K+sbKGrluMt(_ zYzTM$4h54;(A=Fc56&*%UVp))E-S{0H&SvDcFp_|B~}%NmiqA{X?PfZoga2eIODI~ zs*u0KRmu6KlvJensh5QG$ONwRj_tnM0vTYqFbEQ%$yd}f<*rV;?aD5ZtUlRWs%!`3__?ilA3Vxl&>8hx zAyvF0AdTfidW)#L)w*0(qcq7LyE*F=>Xj^MI_FlhwI1W*69nw8E#wvLK3fNL z00T*a=ZDMcgma1RfEX@u+gbA+%swb*PH9xt_PqH@#p!XB-yb&>Go)ivoor?`9GXpcRbbq_eV&|2T`O!6Iodm zvO-x=NZBeXnVA_EH)%*kl*md(Dz0Q?D%7i+p6B!V%6E+3yixU&&*y%p^z+(o!x9Q_Dh?YnCZ(Tv)nJ%;&Nq*KmSckjjtC22 z1y`*aGCsP**9*HT4HqQ5OE$!-s=4%L+(@jsR z=C}~!-B8(wpk2X!r0ZDA9ukc!=~EG!mrsoK^T8I!#Bktb+WA0|Eg$L5W)qhMaRNEk zfs{y3Oo6d?DXhBh4Oga(?7zRg5jx#uQ5h*MV)bQ@No%qU|3L9ZTh@+i@!|gE+ZC1y8w5h`Q zO)I=q|2Qsi2urQ^a4XTRSF#yHG=ixnZeL>aL+px`i0qY{aaq4=v|wuJ1Df-$33+AH zBHK>eyWqgPl2cEWzuDj?b4-_pR-fyRk&>?#z^|}**2Q$>4bgJlTO@bz8r@U|d;UF2hpPvnE?*T*MLY+!af~-O{;dsK< z%L))qZH*3d&vBwuQawS;;itoL$OvWfxFG$1@ne};xn^~Ja)HjxYU(Lg6(JK z%`0^v#S+cz*n6XE++^*J9*x?Im0rH&q|i&Xt5<=2D-%}$e>7$9M7L+@ag#AzrhUy8|Q}S+D3xc z%%s&V#;BWfGsU@mAwY=A)q|PgGpx92E)K_DV<=Cx5t@hUPjl!`ZC-}-wseb`W_ry` zr@D<^z!|OPc-5F{t|l;Xm)7UnN-;zVio}fRjl&11^Vqu<9^F(@$p@0 z>lh?u0NxRZ^Rx&^mGR)3@}F+f^SM{c@e*+X5TyVxGqq8Q4qel;A1 z8I@uSKFs}A*2%6fFCKR(tSCy*u_Q$*6Qq+SFZI26AHGtfE4%3hB(;EC*6Q8!SU`hK z&JnS~W^0GxqdYq%?EGLZopYq3NN6CtR}heor}&QbXcFqu?3!@J3)k(lXBy`2D*7!7 z1Fr@RXVhQ8>vH1(5Gw8a`ZCWAAl5iQ=!_#!p+-(9=%2Q`6t#>0+YhyX)S6jx*X7-X zO9XC1$D%tv-@5Urs_*D&{d8w zdBvG$8BG}yKZ@+7K1&cf+?t&;gc?jbtAiU`B)FyCDmw8tTj00l&>NFK3njDZM&HAx zu<5RyF10KU_w0C=VclR>?7xBLv}pEi0D#=0UUdlWu4(lk`MQ&6ell#_`%2+ugcl5V zW1_l#_2LT7y8lDF9BYzis**m>HCc#V5m9K8WLZOTn&AzhDJPTV02~KnhgP)Wq=h%p zWO|4VWdP^VyR`f*0A`ZUQ3*r63uZnqFeeT0J} zyx>CJ?gZQx2+{4|DDl~cj<^Y$*LVVlJK*#?Ki7mb0>m!j1PpaOz9WgR#aP&-$*5}( zpJBx0^m?IT9W6eq!=slPi)fg5B~IEZm{4Z5-!}*!0mx;dqVsS&z%4Po`(1}(3HB3v z3gF?XJlt!YdN13tdmB(4M?Z$Ltz!^zX;Fi|*=|c$bo_w3k^?5H%V*07mT`c?F`PDW zpKWuab=jz4iwPv;SLf|8zuF$|vt5tTY_Th1i0Q2*4nvz92auRO+LDLbKNRIiF&49n zoeu!GxClR>n@<`u2;FNPX5ch5*5B~q-U;LG;95yT7}~@T_f0jHhl(n3axpdEKZZ&I zHij|HXLpPXF8%y&5fQ_%bX%uSp-`JsJAr$^O*x%YdOW?e(x7Mx`V^$7m~Gmydng?e z!~N+?XGBlm_WSbqNWyUJ-7i8gkLv8}Zp^r9B>*tQ4e5tEHIJDu)>}uW8ugBa<6G|E zvSyJA32Ly{5|n&T%feFk+OhFP@#i^mH&Y@7$^Mv}*H zgFObzTH$l`;MQtQ{wbLDw0+#y5)7O}DUS!*pRaLrapU9G=-6r4FW@ZXi}QO>D2_MW zjwsXg>vsQgPWGy-2Y9xN`;8Z5H`q|LItd2fBE-0|0el;RT|lL~Cay@+wH;NJ)1)LQ zYK$Kme1W+JG~9BIo=1?5fWT2*T^&O?4EeMr4qiC0r#iY1*1YRzFb%`$&xPlWOnyl) z7@A~Qg*r$#g$!sC6ER}@VNw+!Qm9uM7b13Y9Hxr_!T9QekRAm(vF;Yj+Ko{s`hm|9 zbdT>uN8O043@$%pi^rh+Dz8eQdX~83y4(-lDq@Qv5+JSHZ}BrN?~b~4g;<)DN?X_K zKJ;d_kh-|}FG(oG`GC@(QkP(y=T@PxO-tt0oBk(f(1u%0eAW=pc)2Pn?iHh;T|<$B zbOIv}olC8RqhN$+uB}@;fVZW<;tT0XqwTjG^nA*)R8Hb8cZ|(+WC8Ob|Ww83J zxKz$&^`3>E^5`#Wbz)P_T9$U-qcJ3IGdw5#4a^PNa!ZOZS^V%=aIMhG#t7~j!_Jp1 z4L2J?lwM&=`p>=33!WrJQ9mhYgKjb5Ws)(b zW7;VxYRnm?Nor-SZY19!z+a@AS{YnO6D?ARGjiS(+Yq1S`Q{tQ1KMHv1OiOlxT+XGlaP*{udX z-?zW6D)73^E_`r=WmG&`^06?qvVl-Dh<_|>Nh`J}%$ddzU=E$o#XSt<_NHv7yyU~T zH!+i>aQJ|jXl&UE+BE@N6|Tm*4a)f?YaAyc_^b@D6`|tr>B%?;kst*?FO@j80*v=z z=n50H6KbS@Rf$FwPgl0Lm--Ib)tvnpCc)UO#z!a9ZY~}@1si7&Ky_!wr{lu;YTN*d zi{Nr6eN_k*G2g}!&$uzSGtymgMaO98dJBdcVp+lTsL(iMy4>0cQnaiZ{Ds^2`^Jv| z;74Uri^6sY2JKD_+wg|umYIo8Z{u3)+9~*u>oI$<_f_T}|7;OCy~=LqTn6D$MUZ-2 z&PU_f`$xwXy&zp{3zXA|sNeqf!Hq*=n_8}4Og>{}V^tbnp|I<@U}^uitozpVH%KC5 zxz}Hu0lo{cxgS?Q?Z}9#Zu}f%@190dQV+i&;qgkU~Vl@7?+(UIC8w}hFGS$LDklp`ZcE)V#ON>67{0jdE?r4tbt0t=wOx3szQSMJ&U5P5PmSpOiX^<9l*sm9m6JKD;g=DYACux(lY$2DW)Sq2MXGvvWN8Q433Eqy5d{mp7rm@|#vaw1Vh_ zsXykBWSJ8gCF%4OaehanA9vQO0^chF6h^f!Pk}#DljU&E#Ng09z@bzD&A}KsR?JKj z3-U8Yc2C$*lZ;&|+4ywJzdjTW#Ncv%EXX9u+Y**asE}%Ig+dJ1R6;f;s#|IH2HgvFX`rAFWS`lt4Uj?q3 zC+c(YsC2xnOBL4?XqRp#YbJ@~vom^K z`$Ine8r+MK?IDKUcBzGi9f~ZbW}(OSu&=fQ#4w!4=%j(Ub5=|+&jAUzV4}A#uXbKT zJl|l&ZkH3CtC-D>fYScCYxTyt;Gn-s@oc_qp%OH8vz6Ym&g;AU_D3#v@ApinhIUMw z9n45pv9bwzq4Iu5`pu*b)k0^~GzLc233IHq3}T)%ZwPN3yXer6U412{;bBYv4!@75 z$uWW`p!8PFxnIZ4ZCx0O**k;E)0%-xv}z_;l)(;f63xae9non47Xq*pn}l7fH$fjB zeP%A;P%#BN2BZSz+plqY4n|0KhC3iJMt+7eUom?%*BxNKyDN;atl4K>-&V)FSo+U? z#Y91wf#kmPv*Ug5kDoBwxsFeFWPX0X5KZ(~C~nUFhszF9?#hAtsaxlAa7h-0=-fNY z+0Z>`o@7+@n9_cvxZzBYa!EzlA$kdGQ01TI1JNae#p{f?DDIC5O^!BRTPC`74tD)h z>-3(Z;U;qa2zW@PQb}3*aYN{8>^82!@y@6Zu#M(L04}71cpwSJ&vXU4>(ifUJ2N6? zm(NPZ?79PGN|3I$B4R$$=OsUSJq`-Y>|lPq8hm7(Dl~L&-@Y|-dVnuD_V^IY#U}#1 zA@%yjLo#;j{Ns*z0}vO^n2L75wwprv0WhDEY~VlsG}!RsyLB3&E6}H0M|s8{1Y^Lj z)F>-EIkDJ=uu^0F@q-Co<*UtinjhGBZZ_d4uLY@JDR%pO9|kme!&wXrD0a1aQMT`zS=?fWNxrcvjRl5yw>GXgQWiMcx3IkSU z82Fk2QkTEFZO8rs7$_!mrp9r4O&x>VY^L_r{dl65l5Udz&I_+xhtF1j%Cv3iJ5tQE zP_fS~2Bs1W<=F#|sU}|Dh33Z9l8lvbUh0~qpw5@~=*3+7s2|MwKVZc`E~mM|caDAo zQ=DhtnLf-r>(u0nCo5jK?7CWhY1NG@2i>X~lXY(HmFT~bVG|UY5i!#4NdI+j z(*7T774+3F;BUiE!WtZ$BL&uqxIEbCT#@|woEc8@aGp7C$I^yAj) z@@{XWwb2RNYuz(i?N#74RLVWpGC9FXZ|sn~4nTV$P$Y#QGVQ)jsBQQl>6MRhcY^k( zJzuk27SIFD-h=+q+IU9oMyk% zKg((uNH?tODL(^F4i+H$fsG*)&akqjbsh^K-a5X(Ryn8Y-8&m&0Roi6*KQRkDMj>g z(uWci@A~{axYyVwJB>*WXrqnWph7@~=p*~ZI5Jx$&ai7fyl0#{x%`_1_xuGiam#Iy_fcZo9xJXG zR)7Taz1^9p(G=C&9XqYkZ}FMMJV?6XePha`*WOM<6KG5Do-Vx?h5w;X$GRJ9l;ezW z5{%_QP25eS5x~cj3k%@>q<0~@LMafi!|iQ012GCxP2%O@m223!Bp532;`d?Tk0eRL z#nWte_U=f4RN*&$_ZKKI`5zy;wbn^R=D4D0#)4nVLe727R+6_l88pJ6co#&7VUSHu z|K4%Hr*{YoS7#~f=ma+cP1s_(ytKP;$)sRz!3`;UTfj}m#_$0{tvZj`w}2$`xKZ`7 zqgS>1uYRy)N&r`TxY5)Mg9dtL}j(iogw9A*- zWC~42z61=nxHS*_yfPaeO{xIn#sOGo@sA0Jx1gz&)_Q!1fmb`;zY#&o?v21z=t?Mv zlek{|eD$8+Da(}9R6C<(537v6e3-Ji$A=RHRrM+B{eE9KTugM7dyyuc)f9Pm4Sqaj zvG@{SHSaodz$orA%_d0muS&29d0XYU3Rq?AYYo=FFh8PU7iO(`0e{v&MZLoM=ZLF& zUO?ZAa|8SK4NNu8A_(JKO^1GLGhBh?qT2!08Wctz23auHQCjg6bF1_o;3jHN@ZPml z`3l>s`L{Q|D)%;R0xftCbrDWKeRmx{fG+o8KR$VzQ#P{4(3xW-dniOZgjSoAN#P`gA z7AEMyg9l=j=Q0B?{_)y*Uye3KWERvVyu?ER@c&j-_yxIWYITD2VfE9AQvM~>%d$B}gOa8DpE}E208eA^YMI*WHO>c2Lno@pNmm8a zk?V&d54dV|0CqrZbhrZ`ltP6>=ce(&B1VV)*Obfxmo;eQy~P)n(EN4E(NkhxodR?W z>AosLySmPIZVj05ev5P`Xo{M~7PCU_ci!|od717NjHD?GURy2I<(5!)k&{G$cQx7`hy1EY|jiXUhCK4y+tZuN%)M8(zkdic8 z_oQ1KXirzBwHw0}X zkTfOMJpmE{GTT_sf3h`pgXmdh7=bxR3j7dd;(w8i6wy2kfPF0 z%ap|K^S{wF7s%fGYpJHphSXaqla~m=<&H6#-a%0$NfqCjfjO2C!+AGAeb_~~v@WIb zhRVy)fUl?CHrl#bM+G(Bm?t68KPUv+k~v5y@{a>WL4!m5LYt+U-i=$g?g9Ay5ua<_ zu(#U8ktlxXBqC*=k9NOA?2Pgf9{IQy+CZ>gcpiSh73x}pb!Ys63amDeKWT&H{NejA9uza3F`1bN zaqRh|B0~Sg3)E0;5JMF&)7w9930;ZJWi_?=qlo)Aj!l=jV4qm;eYOKGJ9(1u7@|+CAPlnt8TpD)*r@2E>CF=7fuE}ZRNjlkISxu zruf!IZlJq19~5iNhoaF~`td=?DDAKVjydV&UV4Fel=%B~ezcvkAoJ6(%fBrEL7NMs zIjuO=bxCgB2y=o(aA`D`pFM~*1wpta&-Gp+dgu_KwaNvaq#e6=kIuY7z!@Ttq1^Sq z8fd{(D$y&4&qVOUGK;3@J@ixEoWlq8RD3Vq880}S48BRp-rf1c!I9H!WnM84OKcyV z-o`N$7M>C2H+1Uf=hG1UKgPJ{EH|*1d6DiYRN6hm_9FE2K`$#L)%=A+<6(MG3ZEbI zL*Y>X5`BSm-lIQISBthY=SPJU;Q+UCOH$4_8a90h5psDpe*Z9p1r3{FYo8O$cxv)7 z?k(wc@|?R7mDxlJ$frDOsGk2WKA@yV#F*93yr=t)&+>InHLdLZops7cnT(aY3lXpK z&!%Pd90(0l_^9ba3sqPIR^N;eIHQ_&Kk=PGNy0m!`!C+o91%@OB)z-;gI1gYNo1h%N~PjhBQ^Fp+IT z8eq{4bS4QJn_-i*f67IINGSz<7^XMwGNd^=>i=N@`yPVr@1Vo8lgoT%xQ-4|pJb+T z-O99fyL(Jo>C-O#AqB_HU)hcHZijw%y~x`!pVE0D*G=JkSsLa|4Z8WD%g}g}Ver4l;jenlLl1338WhZXY4f ze*k2nwktF}9?FOhP#|$jMoDSiI+3K`PR4+-9?Y%V{)bD<;)Z29peM4-0toW*0R5hg zvzr3S(py;&`4kN`b&aweEfNhfZSHFWGXXPv9;IV@h#i5B3l~7QaX!FPCwRu|;rRek zFt7Hu?9WKZ1mmZBXygfaOFPWN*cjsPoVTNmfc(7!0EgSS_weLAoOYA{5}WDxfBo@! zw4_F6;`IXSB_IB_Tl3UY^=+A}e4&NRr0J-P68iS~M=?7>QvoWG_+SB}m6}9t?v}M| zLdN{S4;@Kw*NuZKvnMvWOvbB$IRv7Q!%WAcpO^2&ix>953z`f=hBd(37)m!!&;q4P zB6x~8UlpN6e`~(;_{&DH>|1Ehz+O&Qfa3Er$yEHe%avy~s>%yzW#OBB8y=5V&&wSOc~~{O-`QWWR`s#zd=TM=5qkIm0@^`vDQm8 z1T;`9$Jx3i0I<3bpcBGaXB|i2K5CZNu4|uZ;Rft61gayW5lYH#BQ;LN0Q)4N{9iFv zjjx3Bwlb%CK@*wk(5Zp5jZ?iB3u|p|WG$CM^JViw1kV*XbW1D_=f4Hv{f%XC=Bi#t zZ^Fud{R^=|rZuwfHc$h^OPhR$Q`Q&~?SU(>v6M3GYizB1seK-zA0Y+#k2szK$3JSa z-u`9HBZZY44qUQ(%6k|jyFhPHsT> zks<)LeNxi1@6u62RF|gU%03xRuT)#jr9mNW?i(27(qDa_lS-@zbeIGuA(V% z!784{q?(P+83;GprRoD%Hp|q?hM3_ntFlUx-+_{8e^a z=dNdAmC`?f?KtbwnFsU>$#8aXKD(pO?b3xpcDuLApFI-QXZhSHCj%|Y{ER+bv6Iuc zr3MBW@P%VAXH>qNmqAbz)D_I>6WJhk{^-*U;MReGah>W@=S*lq{t+cYYt zp!86N%Yikydo93N#q8Y2(NO3VHR42u$#3KMGJ}W?7$?C6qtYabm*hyLHfTj&30|aL z6A=CU0=k9fMSSX zRmiSy9=<#-sQdiE`KoC!>brlo$}3}+In&$&3AdPQc#cv~pREYz-9Tzerr;0Ux!8=d z+ED5)X^BuiVnT?-3J-^u8RBk#uG(4u_BN~>4`YX!DmDGR!YK*SwyM`Fn!|1h+e5*w ziZt!_YY*nRjUo&x-{PN5`?-cYD~ajt&M0ijq6c64bspNi=~0)yuadYl7>$$81*Zvz zaYW_@Y!7X6*P{HMY=VadVGuF}M2#4HjU4GZZOsDnl8KJIPi$k}fARYjq*hM_%tkr8 zcHTddir>_q`HX+K!S-Sm%I4h$tN&E-?GFNUE=q+I<7hp$$WEJIw+m*WN*b+$k90842iNMKtcq$+l=dhPAJA`@rp;!)SmjOfWfbFcR zGZLFQbi5!@l>lJhhC&Kz5d$~kfB<6Dc4ZB!h;tRd7GF`sAVV6_mVniYL=O;hEX}tT zm}by-oTNmLh6@Xfst@4cu>&5Zpj?AF-+bnQC#NVVr@1^Vv1^cbXu!1~UnOs+KeH_P zS<)yLa&9)1TmMdkX}>m=`Gs2~&=*oy>7wO}rgb*}dkfM7P@Ev>lG{i2?l0}7MPR8H@&=fdy8~W z`6Gw!aLLSgAiW{=onphNXP3yOwry=jD>RwKBGD6-{h&n(EKs^LJON3@;-MDynJ#aC0L#yCWK0--7FgogSR%JzZ z%cUO-SwD+6Mj#GS?dF8ZhL`8=oX=@yWN7vRDep_t9txudP!vQ+cY8YbefcImB3GFh zCE4Qy4w>ovCfu?uvKJl`R_A3RoQBL$@EXaj2P(KGEd$4ndd-$|ZYD-8{`UPLc%tm% zUWWyt3Qr0Z|2!NL6aUz z@t7G%Fpz43QN1R1vZX1L*8UFUK@@3w+b<-)E&(o6pgSS&#Cjp)J{oH^Y7-7R66~K6 z@_nF0V)h?&2?aG4+2Is|^_OPsv06DNhN~x5GGurGhp7!3_mDyFX|bykjO@Q!eHhy! zT$-7iEcG#O8pKYLfbM)3+P^ZW{fji?3_gpWADl$YIS%$noA+%jU^w7BmNbd)-MR1F zgYF{A5iGS^6iga}PqhSdk8*G{;ux8$T(u$@alNh>o+|^gck`ZDc;h)sWWeDufIy1aH=M)DrI(0rT^=TNE$*X2s8r$nlj@%VkjJ13h8#QUeC|OAc!w)8ytZ0G8n)tfWD1l zq2bhMhI$_f4lnIX$aNtYy8^pXiE~%0n4;YSDVJn~OKMQ$IfL8KeMF+dBUck(iyj8) z>_~8kn6eiLmWO~NZGg5h!YQik&v1kGp8;CKzLNDL@>Efnu}~zI`&{E?(ON)D(tNPz z^}~jKBT$-UK_3xe`J_~$GkkmYSz>Mn!WhAzP93bQ66?f*j1@T7r&xUzX>oNrZW3XT zS1bA@)%@lZ(D(2B!ZKvLG*ymt*XH$hXBQ=nzGiAJZM!^R{`NX^s4)uh3A?N3B3%zb z%Nm?pRvQYwhr|nb0Gxo0+|wPD5&O@XVt-~#2{tKyyv98UBK_m)+QkA6nCga0eE;Fl zqt=;Hx4^G^H=%2Yf6s>Bf~)rnG2tIs^ti<_3LQSzQ!45X^AOi$4fYLTsJ=9 zGl=>Hj!QWCX}2U4WvD}Tt-9p{9oT!_xJ4B+<-HYJtsI?mo>_9A)4p`m0X1nWq3s?jFEoH!>}i(O~3dn z>>*}Q-e_>=-It*_xMHj*2@cYJ8dW2TG4Q6M{hQ0Ynw zdTt5wQ*J^t2#G?*TuykR|9}x85dXli1UDJwAtAD`A!7?yr7Uej=x;-UqUkhFSqo@E z7{%nDV*)OE_Llf33(IeQVIk%JDN`EYtanp)Tgs*9l!9{PChc)fX}3?-Wf#GBXZi%h zdD}wk3veUk~&KEf^; z2;|rCtI)85Pp`|SH<~b~yH2Zb*_u!L#s#D{Y}auZr&}B&&A=H0+!!|GC`4v`c8v{D zT{cKLKNrnxKn$A=685nyTsTXoh9*P&)ODjAAhn7&IWufKVUW2c67*?>u6wWz&fqJD zoJIRzI#yaF6MSLppn(V}Ns=l=S>RONxO2y)CvcM^X`*!{gE3AwDa`h|@F4_`+2;Pd z+7(%(2`qw;ZW;E2#0Mq>PRxGa1_OpWp+Trm=To!H z=}Y~9B#NiiCn_VY>Ym<fY^(u}!T8 zh_Y#urZckRY`ae}y!fNJujUOe=3Ak~-R11IXvz*m+d>k6-b8E*xTGV<0w<6|!=RcE zV~#kWa%;#r1Gc8bNpGrN{QCRAC^%KbsRZq^sVfyXHT0>9P~EkXA(a3-2>4KLD~epV zTPHx$spr=O8VBiT+VoqhJwwwH-V@2;E~-9dUX%U%a0BbbP8#@RG-W6E10WCpf%)pl zhK^!(xRp0i^U<3L4oNDmQJ)M6kMO1I-}qEmi#Or*&PBABuQ^pxd!6eqDIhii$3o7(R_Mb0AnTXGJ$!)yruK!yySP%QMU3*88sWc*$RAse07 zUmnrMTSmX4_0N&22iiR91-CKuIlqr97vGZ)Q96W(v?#r!b_hOBLf`#!P7EBf0AY(n znBet5?PgK{J&Ou}9v;>f$6Z0WvY#z%{v;ryF`5ALN5T1huSFVS7 zoL2tKw0p}JkaqjYh;ij!1VcI`B^!(v`vBVBdoRwsF9Z6n*_V`4_Jlm5D)jF)eGgM# z0RKh{s{i1R-JeIlt%Me1tm4^`OL94pRg-h~Q6Be9r9}!vVl}4~RR~93p8Xhp&8Vx0 zVPdqGTl~$I`~VZ8Y|J}yTd%w|no+TOq_%>(I{3TT@ww#>eLhd)+^GTdL>oP6R3*uI zu2O8r`@WjfmyYi${QYnnI5Hf2blS*|Z=Cwc-{O1d;x%Y!*E2l$r=Sf8iS3|;SZ%x8 zu^q@Dhgr=yH*Xf;SR;7KgyTSR|EVJqyAkJQEelJYgxDnmpUJ$dboAMg!Hk>We)zn7 z|K9yEU>~5%RQ|PsEyL>THbewivsqFHs*bi^0z>&Jd0b-eO-Bxf^EmJw!5eYzjduUZ zF_aaJ|1AD0BngcBgg`U}R#JJrK0MP<*hn$%d)1o^*1~p^op_Q9?(i~T+gI5;ZXt2{ z9!2w^OSQ9JmxX_&U6Adzov=!JI=xVc$+)(41T3EKpw)-d z^8vf(UuX2dt{8vc#21)~WiaE~jwZPNTcjl$LT(`+jPQyIY6y{!6)9rx!9ZUX4Ys8+ zVNB=>3WIhKTb5}}Kwa4TuoGlWpp;x?(qJ9}UQ7@7j;32gfk{Xictmdnlj^k$T%53} zS=FbN5?d)+qUrc1qOpUflgd}`@#|@gY^C{z0m3+^@keI~DMC~*{_{$@xAjEL3^wMy zdkP3%U*dQd?g=?xQ6a>HoWTOv5DUw9x5MlU0x*<^mcNva)rwL(CFFe%{SAr_f1dtB z#RI7L3Lt&mAwY!)Dou1)z$PhY{%3p@XD`?UbUzDZz?I3ZB95gCa9 zDL#dOUHz>SlIDsU;E@}>p8{alWy{qR5X-})g^s{+EDJ2J0NZW9K5^AWb)1RXsV3c* zsDgX$UXeu9ivsL{^``TP22Tv! zFShE9l^Nt5<@c0g@^|2Ro`~{W43)rOqS(Z(J1+klG#2;1zC1TspGx*j9ZviSh~Qly z2`PhJUWD8fU}1XDNwj-}<7TYf?DJhv+LD^dutHOdBkan=s{VDCZHOab1 zfobFv9qLrir%dzVa<_pihuSmCFzaK-j)fX;Pr@QICUHw9_d`TkT(fNU4C2v#)`H_4 zO(N*$<6w3>TY5m^(W3|~dg5}`X-*x%PIGdeI=z@R{x+~-GR49oQGrq}4yNDDf-Ed7 z=H(BBQ$Z_%6L{tee7jPxK-i6$7zso|USOeb3yU!;y{iRx;rc|!g#>SPAgGe*RAwM- zxQ+RRIbwU0gG<)Dj5Q0WiD*Wti8IL07@jUYVI#Qw$QIVkl+N>j<=6Gs%f^%!g@oh$ zh3(`8eOZ9%`)W$Q!H{Hv@}W}aZ@zLoU%WU{rT!?Z$j=ZMGT^*(7jamKH@YUezXQgX ze16bb7oYI@7s7u4zW4w`v6{`u9K-@((2>5c+E@SCyqjZ(46?Y19Ed*Xb}$43aawwr zX0?4dVoJb{@R_&v2*;Bd(6g36S@`_`*Eg6rgn+oh1PbK90rtF3H%@Rx2(gI@kE|jd z`n4%r1EZ{X>ET#uFY%5fI1|ZCrGmHRdK2kPzH!$X2lxK+->@F0P>Q_S6h@Z{b-sLl zPT#zcFLj%o$sgDIw=$Az8x}MfWk}K83xU^ChP2FJ>2MeDDPTn2CHoED=hZ%hh>vLW zrw#|kpm{Eu48r5m+~V5CjO?;u6szPfoPW_b9oz?`2j%)sY@zjT_*(0^;Y=)qdkyk* z1v_sufait)_K{>Xs~QV_3|_KAqG!tkj`I9C_kN3ny<(be+0PAiP8BfH7|-sS+?Knw zpjj4lbBSAYnK(J4y7PCw5jvxeeKj-BY@17U-f{udU*=9sJEsFXgJ@ahySYjux{EGF zd+FVvdm>j{5W2DI$V&k@>QmEuj>fzI+eFg=FsqLaEJ!^0A|^8q&|hwEPayjk8=Uop zqL2HROfKR>L}*_0Li&ae6WxSk$6ik#&xblf6~gJw2INx?2O$ZY7@TL%|+uw_vBunb>D!42IOv*@;b#&?gx2J56gzM^GChPh2n#J6~B!wSj{QN<_4L?RIjHKJ&WBt`R9`Y z(5U8c)8pWG<~FRw9e2Z{QG;Zk|C%iIaQ>A&kr*%%FKko>Y2Za8R3kZ7O@lO<;cf zwUF{?jJ;{dTO_L+_Q}D56?+#ufq+gb!};+YIZ_T#{j8#x=lLTocv|0m}QBs7;YWEHzL|SS3Op)NiV_s%;&FVOX4Na*DXI-D?^xuu!u7 z3i!9nJJIis0m@DPn{0K9!Wvf+LKh=Y-B4L$*UK(v6MgNr;t;3QD-(!-F01>=3CA=kD= zMh~>71|P-nc|s=njd&bXxy^Z{xJiP+pNHu9J)vkIZ;mDIsOWEgz_)M{>CE^G7mrK* z*G(*aoE$VU=7rvr`QH7o#$abJag^mSMW&1<1u!nDb_N@tbqt14z_^7DOQ?H<$M9qN zg}S>ysjSTGf}5xglxGj??&F`Vkw~s8uOUJ4#@d?rBO5b&+8_qOYV_%Tb7|1_8)?zr zwsdzxmbLkElOpD2%Frm(^bVx=CcLi<6@CBgoKBVI1AN{!Vt3UepRUP|*0rRL&dI}^ zn*xWXyC!X6oH}q(de&og1w6^3l*u-G~DP zEhvA-5EEdBs2Ckhfi2Ay{O&No`Wy?kfTSt{2%iKf=UsZhmyDI9$f>|(HQXPa zj2b7obnZe^rPOVUV@gS+kfL*|9*Lbk_(H$wKZ`-X1b+(BN8 z-}g)N7CwYn^T@0zmFxw5!%vcA>4rRafv%&A+QjPU;b4{v0Yo6QwS%5B01lxkgUUe5 znVDe_oGMN}9eYz{2bcB%79zpmDJ>SJ8YGc3#cL#BQcDQeb;JQFK8&S=)6-b?Q6Bhx z<$HVeA+e(G5dZ_oJW{3mKJ@m+GLu5TcL>mP&W^sh0@RRuNt7Ck2*dmy zg0f>$5u2YudHC)y~Q8$fsPWzeT{|sHKQr%x;>|>zBfA1D6^=45S>goIWzbOukZ@7~bXa z4PWIRO-TY6DhPJ;{vJdhDMfPGI?>%o5Fvp9XY0;y^f0vwf)R-%(YdSYQ4G<5kkjmy zaAruJ=mEgnF8q|9XMq>kmnZWQ?qr{zJhHE8M>boYY)`zq2RaTB(oOT5(dGkFgGDva zO5r{Vw4t{4M3w#LznuwVdJX2djv%xWk|c&jEa}w(w7ezZ=5k>{*`y2%)OYMb=Mv`} zoy1&{`rVoz^qH8*enn_gOuLD9iLhHC9ZDpUi^jNxa(M zQeXmD%3?1bZ>@Pr!r25p_Cbds5WAOa%cIG=2tgu4Ax9AK4Ze8t7z&+l#vX}~20 zJ0&bE{4JqIpf?PO4hXr%=U^+T$OC92Io9bGLIzz=D!AeIvk;>E2Ou@MD-vUfhnvvh z5B(=ryV;IBqPDJ2tG*D%`*_@;cRIoKTkF2m`4fy6()g@3AO)6c2TY|Xvp4XgGs@=-`PF7VVLc;w^4nTUEwC=mlo?)u*e${6FC7Bv75TFqe-! z)sQ&<1w5RAF1=@^X!w>1VDd{8Tyn|wg<6DKu8`W4(Q1~kjx}U8-M#SFD5?E!Ly7`R zz@6XZzXbLfbJ|P-_*@3o3v4Pb)vd_V)^HjuUj1k>b0z{WCI*q)sQc)flT}>(NM0d! z96GP>0#Cl72@7y(9JkzlSY3!{bU-4Dp!fybqS>c97Y)29T7salQ|cUyD31o;?$48; z{&DZza<=L?QVpSFM8YQ@8r$VdO{?d6y&-4V)4$BznY^TJV&;$>jajlF(K>B9zc7v6;7XJX-8vB)H;D$G_ZZN zM~Ll0p;s9e5#1o*oun$kvEZAUt!|XpyQP zgKPQ#(9C$#1tSyJ1t^Dnw1i|97f6Gu;E&M=5h2EkBdi{;;#H$BTr10bRKxE&Y7; z!I8XxZbe?nt_QiEGqJB?wU0BBj5#D7pQuM3&_j(t?t3x(jLBo0Y(b+aQLdXSBTSl{ zw&XFo$r`?F%%0IRT-&sQr||yot7W!q!A_y$M+@F%ZCSbtb8%g!q+(tL9E!?SNAX;v zjmjKcxG1x=)$gnmo*T*v3m+RBXyW7eg3eZvs-J;jL&SlfZ&{G1_sk8)3mltp1z*}D z^E<*U5qZt#IMmgOUKgt^OWNOnjN2T_ONp>ipm4E}6eBksd1JbCDf5(5J^x=$cgE@f z%$Bh2(K2BU6Hg!2b586O+n(b6QIemsoh;F5QD$IlktjoYN7A{ctV@KR@g{9)4#ue& zK2y$dZoFm~^bB@oSr^f!VjC7-0U{E&acGtEByN>9Crn&oIl3eTKmp=GHOsPIdTakE z2FX7pYc3w6dh%!Ti?d5F7wP@slwuL)J;eypLnHV6NI2GV2=E;>9@e4sgy(4R6|WgJ zU}*y<(13lQJZzNh>6KyPYDl8#rm-4T74SXRS`TDr2qiHtvhK~)_;5R5#T9#uGAjr= zaCWF%6}8B;g24G4bJ@9F7>a{0yvv?DD!TrL(~--zQ;{gMaz9sJTxIC>TmeRu#WV_q z?AwtcnV3b*+ssGrZnAv<;*y6oFCXGgfcV4pBQm{3Sr@sbpffJ<$*&1e`41s`+9_nG z82>fH`XMM!OP-yJ3mDqEBHN}(LAN7XXxS%ZGNT+@4&$Lt@h?CFnVKJy4b=RbJrUVzGs=?DOPa&EZ zVDbVT``;B8tAftcV^|%0a*#da~|%6d+{LMLLp9s_>Q zDqH)@9paaaH|Bs_7|aB#VuBz{ke`Q!#J+!^ObJAxqD^+bM4__9;uJJ&_Arr6$VtwG z&LbXMHGF*xj+>zikBp zq|IxiqcBo`^aLPhrF^9iM%5sdmu-qb+GDY<=Kko{{pd_rgL^PkGSJVk>aI&4#Ceg_ zJYkLrPe9!2%TaKIZU6WZ01Z7*B%HVt8_me|01U11$MMg4#}=&PQH;(8Y9K}D(zOap z_%GcX`4#l(a*D88-LCO3YEQ^7hkv%MExDrs4gX#E^Kq`c49%Rd!4M3g`D{l=bkxtQ zIePSeLGnPeY5nqxejsfGlH7PlD9ks8Emq|huh|VeP9{v1cS9WPaWTEly=}{a6h3yi z3T5)&bt&mv_BwPU;C$_akBZpU&T8@WFV!@iAsw{utc=LP}w#NsYZeS zp67Pf7t|g%lT{{300maxL6yLUWhKqbE*7=6ifa)`xO2LAxD?2X2nvF zwt3y5T%K&1K-5kLQjueDz*c{bGvIG=aR2l7W{LnycpMgJ)6-AMMg}7+BY9Wb5N}$G zCJ*RQ@~}qkHEutr2gJWPn6NeP0OBXvsAANg9yl{0$c4ZN!iyIg^NbS-OK$62+(?@yw-2%wYa%cu$`XXYTIRvoHGN0p5+qsLL= zBZPZ~c>o9B!&+Yg>W!zGuko5?wooBPj>UnCJsc*LgA))G)EEgGz}))!{Ow!!8O+3fcOpj-J&Xm?KLO3@xsn--$Ybzh;%8qXoDC#cclYW0%s>M_P*=-W z9wlo6y!Y1d&p##aXqUDXS}eT^a(MhLg#I>FgX3zU>8gHJ+1-ElH-Mg!+Fq#@7@k8v z?#Pw_k_Cs*K`894%SH1V7&gRRz+b)iqgVwdl(}?25%&7mApBIIIK?E4 z1oe)x^r5E$=Fa4#bPLk$%Ps}#+^b^r7xq}x>>&8x#=GWT6+O{f_S=m_`xK?~B3W)e z0ROV3(I5>!mHqb1S!{5=Vqeb z#HB;k)gC^v2oRM_9FV31nZjobf{2bF>8ng9RA1j4xqoQbR?`bY}C-_ADRVWq+wxkR8g2`0T!9d4Z; zA94dhwK)qd1Q;Eh(8Qqw)~Z=OJz-0Zp`7_<{Z$~-qV^CVv~3Jg(6*y<0-h!CBb^RV zD=GzCx>I*IgL8z6+0wx^nQ5p$ZToONsqD zN&3fSVCs*|F)`SIZ>yoQMCwuBeG>9S^l*^g8#+ehnE-n4E*vG&d+T!Swc?_c zb-`U^psr{&nD+$&Mau06v|~ZQNpW?er$MI{!P{+u3gD>QkM1 zb&*W|0Q3VjaHi{;6~j$+A0wnrc#=j>0L%}Q!gXiV6%%2Gg1mA39T=gJ3j!akS9P1( z=ZhzYu0~i@ndNi!U+RlOs5Yq z9m)ML0&su8viROR%x4+b5f*oZV&IZ}!49Gff+MXfc8jzd5+-VQz%uP#ZATX7&eve% z`1o%=6*h(k692K>-o6dk7=glpWgm)y?tC;%WiUIS;LooE{+l+;NFTQAfH1n{03;lQ z378l-^UXi_BC@wBabUCuu~C4XATbI$M>SXt5$Ld;{g0^(|9|%mOT`PH5}PZ)59&U8 z90lLfVgYPLKzu2{(Y2*H6V9DLr+0h>o!9-^Se2l+>?|@7z$4NJgP8$P0mmV?aX1;y zwhMp+GsrL+q`9Y@@cbH3De7Hcc_R}|Xro%159V{sA5pbfYtdb&XjuH;+*iK~Z&H!g ze5{dt>QeXy%H$;-p`08w;NvJ==Qkl^8>oi6EpMjT0|u{((D|lO4jZmKg5r84#72XB zTOA(OwGjpzKPMaUfrzC#CJ35^NInvX>IrK!v?A{VWE6)>i24D`!n@Be z`TxAyf#C>@tAWY)J>*qBq~_hb*e13470z4EWC104cZjiDB2GYR9m8$Zv1>7GmUc@6 zq~*YIcioNX*f?;$8oCM%&kA2ZT0JFC6ECC#{Rar^q+}c>v6J#FzArrm`!$eG|N2c$~yjs0%85 zSZfZbfCD165f|$SLu$dn?S%)I=H&nG(?tWHHQI#EW~~}|G$R%U70JJiZW){sTmq_ERj7fLR?HN2hR#-sQn|ba?Q_fA;|zM# z0{Ur#>Br_=VJ}gg^E}-7`8xBFV)iZm4jr~D`F=}~bg>i(|_llsg!2bq}Bea;12y4j%RK4`jnvDgjffyxOB)>*uimslC?f*FqvNZlNgvxH`aD{zy^Q@+AWPUQ=PKgCs<7) zWE=P8xd#rslbF9ZU)P&*{m<)+MhP%UlD^R4W{OSzO$P1kLc%C_*MeKZeNFT5wLjBU(xN;Nl- z*Owf2o$0B$hqLh6|I>3F-wi1|-`+uZ{tx_dZrXocR?U5?g@iE$pM6sL$>L3>R`52O z%YZ1%15Qxw!tFY1jQ%o~fAt>nGGF%3!dor9ne#V?#}Q@rY=h#<^Y@*Sx+0h2_jUNM zy-g^jW)sDdKRI91a1oK_7^8i5$t$?dQThLuWZi#`=wI2FRkv# zcXIx-Ectlw{eSt^MKhJnMumFENSIAC4E)L}Dw$WfuE$)y?stdovk6lU%?g7)n>GCW ztV+x@N~>rnj~y*M#KBC-8#r+P=mpOF6`~bZ%{hI7IWIX)$|D>q!aXV*zqw9LO0fYH z5|7ZT;ru;(i!lP#d=gdpy!Y|qiII32Kn{mmzG4sdvCb%c*C*< zZO28;KEK)9hs&M5{g9dEAXf~PgKnSLW*CITZ;$z4hEB2e<|~|E&x?VjXyU!DV-w~3 zi{%$LNj*P!*}W}1RG4MyXNQ<*6fB&2%m=aWNB~{nvU~h}U9`-ykAoHydef!d897hO zjnJIj`q!6kk%Mf>$R(q&ysmPc_n+iqT1Cmd_L=EI0V;QYRh95x-|DY_^^`tDQ9@ji z`0tmsy-dmzrzpL1E#bp1J<{2x}r z>9r+wloP^90jhsoSHLrx2M7N9u=pbwk1@k2cT}qM&z|mjJ_R4jZr|70eYcjwEWP6W ztyJpERs{KK|8_wodm+qU-jeK=Yy16)qEPx*tNyo}``4FZX8>E9sobW|tGk@Yql-EnLsI-92WXN z&b|X2>%M&-xf^$-MGK`(B$1VbR2oE)nNfBkTgYq=(nQLLMD{Ezv`|*|rpR7p72$t= zlv2<0{@&m3f4s->9@SIazTeO18s~MM=cO7SlJcBIwC(7&q$L`sGi|I{vf#(*$Eg$x zFKdxcx8-vyAK(?&cPi_)&Q!nbtS|M6Bc zT;^8*+E0VOfFdvjBk=vLx@#)Q1gjcLJq)&CYeF;zDAnNfA6HVhx`Qc7CTb}?l-EyT zRxYQ`JF{u43jixs;-2y9%|hY43*RPgO_Q<9%Z+Qj7_ur;gk|c=elPD9Z=O~7rv)6Y zMSuN*RHcZ=)RV8PCf@4tB{)RZoG0}BXx9AB z=Hy%E(62vu-vAg=JXl7xC{b^B+SySshlvAlUKja%xP4B7Y?M>vn&@;o@*ZHJQ3*+> z7D#6C=?hzfBGM;=xqnU1^f^X>m2$@sRo#=Vw>5+SD8)Zxlqi zitgH!O)z;Dg&a~3AW{r^VHH5WJG*XwgF$JhuYGq6R8Q>hTry~v5Ng*b6f85&tdM47 zpncM;OS@t7X5WOV-w^G?e&^T!nm7Io5FWJn%zVy!7SS^V(P&Tk5+0uPjHctDe^p^2 zrsO-KJ~ak_0N1vtO0z6h{fjK-mxS}3KHmi15DS6nGndg5BA|3}9uC?Yave^#)$s6I zuyM^I2hdngXVkuuD7ecYIwQ%f6kjE-Cw+WJ{9V$}ym`daqCn67&$8-YgYaa?nmi0H z24r54H}dw${Ok~#uE{^frOiG>2SbKv@VB|PJ|-O=h8ntPOXuBreAkR6i!k~Gm!^YT z<;YLbC;K|_=mpZR(c@}+NYN{=|KD73HIJQTf1dtTK%R3P!Pa*~T%aR7K-js}02k$Kca5-^{}_(vpSU8&_(c`MmpzmHft< z`aumpQvbP8xzqX&bApp2<_VFQ3JAR6vVJ@6RxMB6aag3MBIYHiSK0t)tYQC0ZE2!?7k5X46Cd5OVCQVc_+#r6n@?H&Wxp8YN#Yk5RoOf*KYH+(rWDjz>;IB=V>uXcLa1>32f7}RHRf1K<4 z{8B1+gtkKYQsoK5A2)V5GE7bks)p+4?Lq>AJcj1AU-n zdim+`;E;fXXom&jSD8RfGN$*zt=vohjEO;OCFuV zmtwP~J@GrF1hL8ai@V6R!5_pJ`uKp@(?9@j$3Q#sEHjVlTxJH_rPsx~6U)@W15-E8 zS!Z2xNJ<5oK4VZH#=cVD!sj90a16FnR@2^V&oWh-K}}S0!ih}0b#Pk_T)d293;BEG z#-S?lA?Xodr4fL)1TyvV)ZWI)mI8LW$^4OJ`uA^q6oNh|5fthw_?$GB0R~a7@u7u` ztkhlT<4nPdGZ^!C*8nc>n(kQ-Vk+LC$Ot?YYQBt)l2i;-)B(HDMeX6S29l1hqi5!p zf$&;n=WPA(cEsMxr(lR_uFS-OKtx@d#F4+25IqOgwLbWnD z1zctJ+p!;BUVI3`*P&eAPhwTC{N)06a%f%)RLDn)iih{-tCDumQ=`e1xXY!oP<}K# zGRSQifiaCrLTjPr)Y2E)`%EvcA%l3q!XrJBSkUpP# z$#5`>i}XTM-cUcT)(hOfgV@gp_vZtetkC{^mgdQ%cO7NeB1WF5;7lH=$y>p8m7a0F zBgAzV?0Vh@UL{7hZOnT~LIs)pV2_amS;7pTS?9D_w^8ncH6T= zV=+y=_&t0|MVdS$cXl=AunUbtIUWlL^zqj-TMY^`BGU#{ZFX?f+Pe)@XkV{{LeuxS zy}E4MS7f73=w;$jEDd{F6%3p)P`6v$Fa34N(7OIk4CaaxG3RwycOTDHY9`OD$>%!x z9wwsAe~BDM%S1g| zrn&=L=fYItf>|B<-v>LlA!Ixe;=Sk^`t)Sw$4DuOW+J{Y#!m^RJ(^tT3Ez`uhf^0MA^U1?u1pQ;9cX$+FTNqW0x7UWIF7)=d= zB5HS}HjXX=D;g3Mrafko8->YL6+~~f!*x=q(xhoes0!ulX_rfOC_~)V=7<1Z6V~nv z^~1Nq=@gS=)Rn%s=st~q?~|?Ht9Wl5{L2WKHFCsXi`u&b=4OfYt*L$aaVSozaRY1Z ziC9Jr!p%|8+=FFkzhALm80&HQbirQTISA0TJvZMJrD4Y*5}mRO9c8C6hG`}-Ccgd`$oR^* zB3fdf5zJfR*>)=N_-pF8N^zY3=YibytOtfnpv*E++ktm{YG(9)`l3Y>9Yf)GM9`YF z;iG@$|7=^j+?f*v3H~qpGM#(lvvKto$CwsMOC7ww#^MJW&L%jEhZxcPc;%Z3?!Ba& z*J$FT>^-5@;S|hB1wSl+n>A|- zr4~%~H}TC4yS=m5E8kUbLrSRxWs0TBD`4-9)gX)V6z`e2Pf)5bwLi5M+OBSgFzoid z@?Fvx*5V&pwD%Dgq(S_P3b-7#ja}T7DPT99+~AJtr%`R*Ly;WOnzUmYzC>vs?MJuu zuNMT|>#qXs$9wprs5C!ELgq(-A6MF?l^Q*1|5Txg(?eB8_uYlya4;?mF}wojxeIo- zv6x9!OUz)^!Ig-G8m0=rFFxrbzj+5NJA&s@i|%RSy4CVS$5R*u&i;00UY$#RL&SVC zPAg-CG!=-oL)?!~qbq0J9--wJ^#W#ICt-=}HNRz0I540#5PXw!^`m>J9^?gQ(iPeBYI9D_2d>i>M7-v#2sV zoAX^{AG$uHebd_OZChAHMmpn)AGivz6sDdnC`SSh$4n|fpCiH@ooa*07k~fp_;xsl zj9Unr%`DqDoI5@0#vZmAv(`5IC-K~wwmu`{kN%zjgZ~}45{cy3bD zTP~>V_;RkGa(HGRDN|CCT+1C11O*^u-t6;Hc-5-R+DofmU-dq!jO3Ss?zw1A{?LVz zdkNN?qvB5L1X)_MBDP&eG?ohZkT29YCk1=acj_AI9^BTpHU*nqB#*?~?hH42Kb>lK zVJB;l$03^Wn5-4d$q)6#3k*X%=HPjGEcrKci2n+??ji>M*){tY|4^BWH_tBoxkpV{ z#vj_XLEQZc>~SKtMm!YhtZi9XSz1h1uuSiO*+@NfKibB2;_d3TpYA9=+;!ROjiSde zEL0Xh89_-`2@8HnUF-s!^@(gc?SLOa@?!T!F9AViIEg|!nO|quu}M%)tfbO67iMk8 z(8yKYsv40RYC(Na=X3c(9P}dA5b3F+>5ae(8~oaM-G{DrlbaKvu$esAdN0eW4Yot^ zNb|32nn4tffsk@!KzGfWbT;ON)Q5hsUp81v$>m(SL&0m$8#9&^h*e|?yp=YUC4{(j zhn91v#XWCqEB&yIPFS36^ntv2##(PWy3aG^0Neizv6K1u&$?(b{!YQ@VrB6(JLB{w z*DueU?eU{sW0OQAuQ+y*Rgb7kQ4Zvzk39jiBHx6Ql|@uWb`KLj5NOTMx}mty!?{#T z9+hb)`C!+?ABjAwvTvvY#slgWdHmM7Te6fP zqBF)ZHL=|z2A#`d>R|bOjE`4X*if6xnrBfru7oHRuOo*6exh5e5rsq|-If=1ay__; z&%{6peJo%5L?QHern7}HbyZ-0m2R_@v0i|FW`{iU^j1gvZ^{K#UgGs4QP0bWd~>r; zyKvoH#w$xU`<~D|I+2dD6X>M>$<_I<4~`C3c?QqkpUsi@ZF=PiCat)}d{dSzun%*oJXOK$m)L9$WRR$hkM{g*zq#guok>RzPJ;fhcmUH z{UMrH6LH57Q&~ND`<0=R6U@-0EfuV_yw&jy<_w)l%SZg`9Y;1PB!PPhBs4}&MNc15 zQycB|+fI{P1CM1Exze`hYz&e!g^pJZdmSW|ZZ1F1ttX)ep>BW%Ct`}-^PT6n=zx~v zeKPJGdaU5;FaBp4_V?L)naoi5nX1)kH%`Ikf1qRkKtLw`#_x;kkpd96Kz-b>j zxIk;gM7$I}oMFa-r$I_gc+{d1tA;_5A!*Kl6n-0@{k_h8or}-VBzk7&LO_`P=()wG!mWdg0)_*#||sw#v)dfdml_9eN^2-g0R{-jMxQ!{;wV zxr;Sx)*W5zJw^xN0ze*&65!V`tW${n(oe;~S@;ApnY%g%1E}8jD+x{~MQPF3k({>d z-L?{yIo>F)*V}Vz8|?WBrJK9c@cq;6@V}&2wp)~&QX6!>&{+O%P|%mPD@%NedOrLF*ufSBM}NM1Pa9t?sfcW7LxO!QGJw+fna{#h zAQ!>@WBtnseF-8#Ez*pm%c?{fD`T>+nxpp&VtT+wKy~N7Bnb!FKU`DC&)DI)_V6SY zuvue!i4M-jAkNgex8_EB>O)~z+fvrXcZ!}@o^1=CNFa66!R9N1wQC|IN2&)^3!h=m*}qqYya;8sNn zHC>BWDw%@-s?73s>lu}WUk;PO(d`1Bnur|>l`!Ny39Ywv&N@%8x5e$PNQVSVxbTEs zPK~xY^98={^f+7IG|RT4!eq4LCdePN?|dq|=6efxSzbCfBOEO zW}z#|r@ObTwa{Iy_Wl)a|`7X*Go3kuoUo!136s5-v z_A$|~=4jYueuS_k=l}ZICbQqf3;iF@=_RsDVL@69*Kc+On>JniP8yf{tK>rDR)wKf zH{eBZiPaK6-FlqG`z*t@Y^;-eU^1Js61%0jYVAUg$niXNO_opbRZOZ1bx^gssiB5N zhk1Tt^_vwl&VWrjdS?5qEHeWAS=U;XSCWQLX5l@-Q!CoZa)R#QS(&8hogR1hhTC-F z{d&tDqLpw!jf0@->%V<7C*ZO!Tj1P9j5RA{i!pYoxG!w6QwDYF{I~j6d+OI@ecOCj znOVc2@BHbkTI`i;^PN#$3Q>jEx*sP-{O)WP#Z{S>Lhjn`jXK{>A7a%4;`=71l&3+s zVcF#WvPBET6~=pb%O(W{Dw{KA;&6zE(^Z{O&$`bfA|n;v74kcTAsNija9&1&|BU^p zBBre?c=r1+*&cG{Uqgni8}6I#3>n1qLngC2;KdvrMjg>pb*XaiCZf_?gImrBz#H3O zRoB^D+_nx*qIzh7Z0t%8r$$<%`jY*udg43*1W5^!j@^E`BK?Juqp6V&Uq4(lDNJ*% zhZcdA+B(D;>=6RB$v|gi@l893@ir-p0HR^|q@RD^5Ny&}cOH2z!wJMWeGTD|@x2}Z z#dkDrolJ@xU)qRk?ry|o?8P=M>d=kVyTc*#&=63|$DAe}1>uOcZd2vqM%>V3W^VR~ zmtYut$zF4(=|_$vr)@8{_^c_w|BuJ;J0ng`mB{1#IX>`sf|D0oWI9Ey>Qb{l4%M`w%6dcieNPGg&Fc8|gX4~fS5W^KC9@<8ocY=-x1%l> znw68N{I~F<9P`1!<5YNx$P@TbFc?SSey8eiax=M<`STFxU^do?fZ@T!vAnf|7w^i)N3fT1@1W?(#+C8@%Y{%u<)ZF7%e&M$VoVebsLZ~5s)fC5Qjd|YQ zFj%UU!I!}|KSH0auSfsusd?tV|HjW>nKn?o;6T`}kov?)4sF00nDKN-ygBG5&rb<&Dq&rlsK4VjC# zBWWCiBw}`H8rBs?Afp7thUd2mKW~2$w(}*dJ?06V?rp&1^oCt%70PGECq>XN%lA5w z{>fH}ZA%aLgF6%RyIqH!cmFw~#nYKQX;Tj0FG`E}U24<2qPn&}3*SqJoKMVL%Y*`! zsDO}zG+F^P-s%hqbdLopA{MM=%U_2~?EnvlGRST)*gSisCJ-mo8Y?-@(N)&Yw%-8_ zY&hH#><^ER5+`N!<4WU9K^{aJUTgYtZX#eX#>h7s@%BR|DKHO_$s99G7{&(C&R`!C zbEjq5VK(^c)%!L)Xwt2XE3^1;eo3-nPb22J{FK6u@?EL1xAT*U!+#Y*%IG`jTBA`c ztMsmPGlS8b&(Sn<<0mlsnj!C;u5`CZrGpr4OLmY|)Ld<&vZ2P-cMZ>81byI6RBIPSIJw_DOrz zbzA=6EaPqd-=3r1B)x`~m7qhF;p27Hmf}08Pdxq9IC3tACmhNkm{u|nbi>bT}mqGX> zte@>)zGpf*oQMaeFJ=Y1t#!2^#y8>Utur6WsSZV80O44PA2u97Z%%iL<|_AHnCgWC z%)7f8{z%LB7F-t)$0Do1wiO$?Ob`zT%hXPJ`?dgay~u5J%QeV{@7zWY2}~0@4=xzB z&;7w)GmoO-`@f)PY+19v4{7SPd=2H5_@nh^drakt3TKq_I0Nf|o0K*qY083h*oy^c zSWqlEX)4WFKwUxT)I~bCoED0k7SSHiNN&Ki4AQa8;FDstx~*FBZL zvJ&lNxyu9l?j+zAvqS*KccE^#>?ntaQDpjo62CtQhd)+QKQ2SH|a>8SiAtG zK;)pg2x=FoP0GMiNq@c&zv8!51UuzsvY~_O!gBe!It-34|RE=B7WhsL!M#^Q{rEK123@(p4$^g5$J z`=~8serHoWJK_RdlZF!d&brf)?~`1A}UT;x2S1g^sve@^gmgF?e`*Xb}T(1brdp&S1fl z6C-IK`ia>a)hXUJ3WswZqregheXgWD6>tYD8n$K1APn+<%mdr zow#|r8C!t!7ht99XBR0k8FTj{lqDM#so36`F|T%7#8b2ynIGj;Y3m_6ji0?al}8~m z7hULKt70oki;-h;%iETqMr`VsYrNdwp2x1=p!`6AYxkj|Z*^E48EhXqa;smJCn|4I z{QF(e(uSf+)USSGPR~JO-@AL+HgwRSJ!~#bg0EjbFN_G3 zG;K!`0Bcr|0RgtQHw%T%XbD@BWi}DbQM$cO_~7y#PVWZb+FUm@rWW;}6Cp`UG4-_B z+y~tOR^Rc%c7JEt&}9`=t+H65@XhSx4NKH54<)B{EGxC>Bg+_47M$CLOS6q;D{y`)jGxFG)g{+79VldSijMb7*~F4F3EUE8rE@URc03UK$(EW^s86bO)I zT#Azyvq;l^BGnHjeAUQ)WQbLUWpeTv4$&H1h7_-KOjHsL-mjh@&*82IkEJEz5{4G= zteM0D;+RjRz9%IKIe2KRPkRn_gnt`H5+M@`k;ZF$;Rf#?Iy&Js#U9{JdR03|i_BZn z9UaD1xn@ybayHn*P-hUYtNM@>D^t6s1B^S%0A?7jbm+f9s`q5;uH_cdX;m!+e)VMI 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�Nq6|JU$enslCVSZ$ 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

    FkXI2YITC>H1rAS zki0YiZLz1Qxq%XO`xXN!hop$cCWx|?D^ma~cT!5))VhRuyMm>Qlt{Qm6IjG;+QP36 z3AzB7zwM#Anb8Ph8^!l!oY^9rn-H0)TU-h`@>V25!wu3h{8DS@SaVRn1$E^bp%O|E zp+GtrXs}blJ#Ve!WfSnUKd*$TNKFCKF<)W~Th7h-1PMP9NCT9tn|?sCXD3)X!-0PH z2oU&4f$lQH7%N+MtaZ9x8w}HBPTbmL8kF=zjPtN7&_89!DCo|hU`)An2zHcht!usF zplxpfzbph$KjHdPpt4uFw|pAKNIOwQ8qdUn4^TptWee!qqCUvMp>^f8E^*Mfn$^9npZ4G7SCL=Uo%#Hj| zhR_@9huOc(@~z$wH%>XTy7AJkWiNOztspj^=8N^)_Z$F*K?xf1a!(teJ}7}R7i`iY zf?LOMKvj?S{Ud7rC6tqX_BxE@H_jiitNqRwnv$Rz7SDO@9B0b_2C^iI}htP|L zMr~G#?+eZ>o<9a`m<5m)W8r>!_He?J%ma+wsP2ZI#+w zSJb{6&j*^m-~ePgHvORT*f)ImkJj%myd}~ zem$slqi%UnO6n9YbVT-@)&agX9xp+*zVzoQw<)Ex3s#@iU}0Mm!#V?ilS66M0F^i? zb+=q;9}08-p+aGj?(0EFW;P*lt#sB2A-3q&t8dn(pfN{iQnY+Ch7HZm(O+p(Y$s|Azx;8WGiAk%G@9pm6qtW@*+3B!zbG>zg|z zBMsWEh9RR`(+W11+0W{e85eC`NkFl%dm}k~iz%D$VsXReruT|eT ze@I$XH)5_C2U>uzkFmqP*ZuLWO;g=)Fz%k+|AH0r5RIIdlT#7<33S%I84bmt6too_%rm?Y?$mE#Oe~&;{W>2z(u%#@|4eqV0_MZBm!cA@72T&TIoyLBENz=UES8m4F1a zKG9Ov4NFT2TBppgee7bsBjFFuQUQp9zJjUns&J7kE~}q}_{ethW%*4l=?Y*X(7OaF zjTg!%5WA8p)a?#7BX5ZsUYN#q5K$? zArJvcJF1-ObE0_aCFDXu*+C4zbS9kE&EC`PodY$QQ`zFiB7)X)NJA?HX#EQzEoOoM z*gz&g$Q6AGin<#{<#^W{_Riw_D^RP>1!lfaPaXln_TA1|(Z|kO%++LXL#yzwHigd; zFmZt};9~Mqu0ABg782KFnf2CWtqQ*!3s@|x5Bp?JxM5|fn&_1$`?}D?L_Z?gL~#h3 z@4-s8I_#!ujWiqW{0Qp9WDkV6+xMt_V!VpLhot?&m-K@p4>x^ zp9p=wY6@Zkoa}EJ5(F>AFp1%(p2s|6i|D#AQN-)A5qX}0JXGc4uauRV&IghykIFY- z$&{VCWMq8puC?<*yfsg}re@Lw_Xk1io&DEMaE~W1ZYUc;*kc=+s zjb>QOG>bz{k*TT3!ISH%U^xq|gCJ&L{t18QAHs$2zXR$IxzBeZNjJoAHULJOK8LMl z_~1?5i^bmGnwY1=FBt+yD@yWJr~{Wwyy>wWIC~+nUYExIzS}MI7vxTA*}6*VfC4+x zio@3kZAbALBA}9SwgzA&){zncCZXPFqi0*Oby7kPrE?+^_>g0=We#<<>*EKTP8Y760U z;&x#+Uv1diMXqP0O7osHBmH8>+!ub}o5cJgwep<}ytQ5Pp6y3gE(Ka_mt$nS&`4v< zvy|gfva&Sof(-^xk(J=}-Ak|bP$O*eC}QP@ZfA5&su;@XC1^UWZ%B-pXM6Y53tESV zdk@oj4Ex?iB4l>jNEri?U+r3(vpHqwe(vl?^xUU)fB2114i8(uHK+DyKuHU3Pc=9FqqTOtP zLUl1w&!P+KfGLiL|1+Wviwj8(d7+wg0FhjeoseQodLaN7zmWQUS{@wzE-)NcK>r7(-&zaNnvpzCob4^j8>kEP}IwwJy*1`r6OeFan4L%cos^DXlhftmoOwvx;}q|1 z3HNs>Xe`D98D9|P45Tai&CL^s8#JyJK_0yw?6q8c03T!ydVM9|T;UXD?7eV=?FX7D zQ=oI4aaRwn(#qGi4N#DQ){ankNc-c0AJ`B9h#X!@R7%Rs4R4D!aDf7C(i4y2 zqyK6tLDtkdEhp=DsA}qA6O}s|SV+ivMN*)Em za}Cu}?y4Z}ZI$UZu%r{dEQ*2B3=&#dcQ1WUNq6!o=DRC!9vcYg2PnMWka2ec{asHe zwZxlc3?;bH;nZ*loPmO#P5s* zO@ei-qzMWM+hJ3Lbe*NDcBll9f$r`(fOeVW>`yMhq=3s3lK3T4`i>K4Uvcy0xAjb%mp3Qu)4%wfO`Z`m@TfPY`9Z z^@d>-kSjP;V<5m*j`&ef+KL3-lxq^lCjbG-4IDcC43#~z61)@=j>?Jw9naw)>^>@5 zniZ4RXW)=o0WvhmrS~W!-b;F;o%|0x>8p<*!;J`sQH5t^qCztWqacaWcQ40x=gNOU zQSXgWqn6^ni1e0~+x3<3<4q28_#gJb{&f$6YrA3z?HS2d{;r~3U2MnsL-@;WfuWSX zSz%gx#G}pj6J*~SPy@Chv)~)v#=AWyGvS6e0J&6vYr8sdk=T0PY!mTU1Sc$Y zjNonoLKXGqA?(5|RNfQ0a^xQf%V4gJlR|)vy1sV^(Fg*52b#&6`*cz*=_F`kI4SI) zJYL3)Byjh#C-(!%k43d4M-dS0Fmi4bV@pC_G^6wvv^~^gv<(=m)y5!JmEipmCo1P~ zu7FSxfFokzX_VN7c;GI9_47jQbp%)c6wTh1VRqcIw}_boQU!gB1m@TbS4f(pP|w=p z<+p!}<<3a?%Cd7xj-ke+X@u;Sv$y+x4%B>Zc7}kAAnF>Qn5h>3@E|f0;2n0Rl?|59 zP4ltwA*?a6%^-SP6Xn2MTF^r7LZ z6I)+Ox54z|zFEyIa950*KG)0yO8d4#9JDPdf7XG$cKD#zaKc#UhdqiBt5MGz&$JD1 zu;&5b41$J#;-^G&$74DiS)5}m9Wtx)@H3LVH7P$+-xnkDZ9rr{Y5e9>?=yOML~hR1 zcQn;?Zq_IKyA|GGU-Jnx-oW3EKU_VA?T&bHAgZc%#;;9+FDAt#p*plT*R|RK2``n+ z;#p^gj|O!lOyo%n#f&RxI&_`%a4hz{=UQ#6))aF5(Ia)}4O?t(tJ!oWz)Cvj&&iV{Nu)%o%YLM}i{1QF1R5NMeO) zU>Jc@$sE<9R2z6aUP&iTrHB2^j9Y&dx#Z; z5Bzi8s0^jJYDoX=0qF6zFz!(RT~5A2@r7sTLJ6u^(wv50Fmk z{14=#i`gexW;)6$f(@aZ877!+0UuJe8wVVQMUy>A5k`*4E>kgSpaFm?PYfFr(YA

    U4X~c-;rn$E$Ey)1=g=L!xvV>3AcUWYM?plh^R7 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

    RS+8@G<-#m0s7a1LdJdsMXbv;`jIOM9Xfz zpz(cn(_gS0JgLnjV5v~9S4CCUDjs#Hu&lhgq7Tq)v!&>AMhu`Pe#?xSyotdv)rYtb z%^UjzHcNyV8y7*?kvbXX{_RdM&lhdDgB)2>}()h2a7P!83$N~VkaY<|^+R2+;*LMnDp5W*Z z(E|bKyLElNZEp;iJqI3>z1)jNz~dB;IoWjwyXD3f|{B z>9Xt5)8@36r!3uw+pUYqVT8*0`8_ye9YznwYbnZf&iIuNk}>Jx70@-M;|79J@^ct> zHM1U@{=kJ6(Zz*`w^k5vj1>CF)p1m@I(=UAMcsaJ<74+I+woTLzsB*a%D+AWaZuo&UK9U z*B#E&yVl;w_{6w=WX(P`5I=EkA_NEIzRo_;tC?82GE~@E$|4p|yJVIamkOxU9JMOB z++#DKvtuy;o*?2?oDi20GJtI#A!TA*d}=(wvH`HE-|-U;=767el@M)YEi>)?Jv&s9(sLC7_%{QYGSK)(D^xb zk}`kPpMS_qj~i1n+1D~G*OF> zG<&z?No;=+IZq>(1=DHaR(%e5ihHTfY7k{`(xqH@k)Hq1V5p#W(L|ksRMnLRj%adn zn_kWU;LJdW(%Tg}_@LJj!ga2@TseU2XW_96VZqS>Jk)>I9rOsAMZZiA6rTue`!Q;$gcJwAIf^RXH1 zFG|SJ&Wk(YHRLjDg2}RdxYy~%m34Vfs=Zq1$v7S_)i}2wE<8Hv5_+Lyiv+3u((Adi zHX#b}YdiVyD!>a4Hyj;;#^;j@KN61XPA;=RD*;_RR6OIGJkedUyzjgEG|}lYx||aH zdx~gx-X9~3U@$s~S#YO0r=qGw2+HN+3K_+#!yj?z2(WOS^tW;4H>vY z4}*P*64HKC=)_NUg7$>dhzO4F2%O;3T{LbrzdhwBXIGAX`m2byrEKt}GlI)Zc168? z$Q`+TUE2Ar?g%M;hf>*-wmmI2Kg2o*zcL1C6+Dv{nH$q(m|&hh{iiu(?ik28Q9 zf+$~*y6TFa&pn9>I~o4+uW(79!8f6+KULOxvfU-KK*H6h<3aiMen~GcGy244e{{%y z+gFQ@LcXhAoE^TiwyO{;NEu*?xi`m`)4j`YzrSN;7@y;VQSEV6P-szpPS4Y$*MdBK z&UPokGz+ZTMbSqm6X6$CJMd{ecitpYR4zb6hQ#qpt>}?%^ptpl{^N<2^Fz)Pcp=|XcY47cmbw)Z5U51U@=0!1|6*;nY`b~)R z&$KA^aWV53VanhkJB5?Ixt0oMOCuH2RMg@Hw6Wv(0dqZv47vIjGO{!~9hY(+>_}NT z$z=cvAI-h(7Fjw+rUnhEXgYHovlnz=_3Pb316)bPM%}8I5y0-Az+(1usN za=R0p*{&*->*TfHyuHcFn=4`Cn%+2Tk!@SxTV~tZtJymE2IaexbqOTWN6zuMV|DnY@cHg3EqTLaNn zTJrg|gaUOg4D!cBci^6oUf%42d%`jA?EBC8j-uz84U777#pN|MJj!&OYUF+qS>J!2 zP|$z+*bO#V zGN&|gUTHjKWAGdE7(7~E2*Q!vwZ4evbI^+h(DdZdT-FS-lWUmkASk24@mGp{w|v6Z z(bdb#Whc-K(pQJ)-zUrOJR7=R>DHa!y13)peDBa8b8kXKa}+Svg#Pne-hhhpmjvA) zMDb8(+R?oBjr1n|Q)UrNI#w4`RHh!|{cCywIw(`Xzd!jh>$K^=^K(gw&9J;@n!(vys*QqE#t?GL(Aw>Ik(3Sz44c5 z2K{9n6;ZWbJ$SCg?3|bIRJcQftGPaomvx<8;(NgNB#-1294BJ!rdy~xHv_p!-WgZ< z?xv`9`5RBg96%@j)+jHaZO6-Q|%fc$^=kY{O@ric_qR^^r1mE}V? zlml4aDfkX_}~ zO37Fc>dph@m=c0=%Wr2Xp2X_UTKmIJ(MNo-;kcIAZ(Z|y&&oVnSgvqWU$#e8u#SPc z7geew+h2`%!maO|fJU>kt^w{|{&UZu#JlVU=p9#?NSNMizVgFp#t-{}Lt_4TDSsu! zCH$U!2w8GXwl_4AS9T9R!lgI?5$YKTP8xR9T z&5WFj#Zro&H_CTq;DTzU#t|9-fZssG$D4nCe+Kd^y5s+?KM(hP*g4MeTQpJyb{0uN zR$gP%XR1h|Nb6ojv}G}^q1%NZZ1lxR9`O5powVBHvhsY%?BgoZGO5rqZC_(s(7=%^ zVq_NNyd8w_nGym0yW!1OIMg0mQn6SymQm#zG2c#&?-7KZ9pp94PNOfD$Gs*M(gJGOU0H1W@?awPO) zr8L#%hgh!{CWQiJLBOgvVsKWM3rJ2S*Gp#5$gHi43cXqEw}} zD6N&S9T0)&t-61lsDe7t%DaRhY42#?LiJCs8oWRuiU?Vo`_m$=(9o-Vy8+LsPAtR9 zxA^m>KM@@kO%sh8?mdDPTZ^z)s{Sy4jSn`)=I>e z>)1HMUd7h%QzYq2+TOYsSkMe9KaRcejOm)ZXOGy7kK5o9Ra*lFBCVocFW|3V8UGp z!msXK_?@7${kJyUNmFW(41fTyuNZq<2s6+n^jG}9EA5E863dQkUVglJYU_dG) zj>TiwEReRKQ(c!Xv}6l!BFpM^qIh&j3wDFfo<2~ltn-}X6VBa{ojML+>_2>w5!B<(3DRA1;az~ z(D@z}cV45>*8z+RX!C&(8rH?`v-n|G_pwj2bAJ7)!%`%4!!ADu#&3wcG{ycjIPrVi zxX`+YyXuZ?X8+2M4jrAj>9?5=S=M6d7zqe=YYFk%#XG$+;DAEwBgXv!4$qh+3mE*&A)N!h(h5Cp; zteITk56vtDKT#x6np9T!WeL=EV)-b|%Jdz2XEWwxO0%^eEK{NxECZ};nbRwgj3Mcf zGwIdUW|^jockf(PIx51dwou=bxv$i@$#xDZ^IETOVdnDwm@-k-MwgYBZ|~|rz3&^7 zBBe_n4Yvi%IHWeQ%(XN(=)R?>1rW#;L6Ca(ZpuhdxzbKmU7@q?%)1rI=gOxH;~XFE zGvc?(jWtf`_^G(ki`qS`OOLDI-Og0n*5YU6C{$7Q@@xh*oVdB(VyIT3usW^0eBQsN zbxbXIu+a-!O+cZ9K`1IOC8T$soT$2+S^ITr#>S_da#ZYy>YA)s6b?6@1JGOGlBGTZv z?o2n|!1v_<@XVf4SB}}u`O31|I=^9+>Q}o{T#jA#4?oiYEA1>!%gJayx^Yl~^8!~N z{s*8A)qF=fibd7ipKpvxqgL@T-em>9Rs@e?XsHbz)Buy5)J-{!yv+zyKN>7n^kP*O#~46j79aCzCIY7%#5R3k1Wmtse`7q`8^Et$@%(f5i<^0I2)-%!1r=`MX^lbB|h+UF(a7y zTZLX}F$5w^^Q$nOezo1n!Ru21H(2t+FU@Qt3Pgz6)2Hg_=gE5yjz%Am+8J=EA!}9a z-}CE#7BYQF#1AA^SrXYpO3TW1;%<7ENe!^-;1q=f$oz>HnE5sg zE`B?j5^;18nz)ksvc_1Lfu?Q}6{Cb$fahaWs)s7b%#y&?tK&iRv;UId(@QXouivUa zB&t@21lP-IRWstTeHl^w7fK`1TxKDiULq11G-seG&Qf<=vL1ohmNf9GNDI{CD}a%F zqZ&GWvg`5%oo%9!nCjx#{pwa{{9J#9m{m;a{ximwf^n*Ou{!n%V(R7fVU$Ovqh_!u z<_6(AIeH3QSRc|P0hx>T(-XorE1wgU`Zw&v_myO3Fo{p%G)k)_ zY>ZSTYGxiI#lf=?6Y}BdcV2nREs$OzK);@~i8IKR1dnL~QeeYy z>J4#2AOtP(Xsb3!(drMaPfaG3DHC;kX2g7?xwEv`V^mnB|{j8y`A=^bwb`hVQ_Lh0T zOy{A=nn6`O54Auv$5C=C6n5*znT}ic)y&Q7w16H^k-83r3e;1F=>Bpr?YzL>WZN?@ z461^@P87g{RmW^cjW7!y*{0|cZZZwXwVMO*yfexXi=zgew>D*&>rB@az{nR8J7i>= z^Ad%i{s2kb#fTVaw5EBj#J=#Mnb*TzBIORA*D4gR5>UzTBaPE70%gK>>|=}=w-v!N zr7VCJEu4iok>-I>nmzdJE_lh(ox0HvV$x*F#nD`e=G!ctn)DMcArI2x*jl_E7GhiF zxqVBrJ4AgS$`nltz6gOL`pU3lGosS4x8r4E9QYCu4qUgLecZSwF##gpBH(eMKt59? zqB}&IX>+32E6@>ji<|bg9Vk^&Du3)K!o^-3QM0gppSGq*gyKc5E_ESTXg&Iv&6PS1 zjRW?JnA%lPonMANa?%m*1zINrDoSWs$QY*s0^vqlIbK7=%hnA7MV^3Tyu>l7eg0tr z3%GgFW~+u4Tq`p+T)cJo+VbDOB<~M5_B(vMyJ5M)FN;~ANhoL*eoseIMN33^&!7ECcLgJ?h=YXwwsgRl3 znhi$0R`^sHpn!$49c67mrLNw<=NFCbrGR)C^X>Pu=)7%!ZL{V*1y-^^Q zx+&Wmky|$p+J-9;1QSi%b$f?~Ph7x!2C4gW=A&<1Nw z!05pHGzPq|{hlOEVn?#ePw(1M5%Ak;odB4D<~jFdj>LKEUr)3OSlUxJ>;bi@2=$$( z)l&RgC`EiAD>BCmZHQ-kXOx;7jl69VNVb-NLPskS5IC`3kv$?4JJ2^pT+L2@sOO(u zLcsX#0KA$bl)Rn&{Sp0)n^fRVUIrjSY zb!NHArIQzPk9Dr`HZvp2Dk^LXT4K)K6o`Vup;=Wq+s$SYuxQb#oavhz>t!qhBj^={ zEO!=UZ#;K&BYgv-isj^J!xj{9Wl!`6{!}*L_$$YMehmKtqW{J zff7#8WZvtLn`#>|IZHi1yZlO!nQL+;rW4$=7B#$HRma6N=Cmlm^ap0xi~wa|Q3OOM zy!Q8{I_JPQwbQK|aWWbX-d7h07SgdEnNg2BHfi>U&My2VhwIKm5FD*QCELz{lD@NhTcG$=)ck^xbd0M?~Rnyd0-w~XWGwi8T#nC~BN@Zx}G+%Ksv z>~b$SHX|6Ro=1N8S()5j2*xj%h3(ke{b;%P@ox+Le>}qRq1wDv+fd?N9!p-?Eye`R z?d>KZGfG{aC+*rZxwtCR%ic={Z`p2_I>*4g4dQc=;Bcy@wXxqLf4z+C&-stXgXyW< zeTO(KVnE@YI|&Jb$q=`{x*rz4%C%Ii4=zoLP2WV(guRBF+j}I3 za*kjPjejo7cz5e4Rhm16IN@uD>a}wWBQDG*AO@P}8mU4>5${!Gj zh!u&HQEibP+H4?#vUbA-Osgy|$fHkqJ4!YE?0wW=$uspQI5LZ%IklHC`%VzT+zcYP z7X`UaF)?TSb)~Bym`7tH-G<*PBr_+YrfP0Z_o1b2ee;dO!x}f@=5kM<@ZdaMHE+?R zi)^?7ZUS46&=&{^-GSR`rvgQFZ2MdrioLC@*NG)D?%?EqB~FIIWv}b)44GafjActb z>3E`cTYs%*hNtUdS?D_f-0ONOD#JWtz8JdXa^E`C_tEqiY}{_U6=~p6PwFud@sa!x z#uYIqZ>va!bZ^Q;LKlL5Fef;?u)X`CNv;>v2sJJe3znIG9y0OZA{aW8!98Sr`qEE7 z{*O*qy{~m2Kvr4qVQ$OMIEDU`UEBxwv9my?tNv^GL12+V;kz4vs+1W-)?|cSs2kCf zE|R<`LVunJ0krlBhfeI#AS(;rrOsx-E{9U~GSqPkbJC4u5ZHGb8R6_)!q21!KJ#x| z^Ou5WUHH4XHqhMOB4iCf=$6kI^nCWjK3Sx2T223}0=!d`={-NNo{T zLG#(qqWhShZxq79=NafEMo*oB8W*U6@{SVsgO=x^MOJDvmWueJO4WuCPEbYWhtv0i z=7n3S0==5KPq-Z(zWW(8WKdMjlEy;qbSw!0OH~W?17Wv+XGH4rlOWAN?$LdYoU~Fv z-`p9i$B8sabMF`u6{3fxW051*@w&SKmF#@|jfi(&92KKQ=`Jp~OU0Y42F%ZP7Wc3G zk^2KX6E;S$D-Wt(I$=na7oiBdh-*Nd)TOEITAs@d94YZ`L*dya8Hmn%xBK2Ly_wlp zZ~vMl(HSFZ{SKD#YQcFFMWP0`DYB1HFCaVl_iIoBvGW_6fUb$`hseFy(Q1`7XR?-1QCdBqWh+`k;tWMAUX6ze8GO{~CSSRr#)T z{pr|kYJmQAK|Q2nlOAPuM)ss_bbM>1u!g@eKSKh=Z3_{vEi*8y{&PhiaCzRyu;fVh za|n6#9-;q0Cu&4ri=510tZVdR> zR+N>)WMntuxqN9P(ql-{5Ip`-r1&T9R=6Dmil|tB{yS1Yhi^j5YW<~G_UG=MA&yW= zbKa5wf|`6~*EqzL-X!XunTZr7qd3u_fpqwyuSnwuA1ny3@Us>rlc`6E|;FjykeWFY*}n$W(;(F$66=e|TAs_=GK;}%W5L1sE_FiAf0^=?-Dh}n|I zUSZN7&}nm$6Od7;mpJbXTZpcioY^)S4o6tdTrg%LNM{V6EGDx+IUO4m1s{jytLm93 z{K9`Mxl_4Zt5mP)l#U^$3mg|~_wKTOvslIA>Dt-{jBfo=nBy^~;tw}ZM-VdtnmQ7a z){BVq6RPDWx{j6}*`CH^9btv~N3iaWw2$z~L_MtVs@_K}~P9#UWiIjg@}G<^SmGlQa=zFeC7 z!p;q7mx+O*v#G$bUX74U@skmqXVKQ>iDhB*qpHDLozh<0sTm z@6c=AfoP49Ne-V1K`dc|TVTDlqSFF!{dd!kjTmHBC>s*cXQ0{G0^t%3e&tjHu1yOx zgv+p+xY?c&H*Q8qxk-W9#U~+nAVGxEPF$F!bDUPMs3#h7g3hHdIF+3a>yf zkv_nRC|c4op(>^MS4HNx(@gQ_F5=a@joew!xy20@aA@$=jV+Uf%U~RmbxOeQtNKw-q$rV}{)?wj_ASMP4I# zC`9IY$(iVnKUu<=cNsD6GW#^iLG3`hU>Rb5AoFAA>$lfHQMYly@L%9{ob2g?pAF{2 zAKz1+fjaFL{_w0pXvdZVqSL6vt1LwK!-^OCpBH`AaxPl~4Df!U1^C{-jvf~KcfWJ1 z@bIXFjH9FDp5&9y#l$}V@ej1Zm+8Vlw3V>t!=O7gFdaIOR&f&yOAuX6iuHr*T?jux z-67B`vGIWV&Q(;<#0RVgzO??J5?g!c9v*+M6pQX$wd3RL-p`fhcd!>C3WT>3sKsms zgZNd%hTs8j;Z_|#x2n=FrH5#?AQZj-j%Za&b`8Y;5VMn?(d|ER0bi5h|3(P&AYm1u zd|Wu63b_G9Ml;FRH$W9dCJZEi$piK8T9Q8QCz#X=1d@^PRqqebK_z~BzlP7(_dO^< zw3jQKUIR`v9uQ_Jzqo{rCW|^|Bae>GzdyM-m@4oAy0Hr8lQ_#NBjnjnBHkrCpdJ@4 zVYNj!Zk^b&fUgC4qHp~URuGIyeY#2jR52Bcy~*yN;Zwov&vh44G>~cjcO9T}09iM! zj_3J^WYk_LW2I%LA2+UH4`3rzm;ZI<{p;>^%lp0zS$c0B-%<04ZmsMV`>3nQ+8M)% zD50ZI^=NQLe88iSRWCkH7zERnSMta3*Y|wjw(C_+gRul(ZSQwZGx_0CLs521(AH5A z$Y$|h%Ypj{JJcMVC-L+DSKW2THFdpx5`qv=!J>c@T;M>71uPCATHFh_C_)^JxYD-ujdvA8TJvlgbP0~W=)*Rh-;OHs6a=IHt=W&;G>%bRnNaXUOt^ay-#c~NDC07 zbr5t9$H};|gV~ezRrKt+2#|d4Zv|bCgt$$P0kC};d4}Lxkp*__p=*vuV$CGvCtjD8 zv`nmaTi@$x5;~g{@XMHID?0D^iES6 z<{F8jMIuk5^p;@^CTa)0g3a#E+Dnh~%;E$oMUuk=g4A{`3*A$c)K?&wUh$T<1@Mge zIb%u}N*LHK$?pu@kO;XrkX|2!BSU{L_uM&Sjbs#7OKKODQrI&KmNXZc7HdPL8I+bWX&ZP|ob zw3VCOh_NylpeJc#h6}@Cy$^yt8F8zFdK?Tm$=;Xc-Hu84vyb377XfO)Zc>WsO<>SF zp;40;LmF0XA05Vhm?LtU-F4z->3T4Tdvm?XM*Acrt##A5n=od*BQT^W_PGTGctDcE z#d`I2EchPfWoiCVQ;6uNB-z4Z7| zagatsQv{w#76ppFs37z@Z4Bsds>9+O?$32f1HR8#E`bIwB4Eg>IP+jS*dqRJ{SMekJuBV+YP#M_7r|{6z1FtqcThmFhcoP1BQQF%!Y~R7-wiA?uL64I& zhDQk%qBs8lq7^-PBhmrqEt;R0L5L3ug><^zQAt((Is5ErrV)QovA&U+zhI`9_WK^3 zT;JPdlLh3TB)_~ z`&@@2$>I@sE}u(`51<8$-c(CWsSd-EhpCI_eP54u5j0PSbynOrYRt=n0I=RK812D* zHH@kk5uor@i1Se&L;=XAjCtL-$5#=Zv{&NtQ;>L6AwXl+fL2`uA1I{RLb629OrW_m zK+F8oM`|2rSs2AOeg3GPKm=Wu`AgHSL-E_6XH1z3%CRp0>$hRK19?#dt4c=7$153N zIw#X(+&^_3d?<3npnFO{C#Z8mSJCVvtyisW=;$ErgE3_VL$#V<4+SSRC-^No-WV{;CWy z|6Cw^NsxN!TA#`pNwV$vA@*=ad!Gs3hJ)%6U=+P>%uPTYB+^C+@UubE`oQx4HeNE6 zxDbM5d!#19<#0_mS0`csb&@!RJ-ed%6R7^GqQMF18&%mKXSZ9Bwjj)Sb!@a~HaMcJ zF0)Y7?LHB=5#bRLt6f|+X40EHL8$Cni0n*z#T6j@7!Yb_tA7M z;Aom1lF;Q5@&MBTXtE5Hx400TW#(K4hz1h7E zfnTbZ)olwMh(`_=9X9&fQ1XJxwQ%4se(vL4L`jRV9Qar=&$4}5Tdo4vU|!|OkV>r^B{W*KeT6~$U}XudpI9%lk* zdaVEwlg|uu;2ch5t}0{_9K&ezZ42-c(c&t%V1wOjB;#i7h-BgO{!Ii!#^ZNpVBGvc zbyV5Pc;#4!sGR$1#b(YdMvFTGv_Fpa_&im=hwAU&}A%I z@Optg{DI>lX@G@1HKfsCb>8!(KX7{H!*>@C#(Ntpbh-0@4t=r{FEFYY$B^O_t%2kSMR3#g(p6qp zzrz>PUY3$!-9ZVhpgLhUL^E*9AjGwW8TnghF6d&saq=`teHg{HoAVz{ZX%

    (Wvc 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 PH)ezS4G&1^t626wxG;?& diff --git a/docs/admin/deployment/azure/kubernetes/images/azure-epam-tenant.drawio.png b/docs/admin/deployment/azure/kubernetes/images/azure-epam-tenant.drawio.png deleted file mode 100644 index 7143d722f255c8a4ddf7bdc442bdbe5d73c2a58e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558181 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πpC@J+ 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ŜICyptE}OcE*E&Chv)6CaaLZmgXzqV8Lf|tFQUOUuU4Fjx^LLbCkxyaGEs>ui* z%`ZNG4zE#;W>toUd2G9c!d-XGXSzi$tK$>W^G|Qu6AGmZVDv()x(is_DXxi%`sJnYG!fM_^&0| zv{PU9YbJl8+1XkKo+us!pD0Kl@TvG%iXY1D>M<4UO;UXulLe1la9DYw{d0t_15J;)kwh z8w338(XHU_*YBFyp3bFZm|o@Nd666UPy#en>9Q3Xdj}?&J1Riuwz*@@FP3RTC!KI89giwU9*3ggx7i=fG~X9x*s>)oC>5wNR*Hi}Azr&zzxn ze0Gr+>{lHl^*B9GX%n?)38# zw9+gG=VcO?P8?>NTj06;Q@NkI{hy5hLIKuOqgeQHxkw@odum39^_0V#tTARTh11R@ z^Ppa5$|H}W8tH-D^Mi^nJHGQw7Z4&gwrB9V`UL3KSmX6yRj$d(B{J#4f+xhI_)SaVSg8EF3xLh08 zEOwsxVV#l={z|70Y^v7EV!R_zz46js_{wN?-=PQmn1GFOx|6D(cMw(z(w8yT9ot>% z85RO`y3Nj4ZnlvotfNEv*G(s5P5PmE4MVtXJmj2ye0R1lgbQ~xwV`VyqpyB4;0Jvq zj!@OzirKQZH1MC?_P#WMEuKS_W+T3IuP6Q9tEizz`l{rgj>b-zI1?~d@(4U}GSxf0 zWu=D!6H`n7yG3Y8AYgq;2>LzqbU7MHBQl9FPyWgpE7IESqSRwiuKNjR zCuTMrgbAqG<8tdMCBZQiJ)9L#*2`vv@L37$NQQM>JOS})K8??{H$$aVe>7(8lXe@b5kz6o8M@fLFseH znP$se)Q5rgyB$;4XR#xKi!6SEv7>0@QHenXlb{0rZQ;#B-_@PZ!bYxiQ@4NEHrE|{ zK)v>fN@+%mV8z`>0K#ca;zJbBn0T;`YO@0n7y$m+u-g*PfElE~!6^Z~-O3wSdqSq5 zgqZdq%kI|?oy9L}?@Z2S3QvspC5m+>pbX#LWrr;Lak-B>J>EpOx*bz-(8!_d@d*oJ zDXNVLrf&dlRY5U^Z02l}dCIY;5rRKK-=Gbv7B5b5n_!)O5YvZ4X#1H`y}mQAmE-s;uCIcflgz7~!I%QfT+_l3 zR&6(3?lzj3WXLesFxfWG`fI@8<>-d)twtfJiVkBDjq+XJ_ie?9=Un}^hPWE zBu0Fpi23zGY(c!)%Hl?;Gvqi;@rj+@L^)4@R7||d0?cwQHLPP%{Z1sjT?tEtN^v}2 zT({>H?rqFs=!xR&)juYRE7E-r#L}O;N;25~sD16zbY7I*Amrog!sZb@?S&qMgz?5H z%ed#ue3bLwuD2bo47Jk9mNMlF1ajeO7(9bHAeoKy~zgU+s30 zzyUBE4@}={<&(9Gs0XvjWrI+`r3PacNF+E2Gme!&=xR~K8PW*rMhRE7tz zM;82@f&vZ1LmQuj>B&*yQt@YidrK1auBT;y1o5HOIe8ZK<_gGWrEg-iE;YOEgQjS77D`~+f!BFVNDO*qF~37M#1K~Az%Ty z2DP6z!A&{(e&(~82;mYX!+8AxN(A4DBMFKJVN?yb{fZDNu{NBXKL-~-W;9l)O{Lv> z!~kSky=WwtxK&b{nvFU`aVlmrK%x;#_6Y4xt`LHi)vl&$|8x9|FcE3}UXV$Zj7`gArRbF#LnTl7&CxAg(jLboNvh0S3IqofGcZJIH!erMrn-43x<%NMJU&{A* z_bT|ZGHUaeLJq{sf+V7t1J;B-MhL4^5LG;CXF!rNT=KoD(AT@SKv%$c^B(}L0r3>p zkx+ID;#oHQ77ubLBuo#ZGrkZK-BXw@Wy!PTu)zv5g^RK9*{>M7f@q4GsD!_jIOV?wzfV;B*b?r(Y>nwN|?R^Gw+WJq}O~(Nn^G# z=Z*}d*bq=3K>^w03&~E+Ajjo8zm61q{q@B=4IgMMef>ELnmWcZinN$qZBqLn4L>b7 zag}P$hL&gLw|sC5(ki%NXO)IiW}nj~>B7?t8~d_f-A{M5X^a|RlqJ(LBu7TLTe!U# zC;31qt21M9)7-%E0PE30)@!3yC9r(6hzNIolMyh|I46dokHjRY*BEz@*zO#kV{87a z1+*&m?DX^VmhBWpa3kBKM4vn(v}M1)oT2_+Ic_&h1>hrQE0NhESh8uBJ65nyeDXq|1_ppB(EFTTd zGT}@<0{HbCIga`!hOfW^ab|B-xC?oiG*brbpMJcQfG>j2sUseqb5AN4U;Y*)Fel`~fl z7ng-xww!dcKl7RQ?yh1xlsiR#L2#5P7h7t(^@;eZ^h@E1NE)&|?L+iif1gts%g12p z@PhS&NkCt4v>Sq2+r`j`qe!kFOMR@q`*&HNO{%{Q0eA|8#(_;j7rxa$)4LDI!s`!T zdH!pom%gpBVxR6hP9~2ZWT!ss(Her@9~ZPd*=h5 z>^S!m0rvU(=TYCWG0I%}1rO5(PvqMSSJ1;FSCvbnzgg#%({wz}+U)9;8Y-_8Rni(@ z9-EYAx3XxhRFD^aZf)Cr^um%hE*+XkiyV0-yv!bFzlu1mR{PT^{rlbO=Qr{x}eGOG}$WW3gBZpUV#mw2MB)$G@(i$`dCvijR!D1ECA2(3uDd>N8P@$U34HyT7r! z4U2+P48Y#g$R`A3%>u#((&*o)RXtI8b|*?Y)aVzAn5t zOyhGwv3(RYEEO3>8%|{{hE1&y7ie?53}%h2Ttfm!W=t~J)1U~nk@RQQZkx_$#;(zCZEB~h<9RB z0FG4J!rj5%oY{M7qW|$o*{cC}EoSR%2ge zDAdyRRDRg^=UW-&c+PNs-V&~}vmzRj!r2DvR7y%RQzQ!{k%{{UiLtMgb$Y`n{hfi;p z%GZ(&%f>3uDk^s2_bKd-dSAKdXjDiV#fmw1rUeIamX8inn zxq-G8c$8v}_Vmv;^E5VOnAjx>QEL)vA1S4+IeqRO`(r^A^mYGiC=I(|AWA^@U3`gd z@Ib0jm}^gg8@j>BL`+SUA~9X>yCK6*+uI$K@(fB_dylXl+i0P*o=-YO{Zf7`*(zkZ zl|*Ds$(e4B0-tEvn=!{QA6t^_DJ(ymg17KY9hkETXH56#cNXn$2^bOP|Kz_ZfWJTg zvx%L`-ycln;upz(5R3tfe>E7bd5!_+KUZ7+_kwZ$2)F$x@)8yj$!<;*AW+KwdFxVu z+xh$6!&`Zo(fh7KswVQTWMR+ZBUd)8oYJWmvG>qFzr|#2yczeid~`%3A_AA3n4ngs z(|+|;Y1j8!^iN;`_;8b;Zk&ARHU&DjtpDr4A^$%cgZ}wHP5XR>n~!fF^wr_#w`XG< zMir*QGbzVHO~(xoS$7+6jLh7J$HIy9-s8y!+=2H&^Dp;(*7;rVj*z*oUG%j3Y$IIm zXbSzgv19;1qMM(duDs+Zl>|)6wES->fs~p;_w#mp?+`D7miL-eGA7zyFX()b)oi{Q zA2t~-*g|fm27ka2+0oVHou;0Hvl=ZdQiY9UQg@E*PddX280i)8x$*xHVMo`Tb>tx8W@*E@oC4hbsX*j5U^#8hqVRH9|7a zI~vV>g;yG@*-B=1sMussKsN;il^t_T%Yr_+{L|z8p5Knh5U>B9(Ej&_gxB}scLtB2 z=!`!-1Sm{rQs#z)bDoRo@1Dc^fww*((w=0t5Nb$n;vgkK%;lYHjv6>NLz&$fB2=;; zUBKPpi=;xVr>u0PqOA-%tw1!FCza3K$!*XCAUn-boKuefz`1!2Z5+({;9T?Vm4fR3uWdY#pslX_0qj za$vM*Y`6xPKl$pNl?p71$_(Nm<8^p$7NG^lO|iFlo%1qBv#gCLj{e#9SOCwnO2Nmv z-mH=rc26n@@)y>4poxRhjXHQc8B z8|Z5!TY6MtYXh)i4oHz{uF{Cv$LK_V{PsTZ!x8e*tL@yApPPcV5$m~q4Ikd?;%dJN zeT*E9ep*ZJ(6%1?`K8GJH8Qr)0^u*~;cTnnY^qC_E@@21$8&cysLyol|4=u9Beh10 ziq*Q==QxFOYZ;hNj_!Mf=~bKdW=GU!o8NpQo+l68U$>Rs@=Rq09v4(VBFa!#N5`Xb z)TrfUrs5Z{BxBVn&k16wJ2gz-j>+@uoGg7i`A4#`r zm+k(^bn^=BJkK)8fYJ*|RLY5|)|VEE?Wwt6 zL%Wq`@nh=^8ly(o6-@{HHM|UlSGqgaFvV-JR!+TnEhIHUS-qACCVTiYxe{+JX@@W? z#iYp%75PT#oJ8Z^Z%x=i6NYe-T(`2`y&Xg}N4`yD9DAlJ{MrUv`N%{!w94va{|#K6 zy?TDq)aMk-B>^R)dV1rt!D`Q&j-vMJ^Lj>_3IV-zV{(qN6JkNR`d}8u;Px zo?ht$0}icJxI=drMfiUGj+XsOj(X>F+zlX8#MPU&pje%HpMXZJbN1Rr`}Mby(*c85KAMSW>Wh#~D$lB|JzkD?z6FHbZx`Sayn&>|lofSbhPs0U;VuQH~p`)tT>hRg+@w8WR8HppBt|bY76cq|V zx2yF&xDN^$U{kxm<6g4=6sr!HDwdlN{$A?B{EqP{7-%q4<{h%$b1VoMlre z-7SteG{Mn06(p6~6Q9cJZSokOGFYK0cy;A^cK3xWkyoFbvnXMdlP>)y;&(FM?X^ry zS&(`LP$~5H&-F-Ib|(m4mTZ=ixruY`PhjU7q4p01Q@8XaP!$@yc|SpiI4_X$e{Ph& zZ_huU)_?xdCfR=&m&`ECG7hENP}iab9s%?=Jb(9pN5m71f(_e^PXve$0`IeNdF>d^ zOWaEc7L2=iuNmaFXV0vfwq2)Rd!ThEEY5}Uv zHHzZLm#En})WbztoinrFQ$Di4d13Zl-_zx!J|CJWV-(2pjRlA7y|@3Xkbyp)^(xQpESO^XX5msriDNpARk}mIN7FSu zK%pQC479TsH_z-elk9bwttQHsg9Qxg`EvW*es9RNr_J@5P8RzZD-xnWwlYwlqn7I% z1J<{AOx@x9B)nB4o5Y??bhFf|V5EQkN}G-W0Oj<%7ulrJDp?@*^|b8qWivKjl}SD? zO;d+3Dx|PwU5Fy5S&`;7#u3Y4))$k}xGTpDww!r(zwTNMc$oyVLiG3BL;^^Kdnp#M zmtJm>39nSBAj2zYf!%B$w`r={PwXq$(^Gmy{WP>K|MM37xq}0O74K*Mw|V&IhCWYd z-%kvH@J6rxL(m}x+)DdDOj+G?AP0|Hm&t^D^uKsaI%T4akP+O53ed34z4Pm@6kKuQ zYC=?QgN4k=@jLdYWX@y|8i>Bvd5Abgl9TaBo>Lqf+2e1P;9{n2zNQSy8Z3^~VNHr@ zmCmF+t;sSppzNKcj`BuBog=)s8*?TlA!c;O+HPoJ-FtPXtCfVN% z=`>LPy^Om#2fgPmhL3M>U%h7^5Y4>R&Hu8fmp%-&m_kltvU|NEUrXJ9enwvKC?}WA zXQxH&XbL=F+p*LLwC#{=Tg(ms96fCVx<(nO$HK=$G8=n|oKxUG;2h_#n%TVaG8s+P zY7a1KRN&_)abL&%2feq3b%E?m9>+@gj^7=}4vdefj6-Ah8#H-<2?Jw={{YytqV5bf5@S1*fFa?pu+sXOluEltXm4PSyWo?5o3~TD!MN0TECdDGLxKrE^eJj!KG3cX#)|Fd!gODoQs;Lb`hxT3}#6 zx|=~7hOYVcfS!2Y_jg^Ne{ju!8}{tyS!>gFKv+R<)i_A3 zzFT%ns0UzMQh127$bP#M?6l}qE8bOyO^TknDZbC+KY}#9Xy|MjGB*_Ap`1vgPSXi5 z9flqZP>Ai;t+bzs0|=Eq^y=%_;@834_wH#LI>LWuCc`?jGn0-?UN0*%0K4``37#w- zOy0zF)=#RWQa=J@!OJa({+WaqqvWa2m;s#J9wWm~VV{x#*M+*8Hk|Z#4|S^qNe_3% z5(GJQ8|pt=!+DG6C8l0(@uy&iH{n*d80cO$n2{L#t~Po`-AG*DgqX_cS zbPJQL#DYYpYsq$Tp#JWPL{dSSHJm`BBQXzeul(^)h}2 z7+W#H7kmT2gW}uyRe!J|=x05DQqX&pK+~Gn1et~ajCOeeXRe%&d>dW)d1`+C<{^?4 z_N86P<4o*3e?3D(g*Mx1=$~Ulg7WHqKR?It(!VxWmJ6toS2g?KSZvrk(%N!)z#y$y z!cB~2j%lYyDTbjJVf3SRFJn_%dvyjg{=KXu_QQD!w?KUNqFojMyU3x^V-#&HK_|p( z;`_yzdqEhB{JJe0&HC#bN)T715>qB@tWAbbB$q`sg{gu_23}3 zxkvR~QLz$S$Oln#Z3NPbZ7oRoa@lwXE;{oZ#I~O}Ud^3|-i45|&#Mxhn%vNB(juR! zcL{i`{<(L)ED)|0SqCG>v;9r*NDN~d9z>=!Br8j`uR&H&cAD%PBK~ z?JnffrpXNixL1)fXQ`cbJJYRVLDMy{S)5UhfDa#L=(nepZE6;K5pz5H!w=#U=z}rx zDcg?`(_fsG4;i2$bFuuNLu0RT7~Q?5)*Z{eswOKCX)V#ZrF`Npu!?iDtr-DQ)iEZ6?HLs|C5O*W?z_~&hdF5a)H z%*tAt%1m&49@3{Mv6d0osyqioasZ@5j_zpoGc^c?Fu*|lz8i8!_YrOnVT2^@{cX+HqG5Jy!&DwXzrZh%B(MU+-mX;b8i(cP0 z!aZVcv|g5Zjtj#dmQ4!XUgDelrE#~;KhYx6^rbxGa)5?X%Mcfcw<5JFu! zKb#}}iZyB`E&Ta6SWQv>0%#)muA+zW#cc`F<6VDuenT+o5Rz|pXxrO zIzA4>BtkzS4m6G-4C&9H17mI>nbNf}UJZYDaEkAAmsKyr4H z#&->naus4zK07~-%eNot^{{$&MBk8Bm3SkYoyO*1;6-a}X;_ zT!1(=440Fjj{5r6MTMyGojwz^rQ|WeG6*;99}xcUz>_jV)kFL@VoJG*ZQ(rbr3N&j z-Jhh|#WtQjpDUh{inRc;HD;idb_$frz71T58y|vv>qMpFnA;s|Vn~Fbcmd@_A&T)~ z84n9cfauUH>2$~sD_2cAln^2G6eb#_!OOec5j|+&18ZUXTJ|%mv`CO`xl^d7BrLr? ztR~W;N%?0};TQWIsy6`^4}?vEIX;?u!p2r|!c2c1>bnZn=14gMmi`@F_-0SFH(jXs zwAYe^F|{P`L4>n{OEcPcEoew{c7RmpZ)7jr~tMW<_eUrvaUhIQ2Ie6WhL^c zG1K9PW1pG39|xTm<&}f}UY&m|*#%es*N+T=G7CqbQ9QdMkc-)L=mE?wa5etzl$m!p z+s)_KEi>Y}%~x3U+}YAWqILK6F}2D#=vWT=Yc@{mqeg*01?#^U`TVfzm|eAQz}aB1 zv&+=&^7ZM0!r1#^F$MKskKxYb`TEZR>~(cW#1Y+E`B4khI4T7qTn* z@ItBEA{zrT0bwcc(MS-c2pE5+SP-1bP8lo&Sd;inCg}91jMnOL7W?umEayZP39Q!9 z;fAwGX8i|zye@677$hs1VB;qECRv&Z&$zPJiqw`n|ncR6yR%h;5@7M z=}dgRVyLMdgAPG}^hj{hZ|u%E#RrR-u~13C!RnOYLvjIdqVtikH@oCg2JhFdLi|)@ zL~4`B^s&KDzA1V3-Vb_b^gt(d(RE2T-UPS&mD7RNKuPN`h2QnD6mpU*&THm(fC9>} zPh0P>3uYtrNqji5ZFSD*G-;fm9E!y|=S}6u=;wDRK_kT`q#HiDlqC1-2RblYpH&qt z+!kZaq&2@j2c`}Ku7YZsiIge9=^1%y;Gz77Gee&nT(b$Jv)Wh9o(X&+DRCD?akci! zTb!pv2ns4oA~+x>n_fUDYLY)2`&#OOBMN`}B*Cc=pQethj7m)^7kd@8|pIZ-4iH7+5(!EhzxXjCQfitlW&Su;(y35tii&;d4-)*l&N1cwK+h4q%mkk| zC)Dj|BkpMNS>Xs^tZj>S*uo8p@BuW-ldVCFlSKYu)U)7!#zG6c?RPRyfH7TyEt|bT zhQmuuAJuwF(>7lo*7o|eO_1MPh`ud>hf4BVM*vL&PD7YV?tgs0jm=t}(TiPUNe-HZ@`akJA`Ln1`zv8Me-u2&t%8T#(`U;d4e#7Q|JphE2*i1>R zAxFwj2C9EO3qfi;7ndfm?95jO;F@`Q+=`9umi%Y4&h9bO+C5@=@oUpK?DAjChdbSH zUP-DP8*)fYNAow4gT4>pyc9Qy;k7t6!2t#G=&jBl%Z9b0x7)(#K1Pdz$pr0 zRb6&H6_s8&z-3*xKl+);>NOk8VT+)?os7Np&rjf{pJp|H5Toh-9t9U8if*8*Wa1hV z$;Kz~?%ogLSi}W1edm;4O!DaAsMvB3k(XE`(4b7?%3q1TaMKHr zujAm7J^XF?|JeJF|AGN2Dp&wuvtMon=`J@ai26+nq+Z2lDxMs#0W-f5Oy+rSR}oy!xaQwqrDvV<$_$v|odk0IpI2pxZ>&_d)b^-M4yhh%05^nI!G{-pGuBHJ5bDTB);l6HC@p z4(uV#GNoyt8;}t&ID`+FAW~)=#G+7$>>iuxry_3w*&RqN`bbmJOl+zhr>m0QQpOMi z!z4J9041;XNl2ta&(cHs(Hf7{l6JvUgxUDFFP^T-r(V%3N)d@pOCV#BRi9}R^O14^ zN|SNXDXZx}fZ{3d*Q{Fx|YCm;^ZfV<~RXQl}UZ>h9()ro@dF$MN+LBc|JwiZbnL z(6nuXAJzDT*5#J3)D_d3{>N-V;{Lw6S?7l zltQsoZO4x&9L0(Fr*$Iy+7QKCkNXtjud}?kv&Gn?^s5R&O8EqF|N`8X8E($qZS zk*U8)qAJ&Z{Gl2F6xyt=v_!{NvGVj^g6o^Ui>^v6yP`4XI4Wh!h=czEq1}}7Z;8qU zvWvTnyY}yLCHDI%K6s`_`(nFPmM2+f-imVq1EIfA1|P?@9(=UZkDR=c_c8%gg)Twi z4>OK<3lSxfmY24)lFf+(=vSAw1e)i^hh+Ju0?rb6ufR*KQ6xWGMcewRN1fhn8XU&8 z%Z=PK3PRlE803!^!CliOSfs}j5)z`9ToS3>9Sx~m`~flOgx%LiyF|5&71UG1NF2g( zQ~lq=ov#9uOdce;A3)9oN|*+94SayP?vw7T4Vc;JWEhdrPfoFnWQWB(n7rF+ZA;vY znF8y}kL+wU{3Nd`tOFL*rU>eWCNBdrN}hu{TW-y?p57g^ zTL`|L8jE}*$)m{0+YR$9cbV?Qx!%eRo28MCMy{sn6LiHeo}p-t1MhUJ42e5THXea> zi<8W%V%yQW)CFr5&)?HxoRL?l^uxCBR zLl;v>jFgqBeVBa}gJ6xt;motitImAm@`Ap~M32{e?0PRzQ1nHdQ9AJ7}RDx8cd8K3UDQ z-qCHnm|=X-l>^gi^23p~jiBVRdYgJ_pW}tLpK-EJZYf`emam~6CX=}~8{W_LkGrCM zrL&;Og7a$!r$79f9Me|&TN0}7I7yG~SJC^YZY_StYZX&0M6BS=`3D&)->~7Y|HX}} z_|GqZWfF+3dT92BP+-g915L@Dh7U3QDwN44CFzD&_>@(r)%q7{_0RN{CM*_jqd!_v z>zH1$+vOrcpgvH5iDi-=R~RtCdgdDA~%+)MUV{5|mN*9!JflPpc4 z5OHcxFw$m&_Jj8npuT$-*u7_%U&fb9n_sI6;;Wk9G7?xCa=3S%7ynzy$Dsc*7QTd8MRYU zeMP`6nF`_Ni6{V5N4x!#(A>(!&TErSaZdd9z4eOCB}$TyRe?4;AK3UDW(lHAZyitz;`%egO}6PR9x=1b8vYR0dvZ>u3D%ID-Y zj1-f1dSof2oa#^aa$GfRHtP1zY!p$cXdrzNl*X;kc_o@H@xUiJm=e#HXpPyM#r6Kw zQpkSViERv#nCY|6OCej0ao{96k9UX9bVG~El_k3vz4L2ZBn!3;M{RrKsoajaYrrs~ zj1kHE@$su1mbA@P77J`gF>_yD`RMWFqiXD%w4}wXirAkcQY97xNE}z%nD#wB2%~Eo z=T>$6K)p$HgNxFX5{yoe+}FvsZ~V6##CpPQlBKtQSsV6+vH`))hLhd8=9mBbO;K({6l5f3wI95$Z`syse~D~?p? zf}jjlEkdI8@>^Kx+dIBu_G66hY;mqn-b;nYAr#BUKNQh;NHPOd6u_E7WsDRZW(F!| zzED8!YD^x?(}4xdALx1(fcB&g?oxw#v{Y67ofIXm*Porp8riBk1)LwlbKXC4kM87R|MI*b}x2=N1+~Go{D&8GKkn zAWrR5g>fzk$krm(a!tOEM)j@Z>id$uKwO#Z=~>W7n)T)x0W-yGOop=@Bcc!>wxeYLZ$Uy}-8GXAZP)T#zRxrHfX6yt zfJcxNSPE(a?`eL!X_1F)y9P|MGxxuahmPV;iW+N6#$&nt8Vw9?V5Rs{hb-FSp zSNQ}G_3%c~pSdqKheKEmp#ikqqQlb<>t|BEHn=ti1eE_ExEBTg+#cyLGr}?bvyC;& zrB!NQg4zzkPfVxd!uUqRh8rQIwxTKK444hG@Q9(r_~A6E`}TlR5n}uPkHpB{^ry4i zq>4=k4oA7EOwNqlL?}xR;}e`;41nOjQZ1Aa`E8iAHe zbVtYWhi7q?dhe@vAjQ?7PNh_f<9fP=TsrOdf{6t^@J3U9rAdDW9qi*+pz0y{pQ-MJ z<8!(KmwqHDp7!gZgz1G{*`^}V>UiU4-G`Dl<$2vdc+BEuM+QjQ&`t+btwwT~O z+!fI)qhxl(0(y|#vgkfq; z>OoYt{F!rAfqNQ~EmQ|3P#ksqNxf&i`)6*KgCb?}N{3Z};jO(=lOXbMwdp?}V;_(5 zA;BA67X|CmLt#Rq)2-vP1EWG|{I59AotVs#eG2+La6S93ub6vT1>e3kK2gIkGTOno z5g8j>8GFp)v$dUejg28ZDt!Ao6}mYT*>`WGL4R*4nMd#q88*}Y^>-EVL@`dz!pz@J9I_Y3 z@pM07w#uA1exB_i>LwlSG%wft9#;A00my|qIV?3MZbgGC0NqBgczk!hncgbBM@f(P zDAq9FYhp8Mf;XKXwD_ZY(VZ;)yxl>J0bbmHXHNe!K3w=CU{0!%42ShAtkY3(uzUb; zY#GntgDiWD-wMePllTXPRD@g4S$r;!o(6~azDj-{z(i5i>DA2XEdx>XU6M1=38Yhw z9O-?-B34{Xp3#S0NO*#5$`co%H|p6+4N#6#v1?T9@^?2afISfp&(+490o~e^Ks&tZ z+e=i)R#UAF_38MehLbwlMi>$6YvrTEOxD@40%>0C6@P8;JJW74S=+PW?ltXU(+YxD zPwv7#Rkl=ec#sMM0^-0O6H~tQ8|DB$qLnm_3gd{g9qr##zZHzcnQ!SdFy%4d+~z`} zC($91UAeV;)2H**C}j~Xn(g0D*#$g~DFd#S(}B71gLs_SA?@vzR^A9lIx;#R=2wYRd-Fxg zPZUV}U!kP!q(4^ZS1JbFZzx6FHt#iL)w12$d@dT^eepo}P6-Yaf0t~ro2d1GZhmTedv$po7^0_v*m_7 zy~X4jje-B)myiwv+GE3P1<mfcCrG_Pj;?#ls7B#|^m-ES96rIn0Gi zvoCH}Whln_iRgLVWS}*N`GA?D5ohvSr^un$XQ%b2ltk-AHtS~LAiLuY7|p@itXHg9 zALW_kq}zVp3@Xy4{iI*pA7phBYh|9a12jN@v^)`?pEN4{`2y8%CJ-$&jvpZG?J_X# z-u0x)C8kq=!^5a8v^5Xo#!xiT^d{PmC^~A|udGX^lQFb?r;5(%Vx|lT#{4TpN74^}dim z;<5l`a>3`yrKF7Jlj^}O2FuqA=prn`x-&6sdt=Ss?sX}S(T_ri`wPf z>~y}{-K^Yuzj~Qm=17_Q&n)WPf4-8&O+1HozhJ!nB@%5XMBtln#I)l*x^ur9BTFo} z4Wz`xLd>cF>KmbaN6|HB=Uew~ek3y?V}_FDecIF7aW287l%DvdT;{;Z0I~6CbCGy& z0m@b@V|DU#NU7c_^h6HOfY%IJdZ7V@*R+q>F=vJMM( zt1_AW2cmz5mncd97-CEe5i#Dx{mj8yMF;NLEf~uS3RP2y9-PtkwQ^x&>Gvi^2wl$$SSI?q2PicgeT_C%IEa<+2b=ky3eby{f4FSuUb&M zrg>IRJft*f8yiQWRuDk2>4U`}kz4pGM zlHi^>T%n}h%RzSaN0M!UHAi#%&`MM|W6^+TUBf;zC=2TIn+z8;!SgZ8wgwI*GI}o}bX3Yt7+pRw2TWwNMnGN-VX;DfV}#F}C|4AI7sLx9_a=bJO*9 zdV~0zV3}Bo;f>;jQTojZwK9?3$CBeH8xd^=n2ndF)^gpprMkgaX+i@ZUpNB?)B8Ht z5$YC-2)a8NmvU!_ZY8+S``q=xk@!L@4=WcqKBc0)S28D32Rc2#Cw#4QiZVD2tKixc zYMuVGgr~tDS?gcF?s9cePk*Lg_7xejTPn$ExtEZ_KQpKL7`ai+XdUND7|-fkc-ra> zPY#>Dn>vS_f+?{)O&+i4jFu2+6ebVC>e; zagVe71 z#XZcBPr4!<+GRIO9{#Fr$Sn`XNXVXGbf!!CHLVvse};K$x4+ng>Qx;^e%n`?`Svv| zkeneD3E}~Bt7&-KAVe^JUlsUBix1FFKsGqb{q4r?`2C(UI6%W5OAOdd6+npG6 zrFcRh0`$(?b&TnDAVrtw_WOd{dcZi5t=)x{govjh6eFxYa9er-&sWZZMSuxSH9wPM z{xH|Lwk4I6V0B2N_BBU_U7kK-j(j2q*p`G(y6jW9FQhQ9=%My@?fRx8{%qIRogQwr zxKl^PXdp^rP_iP$_!Ywlgj1-gV$j2K0fGIdfKeQJ#FecF6(vzOt+W(thRqB} zGWU>Ulz#49D)nJEmVtZeZ;2GN^;U|FHY%=tvyGV77cki%mrp8)H?M3VPxs;0}@s2iMZ zXcDSa&l+}|1g1i1J9>XOPWB{a-DQOuDM=IkBtpqWTo3jM+6b8 zXL@Ex+A24MZt9f00CFObU%6Fp;FBMj>u}(ZNrz|&GQfDxeTfyQ;Z`FO&Vi(!SvFR4*ko7h!veJ3MIW z&{upUdAp!S z@O{y#Oi5rYcdfr${q-x-GRTC-*N=2Q&p#7kz#IJ~m}0**Jw=lCWy6E?9%Hw}NB0N% z3AmQe4TFx=n2gz44RuOOpt;WnGctM-mv*#szxG6%k0LU|r7LD%_DXe0vo8!i<7icf za>PoyomDE%DmojGIo-;vo^xPchf-RlN4UO}RoEISM#M%&(;Iz$eSsIxao<&_IPv%Y zrGUn!#z5ZEVSn)PHy7~BuU=e-do3m#>qzBWa@wDyyu#~<*EwgS_{%&w;JT08|L7Ta z#wC10=WVgY7nE;UO;HQ==cDs|oX()jAQ`cY09lWG1PL`wSan_i0u4Mc-wseEf$yp% zMRW~m&|dgX^9b=RuH4e)>m%<+ErD#j5x)c|u~bb1X*V<|$(wF$?L-79io~Khp2k;= z%}(D|Y|h)43?OHgU<0r@#%kQDP2oGp`V%RX;=t#403}AmYFNL#h)Est3z-L7_**f# zu3F4AoRngAqm!E=K-AJ#lbczqFd+B2FQ`a^9xdwds}!7k|WbP4sdkh1HRZG65$ZzpphT3gM4J(u^`aoM3v8 zGu(;^cN1IrblA`k0>0n5whtm*KXh?6?&Fyu>~Hn zeTYvxiD$(k;hN90`y^@W7t?^4PVMV14n(65k~r%vS4AO z-*Gm#xxjKWQ9XhU%b@jFppgiAj2#;hxq z5{_|M`i|lZQM>sMjVEqHL{RDg)$mn}TD~--wFp zx*w?kgG$aK2&8c!?PYHIsZVGrwvMXHhQ{bK6SWTb_VD*l80$~Bjq-}^U?=?;(OuAs zl8=))xxgWq8Z$YU`vSmF+znD`?PTN7>talL;3Jg>h@brFax)E>i6q88EQl06o?QV# z`YFZgrYvr_#G$rz)fx|1XL~xuc-YyL&lg4!nshH<@WC!QBzxaQVebg&b8NVoGWF@^ zXlX1Xot~4If58TpT5-rsP%CT&tS_`c8goa4E)3X*Gn#$3TUhhqXtx#qsU3MCRV&SM z>wx-`Q@A)NCC%LccIjmLT`7iDF6ph*-lxfr+ZcsYoL8wm)g*g zKJ-shS4$t9=9Zxo#-9{d?oLvGuIOWA!wEt5H<-OXcy{H*&7Ar~(_qD2`_V$Uwxi3<^UTsI1vo%$N z=}qXt-cSMG404OcdnXGRFh$yLUhiuH%>G~EXWZ9xg0g@R4>~=)J2-GdqsHE znlZPsW4Y>zbb`(aAFqF8rhG<6``fKKK9`QqNJ6sb~@Bnf~R-q=dsp8{1q=@e`Y zXHYe5S$(EwIYLvoMET-NDbU(;0v|^E>;XvG5P5ptM_sxd6=cBVI3L{32e?Z}_A?*R zW`H9MKBQ9@T`huzgX+E3A?61%@9t~>x%wP1xlAGOoT|aO3DB62;O~VSDGCm~n`OW~ z7#+#IJ^#v?>>P&?f7EP}nq3>C9_$^o3Bs9`m2Vl#thML*IxT$+b3HWlb<4wYfDPUr zzk@8EtbGt7EkNoalQu(Vqc$lSdbfAT03h2u_7#VBk95^BSv*T+j*Q5Ad8ZHNImXc) z5c_s~)XZobZ&Q=qM94nOn-o9j)Gtn6VeMHck1Oro)u(~_@ftl0Kn}g5I_)64Wn#J> zL|TT+7sD`XVr#}NJ6N8u-jmMu=Fo~`)$#OXczP+{B$2uLUwaN<60hSboHw`n+jCyH z(2Jn{cOVDap2-X(cvvT%pKY+DDx^814{aZ&{9ZfvQUW(NH-0pLL8ImB!LAAu(ORHL z##?p1xW_|1?2}EO5qss0l?`NU_ju0zbB`nm7X6EEg@$Y{n$;U1PsyKz&~h(JeOChN z=@ok3Nu5ALC|m2|g+0EKgo2yt-a+9&#iEta0+@^i&I_8M(=`tEOF$)o=_4dJSuwYT z4`s`4BrwJ>@Khg7xgUo-tlVf9aabfAdP{_IBGH(`qP!TZs>vMvme*>?r!Q1PxM81@ zP1615_a{BcAZKDlaFH6K&b-10ny=JED#IS)LmEV~fzVrcC@c~EsaTVP^WVcTYi|%4_xWaesi2bK2tEzr zD!(J{yd)TAJ}G6{PYnKi)Pwg_c+6AI`R8b&X?yWmt5%v-1xwWl303PHI${bL7VppqvG zwz;UrD`!>?_(QD&kEMNj5rb21@gJ+onR?O5#bD;mYNY4Ipaqnbe2|i!!j=uu<|FI1zv2qT|hn#@ER=@j(z7;uZSd@^~ zk%gYaR+JBYkByzLTRSMf%L1oVin@%E$^UxST*vTAmPJuS9-pNQdYI3R^IQQe79rCX zj!r>=N&7iN2c8(85z@AHxq-s5`G?K(Bi@64NPL-bOf#!$Nvnm2f?z6uE^>|In5*@zcZ8rJZIcb;%3Js0i5aAh^_A&r&ljjdi;nKqsziDfFELfg#Gsu2{ z6jHOwtv(th{E4N+PfnGm`!6!n6cWmqlJZvz5Fh0CV7;?h2FZiL#LC0NPKUV?x*3>= zT}wzZ=zRnPOa&rai|C~~-N*;K*ACuVgiOg?J)o&Du*F@(1WYEHNZRAv`qL&)ZTLd)@Da7LGXv#LLQzvi_~kXV9D|??Qre}y48DiA{|op* zDT(g_#~}ZmaAV*8hv0z^O$_X>*tRzUSlNau-k?`Mald}Sl}*QW*50EV!zbUe5^#Fu z6t?cz^`b7J57xA7JxjAID3qlZZfMyaL@Riw)6{{O6|sNn`3?JDB8Dv0$zxOE$x}3RN*sR9%R?a6xIxIV2?!GwlY9k{= zZ{D=&{^HsVRNjXV3y%NPX*gR(E7^DO6B(@0EVgNOB7^z>0?-b2gm-r0WcV)nheCoV zuIwd@?uY8;mz}hsFPOQC`W>hJ(a+9+kjwABnPMzDCba)%nFtqrx{yhDyjC{dXpSKI zZnkioIeo+AO7(t1LFnp8^k}+S!6#Z)X=~!v2*&u%wH^l+c_hQ3{o#Yog3s|mt#Cb` zdol5_5l+B+0;#Yerx)iLUvM&PBVu;y$yY@B?|J1hH}S}*-In@UxO23GKD^dEKyp%T z9e>x`8YoDf?y}Q`N3u@(*XY&Io=AQX@N_@jtEzjX~BD)z88yC$DT6v*3GtsYDpQG3jKa{TqaLz5HT^jU>n13FnM z^x9k?_3C{H`{d$_?vBsRij|MoKGe3vr~xO^2h~>!J&M+7qzW6mnS1iJghGDJrTAAo z#Ci8uwf3(v^Iw(b-+L;K8mor+QciG?iXQ391N#GiObzq?q>GcrcI$m49YVkrVIF#2s2FZ$ zI*j>XR52kkc>6^U8N3UPcog$kx4$nA6|6uSZXBMY1 zMw^*b)*~+`0EO^;?;vXN0o>nQz$e!RilAwKy=RVNapvYaJCFrYpc zT_+8a_hY^Hky;TzcE(Ymzvt1Va9$lgJAfVROQ7aXv?AK1gH8xn@@s@WchzwQUJL9S zSeLkiI=PkwNd-tNY7tpvYhI;|juK^UZ=zk>;xGwxQeG8`nM%=hi*N25qUvq^zo@N- zc}R3g=s5Mi7BpElKH;~#0b|?|dm759`N5DDIoE+SBjhLlRlyCc5-){+(kgEz1xt+{&ua~ z{zz>cpS(A%YNUYdL)sCtq$*C*lUy!lYxt=hOgP+HKA*Lbiaq@+jrSf zTI)}O!V@p=`RuZp&6P72Y=Q>k7L!$gHvP>)6_XKjN)oIC+*-7&b@>gbWU#MlxEOH` zZy$4wO&z)P;pT*fkFd1roW2b_=} z(E76k*3bGjr6a-zd;6SZ9lLIl+KoVC{)M4rNONV8Q5@pZi$i9WS`D9=$2n1Xj_cLZ zwYTX$|DFL_^3gZeAoYu&aO>LtMQ9g__2V;8;LcB@u z8TCZz3E^_eqq0d4Rv+FjVY=%-o4pwb<2!Z~!^;nE{4w6qsh(@s!VN zh>c|wQT9UdxG=?oD>R!EtBH;L==LFdvL%Z7P&IPoqcFfx@P!bY$BG5WYO9-`}dLHfsu<*k=H_gW>_GB)BznrwLJvp6LU`vc1-a*7b- zYehc^CwfpRic3X}xrfIxH6Ek-Va!ntEM~UBed}UZMPNR(JT?1*OyK^hqODd&{a!-a zCT(srYhKB8jR_RH{~Mc}!lhQ5qM4sMMcw>~Mbnx#OSVtb^8P>b-d`5>55xL;6;Nk? zRel)`s706*Zb%C13Awl#Z$8CoC`j1Gbrg3uqJ!lQNwhl7rs~(&im%}te8C9h*- zssIewD)7rDqBtT0u;Beop+)^SFv#->w+a^Y1t>$|qniTHRHplIV#XlsT5l?>2k$uNetyIVxNkubJR9-y#(P@4(E5aGe#L4lR_){E?8@~m$V~F- zUXy9O&HJyk8rRn}E9^GaPYP4+ZffcJ*md6b%oU_NV){YCn9$1*V%JNXC((6=kw|Tu zMeCo|y=gt8vkP)!5u>hvdGmDF6|tVdFt+MmVP$-f3SD!R*I_RU+!sTW#UQqmt?_0> zmbryyMAohjB3u<#Ud~Iej}pG-=hgnak@8R4_%{jsmoo7`{3r1CFNVXE5;}t69XI{a zAb5WKUyvPlMQYhge;LMCOSq8+=XH8k#<$a5+^8+`vCsUn8YE@Wu6*?!GQQEYl;|Au zK_B6TNqxg|46JU~Y1Pep{jwn^XA;`pTO(Mjf!4b#pV+S=d{V02PmRZcB9}Gb+A3!Q zYqqw0Kf0gJB|EH}h+xT3g_oCi>VQccvO!n655F6%m#;Y*U5A`VfB0t2=`&sa?Fs3t ziYy+lqzq*s;LS9tMzWuh_@q2CTFc9>g)B=TwVldZff~Qchiz|6!4{w$pgV}`OmSHe z<|`R@Z3|-z=}nhgY+a!DC!#qE1(E@tn3{wt)2Hi7XI{DE9&OL0vzZYMc?F3Pk-TD* z5*QPr+}g%(OFxQglJnLv_nWzr#%MH4zcu=KkLjbU*SvTTb|xdj%-Mry9*U8IbB_esu0sj~+HmfVM%-fpvB=#ujn zlq3MXW9-gV5QYyYUGB@trp-eeBQnGlY|T^$Q_ji)USzI4>Wx?`X{{#gLqk!#pyRu! zIoTpKZ=tfS{9H-IROUS`*x`1cACWC;ZJb7@+J!eJh+^8Y3(t%JfKx&G{aM#cUdih% zH->PjC?BjKL57GJ6+&3xrDVv_&B31&q>Keccf!TZ-Nx;A17buS9^JKizmZ&6lxFL% zQ2uB?2~FpYaT>!IAeOe(spa|NFHLxL2az+Q+Vi9>=j~7SI+dy%vReV7tp_v4OZvl$ zyO8fZMh|5uFqX#UxIhaM8a7iQ`i*b57Cz5ALK4HBwoc>X;bdpJF&~p(CqMdq3N?-p zn$+ps+)9)i3em1(?)ExS9^W1n6Gg{SZC2Esy%&0;!B_|AV7`zq`MM~^5{1|f0Kn{lO9lrCRqW(?mqlAZ=x?_vNRBOJ^9MVEnjfe9XKxWxp8dH=GBptzA^f# zGiuO;uF)Tv7)_shG;jsmD!Su#iuHe`WPoG%Emr=&Ttb`>bn&=gGET_VMi;<9Rg_rP z$@+en_P{>op8lk^P9JUK+87vb zt7C8L6M0~QO7sJO@ZHT!q8Hp_jHXdeWG8E8VDtbA`=kMJW(ZdL22_>EPs4}lm^dh2 zJCRHGA8*#V&CaJ&ToH@Ut)lih{OJ{V{WFV{*9@TR#ADS~;(!2IRMpM;C*arxwT>_g zK$pv5BK?_MKJft|D-1*1=~N6r-Bf_cs^TZh7qLU}2s%A5*`80B_^{PB4W$=xm6x>; zVA8XnY3V7~IUbh;9L?1!$i4!Q_-~!M=@|i{k)WZKcDaovY@r;4NuYmjHgL?rC5+Du zdSw`5G+%w= zb8pKpu1h^6z{rQrLxI>U4}eOUgKVp>UA^U9lejG>tJC?9g_tnIL&F}!?0Q*_juSO~AS=}BAIK^6dW*X2v&ODetJWtS&&OQfA} zFqv&VElao{z!5;B0~bc7kqs_jU{AI_bOUxsxj*HdgDF~oyrFqKtKV)C)pjd{n}%o- zZ7@u9=Ed0Iao{!o&cJF7q9f`)s5OSM+eQixdPY;b-~eO-?OjM_MLWhN<#x? zkxJfMPlFHdU_BA82n>dl+Wjs#MWOq$=KvRvS8D$;)NVoAD%GgX!_V$b9i-7vpeL4L zPi%=8SnxE$5^c|QPWQdwpvzzdZ<#$X*^guJa_=#p`82PEn*W|^#00A}@y%z}0LjXw z*M^UNCfR#(BlKbYmvUN=`b^i5uKe@PK|P;6{-fwExD;p=d-SC{udmqTes1}qXI0Ua z-=+)|3z4a48A~5}&Wy^HT`2{eyc0X_1w;Hlm+L>Gz{T5h;qV8bqG5OSBPI5-6k%K~ zj~zF@8uG$y;^+Wap;K}dJYbZ@FHFOGmx7{`S7bX~qpolePCDieej@iuk07oU6Q zI02Bk=;V10?YyKX2J+m84}w@yIarHMzPx-+H1pRp*X(!XEP%nHCxJP<1guL)u@(M< zo46u6-q(PvJh^k0=&E&L`(TxW;ifg(ndc<%aDUQ=3>+ic9vgM`Gw96yXp1O=#`YDc zo&i!9R(>}I-QaZ=2H02uTqF+{Bs1O8@6~`P1bE=ZAAnT{k#=Wcy}~DO;*F6l!tz_z7CTuVD`&ouE`voU5QSq&MEXe{XbK4W<}9Gg zApR=3bTs2-H&cDT`@VX_iXDLX2w{N0W7sf0kraFqxH4v2+laYK26;!@`~zS5`w138 zROq285N>OO>4W}-U{P>p{c0i)A?vWzdQTmkXr1)`arf3yQMO&%xU`ZgNQa7)boT%v zDAFQIrwm;V-H3v;g2d3FfYQ?4jKIKvlync$-Su6Ac|Z64zVGvX>-Wd=`_^KyE?6*g z&3Wx}pU2+&*vCef!2q#&x4CBexIYLe9iQUVu-bV4CC^|>%tI2zX98%0;ZKshZ;O7^ z4h4#`nKXMu_!MGUt1qCFWA_xt=D3z0nHWBZka@u|3)bMy| zhj6XT-{R8-#Y2ya9%BRo?6EVI9f%g|LH+SbMDLoPR}0XOm_8}~ndr*?2q*vrMzJ8z zx>Kc@*ebR+fqnAT&sosrG3c%LW)F_h=B!*rsmIIW*CV0W zP+!J49ZFRT8-rE*$~$>pj#+gl8W%FftaW#wmOT}6eVm%izJ!15B&1i_tG`B^TyJu8 zLR9Cy&Sde4u1#25;GN9(ej6|oS}yw^)&5^qgWqxbuejs;g|Fsa0|5}1M6gnp3ChVB zFkUHm--<7ju?VU6xqcx;;KIiQ8f;02n|j+amKi(#H?j)*ty;L}#E1BM1>OaIf7>{8 z-!9$CscvJXmzq<_GRhLC7m_?TQ$@-?A3_0w;D$1!z74D?@h~Zi!9kbpALX?o({_G53<}d1Wpt=EnnoYX`+J=hxl3_ z`q|@=HGe%kj)#*o21mNP7Y0)k&-p_%g4#5;$}`%92d}rst8DzW&(=P@yY=lQnJzkx zFd2xNj#_4Hc***?fHktq^*{>agm3~UTzp?&AyI4pEFm#DiVeYE0cQV~ymemh{nM%&XS`8FkqCgsK;wn{%t8nC3a$$X6LZ-U zL9`Un0;ItbFRueM8meoacChU=$)5@`DwMu~=}c3-^L4PMnCdWAqEosPna#RnD4E~ffxzEe{8F;G z(B<&tqZ_BTXH0ejVP#Wq>-3)!6N(ZHj@uE?dLN*92u(U33moGpP=l^X)C$qA>4C1= zCWxX>fIxYg-gfnUENUBLBN!Xoj%$;ZO?1t2Bf5T`gF;xalO5_&hl;v!M6J*1#4c>! zIkX}8#DBU-v~_YX{0vjV9kN^JHvBU;tw4m<|G&aeaU8xMGpb6!rM%WpfE_`|pt2>s z|0L%)CWqqQ>t6E_jE3ZIkKmoq0Sg}6;b-&`N#e4_qfdzm*cn$#llYJCkk6XjWry& zlIFo6%SSQn^_~Sjrp!piGk63LGV13JIs?qIdU1Q(QTn}h@%);`Kj0ak5>v= zW|=oy*%A1~D2!9>#2E?)=vWDEU2`eAViTrxb>Z|x$CfV29OC+{+q$kda_ZV|NnW4yvgY*Rgx9X4p^D9pd8%(gx=kieG%n5Sxf$msGl8n>#@q3X zn?S*HUP=4Dms#0HIm8qsjP_OD<(C}VydYMpD;W38D_Ql|@XX!$VlsIYAfe`&NaU?| za5^PYL$=}rFlF(M3-CzoPNygCZO7aM9}u11?}|F+m|mmzsz*b#6N%nOz>@R5O#8eu z9K6`I34dTdX5aeyeE;eGGmjwe|mG`&|8(S-3Qlm=b)$!dpu5xUN8WD8Pvx%7UlW+5O z4IIu>%`_Y^Zui8nEkp&TvxFU)-qANK55aE`e5xay46udw#S4hUwj?X~S|s=6g1yTa z;&j+m8Y6()FK&FOXryKTO62+m@5D?)uzt%N&M_Ix+KXjZcj;Eb20|Vn8l5#Q*;a=o zd!5jFDt`_2KIUyX-+yWy^fM+dW*^XO#{H<%gz={Dj~n8GihtEnW3_rFL|rlg^& zh(T_`RBK#uasZ;ei|+sCBGKY4qNQ7uUKJ|@>tVtq!@>>lnw-Tg6XKw0&s{`X_6C-wOx`HTn12$a- zr;^bMictu_nwHejSR$Qd=L5wO+D(&2lt@9--Z;fT3NrSzn5}aE%YNMmUCy4A6KK{8 zhJi2yB8d!nKXJojA+fXVbi+_4x|;khqRSdUFlslC!I=Vp-`4ku*9%)rrYUWl8BS` z#Ib^H&K}Xc1-^Mt8rJ^nv*0za0L8Ll!#K4~PmoKu?bMVV=(^J5UWMIypuYI(OzimT zs`ny0TkY(pRcM7ZDv%F#77qeOn)hj;h&=5lVl{w#2J@*M9;sEyiA^~&`Upi_C(L9y zz8<7@>L~2iRVJC6AmK$P)aiJbQ^>L3K%9tN(aFvufklt31dZ*1%CGaga&GMP5Mk7^ zyt1!PzIS@OwRZt_RTBSu1OpDKZ?^ZI-iq^nc@m{CZ=5 zHcxebW=n!1`uABoSeqR})T?_BXhqr^R9Pbr<1$ z==>DfXmzrzWp^009+ljhGf=c352ma_6x%LS@Sp2B0o}WoC;h72SDnprF~%I1O7?+D zx5dH2q%?vl!Ry9q`I+!~gTvv2H$aVwt*;;&()Yv|{B?oTeWsRag3U7YBhWG7dDdii zreUIdjxR5__P>+C{c5>)EN5twH%^J*1Pv+BQ}4ZE66S+;2BV z|124sE?Sv!4$*v;u!>TJ73;h321Q(ytN z?Dyz7{qmO_*t61*l9KMIK+6~Uz+lq3Y5njF)TC=F_Ht{l`dWak3*qjXJ5QG=(qa^H zB<-@aQnt}spUh>xi4PiuyUWTjO$BJF`r!L}OI*?iagibt#W3@A`S4GY>4GoOQ=Uy7 zT#{y->6rIw=zUTh98c(tX}W5MK{zsNMO}OJp?vwdOguo_e5sW9v-o&)t%Pby;b4=tS&t9#)IWq1K38WjGZ%=mL-2bqDuye`f zXz_{*a$jP-&0E&+^I#;{>WcbrCXwV8pnUM#W`E|XfZzP8FZ?jjb9-%P1dOypHUs@i z>=X#;cD zCu#u7g}#9MBbn_JJg*Z1@W5rhW5Rw;aSxT}M4wj}v{R6nq4VG+ITJg4t95jLe$WJ> zoSE#*pm(s2L;b9;O~dR>3m$EClIq-fK@D^fuPuZ=G*CL(*B`Bcd&~LqeoM~Ua7bw_x z1a47(oWJ8WrKMZ7hrcH8^{O6dXCSuF=n#fKm}zdiwh;R>7vM^%w(lb}(d0ptOwd<>mCijY7Y7vR>OQdxbv25%qX9Gr5GT{Ag7&YTc!qdcaV1nqCdjW=y4l>wZ= zsl9I2HE%kvTI5=Zip_1W`xpo}pnNku#)&giFCET#fWh-D@-vXacpw>!qVr&(57Kx6 z?t2w?xe9RKtDN)Gm3X#Ik>TP2h}vW7CRu`et!I{SPcRSvsVSGK!YOswFnlyQ=Cxsc z!5ZUKk$daphZ*dd5_x~a`rsKZ`@Rry$yM$8D^y7VCxQ~d_#Hdp)$$qI>g`t6{oQ$6 zE{kJk4so^S@Ywi4IMF;kFWx-%RRVzg?!J2#N@(i6V4Cq}Zs#N}|i|OS1Kyy$J*Oiyp%j*`;HTg$h7jL?^3LIA}$>ngdUTiiMH*I;KbuJIHc(WVs z$$uhHm>&1u;ws18>1vR321FQDf{J zK8{kO{Mrs|h)kD^7H+b-Z8Z!pST~ZNj*UEhc~5`;a|17Xg4U$8NGez?$#E%)&RuIjLYIDTg`j)6EVlGNDQQh=YynT<{mb$`U~Ety=#e2 z2~P3t=oWaqQY0Jg+$QRdg(pW*-9)g^x|n^m3stAqb)P^A^fiJ*z;g?|FR2zN$;+?~ zR2pY8^}Sn@BhRe*h>I=9(C{4eNaQ=qZU*J!uhE&%HD`7j_EFUBki6vYA!FOa@T=P= zrW@zJ8cw?*s#oJcj$O?|=pB}Act?}Rr2P>-4S#V?++l?FBlUD`*g=6+epHV$l)YeP z(cO4N{Y+28s5-H=NXGeDY1T?H71qaDOCg80_Phqv=Ec*7pc%UaGi!A=>N*Yr#uYlrbO( z+{&zW+9l_94QHOMna&}cyD0S_Xy!lp1#-SeSH6t$l2qR_`9H|!zKjnfiQs}gWU?bb z*Q6OOW+SI6?}Qb}^;}=ByU*Smv&4f9jUIMi93GI08jCqdvksSyRZ#oKga5*1%qz?< zCDqlhAe9z4#gZCCJuM`wYakd^T!Nd9@#!%-5pwI zUM`!m|5}Qm)o}6!Ia)PjvsJp1;(8?A?NxdK;`J-LzHYfZ$?~o0^9>=hodEl5-_lu4iMsdl%RRU{k>3N;qVf<~75A$qfP`He;{s=>vRdaUWdzFae9IF-6k5;J^JzH@?VOl0?N2PwOFfS`{~^}+Q)9;jUz z3x626b&X!tWrD@xaI1wjgZ_RoMeybl4)HqDv1z^T#H%SghNvanHtb#}N$VZAA)393 z8Z{!eqI%qKRipl2opyA)Gx|p>T-`WFVJGp13wkv@?>+YtBq;62%3c*Z1xYOaQ}y4ZEqqO|$?0KgjABlB=*;!-$%hEBRRj4toMNutbA)j3itFV#sY zzuR&{JLy~g!IiHT{kjFiMxKRsgACnHdAqe`PuH**UMbhi8;jvF)OM{0a|gwH(Q&tm zE#@_Yo5iIZq3-rMWuFa&%u1N-RFavxol~2799J3cu#H_yu1mGAEG4Nz?e25`2W~dYfo56Ksk(s;fKp82NJ_$Dw2uvDE}|K1e3b{k~d!e zHTl74qe1?Ap0y8=3iEw}Pjm|%tXZ4@mghXHNtc6?C*=Ppe=?{2=^p==hwY>7s0M}e zFQ3c5_X@yo1Kc8_hqI0l)%li=iR&Fm3FwGbU5Q1r}1<_G{?u5oJBXHbqfT6 zTmWA#q0+>DTak=D{D|dxA-Cf{_)-Qj?N+yZH8&rdQJ-2+r5J7PtX83ySNp zJ1sN{X{8f#@1V0ktB_vr9GTI4P28dBnr^*Rs!_0XN5i~Oy>R0}yzyYI`{X2hxMW=- zq8Tlo#|>pem)C8h;y4~PtN^>B=n1n{K)#tD9ejh1-l-|(m^w7wrVzeIg6 zW4&g)T)V|OlXQLD72_<`($~df^ij$g=46q5eZF@qr|0d@8;zr1xBL_nuRRIv9*|bw zA%?CEJ6gY};A>fCJQs!fyAKBo`x-lmp?Qzk(ODHwgEhQT$G?sGmT7)Gc2Z%yzv17= zp44YeH%^ik9v5*|y6<5!923}PXmdz>X^3_U$vC(>)F{%ktD2RXL4q{lGI>aVT`fY$ zsV9bMJ0UVU|GA7s?HKgf>mqNHg?z5Bj60kEuC>U1H7H&ATW3*u66f;cFW;13fQI#? zdM%;xQi=}P`d?lancy_+_GOJpGCt|3FcS6zZQ8+&3yB_9^d!%6V;>6xoi<|pl*BN9 zQFk_6h{V=1Z-Y|hA}PB)T#3mrUy-POAbZ7!KU#|{cuxm+t9a>Z?0$Rg!-y67iMM53 zWHrTO^1MqkplRCYyn{V-IQDgVb1lVVn-?t8%0=PVN&>2Tlr|$MErJ51y%4)Kg$<1- zcHQlWnW7k2w{Emu-m`Z(ZQ>OP70@LH6aIm>^d^d{ZFBHW9Zr_)!VGE_%V)|QrZz}7 zIn7Z1x%--t?$3lFyo2)X7C9{U+T%teJD~9udJi8PD+)gxm`&2@8insfe4?~$fAfiP zZ}u4yoEP)9UqdbIEq?`546h)h=3P!}+<(+t=9&}%_xH5p!DHZ4k47+cF@DORZi|k} zX$L+TgK~o6Q$^tjc2>OLwQkwHr9r)nvuG3aG zflqFw+4d1wPwma-p}W9>4t@&1;+TaE#;4i*C)+DBjrW3su8-eDp z5JuFgeH+JdDB-QwqHLr(*ZY=8s4{Y;-;CGd<`pwc^tgZ8wQT zRmgj+`_Hln!2ViK+5zVm-KofzZ8l$$=|cG2g{a;qhf6koIK+!iW{yG=gFv4x)F=fT zzlH21@P)?xOEmDSG&f}u=fJ#>kqf*KU;W3|R|x?PTcU@qcB065%>rGlP@a4hoG!F( ze|^<>ZOP>;9H@LR-i(7OsV7)9)7a;Ry&BL}kA0nUf!unQ19<`5M_LT^jnVAuAru$= zspa(h&;Uei_|W4t{wHq)sPeur6_1~8EoMTUJZ6NL7UgaDRXMi=9QWOr1X~rbo+oyu zQYt1>(Gu#*Tq|}S7aNMF8h_^4pfpz{jFC&ErRXWNB@@tMYCsqT)JYWLeQy5!;DKE9 z-Om*kW2<9G5VSL!e_8h88$q0G`ITlN9LK@ghq2L7)9D#5 z1(T)3u=n?Cquouh22(glkgCrG-@WJxP@Okg{gAy;y{!h*8Bl#5qkFlPnfh*GSD?EB z@|8U}nnR9&|7DbFfTNIt+$X*ED1Py)Y^x09z2AhKN%Aks7o-p0+Y3^cD|9s*Rwk3smW0zPw^1~JW1`jxR5V3z^<;3fcWSU0Wj8L@!cDEKVj^;Z zwkcm>s8845TOw8BC94IE!Ct{w9DV-N9Ze~Nfc#dID?zsaiN2iPHmn@lz{VMJ@cQHB4hslPdgHik-}_r66|I(ZhFh4hq(LC78NK3QVqSwjn4Wx@o! zj=W=?^h5m%)pYDc-_rsHkcA6WLTov zO~Wl-tq!415y6Oy*@s(2gc1XZ1a-R0(UTQnx1nLY0tUiSp8g9 zE~2lcqMRr{gIB%N@TNoWuDbbQoSY&#se^sjw+G8vk#SkVPk5LdNml(zxC0!y!@YvS zV?V#W4#$(Np^+DQ(q~Tyyll}s)3$jT+XxtzQOMCN?!(PH-qbB($z#FhRdZ+qckP{Z z1_O#IlpTtNpJNcXhT>gE%x3Vo6eK~LoleM>JIC!c2*9LHt&o6?+%(z z9)0*HDd>kMs$afw*=A_}OCQO8A}O!*hD;2!LHo7G=qTSFbZI(zkHPWWky@f0sokXO zBc!e#(1t~VNl-UBCqAk7)~%2+=m|ykoqP05+=MFW-*|!#G}Wm)`?-|R@B=dv?*o3K zK0m9I-Q`?LcG85Df8`+{*o@q|e(`wohC5mP>pJ-KXSPKTOfKG-EY+nT?n-g?Su{Y_ zvy3>ep!Dx0 zQ?IS5@WVd?;}@So@ovcxM+AK1H^gr{|E`Ze3d9;_JX z6t8N4MCp|Ci7hL@UC-#-LWgM#DJ=$MQ(0Thqkec)h*#K`tDf9RyGLO~UHg=ztzvNy zuFyOBY34A@BnHcahupLjjpWiKSy0KK2;TcR}$6 zvUCrhYzSS8049=h(O^FMQ}X6#boWD$=`YUqdqjEeav!6kffh6`&3B)R_8XL5&XOXi zw>7_gdEx=NnrVxAF6lEKy|p(6nfxn8A6R2*dEPO`h`!IjHZ>Yj<&^p(+~K<`Y5$WU zfwE6@bc*o~dm{c$ASoPt^o70kcsD%2tm>K#gQ}WFOjl;&E`xxhRxB*=3*<|fa0pmz zIrt{7vAy`3=Va&1Q1xr+Dnq$Ni~Pv^&iT7^uv!c9f-t9TtS5QKY#U5YeQgwJU4vU8 zpl8nTnMWW%iEH_a1U-Zq^nlScZXUB=5_UCz*HuG#<4VlM9h=O>3h-ys`O~aBp9a<3 zy&T;5#=eEmY*QC|$`Cbc4YOrRSP;3Ucapy>ynAot9(Mz;xtcx5;v7HqNlE_Ox3f3v*Tp5qa%ZaadiBq$^uOR)!kd-ddC zc$zC#;RkLhZCanDTO7O@+*difGZ6Uk7s7>WVmfI3UfWnzbT4HF1w-)Ah)^G?$3j=r zjU=<{!08=JVWG>SZxp8~AlQ?WmN=L+EqrlW`~t?OMsjNl-a}84DAT6|d>(~-LB5n+ zB>LM-SB-8kIB>~3ydrT#ZUBB1(A)MwW3d;UG)75##<}`X0Ak#-iTf%8bMMzJFs%#U z3S7o1yjPAYII)HFCTea&WfH^C{F@a4IdEW1%Xf%?@qIXi9$59B==SpYp6SA_5X3lqtGJ2-FzT^BYB&R|B35&^eBUAp+YR~v79h5K+>!$ys}%Y#Q_VhY2nOx z)+q6%KBqw_mL|ac-WWLA3iLGV&&;w}5@xaG&qehe zx_^CUPrLenkjG1usp85^la+DEc#8Rpcs~4RD$a@=FU>UrmlUe}w|JxCo^#2;GZXi- zSmbQFmmj?KVBhPynJ1;o3{S_jy?-f@D7~v?RPD)(>q2H&MNT>jDH7(EO`Ai^~4%r%jqu63LeG*5=U^ntqORak4TFox(}2HYqX0r~3)hY*2hWLwYt z%qisv97!X{K77>hRGcR(5_!W zQyESDDGOQ@mKY%UK^b(w|Z{|c_x#o|&pr3Q_BKWI-H3)hQi~Msil%dg-utTv z6d=fhg_irhU009d4|B31kRsMnw%t=$kE*%3! z0uN#vFvdsUg;%@<+^t0xiw;vzc=hLaSj}5^yHxd{TaNY|t8bQ6=d-tjdtin6l-N1x zG@cDnOXTv$fi(Q{$^&v%(LM7;6|6{^WcOpM)oqB3cf>t92(x+oOy$d?K*)ZMUc^@r zu4Osvli230g{SOWX`SMCr^;2nh0_jv;;`t_V?KyQz*U6kErln=S{lV#fpH2fId6WM zDj%RT^j|ktQ&Oor{mcdYVP!uKEktb0v6xFz><+P3p zx@>KXltfxL_-?^<6SN0oYj1KN2P*W}sof8deip2ZrBraDtIuxX=CdS2tpa16P9GYt@@~0a z#`HRPU4v)vSs!fwl++P~9t)N4%W`ZXA4?+L^l3(whMLQ7SiIxFD}}nUaXQ3NsJ}Kt z!WurD3yXY*FF_a0e&WCHALhsRf26=?-9@i36=&VB6N$X2fP)tGN>UTkBDRy$+k@R^K<-*P!MQANbv<&FN@La8?y8f1%0umh07!Gi=*ObBu5X7M%FV_KJ)A&EdQ1b)Iuqt(BdAJ58~OTjLhn2Y z>An5Kks^<&-!mKm?m!UvxT_w%^Og@ti9VCc1cWrVDr6^SXg9&kT*QI^d2s8 zO?`09livq{ukZ_>u%83n|L2vvh(ew9DN2~PqkOvfi!RN22ZHOMfk9VEGgOng0__)z zZ`D@vdCpzLHuy3+I0C(h*v)+M=I_l3DlC`|KpgC=sa)R}ajts}9ON9WlN-$AIPq~t zkDUoV#b}1aLkH&=UW}0yI|rJ#Qak$$kG`5-HBigMf=e%uSwgLWaGUWw4W;@m6bRo- zt=Q9D16=`G+6FFO1b-QO_SlP&M;x@WBzsWNdcaz-d2w~<9W~pNN*CVWxKGpaX)E@K zCGT11oe)uEM!6gN?c3DbNrCdY3nCfBV*Xv(69X zoDv9dO8!LAzpnq`bmywU+(fu3t>J(CP7;wxxs*qobO*8Dy056%=b(ZEv`3RmbL~ed zsR|KttX11`(}eJ7@j$*nd8=PCp+f7W7UZN&h_~kK{hS z^xY%ARrxaV;4(iH^4wARXXFV#xogOlH(x_k?J5>eX7ixOMkAtfcxl%1pB$v)Gyklu z9kKNAQJO8GD57IAYWHTuXX>Evh&CuvSc<>9usPe4c0kRenc+^&$OpGPip`-4iI1tq z>fihBUw?R66vg>5BihUgxkMbafr@<)Sy{jxP5PgWGJl0U02k&TCc~XWq<>}qrI-_E zSqzW#uA*!f^#gSAXr_!0%RYXBqlMG_0p6I@w|8&M%9gU_-`fw1v}ArhFfU+)@_vK2 zLWz(I9mP<#xc|ChE`!PAb=DH^&YQ9#D`m{)T;-3wHt_B1DqnQLy!;4z{$(A5utyIxgv*NT{ZS5k84+G?9ekKu;7dYe8O z+Ft_jKU_zBNCMZmH=wu;NiEeP_K$V%ghNIp_2|C>sZO=AsQq*S-q^VoVh=bdDB!ta zD|K8SQkKLSCtifz=fIo!z=%Dvv$_jQ&l=2J`z@`T&M`vT`V~laD`FR_dGS|7{uOJ3 zD@~&t2zvmvI(lbrPQloWH+?GixK%Lv{2M#!$zPskg)+j={DPsWwLhjC@Lv%$G+@*4 z&#@L>q20e|U_0*qNl*ni+i5Sf(EJ=)@XHvvV3)h4{+-xI(qlmF*7wh!5iA+{P&PUdX3XjRtX!wt5Rmb?NQ>8cX zlk2rhlS)(@@o9lG##6FYUPym@o>0HZRIdN%GjVkVLSB5epYK7$JB~c!`OHL)uKBy1 zs3^TzNB_IY^ ztcu4vz3dZyBOj(c^b+Fv;l>X_T)iB=L|r|c;X=Ab&G$HUU?gw`Rn1g_-gUa9rFT|* znI4awbPQZ+0cFSiEerw}a4FWmiNNQ({%2_Z$2=2*N>o?ILSx2F6vljoxi8=MX`-E^ z#PvF^`%`0JDBJb<86k!#%cO_K>zjpwBz^VylXts9EAyHT#5-=*axx4(2Pj1~Rw`#u15Q+m*c1k__Kr4)1-Ty&s17Vxx-s+RUBO>V>rAM=1+oarJP=zJHtu`BeW2wP zEX-Pt?U>3H{_xuzGjfmyNPd2YmN4Ot&|88Q&M#Q9G^t+Zk!Pw`-s0~gc`Vy`ApAgn zyTxUAO|lgIu@OMyGCfA$WP2R<;cCWV~&d z|9PBZ;YBmr^N7Y*_Lc#73gb@9vMRv?dZpYCe_2}t*^60^&n+tD5-}iYq`2SGGXVTW z9LRT+vnOOuFurIZeO7u$Th2zSH%V{GVqus|kCL59BI=-g>zG;&^SBy)W)$JB&IKJ(l*HKkKpV=he~XLT9z_g54h9-3AMJMA}e(jkkhAWp+{R%_KS z^FuzqADgml(U30XeE2$^27@)7amxU?;_6;;?>lAAKnrvBUqP9#`Q=v=vnyp@$K%0* zb?QyFJG<`uG6&qP)y(7W9Fei2xsk%#@%jCTaB^+PlA5ozxP%Ae_eed0u7r5rj;u*$3O_Nzk3 zRyWO7TDYZsg4wVfA#a*pl3D*?KxIKG0?E*(1KQ-#pE!EQz-@7;LA6y)gn=N6>nZN0 zgXNe!=&Mc1U+Jd}aRMRrD#|ac_2!HJx~eDC1Jh=#?iR@8ar__3t=$H2{Na*_eR z=VROgFP{9&1)M`uGcokm5nfQ@|A(LyyTc8YB1*%?zkkV?S`8JX!!h7l=j!wUpEx*Q zKA|@YeqZb>^h&%DRpB%;Ojw1dA=nlj@VRc;EHb0!!7$2RX}K;viI1D zPJC-0D^2z7c13p_(&=#8i?k-OL|UH<`gDV9ECMXhy1zxQKnb9f`X4_-9h8j=>aVk4LnGPR@8$^>S zuX7(U)8hJ5K+GP-Q>l*9SS=P`07gg52A3!ZY>AM$lt5GW(}ID*xg251jYINI`C(J= z4FhnJrH%IEs!PUX%}uY2q%g4G-8wg_>QRF@*@x0JEs_K(RJfcN#w3U70&!etL>yrM z!*fQ6#a7>s(aoPq=Zf7Y>3wQk*V@JY;8E34<&0>d}?qiOB+Q|vM3SRdS6kIUo_}7yA9IcL7)J-|v z1lH9^r%Hij;u`9skA{~ak>c2>vJuh^m@DQH4p+>N{K{q=g36B0p$!9){E-!6vDP7` zooe6#9>$c>iYV7-gkdDa4Du2e@wBjwAqV8j?!EMV{HuWeriiE=1>? zX}QY#H9i2o#cozEGxcig`Z3i27y2E1L$9@9t%%6-Nc+OBmI;3o8%5clvjoqd++RmZ zI$kMQULgh2nn|IW1A)iitL=}P6%RXqBsI6(w(bH{4=K@n@s}8Pt!?I8;G@b?-Rm8? z8c)Yczm+_sqMOrpbPPVOX9szRJ8WMrn=A=zuJCv<9lXW(P!!yt-txlWy(r#RZxa{R zeGlyN#QP$o*5OYAUJi`WHnq*xnnpGA@(|kyzI5~h~E%cDjo{kypsu4#nLqI-8JjY zTi+o-bNrtCxs3kXu70omf5Rvd@V$K@%Ck{;*6LQYHb1d}qkzK?P}9w>LY z>jf~47M;d;1zhl^)^!c5E`#d|{7BEvuyQ%uqoVx~?Xo=V8?UUcd zIsn1KDKH%X8LRK^%9rAnU5hl?Ozq%la9OPzfyCJc2BR|cs?Fd!l8BCtGYK?0yx}es z*aaI~5OiAn*fzhPqX5C#VqV?Y`J|M;r(%{MK|U@MFYGGk(ML0H8K}Pd?M2<_S3D}( zv1>Jt&1cjP1Weldj;~wl?tP6apByi;TjCX*Y}=!2z?rD=)Av7q(Wb^^!i#%tFqOnj zcsj`^uF_B8Vg%7qO^HflSYyFamQL(F``(HdNr`w6afIJ&>EyHA!ZGed`}P?;!;y3m z#tZM zInZRk5|Vw(c(dU`|M@m8y{j|!3A4?PMta4*d3dGGU>rnnB(2_MZ}B23QtguU9VPJV z?-af)W^|E|{~huOy7*`kV@rmq?|fJ#_@?jeM>kH@v^p%xOV@25vCoKvWWA~5>A}}S zK83C8bY~D%$M*QV7_|agw{;S3ezOuQ8EQmP$D{*F6Y?u4q6c$K@bG1RVjohl4;9c92cevp);IK zOua4gruGX*QLHVPi&wcQ$BEcRt%8fB#S=*weuI_$BSE%JFB*;>FCAfZDbwSTJdBUp z{i;RI;*6ML8W(QfC zLEdzMa0+Reh&?ED9+2X?a0|T-pVlcfrMJ}m0+)?sx8z#rh+%%P+vF=zH^UQgkyOul zi=Q*ke35dJRlmrZzjy1o7Sumi*o1sPQY7Eug+D@%1LEuyIpRr)Kmq{2CkocnNSXTJ zhu$5u$MqKv?2N2&<)DiV_X-nqP&Wb$_mDjLen)1dnAqXuFNkoegEK)c<&zB?g~a!cT&&8)BS%|(CyrAU zX>JkXcG0eGJQWXAOpLy~t7U5gerS0&9>QDaiLl7ok0JcJFnmz3I+e&h@xWTF?i962 z4~c`)fEfzR>(!e>yyY`&uv$LP{9{MNp>54Fm55_9+#)2(=m<@&M< z_@zW?PED3(TRLwwXb}(Mxh-1V*v7AFQ;TpOikDw670uu!)v)1E8cKO;;li7HT6`&z zaT3;mvEC(^KeMq%Ti@J9{0vLtbc3e$XoVG@>g3)!!_kz_(ag9-(BMV64Qe@BT>zgm zvLD2{2et%%+q%N;pqD~PwKj1HHdb}PNw|bHTBBxaa0KsnaT3gcmiylf|N8T(o-gds z9aOUd=`v(B4dCuQx{2m@P{_8uK7N@K68|{OJd@$jm|>t~rB%7yo5Vj2=@%IEg#vw#-yz!t{gX`=8@JtuI%nH2%lA69 zHyTaDr_$-h83Yyo%0HVoH((oFmpDQbFfJl7Fjhl9?3h$I$R+q&m=8d1K0b{< zeAwSH-oJ{p`6BP6e5|l~bVTCIcwbWcs;}hrrhNPM3y+r5lv*`uc+_-16D2a0PXt$+ zSkn!bFHEg-W@c);rw8Ycg+2Jbw))5%>>{hz#A}kzb@o!xW9Dd(x2Ds zRh&8(|9_>wF~>Y|oae+`?W&i?L(sI1pf zprFTd(Lq=8mC7f^2Z^EvBOUGrxzh78h;hi=^c=Yd*gIMJG-&52FZiGep|51_SCI}2 zZw{BPZSrZ*?~kWKEN1Tbxo+tsL8rmxLox&odIgkJtAkhWo#d01iaY7CRU0jl$A;C) z1M_%HW)ceyBP>%!#Ktm>{Tm~$7za!rHR#Wrtm(rbz&L@UiCPL}Zx36;hdr-MLnAf@ zp;AfEtJba0=ki?V^INfx92&1UcLvZXuRd>i9DiB_QTj92e&NMW1pE_^U%E2sY1Cd; zr;PUglC`2X5V@F*V-~yrgcCnN1umnCdV^_i5Aa{@H&bR8Zm6hZ#Gc{QrR{=@E3SyO zURf+>i^oCuj$j$@LFHfh#uP&27D9+1>>KmcHnSd0+$=?~jitfcpnKJlr$+{um?3qbc=f)Ogn&6R%T5={` z2Xd!jYpQL%F2tBuD?)d0;P{nr85C;-ew=XL?!(14=4`X<_Lyv4pxf@*qGrd(Dbk-TB>Sb#nkLnBsh|3 zvPg(k3MUF{&*XQ*4kCBoWU0Yzs=aIc>*RwOycWv#bYiXCSkSmgtCOj^TT2iA;RXPzNw?Hp z1JWz8*}XUz>)A9M3}CRx3- zfeb_39kC_8vFI}K%4uYky zr?b~?UXFZIWcRtyJskoY_%>=tTl~?6zbSZ2M~syTpfjJy#%z7-OUD`*E5bOn*H*T2 zKd#nz8a1F`?O;CE(`|fUu|1wgbLzGFOla**uKidO&QxiYGVG-(Fbb}8h$fq}g3!%T z^D?`3adU{ihwcp9M)l{KaU0j`ey+%DS$&D48(zCBO0i_YyHH`%y_P>z4SMcFGX#FkFIq{Q);C! zWekWxTi9IS9&dY-nhG2IjWpt`$RqwVgkRTu*672!TQ>~YeJb454I2nV47O&TG~Ot) z3Mg8Wz>Jx2Bt1-Y!FL*c#*|b1)#BT5Ar8E~hQL<%G7?PU2Q@rZA2HZzLN>ITI=4h< zmq;(UdeB!aYnsBVB;B{ijAg{O`ej^@OGWEQM2u1Mth0T0LzTfw|6$5V^;nZv$H)}~ zIqPwjp7Kb+J|zI*&d)nt2YnJ(ErOS=x7l`Z-mLeaggWWF^l)2YEr>?qG`x2tG= zC#*{Cd@%O!bER7YlP~<=LhfL3U(GYl4)6&@$$3&2fOb>y`8*dKZ(cNZTIJLm8*|_m zoMo7}s9Y!CrA!}EvqkOI^yo9~DB=HTX#ZQ68wZv{nM(pk2(s9m+G!267vU(evr z3ltf1^#%KgdTMV3d*K(Gnu4W@rL+mps+q>4u$K3N385H!5|^oRD_BUED)@#=S5MK8ia5Ca(4@y(eKYr3qKM9Dls%kyl8*M#kC&$X z3b(@IjfWVbTSs$8qN@{~615F>0Ojk6rAotiuPvj(eytcCQP!*4#e5FBIg}k%U$Co^ zsxiANorwXYGG0D6PHfk2Vro>UyVoGnVf#v^lHFGz7inW457kM?cZSjSYq;<2em(PF z{d!pLTJZTJaLn=iY2v7BU_4WI^uPY{{B-%34bb@%N>brogM_ODV zXFoS%2Gyn}doayD@YzJWwZ7w1QUb?%uVoTA$waD&-6c$w>M^`}+(h(STp%W2$$#;v zV{3^^SHGZ(AHqWkh;*@WbjldIytXBEoDd&`W{x8_VrZQ2C7TRNAzVrC06p9gyjYnc z*aL`Rzqdo9TV`i)i-2wLK%!Q&B=3T#lX)onX(^jhHJEkubn}LbNxf_NQJ|WAAGf2!z}%rH~YsbLc@&wrI>eh-p~xTe3}GGG;It(-vSuG@btdu5dHxZ8)C zn&P*S|HMy4uY96W<%GX|{Us+U`Ti=9fs8tAU(^9!qA27--2ux?qTuX1?9VDZc?)dg zp-0s>K0q)IJe0foKaIl-X$Lj`4{vV)6;<244-0}Q2&f>ah+rT}3nC>0sEE=^cXuf% zF?0wBh;*ZL_aHTtfYi_oG7?G*H4;M&HUBdxiu%0I`+n=U*0+`mi8<%oXWx5Y``XvN z&wYe=^L1KY2v+*abQ9%ZR%?dQI_W!@K~Gu6-x&EcXS`ZyrgzAZ_)Ii)h%Xfuv^hDto;K z+b@^O{DV70OA(aj{=>C@Tet!i{ARRtI*$tu?04)^eAMS$ii|L}dA)J#CUgFqW`6zg ztc6U$ucD(3^mE!y$j&}p5W4M>)tmZ$1ZROmOji!BHj8D%L;cr<+5`Xn?$J1n_fP(h zV?2DZb=)oH##4{DeA0fbrFZD=w-z0RTLXuleW=Z({iXH+Tu_(tOL2DzS3yqREVo0P zSe~p=K=UQhkJhy<)kM70UTbzH+F;4DZO*RFzSH}!o79F-bRYXQ?fU@r{l`CG>Q~JD zV-MqgVc7<3@`W>*a35}yxwt*ER9fIiU^DudlcyNGB!dv#`6HokyUDgUu92^%(rzt9GOH#O*=Pu{0d`9@yo$&AcaI-%z<(XN{59OOR-x=UWI#R5k#j;>xm!EG z)0wzY&D6l+8 zv^btu)iR!c)o=VQm)``15PC?*>4obZs5#I!VHoZ{_aA$Ic!_|mpJ-*M9DjPv#R`7@#ZoK z-WS)6KIlkYk6Yv)>aaufS)fLgkS#W&e+D{j@Je?vm5y>^y z{J2WUTM)h{Wd3QJWuX+)%DY>d^L%5M{A*sw*oUtB(3VZ1mMzB%mUnZ;4BE$1&|KJ^ z*$34xCT^(LE-t>9iPza&z&wxUg`|IJ{qd4E4h#H%!vy;0_y17qez!MZ?Ayz@MXc+4 z_$JPPGf5=~lZ+*MU@xy8)10>Nf2nxPHHJh@GfvFx@%3eT8arB-e6I{pXSBqd#rX?I zByNv$$+F}u-?BXnU$=?zqz*N~28n2oN8Mi@)<_y(54+S-yXWLTFXw!q1zg?h*#Mle zo$DFqJkOWV?W7MaNiLpmuloA>RnzDR!a_gab6!R=7d+u? z7ku}+LYll!%jt<c7<9$W@J^7^Nq#7Szxu%KeDcG6Bv~Uhdr-@yziSGs z@4)xsz2hx`E$~3tUySizUVL*~2!9I1F}5R}NsBv2UB~s;t#vd*K2~XM-TGp*4CRCl z$UV{mL~eUvmt3O@yh2%*dhWdRNPztq$&H2z+&s}ZYVFOcXsE$Xs{d!eo6D$9`n*sB$qN7dzL30-CUp$%z{ZvKgv z$9DW>zFi7p493tFXmV20fo>g}5F6mQt+BF(xc_W&yE$$zf@~`j%{p>=dSIZtjpTm zi={7n>TeF3lz)3@>#!mJ(_&xUMGH*MG87eRK90AdsK7$7d^y*#2S^3~3T zjfOWeWq zmBVT~U%9%aSlOazt#CF#K&QNn?89~D1?3}+4KHizSxytsxK^}p4|TAdGmH$P+1u1T zlUV6Qz=l9!KUI+*xf$RRGJ#d)^rV01>FybDW%|_#QDIriCiiH;TiP(EX|DKBMpWqY zvi)3Q4^H=UUG|j|IVF3F?=cg-$Yb;zyhIQoC{QI3=U`NePEWVCgBuyvh&d>2bgi#W z*`RVx2QCyewffA6Ot65aJ7TTqg0>r66L*EwimV-}1dFYDt;@Lc`i5x`PI)|S-K`kT zsMx?HMb}{$^Qn7g3p?-vzL_9eDO6-JW89LP{#)g5Fl^8?_LmT~Jvh_$`iSUyhtTv;5D}~}$|}()45WEx^~=%U z%!sq9smGD3@231^^dtBc>~$wkCg_OdZ}2$ijB^K890W)#oUQO56o`>Hlsc^)*QZGB)2q6zc^94vjH>5 zKCE%ug}t~8OtRrI{6A(Jb?O;gmuk5(;*Oe?1j44h2Gu?o5v>o#aFk; zAvCfzXH>Q5IGbTA@7CrbjYo%ab-)t2qeB^S%Ed|i zn91y&A+c8L+RI6>+lg(I4ff*9;qfw(D{2=O))TiQ=n{Bv7YM}fIPse^e7x!5OL}40 zRe;vmYx`u81X)#^^qh0$+M@kSzzKN}$(_Cs)d|BQ%vR%Ls*8-h9`BT8OCGo;P&qQw zkTD8sLn9Q7pU$AoqTQ=Zwh^E;>-9L zB}R@GNKz`&MN;T2J+_Hl_)5-slZFI_j4vSfA~cb3=0kd(L8`lg&*cndoW+difNL=0 z?eUl>lHPW#_>j_7YDB_GY`_?i5m!;98HLcUuT{IdT?57nKho= z#7ZmGB36~)gx0Cl&f55_NA*U%qcCK`{$odT5HQ+}elsI^R{kZ=l zm2M%S#qzKvaG1p|?<}hS&T$ONt8`bFtw5_0R3fzITu-w<8jrct+Bt{AP1ew3Tv_(n z#YZhJJ9u0F z5>u@pXj^T>dMLw$r@c;0TNqgWjnpGc_D?b8JmL|1bsSPY<#=MdimQC6!);6U6rvCJRh9{`Qm6v8a-W3%{Oo4|n{AfMGA{oYsREL99Q)_8jTSslY&DQGWs&X5)fiXU$fKNSRij~$y z`8XMZselAN>SJgV=2dGLp#h9fYtdzRss(i3aobeO5|lZ*BT+=6%Vm^JK4GkCKvf-& zm0vn-1$d4E{sPPY2h-WzcPB*KO*k7y0z`D`;{sc4lI2G1f zm|)#%tDK=M!p-0}Y2PoseQBLUF9J!V6>cJ+6Qk?1GZ^~OVU^E=2o3jS|9yj8C(L1B^dfAa|pvaI2`ZZ(HZMfJ?$MIbB;pf564R0!G9&| zeS~B>(EaT>+>HeZYi`@a<7~S4HAu~1*d!-rd(an`QHF^Jt_u<_9$5L&D@DB^0(cj{ zR=zFgdY1mE8-HJW3>vkQ!G4SG&CRIK%@3lGd(>n2-DEf8V|B#NAteLP7=Oc)ZXz ziW9MKyO;t9k^L}g!XmjVLYt4oLR>-%o?d6&3`ic0u_31VFs%ie7YegNs=s~)n}Yil z1tfqx$8*qnNW{&oA8pPCp_W-{2tE&B+;9q}>bga)9DD-v#5-7z*W zC0;s!C#(_&gfG=s6m}4wG^ltG@3`KED_wqhAx??MPNVNoC4qY zn4{6)wpngPu`WkJD7YiB8=-hZz2G@mODo14iFS4NfAEz$s?bYgOhs>gNvWZKpP1p; zz~@uiR6j667D>3%bJZ=km2RWwR`L!#rQ6AmQOpXbo*HD?i&%}Zy|QD;N(M(i71E+8 zmE%8|t)yDy+3PwZUsV{QOE}v!6lJm)&&Zz^(N#hYOn9Z}4Rg}ItAzA-VWvjR!Sy<{Ga zL5FzO7(icyIw=Kg*iJ$}WU!*9;z`8gZA8>cIPPGd4vX!fa#+tda5hPEi^wL#a5WK6 zYqbtx!ZFrO#6Pgtga2~fwS!6jfySqV5BSM%DS}%H0JF2$AdV~e$NP2gc$PK@A?BY% zf&R{D@-O#OiJR)>GFDHsxWnbr@5agy$)q#gAww7hP>dC*hw`?eHrgGakw0ecyP4$k zkEC4Pzl5v-KEGjVvX^A5a@;ymD5dDVXYX&`7!`0x#Ca?^RSjfe|lV(Gl2 z57%1H3}gkdFB7&x#WS9QLUT9LKqw)wKuyFG*~-aNBf-6`m(Fi(znfflxni8k%co_b zW=AZduy7ycLZWp(n6A0U5X%2Cn=NK=s1*uzkj)?;xamFX$zP@*ON#fy2BtAbssjHP zGG{FeScPwiLGc^qIa)jdapq)EwBs6DdTlq+4x`jm`G9ju2wbGXX@6eVXj&qHe0rOp zNQOE9tWljHW$#}dMstw^d4Iy^w@Zbqx|8jjh+CzO&&~G6nbHCnpJ>r|JQsG|AVA|( z+|4^!>vVp?q{q$zNe)oZNvhO?smHA8$vAn zmrNr}nhH7?s(j878nHis{U1{+Q?PjPWR>AQ#V#x7Y&G`S9ofG*|m ze*&o_-l}a&-yUxKyl1mFuQ&PwvVS^L|1rGv(|81J^skqQ{3tuIqnMisM1B9 zS`I}=*Co*y2u0*g#gA6B{w`ukefABG*ZQCwD`eXM48f{}vgNv!b>c5RL_B#ky?H39 zC6gWJ5dBH{4)FPxM71A_!a-+%2n*WcA39HP>Laa(XUuy%G*WGJ#U}m}v*BJJ5%PYt z;=&o&sNhR{N+i>Cg}VN6z#ksytM0)Uo{+Z}AvrtMkMR?~xW`0UFLs zu$tGU1m>N7MF7}P!F3^waLu*yMBKcYv>g%5sS%ky z-Klt}KKXuaT$0oYqFnOx-T9L8fW=tMuKLDXaf6ln*&RwZP$8EwvHDtR;3B#f>a?0h zNI;56XE>nL*;>Dvi5~XXm({Qp!0{pxx*!GXM-Z9dP)W0R{YUdC9<4%)q#lnubi`X* znytr*g0nZcN3ZcgSBOnhc^A&4145tLn!+Q9TtyeAlMz9fvPmAXeXmvs)cCVb*dJe} zE8hA~ae#U-tU-SBg;>*gM7Szh+Bh{(xFw6<(Kc# zD-lLh|5ZPyk^n$a;hF4&jDM&642H31db&UFCNLMfQ{jO`$PyUbr{1#^a332He;c-1 z&?|+7z5th{0qCg9k^yX|ozR5Kh>8G^QscRh#P^EBBp&w2Xidgp&QO=~*cgH+!!hvz zEW2s(;1Mr!Wxi3lNt#Y%|6I>N(QXx`<0aL965>oQ{C$o3XBh1p z} zA%i~$ed=dYlFcCmjFD3dvcCi@0hGAY@H&K=l`cG!cyH9PT6$BW%6{;Z)?l4xZf!zP zml=}T5eMG`%yol*SUp>;j?W0jSNlAQZaej6-h28?e@{X?SVs#nuF%#EtX0oWkij(X zS->iG9_pAwSxy3*bjJ7qm6J-b1gCU5tAgR)RD53s`KOu$o2)&cbh^2ZC0~<=U9Q|v z!XZhtjM`fqkl4U5PRKqsq4m~}2&HXnw8+}D7LI50$$`&_^)Z!_Lu@pOnTS!5fvw0p&dTY6g6rm|Je?4p z&rPl!W*RB$F$p*&!1{r^$?rvM*+cr!N70_&AknY57Avi$5n1`kHCvevo{NBsQ^&a+ zg~jz4y{z(@2}wQWmBY=$7ADk=*#UxE7846;Z@nM;licwzmFh6Wlg4MD)>4pOJ$cM$ zo}}YUlsO@st-LA)F1Iri)|HCxMF&HksBmia?ite%L&fHtKQ01WH*A9Ht4s-pF8md` z|DqZKM9v?$dG^qk#{dr!o+5s)XUGoQ{uV_Og=qT*t7z0Rc^^b-Rv0LV&=!kBDHePV z;^N0$Ksfj~2kBw=`e=aX*75P3h>e|e((-sb8s(yLN`PU-E2JZaoy^mEdE8|XSZh;$ z4V1iebcBFz!(=aQ5@l*M&Ei6+0Ga@*CdIZEwwIlhYE_3EwP@qth4 zi;Fpkw~zV8(*`1B11ELAK-4RsHV~kDW2Ln)-${h@!bC}sfZAz1tWR{G|CLpKeD@0z zeiBOHj((`nCvlY3mq`zoJkuzjVG9+4n4H)A543<|u)Sv5t=f#*eE4YkfLdSVd*8H+ zKGWahZ}R1lzQge25iZ=2amL?U)Qi2X3#fSBSh#>{YgD=gjB`ra*G;sN))i~@!P6-3 z&H*;Qhs7F0Vnv>F4a&2H;Nsk58D7oh=lfEO>cqACsxm@S7BY6G1t0!5=ydP4HDv~9^{9g=J-be z;k(A1?0dXW8|v$Fdg0h%cbZH;QgWy^O1_H^XeR)dkj?^1hfWpQRDD-j&H9cQQBRxJ z>MMl6(nN+67gC)?dC9sy1LRUxz(W^L4ph5TfR-Xzu!~-UQ8JUp|2~Ngs-_(OF^uSpfQry6o3@lHpjNB1}{-XvIp)qV-hdP5bNGq45hJQYGuEhtq&6LMkzUkyOLGZK=HFZ* z3^?n;8R%duAkJ8&KeHHEDpgyiPXUkvKZAg?E6i6z7iVlPsMRx;BsvUfBAy5lTHL=Z zN!@QEK%9LU2Q_8)+!OZEEwd3{B9i46{;{27o1{xL<2-d%?qk9hTcrJ8u<*QUxeTF0 z^EPn(*^lxI5nQYT+)wg4Nq^RPV1}i^Ba&3V+bLPt9an$uM~18bLA=ehx=6RC0FtuF z(*{;97y4rvYC7j|Y4QKFvLQ=~Z+_1m`&`cn1@|tGt8Ln0pS3-7mJP-%D*?674~Gqkt;mhZy0c6&4$^ zLYyrfoDpvIg=;Ut6e;0Z`dxv&aKEVS>#t-UF5wRQ%^MHrtivb+2wJSN^Hd#CPQJFk z{~ic=4^_rGvLCgVu!p-1EZzoMcZm3lBygdN?uo>7Wet60k1|EdL5tkt0Q&ai93Z87 zp-qeobvUrrkqd8Lg_%f1#JKSxS7-0r1Nfa?3kavg`w}N_=AESDZD(-;=X9Uq44`ke z0aqEtl(vU}Ial@<$7O3UQM%M03}NzsvR4YM=J8>(#&P6oe=bf@(Eo3XvYEsvI-jmt!Un7KSLLPr+Wr zoWTD?+)Z}y$)DbQ5Zc_z;{|8khLwa|Ol+t-ik3|H1IpS1C{CcKa>6^wPb6(T)_Uut zmGg=nP0CseD}9Ne78})3YwAh9-o~sbJ4{adDx$uh&~s9`+^4_VTZFlf7e4;)rm$1RRr_1> zMk{uY-7Eg7fX8)1ePs18Xpj2DOebWuQRAAiJ4OQk)VC;TN%xA*Le2W5L7mgwwInkGWNnWZPDa#UNGiU$@fY>Kq&+X<7leic;8vVhLqM7(x^7ome4K&3hl zmR;T`E1@M<9+~5@RqQpZe}}P$GnWrb(Cs2X+k1L(7=)x+M0XHgztUw30CIy-K@9<|xs>-UN*GyAhOJ;Dd zthK&*aOG2T`3i0^!!HYxKr;+ADlM+9Elpe#vXWA>LN`M-daR<9UL?6AZ*a9xU+7qT!%ngx{Jb8N4P*G4aX-HA&H!w&!YY{$ zgST@r%s||)UWw>&8NlG;^c$kKOR@cGqIrXPR)Qf~jWFkQFVad=3xs}DdiIs?;Q2j@ zgnRJ&5C6P>|9=XyOd9mAKFVoU!KC{irKCy*O5s0v;l7Dwm+{fmyO(HIgV+_Uwb^TcykQSpRkA6UQi%~~Nz{^~^`YJx~58QL%8%?~}k4=-k->bcfwQ7ETb&{-05FA7nE9@jq$gDN=02gZBw;W(@wq*?&AHHx!>)F~6{a#PCyU z%-9fP*h55|)?FhRSB`#Ps9l2KT7Av>bX3>yq!yI5bkSe?bPZP0yPl;YSzU^RDmJHs z=fqt2dfq~m55+=|KYYk8rM!5zORaBkthk6jg6$eSJ}O@(b!{^VTB_6xvIq%+BEG#q zF$ux9%|AqSeHvOw~ig z7Nq4C>q3VPYN4BXusF!U^4&DSZ<9^$KoEW6AMf#J0S%P6z{1&zDCd5y=h1drTmH9G z;F$GCutzLsV}6xGsoSVcC@s3Y(L4%O^{FxsURGTl!1qeXt+n8e#kY++;L-4VeRk6> zF}Rfnkzvm$642V09B>6@+iVOYWnyfQA* zfcDDZA{^*v3|FC8D9KtxAhc?=v3r|%&WlxWJ&QAu$EV-k1G=F2Un!`b+OIU^tst%W zQmAfbc(EL|EFa~nPhwVN5B_5rk6so{IP`A~rbqDYl#+GxOLMARJ1*`=i^uS_I_Tff zOiJ}^E#7X}k#^p>S=xT<=uuQ;C=#)2rD;U1?wGx{IM#J%?1hb5jY;4eLs{P~@5Qjf z2UmdAJh0BfNUjtZu`oUjS+tlRT4yXRy;-}*sHin48I=GpCVEH)DQDC$V6O(}X{>Hc zeGCG zPFc31d)^*I%@^hxJ=SQx$0yBd2G{b$tx0id^U06qfsw-c}-op)SQ z9jvh8GV8Bik!H1>8U9Shr^meAl0r1RBm*n$p|C1_8=`K^NCxV+AJGvr>&p%rD-Rfk z_MO~)p<|9QX`-qw<#4S_%R{9SA%^n(3M_L9G}vz-|IQptPu+|DK)THI`LHPrd>r1Sg}FMK~?qnHD4$NChNfFB|$tThCy*rCXF%Ed7P{Pi+2hu z5}vuy%wsncAwAMTc@3H;y?>^@1Ag_d?TzljK@=Zzo;!aa`{fe-PI%W34*r3pvUd2S zaqyCSK?K6RcF`0mWS=_1H+`iF*<^-VC6O+!aYk7rz!!C;XtLI3<*z7+`fl=AiGQ~urRc(8YV+{6_ z&;1b62$bo3{-?`jnbps8oFF=51G(D~dFJ!=IS78W+ij*$ps7lS*#AKTW$~Q+;~;)3 z_;4_D#A5dAzps>O(f>xUz?|0LczKA?AJ z0uenwL)}&SOTeAWK61D>=7>k-jo0vQl?+-nwOTHR!jemOhb$epFFKFs%`beAAo^q( zRiHz&YGJC%YsI%>I&`he{#!XT!L>2*&T8j``3LXzg&>)N66SnR&pM(!%5Ju|XDhz1 zHyCQhidgQRhHMS5S?fQ z`nL(#AMbNK>;KcZ>0kGeOnaSQ`J*BRz=)5vZt^!H;b!B1w|8^u0%KL}0p$)#m)=q#nbU>oou7DSw?A=O2I7$9Ej#N3w_{`^5<%=_7wijy=HeG^78HrBW zw9o4BvUZ1nA5r68)X6uHGTD^&8+#2OoGSZXyg>qLE6#{}pU? zJAX~x4`-0~s%y5Giv!fkc$F%EkKrf?G2w_NzT&h&U^#3A0kZq+)-v3~R8^7jFvl{>&#Ti(|cM5*9PvZ|w(F zj0j0)&AM%e&VC=@4@)Hz6At~9cHM;)P5}Oto%(6t+l6)T#Q&2)zYp*yAHX36OIY1v zE!OhB@5v&uOO78(>#8Na9i?K|%w;*~<~tbW9g@Pu1M>)zQUP5vqfKbGPM?#h7kRnpg8{2$Yne0bg0 zra%;61x`Uip^GJAA(!lD-ulJbu(7nA$qt7ep7_jC=2-6Drk$Cfkx53+O3 zPdNRel0Tg1kP;z|8&Pju&rgn?sfh>qEy@o;$@ftoU|Qxwk1V;2*n96uq~h+Bd69#L z=HLZ%RA*_*&EPQm5j(hYoIeHQ@H^2!T?0GN(Zk5`-J^bHxy&;-A^8Ls%?UyfcE?7| zqHMsk>ZAaYi2<}eq}SMaHb4u!HehX0qFLj#@5F<7aT<xe4P#F+A!;mr8ZS60Zr7w+nxgT5|HMzEx_war=6%EK@Zh`!#nPl3hyu z@=a#p1zLqcK-wUHU-4OU+gbKYc=6R=L}LisNG^0TN8**8McAby@8)A~W1qbmt#L+- z*Lz99d3S*eGX$p`n}xH^UcTz2>@!zPnx|F{neL3sh@BTXQoFmZ#-#P+MCaq$yk}6O zBrt?krTE%8Q0Su}?-LZBW;O4wgSS>sxYAt}3zjS+%jbv2 z`D00Y*8^x2$rUgQC0(B2yPM-)QsffdL&O&rKihP1qcZZrOqLf1W-o+cw`;M1yS}%B z+vGFuFc4ZWSCY@UwX>EJxRp4$x9j-PQqgE#X9$YX#KN`Q2;t5q3mnzE>xkLTY=N%z zKj4Px@%T3z=l8wd;=`oAqQdw9xA=G&h(=_0RI7ZpnD)2N74{!aiwz}!h@Pc)CnFL}+g_1-#PA7?aIZCdpW;>5Sr@?|$nw zn<}}5k1@Z)=EbH_Nx&HY&Y=mG&Terk(;RQN+0H9C!C~~1ZSitOl56&Y6ekF9_1D*h z|5yw?NWnjoAHD1?eARH*Mp7OE65rDJqLKqGz^Z!r;r2ShinUS}kYU!619-+<`lN++ zSI6&e3M^LZsZMId3P#_th{a`@^rq=y7(j`voV0zKLxNKX*M|L^zg4sxBfEI+bE@X{ zIg2of*#hWRTQJ}BIRRw6jbwhT8?O+nbmCpdVp3ZEelotv*Yt`i%1Jjz%}Y8Z$@9DI z_{?&Pe5a@#G7p36u zM6uUzkG_9CA-U~1?m={n{7lc+oqJwW)crY1UBRF&O2m@C5|qB*^(0{{>}44q9PyxYUbxlwP8sEIvm7Q~*;pt& zlaYs~?&^4KZt3>ueW7Mx9oOSAHzTXPKSIWLc? zvbZ&!RT|2ClA^o)+QeLg-FC5N<5*yCAXjVuMwFIoky(C4^WH`+)*zeA@^*KXgH>NA z{yS3Jya6Df%yFb=wi&;t@?Ed0c7a*HG~X0u90=_6q|-dFY_K>?n!oh|w`sU(3X~j3 zd<)m9vf6gM^9|(UX4Xu%U@*ar&)SmQHZYZtOMyc1^3YJPP-EPDiSFmoW)N>15%TCUFYWVwhk8g|B>jTdI= zdJhC%Mr+|+z3{XGs#Ej9L;P>gqY5ZM{3q4`ey9R^nU!K1XkWVEKLn>4f!^el^8ucs4^4hMgQB?z=o zk@%s?LN-Pmv=m8J8$oAj&FWtm7jKL@$5CDLLv&x!*APl|^wt5GD_IU#GaYy}G_7i; zGCEPvnQAuQ1B98RaGp(z@|=f+7tACtq5<0UlC-MlA&o+-r=!M%9dKd_Gm4iwdGY!#Dd1h6}3FMBH}CVh4*c-4%* z^u_kx_F{Pivy!2FZy7JS;Hs>-KxZ5ekH*n=qEM%gKCoRgfq=DcZy*=2D$C~*uJwr6 zb%xw4&1LGt!7vw$_bLb9RJa^V<+Cavjo9};5hJvV4fLeKQkT1_=3X3qpk2~=r=*3> z?QUW1N*lA+^VQuMopV50c+-{wFG8$9gUM1LEw4{^>2cWgw8~kBw?5-*a|03)3W{HG z752zSkqI+rB087C*$Y_+%PLlm(9S@1s4&eEoQ5UDF$Dspl>KC=SghsKQ>fGuQ1*`uVeE2<8)YShWA2k{DPcNBiH_;B1SYAx@4Yr__tx0^ zM4>&_hZQP)c43LX27Oo+QccY>V{ygqZcsicVL-+mU{p} z9BK?j)8H>Y)W>RDXRL&2qP+44Dgg~g&rp?P40n}UL;z`ds`Lg5b1Wv@vAnjRY*_vLE=i6P&l87&URKt z;)SXwo_m^W4mq`2L2r{qcW@Gt$!XxRkGUKg{#2oOQ9I&cqfQwU!rkCfA@L~6()XH( zlL(+}w=9Yy_MZBHqY|B`wAuecuw=;baB#hgMa<=Ge?V|9HSW3ce!kF#4H5yA)r^r{ z;XUsbds4(QvWH7e^Z*5@!U9MUkVZ0r)V8v7yA{YpiK+Iu?#+=(I|))Qn`ud$UL}X= zz1B;;YgWtc*Zb;8Bm@BCB33mB%Rre#6q`Lj{EY7Egqw!ria+2)9e_bRw5L57S6LnEyCE5MJ{)9j+2@11GF0;I{NRubK{PVdJ zHm&7UOQvs&zv@3;k%PZ{1yG=vR_p>G4p~%8MPe$xrsP3}+e$h3hs8;nY-V+c)vRjD zOrG030Z8lT1e@zTtm;adB7u!%-72#I#LSAhg*uJCpGr;op58YN-3S%Cq%sxwE=1tl zdu>y)~8d z1#T1o#pYnH3Ks&%ybWLJ2NT@w-m!fQN2dTNoh~3Q=I01h!cvSm?+iYrW=JPo5b${Z z@v`3s=}QJ&4^@VD0R9(b*XN%i>A(=e&2*(N^)W@?i3;Pjcs`p~gy<)y4+Fzw@DZ+m zdG1}|YO+tI>NOfmDH3CH(B^n9-HT+OHa|Mo7ej(C?W7*rzAYmzD+IUDI+Oy0MAeUs z)>9Pjj4D$aL}V!yBm%2MqW9Ap0HP#G9`NXF|5tA+9y1Z!$0YgOO+W#nx^-pdJeOf+ z_C3#hAt#{Tkc5kh67^rP0vq)dw@J@$ya#Go!!?1PqmKaDCS-`M22fk5cEK%7SI=uW zr;5&ozPl1e!6;pd%Rh58w~e(``)h$o%V-ObFz(s8)pC(yhtwOjs>Wvd9O!547lSML zfJ?Qpt&B;f6*kCNOPA$-IhiJ^<@sh}0J=!xj9#rdBfuLYdUmQD1#$Qvi2FFl+_2!n z&O+tDZ)+Mpjz2VE@vFjWf5PcIe8--Xv+<|3uPEF|CY-69x3dl7U#fM%tQbFG$!l7y zylP)68#u%r*=E}y!k8JZ*xmXDh%aTXL)Fd2W)#gBHRnI#- z2C#0fM@nmAI8C5_kG>h_1x}EJ4V%>=>_-k7encK zg$@+hQ&)_lu2V7%ia(r+82_gfAkS>K6q7*4$9sG%1Jum^rUNtWM>*d$8;@iZ7F-Z1 zZNo8L;7`0DdED>fwQR*g&4JYmC5x0RrX~Kr6>jW>GA_U=~ z#^Zh2{hD5UaE+I1=yM;*pu^dWojpI{J(^Q{S33vey5+%mn%B3FjYrJB(vo7k0SfRf z7a4l&Fz+=bPaCJrJ1W_|+_2NW=Y^S3Z^g0hPhV^K9yE%RJoCwA$qg^eyoc5cX&GH= zc07H3hnU&F%0o2$$>NS<<3$6T$lg`wxdgGXud?eM*H0{<@WY}GS~g+3vRr3wCy2ooj=5#$fo9Leqt-vdzciNBD8*i&AT-qJ8PHFtWc=thXf2wj0UQr`@BzRN`0Z3pWh5FwDvi+VKy6SG|MP68w78c zq_(GBc0%iDj2-^&ERWl?PE`Bv#qM(r;Y_1$;j-5IbQcC5y*`N1fGy39KHI+cMj{6S z-$4aSdwin#eoC}U_u;em_|%VmJ(Xj6cP#h5^JT;6Y}THpsH0?PwIf9%wbP63&P=dm zFxtH=+h0Tl#`7mhJW)INMxT~@M^(C40&|Q3XIGc{afX@f)nKo+pK=5AbUks>7GvL@ z-Q%^HM=PuEg`;3Oua@_w(5yVtz|-H~oG>rtmYqvs55?l(@;0tBye+GVAN2UUVEUIO z_vTNRCdICLQ1JE%CEhODiR>~zMPnazoOi*k9f4`-J#OE+e6pkJLa22~d>u^Rg25H= zQJ#=;ZmTs77kVwt4Xt&3D?C0yOui}}GE#WG)A$~`Ze5ZpOm>ZDr;uz5mwKF_$y)2p*1~9Z&2o$Kq<2vWs@&W%PH_xiD_RaFLfK2{ z%PkuMc0$mFNylM6gI3)7h5DafuFO}Nu_H8g^!DG>%L(q5RIIqW- zicS+Z&vFEeaEdN!1969B6hjwbt0~AtYC%pVJ z^XJElCnm4IIg9@cJW))8*<4CBgLa+V@6~G;U$h4oyiUGkZ};iVBRixW^i$7DC+#?P z!-)cGk=EkO_igpn_-xXcW z-g2~i8DJ4&tI%0W{3LZ<5I~x5iG3|c1O)vIKMt$#eLLprz4!!C|vVZ|9H#b_%huhul@{NvA)c~=+sLzqqTiyj!ep8um` zw%ZGgYVmN7Uk8t_hVd@1ZCns}B774k8 zIY5ZJcwFCY6$lHO`}5&u5HQ-agL`%>!;G?ple zmJmtlg^}B2^R|l%K|FE-0?rr9sm@q7PGO1O*|;JfFv8|bMA{eVK5B${j*qM); z=UI6l^c*$k^LLjeS1%yv^ytS8Si3CcnVi+Hf9(-Tja%O}pFb%Q>>ePfuwNx}f+cko z`8x=zk*FT!=r4zD_Kd^)ZI7^SbnLOH_XvSVNRqj?ap-NVBPq=>OvLeB=}lK#pp0$8 z;NXsoQHud?<%mT?*oTx}8$z%OV7y6>wYTAJ`%DEN;55KJigp_eM-D%oHws#{rxB=z zTxo$OZ7S@8Z~MWFa-ToOiuCA~n(tj_f9J{Z^t`5APQx1~y7pGV(Q5{1gzhu45wrBxR1x)AXdA|W6_8>u?hIIY1ZIp`3(p5tl0+$e zlW+yh!>=r>=6ke^{HEl5NA4umRW)ZB9ZxeV_mZ(oG4 zuW0^v(9NfnmFnR(HSbpw2r?>*#`EH*QtfpYtXH8=#z@*ewKgu{MLlEgCi#?Q7PmCc ziImNn+yoBTj@FuJ6BB%*10w-gGIc4O{n5IwGi|9>ptuk=D20cqe=G#NowNueF z?ETh%Jo~Bxi-ER#GCz~7Jb_*0<#C0syv44DI1lHch^Yb5soI}|P#$U36=9pXv(X}& zB2|B_^j`d29(lwT_UU+YN5(ZGp1?E?$~z7TOloJ>93R<@Gp62Htp#F2F73im8?zMAu@YP)h6t0 z2J;7Fg@6t{NBIjzca|E&-*%36@NrN2{I)HK08X?RG#8%vQ75>Y`1MzB6gHW zR`VODN2jLWxr5qh>*F%t>~50ppc5Ay<368{T9Z_Gc#ly+n)4Zl=woCx7ix1wW#3~j zPK1&x1%bgWX!-}$5tGQm4)CaG<-lW?(`f}=4~Ehtsh&G#5F_TvsMzjXIgLiu$A zi8yF< zx6j33O@ghE|FF7SHETn(TnBLPB_ARJsQ;1(%J|Q6uH(DVnXN=#mpJC`#I9tNzwI7( z;)B5*jU8=MF!vji6b?i($f_G!v(9Oj!=NoNaMHbVQ9`XuX6Wsk z(N0$!hCUjNki zs?#+`kk>qIoWR}QC?(psk1=s!p)cRIqb-c%QS*I@H)F)8f@yY2c_{+#l}5TyP*zN( zPeq%N(p-qD=82%5;1Ozg5R}EefjZ;Vd}3`lT@IUsgL|QKg?x9D){eS@p%@WW6eXOTqxH{C3Oo(y5WNf9n^WHE-$u{cqsCf#RYqV`qU? zOC^q>I-l+=z6{t1;5?(*9|o7Zge@p@mIlWkEAY5irevhiJK00i{wf7vuE4~LJi&Dlr7DVO!aU3Mk;%*9;-ls;Y>@<;AZ^V z1JBoc^aH>xEw5O`e|tu%$IcXL>$+BtUq>zSu?{Kz?A0Jyf!D{k{mJK@er2prloas= z(bp>~jfUztZ8dO5T@tknfU&WZ`}9z0z5JLv@K^;PMUfrA$bO7d&NEKDE-Z6@D2fel zk`pr-?ZrfEIm4IVDttb0Bi9=%WA8Mbj7tZwirn%?9;KeW5U^9chN!4hJ)Cv*NoHMK zZ~|%W<<(lA%cB;~nrr0qvE}0OM~ijyEGlLQ$|M@Ug+EX7T`dSsYrVUX+k#e(r;bC& zYH^a$wKoS^`ma38Q^VA(_dLyC9M9J5`tEA&w%D@qs5}I#Bo@8jytTx8VN80VA1~sI zn^H1GbUg5*a%`s_{prxzfs$?M8zU?Lzok9OuzSvW8W z+?Km;j^peB$l`U0hY7C?6CBD(SCx)9}{xX5>o2w%lrZRFgp zO$Wra^WUxed_5jTCm#yAmFX!9%&`eRwz1r$+nT=^20DA-5+`4D&rqDv(7*+Z-2jBj zWG*72<+d)ci(38T)?Uy8#L@=YX@S}V+5B@^f``k$)^OKmO3wirU|09#aEilxWcyym z7g-K;X2)%*sCth^{nUNy{wlb=Or!EY3)sbKB;vuuN$T=VW+HV4TF`t1SH-+cVXg;A z<%HcyEbGlK^U(0|Ztk?#Z>^4`s%3t%ROP4Q3g3yw@*;2>K{>JIn!K*ta9c`CyjYU+ zr6d4MQkGE`6Epp$9@-Ka&$ae&+(g=h8gr} z<9M-VG1ecwacg9^cBWmp zv`3+H0cNY7{CfZc?N)LM)9C+6lzAZ#r#yz8;%b_BdwiLg8?!($nRVJ#4WhvuZpsMP zUHD){&Ey7Pr`Bwe*^PP5fc+GadB1sj9l(rnG?sDf!?b&XGM6XkJnRe8pJh&wr&l4= zm%-I)4mvPW&j}e57y54VN;LzxsO46$&LHaxuwi=El`!CAN59Og!ZtFhE;yIfmal}B z;6-=jpKI}OYb8BZ_Lgorfm?E#2j4)chyo32UpotDL_GTC#_*zfsQDVWot}$S?ru?1V~a*}{JGz*x{=eB?IjAT!ij!*h*k`DJkK zxd3o%R=Sx-&P9Sz6VHRYhT(slU>+^!8f2l$|L7jn$7;r=whExX(A4KoN0I-PTJ^q&lj+fhS0WAe3 z_h@+97y|2@h<&VJMks&#xLf1F@9yQt??QxMvixUZJG+j`#U9Yq&-B@bm z2FwP~^bs*PqcwvR(oagacT8_;IZaad7;YJJM4qN^-5X%gK|j^=L^8u~)_g2&t|3x7 zE4|nDWO=|sob6d+=R6_OA(wg*hi-+DE_f{JdQ;BnKrZu9Jsv;oY?;%?%1idxa%1`J zdq&1{r*{;Z0(6vLURKdwSdeX?^Q9DEC3M=a2o{)fpj~<8kax zva9E_yczYl$*WMgT@clnwCL->JIQMMX|Dp+MrlDU?eeiIJsnH~NZX;QT_ZLW1uU_k z&J1WOQP}2^MyVdm)IYHfEME)D8I2%2&?ED7*DvUi*GcmfZE}51{MOv(@AXag@LcN! zkuL4a2Ii3tBx@P{8jSk+j>^S=5DrYT=LKnD>se5Ob&^IhBW(zNBLI6|_?)))*)p$k zVZwwgNxg;C-zx7u^)Gs<;}}6b)=)n*P7Mfo+YFB9d2`M8d+oZl^|?>~k$>_-Qu|-R zg+6a>mfY7;T~4AXcC3BkqJq8@^!|JA0Kjob1C1jsILK?GV)w;m)}oapdN zc9hz~@F*B09Lc4nC3%I;$l~n^G(+qqT;)AJ0*skUm6XKp_6D94fy0F&ZLgON2E4xnvw%fYdV)N?#|PV+)_jsmqaPUP)V~vBezdS=hErE3K+{w8>dA5 z+jaENI;h6i13_}*|1x;&0URc*JwW})fxsxKFC6}jyJwNCo+^sJGf3DX)!vt1wuS*W zF0wOtQZlW{gaTk#1<(C}On&Nf72|yW+3`dA{2T_=;7uMn3ExFLqJ~?I0o}@)49AU7 z8gbiB^4}s_$&ojuV{$5SGrd;Ps0zoNYE(;nfOW5GAs`7kvgi_Zqc2>x7yVVBK~TBQ zTC5Tw@rIZz+i+$84%;qZLBj=FO}Y@`ZBp{UvxyV@S8$wP0R?UY=Ey>J_4Pi_nUJDe zOYwN&TzD*!v#OLQb9WYUDp4rp-$z5ynCDEt?3D*3=pnpo5^^(B!6A_ zKfgBQ&zkj1r~K;yr(zWG?Zqx*Ts_0kVjGPrahU{u6Gy6T`h%KYvtZRpTQnw)0kBQd zgI#vHBfixwCzNJPoqccB*K%V^Q*ZqQ-(GtXucfds@~h^uFBF-FMUy z%CpxaUYoSwa?n(lPmlNZNDRXCbp;-4HX`m#6&9n;JSmf(c5UM5O4=(hRfy#%SB-vI zPoI#93SAl`#vN}EG%Rv@7B8@FUICmEyLxos{hQ3$iO&n;Wj|uy?dXmvOX%;ucu!G- z>B)c0e_AECV&Xu!zVLy`bx429$X;un1)&LwL&?{gE60W&4-B(BphCy8QkJN#t9Lad}0ydL5f0;U7o7bx7%7i>d6o0=glaNWB2I% zqjC3|JzxsS84v&^&U(~v+OO2<-z~&X)1vm_hnGXRP4yrO*yqcsXtjqS+fit&8DLYA zy(eap6M}M`DZ2b=hiRK$A+qiC43xRtWvA7I>&i*4UFMwRH)YgSz$X-dCQbmWHHZTZ zI@`x{h7XaO-FHP8Dxq* zor_bBZ=hgF4cz96--uLkXld>3_GCD`cLAk9M1OXMLqBgRLHV=$2PG-C57Ulk7iyI1Od84)<-!RFQREmYV&d*X+ZtQkvd}ZviO7sVTOnK)Q=(wbo&-4x9JWQ1!PcAbD4^HzBRd&Y4qqHhbc1?_80@{8Hub?LhX|4mF{iI7tAcG1kVOLD#?Tq zsm5l7*lsSA?V4LgufaCJ>u&kQKO#O!AM60A{QUS(+}?w z49I82Y}R7^)`G#`C1>qxDUZ&-A)^^<&5+T?_}mA>NTfqQC(k9yeB_~F=?u3hz%?ownezLL`+z7zm_=jk z7v86SIS#(bk;*FJVh4oQJDk3{__ekNI@=HdHg-hmiRkjUER*Is)~&6f zcBlQakv#uk#eU?A-2UFxuT(f6*}ZYxmZxJ?2BR)Cdcdlo!>34^Y!7et+64@*pF?NZ zn2DRgsw}nwXi>4_*2kc?M~Y83jH^21IXmEIrRv^l{Cz?`(Nkor2Z8##D|;Md!cbE- z8jCM|*4(Zx=`e7O?!8uzCb(doGDg@ywZ_h3S4j9_J^hoLr7_^;Gf{YjAyh!*g;iIE+ju$`a ztFOb$E#toP)-6T6FSkC`#-;alfC|YGJIc$Wx0&AT=nmt6^jNId+sg*dAv_=_Ks347 z`Dsg%Mm0?Qb})h8-xPcvp%M{V4%%A86E^j5d!o1>=!@#77^g?3ZgHTg51w*_zW4an zsEVHu&u^h~OWB2`_>27`aQRlt{}3%2g6p2wN17?*00=xuniB}M9NBzsb#EYvxW}_1 z7bS5<#3IoC`IDW|uWf+NP3=Go6?k{&6V^9E?Rsghz`UNz&q#d*S_l>X9r+IpI7fz0 z4Zx~0+!NVnla?VQ>+R`EvUT;_V0hy8lh1da4Q^pDtdHcWg_##$a2E(wdnFJ27lHlG zwGJ`~7cWcRkxFi4sg#ZOP+9J^iT%V~kkXhl{-N~7*ZxbYC-{TOjwa3UAuk1L#MFeB zv3q8j@6_ZE;Y4G%kEDJzW&V!1+1yzr_a|qg!9<#sKj!r*iVYCZbQ*%Pq}NYs;jq8O?1c4U)FiSd-n^lf?AX>AqtsZ7c8T$ z-c|M%C+X~4%sBM)D(=h_1L5W?RM$rd%1CXq*VM2^U+ZwZ)FGJoU}vwoLAj*s_`9it z1@GNQn5FH{mOnbxdC_yFNtlonA_wlo2_+Vd$Z92Vvz+RcxLea2_7PKE4UKUDxSlNh zV7@tuCWvUASk1)x>mHGxj}94d5TjzY9gglUdkqU{YSFT~g$})!8p{{P?tE_uBGw=;g}9!jBJE;VRcf(V^N8*bM@lD)wPPe2GbUWDznORJuM zmNJrdav8|ym{l_1PA!K1)E;E38&Ik;mz_qnYcEbcIVB%{(R2Eg6c4vnpXf2*h6w{Y z#xW~tCUGa3cWn647TbisL?ryAH(qaJP_l6vBa2^2)o9=I#Sz+`fU6 z?^JqPnQ)Ao6GqGPq0xZjSClWrcaW$gW=5p6rcsFX$1e}}D2*a6@G0)q$qMpT!iYCw zEbpy?U*_03$H zl8bG9X2ASog&1d3%FCy6avQVqDcFj5SDu^Al1I9x$oZ=LQBJX2pt zkR#JntoLTwr|~0qFZn6&$JtX5!)NjR+pw&;ivM*;F<~%9%GY#Tq&D-z>gFZ~GI=~k zE)m+ovHOoJLw;ZzFGMbyiAK?SpcUC-4R>>9jkSiHe+< z5iqDUKQo3qZO(X-hmm{CNhNwL-0)*4|O)BQBli_#4T~nN_4Zf9Gc> zaigtE1(jvXb8o#X&9;p6`?`#EGh6@k@$c4K-Tliz-_9TBw_5i7ws9W^k7WGo1ocY2 z0=sZ|fRzaYSB#5O{XrXQ3)1AgT;Zo3Uc*JP4yRIaJBX`{r1!S7udmAOHyP4*8r8xN zOn)lR&QQVmxGTSFme>`%vS|N^`gc~k0=2pT40o-_2!v3GDjkPTEswP)YwXhlX^iT! zFj=)3x8x1#nI?Ci+@^DVh}CAV6Pzvv380{Z`|193&My` z@t`PKQm|z;F5|4Wh@nWm>P*6dzGf@5tCGD|AK@`ecwT;%QKkp}cs$4p2v?!aaen0s^7s?Bhd7x`cKTbp42&FWL_JdJO-Fc3E(Ra!cpX~-jO z&pNava2l6Gb>zo}#^@A(th!eVf;1y_M?8nlHH#km!azpGNZ~YyY>Tz@+9wP-cbt-= z_4^_QA?&H2!AZjrs~}?kduNT^7dNo|fjm8o)`=-1BWMP#av5Cmca%>o0*W7widh>j zFyDMtl&4Tem8GZJHttO@fByXx zc7 z+PkA_w?u(&L884)Pxrm4Ca9JVQw(;1Ig@KqPNvkr-4Gv)%XHcM~F{Q@v{ zKB&i^bh<-|iwl4i*ePEVw0_5%JS$6d+f!?z9W=FsrIuW9EH@}1q@6P$L8fjD!>Qu? zD1_nGH8RU6-)FF!hu$$^#6MH%;arQA$YlT0HF~c*#j}%g)DnQ0bY=CZd(I&{N90=H zEK;R#XQn|1dmEk}A8PmG zS_&q+?jTM$iX9^Ppf>WDh8!@9y1={q@B3y=X)b8^+}Fvc{Ln@EL4xq2n^pFLl;Bug zs1rIuM_~hYstov~i1GI;#*v~Gv)g5eF155eryAH_Ys|FmT zVi-Ja%Y5$c$xnK7XFQ&_fC2o@D0oE!JY$UwBq%dpFxrQWEAXNxKogoWxNYph&)Ns` z(fNNmS-*o*M|>d9r3#ww5P=@Z2GFc^rWm*yz@)>tWIuy7n(s zTd@NTr>kDdJ!eq6wzFjXjWkuM6Kps1;7GGc zWv05Hf4rVzlU~YR5@}~&&Dt>^kl>=`+ zv96UJ%$NZjZ&b=hFvdH@fqBk`fQ7>pJ!!K}0D{ouV{I4l!w-&4o|PL25I2zq&nQc$N)FuJad>2Yt@L>eu3XiyS_eb9j zteeAXmLGhiPxrw%(*v=<9oZBXcABt}H?nFnufS&j1R%H6Z~tBvf2v+Mkh{A4ubMr% z#!9_E2+l9HhfUfl9w0P$YWkqAZyLDV9IB6Z;0+{SN|>M}J96=ql0iv#;)PJm7_}uq zRo%#+L%=LWJ+2=TG9pc)U@GT#P8q$EKWcqa2F2Qab8K$F1eBv%)aTKR+Af^ zYq3QhunzPH+#9U+l*L>Lx%y$T62XoTv*4n>SgUdg)Hx!3tfvP~Yi^-aYpYynR94x*z95;s zovw|0qVO^91m(exf&7)x6q7jwK5noG0Lw|$hZ%02;lT~_j7<2#2u>01;Bv7|bz`N1 zay5ze5>Zl9<<<>7V^AD1-f>u_Th8aNJ;@$+GUy#P2@Z<6`2iX6Bu zVE_p}A`D!V)!B-EE0tl2lHIhepyMkCz_NkDRboG!lPjlF>Zx0S-&fGX0f^g9&xWq{ zJ>rhJLLd>IgD{u^E$$y#Y!~_e3ETg@wtnwrv?4)%kQNxTaVYhc@Gei#uc`8{sysS; zt`$i|%KIGDp=-%=!KkeiPMZ(s2D`o7q?(Janu0=FEbtkB8qjksb_A*F5N$JnOd;4r zpZn-Fv+U&J5>p`Qh6xj@rm~k8cR>Jz1(KO!y~lmtWf@MCa8&wnNKqmvkF~Hlf&j`D z0VAz_+}+FVCXth*cf(2k;7U5^oO4%l^Gd<5>sOtEVH*Y;B)SKhMNRYYZP*BNG=u3oUc$-X~Ob$uz@I` zW1cc0tAhQCMSiP254*?ZG>mp-8Dl^ZuI^(}zefE*dN{%^SbsjvaYN1}|9C_R12I-Y^Y3OoF#j4eF6n=ms53`oJbQX0udd zjvbXEpz4uH644Q3+^ogi{dMQx;YyThm5@2Sb%XL>KH7g-AAZ08riY2-qRcknoDoq8 z`oUetRFpa%-4S!&@fy7L+!ptLcRM!ERu%tN9N$v3M+gy&wh9fN;)qiHe>S`K__e_1=V@l(B?o9F^Dh94^=bZ35+)C&1j}4^4%(=;O@8ToP6nYfRNntoaF;AR}e6`|5)4LmzTpLDhiUdB2K;(X>lng6rc7 z>9sh?+yIm6*VU3cNdV`hE&1dkRR*z!gH!7azV69*TS~C=2n9{K+=GR*3R82*19{yx zX$Q>?i}=#hsvxu;UVcvG$ERgAyc9$1FfC83SCb0I0izf;Lo3K#Wwq7f8CNV--A2 z)aA+gQwxaI(rL}@)}}I#LVn1YOW~s$kAB70O{rY}kcsK2hWM`5x(qLPX*Q4v{vcC8KHc1ULfIl5OgKR|ROt z-!X0Yz5X5|x6k6XPKF3%!x`EIxtFS(Tsjs-U{x1uQsVR?I9>+Rd}z)^*BaHnyD9T|9w1C(u3|zXZr%Ek``Ov|totM9wzL&uoT_Tk*B+KZUoHs@$E|rUq z-SZuc@4HuKITRJ~RF*op!96|#@ZlCGAoU0}F54>{W8!xa_ z=S&z#pJ|>!#9?~Z8znF7IBaNO*f&XkFtPDJt}XCEf)l`R)Hs7Aqm2~8`LVXP(8OVLygz~aAFz;!X~%O2As&9{{PPuXR@+ysMbWO0~ERP0ME9`DaIIC)f>&T_k(6zxWGgW`lNAwfeV75&7V8 zYU@Ro=<}@%P(Vo2n50^dCizC?H)6iP;lozwn;wz!f zE42rHNzP*m5&KGBcErU?JiFxLdt&8nUsJoaFZk$8h}fQ=Pe^uk!GDIQgLDp)eZ>cK zyFvwd$TWy#zty#huhbG2K6LES>jYZmH!Ix&8u+inP%&qE`T)qI!->)ZOxrHBRK7eU zT#Q1i9262N4Wk7_sdYMly^_4~ABk9SJ02=>yA^ZF=*HrWHI1>7_&De=#S~pa)hIrkAHo|PDxVd6LeV3fEUPjEU_$?o)JHYvD&r%|9q?OB9;IA zTEFzR|3WCXLd}Wa;YYhK{}c8fky@tcQOIYEb#VJCoOt2=xv9~b)mv8Ev&UF78kSa?2@>$jJY(n|KV z^8H+&D@6!<>+4_7#Yc?oXJdz14i~rVX5qHG()41R(ruQFqu{s-npWSx4H=ocK<{Ak zxyz!Jv;H0f+PJ(cEgoT;2N0oB85AQ?J@czT=-c7Z1+0Uzp7Xd7aI4t$Tx;ID48+B& zx;MKoo?cD*4O;%Fl0UMcU!PR0HROPc@!-}B>Phy$3P#+)b=e{?cy2^&Tr4=LKgzRW zFX{^Y&-ZyTgb5K-f)Yq)_8?4SYrwpFI;FN0^6AC^G?zx7e%m&eU9~9>h+qjFNpM^u zk;Cb-oPvL%`cZ&S+t!%Pi!s8qT1Tpi8JdALJQW)(Lxo!edmlv$A(1o9{M1q$=jeMq`zx(1UMd`Rap_{3#pKs)hfo-oIA*pUeAuGMTZD;^O%{ z-)onCyn=@Zao1Xs#Vm*^h$2z*aPElo$>ldJc{DRZC5V;+!c_TE()A5UU<-@ zsS9RPO9b0bse%(F0|YWh$T_C9-2gT35=={0K_WfDPoDD;#zb?NaB^rnRMYpO$$%#G zI8|*lO$2@;5B5QAUEO2rw&X|oASefihuBb zZUxl}S=I9^qU$_=_LT}Iz#TB@!46A>Fb`JONjOdl0d}jYBa1^m%7yf^_)#PZ9iyu&c73QRAIV1{xs1O% z`jr3sm7R)R%+x=&II$8ke5gV=Wk+nflYfI z61b-IlQm&I_0QS=6`u2VJ+Qf@xVS!#D_iMB0b9fO;Qc>WnEFNmszZN^pF@@;(gg%?cu@~BAxiE%ByAA+OMhL49Jk2C=QaDx83I~S z2x{6{Zd6YSfsY0za@y3OtLtc*$RN=p#{Tzn@!7Ry*7^M|Xg9U& z4#Lz@>^#;jsiV^kXE)16E;FP9aOMG242{X&t)ru{b0}&h5u5QK=qQw8Ie=5`A^EAL zU#t75CCDmrk(H@Ucm*x4U0O!L3T*aN*dR52TNMmUW01+1iQOKH3zXKE8h18TvH+SV;-`9{csN*R&po8i`+l8H@V{;ss`NU zg)R^;tlLvyKL#2qBD90a0vwqy2DyNU@4e*qhjFI;z)P2{ig8kGi!cw;fvM_z_u{(k zH;GQyUo{-QdNOXc)L#t*NVMSyi?>fc5$CclyYTnA__?Hh-lui)%4dHLss8*SQ*=+h zttHHLuIcINJJE*6VWKqY&2L_WRymKut0%{QeFN|+n_M84jFamtVrWCA--~XTW=K!D z2>>k{I^r?|deJc?vlbMldLxt!w1~)CxJwM;h$U5|*A~$Tkz&H#%_kRtZQ-{{%lXr~ zt`)Xw&7O;EnE^FCbF=?Gza5yTrn zItjj;`=C&3CaL5;IDSJ~Y8Iimq1*d6B!oW?%&1t1MK)0ifV&M2szvP(OnVJ0T@5JB zmF5S7rgZdABLVh0yp0H+AqC<`xcK1$u}Fmm`ymX~(g)(iotz&-tuM;{(HgC6S|2-R z5Voocj`z8A1u4n>`O2WXgJdiGA8$sh5P`fGxUVcgo#Ff^Y~P=F_{w@;>2l+0SOeUK zob`&Xc-eS^wHsubSkMn?ntxVJ2Y9Cdv6J2nKki)?xKsR~j!sKBSXnxef{CzI8#C;U z0G~lrq!>4eJVH`t$*1?uED*wTJbL- zZO0sB6j=;-+aX09cYo5_-Mc?Ti4R5Dzaw~Uv8htXd$95i|Bm$nNEd>1KZe!_BY0uE z;7iJ%zz#COu3QXdY|k-k`jP48LSU##arv8rk)6=8vI`12p2kn)vqE4mw+)B~s)ex+ zB!x{+Uw;85mTj6B>Q;94-bZJ*r?RmTUwguk1O_^@1!(BUfEr#ILy`74m96J6g=r2N z8y0Eq8*qVz9c)`fBZed#X{-KyK3s#?a8+Y)ztX`;hP}F6kmh!?k@wfzwqaXB|HJ}* zywHom%$?Fd-*=n?E2QZ;c)V>`x%52l(CWXCte;lJzc>of&EA|FiQ)iwGru9;^iFCpj<%v^m)boS%BiM)T+QN_3? zOo3dIxjR-wIWvb+V3+GUa2zjeOY(-e}ApXflQ;~|9vs9eD&YI zz_146mA&^uPoE0gP}Nby;g7tN9vFA4;$?S=|3oN$zn(uMjyVwPf`6Xb{vQuM8MFHI z-_0+4)c@A_JL_M8W-<>Hxv#b(;pX7gNI$UcKE}=50!S-YB(P)UCLfqM+T5q8#(=7* z`$4S1O9W@VIT&tf2S=XnL>-Kknx;;Ahq+oY98m#Y(D}D-U1}c2D;1; z8$MO)U8e5PirZ`TAOrliy;Urd$B#q@ozH*Jay5h^#jg@}1$J|q^|8P-#---6Xb^2n zfy7J?Zjy?yWM7}JTXN&7C?ZVe(lZ9p0uj+cXk|_)eG_Uss^mle3>utGyCj0>3$VXc z^P^yd5{(76p@FzD|54=Pr?4@XOKS)R1V(0p3&M97n^dodc!9U0FuFeQJRT7`ig;ki z6DniAn-Uk3{U^$w6rZ~Ob2)#1Uw_v{>R z=9fXhkt2|3`UujiLuGMJPZtw|1}_hA)jnu@uYlYl0f~kMbk9x?R<7N3>=p)KPb~PB zwct{Nz-qT}&cu<^tB{!cY*8b&0m*SF(waTw0^-9ZPzJEkkpPto?bb)W!O!HIYOkDy z^q@%8`!pZA8yG_>;=Rxt;BuGR3<*3T-w2sy5S^iv+3PJgktp5)YyH5iI8Sc4O3DC8 ze4lU!)-4W3(+8N*b|BC$9)pv4LrpV=OMEnGt`Xv$kXHe*KwxbW6KU!wgF8PY!h#3C zfqwY8!^t?=xi=a;F8~3_d#6@ZXrVo~@F>uWbKc=C04O)1Pd4p)Fl;Uj-u>d)e!S|~ zlpJ{mn_a7%)RviBz8qhu_Lut#IT|EYZ!uQRzGQpkRoM6KSOB>5do61FXEpsl?&yLy z_}6}2`46@C!`!EbG;pf;p(<4y<7p7P*|~3X!{|K9L9H$SQpx55=W;isdu!s8(fCl* zK}57!5kCnXlts(F_n&~c%10t)k)bc^^+R&yRkT{@ZB#jsa$_!FkkQ5Yc;0oW@Lfi@ z)A90UFS5RP{{5%cUuR(o;6B#HK#XZR9N`oNt0VIWZ-Y%XFsoYh2MP1Ou)@KtvCo{G z+}1f|4qM_TtfA(?71dd7Qp8R}{Jf-^yQf5!d++lT>IH8tgvB!I`W}o5lc;;i8&SDk z#~W40kbwQ0KOJCN%A{axmt>b7NTKfWMnp^bfk&QLMbwjkxjSU zL?ju}W%}|AMI$RB@Pc9hYnyc&| zr2ZJXijQA2nQ4_Q&jB%>3!D9H-^<3!YTQLx%(aKqMp`2mu&7 zb6OspXaZwvcr~!$9o&&~9C1}#MSS>=XG~!zLmo7*Z-%_DLkmm>2jjhA8A|)$FWafm&ci2$kZH6o>wLC}SpU z*lUmN3Swt8BMzuF3Z8aU>b(#OEI$`1fbI)Df30-@;(kwP+Tq-&u7o#|0{rmBU;kQr!a4QX~Cb(&XcV z0As9_48^%ijy$ateO`89T-x>k*YxSlAEQ034HF!zjQA3c;`ConD9`@Cb3DgIp2bJ* zBtxbos0FhC zhQIU?awlqTXT1UN@m3s1NP|?!M2sJ*u@jE;=)dG4x%Y73ET$XxF*vQlWN z2(*p4q0x12eENh9;+=5KWLs1_s(cL$uQ>|T!_5*nDcX3;#g7-`zi$Wl4DSd_$YV(d z45m6s*Rx}Netb&++_tt&yt1l&{v-g7#xipUXOH5P1I?PX^LMlC*{cGn;iL^xb~g^^ zV2%M?Ifis>*s%R$zC5Q|0~F2}Ukbjq17g3cR}G^3vqxU?2{+gcxD+A6(C3wD5P9Z< zE4|f6KH^f)*t=y?-<+=ode7)KD#Ttd2 z&k~G#e0-aU2mMsET}Qk0q-$3fK~i`ljuKo|Yu2&}s!$EgTDR`&=*Bio^jIM!ae>DJ zh9l;~6(@bFDz$Skb2MYj^wmBsC~bBxvr>JaSl>;W>~7a47;Slg)c@uTLhIu`;O> zV6%`mj#cF;#k~qX-Y6U4r~#N5V&lyY?FOI8hM676|?p)XtigF4YiekZWx7N}ghy~B9&6pM1<~5CHGM5b%0x-Zfx0xYW{GBK%|Qj-Lw~MYZyD7yTYtA&)ArUS~9oh{$AtQcBVW*Q*ow@ zn4$ntQ*DHtcwc#>v%_A2hX+v3}V+5ai?Got6_b1`l$=l4}^>eSw)9;Lsy!z?pg~xKT|(6GmR+67#>&! zOx7J*+rI($qyRv@RVK!OB4P6$?c9vWs5eME*x8>=X@$f9FL+OnHUMgl6&Mmtp(pw% zWXc1(Yg0`jx#hlnb$+Eb4rV>-hf4$Hq{O$4zFL<2 zDUyBU3IwpbHKn}xHX|A^ZE}|14)e;%^lM26*0f8|2wE^X+Z{ZMQ6Vo0}>o!=HaeLu*I&a;x{rbGbQg;;+q--2BTW#)$MsP?8IA=;dKpn4>;2wMw zv3TAOaQ)hcgY{6TB(!ur9q01SOnDi9E&HxczPl>`FQSBxa-P*owvP*EysfVIf#nxO zg5Zu~F-xn6Gp?%~zWsiBiuM-rpRxxd`0~&U3ivalSp^+;~)3dEquTRl#6SKbQI18v)hZXsJ~;6BsBB-9sZ#pI-<40>;N$j5DI|`CupsiVns_ zh5+?+wYw%`-+=PS*$0TN*47RIrNQ(Qy*M(Zcz~_LsH-D}GHez2?43e-7`AvUYySrVxAJT|u%;|ZAxL8AO&2m90wczY*AqzN( zC72tX;DifoH4%&E5~)LBrdtY;$&X!PD^MsJ%XgR<%Y)o%%{SUxW1XNv>6_qrnwPS{ ze^|%Il>s_I2POy&Y1E$6)Q^tP2I6qT4z-5puP5lscULJjL`9h8zX%Hng_$eGedSJh z%xbYWtS_AyNRN_ierNwICyIR}$6@Pb5R$=lG^Pv8D|LT@_kQb{dQfIP5a9ZkyEAt; zr_Brc)jUIn^BJNLWgGzTx}@m`1(E%!B?hgaobDog9jZKk0)9zt$Ww5yZFVFVY2`y= zXB(WjCx$nqsxPqKudp8q&-yiW>>a>O8xA=2bWl z6=Wt4e#YJs3&S)Xt>pW1DJ-P&4Dhan)k~iAXLdWvNlI^=0=An?l>)ki`z~24s4H$i zLUVS}WdXy;xBZesb~@pgIfXp^!*>oLbth)^cG-HmvElB`r~?-WFT&DZz|H4!7zk`Y z^$mT)ZXQhVf&Gva`iMxBw1H{94fL7f|fy6u8K~hq=?bJ>=iTU-E~O+M@rM zHT-i2Mg3tWKsm+cjL`Ma;~A==>t!`%kxtLVnF|SQ798et{V74QNyxT&0-7ohpu%b| zUZNH!0LkVd*QtONi_tAdxHPSgYA>QUYmL5B&R&a{eC)OXjP4Eqd`i!=F_BimY|{)l zAvYFgJBVdGpmBwd8A251-Xck&JwV90RJ#OoSo*7)@fkifE|S_ZL3#2PE{TS; zAuz)TG7iycd@Y{PDl-t-I(>ZaX>W2Zyu;3izI>jd3x7Jc{S+_F`vs8~^+T;Jt9LAZ z|LrsGE&#tIxi{C163a8#7Q zOZfy~h zJ~eKSB}D<86Z=Bq3lJyk@9(+V49|@?(d9Tg8-JD^ky+$q4}e{8&}^-f3mc#-UJ%tR z65<8>I4$e1B$jh0<*ua)AGmY+RymNGl07sI^-47ZgSc;Sf7cg&8=62KHS!4TI@KEP za<5_)HSy4G8k@YlYvk((F65%QoC*O`i`3*{H9ch%0Yi6$J}Yp8n8F0he6TE^5=ogM zP*oI%UZ{t8%%1MekeD#+v%#_m6lQ--d1w&bTZrL)lnHSr zJHQ~pm&}7)K6C~(Z_|Ms(EIZvIrtmuv%+C6NK>>EUeK9&NvWvajR;9OhPPLzwLc@c zXq!dPEnkg%j>WowhW4){rd`4r#+2p3YgO-S1QwPJC@{wa3de=NjCcoAFy7x^2iV6i zqA*rkCpyAc|EsUdFeu+#Y3L1iN$XKPP8`Ea11XkQ$dF;2&xhuRXHU99sStl7{53sS z&}!&E#dTj=Hwa$AU;vq}%eG4?H*R-xC7Gab_Fygtqm{>imGC`|Kh+)ws&>4(fjmkBgAc zf+*^;>{>fK5#=JFpmQFt8q_deKavj(@@fwUnqkbKTcm4Ub$vPir8l=+az{|G;CtZ; z&Nr*7roeq86X34mD@aNRO|IKDWDjB&NFc@4`1V=04S4gJUCojvQzRi7Sh2HY$PTRe zk?f$bn%!C+_mB5i*ywdTT1e^5@6eJ1CtnffZ0nk}ZIX28w^NoheLuK;jfYlm7=M#W zVE3l$S6O~y-_Aw)dyv~%H5E*%B@`*7@HT1;08#tI>RO3ARp+~86!R_zK-kUj)*(7s zFO;IswO#G)V8qp-5K1m2#vmAiD-^}>J5WYZ)K2N8MQjBqHMS`pv0{0RpKTC@Yy1hC z!yb((+92wfK7bZ01*%FY0_7GWQnFUWe*nmP+oysK{1~==AVzCq4-%EJHnDe5A2y>v zkne^mPS8}p>~p^9?Y2o1*nRPFGGIWITP6o#g0R1|G`gsxd3+AUc{rl^kx zT1PdWr-Hkd3uO?4p}G-PX<|jb$ET@|Po=PFS3PAQ^niP1z}xU#v<91yJ>#mRv#g%J zt=nZThCs55$P^ezmAO}M*6!n5w1u$qi!&oPsc@*ka%xC}s-q4g1RvsaSNeOsH$#A{ib+rHtJ|OT5=I+& zLT_gHC4St)iHZb={m9DQfRe`M_{%$WB!QLUZtmDv=dVkDy8~`c`VJcDalNJyVD#QJ zovaL75EP1@2V|%g1s?F*v#E8ISxe?qBe|F!x z-a3TS??i)oYIc$BbXfuS_zZuZA$Wok3z)hjz)+o!;wuGEykcWN(Qy*%p(h+#1*u}e z?7n-(N5%8yp>&z0A*O z(HYGtP85kP&MBfJIv^7U&Xg(8%877XO1~V?mQ91ke!8K=AcPI+RLu{86SoIu6H&Jx zAk}!)lnn6WU7D7Oz*CkBU;xdoZWQWfHe~i@PRSNjZ^MO6CVARlw~Xui zSWQ%nII~+lutzcL$w-vcP&7fs%(0wDhk{}}7)$Y#M?y=$1bRdBA&;SI5W@@^!k7WE zd1Hh2OoS!Tj=INXx9K>Ftr|;`gl4wfmR^PDf61~;)fxgv7iNPI@vgvoDepf9Hm5^a z(QwoO-YXA$3=LLPV%1Hyz-w``0P$kIDUj^vL0fxFiC1AOY_oh^{pS@YxRZ`}Wz?%b zxZ&`-9c*iV;3vQw*00v))OBp#tL2I@GtM}rjB>b8jHG6Nvnns-3B`x9k8B^&uB^Ba zN{;Id9nIxpW9qaWiP3pZp3MdHNX8`j5Y<0G=0>yAXP_lLMUNX*0q0DA1Pu`}1p`^t@j2=K@ehFBH*ZO*Gb_T2-4c=j6QKhcPEYv= zfvRy7FhRjj*Xw>ZglVOCIM8|FEOY~Ox#(I>adEX*6hMGoUy0ny#|?6Hc3qYmDd zwoSxaBPfvV2PTp&+7UiVcVW0sg$u!Wtrl>QHr+qG(iJWVHyWsb^22VOV4YNSY3)zr zCf?Vj+Y+-s8lEI;J3)@06Il}ICOrD&#DR+1VQ`zvQNx}qc$T6tn=1BEedTtn2PVGM z_=xn^C*A?U?4%-V?4-I}JXe*^NSZ~6eoln1>a!d4GVy{11p7G6B0a8J2NY04G*kNt zAh)Ut+zIu8o$&9T>Uw$-(i)w;zS9*5~sa#GhqO1&z7OWPZgWd9LO5~>I9z7XZ3;h10fw=I_DEg zx`QG&Dh_3X!yt@Y;>^$GCUMZzh?v9I@#5BL8QTJ<#k#^)=tnWp6|jgnb1fr1&L;@k zheZr6J%ad1CH93Dx(#U_wdy%wbvt8IPI`%kj;mT^c07x@n}$Z*_g}c$Q=f@%m4wh$ zNW{^mrMDcZN2t}_Ma`o(^814dd%pU1z8l(a0=I3eX2Q)17V%_E+;@q?A zV#$K9K=$hgX6w6Sq-quPF%>p=n>Q4S+|?!DKOlxd zW!v=Lmod^+s%KkGXI`Vt-!A9IO}|0AF3pFC$)V+E0~AI~p|{eAKK za<7A}4t{4O@clO~NOsSj!Vi}Goo)j$>0yKW`@HL%vU=41#mkwy;+bK94s|l(k_i)BQhe~IYV2>W{(zRu z8#_{9pw} zp7XK>%diQ1^@$}?b}J<4??~8eKd8uX;l+G9-ZZG_;Xsj0dhX3>}uFxOz4{iN2Uv`oaqdOw|U#>-Q3Y?vFB$j=_ zF$D8ml==_%q6~-5?rg34!o9npEc1^F7xSl$tkm-iSS4@vL0`EA@9NyMP@AyY% z@*PX~EpmT%^qpCGqCV-O16`fsg6}}P^0$@b#Vfbgw&}5r&g(O(R9|LZy?MdzqVM^c zpw7Sf_Ocf;xV3G8o~QPH|M#3UNeezl{hFWO2g!3^47eHu9!tuty1Z5xJudYu=mGK9 z2NIs+7Hz>#oR!62`DdSoITDWPc65Vx8}px5{DTC?&sR)6kFY?H_}(jWBzo$;_Mi$jg6=5^yUHdLCeEND{{3P8o2^mV2bYY+{qbp7 zNEtuvQIuF;_}n>7I{)u~@;2b}3qR(3n-eM&;qL?e;YpH;GP%?fn1Ad)a6xAsi1w4P z%I6=9E>Ok6d?$^;cXwma0%q3#^L2)`AhnwP`VBkv%?z2!7I@CoC;V-QD7f);(CIQObE{`PmaM8(I>3=fA9T7qTq^z44#s zmyjwaqxBz5i%i%-P+GtKFkOcTt8hQWTt>e0j4Px1Ox`lz|Ke-<5X|#qX{d?2a zsEU5KyJc5swk*(w=oEe?tFz(+F|6X+_GtP6$!nf@b3!()o@|~uW&Ep0zEX#LB+)18 zxq9l!g_{YM>gQ@?ZdHH!m@^#@sKJA7n~W#v+^3f}zyE*R7g&HL1O3rXi}c_tPL)HM zbVnBYFlcN4-80Pv8nRLnavMqG6vp>&Xl7A>^7hi*Kr)A+^fQ&_kI~M1Q)n@b5Dp<35K@&!?ef?g5f=GEe4ynf~D)IWjUn&craXa;f@+L(@aFKNx z6r$-{uqo87ofGT%E&q{$*N_i83`+LgE#`&gLG*O{ zk51-)A7GgU2$)sy%fz*`mzh@ozdWTy>U5e8s9cvB{@>s z7ZKT+FoX#USZ_A|#b=KR+($tAHfR(3`n z4qUhh7hDe7S$0Asz(v#y`HBd+J%l$W_P@BXRN~hV8lsb47=y&Gt>m2CBQwZo^V2j% zur?VeIXo7nY806Tm}!}>OO_l#E)Flarq14*W^hI=Nd;7^QfEn*}a~18PVl;HbR*AK%=0` z3p|@dlO@G-+c>lIf8Yv(U5AoXwSm{dFAR%zI`Ho$vs6~*&2DLTP+>4dF&?7ch54HrrEp5<%KW!J2%Ps0VpTF!lRa$ z4gVh*EA(1}>abo(t6p2p7Pf!0q#vw2^)QH*c%u2vGM^=}C|p^17+^q2i~rvw(H86I*=G|pLEDE%1I_RNdoz6RQ9?Gl@5*W2XZOT$RLKMbm`Zp<$= zD+p8-Z~9K=BTh0SEUUklkiRKni$3-cWnVU0p8gHKrTrL<&Vt)aUBLe~^xuCh><@_G zdc!yKp?0DFp2R{oD=ZEaTJ4^Q>56Z=4XqMr&P8YV546nmcFHV6tCUecJoCao?NOQg zs-H&5GF5BAwZsp<)t}Y|&dJN~d{wBgZCJ{6kBP$dmhKu4AP zglT@y;`dzCn3rMd-u$z0O%4?dc3o&*U>3?8XsqU!JLALrWgEgGVWC%S{uH9=A{v4IQ^F+#Eyl2e%S@uw)t?NY$YT4=f2|jsD-nVt%WLc6 z;|eoiP(ir#X|bOEVUZG<3&ivT%Ho!A`_5fr8CyC;B}wh$ z0p7A_TL7YKF98I@-CLejPXh4t>AgTKVz29ic2=QUE2Dcrt#c31oUy`{(Cyw(HUUWW z1dSr=wjtC?q62+&ZZPd)2jXq>7q~3{R$`AKO9nJGkUn|Cm_B}BmaiN>sM=m_o|964 zNV#N*{BCMwJbM6Ct@CHZNAOM%o0KP{AUTGg?T7izSJ14m1}CH?eV#MQbF1V5$QYe& zcyS7_h7>dRZPM8)Z=vmZ(`Lie)2B7dwgGReJB&7<@)Af>8dvF{wiy`eyT4rbAhCj} z;CZ9V<|g1Z>v9cu!~NpyOQ$|BQ&jc)XG`7w2Kj*B+RPIoF8mD5nHBO1`UN-Q_BGVK zOP+wK^H+Py4_yPE;OnUEE3Xcr0|C$Za+lR$0W>M;0A)rWKEa+R>w%nH!ROP>BthuO zBFSd|68^YtA1`bQbG%da!W-}-4c7{aQY(I9UCGV0`&Rz-MnRgeOCoF9|2p0dXb^q#n;It`Gs%cOy3O&5ER^yL;2f{?s1-zS>G3XmG^^Zdo>r)WmW z^V_}4&}8FVp@sdnT}g5+nOFVE{6JyE>$QCn*eSSxpg#$>H()5GFMqRK#2MWAYmHcd zecpr4;VRU#lSa+}Ze=zdDWHYX0k$oyJHq|vLR*ut+;f*<26dp?M=;RzsiV{C&zZd1 zTZbc~;n-)|lsgJT$yGbWFTQg61T)^WfvOXq24HWk zzK>@WD>@irP=|H_Y_tkS+T_bC72pPc{CM)h^`ty120zH6@i)a{| z;d=Hy{c2mBf!ZuC1raZK(yNA1SMk3AZ02`mnsc^%*nKwO7E%>I3HI7|IRkxQKI);` z>;RlB9;oq77&;78YXL8>GuZwf7%$ybYv1fb@cKUJ$7VU3ko;~B0@1E-^`Nu^e@hp1 zN+Hmu%QXR0N7R~TxMzU#8*q^216AaUvd{!;wU^IlY&+fFi!*rXIYY20huQuN-M@}f z6-2a<_1J0uUpQ7-cV5A@Y6g~wr#r(*$*9kyy*Aw#4H-!yu=P$7FG44U9Q2AaR9_Bf z#idRGgW<=v`1q8{GUwZvfT5b6m6J62|`r*igjXujd)%7aS8cgkvYPYI5ubc;J zv$ia9Huh{Erlp;UYv&aD0!LrQ6%h9#x8>J8JVpKQS2tJhTl&L0T4qm&dXR4b$lid4 z8`{^CU;ya)AvDBL3EKD`1#LsuRkz&Emn9!HW)=Xou3L0x)deB*HwE&0co*1YZ+PLShDUKhG44K?@53&+NlHMkOZ!$oP5j5(ai8@dj70bdq3>d^N;}Mxkk5JvPdr901%L zywD_ma>7;=E@cLE7BmCp^<72Bu@6W>15S@ceE`Ooieqob8hpkqM3lGkYae+l`c=K# zk8c^FA%ZpiYX}7>O*{~j5h&aV=*#lF2~__QSm zcEc47)G~X)D#F-*><^%wkuZAEmru}(XMDTAcIT8s%LXwe51bCE@4csk5b81}4A*(O zr&QAf2(_uU4O0+rysQMYu_(8&iYaGBX!TrEBV7|Pj2nZ7v^<#iv=Lg}wY#91E>AER zd(N}2;W`ine_%KKkYR}xXRtQ*@Y3mqD~O*UW|j+dmkTS@h?&2aoa((lcz_gyee`t{ z#;l%g85n~e#rhLGD|ogcEplot%_ZvLI+rs5t^@VgfRE+&c#wu+Hl?yJ%87Ye!G|p` zOZJ=11q35cl|FK&j8e9KN$d|j>s0Rh$9>?))DHhK0{t@Y6SQ(3#Q{ugne^yu74!G9 zZZ-~Rjy6VvhnXu1rrD}k6EHG8SP6kLI8p@71%%0I`T>w&q6x~JSYzG0q} zzO;q*AAKFYM>jafwwmUyNkSwP4U@y^Cl$^SNgXMn6W3wJ-jlRQZrwvYKso21w^9=I z6rztbdxuhVQAdhb4g+Fc!Gub^yi{*)1H;_d8KL)vIQn{(!#?8iuVmIJEN7dZww*_< zxuSsAB;eF-W%jTWy7&rOo(Eq5V6xxEZMkz0PIZC2KItYK%!wdg>_HG zJg*B?wC^};3Jh{pO(mUiTQc)8cZdyzCwMbC0z5+bm2xCW55_o+ z&#A%bALauxzzp0Xdx!|n=Fu+p(8e!z!>JXzM%wkGK)+CNpAte}tY(yXxi9W)g{uI+ zJy1MV==-m<^|R<`dmVi`HryT=Ed zm37Ap^@1&wbl(^mbjmkOjZ95yq4xFQtn|IHiHEv!rY0HrE)$NlFz{w<7jUVpl;o=t zB#U~xt^!8n3}}9?@i`ZC{IlcaK&aajpm8ugG8T!ok=r|U&O7wO4lM^0m}8I&w954z z4p$zGCpZknh=Rn_ruyL|LWqUXeY6#gSlSyCU?CP7jbTPTXzbo~diXR78BsLl2ltWe zct-3-WG@e)g&w*vYujQBAurNuXLPw3bzxCpj)o zZj&RlGV8+x<9stIRv!UKRKwH z`js>27M_? zUMj)kYAI^AeV;F z>!G!#(CAk%HQ76L^nhN@pcY8XUCC-h{)7A_8Id=(y;fE;L|XoBt^4Mcx|C-GHf zL9_1qkv6eTeBc#k0s1juy*Zrf`%AFvDDD=_RVLJY5;W#>fQeNsXsidn+zBH1LON{T zIRhh)Goo>xLG0cmsHMv#=4(K`XbvGLM^oCnUKF2($qWLq?ZfQ;bb6?9$ zY4UHn>b)MTy=+68NfJEOpP?<-i+HV6+0hsu#OHY|2GL~&jN3n*EFp*`2iYpU6d_*w z)@|(gyzw$;^?a|4|5=&8h}6QkY41(79lG#n?L5@TnU4M9y6-~)H+n=L5Wty;XjGst zQ^7Bwp{*Whlt3uJy5f=FX(|sbsM*B?DcdQe2f|^-b7D=CJG)$Q-h57}un9DCgY8JS@3Y`>46g6L?X0 zpkXs>?cy2Jw|Gx3M=fks5$$jOWzB3Y$)n zNpfT7f_Z^yfsos247?e#H_aw!x7oCZ6CP(98nwbGFP7tlxOG#7iVn%2yfIfwGl3hF zKxIIJudqg(8<+es$;4X&82?f{B2LNM3W2R@oJ)*4!>kl@*Jy)@ z<<45cHPX$2pU(xM0norBW9AhWN>bMfXc6=#o{pE)*>!+OAvCx_2%ePZw+sdNrqCNy z+$Gk@)%zLPitdhn5GepUyzL`)xp&scKAMcJPm$UNt@oo~^rd3T-|0IY(q^%_oIatKP z5(G`b@6F@WDDgnH`|QT#Gi+-nFhchIzKs%gLla90;_B`v7h0Q5C2I{48c4ucmZNGY zN-APE(;BFLrulSR&X@>0iC~t0qwL@^S^FltNxed%!*B{AN4$bRXfE`X=i4sxy(m!= z3SrBTkNP^04-&^S1}B7byXNdK)2?>e1YLja!vbKxW8h#i4Rr9f8`9>qiBGH1uh2Iw zJyM5kM61UnA-7@7_?;$1g^#729S;&i8#>UGqXM8}nkEo2Gq$N9rho>>_sgNQwnKBY zJ=SlJUegfV)^$K5q?n=!-Me>nJS8nXT3SHN_Hu$PicUgdv~0N@=Qd@o(pya!GtK+N zY80eCb?g}sI{@xZbMv;T8@f#n7CmEF&SiRs29ayJw7|~!FsE77h+$k%-{m)b(7(qF zWZ4Gon$Yl=QX;&UwS%u^z@NS(GZg2a4Q-A>9Qk?;>N-+UDBYuEfcX79{Uxl;;xx53 zKng+~+$%2~kd)tMql`;&VpTVw)hrJh#m)o2#{Etr3%@R{tyJgG1h75CCgpDer$z5b zzPe*Kko{fnlVwEKug@wxdx|7Al6lNKHQG4A7kxBma?BLQ3FbrV;8{c7Qq;7P#&qFMEDZ$ojaE0`^1hYcq~U2_q!L2B#hrvfQvl+s`YH`VK;0+WIt&>s+t%{AezYw;eX zT|tF!sN{Y?qmUA5*eEz+iMj~Q<1BGN?T2zn75Y)ZAM8iJH8KudJ~Re7r7a9>Yec-` z1}^_H#MFXC-GU!Q@G1^)ky&89)^CT4jQBZoB^-n0~Pt|oxr&_p<>OP_WG zxRrFkw`DLHOk3r1yoelEg+fWhMA$9Ddn*K}N44$R4{y`|P>kbN&q*iWt2*B+%$VqO z;PM+Q&at+w%6}9e=>l3-q5i;(7(?q2KlacH)bxy;0k(q&bV@lURf?R&6EcAK?m;q+x32OTcM5;SCDU9qc!LHI9@*l#{e@&6cPN~Dp$h&=5 z54-ny5F)eKj}HfrE2Jc})n7T}D0Mak$SGQ>5$M|?yQD)shKHMr<%d5*YEC;2U%6*; ztHbEqZM>y|eE6?iQHTZx%L0cYU#@-mTv z&A=4Xoo1JGFne8C<-U|epoWmMos2h3%47E8Q^i>u^m!LfK>THOdUzpV>92s1T{bA| zR3B1Yb$6PNr@&63?aD&a@;#b#3!4e}a>91Mk3y3$dk+5%Bk#D>a{2dzwQ+)t!c4{_ z%La;O(XCo_V~Ze^QbQrFKK^VeB8x*E)~Jmdb+5Z|)StxNkm9`Nd6x6rl}AH%nDkdh zCC2Hcx!ssA@hbxw-q-{4#<~WIhGC!|HhVQ&&gY3gq$!sWalR=esbtl1G#oVB3~UrR zP0`F?g}{`0la>R(N%YkvEv<(HOnDo7t%`~6RRVG!VfO4C`^89dSr9mcQzM*hSJ;N zWU%&uX{`+@n3Kje^=Bltc)c8##Z-N0gHS0RP7y}23uRAq8y7%IQ%gcRGqNU+PUQwf zo15L4HO$`=ZjtS-9af9H05mh&kM9ZJ6)J8agP;7ovDYeFD8gY?zws+@3pe`6*J^I{ zG9ZWrNC}eDZGctDx_aT^($Hd8T>W#7>(t%lEW2gb-TW?hw}tcK#RUhPbyEi0z#Vk_ zE$*pA`Vi2zXy=Jwt40cq*8$1ySQ?#12$LGfUdwW>jBMCE)IdQ)&*V63)AcCoic)$* zBXd-bmFJ?*HG%(i@ng;}jX1p!S3di%Crpd^3vyA`2!bo4X|~5{hDYzI#SD*Rwg+~n zk66^$eSL-4NaNDJ2IZs1a3D1h%kK9{$OW2xt>=7NOTU4^sOTWG-4uGdKQ$>4GVQ{H z#il@jKjb33fNKc6vRyGw8M6`Rtdo|!;zi&-t;*$j-#6z0nsUAz9TvC(*>SH1UJVTg z&SWFtMSbtvQjQ`*f!8l=j6+~3;uhSk&{hx85SVyN;3#Gl&!Mvh74lB|xd)go5ybpZ z08Z_J0G5CM%4R%bmuu$>~u~i6pt~)n9;-`yP-DM&0N;YX8XQ#9>lHyUibV)rayc z&P)xbd2SYoZ}bIUj~%f;T6Wt@aVcnNdnH-4IBpf>Y6qVgD8-J+T`AT&fJBO#Cp}JXqD<=r(0()7X>#E-K>{Q;L2KZitU;Gk2X~X$V&uk1*zRLc+FhMAh?(+P4k=VhGZErDwZgYULpc@RnX5nMCB!c>d)3IoohTp_k`l>uIkv@!OK( z8Ib&}7t;oAEQQi;QUCI zwkdwwcJFFqVAr{7pnYxPWt@*7{}>P$MOzf72w3;GWEOww zkDvseb+mwF(>-9l{3x=Uxb_>BQ-4Nn(a^>%U%+|b)5FWuewVg#USXk#A{g-rc)wQg zqg^?BO=g0Kg*7d1QD?|;BpjpFG+{5@wA;HzkbFbQ@U?wg`gTt!X>Txr%-B6d_PEQc zMQ;B!Der+!(nd&p%vNAOitM!tlgVanL=5dTzb^fF1%%Y9i8?31;p3*-3xp#iRP^qb zT?13*-0ezh1decWuL4SJ9*v=EM=!!`Az1-3I9y7fs(K9sKf6U@RAAJ2Q8O~$l=1UI zye*z~O9jKH1VhOf%3zfAJw#-y!1o(WD?stAmtzsL+49KVWLoBhkb3l{-@}L6$AFD* zVyEg3XI|cm)^l4q{lfzA3b&B+*AG$Da2wZ^8OG8FDQ$2w>ypC$xHnrTau0NU2UT>Q zcUvYedrH_;YX1;Sz0O9t2Cny9$$o5pS1Nf|mINxp8eT+4_l49Y_kVMr^de zm}1KX3I`QrjzY?!ii2dg6!ENl0!ODACZD=uY7jk;n~g20Yvn`^vUm^%3pW(pS;LMf zYq5-C^E9FCS}G__CJrT;m#9pr_JVIjVx$oi{?#NRMU$ZS*uh<0FFQ3n8#p?znL@HL z7vdHc7!~|1=i{kT6_?*Ou7y9fpwfh)It1dM&GQ6)$Qwl4`VVF4neTu}rm8HcF9&Me zjD`%!$$+{bj?|L|ut0Ejbh4hCfZrIinL*`$pgK>nTEny_Rd5=A%R2yRJUelsV)AiK%M;TKnuv>13Uy{)y_@H8P3R&MihB>bNlTM9!e9@D9LqYVrNPoFh2aj zU}%Q2)LzY?b(*piLfNZV{Vx>i@oJ^rcVxJt3d0rDl<;dZMD9uq?Z96YaZMOt_kPQ=9gziY9Y8epUilmk(?(|m1 z7I$m_7JpM+ZGC+Gd&KdNrivgYImWYSdUqe9{sU`WQ&z7Yajo0{Yp<%0>Sk=-Dr#Bv z-ZhBwUlfw)R3ghn!AoLHHNf#yt*T~l8&NeLb4ln;2Y;miMua!3HH<0gTBAF`;axSt zcQ_N~lO}-*5xLb5UBc{r9>N7H4EMPeuxWnenuhKaBF{ zj-c%V7*UB2nTVF_C%AiO8)wWQtE7#&{aKXvN&=x1O2y-of%CoqLX+w;N$+FGZu$eu z_~G#vN-%z78!k6+1XVi_GchV~BF=1@Wvr_=8c*aRj=ws{&kQM)`1(P{+hrKj9|Ewo z!)hmdfB`?p>v%GcM(?$5#4-)mG-XHEU?$@I1=YgX&2t{2Fb|g}-(WCT0f2lqk?rv2 ziuSfWpV4(2i!@R@NgT^VbgtbF_2oa}a(&z2M3F?5Z&r(sr~9DDkaeuisHou%$PgNt zpbI3f2Lvxnf;0WhIN))RqZ=Y|6{{gt-gh*hlDPWWaRyA56uu-ruDRwV%e=c1vR9qw z163vUv~9A@ALBjt#-*O&2I<8ck^9}@ShJLjPwW_vI-l<|ZicAtP)@OKOnPcS+KW$N z_Z~s%eygu2Pg;Ct+<_O2(&qKWjx{Dq=&{$BXJc(C5@-_90U; zpe7A>rheDajgY{K&1kwSo0%eA4`)=cQoO5dpCM`ium`t9%iwy%w_e97am02{umx`6J}STg6qhSvdh5XqKsYHPa6x=Z zST_e|`bgtD|-m%Zx=zAvT<&2^QvXB!7{|Fw|PGaE89Ege#x;=Fu# zY`?-Y;;^qrDw<-ZmQ`04;;1&ztBL2=qWy*(b~AVV+PYHm3lalc$9N0Fnf`shMdZ%r z0%U)w_KhFvYaK<@y@6U%UOK?#n|Z_ZSV#fX-mRwqqH~@S-)2GeZHpf})z00*=^y6n z$H3!|hsYKC7?UN?LAGzDRa)$v&AJ}u@iLq$lOVy*c7~F=a6;tpRrb5w2JE;&hWen8 zpV&BwSq_G!Vw68M|Ia)|A`6r=tS>p zI7${ng-t{nR9Lt_ibx6b!Tx&twb{7C$V}kvm#mViaKm*4Cn!8YsEMt|({)d08+){JDP7*T9geRSt zRKs=^<-#T3yx8UPVGhuls%I+eRiMbH19vZ4sn)KPqdwBL5~cG4*M7k&B7=*{cqD(m zg!6lR#A=?~9Og`i>8m|nqz=^qvIJ;e{T$nh;Ybopm_mLFZl8uD4^tx6v7@$MmTB|# z#Dj6WUzP$pyvvc!nmo?i6!8Z+4AzQ6+73K5j`0OJ&^Q_} z^Q__q_=jv&H8m$hk{h7LeReRR9#vQ5wpQ4{eg<3CL^obuNU7 zsqro_++(aMm)}@OEyJp}FJ%NZJFfG`7R#$DUx8ASNo%4*xf!xx_b_2b8KNlZoip)Uh6+(}38`3gyZL_@_`=8rk{xGc`HvqLdYf_5?DH{PtJ;7Q2nE&q9sJjjXaQHO+9aAe?8y@RR z5@E*4rIcn8UILBmBXA4`MM>?JPH63ebY0bC<>i-?1YNS7*pc|?nh;)i1r-E1!cy)L z{6he(G+I-YU3q^n#EAUHb4-%Zrvw)dp~p8laFus~o^+rG!N7T0uOmV9uMvEX6|AL~YZ6>MD>O}kcX%(;sg&%G zXHHb~ocG^Z1_7q%=$GF&KSVukjZiaoQ84P1SAfPER_XTGy>>3+hKJ`5*O zmkdb5CzeDsBWj;01B@c(P@*B(E=8 z(S8paffk?)gOVO!6L2^InYq3XTvZQSJG=}^Rm@5U<hd!y(9P_vO<-+&On1!$nmoY z;Do&84ekjt;I0OqgmkZkIwZC8Cd4X>PspBe;LKgQO-drhs4D?v^ z$1sjr z3A^W@+QrYE#Q);JH6Y-!Q?B1)FxTD<#8{OJn_r!`?%YRh-f@Vr+$y=}#%s%rS5OKb zamg*CRJKxl+vsqg5DPw`r4^0EI^CNyHJRlrc9%yO8bqYfWRIq?Gbeb~0{~3vbkB-y zUwsS1H)1DjP~j^B&aLejXQ>qKz76P&g41$a)`Q=?bP!54-T%JEmRK~G5rBHk^j{GU37=VkjpuT-${zpRd(`87 z2V;sjO1tGrAz#wVR`hvh_1VeNVA%b<$+ljDl;A5OkrfCXMey6-((rqA304x79=%3d zuzsEI^b#jsFh@dRxQYGQ!(vqriJI~JRW&9so?*CXQfu@L3tO*oxZ3-ms+i^+z~%DP z)byVYX74TGuQBtKn#xg)Qo&|9x6ixfTP?!hW1P%7H&-gKMs>pA0E@K@h_ z&yalwF=V3wkj+oLPwLO{HMiLGTXFRoc1lz@kl)<1`)i8qyDiQgLz%&Xrc;~$kG1O# zq`H0k5k-3tQ7EOdD_Mop5Dk%3B2gMjsA$+uJuPH3lobh4W+kJHr$WOfB%>%ZWN+T< zI?FktdiuS;_x;23Je>3W-uHE1_ccDB&sEXA@oPyEz{WTvI#j*u73RLe)D5+=t9;C} zmW9E@N!Jg9hY@Gv-nP3>2|(sB1XW$@Q6|o1iB8*Vyd~SjMGgS)B^B!Vp zJ=uE3#M{vS5h zLrB>?6r1*P_?zIr`uDMGFCW$5X}K%uhfye-Ile5_V*8U;D;tf}MM!zU9`|?3j5qhf zZMos5jqAmcN@*Kdevg75J7)ktE2o9|@EBE8`UU^Zwx+B@E18j_Mjl+QOKAU}pVMMG z7)hC-A4PNq#s@U~uiL7j10NYwrbDDuK^nPEjO@hI`e$@rVia#c`!(WOsAMJ^-=lVp zVe|=Y>Ir2D=nJ1zH}flTg6b{Mw6JN3r-{zNw4aQTN?$*imCc% z_O?5bq5B|{z@eANs&)!LN!y2fR6xr3MMhhLoj(8Eb#UyTSsdV0{+Pz!01~8rxHsc@2 z>?xWI&8OFyG8LsW_QOo%DjZx2HKfFQdKbqLH7B#VP~AGk1CZCLb^_w}{uSD@khUwt z2r+}xzqT>Lq=S$9ajebZ8{Z_L+>5l6C*CMMQKpshc(eotG{zTY+&0%&ro%F&yqFZn zD4sr2Xfoph0rI@ME&7g7)KB`-1W<}g2YV*W!V`;ggGW7GPvD!fFP)&bXu@39*Hkm2 z{td%6&zF!q^zJ5>c;*07wwYI`p(5FSFU)$0u5wu|{qzy(yn?8w0ja7^{RqlN_?*S6 zjcLs`hE1vk4Mti?&|(3dEQ`gxpgm+E1~aBdR3Qe?heaULGzFN049s($LXWqtfc|Yh z0DYySM!PBKJRQzE#+ONA4vP_Jfu((*DU7HXyy{lG8u(>wl#e zLYO`qN^GRkAr>9qET(-4(}D8Gkf^mL8Lyhpt{Wyb-h)A;zVInD(4{8&XytV4&Fe|q`~rU~UrW|3xYwRm?vihNK6O*L*zM-M>V`)Hg!gw^hbAmLzt z<@;`XeU+Q}4FDKe+MgG#>G=&n$c{1Jc%a_b*|YCG0$1bUbE^;zgHtad;4hqUw(!Y7 z&id)sa9mn2%)*-aWsc!Cn2Co2k1zE=7G#6x4{Y;(Z52gaX6ZEt0^Z*Z7RdcVP;Lwym~*jFExj}y5NzzLPXpxU#L6m3WnH7NYR+SLQ|2-9Fn zZ0bvq*{S&w^Ba!5f%Qbi3@+ohF-N9!*y@PXD3Vy!*rkTfCJ90F#V1>BAaRfS5EL=P zRm-yz2Vv&t(-gyO%cP!6vov5lXerswJCVY4vbXMmil3q_PsvW|g6e^+E%j%#*{IKu zAxOw>5uEv-lui9Vu^nt}M_48H`CoZKR~jh)SEk$6uAkc282+{U!Ck9kq`a5C(Ij!m zd1clWgpBf?`%Ii;_Lij|?BhcOGOeIrrUz(eH}>+51|1lEcmT4xKcXPd8@or~3{bbu8US1&&$7T>uw!puv%B2S>sug@)8 z)w*a1Hh3jM@MVGhz@?pM6Y&LSZM9`9CGUUh*H>Dz&~N42)~TYxl(S28;gX~>W6^_6 z-U-+Fx^FUa0I?MKjiLt0#g2{7EKH$tT@V7kjiXc#HfK zeW;h>`NIxCiW~XliWWLa4L-8Pq27S_TLZ9}h)dRwZo$kdPWF#5c`p(g+}L+|QXE`` z^u~h$wlQr8XGCg3jLzzsJ5XLbg6%eFNbJXAJx+Fj-<_+GGP z^X1@y$9CoisFsS27Dr*=mmrU6 zGgO*LczC>Op<}{_V6&6hOkEDpLRkRm+*dqlmlwFH1^Nt%cd^HR^06kgq_B&yIq3R_ z$~b7Q8v?jcIX=b}Xzk$3jLSeD@!(6Fpw^~ymL~z_(E`U_2@AVng)T!qenZP<)tdW2 zum15BLmbx)#av~frXyi7St}zPpbd5nXOIWf>8xmSUS?=)y6U6d_vrLApcUqx=n>KH+3X(T_qKhm@#&#c5lEm! zqye||aqU+MJ?qY+uX4}c`|9Eut=4h`fx1iZg(Qp39?F)jn)0@_W9d8E<-{^W!*4RR z7I2uodlA9kiQT60tM1{aHMIxc$CAXUYXdN7t4-6M13{a-ddk+}KPP#P5g8om{=#sl zZK2!Sbbu(f&U@P`SBQ6HF}&ClS^acu)p@!NfTBl1+8)Det196(x`rIXXjH)|d2|sN zTmh<4$sh|9U_UhYq52%WJyym|q`z3q5jb9-K+gQmBe0I=-1Ccrv8(Y1*UhmEVxkt#P!-Y zx7oCwe|yim4U`+O!E6ZdwGio|tay*D!B9$v5p#iscQ0-|lMHi+AIqk@SA!ovW~793 zmVqPe3`5JMpYDcRY%x%+r>6o;agJKeJFbNVk?;%_LhYgwXcQKfgUj2zg z&ILTwlcJLRbEuU9&E-AM7tc<|4hxEa7@LT3k_PiG`qA5fg>u8vxRV`f%5pb?uyY-- zcYt(<1D!2=m+l&UAd|bZcYc@#ByvMUz37N#)!lkq+cALfm4!q*==v?|ecB!koncOi zsUgWIRU^%-V(aJe4!HXS^hi^0<9I&VuWsuBbR+dtCOizfTsW=zQedx*CpxA%o>wZK z4ncTW?si8B%K4;TX#EorBkEAezDpRt9z*KSuCciG_&L0@EMG|3EPd7#^TRluoSwG%oFRn^=HETNM zU9w`2!i}ni)khw80IFQ4LaGQQYUUxeFFYH=db#VVkGP&d55e})2dXQHu`<8NK3iym z5HP=xyb=xb?stOCB8tRQ8<^I6x{>ApSjPGc%?2g(;$hG;h;f;l4jk59k76IVu{U>I z?Q7h0AltI_5UZzw-?#b}!25^pdDI1TefN_|&9==V`xZt)6C)jXY>#4Ntg>Q0G`|J3 zWfjQ$9Pda9o{z{aP)ZrkbGOK5?Mo8FK1uZ6QTx-w9vYUW)`n>%#Vt=(hpUgKd<~+) zl_Lv!n-@`~-!zA=9b4?Ev6NwPH4YQ8h2rwHs{dI#cK4_5SAx=a3k07_kyL)E^VzOe z?{C<%)9KpkQw}Gmq+@8ykrnL#%IBi#bhA2O#Ne1S*7!-FW9M6kj9` zBt^hS;)La_2xUC-(xoR}=_KmBQADEaE~oq8Lolq#MkzZP@P0q->=aonXlPn@T+o-Fv8M93>x zhJwGbCE`w$1x;{qxJAi3XbbpL+2SS$aTPb*a7Et68#8VtP!w7CzT>1ms5+c1Ir`v( zOia8_h5y~FFwt_wT5C9h5dfjVTZOmxaBDBLuz5-z=Rq$7akHMOB_{znw^7Kmh^Ky% zr}Lc(ale{lq+mjBTg*NMC1|&AufP_U6Y&0nte^?jT%L%xn|pKhvw?uWjRGeG8-E-X*{f-^;*-xAm40e?h_@_TDKkQDWG3xDgO zNqPr8Js4SHED3QA-!P{ne8g{H$gSOs`TUgo!p>$&%ItY9f)K~8r?efG&c!(l72X^BB9&63DJj9e=s>jDim4 znlkMD<}WcgIQ&nfRU1(QGg!cO@IW`3SBSbt_91}2BfoeCHidxak0A)?R20m+S`{-* zFEHo%*=Ce&IhX=F4wP+cn{avRZN=qgw3zp{pe=k z50Iowg;rMK0jatZUoLW`L1%5Z>{PxrvaO59W4?mmDpyRTAFDf!&q%)r;L=s4B*GSg z?Jo@&*ZSvivWAU5#7^-3KqRhch(zk9bL zaIIuvvM>n%F3nj3^xnw0$PkM!u3IblARaZjh-yISonx%#;1WHZ(LF+6082b2pw$bzY-hH2w z=bLIzVVV^@;ovOJg%@%bPT;U{kmU?l)DTtV(%{@|sX8-P@*n4a6r-l6Rtg{ZHnYh1 zqQB9->|F~E=1qvuAp|cHn0n#sy0rpA8{RJNYEi1@Yl?3>k(F4}pM50!yLBh@{@Mq= z&%ScKLJl78jpkq})tXT4K?I_`_$FqyERjDJLcZ2+#Qx*-7+&e)OJn6|tIQqju%B)R zq@FsQ@3~}WBdu=G&Js4VRQgpyfC5mZRRGy!TQwsN_-5i(iNK#3s^aJhy6g5oq5+Z!hd ziI~}I0&CU8c_#>|aWHCK>XL4$-tt^{zSZBOR8@`?-4fZI25wtF0kAAf3_m_T6x7x( z*x?OW75T=tV*8;1ktPL*-rOBOi118|!@;-*UjDM{Om;xJ6R5vI06zRS9gvnc|M?+AI>GhGnM`9MB57y!T3%aCTLIzYc16dKvR^ z(gJQ7$hXu_=O1d}-(9*nwOU=FLreJ+feX}ab_cHO(0Vb1#5I&zm?jmNKJfO&l60sr z>gEoD5?)}Xl_VFIgVsPe#;G?Q@Pv*HU)!DZ`vU^RICJ5x!{%{3(gp zz<>@UPpDqZL>$?>S$K^jR$=oy>s+LKW7RDrBW8G7W?+_m%yX{ui#5O^NW^|g8 zdY21oFjV!ist@Hftj_l12fWx8W$(%KK|;aa6zV?`Mxo8QW_7cfI3s?A060Y zu$U?=?|cX6%()+T^^T0$K0nqUh*x$!&q?rssZKmHVC&jzvzOLDh=Wmu24ealknuCf+5iGi>STsbA5MF+UbVE z(}|)AH4q*K1%xL9Kkw_3mP|9dC&}Wk5@hW9yRn2NT<*H8FKo{fM5yu<`b=PG5fNC% zlNZeYBr8XTOw*Gm=A?g?EMYFB!4Ba>qFZa_;VWYR@3^i5+MlAD9-!Y5 zS{fO9L(AU|BD7r`PyL|Ki;l27VS4cySn)K3@i^MOt$X+=;-U8afLGN{S{ipJH5I|4 z#4kPo#g>y$(pEWp8G1*LN|*Td1Lx-&|KN|y<0IUA#r2cck}5vCm-(9SdsY?iZ89IPwHh*^32hV2~D6<RZ{PdCo(Hlm@h)E_ zd%M7wJq1yam#0}n{AVE_QgubpI^?>pm2{&vRt$$qLQ-yq4J z|18yWURz*rd-#ecxdps&7_2$v&Sb>MiUR=zuRzV{+gb&89b@`>gFD(YzaQ~AxiR%l zyI9qe!g;?}Q&sAO!YnCPe44*ar12Y603>X!ZG?lH6K+e1 zAL_w+R^7+oh6oj}Dv7~Li3Dk7E7Q91v+~Th@C&#-4i@~T#!qm2u_GyKEvlrw4Qi85 zJYydb8g4V?%c92p-a@moQ6K0Nemn$nV$xrGG~GL~D5q-pTw)Mg zd*@jvZ`89uF65JP_XM_4lM+e(WHOql=axb6)8PY)L(MR=M z&PI`4VIgsRZ&Lw7y|Z^?Uxax-&~cqm6g3zA7h}0KON<`YjUgn(3)HVA{A;7IhSi$l zgCR@VLl{Y+7O-bxr`k5Gw9yKpmV;fj=aEiTTR0rb!ahwWt70x`New}5MNYG&6S(U8 zjOUg{$|TmQ1uZ{%+{^I9ePQeQpuOlmY2f*@;D&=_+oAdE5W}NSaAbI`_ornNh;@!8e@i5uxRjMLBtSv(QzJpS~t4paCSYE1?IZ z8MZGmAt13W05Th>OjQEu=nD31PBz8Yq=9Z3zux38*c}Re(~CJm6-Z?|LU`_x#*zBN zDFb%Cs~aHz@z?T<6Sg%5IqmO9UHi(LJGNa#Qj96o?MMka$k~P7S(a%JnR6;i8EPll zSYk_;~07mVqGc&WO%E!2cW zGL-=BhBbVvHBTbi5XgKI6>nE;_C8niyqpsTK5TsuB)A7WgF;Z-v3}K_Bbi=1-D|KQ z2D)fZk6rBfQ2aoyUM#P-1zh#1tg(V%lqAVR6$H zKn~Z64+Qv3|%5 zkD#<@(97n6*yQ+2=8;PsHJNO;Pf2D=HZRlqJ_NW2S%m+SbojH}MM+vl7>6}OQ~rHw zm2Z`mHQsEg-4&yANH|NLT9z>ihKF(x8ZHvn+Hi=SuyIK`EjcOs58!kGF)x6%LL{S_=nR9={C=dvy`53zgu3-`;7hz+1kZ_8twZ=pRkVlOvLT8w4WMn z$4KTy3HuVC89*}?)?ZCd-d1r)u44EwJW(lkmS{;TRlBB4puH9TFv16oe6xZFDIiu; z34ny9W~Pt^w;=P%rjayqfo%r2qeIfjms6Oe6>E^hH@jryR2L0BI+)cAZbKp}k<6R& zVj}+Ev3@?I^Y(=)E9W`no9-g87{EP`W5_!n(v>p4P|ByNaIiJWjxowJ2!ZXyQyT zVa*^7LZt1;`WYIMN-Uy!4PdB~vR6>`mC5By$L_%zhEL2%|Mcm4U10n%QVdgo* z0>V;UtC$kAFOCAPt{D2@2`A;P*>l zpn;o|Iy^p&kT|IrN61iLAAg|R0_uPHDMg~~CsBtTHtANFM0`KpaHoec1wl8HG{WsFCLIW1MEPDC*&?)qNZh{z!(Guq47v8_TUu5{9TW7gl zqT1o_7lHB{v}-D-7z4__o{#jbz59y|=F`6f*vW6MIjSYWjzrbL{V!7{$aRPQsb)?Y z^_}S+2bO#E{d`G;3eEK6fs82of>?*LzddCHwOPV0N#tz?6T9VX)~L${uPaRE#4AbHM>^HzOV%=Z4Zq!xjm-8eODC`7eK9Kq)!6(PbHI%!VQcjChd$ zVt_QS49;Xb)IybnGvLG{&44J%@(;y*fpx4Wy12NgrlX5U=Qd5v!zXl$b+Dj4 z>0CJQ*|qx};UkFklkSY1GyLBdS}GQ9-DqFjY+nWYAQWu87EU&JwswinIQ@>!;QyPOhQF=Xgiq8{oa0U5 zO7QGX$r^UrB=5zTkNozmy-|iw6j#@rMtLxT7)!=T{UHX+`Q2LhU&TUn%PTHwSe|p7 zxplOthtX&LB94IU;(X6Nqg8|o^9Y@SWt-JNV8 z$=pl52&kL&N4}1{o%QOlq5}%ESJUxX{Bv2qkDN*K=Qf|Q4nA>?>vo14xnNsL27@jA z2S<<-#?F}`({SUqH@(BlTqZzE7YVmmcE!Y~$ix2@&fn=(C`I}ze;(#)+M%cXz@rTv z<)w}bJH1Oa<$JFL(3o13{e7cvkOSW~-D|T7qwQ;$F?Wt+a{Za5rKqy-+&8dW#C~n$ zspnarBK}v_;QSbDZ2JWD_j1%7r>yONJWjOL39*NJs$~-XkAL=-Bi*{d z7Wl+Hio5Pzk}z2GKl%~!OA?jXmfjhPp6o|3wW0vMdk zRoaWQ*(G6QG~J0Ez6BYV`ZvqcgZEss=VlThLy%LFVYb3wt?COQe}lnQEXkxTBV;i@ z{@Z8~;UDPMQhq>SJ3TuSG*j`P4UV&f(bWh^R#0#?#qNgg!uh0b*oV?v@uWW-Hjv>% zVLJ&j)(!F`U(x%$mNo@)7%0HK3fB1kMw1293+6XPNQ&qEg~Kg)0%z6APQH`cc{5tX zWIfUo{HOch%@aN`gD*suW?dgq8N64H>%E$VjWg5xtAL)?rh>X5X`^zxv|D-8|``ah&jp zBC^nWc5`z0Nl)M}K9T5-_f@EW3v6vjq66n&Z9T)*5tn26c0#QO+_MDp$*MG#ImI_n zw~lJB@QuH5RXpp#vJBTOd5$+XWP(u=BW;$kA&Dnq*yWFAvu}36Cq8rCMINCbX~87; zzrHuz^{j1?x(835$?Qp=vtI5on-~jeV{7#Y^yOZBn%}%G^-*ZXuyK*Uf!zk13Dknd z#w{uG!*50U^*{G@Bx7=Z1{X-~oLD}p?a^>Kv@GWj3I}+>QvASF0Z2=j_^yl5GN=Eg zP=r_i*Jb_&irF>7oYY4gNBlC0n?5upu4Vr&6TdhQ;65D6%R`pS&lJ#*VU}j}xa7_@ z@e*CvLF)JnUb^(jfzZer24Tiw*g)?EFX+wkzQa$%w?98(#4nTKWF`5!({B~G9@C@0 z4~XsygCS_ei%|m!vg`L{{&kO!eC~dB*l=q7%V$GHu4~Cbd-{hI$YEpd{BL!0>LwA! zPnr@9mN2_y1@&K1!Z67VOyp9`8-3h1LBgJ*0vPY<5D_+LapP>LRvM{i*s&K}a8RH-TqLWcxj0;Ce}2+14y~p30Nv=!e=mmb6JpK8 z8|Ih-qg!A7n_}(X)s+I+t9QxS(D;{5-re8!(%Rpzi_jzEG@J7Fgc#P0VK3p&j#cr0 z*UxbuM;v4=9XslV_ryURP(OHh1|hXL@p%I~0sYMEZE9@#We`pV?<_=;0QC^rXH?HWuCU zI8Y_I0I7NHMn%J`MY^2ox20Snoy&2=OVC=Y&~SZ!m=wkl2H1)jCq<5R)yAmG0+vPb zfiEI$yGp6gOkJB}f(B$c9JlB25~Y4oHsps-F<@yQqb+cHNfb~ja87k4=*_#XpROQ< z`=`A9rYmqh7nZ}Qn>0{Kc!4CdyR{*&ugyX=GxNa3jnv$LlT7hvuXf}lTq66DN z2ru?lS0`XY6;Lkr)DTGJF3j5tpV*62mRk@9Zew4Ta2j!!H=8(9`FjI<-p!wIvK1hV zX+wh*L(f%QfU@xTs|)}oRc$9Mza>uFgH;>|1`^eM7M9JK7n>oW^E4#8Pw>Tl*|Chk z|1zuu-y$CJ!ZR^n6E_&5eH!@(atM<1h8c(;SCadlCp(dbKLLKT``zxOS%^+^J>Q|` zEu9J=WW&M!o)(yE(b|`yvhqt=3`DK>FwgMD6Z+ znWK4uaiH2N*l4CP*;(@e2uwVDnhYpf5gZ82Czm&oeNnQUdG&^RbDRc_(uUhhd=F8d znI&OzhVSZF>m9BQ?MGrk1Kw(8&R9egExZj@ab(iyi5jb!R#M|H>Ib6t^1sTW+0ykK zkY`8|HEb-2S-<&iuRZc=U@X`YP4{#57x)3`rrLn`^MTWk;%-;_08%qlR*Cb|?$UV| zoUjwoR{^lDEs+<>UZVC2Q2x&09N`P|18C$0C~)fN>KeYizIc3=N3WR9Q==3+`GZ0N z!`hzYt)s-2+=7@ov6$_l-U-BN4mU5x`;#2C+p^P~aP$)TcyZeob;w%K6 z)~VKbU7YDotpxyDr#@F=70~f2u7HCS^X;?>JdMmVq-_Z|!OSE@975)$6mAaKuyjDK z>Etfa13MGN!6|&oJ;-jh{H_9&K`6nVmY9#E-oOKcQfBfvHWtToX(h;%lA!ke0GhOP zwGHf<24pgnywxkoMurBrOhl`aEeU@H=(UZ#4(AIhXxk(y&%E+T*1Yz0VDob=^yjk| z+;>nIHQ<5}Kx;6ZnD#N&mlm@^Rjrfx%m{yjmHz#ltPx;m+HoiLr#jnr9-Z)R2n7#tM&S zByC1#EA|EIzLL+otC>3hutMQ9Kd?5`o=63#;f#vj!r09XWuVeQIy~L!O8atUJ_ac) zj&$Tj;5hjWk1fn8DdE|2TYP?dY3NX8s?)?WeW-aK6E-+SwHk^$Al*_2#ULPWNEew$ z=OZp~<=ptms0_Z(QUvA|PQlhXF2H&2L1iZ@L2x$eNpyl(b$6_NUn~L?6Qof`WVi6F zNF$p@(l~d7ZAbbh4vKI_`oRF><-jN?;+65^RGt|+V^DvnL*Ed+%V(Kn4a(3bchH|3JzpH6SZV%6m1Ol)z%N&Tu== zxCm0wDY3}|jY}N^gws)Vh4U@U5mwq2v3Jj1V*sOpe7y5Mr{ed%(td$vr;y4W5EOLC ze9LRVNpc`DrYE6oQA{LY<-ZxqIRY`4NqJ+4&Qh_k!F+3$SG3OMM)h@-NT2$?HSid$xiN{xLDDJjC_n zzsBdsE#BfW#nOif961mM_R|+dz*O+X=S746pE=u$mL8IRI3{Lb$7m`!walQ_wgseb z<(8kWFHo&P`iddUin!p?5iFCq>TG+<_D{}C*4bIlegVrQ~$}b ztirgaJWnR`L1lY;cqj6}?AJfEiZp*b)HO7yAGoe7t3hkr5D29|tT@nL53GkoNpG<#oovE!QDg!r4Ll%T?onGU*#jtin_C@&Qsc|f}wDQ9m) zRpsD<6EN3&WAB{D$L6)wWb?1Qp;bHx=ROSp$$Wr*J`U;tvoDmqN4X=Mu`b+e3eH+< zjUC)%X&`OFx#Ph$F}+BDY9HL0YdJ;YF7UvNjEzN_4Swar@{F~rs)2mn3jB~vQr3KIbzvI)LlaCiCP6PNF!TCct!#+ld2Fv zjuR75-69Q{aX8ojr)))^`u1+^WlLa0&BJjxz$Qs5TJ9}vA{>6UaL66r55PDY=`y}caR z5zCuEe_9rTpou;;pkd;SmIHIzRbJy9Ye2T|3DbLiCgo&IZ4LyDNIh0pfankz_wNyF z`(_`3fNx?XKy1IKzQsc{w8Z7MnC`A#g9i`Qj22SY{HJ1~mL9}?A2z9}8U!+@jTY}w z9bk?#GjOs`g1}T7OkgYQexlU(q#JY_cwohOI8tGi`Kr>UHYzpqp$HoUzv&mID{|u$ zHP{%tlo-wEULY~+2!FQk{&IQZ_ec_WqkYL|tjM*_xwFc6*N5?NCq1b*_Zn_4j)2Mn z=wnKwnO4ComqsF-i&;^+)c2zJFa}$izyUmD614>+C(LlxO?~VT;^+B$-lzcmK4K~7 ziw6rkQCbw)0qv_JV!ffEChRk$G*mOR!K(&~4wh}zSOzH8?K<_zkyE4+q|BW$3@?@D zSpvbKqlbq_t0s75Ai1gd0KMg8&f1Bopy>9lOQmWNXJvAmZ?iK9Nl2ptLpPGQNMZAW z2j_b_8j4)g&TKaB&*dN3zST=A)Z(rk#HkCACu<>JYltZ&UN~UF`>epvnOA{1@V1|u zPfoJOPbywP+|H@WKOyE^OQl!1XZ1GYg5ylH=?{zla@Oy(WCO}N?~)sH)Ky|hzMfz^ zxp@9q?+Jg1lW~lx&#Jy;q7zL)m z&2-?)%Zn|@3T*+NQCHp$3IRaFkNM2bW@e!8MD)z5$@0~0TP4bv8ql>d38w)?w7V$( zIBARh<(UtUQ7B;X+9<$jtOU#Y?S=C8*Yk5r&5_0G??d;)AC(1?(iNdI~oN&}72mw`H`fFu9bHZQT|Jqqzu{15=Jxyqb= zyq6)Dfnb@BiMf63uglh{%l3(JISuY=qt2tkhC3s`JzB~si^#?aJVdBkx2YJAyTJ?| zgnU<1J1fK_R!DRzQh`*X)0C5&JCj$&R8)VuMJqCh;gVIU;Vcas1=%GxCa7luG;Pl1a&!K#RjvH44pF(S|j*TlSLw)AX3Ju@eaHgckL@_nlyw2lTp7f?{}u z9Oe;7M@z5h&#ZV2)#BCO?<3zffFrlq3&Ul;J+nBKHuuPD6yOLPPW)2XSj8b-S(_OJ zGOEh;&mn^18`z8tJjpd;-o4e^}Bm>eH=gJ_X7`Z z_lr6;Ge__{J4^ZBkt+U>zL+?}9Q!q*oS6?+Jp+ZnJD>`(Z2hU#wf+}2@2iWyy*l~K z^%a?S6`r^6JJ*;;Yt9m9vWWtleU8Mw(&j0s9*ANTSRla=L(uk(W*1YaSlJfayonov zmY4NeB<_Rq%F}1h&X}Ak7iB&*`l=I!C%qVqo%~QXl!S<)gk#+C4s)ryL-u2&to1k_ zQH#wUqTdcSAIB7&MnqCJghI_>QB;Po>#cLN3+?U)F}Ygitv^4DBF23FVJR3AyaLSL?o$~m@T}2R* zg;?jiMXJkw`A0kc)S-Sz=PM?zlKzOJt%JV5HPEf=1F(c*<@ancuciI5^w0zI*=z3 z=S(z%anu7@9|jH!Z&iZOZcAz>vU^iYk0wG!lIM0X7GhP$J`~y5(lw#a5cbUZzw`Pw}{=wD7J?*qN;nv1{KF_a8GaCgLK)9Um(XMbu6jFy2^tRU{t3bK@ z(xca)sv|2uxh8+&Do}v4-KqEfAUL2mngj}5k(w`(I(^nifD>_|X9Gfts>RgDP-lUS zqwj(nSg_WHf4F2zmt6!#Is#@)bw7K; zhqpBTwTW4jIRd}@P{M%mSs3{qr2uPrE3%S&hX^`Ly!l@i`Res`T_Wa)#8)8FJ%%k6l+SV}T8loQn=KC_bBJvco8g zcs8W0W5rZexxvu)D3(tlJifEy&^v9j)L!x*5;mnwXFTj0`e3QXEo=TaZUAlb90;!< zEH>*_(e4|!i&8$Ptup;)QT}37Odx}3f&df{;4HO-%A7r1_j5IpB<)4qJ_F%ufuQ{W zMMsWZPsxZP(xIEg#6`Dg2Zb>Juhafe$XEA9Dp(s*>1_nsMU2ZjWi#R5e*Zfb3pFB{ zJI7|Z(h{5z)im7L5f~#45x8AquCJ0{VqVWBIidp2fC!^(>o0N%@^5IUz>+l7?k|Sf z6_)I(BaHPIj0^f5VR%X@#5twe*_{Cp8ZmcP)EM2eG5?-o&vY;aBYAjhwXQd;cw~ue z6X-T!lrH=-z~OhAR{r=h~5%7Tqa;xodxp4$K8IF)rH znZUe@=6fm2^vk!TJ|q>TpR*UwQ-kFen!07qvd_bln8-!qKRB1Tt>kxsS`-jh$DJC^ z6A6NB#e($v06RomB-#UwJSf8}PUyfYK}CTxoz*yRO);YLT|5L*5_)t^P$3k+eAI+LB7I|M_W9%+#d@@Biw>kD*3XXWBsI|ID$Yn#O5tO^WkxsWN@{TeR8l zTnO2gzk)J_;_W5za_OsT_;sgzD_)baWthHp|KAG-sI>s90sm)TMfxHyZ790WR5wu7Y?E83K+TAo5Y*>OiZ7Q9tv8=6{2pim4!rmdsI>)IN$IwyAvsMCRWdM zyGb^D46)Ali1OVh#aUw^S*Y(#IR|uC6!pIhuL$7@meUHCNRYgM)B}eC`Zovn&2S6< ze2e~k4@w%rg>WG_k3wkQ|5G|HyxV0nd*E5G>nF(W2iPZhT$A+569=gZJ zC;nqk<^L~0q|JUzH0on8aR3_a`bz^$2bBCV@N&l7HK{m(^Bud}) zb4grv-63)GS|Ye5}q^zFeF*F=5E=B$Xm%q{H;@a6&l+fQIth@Gk%-$YU%ky%sp>PeZ9hGg}Sc5E`nat#D{|t0(8=n0y(A3DBu9@LkLwkzM73| zA-9*Fu)X=;?v`=Hdq~83cxRA$w?uPAQM7WY_pf9%oxX*0kKKw=x|TBe�aql7E0F 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
    -Single Region Configuration Example - -```bash -TF_VAR_cognitive_regions='{ - "eastus": { - "count": 2, - "custom_domain_name": true, - "available_models": [ - { - "format": "OpenAI", - "name": "gpt-4.1-2025-04-14", - "model_name": "gpt-4.1", - "version": "2025-04-14", - "capacity": 200, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "gpt-5-2025-08-07", - "model_name": "gpt-5", - "version": "2025-08-07", - "capacity": 500, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "text-embedding-ada-002", - "model_name": "text-embedding-ada-002", - "version": "2", - "capacity": 200, - "type": "GlobalStandard" - } - ] - } -}' -``` - -
    - -
    -Multiple Regions Configuration Example - -```bash -TF_VAR_cognitive_regions='{ - "eastus": { - "count": 2, - "custom_domain_name": true, - "available_models": [ - { - "format": "OpenAI", - "name": "gpt-4.1-2025-04-14", - "model_name": "gpt-4.1", - "version": "2025-04-14", - "capacity": 200, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "gpt-5-2025-08-07", - "model_name": "gpt-5", - "version": "2025-08-07", - "capacity": 500, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "text-embedding-ada-002", - "model_name": "text-embedding-ada-002", - "version": "2", - "capacity": 200, - "type": "GlobalStandard" - } - ] - }, - "eastus2": { - "count": 2, - "custom_domain_name": true, - "available_models": [ - { - "format": "OpenAI", - "name": "gpt-4.1-2025-04-14", - "model_name": "gpt-4.1", - "version": "2025-04-14", - "capacity": 200, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "gpt-5-2025-08-07", - "model_name": "gpt-5", - "version": "2025-08-07", - "capacity": 500, - "type": "GlobalStandard" - }, - { - "format": "OpenAI", - "name": "text-embedding-ada-002", - "model_name": "text-embedding-ada-002", - "version": "2", - "capacity": 200, - "type": "GlobalStandard" - } - ] - } -}' -``` - -
    - -## Deployment Outputs - -Upon successful deployment, the script generates a `deployment_outputs.env` file containing essential infrastructure details needed for the next deployment phase: - -```bash -# Platform Infrastructure Outputs -AZURE_CLIENT_ID="00000000-0000-0000-0000-000000000000" -AZURE_KEY_VAULT_URL="https://codemie-kv-abc123.vault.azure.net" -AZURE_KEY_NAME="codemie-key" -AZURE_STORAGE_ACCOUNT_NAME="codemiestorage123" -AZURE_RESOURCE_GROUP="airun-codemie" -BASTION_ADMIN_USERNAME="azadmin" -CODEMIE_DOMAIN_NAME="airun.example.com" - -# AI Model Outputs (if DEPLOY_AI_MODELS="true") -AZURE_AI_TENANT_ID="00000000-0000-0000-0000-000000000000" -AZURE_AI_CLIENT_ID="00000000-0000-0000-0000-000000000000" -AZURE_AI_CLIENT_SECRET="some-secret" - -# CodeMie PostgreSQL -CODEMIE_POSTGRES_DATABASE_HOST="codemie-psql-abc123.postgres.database.azure.com" -CODEMIE_POSTGRES_DATABASE_PORT="5432" -CODEMIE_POSTGRES_DATABASE_NAME="codemie" -CODEMIE_POSTGRES_DATABASE_USER="pgadmin" -CODEMIE_POSTGRES_DATABASE_PASSWORD="password" - -# Keycloak PostgreSQL (present when keycloak_db_config.enabled=true) -KEYCLOAK_POSTGRES_DATABASE_HOST="keycloak-psql-abc123.postgres.database.azure.com" -KEYCLOAK_POSTGRES_DATABASE_PORT=5432 -KEYCLOAK_POSTGRES_DATABASE_NAME="keycloak" -KEYCLOAK_POSTGRES_DATABASE_USER="keycloak_admin" -KEYCLOAK_POSTGRES_DATABASE_PASSWORD="password" - -# LiteLLM PostgreSQL (present when litellm_db_config.enabled=true) -LITELLM_POSTGRES_DATABASE_HOST="litellm-psql-abc123.postgres.database.azure.com" -LITELLM_POSTGRES_DATABASE_PORT=5432 -LITELLM_POSTGRES_DATABASE_NAME="litellm" -LITELLM_POSTGRES_DATABASE_USER="litellm_admin" -LITELLM_POSTGRES_DATABASE_PASSWORD="password" - -# Langfuse PostgreSQL (present when langfuse_db_config.enabled=true) -LANGFUSE_POSTGRES_DATABASE_HOST="langfuse-psql-abc123.postgres.database.azure.com" -LANGFUSE_POSTGRES_DATABASE_PORT=5432 -LANGFUSE_POSTGRES_DATABASE_NAME="langfuse" -LANGFUSE_POSTGRES_DATABASE_USER="langfuse_admin" -LANGFUSE_POSTGRES_DATABASE_PASSWORD="password" -``` - -:::tip Save These Outputs -The `deployment_outputs.env` file contains sensitive information. Store it securely and reference it during the Components Deployment phase. -::: - -## Post-Deployment Validation - -After deployment completes, verify that all infrastructure was created successfully: - -### Step 1: Verify Azure Resources - -Check that all expected resources were created in the Azure Portal: - -```bash -# List all resources in the resource group -az resource list --resource-group --output table - -# Verify AKS cluster status -az aks show --resource-group --name CodeMieAks --query "provisioningState" - -# Verify PostgreSQL server status -az postgres flexible-server show --resource-group --name -``` - -### Step 2: Check Deployment Logs - -Review the deployment logs in the `logs/` directory for any warnings or errors: - -```bash -ls -la logs/ -# Review logs -cat logs/codemie_azure_deployment_YYYY-MM-DD-HHMMSS.log -``` - -### Step 3: Verify Key Resources - -Ensure critical resources are accessible: - -| Resource | Verification | -| ------------------- | ------------------------------------------------------ | -| **AKS Cluster** | Status should be "Succeeded", private endpoint created | -| **Key Vault** | Accessible, contains SSH keys and secrets | -| **Storage Account** | Created with private endpoint | -| **PostgreSQL** | Running, accessible via private endpoint | -| **Azure Bastion** | Deployed and associated with Hub VNet | -| **NAT Gateway** | Public IP assigned and associated with AKS subnets | - -## Access Jumpbox VM via Bastion - -The Jumpbox VM provides secure management access to your AKS cluster. Access it through Azure Bastion: - -### Step 1: Connect via SSH (Initial Setup) - -1. Navigate to your resource group in the Azure Portal (default: `CodeMieRG`) -2. Select the Jumpbox VM (`CodeMieVM`) -3. Click **Connect** → **Connect via Bastion** -4. Configure connection settings: - - **Authentication type**: `SSH Private Key from Azure Key Vault` - - **Username**: `azadmin` - - **Subscription**: Your Azure subscription - - **Azure Key Vault**: `CodeMieAskVault` (or your Key Vault name) - - **Azure Key Vault Secret**: `codemie-vm-private-key` -5. Click **Connect** - -:::tip Browser Shortcuts -Use `Ctrl+Shift+C` and `Ctrl+Shift+V` to copy/paste in the browser-based Bastion session. -::: - -### Step 2: Set User Password - -After initial SSH connection, set a password for the `azadmin` user (required for RDP access): - -```bash -sudo passwd azadmin -``` - -### Step 3: Connect via RDP (Management Access) - -1. Disconnect from SSH session -2. Return to VM → **Connect** → **Connect via Bastion** -3. Configure connection settings: - - **Protocol**: `RDP` - - **Username**: `azadmin` - - **Authentication type**: `Password` - - **Password**: Password set in Step 2 -4. Click **Connect** - -## Configure Jumpbox for AKS Access - -Once connected to the Jumpbox via RDP, configure access to the AKS cluster: - -### Step 1: Authenticate to Azure - -```bash -az login -``` - -### Step 2: Set Active Subscription - -```bash -az account set --subscription -``` - -### Step 3: Configure kubectl Access - -Retrieve AKS credentials and configure kubectl: - -```bash -# Replace with your resource group -# Default: CodeMieRG (unless overridden in deployment.conf) -az aks get-credentials \ - --resource-group \ - --name CodeMieAks \ - --overwrite-existing - -# Convert kubeconfig for Azure CLI authentication -kubelogin convert-kubeconfig -l azurecli -``` - -### Step 4: Set Default Resource Group - -```bash -# Set default resource group for Azure CLI commands -az configure --defaults group= -``` - -### Step 5: Verify Cluster Access - -```bash -# Test cluster connectivity -kubectl get nodes - -# View cluster information -kubectl cluster-info -``` - -## Next Steps - -After successful infrastructure deployment and validation, proceed to: - -**[Components Deployment](../components-deployment/index.md)** - Deploy AI/Run CodeMie application components to your AKS cluster diff --git a/docs/admin/deployment/azure/kubernetes/overview.md b/docs/admin/deployment/azure/kubernetes/overview.md deleted file mode 100644 index f4e216b0..00000000 --- a/docs/admin/deployment/azure/kubernetes/overview.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: overview -title: AI/Run Deployment Guide on Azure -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/azure/kubernetes/prerequisites ---- - -import OverviewContent from '../../common/deployment/overview/\_overview-content.mdx'; - - diff --git a/docs/admin/deployment/azure/kubernetes/prerequisites.md b/docs/admin/deployment/azure/kubernetes/prerequisites.md deleted file mode 100644 index be97e6b7..00000000 --- a/docs/admin/deployment/azure/kubernetes/prerequisites.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/azure/kubernetes/overview -pagination_next: admin/deployment/azure/kubernetes/architecture ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import ClusterRequirements from '../../common/deployment/prerequisites/\_cluster-requirements.mdx'; -import NetworkRequirements from '../../common/deployment/prerequisites/\_network-requirements.mdx'; -import DeploymentMachineTools from '../../common/deployment/prerequisites/\_deployment-machine-tools.mdx'; -import NextSteps from '../../common/deployment/prerequisites/\_next-steps.mdx'; - -# Prerequisites - -This page outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie on Microsoft Azure. Please ensure all requirements are met before proceeding with the installation. - -## Azure Account Requirements - -### Required Access and Permissions - -To deploy AI/Run CodeMie on Azure, you need: - -- **Active Azure Subscription** with sufficient quota for the required resources -- **Contributor Role** for the deployment user with the following permissions: - - Access to **Entra ID App Registration** to obtain Application ID and Secret - - Ability to create and manage Azure resources (AKS, networking, storage, etc.) - :::info Complete Resource List - For a detailed list of all Azure resources that will be provisioned, refer to the [Infrastructure Deployment](./infrastructure-deployment/index.md) section or review the Terraform modules in the deployment repository. - ::: -- **Entra ID Access** on the Azure portal to retrieve application details such as Tenant ID - -### DNS and Certificate Requirements - -DNS and TLS certificate requirements depend on your access model: - - - - If you require **public internet access** to AI/Run CodeMie: - - - Azure DNS Zone must be created and domain delegated there - - Valid wildcard TLS certificate must be available for HTTPS connections - - - - If you only require **internal access** within your organization: - - - AI/Run CodeMie Terraform modules will automatically create a private DNS zone - - No external DNS delegation or public certificates are required - - - - -## Network Requirements - - - - - - - -**Cloud-Specific Tools:** - -| Tool | Version | Purpose | -| -------------------------------------------------------------------------- | ------- | ------------------------- | -| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure resource management | -| [kubelogin](https://azure.github.io/kubelogin/install.html) | latest | AKS authentication plugin | - -### Required Repository Access - -You will need access to the following repositories to complete the deployment: - -- **Terraform Modules:** [codemie-terraform-azure](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - -:::info Air-Gapped Environments -If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. -::: - - diff --git a/docs/admin/deployment/azure/on-vm/architecture.mdx b/docs/admin/deployment/azure/on-vm/architecture.mdx deleted file mode 100644 index d3ebc48c..00000000 --- a/docs/admin/deployment/azure/on-vm/architecture.mdx +++ /dev/null @@ -1,87 +0,0 @@ ---- -id: architecture -title: On VM Deployment Architecture (Azure) -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/azure/on-vm/prerequisites -pagination_next: admin/deployment/azure/on-vm/deployment/deployment ---- - -# On VM Deployment Architecture (Azure) - -This page describes the infrastructure and application architecture of CodeMie On VM on Azure. - -## Infrastructure Overview - -![Azure On VM Infrastructure Architecture](./images/architecture-diagram.drawio.png) - -CodeMie On VM runs on a single Azure VM with supporting Azure services. Terraform provisions the following resources: - -| Resource | Purpose | -| ------------------------------ | -------------------------------------------------------------------- | -| **Azure VM (Standard_E4s_v5)** | Single VM running Docker Compose (4 vCPU, 32 GB RAM) | -| **Virtual Network / Subnet** | Isolated network for the VM | -| **Network Security Group** | Controls inbound/outbound traffic to the VM | -| **Azure Storage Account** | Persistent storage for user data (repos, files) | -| **Azure Key Vault** | Encryption key management for storage data | -| **Private DNS Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | -| **Azure Bastion** | Secure SSH access to the VM without exposing a public IP | - -### Network Modes - -| Mode | Configuration | Access | -| ------------------------ | ----------------------------------------------- | ----------------------------------------- | -| **Private IP** (default) | `TF_VAR_platform_domain_name` empty | VM private IP, access via VPN or Bastion | -| **Domain** | `TF_VAR_platform_domain_name="private.lab.com"` | Creates private DNS zone, access via name | - -## Application Architecture - -All CodeMie services run as Docker containers on the Azure VM, orchestrated by Docker Compose. - -![Docker Compose Services](../../common/deployment/images/docker-compose-diagram.drawio.png) - -### Services by Profile - -**Shared services** (both profiles): - -| Service | Image | Purpose | -| ------------- | --------------------------- | ------------------------------------------------- | -| postgres | pgvector/pgvector:pg17 | Primary database for application data | -| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | -| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | -| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | -| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | - -**OSS profile:** - -| Service | Purpose | -| -------------- | --------------------------------------------- | -| codemie-oss | API server with built-in local authentication | -| codemie-ui-oss | Web frontend | - -**Enterprise profile:** - -| Service | Purpose | -| ----------------- | ---------------------------------------------- | -| codemie | API server | -| codemie-ui | Web frontend | -| keycloak | Identity provider (SSO, OIDC) | -| oauth2-proxy | Authentication proxy in front of nginx | -| litellm | LLM proxy for model routing and key management | -| nats | Messaging for plugin engine | -| nats-auth-callout | NATS authentication service | -| mermaid-server | Diagram rendering | - -## Resource Requirements - -### Minimum Azure VM - -| Resource | Minimum | Recommended | -| -------- | ------- | ------------------- | -| vCPU | 4 | 4 (Standard_E4s_v5) | -| RAM | 16 GB | 32 GB | -| Disk | 50 GB | 100 GB | - -## Next Steps - -- [Deployment](../deployment/) — Deploy CodeMie On VM with Terraform diff --git a/docs/admin/deployment/azure/on-vm/deployment/byo.md b/docs/admin/deployment/azure/on-vm/deployment/byo.md deleted file mode 100644 index 629694d1..00000000 --- a/docs/admin/deployment/azure/on-vm/deployment/byo.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -id: byo -title: BYO Azure VM Deployment -sidebar_label: BYO Azure VM -sidebar_position: 7 -pagination_prev: admin/deployment/azure/on-vm/deployment/manual-deployment -pagination_next: null ---- - -# BYO Azure VM Deployment - -Deploy CodeMie on an **existing Azure VM** that is not managed by this project's Terraform. This mode skips all infrastructure provisioning and directly provisions the application stack. - -## When to Use - -- You already have an Azure VM (provisioned manually or via another Terraform stack) -- You want to avoid creating additional Azure resources via Terraform -- Your organization manages infrastructure separately from application deployment - -## VM Requirements - -Your existing Azure VM must meet these requirements: - -| Requirement | Details | -| -------------------- | ------------------------------------------------------------------------ | -| **OS** | Ubuntu 24.04 | -| **VM size** | Minimum Standard_D4s_v5 (4 vCPU, 16 GB RAM); recommended Standard_E4s_v5 | -| **Disk** | Minimum 50 GB; recommended 100 GB | -| **Internet access** | Outbound HTTPS for pulling Docker images | -| **Managed Identity** | Permissions for Storage Account and Key Vault access (if used) | - -## Configuration - -Edit `deployment.conf` with BYO-specific variables: - -```bash -CLOUD_PROVIDER="azure" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# ── BYO Azure VM ───────────────────────────────────────────────────── -BYO_VM_HOST="" # Private IP of the VM -BYO_VM_USER="azadmin" # SSH user -BYO_VM_SSH_KEY="" # Absolute path to SSH private key -BYO_VM_SSH_MODE="bastion" # bastion | direct -BYO_AZURE_BASTION_NAME="" # Azure Bastion host name -BYO_AZURE_RESOURCE_GROUP="" # Resource group containing Bastion and VM -BYO_AZURE_VM_RESOURCE_ID="" # Full VM resource ID (/subscriptions/...) -BYO_AZURE_STORAGE_ACCOUNT_NAME="" # Storage Account for user data -BYO_AZURE_KEY_VAULT_URL="" # https://.vault.azure.net/ -BYO_AZURE_KEY_NAME="codemie-key" # Key name in Key Vault -BYO_PLATFORM_DOMAIN_NAME="" # Optional: overrides CODEMIE_HOST -``` - -### SSH Modes - -| Mode | When to Use | Requirements | -| --------- | ------------------------------------------------------------ | ------------------------------------------ | -| `bastion` | VM in private subnet, access via Azure Bastion (recommended) | Azure Bastion deployed, VM resource ID | -| `direct` | VM has a reachable IP and port 22 is open | SSH private key, network access to port 22 | - -### BYO_VM_HOST - -`BYO_VM_HOST` sets the application URL (`CODEMIE_HOST`): - -| Scenario | `BYO_VM_HOST` value | Result | -| ------------------------------ | ------------------- | -------------------------------------- | -| VM private IP (access via VPN) | `10.0.1.5` | `CODEMIE_HOST=https://10.0.1.5` | -| Custom domain | Any IP (overridden) | Set `BYO_PLATFORM_DOMAIN_NAME` instead | - -### Encryption - -| Setting | Behavior | -| ------------------------------- | -------------------------------------------------------------- | -| `BYO_AZURE_KEY_VAULT_URL` empty | `ENCRYPTION_TYPE=plain` — data stored without envelope key | -| `BYO_AZURE_KEY_VAULT_URL` set | `ENCRYPTION_TYPE=azure` — storage data protected via Key Vault | - -## Deployment - -### Step 1: Place the GCP Registry Key - -This is a GCP service account credentials file used to pull CodeMie container images from Google Artifact Registry. - -:::info -For open-source deployments with self-built images, this key is optional. -::: - -```bash -cp /path/to/key.json ./key.json -``` - -### Step 2: Run BYO Deployment - -```bash -./deploy.sh --byo -``` - -The script executes: - -| Phase | Description | -| ------------------------ | ------------------------------------------------- | -| Loading config | Validates BYO-specific variables | -| Checking prerequisites | Verifies tools (Terraform not required) | -| Verifying Azure session | Only for bastion mode | -| Setting up BYO variables | Maps config to internal variables | -| Generating .env | Creates secrets, renders environment file | -| Setting up SSH | Configures SSH transport (bastion or direct) | -| Provisioning VM | Installs Docker, syncs files, starts services | -| Writing outputs | Saves deployment info to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -### Step 3: Verify - -```bash -curl -k https:///v1/healthcheck -``` - -## Re-deploying - -Run `./deploy.sh --byo` again. Secrets from `deployment_outputs.env` are preserved automatically. - -## Troubleshooting - -### Bastion connection refused - -- Verify Azure Bastion is deployed and associated with the VM's virtual network -- Confirm `BYO_AZURE_VM_RESOURCE_ID` is the full resource ID (`/subscriptions/...`) -- Check the `BYO_AZURE_RESOURCE_GROUP` contains both the Bastion and the VM - -### Docker login fails - -The `key.json` must be a valid GCP service account with access to `europe-west3-docker.pkg.dev`. Verify locally: - -```bash -cat key.json | docker login -u _json_key --password-stdin https://europe-west3-docker.pkg.dev -``` - -### Containers unhealthy - -SSH into the VM and check logs: - -```bash -cd /opt/codemie/compose -docker compose --profile enterprise logs --tail=50 -docker compose --profile enterprise ps -``` diff --git a/docs/admin/deployment/azure/on-vm/deployment/index.md b/docs/admin/deployment/azure/on-vm/deployment/index.md deleted file mode 100644 index 8968f351..00000000 --- a/docs/admin/deployment/azure/on-vm/deployment/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: deployment -title: Deployment -sidebar_label: Deployment -sidebar_position: 4 -pagination_prev: admin/deployment/azure/on-vm/architecture -pagination_next: admin/deployment/azure/on-vm/deployment/scripted-deployment ---- - -# Deployment - -This section covers deploying CodeMie On VM infrastructure and application stack on Azure. - -## Deployment Methods - -| Method | Description | When to Use | -| ------------------------------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [**Scripted Deployment**](./scripted-deployment) | Fully automated — single `./deploy.sh` handles Terraform and provisioning | Recommended for most users | -| [**Manual Deployment**](./manual-deployment) | Step-by-step Terraform commands, then BYO mode for application provisioning | When you need full control or are integrating with existing workflows | - -:::tip Recommendation -Use **Scripted Deployment** unless you have specific requirements for manual Terraform control. The script handles prerequisite checks, configuration validation, and proper phase sequencing automatically. -::: - -## Deployment Phases - -Both methods execute the same logical phases: - -| Phase | Description | -| ---------------------------- | ------------------------------------------------------------------------- | -| **Terraform State Backend** | Creates Azure Storage container for Terraform state (one-time) | -| **Platform Infrastructure** | Provisions VM, Storage Account, Key Vault, Private DNS Zone, NSG | -| **AI Models** (optional) | Provisions Azure OpenAI cognitive accounts when `DEPLOY_AI_MODELS="true"` | -| **Application Provisioning** | Installs Docker, syncs compose files, generates secrets, starts services | - -## Next Steps - -- [Scripted Deployment](./scripted-deployment) — Automated deployment with `./deploy.sh` -- [Manual Deployment](./manual-deployment) — Manual Terraform + BYO application provisioning diff --git a/docs/admin/deployment/azure/on-vm/deployment/manual-deployment.md b/docs/admin/deployment/azure/on-vm/deployment/manual-deployment.md deleted file mode 100644 index ce1c9512..00000000 --- a/docs/admin/deployment/azure/on-vm/deployment/manual-deployment.md +++ /dev/null @@ -1,230 +0,0 @@ ---- -id: manual-deployment -title: Manual Deployment -sidebar_label: Manual Deployment -sidebar_position: 6 -pagination_prev: admin/deployment/azure/on-vm/deployment/scripted-deployment -pagination_next: admin/deployment/azure/on-vm/deployment/byo ---- - -# Manual Deployment - -This guide provides step-by-step instructions for manually deploying CodeMie On VM infrastructure using Terraform on Azure, followed by application provisioning via BYO mode (`./deploy.sh --byo`). - -:::info When to Use Manual Deployment -Manual deployment is suitable when you need fine-grained control over each Terraform phase, want to customize infrastructure configurations, or are integrating with existing infrastructure management workflows. -::: - -## Prerequisites - -Ensure you have completed all requirements from the [Prerequisites](../../prerequisites) page: - -- [ ] **Azure Access**: Active subscription with Contributor role -- [ ] **Tools Installed**: Terraform 1.15.x, Azure CLI, jq, openssl, envsubst -- [ ] **Azure Authentication**: `az login` completed, subscription set -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry**: `key.json` file available - -## Deployment Phases - -| Phase | Description | Directory | -| ------------------------------------ | --------------------------------------------------- | --------------------------------- | -| **Phase 1: State Backend** | Creates Azure Storage container for Terraform state | `terraform/azure/remote-backend/` | -| **Phase 2: Platform Infrastructure** | Provisions VM, Storage Account, Key Vault, DNS, NSG | `terraform/azure/platform/` | -| **Phase 3: AI Models** (optional) | Provisions Azure OpenAI cognitive accounts | `terraform/azure/ai-models/` | -| **Phase 4: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | - ---- - -## Phase 1: Terraform State Backend - -:::info One-Time Setup -This phase only needs to run once per Azure subscription. -::: - -1. Navigate to the remote backend directory: - -```bash -cd terraform/azure/remote-backend/ -``` - -2. Initialize Terraform: - -```bash -terraform init -``` - -3. Create `terraform.tfvars`: - -```hcl -location = "westeurope" -platform_name = "codemie" -``` - -4. Plan and apply: - -```bash -terraform plan -out=tfplan -terraform apply tfplan -``` - -5. Note the outputs: - -```bash -terraform output storage_account_name -terraform output container_name -# Example: codemiestate / tfstate -``` - ---- - -## Phase 2: Platform Infrastructure - -1. Navigate to the platform directory: - -```bash -cd terraform/azure/platform/ -``` - -2. Create `backend.tfvars`: - -```hcl -resource_group_name = "codemie-terraform-state" -storage_account_name = "codemiestate" -container_name = "tfstate" -key = "codemie/terraform.tfstate" -``` - -3. Initialize Terraform with backend configuration: - -```bash -terraform init -backend-config=backend.tfvars -``` - -4. Create `terraform.tfvars`: - -```hcl -location = "westeurope" -platform_name = "codemie" -vm_size = "Standard_E4s_v5" -vm_os_disk_size = 100 -platform_domain_name = "" # Leave empty for private IP access -``` - -5. Plan and apply: - -```bash -terraform plan -out=tfplan -terraform apply tfplan -``` - -6. Note the outputs: - -```bash -terraform output vm_private_ip -terraform output storage_account_name -terraform output key_vault_url -terraform output bastion_name -terraform output resource_group_name -terraform output vm_resource_id -``` - ---- - -## Phase 3: AI Models (Optional) - -Skip this phase if `DEPLOY_AI_MODELS="false"` or you have an existing Azure OpenAI endpoint. - -1. Navigate to the AI models directory: - -```bash -cd terraform/azure/ai-models/ -``` - -2. Create `backend.tfvars` (reuse same state backend): - -```hcl -resource_group_name = "codemie-terraform-state" -storage_account_name = "codemiestate" -container_name = "tfstate" -key = "codemie/ai-models.tfstate" -``` - -3. Initialize and apply: - -```bash -terraform init -backend-config=backend.tfvars -terraform plan -out=tfplan -terraform apply tfplan -``` - -4. Note the AI outputs: - -```bash -terraform output azure_openai_endpoint -terraform output azure_client_id -terraform output azure_client_secret -``` - ---- - -## Phase 4: Application Provisioning (BYO Mode) - -Now that infrastructure is provisioned, use BYO mode to deploy the application stack. - -1. Navigate to the project root. - -2. Place the GCP registry key: - -```bash -cp /path/to/key.json ./key.json -``` - -3. Configure `deployment.conf` with BYO settings from Phase 2 outputs: - -```bash -CLOUD_PROVIDER="azure" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# BYO Azure VM settings -BYO_VM_HOST="" # From terraform output -BYO_VM_USER="azadmin" -BYO_VM_SSH_KEY="/path/to/codemie-key.pem" -BYO_VM_SSH_MODE="bastion" # bastion | direct -BYO_AZURE_BASTION_NAME="" # From terraform output -BYO_AZURE_RESOURCE_GROUP="" # From terraform output -BYO_AZURE_VM_RESOURCE_ID="" # From terraform output -BYO_AZURE_STORAGE_ACCOUNT_NAME="" # From terraform output -BYO_AZURE_KEY_VAULT_URL="" # From terraform output -BYO_AZURE_KEY_NAME="codemie-key" -BYO_PLATFORM_DOMAIN_NAME="" # Optional: overrides CODEMIE_HOST - -# If DEPLOY_AI_MODELS=false, supply existing endpoint: -# AZURE_OPENAI_ENDPOINT="" -# AZURE_CLIENT_ID="" -# AZURE_CLIENT_SECRET="" -``` - -4. Run BYO deployment: - -```bash -./deploy.sh --byo -``` - -5. Verify: - -```bash -curl -k https:///v1/healthcheck -``` - -## Re-deploying - -To update CodeMie: - -1. Edit `deployment.conf` (change `CODEMIE_VERSION`) -2. Run `./deploy.sh --byo` again — secrets are preserved automatically - -## Next Steps - -- [BYO VM](../byo) — Deploy on a completely external Azure VM not managed by this Terraform diff --git a/docs/admin/deployment/azure/on-vm/deployment/scripted-deployment.md b/docs/admin/deployment/azure/on-vm/deployment/scripted-deployment.md deleted file mode 100644 index a2b45f9c..00000000 --- a/docs/admin/deployment/azure/on-vm/deployment/scripted-deployment.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -id: scripted-deployment -title: Scripted Deployment -sidebar_label: Scripted Deployment -sidebar_position: 5 -pagination_prev: admin/deployment/azure/on-vm/deployment/deployment -pagination_next: admin/deployment/azure/on-vm/deployment/manual-deployment ---- - -# Scripted Deployment - -This guide walks through deploying CodeMie On VM on Azure using the automated `deploy.sh` script. The script handles all phases: Terraform state backend, infrastructure provisioning, optional Azure OpenAI setup, and application deployment. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Step 1: Clone the Repository - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -## Step 2: Place the GCP Registry Key - -Copy your `key.json` file to the repository root: - -```bash -cp /path/to/key.json ./key.json -``` - -## Step 3: Create Deployment Configuration - -```bash -cp deployment.conf.azure.example deployment.conf -``` - -Edit `deployment.conf`: - -```bash -CLOUD_PROVIDER="azure" - -# ── Azure ──────────────────────────────────────────────────────────── -AZURE_SUBSCRIPTION_ID="" # Your Azure subscription ID -AZURE_TENANT_ID="" # Your Azure tenant ID - -# ── Terraform ──────────────────────────────────────────────────────── -TF_VAR_location="westeurope" -TF_VAR_platform_name="codemie" -TF_VAR_vm_size="Standard_E4s_v5" # 4 vCPU, 32 GB RAM -TF_VAR_vm_os_disk_size=100 # OS disk size in GB -TF_VAR_platform_domain_name="" # Private DNS zone (e.g. private.lab.com) - -# ── CodeMie ────────────────────────────────────────────────────────── -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# ── Azure OpenAI / AI models ───────────────────────────────────────── -DEPLOY_AI_MODELS="true" # true = provision Azure OpenAI via Terraform - # false = supply existing endpoint below - -# Required only when DEPLOY_AI_MODELS=false: -# AZURE_OPENAI_ENDPOINT="" -# AZURE_CLIENT_ID="" -# AZURE_CLIENT_SECRET="" -``` - -## Step 4: Authenticate with Azure - -```bash -az login -az account set --subscription "" - -# Verify: -az account show -``` - -## Step 5: Run the Deployment - -```bash -./deploy.sh -``` - -The script executes the following phases: - -| Phase | Description | -| ------------------------------ | ---------------------------------------------------------------------- | -| Loading config | Validates `deployment.conf` variables | -| Checking prerequisites | Verifies required tools are installed | -| Verifying Azure credentials | Confirms valid `az` session and subscription | -| Initializing Terraform backend | Creates Azure Storage container for Terraform state | -| Running platform Terraform | Plans and applies VM, Storage Account, Key Vault, DNS, NSG | -| Running AI models Terraform | Plans and applies Azure OpenAI accounts (if `DEPLOY_AI_MODELS="true"`) | -| Reading Terraform outputs | Fetches VM private IP, Storage Account name, Key Vault URL | -| Generating .env | Creates secrets and renders Docker Compose environment | -| Provisioning VM | Installs Docker, syncs files, starts services via Azure Bastion | -| Writing outputs | Saves credentials to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -:::warning Interactive Prompts -The script will pause for approval at each Terraform plan stage. Review the plans carefully before typing `y`. -::: - -## Step 6: Verify Deployment - -After the script completes: - -```bash -curl -k https:///v1/healthcheck -``` - -Expected response: `{"status":"ok"}` - -## Deployment Outputs - -The script creates `deployment_outputs.env` with: - -- **CODEMIE_URL** — Application URL -- **VM_PRIVATE_IP** — VM private IP address -- **SSH_COMMAND** — Full SSH command for access via Bastion -- **Credentials** — Keycloak admin or superadmin password -- **Internal secrets** — Preserved across re-runs - -:::danger Sensitive File -`deployment_outputs.env` contains passwords and secrets. Do not commit it to version control. -::: - -## SSH Access - -Connect to the VM via Azure Bastion: - -```bash -# The SSH command is provided in the deployment summary and outputs file -az network bastion ssh \ - --name "" \ - --resource-group "" \ - --target-resource-id "" \ - --auth-type "ssh-key" \ - --username "azadmin" \ - --ssh-key "~/.ssh/codemie-key.pem" -``` - -## Re-deploying / Updating - -To update CodeMie version or configuration: - -1. Edit `deployment.conf` (e.g., change `CODEMIE_VERSION`) -2. Run `./deploy.sh` again - -The script detects the existing `deployment_outputs.env` and preserves all secrets. - -## Next Steps - -- [Manual Deployment](../manual-deployment) — Alternative method with full Terraform control diff --git a/docs/admin/deployment/azure/on-vm/overview.md b/docs/admin/deployment/azure/on-vm/overview.md deleted file mode 100644 index 69eaaacf..00000000 --- a/docs/admin/deployment/azure/on-vm/overview.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -id: overview -title: AI/Run CodeMie On VM Deployment Guide (Azure) -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/azure/on-vm/prerequisites ---- - -# AI/Run CodeMie On VM Deployment (Azure) - -CodeMie On VM deploys the full AI/Run CodeMie platform on a **single Azure VM** using Docker Compose. It provides the same core functionality as the full Azure (AKS) deployment but with minimal infrastructure overhead. - -## When to Use - -CodeMie On VM is designed for: - -- **Proof of Concept (PoC)** — quickly validate CodeMie capabilities in your environment -- **Demo environments** — showcase CodeMie to stakeholders without complex infrastructure - -:::warning Not for Production -For production workloads with high availability, scaling, and redundancy, use the full [Azure AKS Deployment Guide](../../kubernetes/overview). -::: - -## Deployment Profiles - -CodeMie On VM supports two profiles: - -| Profile | Authentication | LLM Proxy | Plugin Tool | -| -------------- | ----------------------- | --------- | ----------- | -| **OSS** | Local (built-in) | Internal | No | -| **Enterprise** | Keycloak + OAuth2 Proxy | LiteLLM | Yes | - -## Deployment Modes - -| Mode | Command | Infrastructure | -| ------------ | ------------------- | ----------------------------------------------------- | -| **Standard** | `./deploy.sh` | Terraform creates VM, Storage Account, Key Vault, DNS | -| **BYO VM** | `./deploy.sh --byo` | Use your existing Azure VM | - -## Repository - -All deployment code is hosted at: [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) - -``` -codemie-on-vm/ -├── compose/ # Docker Compose files and config -├── deploy.sh # Deployment script -├── destroy.sh # Destroy script -├── deployment.conf.azure.example # Azure configuration template -└── terraform/ - └── azure/ - ├── remote-backend/ # Azure Storage Terraform state backend - ├── platform/ # VM, Storage Account, Key Vault, DNS infrastructure - └── ai-models/ # Azure OpenAI cognitive accounts (optional) -``` - -## Next Steps - -Proceed to [Prerequisites](../prerequisites) to verify your environment is ready for deployment. diff --git a/docs/admin/deployment/azure/on-vm/prerequisites.md b/docs/admin/deployment/azure/on-vm/prerequisites.md deleted file mode 100644 index 089dfc42..00000000 --- a/docs/admin/deployment/azure/on-vm/prerequisites.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/azure/on-vm/overview -pagination_next: admin/deployment/azure/on-vm/architecture ---- - -# Prerequisites - -This page outlines the requirements for deploying AI/Run CodeMie On VM on Azure. Ensure all prerequisites are met before proceeding. - -## Azure Account Requirements - -### Required Access and Permissions - -- **Active Azure Subscription** with sufficient quota for the required resources -- **Contributor role** (or equivalent) on the subscription to create VMs, Storage Accounts, Key Vaults, and DNS zones -- **AZURE_SUBSCRIPTION_ID** and **AZURE_TENANT_ID** — available in the Azure Portal under **Azure Active Directory → Overview** - -### Quota Requirements - -Verify sufficient quota for: - -| Resource | Count | -| ---------------- | ----- | -| Standard_E4s_v5 | 1 | -| Azure Key Vault | 1 | -| Storage Account | 1 | -| Private DNS Zone | 1 | - -## Deployment Machine Tools - -The following tools must be installed on the machine where you run `./deploy.sh`: - -| Tool | Version | Purpose | -| -------------------------------------------------------------------------- | ------- | ----------------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure authentication and management | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -**Enterprise profile only:** - -| Tool | Version | Purpose | -| ------------------------------------- | ------- | ------------------- | -| [nsc](https://github.com/nats-io/nsc) | latest | NATS key generation | - -### Verify Installation - -```bash -terraform version # Should show 1.15.x -az version # Azure CLI -jq --version -openssl version -envsubst --version -``` - -## GCP Container Registry Access - -CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry. - -:::info Obtaining key.json -Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. -::: - -## Azure Authentication - -Authenticate before running the deployment: - -```bash -az login -az account set --subscription "" - -# Verify active subscription -az account show -``` - -## Repository Access - -Clone the deployment repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -The repository structure: - -| Directory | Purpose | -| --------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `destroy.sh` | Destroy script | -| `terraform/azure/remote-backend/` | Azure Storage Terraform state backend | -| `terraform/azure/platform/` | VM, Storage Account, Key Vault, DNS, NSG | -| `terraform/azure/ai-models/` | Azure OpenAI cognitive accounts (optional) | - -## Next Steps - -After verifying all prerequisites, review the [Architecture](../architecture) to understand what will be deployed. diff --git a/docs/admin/deployment/common/deployment/accessing-codemie/_accessing-codemie-applications.mdx b/docs/admin/deployment/common/deployment/accessing-codemie/_accessing-codemie-applications.mdx index ca3dc3cb..96e6496e 100644 --- a/docs/admin/deployment/common/deployment/accessing-codemie/_accessing-codemie-applications.mdx +++ b/docs/admin/deployment/common/deployment/accessing-codemie/_accessing-codemie-applications.mdx @@ -26,23 +26,23 @@ After accessing the applications, complete the configuration to make AI/Run Code #### User Configuration -Configure initial users and authentication in Keycloak. See [Access Control](../../../../configuration/access-control/index.md) for details. +Configure initial users and authentication in Keycloak. See
    Access Control for details. #### AI LLM Models Integration -Set up AI model providers to enable AI capabilities. See [AI Models Integration](../../../../configuration/codemie/ai-models-integration/index.md) for details. +Set up AI model providers to enable AI capabilities. See AI Models Integration for details. ### Install Extensions Enhance AI/Run CodeMie with optional extensions: -- **[LiteLLM Proxy](../../../extensions/litellm-proxy/index.md)** - Load balancing and high availability for LLM requests -- **[Assistants Evaluation](../../../extensions/assistants-evaluation/index.md)** - LLM observability, tracing, and performance analytics -- **[AI Code Explorer](../../../extensions/ai-code-explorer/index.md)** - Intelligent code analysis and exploration platform -- **[Angular Upgrade Assistant](../../../extensions/angular-upgrade-assistant/index.md)** - AI-powered Angular version upgrade assistant -- **[Salesforce DevForce AI](../../../extensions/salesforce-devforce-ai/index.md)** - Salesforce development workflow accelerator +- **LiteLLM Proxy** - Load balancing and high availability for LLM requests +- **Assistants Evaluation** - LLM observability, tracing, and performance analytics +- **AI Code Explorer** - Intelligent code analysis and exploration platform +- **Angular Upgrade Assistant** - AI-powered Angular version upgrade assistant +- **Salesforce DevForce AI** - Salesforce development workflow accelerator -See [Extensions Overview](../../../extensions/index.mdx) for detailed setup guides. +See Extensions Overview for detailed setup guides. ### Optional Configuration @@ -55,4 +55,4 @@ Additional configuration options include: - Third-party integrations - Backup and recovery setup -See the complete [Configuration Guide](../../../../configuration/index.mdx) for all available options. +See the complete Configuration Guide for all available options. diff --git a/docs/admin/deployment/extensions/index.mdx b/docs/admin/deployment/extensions/index.mdx index 967919f5..808a2bb4 100644 --- a/docs/admin/deployment/extensions/index.mdx +++ b/docs/admin/deployment/extensions/index.mdx @@ -3,7 +3,7 @@ id: extensions-overview sidebar_position: 1 title: Extensions description: Optional extensions and additional features for AI/Run CodeMie -pagination_prev: admin/deployment/index +pagination_prev: admin/deployment/accessing-applications pagination_next: null --- diff --git a/docs/admin/deployment/gcp/kubernetes/accessing-applications.md b/docs/admin/deployment/gcp/kubernetes/accessing-applications.md deleted file mode 100644 index 2623ddf2..00000000 --- a/docs/admin/deployment/gcp/kubernetes/accessing-applications.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: accessing-applications -sidebar_position: 6 -title: Accessing AI/Run CodeMie Applications -sidebar_label: Accessing Applications -pagination_prev: admin/deployment/gcp/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/configuration/index ---- - -import AccessingApplicationsContent from '../../common/deployment/accessing-codemie/\_accessing-codemie-applications.mdx'; - - diff --git a/docs/admin/deployment/gcp/kubernetes/architecture.md b/docs/admin/deployment/gcp/kubernetes/architecture.md deleted file mode 100644 index b6fa7bf3..00000000 --- a/docs/admin/deployment/gcp/kubernetes/architecture.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: architecture -title: AI/Run CodeMie Deployment Architecture -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/gcp/kubernetes/prerequisites -pagination_next: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-deployment-overview ---- - -import ContainerResources from '../../common/deployment/architecture/\_container-resources.mdx'; - -# AI/Run CodeMie Deployment Architecture - -This page provides an overview of the AI/Run CodeMie deployment architecture on Google Cloud Platform (GCP), including infrastructure components, network design, and resource requirements. - -## Architecture Overview - -AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. - -### Deployment Options - -There are two deployment options available depending on your organization's access requirements: - -- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations -- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: - -![GCP Architecture Diagram](./images/architecture-diagram.drawio.png) - -:::tip Architecture Customization -The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. -::: - -## Resource Requirements - - - -## Next Steps - -After understanding the architecture, proceed to: - -- [Infrastructure Deployment](./infrastructure-deployment/index.md) - Deploy the GCP infrastructure using Terraform -- [Components Deployment](./components-deployment/index.md) - Deploy AI/Run CodeMie application components using Helm diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/index.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/index.md deleted file mode 100644 index 0113b0e9..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/index.md +++ /dev/null @@ -1,258 +0,0 @@ ---- -id: components-deployment-overview -title: AI/Run CodeMie Components Deployment Overview -sidebar_label: CodeMie Components Deployment -sidebar_position: 5 -pagination_prev: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/components-deployment/components-scripted-deployment ---- - -# AI/Run CodeMie Components Deployment - -## Overview - -This section guides you through deploying the AI/Run CodeMie application stack on your GKE cluster. After completing infrastructure deployment, this phase installs all necessary Kubernetes components including: - -- **Core AI/Run CodeMie services** (API, UI, MCP Connect, NATS Auth) -- **Data layer** (Elasticsearch) -- **Security & Identity** (Keycloak, OAuth2 Proxy) -- **Infrastructure services** (Ingress controller, storage) -- **Observability** (Kibana, Fluent Bit) -- **Optional LLM Proxy** (for load balancing AI model requests) - -The deployment uses Helm charts to install and configure all components in the correct order, ensuring proper dependencies and integration. - -:::info Prerequisites -This phase assumes you have completed [Infrastructure Deployment](../infrastructure-deployment/index.md) and have a running GKE cluster with network, storage, and security configured. -::: - -### Application Stack Components - -The AI/Run CodeMie application consists of multiple integrated components organized into functional categories. Understanding this architecture helps you plan the deployment sequence and troubleshoot issues effectively. - -![Application Stack](../../../common/deployment/images/application-stack-diagram.drawio.png) - -#### Core AI/Run CodeMie Services - -Proprietary services that provide the main AI/Run CodeMie functionality: - -| Component | Container Image | Description | -| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| **CodeMie API** | `europe-west3-docker.pkg.dev/.../codemie:x.y.z` | Backend service handling business logic, data processing, and API operations | -| **CodeMie UI** | `europe-west3-docker.pkg.dev/.../codemie-ui:x.y.z` | Frontend web application providing the user interface | -| **NATS Auth Callout** | `europe-west3-docker.pkg.dev/.../codemie-nats-auth-callout:x.y.z` | Authentication and authorization service for NATS messaging (Plugin Engine component) | -| **MCP Connect** | `europe-west3-docker.pkg.dev/.../codemie-mcp-connect-service:x.y.z` | Bridge enabling CodeMie to communicate with MCP servers | -| **Mermaid Server** | `europe-west3-docker.pkg.dev/.../mermaid-server:x.y.z` | Diagram generation service for visualization in chats | - -:::info Version Information -To find the latest release versions for CodeMie components: - -```bash -bash get-codemie-latest-release-version.sh - -# Use the version detection script with GCP credentials -bash get-codemie-latest-release-version.sh -c key.json -``` - -Make sure you logged in with `key.json` shared with you. - -**Note**: Docker container versions match Helm chart release versions. -::: - -#### Data Layer Components - -Database and storage services for application data: - -| Component | Container Image | Description | -| ----------------- | ----------------------------------------------------- | ------------------------------------------------------------------ | -| **Elasticsearch** | `docker.elastic.co/elasticsearch/elasticsearch:x.y.z` | Document storage, full-text search engine, and analytics platform | -| **Kibana** | `docker.elastic.co/kibana/kibana:x.y.z` | Visualization and exploration tool for Elasticsearch data and logs | - -##### Security & Identity Components - -Authentication, authorization, and access control services: - -| Component | Container Image | Description | -| --------------------- | ----------------------------------------- | ----------------------------------------------------------------------------- | -| **Keycloak Operator** | `epamedp/keycloak-operator:x.y.z` | Kubernetes operator for managing Keycloak lifecycle and configuration | -| **Keycloak** | `quay.io/keycloak/keycloak:x.y.z` | Identity and access management (IAM) server for user authentication | -| **OAuth2 Proxy** | `quay.io/oauth2-proxy/oauth2-proxy:x.y.z` | Reverse proxy providing authentication for web applications using OAuth2/OIDC | - -#### Infrastructure Components - -Foundational services for networking and storage: - -| Component | Container Image | Description | -| ---------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------- | -| **Nginx Ingress Controller** | `registry.k8s.io/ingress-nginx/controller:x.y.z` | HTTP/HTTPS load balancer and reverse proxy for cluster traffic routing | -| **GCP Storage Class** | – | StorageClass for dynamic provisioning of GCP Persistent Disks | - -#### Messaging Infrastructure (Plugin Engine) - -Message broker for inter-service communication and plugin system: - -| Component | Container Image | Description | -| --------- | --------------- | ------------------------------------------------------------------------------ | -| **NATS** | `nats:x.y.z` | Lightweight, high-performance messaging system for microservices communication | - -#### Observability Components - -Logging, monitoring, and troubleshooting tools: - -| Component | Container Image | Description | -| --------------------- | ----------------------------------------- | ------------------------------------------------------------------ | -| **Fluent Bit** | `cr.fluentbit.io/fluent/fluent-bit:x.y.z` | Lightweight log processor and forwarder for centralized logging | -| **Kibana Dashboards** | – | Pre-configured dashboards for monitoring CodeMie metrics and usage | - -#### Optional Components - -Additional services for enhanced functionality: - -| Component | Container Image | Description | -| ------------- | --------------- | ----------------------------------------------------------------------------------- | -| **LLM Proxy** | – | Load balancer and router for AI model requests (supports multiple providers/models) | - -#### Deployment Order - -Components must be installed in the following sequence to satisfy dependencies: - -1. **Infrastructure** → Ingress Controller, Storage Class -2. **Operators** → Keycloak Operator -3. **Data Layer** → Elasticsearch -4. **Security** → Keycloak (with database credentials), OAuth2 Proxy -5. **Messaging** → NATS -6. **Core Services** → CodeMie API, UI, MCP Connect, NATS Auth -7. **Observability** → Fluent Bit, Kibana -8. **Optional** → LLM Proxy (if needed) - -## Prerequisites - -### Cluster Readiness - -Ensure your GKE cluster is ready for component deployment: - -- [x] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/index.md) phase -- [x] **Cluster Access**: kubectl configured and authenticated to GKE cluster -- [x] **Bastion/Jumpbox Access**: Connected to Bastion Host (for private clusters) or have authorized network access - -#### Configure Kubectl Access - -Obtain kubectl credentials using the appropriate Terraform output command based on your cluster access type: - -```bash -# For public clusters or clusters with authorized networks -# Use the command from Terraform outputs -# Parameter: get_kubectl_credentials_for_public_cluster - -# For completely private clusters (access via Bastion Host) -# Use the command from Terraform outputs -# Parameter: get_kubectl_credentials_for_private_cluster -``` - -Verify cluster connectivity: - -```bash -# Test cluster access -kubectl get nodes - -# Check cluster information -kubectl cluster-info -``` - -### Required Components - -The following components will be installed during this phase if not already present: - -- **Nginx Ingress Controller**: Routes external traffic to services -- **GCP Storage Class**: Provides persistent storage for stateful components - -:::info -These components will be installed automatically if not already present in your cluster. Both scripted and manual deployment procedures include the necessary installation steps. -::: - -### Repository and Access {#repository-and-access} - -#### Helm Charts Repository - -Clone the Helm charts repository on your deployment machine (Bastion Host or local workstation): - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -#### Container Registry Credentials - -Before deploying AI/Run CodeMie components, you need to set up authentication for the container registry. - -**Request Access**: Ask the AI/Run CodeMie team to provide: - -- `key.json` file (GCP service account credentials) -- Service account email for pulling images from GCR - -**Create Namespace**: - -```bash -kubectl create namespace codemie -``` - -**Configure Registry Secret**: - -Replace `%%PROJECT_NAME%%` with your project name and create the pull secret: - -```bash -kubectl create secret docker-registry gcp-artifact-registry \ - --docker-server=https://europe-west3-docker.pkg.dev \ - --docker-email=`` \ - --docker-username=_json_key \ - --docker-password="$(cat key.json)" \ - -n codemie -``` - -**Verify Secret**: - -```bash -kubectl get secret gcp-artifact-registry -n codemie -``` - -:::info Pull Secret Usage -The `gcp-artifact-registry` secret must be referenced in all AI/Run CodeMie component deployments: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. - -This is configured automatically in the values files: - -```yaml -imagePullSecrets: - - name: gcp-artifact-registry -``` - -::: - -## Deployment Methods - -Two deployment approaches are available depending on your needs: - -### Scripted Deployment (Recommended) - -Automated deployment using the `helm-charts.sh` wrapper script: - -- **Best for**: Standard deployments, quick setup, production environments -- **Advantages**: Automated dependency ordering, validation checks, consistent configuration - -[→ Scripted Deployment Guide](./scripted-deployment.md) - -### Manual Deployment - -Step-by-step manual installation of each component: - -- **Best for**: Custom configurations, learning the stack, troubleshooting -- **Advantages**: Full control over each component, easier to debug issues - -[→ Manual Deployment Guide](./manual-deployment/index.md) - -:::tip Recommendation -Use **Scripted Deployment** for initial installations. Switch to manual deployment only if you need custom configurations or are troubleshooting specific issues. -::: - -## Next Steps - -After successful component deployment, proceed to [Configuration](../../../../configuration/index.mdx) to set up users, AI models, and complete the platform configuration. diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components.mdx b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components.mdx deleted file mode 100644 index a8e6d707..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: core-components -sidebar_position: 5 -title: AI/Run CodeMie Core Components -sidebar_label: Core Components ---- - -import CoreComponentsOverview from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-overview.mdx'; -import CoreComponentsMcpConnect from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-mcp-connect.mdx'; -import CoreComponentsMermaid from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-mermaid.mdx'; -import CoreComponentsUi from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx'; -import CoreComponentsAccess from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-access.mdx'; -import CoreComponentsValidation from '../../../../common/deployment/components-deployment/manual-deployment/core/_core-components-validation.mdx'; - - - - - - - - - -## CodeMie API Installation - -CodeMie API is the backend service that handles all business logic, AI orchestration, and data processing. - -### Step 1: Configure API Values - -The DNS zone name configuration should already be set from the Getting Started section. Verify the values in `codemie-api/values-gcp.yaml` are correct: - -- `%%DOMAIN%%` should be replaced with your DNS zone name (e.g., `airun.example.com`) -- `%%GOOGLE_PROJECT_ID%%` should be replaced with your GCP project ID where Vertex AI is available -- `%%GOOGLE_KMS_PROJECT_ID%%` should be replaced with your GCP project ID where KMS key is available -- `%%GOOGLE_REGION%%` should be replaced with your GCP region (e.g., `europe-west3`) -- `%%GOOGLE_KMS_REGION%%` should be replaced with your GCP KMS region (e.g., `europe-west3`) - -:::tip Domain Configuration -If you followed the Getting Started steps, these replacements should already be done. -::: - -### Step 2: Copy Elasticsearch Credentials - -CodeMie API needs access to Elasticsearch. Copy the credentials to the codemie namespace: - -```bash -kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | \ - sed '/namespace:/d' | \ - kubectl apply -n codemie -f - -``` - -### Step 3: Create Google Service Account Secret - -Create the secret with the GCP service account key for Vertex AI and KMS access: - -```bash -kubectl create secret generic google-service-account \ - --namespace codemie \ - --from-file=gcp-service-account.json=codemie-gsa-key.json -``` - -:::warning Service Account Key -Ensure the `codemie-gsa-key.json` file exists in your current directory. This key was created during the Getting Started steps and grants access to Vertex AI and Cloud KMS. -::: - -### Step 4: Install CodeMie API Helm Chart - -Deploy CodeMie API: - -```bash -helm upgrade --install codemie-api \ - oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/codemie \ - --version x.y.z \ - --namespace codemie \ - -f ./codemie-api/values-gcp.yaml \ - --wait \ - --timeout 600s -``` - -### Step 5: Verify CodeMie API Deployment - -Check that CodeMie API is running: - -```bash -# Check pod status -kubectl get pods -n codemie | grep codemie-api - -# Check deployment -kubectl get deployment -n codemie codemie-api - -# Check logs -kubectl logs -n codemie deployment/codemie-api --tail=100 - -# Check API health endpoint -kubectl exec -n codemie deployment/codemie-api -- curl -s http://localhost:8080/health -``` - -Expected output: - -- Pod should be in `Running` state -- Deployment should show ready replicas -- Logs should show successful connections to all dependencies -- Health endpoint should return healthy status - - - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/data-layer.mdx b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/data-layer.mdx deleted file mode 100644 index e02cd81d..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/data-layer.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: data-layer -sidebar_position: 2 -title: Data Layer Components -sidebar_label: Data Layer ---- - -import DataLayerOverview from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-overview.mdx'; -import DataLayerElasticsearch from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-elasticsearch.mdx'; -import DataLayerPostgresConfig from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx'; -import DataLayerPostgresSecret from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx'; -import DataLayerValidation from '../../../../common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/index.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/index.md deleted file mode 100644 index 1dc2d3ad..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/index.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -id: manual-deployment-overview -sidebar_position: 2 -title: Manual Deployment Overview -description: Overview of manual component installation process ---- - -# 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. - -:::info When to Use Manual Deployment -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](../scripted-deployment.md) 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-gcp.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](../../infrastructure-deployment/index.md) phase -- [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or have authorized network access and kubectl configured for GKE -- [ ] **Container Registry**: Completed [Container Registry Access Setup](../index.md#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](../index.md#repository-and-access) before proceeding. Each component requires the `gcp-artifact-registry` pull secret to exist. -::: - -### Required Tools - -Ensure these tools are available on your deployment machine (Bastion Host or local workstation): - -- `kubectl` - Kubernetes cluster management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `bash` - Script execution environment - -## Component Installation Order - -Components must be installed in the following order to satisfy dependencies: - -### 1. [Kubernetes Components](./k8s-components.md) - -**Purpose**: Foundation infrastructure for storage provisioning and external access - -**Components**: - -- GCP 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](./data-layer.mdx) - -**Purpose**: Persistent storage for application data and user content - -**Components**: - -- Elasticsearch (document storage and search engine) -- Kibana (visualization and exploration tool) - -**Dependencies**: Requires storage class from Step 1 - -### 3. [Security and Identity](./security-and-identity.md) - -**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 infrastructure deployment - -### 4. [Plugin Engine](./plugin-engine.mdx) - -**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](./core-components.mdx) - -**Purpose**: Main application services providing CodeMie functionality - -**Components**: - -- PostgreSQL Secret (database credentials) -- MCP Connect (Model Context Protocol connector) -- CodeMie UI (frontend web application) -- Mermaid Server (diagram rendering service) -- CodeMie API (backend REST API) - -**Dependencies**: Requires all previous components (data layer, security, messaging) - -### 6. [Observability](./observability.md) - -**Purpose**: System monitoring, logging aggregation, and operational insights - -**Components**: - -- Fluent Bit (log collection and forwarding) -- 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 deployment machine: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure Domain and GCP Parameters - -Update the required placeholders in the values files. Replace these values with your GCP-specific configuration: - -```bash -# Set your values -CODEMIE_DOMAIN_NAME="airun.example.com" -PROJECT_ID="my-gcp-project" -REGION="europe-west3" - -# Replace DNS zone name in all files -find . -name "values-gcp.yaml" -exec sed -i "s/%%DOMAIN%%/$CODEMIE_DOMAIN_NAME/g" {} \; - -# Replace GCP parameters in CodeMie API -sed -i "s/%%GOOGLE_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_REGION%%/$REGION/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_KMS_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_KMS_REGION%%/$REGION/g" codemie-api/values-gcp.yaml -``` - -:::tip Find Your Values -Your DNS zone name and GCP configuration were set during infrastructure deployment. Check Terraform outputs for `dns_name`, `project_id`, and `region`. -::: - -### Step 3: Authenticate to Container Registry - -Authenticate Helm to the Google Container Registry: - -```bash -# Set credentials path -export GOOGLE_APPLICATION_CREDENTIALS=key.json - -# Login to GCR -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: - -```bash -# 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 - -:::warning Respect Installation Order -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-registry` secret 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](./k8s-components.md)**. - -After completing all component installations, proceed to **[Configuration](../../../../../configuration/index.mdx)** to configure users, AI models, and data sources. diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/k8s-components.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/k8s-components.md deleted file mode 100644 index 04b03561..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/k8s-components.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: k8s-components -sidebar_position: 1 -title: Kubernetes Components -sidebar_label: Kubernetes Components ---- - -import StorageIngressOverview from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-overview.mdx'; -import StorageIngressNginx from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-nginx.mdx'; -import StorageClassInstallation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-class-installation.mdx'; -import StorageIngressValidation from '../../../../common/deployment/components-deployment/manual-deployment/k8s/\_storage-ingress-validation.mdx'; - - - - - - - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/observability.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/observability.md deleted file mode 100644 index 2851cbb2..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/observability.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: observability -sidebar_position: 6 -title: Observability Components -sidebar_label: Observability -pagination_prev: admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/accessing-applications ---- - -import ObservabilityOverview from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-overview.mdx'; -import ObservabilityFluentBit from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-fluent-bit.mdx'; -import ObservabilityKibana from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-kibana.mdx'; -import ObservabilityDashboards from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-dashboards.mdx'; -import ObservabilityValidation from '../../../../common/deployment/components-deployment/manual-deployment/observability/\_observability-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx deleted file mode 100644 index a9973178..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/plugin-engine.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: plugin-engine -sidebar_position: 4 -title: Plugin Engine -sidebar_label: Plugin Engine -pagination_prev: admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/manual-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components ---- - -import PluginEngineContent from '../../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx'; - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/security-and-identity.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/security-and-identity.md deleted file mode 100644 index 0f82f201..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/security-and-identity.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: security-and-identity -sidebar_position: 3 -title: Security and Identity Components -sidebar_label: Security and Identity ---- - -import SecurityOverview from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-overview.mdx'; -import SecurityKeycloakOperator from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-operator.mdx'; -import SecurityKeycloakInstall from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-keycloak-install.mdx'; -import SecurityOauth2Proxy from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-oauth2-proxy.mdx'; -import SecurityValidation from '../../../../common/deployment/components-deployment/manual-deployment/security/\_security-validation.mdx'; - - - - - - - - - - diff --git a/docs/admin/deployment/gcp/kubernetes/components-deployment/scripted-deployment.md b/docs/admin/deployment/gcp/kubernetes/components-deployment/scripted-deployment.md deleted file mode 100644 index 2e70f241..00000000 --- a/docs/admin/deployment/gcp/kubernetes/components-deployment/scripted-deployment.md +++ /dev/null @@ -1,390 +0,0 @@ ---- -id: components-scripted-deployment -title: Scripted Components Deployment -sidebar_label: CodeMie Scripted Deployment -sidebar_position: 1 -pagination_prev: admin/deployment/gcp/kubernetes/components-deployment/components-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/accessing-applications ---- - -# Scripted CodeMie Components Deployment - -This guide walks you through deploying AI/Run CodeMie application components using the automated `helm-charts.sh` deployment script. The script handles the installation of all components in the correct dependency order using Helm charts. - -:::tip Recommended Approach -Scripted deployment is recommended for standard installations as it automates component ordering, validates prerequisites, and ensures consistent configuration across all components. -::: - -## Overview - -The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) repository automates the installation of: - -- **Infrastructure services** (Nginx Ingress, GCP Storage Class) -- **Data layer** (Elasticsearch) -- **Security components** (Keycloak Operator, Keycloak, OAuth2 Proxy) -- **Messaging system** (NATS, NATS Auth Callout) -- **Core CodeMie services** (API, UI, MCP Connect, Mermaid Server) -- **Observability stack** (Fluent Bit, Kibana, Kibana Dashboards) - -The script supports flexible deployment modes, allowing you to install all components at once or deploy specific component groups based on your needs. - -## Prerequisites - -Before starting deployment, ensure you have completed all requirements: - -### Verification Checklist - -- [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../infrastructure-deployment/index.md) phase -- [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or have authorized network access and kubectl configured for GKE -- [ ] **Container Registry**: Completed [Container Registry Access Setup](./index.md#repository-and-access) from overview page -- [ ] **Helm Installed**: Helm 3.16.0+ installed on deployment machine -- [ ] **Repository Cloned**: `codemie-helm-charts` repository available locally -- [ ] **Domain Configured**: Know your CodeMie domain name from infrastructure outputs - -:::warning Container Registry Access Required -You must complete the Container Registry Access setup from the [Components Deployment Overview](./index.md#repository-and-access) before proceeding. The script requires the `gcp-artifact-registry` pull secret to exist. -::: - -### Required Tools - -Ensure these tools are available on your deployment machine (Bastion Host or local workstation): - -- `kubectl` - Kubernetes cluster management -- `helm` 3.16.0+ - Kubernetes package manager -- `gcloud` CLI - For GCR authentication -- `bash` - Script execution environment - -## Quick Start - -Follow these steps for a standard private cluster deployment: - -### Step 1: Clone Repository - -Clone the Helm charts repository on your deployment machine: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-helm-charts.git -cd codemie-helm-charts -``` - -### Step 2: Configure Domain and GCP Parameters - -Update the required placeholders in the values files. Replace these values with your GCP-specific configuration: - -| Placeholder | Description | Example Value | Files to Edit | -| --------------------------- | ----------------------- | ------------------- | ---------------------------------------- | -| `%%DOMAIN%%` | Your DNS zone name | `airun.example.com` | All `values-gcp.yaml` files listed below | -| `%%GOOGLE_PROJECT_ID%%` | GCP project ID | `my-project-123` | `codemie-api/values-gcp.yaml` | -| `%%GOOGLE_REGION%%` | GCP region | `europe-west3` | `codemie-api/values-gcp.yaml` | -| `%%GOOGLE_KMS_PROJECT_ID%%` | GCP project ID with KMS | `my-project-123` | `codemie-api/values-gcp.yaml` | -| `%%GOOGLE_KMS_REGION%%` | GCP region with KMS | `europe-west3` | `codemie-api/values-gcp.yaml` | - -**Files requiring domain configuration:** - -- `kibana/values-gcp.yaml` -- `keycloak-helm/values-gcp.yaml` -- `oauth2-proxy/values-gcp.yaml` -- `codemie-ui/values-gcp.yaml` -- `codemie-api/values-gcp.yaml` - -:::tip Find Your Values -Your domain name and GCP configuration were set during infrastructure deployment. Check Terraform outputs for `dns_name`, `project_id`, and `region`. -::: - -**Example sed commands to replace placeholders:** - -```bash -# Set your values -DOMAIN="airun.example.com" -PROJECT_ID="my-gcp-project" -REGION="europe-west3" - -# Replace DNS zone name in all files -find . -name "values-gcp.yaml" -exec sed -i "s/%%DOMAIN%%/$DOMAIN/g" {} \; - -# Replace GCP parameters in CodeMie API -sed -i "s/%%GOOGLE_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_REGION%%/$REGION/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_KMS_PROJECT_ID%%/$PROJECT_ID/g" codemie-api/values-gcp.yaml -sed -i "s/%%GOOGLE_KMS_REGION%%/$REGION/g" codemie-api/values-gcp.yaml -``` - -### Step 3: Create Service Account Key - -Create a service account key for Kubernetes to access GCP services: - -1. Access "IAM & Admin" in Google Cloud Console -2. Locate the "codemie-gsa" service account (created by Terraform) -3. Create a new JSON key for this service account -4. Download and save the key file to `codemie-helm-charts/codemie-gsa-key.json` - -```bash -# Verify the key file exists -ls -la codemie-gsa-key.json -``` - -:::warning Key Security -Keep this service account key secure. It grants access to GCP resources including Vertex AI and Cloud KMS. -::: - -### Step 4: Configure LoadBalancer Type (Private vs Public) - -Choose your access model before running the deployment script. The default configuration is for **private access** (recommended). - -#### Option A: Private Access (Default - No Changes Needed) - -For private cluster deployment with access via Bastion Host, **no changes are required**. The default Helm values are pre-configured for Internal LoadBalancer: - -```yaml -# Default configuration (already set) -ingress-nginx: - controller: - service: - annotations: - networking.gke.io/load-balancer-type: Internal -``` - -Skip to [Step 5](#step-5-authenticate-to-container-registry). - -#### Option B: Public Access (Requires Configuration) - -:::warning Prerequisites for Public Access - -- Infrastructure deployed with **public DNS zone** -- Valid **TLS certificate** for your domain -- **Authorized IP ranges** defined (never leave open to 0.0.0.0/0) - ::: - -If you need public access from external networks, modify these files **before running the deployment script**: - -**1. Modify Nginx Ingress Controller** - -Edit `codemie-helm-charts/ingress-nginx/values-gcp.yaml`: - -```yaml -ingress-nginx: - controller: - service: - # Remove the Internal annotation for public LoadBalancer - annotations: {} - type: LoadBalancer - # Define allowed IP ranges (REQUIRED for security) - loadBalancerSourceRanges: - - x.x.x.x/24 # Your office network - - x.x.x.x/24 # Your VPN network - enableHttp: false # Force HTTPS only -``` - -:::danger Security Critical -Never deploy a public LoadBalancer without `loadBalancerSourceRanges` configured. This would expose your application to the entire internet. -::: - -**2. Modify NATS Service** - -Edit `codemie-helm-charts/codemie-nats/values-gcp.yaml`: - -```yaml -service: - merge: - metadata: - # Remove the Internal annotation - annotations: {} - spec: - type: LoadBalancer - # Define allowed IP ranges for NATS access - loadBalancerSourceRanges: - - x.x.x.x/24 # Your office network -``` - -**3. Configure TLS Certificates** - -For public access, create and configure TLS certificates: - -```bash -# Create namespace -kubectl create ns codemie - -# Create TLS secret from your certificate files -kubectl -n codemie create secret tls custom-tls \ - --key ${KEY_FILE} \ - --cert ${CERT_FILE} - -# Copy secret to other namespaces -kubectl get secret custom-tls -n codemie -o yaml | sed '/namespace:/d' | kubectl apply -n security -f - -kubectl get secret custom-tls -n codemie -o yaml | sed '/namespace:/d' | kubectl apply -n elastic -f - -kubectl get secret custom-tls -n codemie -o yaml | sed '/namespace:/d' | kubectl apply -n oauth2-proxy -f - -``` - -**4. Enable TLS in Ingress Configuration** - -Uncomment and configure the `ingress.tls` section in these files: - -- `codemie-api/values-gcp.yaml` -- `codemie-ui/values-gcp.yaml` -- `kibana/values-gcp.yaml` -- `keycloak-helm/values-gcp.yaml` -- `codemie-nats/values-gcp.yaml` - -Example configuration: - -```yaml -tls: - - secretName: custom-tls - hosts: - - codemie.airun.example.com # Replace with your domain -``` - -:::info Certificate Management -You can use [cert-manager](https://cert-manager.io/) for automatic certificate management, but this is not covered in this guide. -::: - -### Step 5: Authenticate to Container Registry - -Authenticate Helm to the Google Container Registry: - -```bash -# Set credentials path -export GOOGLE_APPLICATION_CREDENTIALS=key.json - -# Login to GCR -gcloud auth application-default print-access-token | \ - helm registry login -u oauth2accesstoken --password-stdin europe-west3-docker.pkg.dev -``` - -### Step 6: Get Latest CodeMie Version - -Retrieve the latest AI/Run CodeMie release version: - -```bash -# Check latest version -bash get-codemie-latest-release-version.sh -c key.json - -# Note the version output (e.g., 1.2.3) for the next step -``` - -### Step 7: Configure Optional Components (If Required) - -**Optional Components:** - -- `litellm` - LiteLLM Proxy for unified LLM API interface, multi-model routing, and cost tracking -- `pgadmin` - PostgreSQL administration interface for database inspection and monitoring - -:::warning LiteLLM Configuration Required -If deploying with the `--optional litellm` flag, configuration must be completed **before** running the deployment script. Follow the [LiteLLM Proxy Installation and Configuration Guide](../../../extensions/litellm-proxy/index.md) to set up values files and credentials. -::: - -Skip this step if not deploying optional components. - -### Step 8: Run Deployment Script - -Execute the deployment script with your chosen mode: - -```bash -# Development environment with all core components -bash helm-charts.sh --cloud gcp --version --mode all - -# Staging environment with database management tools -bash helm-charts.sh --cloud gcp --version --mode all --optional pgadmin - -# Test environment with LiteLLM for multi-model AI testing -bash helm-charts.sh --cloud gcp --version --mode recommended --optional litellm - -# Full-featured environment with all optional components -bash helm-charts.sh --cloud gcp --version --mode all --optional litellm,pgadmin -``` - -Replace `` with the version from Step 6 (e.g., `2.2.3`). - -:::tip Idempotent Script -The deployment script is idempotent, meaning you can safely re-run it multiple times. If the script fails or is interrupted, simply run it again with the same parameters to continue or retry the deployment. -::: - -## Configuration Reference - -### Script Parameters - -The deployment script accepts the following parameters: - -| Parameter | Description | Required | Values | -| --------------- | ------------------------------------ | -------- | -------------------------------------------------------------------- | -| `-h, --help` | Show help message and usage examples | No | N/A | -| `-c, --cloud` | Target cloud provider | Yes | `gcp`, `aws`, `azure` | -| `-v, --version` | CodeMie component version | Yes | Semantic version (e.g., `2.2.3`) | -| `-m, --mode` | Installation mode | Yes | `all`, `recommended`, `update` | -| `--optional` | Optional components to deploy | No | Comma-separated list: `litellm`, `pgadmin` (e.g., `litellm,pgadmin`) | - -### Deployment Modes - -| Mode | Components Installed | Use Case | -| --------------- | ------------------------------------------------------------ | ----------------------------------------------- | -| **all** | All components including Nginx Ingress Controller | Fresh GKE cluster without existing ingress | -| **recommended** | All components except Nginx Ingress Controller | Cluster with existing ingress controller | -| **update** | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating existing installation to a new version | - -:::tip Choosing Deployment Mode - -- **First-time installation**: Use `all` or `recommended` depending on whether you need Nginx Ingress -- **Version updates**: Use `update` to upgrade only CodeMie components -- **Fresh GKE cluster**: Use `all` mode - ::: - -## Advanced Configuration - -### Setting up DNS Records - -After deployment completes and LoadBalancers are provisioned, configure DNS records to make applications accessible. - -:::info When DNS is Required - -- **Private clusters with private DNS**: DNS is automatically configured by Terraform -- **Public clusters**: You must manually add DNS A records to your DNS provider - ::: - -#### Required DNS Records - -**1. Wildcard Record for Nginx Ingress Controller** - -This allows access to all subdomains managed by Nginx (CodeMie UI, API, Keycloak, Kibana): - -| Field | Value | -| --------- | ------------------------------------------- | -| **Type** | A | -| **Name** | `*` (wildcard) | -| **Value** | LoadBalancer IP of Nginx Ingress Controller | - -Get the Nginx Ingress IP: - -```bash -kubectl get service ingress-nginx-controller -n ingress-nginx \ - -o jsonpath='{.status.loadBalancer.ingress[0].ip}' -``` - -**2. NATS Record for Plugin Engine** - -This allows direct access to NATS for the CodeMie Plugin Engine: - -| Field | Value | -| --------- | ----------------------- | -| **Type** | A | -| **Name** | `nats-codemie` | -| **Value** | LoadBalancer IP of NATS | - -Get the NATS service IP: - -```bash -kubectl get service codemie-nats -n codemie \ - -o jsonpath='{.status.loadBalancer.ingress[0].ip}' -``` - -**Example DNS Configuration:** - -``` -*.airun.example.com A x.x.x.x -nats-codemie.airun.example.com A x.x.x.x -``` - -## Next Steps - -After successful deployment and validation, proceed to: - -**[Accessing Applications](../accessing-applications.md)** - Learn how to access the deployed AI/Run CodeMie applications and complete the required configuration steps. diff --git a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/bastion-host-access.md b/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/bastion-host-access.md deleted file mode 100644 index cec7cc60..00000000 --- a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/bastion-host-access.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -id: infrastructure-bastion-host-access -title: Bastion Host Access Configuration -sidebar_label: Bastion Host Access (Optional) -sidebar_position: 3 -pagination_prev: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-manual-deployment -pagination_next: admin/deployment/gcp/kubernetes/components-deployment/components-deployment-overview ---- - -# Bastion Host Access Configuration - -:::warning Private Cluster Only -This section is only required if you deployed a **completely private GKE cluster** with private DNS. For public clusters or clusters with authorized networks configured, you can access the GKE API and CodeMie application directly from your workstation. -::: - -The Bastion Host is a secure jump server that provides access to your private GKE cluster and applications running inside the VPC. This VM enables both command-line management (SSH) and browser-based access (RDP) to internal resources. - -### Connection Methods Overview - -| Connection Type | Use Case | Access Method | -| --------------- | ------------------------------------------------------------- | --------------------- | -| **SSH** | Deploy and manage Kubernetes workloads using kubectl and Helm | Terminal/SSH client | -| **RDP** | Access web UIs exposed via private DNS (Kibana, Keycloak) | Remote Desktop client | - -### Option 1: SSH Connection for Cluster Management - -Use SSH to connect to the Bastion Host for deploying and managing Kubernetes resources. - -1. Retrieve the SSH command from Terraform outputs and connect: - -```bash -# Get the SSH connection command -terraform output bastion_ssh_command - -# Example output: -# gcloud compute ssh bastion-vm --project=your-project --zone=europe-west3-a - -# Use this command to connect -gcloud compute ssh bastion-vm --project=your-project --zone=europe-west3-a -``` - -:::tip IAM Permissions -Ensure your user account is listed in `bastion_members` variable from Phase 2 configuration. Only authorized users can SSH into the Bastion Host. -::: - -#### Step 2: Set user password (Required for RDP) - -After connecting via SSH, set a password for the `ubuntu` user for later RDP access: - -```bash -# Set password for the ubuntu user (you'll be prompted to enter it twice) -sudo passwd ubuntu -``` - -:::info Save Your Password -The `ubuntu` user password you set here will be used to login via RDP. Make sure to remember it or store it securely. -::: - -3. Fetch GKE cluster credentials to enable kubectl commands: - -```bash -# Get the kubectl configuration command -terraform output get_kubectl_credentials_for_private_cluster - -# Example output: -# gcloud container clusters get-credentials your-cluster-name --region=europe-west3 --project=your-project - -# Run the command to configure kubectl -gcloud container clusters get-credentials your-cluster-name --region=europe-west3 --project=your-project -``` - -4. Transfer the Helm charts repository to the Bastion Host. - -:::warning VPN Required for gitbud.epam.com -`gitbud.epam.com` is only accessible through VPN and is not reachable from the Bastion Host directly. Clone the repository on your local machine first, then transfer it using `gcloud scp`. -::: - -On your **local machine** (with VPN active): - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-helm-charts.git -``` - -Then transfer the cloned directory to the Bastion Host: - -```bash -gcloud compute scp --recurse ./codemie-helm-charts bastion-vm:~/ \ - --project=your-project --zone=europe-west3-a -``` - -On the **Bastion Host**, navigate to the transferred directory: - -```bash -cd ~/codemie-helm-charts -``` - -You're now ready to proceed with [Components Deployment](../components-deployment/index.md). - -### Option 2: RDP Connection for Web UI Access - -Use RDP to access application web interfaces that are only available via private DNS (such as Kibana, Keycloak Admin Console). - -:::tip When to Use RDP -RDP is useful when you need to access web-based administrative interfaces that aren't exposed publicly. For kubectl/Helm operations, SSH access is sufficient. -::: - -1. Retrieve the RDP forwarding command from Terraform outputs and start the IAP tunnel: - -```bash -# Get the RDP forwarding command -terraform output bastion_rdp_command - -# Example output: -# gcloud compute start-iap-tunnel bastion-vm 3389 --local-host-port=localhost:3389 --zone=europe-west3-a --project=your-project -``` - -Run the command to create an IAP tunnel that forwards RDP traffic (keep this terminal open): - -```bash -gcloud compute start-iap-tunnel bastion-vm 3389 \ - --local-host-port=localhost:3389 \ - --zone=europe-west3-a \ - --project=your-project -``` - -2. Open your Remote Desktop client and connect: - -| Setting | Value | -| ------------ | -------------------------- | -| **Computer** | `localhost:3389` | -| **Username** | `ubuntu` | -| **Password** | Password set in SSH Step 2 | - -### Tips for Using the Bastion Host - -#### Pasting Commands into Terminal - -Use the correct keyboard shortcut for pasting in Linux terminal: - -``` -Shift + Ctrl + V -``` - -(Regular `Ctrl + V` won't work in most Linux terminal applications) - -#### File Transfer to/from Bastion - -Transfer files between your local machine and Bastion using `gcloud scp`: - -```bash -# Upload file to Bastion -gcloud compute scp local-file.txt bastion-vm:~/remote-file.txt \ - --project=your-project --zone=europe-west3-a - -# Download file from Bastion -gcloud compute scp bastion-vm:~/remote-file.txt ./local-file.txt \ - --project=your-project --zone=europe-west3-a -``` diff --git a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/index.md b/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/index.md deleted file mode 100644 index 28c6fa9e..00000000 --- a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -id: infrastructure-deployment-overview -title: GCP Infrastructure Deployment -sidebar_label: Infrastructure Deployment -sidebar_position: 4 -pagination_prev: admin/deployment/gcp/kubernetes/architecture -pagination_next: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment ---- - -# GCP Infrastructure Deployment - -This section guides you through deploying the GCP infrastructure foundation required for AI/Run CodeMie using Terraform automation. - -:::info Existing Infrastructure -If you already have a provisioned GKE cluster with all required GCP services (networking, storage, databases, etc.), you can skip this section and proceed directly to [Components Deployment](../components-deployment/index.md). -::: - -## Overview - -The Terraform deployment is organized into two distinct phases, each with its own set of resources and purpose: - -1. **Terraform State Backend** - Infrastructure for storing Terraform state files securely -2. **Core Platform Infrastructure** - Main GCP resources for running AI/Run CodeMie - -## Phase 1: Terraform State Backend - -The state backend is deployed first to provide secure, centralized storage for Terraform state files. - -| Resource | Purpose | -| ------------------ | ----------------------------------------------------------------------------- | -| **Storage Bucket** | Google Cloud Storage bucket for storing Terraform state files with versioning | - -:::tip State Backend Purpose -The Terraform state backend enables: - -- **Team Collaboration**: Multiple engineers can work on infrastructure simultaneously -- **State Locking**: Prevents concurrent modifications that could corrupt state -- **Versioning**: Maintains history of infrastructure changes -- **Security**: State files contain sensitive data and require secure storage - ::: - -## Phase 2: Core Platform Infrastructure - -The core platform infrastructure provisions all GCP resources needed to run AI/Run CodeMie. This is the main deployment phase and following GCP resources will be deployed: - -### Compute & Orchestration - -| Resource | Purpose | -| ---------------- | ------------------------------------------------------------------------- | -| **GKE Cluster** | Private or public Kubernetes cluster for running AI/Run CodeMie workloads | -| **Node Pools** | Managed node groups for application workloads | -| **Bastion Host** | Management VM for secure cluster access (optional, for private clusters) | - -### Networking - -| Resource | Purpose | -| ------------------ | ---------------------------------------------------------------- | -| **VPC Network** | Virtual Private Cloud for isolated network environment | -| **Subnets** | Network segmentation for GKE nodes and pods | -| **Cloud NAT** | Provides consistent outbound public IP for internet connectivity | -| **Cloud Router** | Enables dynamic routing for VPC | -| **DNS Zones** | Name resolution for CodeMie components | -| **Firewall Rules** | Network access control and traffic filtering | - -### Data & Storage - -| Resource | Purpose | -| ----------------------------------- | ------------------------------------------------------------------------------------------ | -| **Cloud SQL (PostgreSQL)** | Managed PostgreSQL database service for CodeMie application data with private connectivity | -| **Cloud SQL PostgreSQL (Keycloak)** | Dedicated Cloud SQL instance for Keycloak (optional) | -| **Cloud Storage Buckets** | Optional persistent storage for CodeMie application data and artifacts | - -:::info Optional Components -Some components like Cloud Storage buckets or public DNS zones may be optional depending on your deployment configuration and requirements. -::: - -### Security & Identity - -| Resource | Purpose | -| -------------------------- | ----------------------------------------------------------------------------- | -| **Cloud KMS Key** | Encryption key for encrypting and decrypting sensitive data in AI/Run CodeMie | -| **Service Accounts** | Identity for accessing GCP services (Vertex AI, Cloud Storage, etc.) | -| **IAM Role Bindings** | Role-based access control for service accounts | -| **Private Service Access** | Secure, private network access to Cloud SQL | - -## Terraform Modules - -The core platform infrastructure leverages proven Terraform modules from the community to ensure reliability, security, and best practices: - -- [terraform-google-modules/service-accounts](https://registry.terraform.io/modules/terraform-google-modules/service-accounts/google/latest) -- [terraform-google-modules/kms](https://registry.terraform.io/modules/terraform-google-modules/kms/google/latest) -- [terraform-google-modules/network](https://registry.terraform.io/modules/terraform-google-modules/network/google/latest) -- [terraform-google-modules/cloud-nat](https://registry.terraform.io/modules/terraform-google-modules/cloud-nat/google/latest) -- [terraform-google-modules/kubernetes-engine](https://registry.terraform.io/modules/terraform-google-modules/kubernetes-engine/google/latest) -- [terraform-google-modules/bastion-host](https://registry.terraform.io/modules/terraform-google-modules/bastion-host/google/latest) -- [terraform-google-modules/cloud-dns](https://registry.terraform.io/modules/terraform-google-modules/cloud-dns/google/latest) -- [TerraformFoundation/sql-db/google/private_service_access](https://registry.terraform.io/modules/TerraformFoundation/sql-db/google/latest/submodules/private_service_access) -- [TerraformFoundation/sql-db/google/postgresql](https://registry.terraform.io/modules/TerraformFoundation/sql-db/google/latest/submodules/postgresql) - -## Next Steps - -With the infrastructure resources defined, you are now ready to proceed with the deployment of the GCP infrastructure. - -Proceed to the next step to deploy the infrastructure: - -- [**Scripted Deployment** →](./infrastructure-scripted-deployment) - Recommended automated deployment using the `gcp-terraform.sh` script -- [**Manual Deployment** →](./infrastructure-manual-deployment) - Advanced option for custom scenarios with manual Terraform control - -:::note Deployment Method Selection - -- **Scripted Deployment**: Handles prerequisites, validation, and orchestration automatically (recommended for most users) -- **Manual Deployment**: Provides full control over Terraform operations for advanced customization - ::: diff --git a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/manual-deployment.md b/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/manual-deployment.md deleted file mode 100644 index 574f97fc..00000000 --- a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/manual-deployment.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -id: infrastructure-manual-deployment -title: Manual Infrastructure Deployment -sidebar_label: Manual Deployment -sidebar_position: 2 -pagination_prev: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Manual Infrastructure Deployment - -This guide walks you through deploying GCP infrastructure for AI/Run CodeMie using Terraform with manual step-by-step instructions. This approach provides full control over each deployment phase and allows for customization at every step. - -:::tip When to Use Manual Deployment -Use manual deployment when you need: - -- Full control over each Terraform operation -- Understanding of each infrastructure component -- Custom configurations or modifications during deployment -- Troubleshooting capabilities at each step - ::: - -## Prerequisites - -Before starting the deployment, ensure you have completed all requirements from the [Prerequisites](../prerequisites.md) page: - -### Verification Checklist - -- [ ] **GCP Access**: Project Owner or Editor role with IAM permissions -- [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs -- [ ] **Tools Installed**: Terraform 1.13.5, gcloud CLI, kubectl, Helm, Docker -- [ ] **GCP Authentication**: Logged in with gcloud CLI and application default credentials configured -- [ ] **Repository Access**: Have access to Terraform and Helm repositories -- [ ] **Network Planning**: Prepared list of authorized networks (if accessing GKE API from workstation) -- [ ] **Domain & Certificate**: DNS zone and TLS certificate ready (for public access) or will use private DNS - -:::warning Authentication Required -You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth login` and `gcloud auth application-default login`. Verify the active project with `gcloud config get-value project`. -::: - -## Deployment Phases - -Manual deployment involves two sequential phases, both within the same repository: - -| Phase | Description | Directory | -| ------------------------------------ | ---------------------------------------------------------------------------------- | ----------------- | -| **Phase 1: State Backend** | Creates GCS bucket for Terraform state files | `remote-backend/` | -| **Phase 2: Platform Infrastructure** | Deploys GKE, networking, storage, databases, security components, and Bastion Host | `platform/` | - -:::info Bastion Host -Bastion Host is optional and only required for completely private GKE clusters with private DNS. For public clusters or clusters with authorized networks, you can access GKE API directly. -::: - -## Phase 1: Deploy Terraform State Backend - -The first step is to create a Google Cloud Storage bucket for storing Terraform state files. This bucket will be used by all subsequent infrastructure deployments to maintain state consistency and enable team collaboration. - -:::tip Why This Matters -The state backend ensures that your infrastructure state is stored securely and can be shared across your team. Without this, Terraform state would only exist locally on your machine. -::: - -1. Clone the platform repository to your local machine: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform.git -cd codemie-terraform-gcp-platform -``` - -2. Navigate to the `remote-backend/` directory and configure variables. There are two ways to provide Terraform variables: - -```bash -cd remote-backend -``` - - - - -Load variables from `deployment.conf` (`set -a` enables auto-export of all variables): - -```bash -set -a && source ../deployment.conf && set +a -``` - -Initialize Terraform and deploy the storage bucket: - -```bash -terraform init -terraform plan -out=tfplan -terraform apply tfplan -``` - - - - -Create a `terraform.tfvars` file in the `remote-backend/` directory: - -```hcl -project_id = "your-gcp-project-id" -region = "europe-west3" -storage_bucket_name = "codemie-terraform-states" - -# Optional: Custom labels -labels = { - "sys_name" = "ai_run" - "environment" = "development" - "project" = "ai_run" -} -``` - -Initialize Terraform and deploy the storage bucket: - -```bash -terraform init -terraform plan -out=tfplan -terraform apply tfplan -``` - - - - -3. After successful deployment, note the bucket name from Terraform outputs: - -```bash -export BACKEND_BUCKET=$(terraform output -raw terraform_states_storage_bucket_name) -echo "Backend bucket: $BACKEND_BUCKET" -``` - -:::tip Next Phase -The storage bucket is now ready. Proceed to Phase 2 to deploy the main platform infrastructure. -::: - -## Phase 2: Deploy Platform Infrastructure - -This phase deploys all core GCP resources required to run AI/Run CodeMie. This includes the GKE cluster, networking components, databases, and security infrastructure. - -1. Navigate to the `platform/` directory: - -```bash -cd ../platform -``` - -2. Configure and deploy. There are two ways to provide Terraform variables: - - - - -Load variables from `deployment.conf`: - -```bash -set -a && source ../deployment.conf && set +a -``` - -Initialize Terraform with backend configuration and deploy: - -```bash -terraform init \ - -backend-config="bucket=${BACKEND_BUCKET}" \ - -backend-config="prefix=${TF_VAR_region}/codemie/platform_terraform.tfstate" - -terraform plan -out=tfplan -terraform apply tfplan -``` - - - - -Create a `terraform.tfvars` file with your configuration: - -```hcl -# GCP Project Configuration -project_id = "your-gcp-project-id" -platform_name = "codemie" - -# Network Access Control (only used when private_cluster = true) -bastion_members = [ - "group:devops@airun.example.com", - "user:admin@airun.example.com" -] - -# DNS Configuration (only used when create_private_dns_zone = true) -dns_name = "codemie-example-com" -dns_domain = "codemie.airun.example.com." - -# GKE API Access (optional) -extra_authorized_networks = [ - { - cidr_block = "x.x.x.x/24" - display_name = "Office Network" - } -] - -# Cluster Configuration -private_cluster = false # Set to true for completely private GKE cluster -create_private_dns_zone = false # Set to true if using private DNS - -# Optional: Dedicated Cloud SQL Instances Configuration -# Set enabled = true to provision a dedicated Cloud SQL instance for the service. -# All other fields are optional and fall back to defaults. -keycloak_db_config = { enabled = true } -langfuse_db_config = { enabled = false } -litellm_db_config = { enabled = false } - -# Optional: Dedicated Cloud Memorystore Redis Instance -# Set enabled = true to provision a Memorystore Redis instance for caching. -# Supported fields: enabled, tier (BASIC|STANDARD_HA), memory_size_gb, redis_version. -codemie_cache_config = { enabled = false } -``` - -:::info Configuration References -For all available variables and their descriptions, see `variables.tf` in the `platform/` directory. -::: - -Set the backend bucket and region: - -```bash -export BACKEND_BUCKET="your-bucket-name-from-phase1" -export REGION="europe-west3" -``` - -Initialize Terraform with backend configuration and deploy: - -```bash -terraform init \ - -backend-config="bucket=${BACKEND_BUCKET}" \ - -backend-config="prefix=${REGION}/codemie/platform_terraform.tfstate" - -terraform plan -out=tfplan -terraform apply tfplan -``` - - - - -3. After successful deployment, verify all resources were created correctly: - -```bash -# View Terraform outputs -terraform output - -# Verify GKE cluster exists -gcloud container clusters list --project= - -# Check Cloud SQL instance -gcloud sql instances list --project= -``` - -**Save the Terraform outputs** — they contain critical information needed for subsequent steps, including: - -- GKE cluster connection commands -- Bastion Host SSH/RDP commands -- Cloud SQL connection details (`pg_host`, `pg_port`, `pg_database`, `pg_user`, `pg_secret_name`) -- Keycloak Cloud SQL details (`keycloak_pg_host`, `keycloak_pg_database`, `keycloak_pg_user`, `keycloak_pg_secret_name`) — present when `keycloak_db_config.enabled = true` -- LiteLLM Cloud SQL details (`litellm_pg_host`, `litellm_pg_database`, `litellm_pg_user`, `litellm_pg_secret_name`) — present when `litellm_db_config.enabled = true` -- Langfuse Cloud SQL details (`langfuse_pg_host`, `langfuse_pg_database`, `langfuse_pg_user`, `langfuse_pg_secret_name`) — present when `langfuse_db_config.enabled = true` -- Cache details (`codemie_cache_address`, `codemie_cache_secret`) — present when `codemie_cache_config.enabled = true` -- Service account information - -:::tip Infrastructure Ready -The GCP infrastructure deployment is now complete. You can proceed to configure cluster access or continue with components deployment. -::: - -## Next Steps - -After successful infrastructure deployment: - -- **Private GKE cluster with private DNS** — proceed to [Bastion Host Access Configuration](./bastion-host-access.md) to set up secure access before deploying components. -- **Public cluster or authorized networks** — proceed directly to [Components Deployment](../components-deployment/index.md). diff --git a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/scripted-deployment.md b/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/scripted-deployment.md deleted file mode 100644 index 6ab55d17..00000000 --- a/docs/admin/deployment/gcp/kubernetes/infrastructure-deployment/scripted-deployment.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -id: infrastructure-scripted-deployment -title: Infrastructure Scripted Deployment -sidebar_label: Scripted Deployment -sidebar_position: 1 -pagination_prev: admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/gcp/kubernetes/components-deployment/components-deployment-overview ---- - -# Scripted Infrastructure Deployment - -This guide walks you through deploying GCP infrastructure for AI/Run CodeMie using the automated `gcp-terraform.sh` deployment script. The script handles all deployment phases automatically: Terraform state backend and core platform infrastructure. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Prerequisites - -Before starting the deployment, ensure you have completed all requirements from the [Prerequisites](../prerequisites.md) page: - -### Verification Checklist - -- [ ] **GCP Access**: Project Owner or Editor role with IAM permissions -- [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs -- [ ] **Tools Installed**: tfenv, Terraform 1.13.5, gcloud CLI, kubectl, Helm, Docker -- [ ] **GCP Authentication**: Logged in with gcloud CLI and application default credentials configured -- [ ] **Repository Access**: Have access to Terraform and Helm repositories -- [ ] **Network Planning**: Prepared list of authorized networks (if accessing GKE API from workstation) - -:::warning Authentication Required -You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth login` and `gcloud auth application-default login`. Verify the active project with `gcloud config get-value project`. -::: - -## Deployment Phases - -The script automatically deploys infrastructure in sequential phases: - -| Phase | Description | Required | -| ------------------------------------ | ---------------------------------------------------------------------------------- | -------- | -| **Phase 1: State Backend** | Creates GCS bucket for Terraform state files | Yes | -| **Phase 2: Platform Infrastructure** | Deploys GKE, networking, storage, databases, security components, and Bastion Host | Yes | - -## Step 1: Clone Platform Repository - -Clone the platform Terraform repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform.git -cd codemie-terraform-gcp-platform -``` - -## Step 2: Configure Platform Deployment - -Edit `deployment.conf` file to provide your GCP-specific configuration: - -```bash -# GCP project ID where the platform will be deployed -TF_VAR_project_id="my-gcp-project-id" - -# GCP region where the platform will be deployed -TF_VAR_region="europe-west3" - -# GCS bucket name prefix for Terraform remote state storage -TF_VAR_storage_bucket_name="codemie-terraform-states" - -TF_VAR_labels='{"sys_name":"ai_run","environment":"development","project":"ai_run"}' - -# Unique platform identifier used in resource naming -TF_VAR_platform_name="codemie" - -# Whether to create a private GKE cluster -# Setting to true will also deploy a bastion host for cluster access -TF_VAR_private_cluster=false - -# Users/groups who can access the bastion host via IAP (only used when private_cluster = true) -# Format: ["user:email@domain.com", "group:group@domain.com"] -TF_VAR_bastion_members='["user:user@example.com"]' - -# Machine type for worker nodes -TF_VAR_node_pool_machine_type="e2-standard-8" -TF_VAR_node_pool_min_count=2 -TF_VAR_node_pool_max_count=3 - -# Additional networks authorized to access the GKE cluster API server -TF_VAR_extra_authorized_networks='[]' - -# Optional: Dedicated Cloud SQL Instances Configuration -# Set enabled=true to provision a dedicated Cloud SQL instance for the service. -# Omitted fields fall back to defaults (tier, db_name, username, etc.). -TF_VAR_keycloak_db_config='{"enabled":true}' -TF_VAR_langfuse_db_config='{"enabled":false}' -TF_VAR_litellm_db_config='{"enabled":false}' - -# Optional: Dedicated Cloud Memorystore Redis Instance Configuration -# Set enabled=true to provision a Memorystore Redis instance for caching. -# Supported fields: enabled, tier (BASIC|STANDARD_HA), memory_size_gb, redis_version. -TF_VAR_codemie_cache_config='{"enabled":false}' -``` - -:::info Complete Variable List -For all available configuration options, refer to the `platform/terraform.tfvars.example` file in the repository. -::: - -## Step 3: Run Deployment Script - -Execute the automated deployment script: - -```bash -bash ./gcp-terraform.sh -``` - -The script will automatically execute the following operations: - -1. **Validate Configuration**: Check `deployment.conf` for required variables -2. **Verify Prerequisites**: Check for required tools (tfenv, terraform, gcloud CLI) -3. **Check Terraform Version**: Ensure correct Terraform version via tfenv -4. **Verify GCP Authentication**: Validate active gcloud session and application default credentials -5. **Deploy State Backend**: Create GCS bucket for Terraform state storage (`remote-backend/`) -6. **Deploy Platform Infrastructure**: Provision core GCP infrastructure (`platform/`) -7. **Generate Outputs**: Create `deployment_outputs.env` with infrastructure details required for the next phases - -## Deployment Outputs - -Upon successful deployment, the script generates a `deployment_outputs.env` file containing essential infrastructure details needed for the next deployment phase: - -```bash -# GKE Cluster -GKE_CLUSTER_NAME=codemie-gke -GKE_LOCATION=europe-west3 -GKE_NETWORK=codemie-cluster-network -GKE_SUBNET=codemie-cluster-subnet -KUBECTL_COMMAND=gcloud container clusters get-credentials --project my-gcp-project --zone europe-west3 codemie-gke - -# PostgreSQL -CODEMIE_POSTGRES_DATABASE_HOST= -CODEMIE_POSTGRES_DATABASE_PORT=5432 -CODEMIE_POSTGRES_DATABASE_NAME=codemie -CODEMIE_POSTGRES_DATABASE_USER=admin -CODEMIE_POSTGRES_DATABASE_INSTANCE=codemie-postgresql -CODEMIE_POSTGRES_DATABASE_SECRET=codeemiePGDB -CODEMIE_POSTGRES_DATABASE_PASSWORD=generated-password - -# GCP -VERTEX_PROJECT=my-gcp-project - -# Keycloak PostgreSQL (present when keycloak_db_config.enabled=true) -KEYCLOAK_POSTGRES_DATABASE_HOST= -KEYCLOAK_POSTGRES_DATABASE_PORT=5432 -KEYCLOAK_POSTGRES_DATABASE_NAME=keycloak -KEYCLOAK_POSTGRES_DATABASE_USER=keycloak_admin -KEYCLOAK_POSTGRES_DATABASE_INSTANCE=codemie-keycloak-postgresql -KEYCLOAK_POSTGRES_DATABASE_SECRET=codemieKeycloakPGDB -KEYCLOAK_POSTGRES_DATABASE_PASSWORD=generated-password - -# LiteLLM PostgreSQL (present when litellm_db_config.enabled=true) -LITELLM_POSTGRES_DATABASE_HOST= -LITELLM_POSTGRES_DATABASE_PORT=5432 -LITELLM_POSTGRES_DATABASE_NAME=litellm -LITELLM_POSTGRES_DATABASE_USER=litellm_admin -LITELLM_POSTGRES_DATABASE_INSTANCE=codemie-litellm-postgresql -LITELLM_POSTGRES_DATABASE_SECRET=codemieLitellmPGDB -LITELLM_POSTGRES_DATABASE_PASSWORD=generated-password - -# Langfuse PostgreSQL (present when langfuse_db_config.enabled=true) -LANGFUSE_POSTGRES_DATABASE_HOST= -LANGFUSE_POSTGRES_DATABASE_PORT=5432 -LANGFUSE_POSTGRES_DATABASE_NAME=langfuse -LANGFUSE_POSTGRES_DATABASE_USER=langfuse_admin -LANGFUSE_POSTGRES_DATABASE_INSTANCE=codemie-langfuse-postgresql -LANGFUSE_POSTGRES_DATABASE_SECRET=codemieLangfusePGDB -LANGFUSE_POSTGRES_DATABASE_PASSWORD=generated-password - -# Cache (present when codemie_cache_config.enabled=true) -CODEMIE_CACHE_ADDRESS= -CODEMIE_CACHE_SECRET=generated-auth-string -``` - -:::tip Save These Outputs -The `deployment_outputs.env` file contains sensitive information. Store it securely, do not commit to version control and reference it during the Components Deployment phase. -::: - -## Post-Deployment Validation - -After deployment completes, verify that all infrastructure was created successfully: - -### Step 1: Verify GCP Resources - -```bash -# Verify GKE cluster status -gcloud container clusters list --project= - -# Check Cloud SQL instance -gcloud sql instances list --project= - -# Check Memorystore Redis instance (if enabled) -gcloud redis instances list --project= --region= - -# Verify GCS state bucket -gcloud storage buckets list | grep terraform -``` - -### Step 2: Check Deployment Logs - -Review the deployment logs in the `logs/` directory for any warnings or errors: - -```bash -less logs/codemie_gcp_deployment_YYYY-MM-DD-HHMMSS.log -``` - -## Next Steps - -After successful infrastructure deployment and validation: - -- **Private GKE cluster with private DNS** — proceed to [Bastion Host Access Configuration](./bastion-host-access.md) to set up secure access before deploying components. -- **Public cluster or authorized networks** — proceed directly to [Components Deployment](../components-deployment/index.md). diff --git a/docs/admin/deployment/gcp/kubernetes/overview.md b/docs/admin/deployment/gcp/kubernetes/overview.md deleted file mode 100644 index cd2836b4..00000000 --- a/docs/admin/deployment/gcp/kubernetes/overview.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: overview -title: AI/Run Deployment Guide on GCP -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/gcp/kubernetes/prerequisites ---- - -import OverviewContent from '../../common/deployment/overview/\_overview-content.mdx'; - - diff --git a/docs/admin/deployment/gcp/kubernetes/prerequisites.md b/docs/admin/deployment/gcp/kubernetes/prerequisites.md deleted file mode 100644 index d104ab45..00000000 --- a/docs/admin/deployment/gcp/kubernetes/prerequisites.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/gcp/kubernetes/overview -pagination_next: admin/deployment/gcp/kubernetes/architecture ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import ClusterRequirements from '../../common/deployment/prerequisites/\_cluster-requirements.mdx'; -import NetworkRequirements from '../../common/deployment/prerequisites/\_network-requirements.mdx'; -import DeploymentMachineTools from '../../common/deployment/prerequisites/\_deployment-machine-tools.mdx'; -import NextSteps from '../../common/deployment/prerequisites/\_next-steps.mdx'; - -# Prerequisites - -This page outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie on Google Cloud Platform (GCP). -Please ensure all requirements are met before proceeding with the installation. - -## GCP Account Requirements - -### Required Access and Permissions - -To deploy AI/Run CodeMie on GCP, you need: - -- **Active GCP Project** with sufficient quota for the required resources -- **Project Owner or Editor Role** for the deployment user with the following permissions: - - Ability to create and manage IAM Roles and Service Accounts - - Access to create and manage GCP resources (GKE, VPC, Cloud SQL, etc.) - :::info Complete Resource List - For a detailed list of all GCP resources that will be provisioned, refer to the [Infrastructure Deployment](./infrastructure-deployment/index.md) section or review the Terraform modules in the deployment repository. - ::: - - Ability to bind the following IAM roles to service accounts: - - `roles/aiplatform.user` - For Vertex AI access - - `roles/storage.admin` - For Cloud Storage management - - `roles/cloudkms.cryptoKeyEncrypterDecrypter` - For encryption key operations - -### Required GCP APIs - -The following APIs must be enabled in your GCP project before deployment: - -| API | Purpose | -| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -| [Cloud Identity-Aware Proxy API](https://console.cloud.google.com/marketplace/product/google/iap.googleapis.com) | Secure identity-based access control | -| [Service Networking API](https://console.cloud.google.com/marketplace/product/google/servicenetworking.googleapis.com) | Private service connectivity | -| [Secret Manager API](https://console.cloud.google.com/marketplace/product/google/secretmanager.googleapis.com) | Centralized secrets management | -| [Vertex AI API](https://console.cloud.google.com/marketplace/product/google/aiplatform.googleapis.com) | AI model integration and inference | - -:::info Vertex AI Models -Make sure you are familiar with Gemini models, their parameters, available regions, and other crucial details in the [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/models). -::: - -## Network Requirements - -### Domain Name and DNS - -- Registered domain name delegated to Cloud DNS with permissions to create DNS records -- Valid wildcard TLS certificate must be available for HTTPS connections (see [Ingress NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/)) - - - - - -## GKE Cluster Configuration - -### VPC-Native Networking and Container-Native Load Balancing - -AI/Run CodeMie requires GKE clusters configured with **VPC-native networking** and **container-native load balancing (NEGs)** for proper Ingress functionality. - -**Required Configuration:** - -- **Networking Mode:** `VPC_NATIVE` with IP allocation policy (secondary ranges for pods and services) -- **HTTP Load Balancing Addon:** Enabled (default) - -:::warning Network Policy Disables Automatic NEGs -If your cluster uses **GKE Network Policy** or **Calico**, container-native load balancing will NOT be enabled automatically. This causes Ingress errors: - -``` -service "namespace/service" is type "ClusterIP", expected "NodePort" or "LoadBalancer" -``` - -**Solution:** Manually enable NEGs by adding this annotation to all Services exposed via Ingress in chart values. For example: - -```yaml -service: - type: ClusterIP - port: 8080 - annotations: - cloud.google.com/neg: '{"ingress": true}' -``` - -::: - - - -:::note gcloud CLI Multi-Purpose -For GCP deployments, gcloud CLI serves dual purposes: GCP resource management and authentication to AI/Run CodeMie container registry (GCR). -::: - -### Required Repository Access - -You will need access to the following repositories to complete the deployment: - -- **Terraform Platform Modules:** [codemie-terraform-gcp-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - -:::info Air-Gapped Environments -If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. -::: - - diff --git a/docs/admin/deployment/gcp/on-vm/architecture.mdx b/docs/admin/deployment/gcp/on-vm/architecture.mdx deleted file mode 100644 index a90abc66..00000000 --- a/docs/admin/deployment/gcp/on-vm/architecture.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -id: architecture -title: On VM Deployment Architecture (GCP) -sidebar_label: Architecture -sidebar_position: 3 -pagination_prev: admin/deployment/gcp/on-vm/prerequisites -pagination_next: admin/deployment/gcp/on-vm/deployment/deployment ---- - -# On VM Deployment Architecture (GCP) - -This page describes the infrastructure and application architecture of CodeMie On VM on GCP. - -## Infrastructure Overview - -![GCP On VM Infrastructure Architecture](./images/architecture-diagram.drawio.png) - -CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform provisions the following resources: - -| Resource | Purpose | -| ------------------------------ | -------------------------------------------------------------------- | -| **GCE VM (n2-highmem-4)** | Single VM running Docker Compose (4 vCPU, 32 GB RAM) | -| **VPC / Subnet** | Isolated network for the VM | -| **Firewall Rules** | Controls inbound/outbound traffic to the VM | -| **GCS Bucket** | Persistent storage for user data (repos, files) | -| **Cloud KMS Key** | Encryption key management for storage data | -| **Cloud DNS Private Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | -| **IAP (Identity-Aware Proxy)** | Secure SSH access to the VM without exposing a public IP | -| **Secret Manager** | Stores the SSH private key for VM access | - -### Network Modes - -| Mode | Configuration | Access | -| ------------------------ | ------------------------------------------------ | ----------------------------------------------- | -| **Private IP** (default) | `TF_VAR_platform_domain_name` empty | VM private IP, access via VPN or IAP | -| **Domain** | `TF_VAR_platform_domain_name="codemie.internal"` | Creates Cloud DNS private zone, access via name | - -## Application Architecture - -All CodeMie services run as Docker containers on the GCE VM, orchestrated by Docker Compose. - -![Docker Compose Services](../../common/deployment/images/docker-compose-diagram.drawio.png) - -### Services by Profile - -**Shared services** (both profiles): - -| Service | Image | Purpose | -| ------------- | --------------------------- | ------------------------------------------------- | -| postgres | pgvector/pgvector:pg17 | Primary database for application data | -| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | -| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | -| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | -| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | - -**OSS profile:** - -| Service | Purpose | -| -------------- | --------------------------------------------- | -| codemie-oss | API server with built-in local authentication | -| codemie-ui-oss | Web frontend | - -**Enterprise profile:** - -| Service | Purpose | -| ----------------- | ---------------------------------------------- | -| codemie | API server | -| codemie-ui | Web frontend | -| keycloak | Identity provider (SSO, OIDC) | -| oauth2-proxy | Authentication proxy in front of nginx | -| litellm | LLM proxy for model routing and key management | -| nats | Messaging for plugin engine | -| nats-auth-callout | NATS authentication service | -| mermaid-server | Diagram rendering | - -## Resource Requirements - -### Minimum GCE VM - -| Resource | Minimum | Recommended | -| -------- | ------- | ---------------- | -| vCPU | 4 | 4 (n2-highmem-4) | -| RAM | 16 GB | 32 GB | -| Disk | 50 GB | 100 GB | - -## Next Steps - -- [Deployment](../deployment/) — Deploy CodeMie On VM with Terraform diff --git a/docs/admin/deployment/gcp/on-vm/deployment/byo.md b/docs/admin/deployment/gcp/on-vm/deployment/byo.md deleted file mode 100644 index 8755ca04..00000000 --- a/docs/admin/deployment/gcp/on-vm/deployment/byo.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -id: byo -title: BYO GCE VM Deployment -sidebar_label: BYO GCE VM -sidebar_position: 7 -pagination_prev: admin/deployment/gcp/on-vm/deployment/manual-deployment -pagination_next: null ---- - -# BYO GCE VM Deployment - -Deploy CodeMie on an **existing GCE VM** that is not managed by this project's Terraform. This mode skips all infrastructure provisioning and directly provisions the application stack. - -## When to Use - -- You already have a GCE VM (provisioned manually or via another Terraform stack) -- You want to avoid creating additional GCP resources via Terraform -- Your organization manages infrastructure separately from application deployment - -## VM Requirements - -Your existing GCE VM must meet these requirements: - -| Requirement | Details | -| ------------------- | ------------------------------------------------------------------- | -| **OS** | Ubuntu 24.04 | -| **Machine type** | Minimum n2-standard-4 (4 vCPU, 16 GB RAM); recommended n2-highmem-4 | -| **Disk** | Minimum 50 GB; recommended 100 GB | -| **Internet access** | Outbound HTTPS for pulling Docker images | -| **IAP access** | VM must be in a VPC with IAP firewall rule (if using `iap` mode) | - -## Configuration - -Edit `deployment.conf` with BYO-specific variables: - -```bash -CLOUD_PROVIDER="gcp" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# ── BYO GCE ────────────────────────────────────────────────────────── -BYO_VM_HOST="" # Private IP of the VM -BYO_VM_USER="ubuntu" # SSH user on the target VM -BYO_VM_SSH_KEY="" # Absolute path to SSH private key -BYO_VM_SSH_MODE="iap" # iap | direct -BYO_GCP_PROJECT_ID="" # GCP project (required for iap mode) -BYO_GCP_ZONE="" # e.g. europe-west3-a (required for iap mode) -BYO_GCP_INSTANCE_NAME="" # GCE instance name (required for iap mode) -BYO_GCS_BUCKET_NAME="" # Existing GCS bucket for file storage -BYO_GCP_KMS_KEY_ID="" # Cloud KMS crypto key ID (empty = plain encryption) -BYO_PLATFORM_DOMAIN_NAME="" # Optional: overrides CODEMIE_HOST -``` - -### SSH Modes - -| Mode | When to Use | Requirements | -| -------- | ----------------------------------------------- | -------------------------------------------------------------------------------- | -| `iap` | VM in private VPC, access via IAP (recommended) | IAP firewall rule, `BYO_GCP_PROJECT_ID`, `BYO_GCP_ZONE`, `BYO_GCP_INSTANCE_NAME` | -| `direct` | VM has a reachable IP and port 22 is open | SSH private key, network access to port 22 | - -### BYO_VM_HOST - -`BYO_VM_HOST` sets the application URL (`CODEMIE_HOST`): - -| Scenario | `BYO_VM_HOST` value | Result | -| ------------------------------ | ------------------- | -------------------------------------- | -| VM private IP (access via VPN) | `10.0.1.5` | `CODEMIE_HOST=https://10.0.1.5` | -| Custom domain | Any IP (overridden) | Set `BYO_PLATFORM_DOMAIN_NAME` instead | - -### Encryption - -| Setting | Behavior | -| -------------------------- | ------------------------------------------------------------ | -| `BYO_GCP_KMS_KEY_ID` empty | `ENCRYPTION_TYPE=plain` — data stored without envelope key | -| `BYO_GCP_KMS_KEY_ID` set | `ENCRYPTION_TYPE=gcp` — storage data protected via Cloud KMS | - -## Deployment - -### Step 1: Place the GCP Registry Key - -This is a GCP service account credentials file used to pull CodeMie container images from Google Artifact Registry. - -:::info -For open-source deployments with self-built images, this key is optional. -::: - -```bash -cp /path/to/key.json ./key.json -``` - -### Step 2: Run BYO Deployment - -```bash -./deploy.sh --byo -``` - -The script executes: - -| Phase | Description | -| ------------------------ | ------------------------------------------------- | -| Loading config | Validates BYO-specific variables | -| Checking prerequisites | Verifies tools (Terraform not required) | -| Verifying GCP session | Only for iap mode — confirms `gcloud` is active | -| Setting up BYO variables | Maps config to internal variables | -| Generating .env | Creates secrets, renders environment file | -| Setting up SSH | Configures SSH transport (IAP tunnel or direct) | -| Provisioning VM | Installs Docker, syncs files, starts services | -| Writing outputs | Saves deployment info to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -### Step 3: Verify - -```bash -curl -k https:///v1/healthcheck -``` - -## Re-deploying - -Run `./deploy.sh --byo` again. Secrets from `deployment_outputs.env` are preserved automatically. - -## Troubleshooting - -### IAP tunnel connection refused - -- Verify the IAP firewall rule exists: `gcloud compute firewall-rules list --filter="name~iap"` -- Confirm `BYO_GCP_INSTANCE_NAME` matches the exact GCE instance name -- Check `BYO_GCP_ZONE` is in the format `region-zone` (e.g., `europe-west3-a`) -- Ensure `gcloud auth application-default login` has been run and the account has `roles/iap.tunnelResourceAccessor` - -### Docker login fails - -The `key.json` must be a valid GCP service account with access to `europe-west3-docker.pkg.dev`. Verify locally: - -```bash -cat key.json | docker login -u _json_key --password-stdin https://europe-west3-docker.pkg.dev -``` - -### Containers unhealthy - -SSH into the VM and check logs: - -```bash -cd /opt/codemie/compose -docker compose --profile enterprise logs --tail=50 -docker compose --profile enterprise ps -``` diff --git a/docs/admin/deployment/gcp/on-vm/deployment/index.md b/docs/admin/deployment/gcp/on-vm/deployment/index.md deleted file mode 100644 index f741ae02..00000000 --- a/docs/admin/deployment/gcp/on-vm/deployment/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: deployment -title: Deployment -sidebar_label: Deployment -sidebar_position: 4 -pagination_prev: admin/deployment/gcp/on-vm/architecture -pagination_next: admin/deployment/gcp/on-vm/deployment/scripted-deployment ---- - -# Deployment - -This section covers deploying CodeMie On VM infrastructure and application stack on GCP. - -## Deployment Methods - -| Method | Description | When to Use | -| ------------------------------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| [**Scripted Deployment**](./scripted-deployment) | Fully automated — single `./deploy.sh` handles Terraform and provisioning | Recommended for most users | -| [**Manual Deployment**](./manual-deployment) | Step-by-step Terraform commands, then BYO mode for application provisioning | When you need full control or are integrating with existing workflows | - -:::tip Recommendation -Use **Scripted Deployment** unless you have specific requirements for manual Terraform control. The script handles prerequisite checks, configuration validation, and proper phase sequencing automatically. -::: - -## Deployment Phases - -Both methods execute the same logical phases: - -| Phase | Description | -| ---------------------------- | ------------------------------------------------------------------------ | -| **Terraform State Backend** | Creates GCS bucket for Terraform state (one-time) | -| **Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, Private DNS zone, firewall | -| **Application Provisioning** | Installs Docker, syncs compose files, generates secrets, starts services | - -## Next Steps - -- [Scripted Deployment](./scripted-deployment) — Automated deployment with `./deploy.sh` -- [Manual Deployment](./manual-deployment) — Manual Terraform + BYO application provisioning diff --git a/docs/admin/deployment/gcp/on-vm/deployment/manual-deployment.md b/docs/admin/deployment/gcp/on-vm/deployment/manual-deployment.md deleted file mode 100644 index 57df0bfe..00000000 --- a/docs/admin/deployment/gcp/on-vm/deployment/manual-deployment.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -id: manual-deployment -title: Manual Deployment -sidebar_label: Manual Deployment -sidebar_position: 6 -pagination_prev: admin/deployment/gcp/on-vm/deployment/scripted-deployment -pagination_next: admin/deployment/gcp/on-vm/deployment/byo ---- - -# Manual Deployment - -This guide provides step-by-step instructions for manually deploying CodeMie On VM infrastructure using Terraform on GCP, followed by application provisioning via BYO mode (`./deploy.sh --byo`). - -:::info When to Use Manual Deployment -Manual deployment is suitable when you need fine-grained control over each Terraform phase, want to customize infrastructure configurations, or are integrating with existing infrastructure management workflows. -::: - -## Prerequisites - -Ensure you have completed all requirements from the [Prerequisites](../../prerequisites) page: - -- [ ] **GCP Access**: Active project with required IAM roles -- [ ] **Tools Installed**: Terraform 1.15.x, gcloud CLI, jq, openssl, envsubst -- [ ] **GCP Authentication**: `gcloud auth application-default login` completed -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry**: `key.json` file available - -## Deployment Phases - -| Phase | Description | Directory | -| ------------------------------------ | ------------------------------------------------------- | ------------------------------- | -| **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | -| **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | -| **Phase 3: Application** | Deploys Docker Compose stack via BYO mode | `./` (repo root) | - ---- - -## Phase 1: Terraform State Backend - -:::info One-Time Setup -This phase only needs to run once per GCP project. It creates the GCS bucket used to store Terraform state for subsequent phases. -::: - -1. Navigate to the remote backend directory: - -```bash -cd terraform/gcp/remote-backend/ -``` - -2. Initialize Terraform: - -```bash -terraform init -``` - -3. Create `terraform.tfvars`: - -```hcl -project_id = "my-codemie-project" -region = "europe-west3" -states_bucket_name = "codemie-tfstate" -``` - -4. Plan and apply: - -```bash -terraform plan -out=tfplan -terraform apply tfplan -``` - -5. Note the GCS bucket name from the outputs — you will use it as `TF_VAR_states_bucket_name` in the next phase. - ---- - -## Phase 2: Platform Infrastructure - -1. Navigate to the platform directory: - -```bash -cd terraform/gcp/platform/ -``` - -2. Create `backend.tfvars`: - -```hcl -bucket = "codemie-tfstate" -prefix = "codemie/platform" -``` - -3. Initialize Terraform with backend configuration: - -```bash -terraform init -backend-config=backend.tfvars -``` - -4. Create `terraform.tfvars`: - -```hcl -project_id = "my-codemie-project" -region = "europe-west3" -zone_suffix = "a" -platform_name = "codemie" -machine_type = "n2-highmem-4" -disk_size = 100 -platform_domain_name = "" # Leave empty for private IP access -``` - -5. Plan and apply: - -```bash -terraform plan -out=tfplan -terraform apply tfplan -``` - -6. Note the outputs: - -```bash -terraform output vm_private_ip -terraform output gcs_bucket_name -terraform output kms_key_id -terraform output instance_name -terraform output zone -``` - ---- - -## Phase 3: Application Provisioning (BYO Mode) - -Now that infrastructure is provisioned, use BYO mode to deploy the application stack. - -1. Navigate to the project root. - -2. Place the GCP registry key: - -```bash -cp /path/to/key.json ./key.json -``` - -3. Configure `deployment.conf` with BYO settings from Phase 2 outputs: - -```bash -CLOUD_PROVIDER="gcp" -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise - -# BYO GCE VM settings -BYO_VM_HOST="" # From terraform output -BYO_VM_USER="ubuntu" -BYO_VM_SSH_KEY="/path/to/codemie-key" -BYO_VM_SSH_MODE="iap" # iap | direct -BYO_GCP_PROJECT_ID="" # Your GCP project -BYO_GCP_ZONE="" # e.g. europe-west3-a -BYO_GCP_INSTANCE_NAME="" # From terraform output -BYO_GCS_BUCKET_NAME="" # From terraform output -BYO_GCP_KMS_KEY_ID="" # From terraform output (empty = plain encryption) -BYO_PLATFORM_DOMAIN_NAME="" # Optional: overrides CODEMIE_HOST -``` - -4. Run BYO deployment: - -```bash -./deploy.sh --byo -``` - -5. Verify: - -```bash -curl -k https:///v1/healthcheck -``` - -## Re-deploying - -To update CodeMie: - -1. Edit `deployment.conf` (change `CODEMIE_VERSION`) -2. Run `./deploy.sh --byo` again — secrets are preserved automatically - -## Next Steps - -- [BYO VM](../byo) — Deploy on a completely external GCE VM not managed by this Terraform diff --git a/docs/admin/deployment/gcp/on-vm/deployment/scripted-deployment.md b/docs/admin/deployment/gcp/on-vm/deployment/scripted-deployment.md deleted file mode 100644 index ef61e609..00000000 --- a/docs/admin/deployment/gcp/on-vm/deployment/scripted-deployment.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -id: scripted-deployment -title: Scripted Deployment -sidebar_label: Scripted Deployment -sidebar_position: 5 -pagination_prev: admin/deployment/gcp/on-vm/deployment/deployment -pagination_next: admin/deployment/gcp/on-vm/deployment/manual-deployment ---- - -# Scripted Deployment - -This guide walks through deploying CodeMie On VM on GCP using the automated `deploy.sh` script. The script handles all phases: Terraform state backend, infrastructure provisioning, and application deployment. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Step 1: Clone the Repository - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -## Step 2: Place the GCP Registry Key - -Copy your `key.json` file to the repository root: - -```bash -cp /path/to/key.json ./key.json -``` - -## Step 3: Create Deployment Configuration - -```bash -cp deployment.conf.gcp.example deployment.conf -``` - -Edit `deployment.conf`: - -```bash -CLOUD_PROVIDER="gcp" - -# ── GCP ────────────────────────────────────────────────────────────── -TF_VAR_project_id="" # GCP project ID e.g. my-codemie-project -TF_VAR_region="europe-west3" -TF_VAR_zone_suffix="a" # Zone = ${region}-${zone_suffix} - -# ── Terraform State ────────────────────────────────────────────────── -TF_VAR_states_bucket_name="" # GCS bucket name (created by bootstrap phase) - -# ── Platform ───────────────────────────────────────────────────────── -TF_VAR_platform_name="codemie" - -# ── VM ─────────────────────────────────────────────────────────────── -TF_VAR_machine_type="n2-highmem-4" # 4 vCPU, 32 GB RAM -TF_VAR_disk_size=100 # Boot disk size in GB - -# ── Domain & Private DNS (optional) ────────────────────────────────── -TF_VAR_platform_domain_name="" # e.g. codemie.internal - -# ── CodeMie ────────────────────────────────────────────────────────── -CODEMIE_VERSION="2.26.0" -COMPOSE_PROFILE="enterprise" # oss | enterprise -``` - -## Step 4: Authenticate with GCP - -```bash -gcloud auth application-default login - -# Verify active project: -gcloud config get-value project -``` - -## Step 5: Run the Deployment - -```bash -./deploy.sh -``` - -The script executes the following phases: - -| Phase | Description | -| ------------------------------ | ---------------------------------------------------------------- | -| Loading config | Validates `deployment.conf` variables | -| Checking prerequisites | Verifies required tools are installed | -| Verifying GCP credentials | Confirms valid `gcloud` session and project | -| Initializing Terraform backend | Creates GCS bucket for Terraform state | -| Running platform Terraform | Plans and applies VM, GCS bucket, Cloud KMS key, DNS, firewall | -| Reading Terraform outputs | Fetches VM private IP, GCS bucket name, KMS key ID | -| Generating .env | Creates secrets and renders Docker Compose environment | -| Provisioning VM | Installs Docker, syncs files, starts services via IAP SSH tunnel | -| Writing outputs | Saves credentials to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - -:::warning Interactive Prompts -The script will pause for approval at each Terraform plan stage. Review the plans carefully before typing `y`. -::: - -## Step 6: Verify Deployment - -After the script completes: - -```bash -curl -k https:///v1/healthcheck -``` - -Expected response: `{"status":"ok"}` - -## Deployment Outputs - -The script creates `deployment_outputs.env` with: - -- **CODEMIE_URL** — Application URL -- **VM_PRIVATE_IP** — VM private IP address -- **SSH_COMMAND** — Full SSH command for access via IAP -- **Credentials** — Keycloak admin or superadmin password -- **Internal secrets** — Preserved across re-runs - -:::danger Sensitive File -`deployment_outputs.env` contains passwords and secrets. Do not commit it to version control. -::: - -## SSH Access - -Connect to the VM via IAP: - -```bash -gcloud compute ssh \ - --project \ - --zone \ - --tunnel-through-iap -``` - -The instance name, project, and zone are printed in the deployment summary and available in `deployment_outputs.env`. - -## Re-deploying / Updating - -To update CodeMie version or configuration: - -1. Edit `deployment.conf` (e.g., change `CODEMIE_VERSION`) -2. Run `./deploy.sh` again - -The script detects the existing `deployment_outputs.env` and preserves all secrets. - -## Next Steps - -- [Manual Deployment](../manual-deployment) — Alternative method with full Terraform control diff --git a/docs/admin/deployment/gcp/on-vm/overview.md b/docs/admin/deployment/gcp/on-vm/overview.md deleted file mode 100644 index 8dce047d..00000000 --- a/docs/admin/deployment/gcp/on-vm/overview.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -id: overview -title: AI/Run CodeMie On VM Deployment Guide (GCP) -sidebar_label: Overview -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/gcp/on-vm/prerequisites ---- - -# AI/Run CodeMie On VM Deployment (GCP) - -CodeMie On VM deploys the full AI/Run CodeMie platform on a **single GCE VM** using Docker Compose. It provides the same core functionality as the full GCP (GKE) deployment but with minimal infrastructure overhead. - -## When to Use - -CodeMie On VM is designed for: - -- **Proof of Concept (PoC)** — quickly validate CodeMie capabilities in your environment -- **Demo environments** — showcase CodeMie to stakeholders without complex infrastructure - -:::warning Not for Production -For production workloads with high availability, scaling, and redundancy, use the full [GCP GKE Deployment Guide](../../kubernetes/overview). -::: - -## Deployment Profiles - -CodeMie On VM supports two profiles: - -| Profile | Authentication | LLM Proxy | Plugin Tool | -| -------------- | ----------------------- | --------- | ----------- | -| **OSS** | Local (built-in) | Internal | No | -| **Enterprise** | Keycloak + OAuth2 Proxy | LiteLLM | Yes | - -## Deployment Modes - -| Mode | Command | Infrastructure | -| ------------ | ------------------- | ---------------------------------------------------- | -| **Standard** | `./deploy.sh` | Terraform creates VM, GCS bucket, Cloud KMS key, DNS | -| **BYO VM** | `./deploy.sh --byo` | Use your existing GCE VM | - -## Repository - -All deployment code is hosted at: [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) - -``` -codemie-on-vm/ -├── compose/ # Docker Compose files and config -├── deploy.sh # Deployment script -├── destroy.sh # Destroy script -├── deployment.conf.gcp.example # GCP configuration template -└── terraform/ - └── gcp/ - ├── remote-backend/ # GCS bucket for Terraform state - └── platform/ # VM, GCS bucket, KMS key, DNS infrastructure -``` - -## Next Steps - -Proceed to [Prerequisites](../prerequisites) to verify your environment is ready for deployment. diff --git a/docs/admin/deployment/gcp/on-vm/prerequisites.md b/docs/admin/deployment/gcp/on-vm/prerequisites.md deleted file mode 100644 index 4744bd1e..00000000 --- a/docs/admin/deployment/gcp/on-vm/prerequisites.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/gcp/on-vm/overview -pagination_next: admin/deployment/gcp/on-vm/architecture ---- - -# Prerequisites - -This page outlines the requirements for deploying AI/Run CodeMie On VM on GCP. Ensure all prerequisites are met before proceeding. - -## GCP Account Requirements - -### Required Access and Permissions - -- **Active GCP Project** with sufficient quota for the required resources -- The operator account must have the following roles or equivalent permissions: - - `roles/iap.tunnelResourceAccessor` — SSH access to the VM via IAP - - `roles/secretmanager.secretAccessor` — fetch SSH key from Secret Manager - - Permissions to create: GCE VM, GCS bucket, Cloud KMS key, Cloud DNS private zone, VPC firewall rules - -### Quota Requirements - -Verify sufficient quota for: - -| Resource | Count | -| ---------------------- | ------------ | -| n2-highmem-4 VM | 1 | -| GCS Bucket | 1 | -| Cloud KMS Key | 1 | -| Cloud DNS Private Zone | 1 (optional) | - -## Deployment Machine Tools - -The following tools must be installed on the machine where you run `./deploy.sh`: - -| Tool | Version | Purpose | -| -------------------------------------------------------------- | ------- | --------------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [gcloud CLI](https://cloud.google.com/sdk/docs/install) | latest | GCP authentication and management | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -**Enterprise profile only:** - -| Tool | Version | Purpose | -| ------------------------------------- | ------- | ------------------- | -| [nsc](https://github.com/nats-io/nsc) | latest | NATS key generation | - -### Verify Installation - -```bash -terraform version # Should show 1.15.x -gcloud version -jq --version -openssl version -envsubst --version -``` - -## GCP Container Registry Access - -CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry. - -:::info Obtaining key.json -Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. -::: - -## GCP Authentication - -Authenticate before running the deployment: - -```bash -gcloud auth application-default login - -# Verify active project -gcloud config get-value project -``` - -## Repository Access - -Clone the deployment repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -The repository structure: - -| Directory | Purpose | -| ------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `destroy.sh` | Destroy script | -| `terraform/gcp/remote-backend/` | GCS bucket for Terraform state | -| `terraform/gcp/platform/` | VM, GCS bucket, KMS key, DNS, firewall | - -## Next Steps - -After verifying all prerequisites, review the [Architecture](../architecture) to understand what will be deployed. diff --git a/docs/admin/deployment/aws/kubernetes/images/architecture-diagram.drawio.png b/docs/admin/deployment/images/architecture-diagram-aws.drawio.png similarity index 100% rename from docs/admin/deployment/aws/kubernetes/images/architecture-diagram.drawio.png rename to docs/admin/deployment/images/architecture-diagram-aws.drawio.png diff --git a/docs/admin/deployment/azure/kubernetes/images/architecture-diagram.drawio.png b/docs/admin/deployment/images/architecture-diagram-azure.drawio.png similarity index 100% rename from docs/admin/deployment/azure/kubernetes/images/architecture-diagram.drawio.png rename to docs/admin/deployment/images/architecture-diagram-azure.drawio.png diff --git a/docs/admin/deployment/gcp/kubernetes/images/architecture-diagram.drawio.png b/docs/admin/deployment/images/architecture-diagram-gcp.drawio.png similarity index 100% rename from docs/admin/deployment/gcp/kubernetes/images/architecture-diagram.drawio.png rename to docs/admin/deployment/images/architecture-diagram-gcp.drawio.png diff --git a/docs/admin/deployment/aws/on-vm/images/domain-mode-diagram.drawio.png b/docs/admin/deployment/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png similarity index 100% rename from docs/admin/deployment/aws/on-vm/images/domain-mode-diagram.drawio.png rename to docs/admin/deployment/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png diff --git a/docs/admin/deployment/aws/on-vm/images/ip-mode-diagram.drawio.png b/docs/admin/deployment/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png similarity index 100% rename from docs/admin/deployment/aws/on-vm/images/ip-mode-diagram.drawio.png rename to docs/admin/deployment/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png diff --git a/docs/admin/deployment/aws/on-vm/images/private-mode-diagram.drawio.png b/docs/admin/deployment/images/on-vm-architecture-diagram-aws-private-mode.drawio.png similarity index 100% rename from docs/admin/deployment/aws/on-vm/images/private-mode-diagram.drawio.png rename to docs/admin/deployment/images/on-vm-architecture-diagram-aws-private-mode.drawio.png diff --git a/docs/admin/deployment/azure/on-vm/images/architecture-diagram.drawio.png b/docs/admin/deployment/images/on-vm-architecture-diagram-azure.drawio.png similarity index 100% rename from docs/admin/deployment/azure/on-vm/images/architecture-diagram.drawio.png rename to docs/admin/deployment/images/on-vm-architecture-diagram-azure.drawio.png diff --git a/docs/admin/deployment/gcp/on-vm/images/architecture-diagram.drawio.png b/docs/admin/deployment/images/on-vm-architecture-diagram-gcp.drawio.png similarity index 100% rename from docs/admin/deployment/gcp/on-vm/images/architecture-diagram.drawio.png rename to docs/admin/deployment/images/on-vm-architecture-diagram-gcp.drawio.png diff --git a/docs/admin/deployment/index.mdx b/docs/admin/deployment/index.mdx index 760aa746..970cf034 100644 --- a/docs/admin/deployment/index.mdx +++ b/docs/admin/deployment/index.mdx @@ -19,6 +19,20 @@ Welcome to the AI/Run CodeMie deployment guides. A complete deployment follows t ## Installation & Configuration + + + - - - - - -### VM Deployments - - - - - - - -### Marketplace +## Marketplace -### Additional Resources +## Additional Resources - - -### Verification Checklist - -- [ ] **GCP Access**: Project Owner or Editor role with IAM permissions -- [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs -- [ ] **Tools Installed**: tfenv, Terraform 1.13.5+, gcloud CLI, kubectl, Helm, Docker -- [ ] **GCP Authentication**: Logged in with gcloud CLI and application default credentials configured -- [ ] **Repository Access**: Access to Terraform and Helm repositories -- [ ] **Network Planning**: Prepared list of authorized networks (if accessing GKE API from workstation) - -:::warning Authentication Required -You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth login` and `gcloud auth application-default login`. Verify the active project with `gcloud config get-value project`. ::: @@ -74,6 +63,22 @@ You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth :::warning Authentication Required You must be authenticated to Azure CLI before running the deployment script. Run `az login` and verify with `az account show`. +::: + + + + +### Verification Checklist + +- [ ] **GCP Access**: Project Owner or Editor role with IAM permissions +- [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs +- [ ] **Tools Installed**: tfenv, Terraform 1.13.5+, gcloud CLI, kubectl, Helm, Docker +- [ ] **GCP Authentication**: Logged in with gcloud CLI and application default credentials configured +- [ ] **Repository Access**: Access to Terraform and Helm repositories +- [ ] **Network Planning**: Prepared list of authorized networks (if accessing GKE API from workstation) + +:::warning Authentication Required +You must be authenticated to GCP CLI before running Terraform. Run `gcloud auth login` and `gcloud auth application-default login`. Verify the active project with `gcloud config get-value project`. ::: @@ -208,6 +213,76 @@ Ensure that incoming traffic to the Security Group on LoadBalancers is allowed f + + +### Deployment Phases (Azure) + +| Phase | Description | Required | +| ------------------------------------ | ---------------------------------------------------------------- | -------- | +| **Phase 1: State Backend** | Creates Azure Storage Account for Terraform state files | Yes | +| **Phase 2: Platform Infrastructure** | Deploys AKS, networking, storage, databases, security components | Yes | +| **Phase 3: AI Models** | Provisions Azure OpenAI services | Optional | + +:::info Skipping AI Models +Set `DEPLOY_AI_MODELS="false"` to skip Phase 3 if using external AI providers. +::: + +### Step 1: Clone Repository + +```bash +git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git +cd codemie-terraform-azure +``` + +### Step 2: Configure Deployment + +Edit `deployment.conf`: + +```bash +# Required: Azure Account Information +AZURE_TENANT_ID="00000000-0000-0000-0000-000000000000" +AZURE_SUBSCRIPTION_ID="11111111-1111-1111-1111-111111111111" + +# Required: Basic Configuration +TF_VAR_customer="airun" +TF_VAR_location="West Europe" +TF_VAR_resource_group_name="" # Leave empty to auto-generate + +# Required: AKS Admin Access +TF_VAR_admin_group_object_ids='["3a459347-0000-1111-2222-e73413cfa80a"]' + +# Optional: Resource Tagging +TF_VAR_tags='{"createdWith":"Terraform","environment":"production"}' + +# Optional: AI Models Deployment +DEPLOY_AI_MODELS="true" + +# Optional: Dedicated PostgreSQL Flexible Server Instances +TF_VAR_keycloak_db_config='{"enabled":true}' +TF_VAR_langfuse_db_config='{"enabled":false}' +TF_VAR_litellm_db_config='{"enabled":false}' +``` + +:::info Azure OpenAI Configuration +When `DEPLOY_AI_MODELS="true"`, configure the `TF_VAR_cognitive_regions` variable to specify which Azure OpenAI models to deploy, in which regions, and with what capacity. See `variables.tf` in the `platform/` directory for the full variable schema. +::: + +### Step 3: Run Deployment Script + +```bash +bash ./azure-terraform.sh +``` + +The script automatically executes: + +1. **Validate Environment** — Check for required tools and Azure authentication +2. **Verify Configuration** — Validate `deployment.conf` parameters +3. **Deploy State Backend** — Create Azure Storage Account +4. **Deploy Platform Infrastructure** — Provision AKS, networking, storage, databases +5. **Deploy AI Models** — Provision Azure OpenAI services (if `DEPLOY_AI_MODELS="true"`) +6. **Generate Outputs** — Create `deployment_outputs.env` + + ### Deployment Phases (GCP) @@ -276,79 +351,9 @@ The script automatically executes: 7. **Generate Outputs** — Create `deployment_outputs.env` :::info Private Cluster Post-Deployment -For a **private GKE cluster** (`TF_VAR_private_cluster=true`), configure [Bastion Host access](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before proceeding to platform deployment. -::: - - - - -### Deployment Phases (Azure) - -| Phase | Description | Required | -| ------------------------------------ | ---------------------------------------------------------------- | -------- | -| **Phase 1: State Backend** | Creates Azure Storage Account for Terraform state files | Yes | -| **Phase 2: Platform Infrastructure** | Deploys AKS, networking, storage, databases, security components | Yes | -| **Phase 3: AI Models** | Provisions Azure OpenAI services | Optional | - -:::info Skipping AI Models -Set `DEPLOY_AI_MODELS="false"` to skip Phase 3 if using external AI providers. -::: - -### Step 1: Clone Repository - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git -cd codemie-terraform-azure -``` - -### Step 2: Configure Deployment - -Edit `deployment.conf`: - -```bash -# Required: Azure Account Information -AZURE_TENANT_ID="00000000-0000-0000-0000-000000000000" -AZURE_SUBSCRIPTION_ID="11111111-1111-1111-1111-111111111111" - -# Required: Basic Configuration -TF_VAR_customer="airun" -TF_VAR_location="West Europe" -TF_VAR_resource_group_name="" # Leave empty to auto-generate - -# Required: AKS Admin Access -TF_VAR_admin_group_object_ids='["3a459347-0000-1111-2222-e73413cfa80a"]' - -# Optional: Resource Tagging -TF_VAR_tags='{"createdWith":"Terraform","environment":"production"}' - -# Optional: AI Models Deployment -DEPLOY_AI_MODELS="true" - -# Optional: Dedicated PostgreSQL Flexible Server Instances -TF_VAR_keycloak_db_config='{"enabled":true}' -TF_VAR_langfuse_db_config='{"enabled":false}' -TF_VAR_litellm_db_config='{"enabled":false}' -``` - -:::info Azure OpenAI Configuration -When `DEPLOY_AI_MODELS="true"`, configure the `TF_VAR_cognitive_regions` variable to specify which Azure OpenAI models to deploy and in which regions. See [Azure AI Models Configuration](../../azure/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment#azure-openai-model-configuration) for detailed examples. +For a **private GKE cluster** (`TF_VAR_private_cluster=true`), configure [Bastion Host access](#phase-3-configure-bastion-host-access-optional) before proceeding to platform deployment. ::: -### Step 3: Run Deployment Script - -```bash -bash ./azure-terraform.sh -``` - -The script automatically executes: - -1. **Validate Environment** — Check for required tools and Azure authentication -2. **Verify Configuration** — Validate `deployment.conf` parameters -3. **Deploy State Backend** — Create Azure Storage Account -4. **Deploy Platform Infrastructure** — Provision AKS, networking, storage, databases -5. **Deploy AI Models** — Provision Azure OpenAI services (if `DEPLOY_AI_MODELS="true"`) -6. **Generate Outputs** — Create `deployment_outputs.env` - @@ -375,28 +380,6 @@ CODEMIE_POSTGRES_DATABASE_PORT=5432 CODEMIE_POSTGRES_DATABASE_NAME=codemie CODEMIE_POSTGRES_DATABASE_USER=dbadmin CODEMIE_POSTGRES_DATABASE_PASSWORD="generated-password" -``` - - - - -```bash -# GKE Cluster -GKE_CLUSTER_NAME=codemie-gke -GKE_LOCATION=europe-west3 -KUBECTL_COMMAND=gcloud container clusters get-credentials --project my-gcp-project --zone europe-west3 codemie-gke - -# GCP -VERTEX_PROJECT=my-gcp-project - -# PostgreSQL -CODEMIE_POSTGRES_DATABASE_HOST= -CODEMIE_POSTGRES_DATABASE_PORT=5432 -CODEMIE_POSTGRES_DATABASE_NAME=codemie -CODEMIE_POSTGRES_DATABASE_USER=admin -CODEMIE_POSTGRES_DATABASE_INSTANCE=codemie-postgresql -CODEMIE_POSTGRES_DATABASE_SECRET=codeemiePGDB -CODEMIE_POSTGRES_DATABASE_PASSWORD=generated-password ``` @@ -422,6 +405,28 @@ CODEMIE_POSTGRES_DATABASE_PORT="5432" CODEMIE_POSTGRES_DATABASE_NAME="codemie" CODEMIE_POSTGRES_DATABASE_USER="pgadmin" CODEMIE_POSTGRES_DATABASE_PASSWORD="password" +``` + + + + +```bash +# GKE Cluster +GKE_CLUSTER_NAME=codemie-gke +GKE_LOCATION=europe-west3 +KUBECTL_COMMAND=gcloud container clusters get-credentials --project my-gcp-project --zone europe-west3 codemie-gke + +# GCP +VERTEX_PROJECT=my-gcp-project + +# PostgreSQL +CODEMIE_POSTGRES_DATABASE_HOST= +CODEMIE_POSTGRES_DATABASE_PORT=5432 +CODEMIE_POSTGRES_DATABASE_NAME=codemie +CODEMIE_POSTGRES_DATABASE_USER=admin +CODEMIE_POSTGRES_DATABASE_INSTANCE=codemie-postgresql +CODEMIE_POSTGRES_DATABASE_SECRET=codeemiePGDB +CODEMIE_POSTGRES_DATABASE_PASSWORD=generated-password ``` @@ -455,33 +460,6 @@ Review deployment logs: less logs/codemie_aws_deployment_YYYY-MM-DD-HHMMSS.log ``` - - - -```bash -# Verify GKE cluster status -gcloud container clusters list --project= - -# Check Cloud SQL instance -gcloud sql instances list --project= - -# Check Memorystore Redis instance (if enabled) -gcloud redis instances list --project= --region= - -# Verify GCS state bucket -gcloud storage buckets list | grep terraform -``` - -Review deployment logs: - -```bash -less logs/codemie_gcp_deployment_YYYY-MM-DD-HHMMSS.log -``` - -:::info Private Cluster Next Step -If you deployed a **private GKE cluster** (`TF_VAR_private_cluster=true`), proceed to [Bastion Host Access Configuration](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before deploying platform components. -::: - @@ -523,6 +501,33 @@ kubelogin convert-kubeconfig -l azurecli kubectl get nodes ``` + + + +```bash +# Verify GKE cluster status +gcloud container clusters list --project= + +# Check Cloud SQL instance +gcloud sql instances list --project= + +# Check Memorystore Redis instance (if enabled) +gcloud redis instances list --project= --region= + +# Verify GCS state bucket +gcloud storage buckets list | grep terraform +``` + +Review deployment logs: + +```bash +less logs/codemie_gcp_deployment_YYYY-MM-DD-HHMMSS.log +``` + +:::info Private Cluster Next Step +If you deployed a **private GKE cluster** (`TF_VAR_private_cluster=true`), proceed to [Bastion Host Access Configuration](#phase-3-configure-bastion-host-access-optional) before deploying platform components. +::: + @@ -639,6 +644,141 @@ terraform init \ terraform plan -out=tfplan terraform apply tfplan terraform output +``` + + + + +### Phase 1: Terraform State Backend + +1. Clone the repository: + +```bash +git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git +cd codemie-terraform-azure/remote-backend +``` + +2. Create `terraform.tfvars`: + +```hcl +subscription_id = "11111111-1111-1111-1111-111111111111" +customer = "airun" # 3-24 chars, lowercase letters and digits only +location = "West Europe" +``` + +3. Authenticate, apply Terraform, and note the outputs: + +```bash +az login +az account set --subscription "11111111-1111-1111-1111-111111111111" + +terraform init +terraform plan -out=tfplan +terraform apply tfplan + +export BC_RESOURCE_GROUP_NAME=$(terraform output -raw terraform_state_resource_group_name) +export BC_STORAGE_ACCOUNT_NAME=$(terraform output -raw terraform_state_storage_account) +export STORAGE_ACCOUNT_KEY=$(terraform output -raw terraform_state_storage_account_key) +``` + +### Phase 2: Platform Infrastructure + +1. Navigate to the platform directory: + +```bash +cd ../platform +``` + +2. Create `terraform.tfvars`: + +```hcl +customer = "airun" # Must match Phase 1 +product_name = "airun-codemie" +codemie_domain_name = "private.lab.com" +location = "West Europe" +admin_group_object_ids = ["3a459347-0000-1111-2222-e73413cfa80a"] +keycloak_db_config = { enabled = true } +langfuse_db_config = { enabled = false } +litellm_db_config = { enabled = false } +``` + +:::info Complete Variable List +For all available configuration options (node pool sizing, Container Registry, Langfuse blob storage, etc), refer to the `variables.tf` file in the `platform/` directory. +::: + +3. Initialize Terraform with backend configuration and apply: + +```bash +export TF_VAR_script_storage_account_key="$STORAGE_ACCOUNT_KEY" +export TF_VAR_script_storage_account_name="$BC_STORAGE_ACCOUNT_NAME" + +# Required only if you plan to run Phase 3 (AI Models) afterwards: +export TF_VAR_grant_openai_access=true + +terraform init \ + -backend-config="resource_group_name=${BC_RESOURCE_GROUP_NAME}" \ + -backend-config="storage_account_name=${BC_STORAGE_ACCOUNT_NAME}" \ + -backend-config="container_name=tfstate" \ + -backend-config="key=platform.terraform.tfstate" + +terraform plan -out=tfplan +terraform apply tfplan +terraform output + +export AZURE_RESOURCE_GROUP=$(terraform output -raw codemie_resource_group) +``` + +### Phase 3: AI Models (Optional) + +Skip this phase if you're using external AI providers or already have Azure OpenAI services deployed. + +1. Navigate to the AI models directory: + +```bash +cd ../ai-models +``` + +2. Create `terraform.tfvars`: + +```hcl +resource_group_name = "airun-codemie" # From Phase 2 output: codemie_resource_group +location = "West Europe" + +cognitive_regions = { + "eastus" = { + count = 2 + custom_domain_name = true + available_models = [ + { + format = "OpenAI" + name = "gpt-4.1-2025-04-14" + model_name = "gpt-4.1" + version = "2025-04-14" + capacity = 200 + type = "GlobalStandard" + } + ] + } +} +``` + +:::info Configuration Reference +See [ai-models/variables.tf](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure/-/blob/main/ai-models/variables.tf) for the complete list of available configuration options. +::: + +3. Initialize Terraform with backend configuration, reusing the state backend from Phase 1, and apply: + +```bash +export TF_VAR_resource_group_name="$AZURE_RESOURCE_GROUP" + +terraform init \ + -backend-config="resource_group_name=${BC_RESOURCE_GROUP_NAME}" \ + -backend-config="storage_account_name=${BC_STORAGE_ACCOUNT_NAME}" \ + -backend-config="container_name=tfstate" \ + -backend-config="key=ai_models.terraform.tfstate" + +terraform plan -out=tfplan +terraform apply tfplan ``` @@ -704,19 +844,156 @@ terraform apply tfplan terraform output ``` -:::info Private Cluster Next Step -For a **private GKE cluster**, proceed to [Bastion Host Access Configuration](../../gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access) before deploying platform components. +### Phase 3: Configure Bastion Host Access (Optional) + +:::warning Private Cluster Only +This section is only required if you deployed a **completely private GKE cluster** with private DNS. For public clusters or clusters with authorized networks configured, you can access the GKE API and CodeMie application directly from your workstation. ::: - - +The Bastion Host is a secure jump server that provides access to your private GKE cluster and applications running inside the VPC. This VM enables both command-line management (SSH) and browser-based access (RDP) to internal resources. + +#### Connection Methods Overview + +| Connection Type | Use Case | Access Method | +| --------------- | ------------------------------------------------------------- | --------------------- | +| **SSH** | Deploy and manage Kubernetes workloads using kubectl and Helm | Terminal/SSH client | +| **RDP** | Access web UIs exposed via private DNS (Kibana, Keycloak) | Remote Desktop client | -:::warning Manual Deployment Not Available for Azure -Manual Kubernetes infrastructure deployment is not documented for Azure. Use [Scripted Deployment](#scripted-deployment) instead. +#### Option 1: SSH Connection for Cluster Management -If you need Terraform-level control for Azure, refer to the `variables.tf` files in the `codemie-terraform-azure` repository directly. +Use SSH to connect to the Bastion Host for deploying and managing Kubernetes resources. + +1. Retrieve the SSH command from Terraform outputs and connect: + +```bash +# Get the SSH connection command +terraform output bastion_ssh_command + +# Example output: +# gcloud compute ssh bastion-vm --project=your-project --zone=europe-west3-a + +# Use this command to connect +gcloud compute ssh bastion-vm --project=your-project --zone=europe-west3-a +``` + +:::tip IAM Permissions +Ensure your user account is listed in the `bastion_members` variable from Phase 2 configuration. Only authorized users can SSH into the Bastion Host. ::: +##### Step 2: Set user password (Required for RDP) + +After connecting via SSH, set a password for the `ubuntu` user for later RDP access: + +```bash +# Set password for the ubuntu user (you'll be prompted to enter it twice) +sudo passwd ubuntu +``` + +:::info Save Your Password +The `ubuntu` user password you set here will be used to login via RDP. Make sure to remember it or store it securely. +::: + +3. Fetch GKE cluster credentials to enable kubectl commands: + +```bash +# Get the kubectl configuration command +terraform output get_kubectl_credentials_for_private_cluster + +# Example output: +# gcloud container clusters get-credentials your-cluster-name --region=europe-west3 --project=your-project + +# Run the command to configure kubectl +gcloud container clusters get-credentials your-cluster-name --region=europe-west3 --project=your-project +``` + +4. Transfer the Helm charts repository to the Bastion Host. + +:::warning VPN Required for gitbud.epam.com +`gitbud.epam.com` is only accessible through VPN and is not reachable from the Bastion Host directly. Clone the repository on your local machine first, then transfer it using `gcloud scp`. +::: + +On your **local machine** (with VPN active): + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-helm-charts.git +``` + +Then transfer the cloned directory to the Bastion Host: + +```bash +gcloud compute scp --recurse ./codemie-helm-charts bastion-vm:~/ \ + --project=your-project --zone=europe-west3-a +``` + +On the **Bastion Host**, navigate to the transferred directory: + +```bash +cd ~/codemie-helm-charts +``` + +You're now ready to proceed with [Platform Deployment](../platform-deployment/index.mdx). + +#### Option 2: RDP Connection for Web UI Access + +Use RDP to access application web interfaces that are only available via private DNS (such as Kibana, Keycloak Admin Console). + +:::tip When to Use RDP +RDP is useful when you need to access web-based administrative interfaces that aren't exposed publicly. For kubectl/Helm operations, SSH access is sufficient. +::: + +1. Retrieve the RDP forwarding command from Terraform outputs and start the IAP tunnel: + +```bash +# Get the RDP forwarding command +terraform output bastion_rdp_command + +# Example output: +# gcloud compute start-iap-tunnel bastion-vm 3389 --local-host-port=localhost:3389 --zone=europe-west3-a --project=your-project +``` + +Run the command to create an IAP tunnel that forwards RDP traffic (keep this terminal open): + +```bash +gcloud compute start-iap-tunnel bastion-vm 3389 \ + --local-host-port=localhost:3389 \ + --zone=europe-west3-a \ + --project=your-project +``` + +2. Open your Remote Desktop client and connect: + +| Setting | Value | +| ------------ | -------------------------- | +| **Computer** | `localhost:3389` | +| **Username** | `ubuntu` | +| **Password** | Password set in SSH Step 2 | + +#### Tips for Using the Bastion Host + +##### Pasting Commands into Terminal + +Use the correct keyboard shortcut for pasting in Linux terminal: + +``` +Shift + Ctrl + V +``` + +(Regular `Ctrl + V` won't work in most Linux terminal applications) + +##### File Transfer to/from Bastion + +Transfer files between your local machine and Bastion using `gcloud scp`: + +```bash +# Upload file to Bastion +gcloud compute scp local-file.txt bastion-vm:~/remote-file.txt \ + --project=your-project --zone=europe-west3-a + +# Download file from Bastion +gcloud compute scp bastion-vm:~/remote-file.txt ./local-file.txt \ + --project=your-project --zone=europe-west3-a +``` + @@ -724,4 +1001,4 @@ If you need Terraform-level control for Azure, refer to the `variables.tf` files ## Next Steps -After successful infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/index.md) to install AI/Run CodeMie application components. +After successful infrastructure deployment, proceed to [Platform Deployment](../platform-deployment/index.mdx) to install AI/Run CodeMie application components. diff --git a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx index ef5d7896..c7f1a7aa 100644 --- a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx +++ b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx @@ -14,6 +14,11 @@ import TabItem from '@theme/TabItem'; This guide covers deploying AI/Run CodeMie on a single virtual machine using Docker Compose. All three cloud providers are supported: AWS (EC2), GCP (Compute Engine), and Azure (VM). +This guide covers two deployment methods: + +- [**Scripted Deployment**](#scripted-deployment) - Automated shell script handles all Terraform phases in sequence +- [**Manual Deployment**](#manual-deployment) - Step-by-step Terraform commands for full control over each phase + The `deploy.sh` script handles the full lifecycle: Terraform provisions cloud resources (VM, storage, networking, DNS), and Docker Compose brings up the CodeMie application stack on the provisioned VM. :::tip Recommended Approach @@ -22,38 +27,7 @@ Scripted deployment is the recommended method as it handles prerequisite checks, ## Prerequisites - - - -- [ ] **AWS Access**: Programmatic access with IAM permissions -- [ ] **Tools Installed**: Terraform 1.15.x, AWS CLI, jq, openssl, envsubst, session-manager-plugin -- [ ] **AWS Authentication**: Configured AWS credentials -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry Key**: `key.json` file available - - - - - -- [ ] **GCP Access**: Active project with required IAM roles -- [ ] **Tools Installed**: Terraform 1.15.x, gcloud CLI, jq, openssl, envsubst -- [ ] **GCP Authentication**: `gcloud auth application-default login` completed -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry Key**: `key.json` file available - - - - - -- [ ] **Azure Access**: Active subscription with Contributor role -- [ ] **Tools Installed**: Terraform 1.15.x, Azure CLI, jq, openssl, envsubst -- [ ] **Azure Authentication**: `az login` completed, subscription set -- [ ] **Repository Access**: Cloned [codemie-on-vm](https://gitbud.epam.com/epm-cdme/codemie-on-vm) -- [ ] **GCP Registry Key**: `key.json` file available - - - - +Before you begin, make sure you have completed all the requirements described in the [On-VM Deployment Prerequisites](../prerequisites.mdx#on-vm-deployment-prerequisites) section — account access, deployment machine tools, GCP Container Registry access (`key.json`), cloud authentication, and repository access for your chosen cloud provider. --- @@ -142,73 +116,73 @@ COMPOSE_PROFILE="enterprise" ``` - + ```bash -cp deployment.conf.gcp.example deployment.conf +cp deployment.conf.azure.example deployment.conf ``` Edit `deployment.conf`: ```bash -CLOUD_PROVIDER="gcp" - -# GCP -TF_VAR_project_id="" -TF_VAR_region="europe-west3" -TF_VAR_zone_suffix="a" +CLOUD_PROVIDER="azure" -# Terraform State -TF_VAR_states_bucket_name="" +# Azure +AZURE_SUBSCRIPTION_ID="" +AZURE_TENANT_ID="" -# Platform +# Terraform +TF_VAR_location="westeurope" TF_VAR_platform_name="codemie" - -# VM -TF_VAR_machine_type="n2-highmem-4" # 4 vCPU, 32 GB RAM -TF_VAR_disk_size=100 - -# Domain & Private DNS (optional) +TF_VAR_vm_size="Standard_E4s_v5" # 4 vCPU, 32 GB RAM +TF_VAR_vm_os_disk_size=100 TF_VAR_platform_domain_name="" # CodeMie CODEMIE_VERSION="2.26.0" COMPOSE_PROFILE="enterprise" + +# Azure OpenAI / AI Models +DEPLOY_AI_MODELS="true" +# Required only when DEPLOY_AI_MODELS=false: +# AZURE_OPENAI_ENDPOINT="" +# AZURE_CLIENT_ID="" +# AZURE_CLIENT_SECRET="" ``` - + ```bash -cp deployment.conf.azure.example deployment.conf +cp deployment.conf.gcp.example deployment.conf ``` Edit `deployment.conf`: ```bash -CLOUD_PROVIDER="azure" +CLOUD_PROVIDER="gcp" -# Azure -AZURE_SUBSCRIPTION_ID="" -AZURE_TENANT_ID="" +# GCP +TF_VAR_project_id="" +TF_VAR_region="europe-west3" +TF_VAR_zone_suffix="a" -# Terraform -TF_VAR_location="westeurope" +# Terraform State +TF_VAR_states_bucket_name="" + +# Platform TF_VAR_platform_name="codemie" -TF_VAR_vm_size="Standard_E4s_v5" # 4 vCPU, 32 GB RAM -TF_VAR_vm_os_disk_size=100 + +# VM +TF_VAR_machine_type="n2-highmem-4" # 4 vCPU, 32 GB RAM +TF_VAR_disk_size=100 + +# Domain & Private DNS (optional) TF_VAR_platform_domain_name="" # CodeMie CODEMIE_VERSION="2.26.0" COMPOSE_PROFILE="enterprise" - -# Azure OpenAI / AI Models -DEPLOY_AI_MODELS="true" -# Required only when DEPLOY_AI_MODELS=false: -# AZURE_OPENAI_ENDPOINT="" -# AZURE_CLIENT_ID="" -# AZURE_CLIENT_SECRET="" ``` @@ -229,24 +203,24 @@ aws sts get-caller-identity ``` - + ```bash -gcloud auth application-default login +az login +az account set --subscription "" -# Verify active project: -gcloud config get-value project +# Verify: +az account show ``` - + ```bash -az login -az account set --subscription "" +gcloud auth application-default login -# Verify: -az account show +# Verify active project: +gcloud config get-value project ``` @@ -280,22 +254,6 @@ The script executes the following phases: The script pauses twice for approval: remote backend Terraform plan and platform Terraform plan. Review plans carefully before typing `y`. ::: - - - -| Phase | Description | -| ------------------------------ | ---------------------------------------------------------------- | -| Loading config | Validates `deployment.conf` variables | -| Checking prerequisites | Verifies required tools are installed | -| Verifying GCP credentials | Confirms valid `gcloud` session and project | -| Initializing Terraform backend | Creates GCS bucket for Terraform state | -| Running platform Terraform | Plans and applies VM, GCS bucket, Cloud KMS key, DNS, firewall | -| Reading Terraform outputs | Fetches VM private IP, GCS bucket name, KMS key ID | -| Generating .env | Creates secrets and renders Docker Compose environment | -| Provisioning VM | Installs Docker, syncs files, starts services via IAP SSH tunnel | -| Writing outputs | Saves credentials to `deployment_outputs.env` | -| Deployment summary | Prints URL, SSH command, credentials | - @@ -313,6 +271,22 @@ The script pauses twice for approval: remote backend Terraform plan and platform | Writing outputs | Saves credentials to `deployment_outputs.env` | | Deployment summary | Prints URL, SSH command, credentials | + + + +| Phase | Description | +| ------------------------------ | ---------------------------------------------------------------- | +| Loading config | Validates `deployment.conf` variables | +| Checking prerequisites | Verifies required tools are installed | +| Verifying GCP credentials | Confirms valid `gcloud` session and project | +| Initializing Terraform backend | Creates GCS bucket for Terraform state | +| Running platform Terraform | Plans and applies VM, GCS bucket, Cloud KMS key, DNS, firewall | +| Reading Terraform outputs | Fetches VM private IP, GCS bucket name, KMS key ID | +| Generating .env | Creates secrets and renders Docker Compose environment | +| Provisioning VM | Installs Docker, syncs files, starts services via IAP SSH tunnel | +| Writing outputs | Saves credentials to `deployment_outputs.env` | +| Deployment summary | Prints URL, SSH command, credentials | + @@ -350,18 +324,6 @@ ssh -i codemie-key.pem \ ubuntu@ ``` - - - -SSH via Identity-Aware Proxy (IAP) tunnel: - -```bash -gcloud compute ssh \ - --project \ - --zone \ - --tunnel-through-iap -``` - @@ -377,6 +339,18 @@ az network bastion ssh \ --ssh-key "~/.ssh/codemie-key.pem" ``` + + + +SSH via Identity-Aware Proxy (IAP) tunnel: + +```bash +gcloud compute ssh \ + --project \ + --zone \ + --tunnel-through-iap +``` + @@ -502,77 +476,6 @@ chmod 600 codemie-key.pem After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. - - - -### Deployment Phases (GCP) - -| Phase | Description | Directory | -| ------------------------------------ | ------------------------------------------------------- | ------------------------------- | -| **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | -| **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | - -### Phase 1: Terraform State Backend - -```bash -cd terraform/gcp/remote-backend/ -terraform init -``` - -Create `terraform.tfvars`: - -```hcl -project_id = "my-codemie-project" -region = "europe-west3" -states_bucket_name = "codemie-tfstate" -``` - -```bash -terraform plan -out=tfplan -terraform apply tfplan -# Note the GCS bucket name from outputs -``` - -### Phase 2: Platform Infrastructure - -```bash -cd terraform/gcp/platform/ -``` - -Create `backend.tfvars`: - -```hcl -bucket = "codemie-tfstate" -prefix = "codemie/platform" -``` - -Create `terraform.tfvars`: - -```hcl -project_id = "my-codemie-project" -region = "europe-west3" -zone_suffix = "a" -platform_name = "codemie" -machine_type = "n2-highmem-4" -disk_size = 100 -platform_domain_name = "" -``` - -```bash -terraform init -backend-config=backend.tfvars -terraform plan -out=tfplan -terraform apply tfplan - -# Note outputs for Phase 3: -terraform output vm_private_ip -terraform output gcs_bucket_name -terraform output kms_key_id -terraform output instance_name -terraform output zone -``` - -After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. - @@ -674,6 +577,77 @@ terraform output azure_client_secret After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. + + + +### Deployment Phases (GCP) + +| Phase | Description | Directory | +| ------------------------------------ | ------------------------------------------------------- | ------------------------------- | +| **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | +| **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | + +### Phase 1: Terraform State Backend + +```bash +cd terraform/gcp/remote-backend/ +terraform init +``` + +Create `terraform.tfvars`: + +```hcl +project_id = "my-codemie-project" +region = "europe-west3" +states_bucket_name = "codemie-tfstate" +``` + +```bash +terraform plan -out=tfplan +terraform apply tfplan +# Note the GCS bucket name from outputs +``` + +### Phase 2: Platform Infrastructure + +```bash +cd terraform/gcp/platform/ +``` + +Create `backend.tfvars`: + +```hcl +bucket = "codemie-tfstate" +prefix = "codemie/platform" +``` + +Create `terraform.tfvars`: + +```hcl +project_id = "my-codemie-project" +region = "europe-west3" +zone_suffix = "a" +platform_name = "codemie" +machine_type = "n2-highmem-4" +disk_size = 100 +platform_domain_name = "" +``` + +```bash +terraform init -backend-config=backend.tfvars +terraform plan -out=tfplan +terraform apply tfplan + +# Note outputs for Phase 3: +terraform output vm_private_ip +terraform output gcs_bucket_name +terraform output kms_key_id +terraform output instance_name +terraform output zone +``` + +After completing infrastructure provisioning, proceed to [Application Provisioning (BYO Mode)](../../platform-deployment/automated/on-vm) to deploy the CodeMie stack. + diff --git a/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx index 0357cf37..ff900d56 100644 --- a/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx +++ b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx @@ -46,26 +46,26 @@ The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.c - + - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or `kubectl` configured for GKE +- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS - [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally -- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI - + - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS +- [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or `kubectl` configured for GKE - [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally -- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment -- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI @@ -119,6 +119,27 @@ find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME} | `%%AWS_S3_BUCKET_NAME%%` | S3 bucket name | `deployment_outputs.env` → `AWS_S3_BUCKET_NAME` | | `%%AWS_S3_REGION%%` | S3 bucket region | `deployment_outputs.env` → `AWS_S3_REGION` | + + + +Update the domain placeholder in all Azure values files: + +```bash +# Use your DNS zone name from deployment_outputs.env +CODEMIE_DOMAIN_NAME="airun.example.com" + +# Update all values-azure.yaml files (default placeholder is private.lab.com) +find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; +``` + +| Component | File | Placeholder | +| ---------------- | --------------------------------- | ------------------------- | +| **Kibana** | `kibana/values-azure.yaml` | `*.private.lab.com` | +| **Keycloak** | `keycloak-helm/values-azure.yaml` | `*.private.lab.com` | +| **OAuth2 Proxy** | `oauth2-proxy/values-azure.yaml` | `*.private.lab.com` | +| **CodeMie UI** | `codemie-ui/values-azure.yaml` | `codemie.private.lab.com` | +| **CodeMie API** | `codemie-api/values-azure.yaml` | `*.private.lab.com` | + @@ -208,27 +229,6 @@ service: Never deploy a public LoadBalancer without `loadBalancerSourceRanges` configured. ::: - - - -Update the domain placeholder in all Azure values files: - -```bash -# Use your DNS zone name from deployment_outputs.env -CODEMIE_DOMAIN_NAME="airun.example.com" - -# Update all values-azure.yaml files (default placeholder is private.lab.com) -find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; -``` - -| Component | File | Placeholder | -| ---------------- | --------------------------------- | ------------------------- | -| **Kibana** | `kibana/values-azure.yaml` | `*.private.lab.com` | -| **Keycloak** | `keycloak-helm/values-azure.yaml` | `*.private.lab.com` | -| **OAuth2 Proxy** | `oauth2-proxy/values-azure.yaml` | `*.private.lab.com` | -| **CodeMie UI** | `codemie-ui/values-azure.yaml` | `codemie.private.lab.com` | -| **CodeMie API** | `codemie-api/values-azure.yaml` | `*.private.lab.com` | - @@ -281,23 +281,6 @@ bash helm-charts.sh --cloud aws --version --mode recommended # Update existing installation (core components only) bash helm-charts.sh --cloud aws --version --mode update -``` - - - - -```bash -# Standard installation with all core components -bash helm-charts.sh --cloud gcp --version --mode all - -# With database management tools -bash helm-charts.sh --cloud gcp --version --mode all --optional pgadmin - -# With LiteLLM for multi-model AI testing -bash helm-charts.sh --cloud gcp --version --mode recommended --optional litellm - -# Full-featured installation with all optional components -bash helm-charts.sh --cloud gcp --version --mode all --optional litellm,pgadmin ``` @@ -315,6 +298,23 @@ bash helm-charts.sh --cloud azure --version --mode recommended --optio # Enterprise installation with all optional components bash helm-charts.sh --cloud azure --version --mode all --optional litellm,pgadmin +``` + + + + +```bash +# Standard installation with all core components +bash helm-charts.sh --cloud gcp --version --mode all + +# With database management tools +bash helm-charts.sh --cloud gcp --version --mode all --optional pgadmin + +# With LiteLLM for multi-model AI testing +bash helm-charts.sh --cloud gcp --version --mode recommended --optional litellm + +# Full-featured installation with all optional components +bash helm-charts.sh --cloud gcp --version --mode all --optional litellm,pgadmin ``` @@ -376,4 +376,4 @@ Add an A record: `nats-codemie.airun.example.com → ` ## Next Steps -After successful deployment, proceed to **[Accessing Applications](../../aws/kubernetes/accessing-applications.md)** to verify access and complete initial configuration. +After successful deployment, proceed to **[Accessing Applications](../../accessing-applications.mdx)** to verify access and complete initial configuration. diff --git a/docs/admin/deployment/platform-deployment/automated/on-vm.mdx b/docs/admin/deployment/platform-deployment/automated/on-vm.mdx index 3ffeb965..1d55bda0 100644 --- a/docs/admin/deployment/platform-deployment/automated/on-vm.mdx +++ b/docs/admin/deployment/platform-deployment/automated/on-vm.mdx @@ -66,27 +66,33 @@ curl -k https:///v1/healthcheck Expected response: `{"status":"ok"}` - + ### Configure deployment.conf (BYO Mode) -Fill in the values from Terraform outputs (Phase 2): +Fill in the values from Terraform outputs (Phase 2 and Phase 3): ```bash -CLOUD_PROVIDER="gcp" +CLOUD_PROVIDER="azure" CODEMIE_VERSION="2.26.0" COMPOSE_PROFILE="enterprise" BYO_VM_HOST="" -BYO_VM_USER="ubuntu" -BYO_VM_SSH_KEY="/path/to/codemie-key" -BYO_VM_SSH_MODE="iap" -BYO_GCP_PROJECT_ID="" -BYO_GCP_ZONE="" -BYO_GCP_INSTANCE_NAME="" -BYO_GCS_BUCKET_NAME="" -BYO_GCP_KMS_KEY_ID="" +BYO_VM_USER="azadmin" +BYO_VM_SSH_KEY="/path/to/codemie-key.pem" +BYO_VM_SSH_MODE="bastion" +BYO_AZURE_BASTION_NAME="" +BYO_AZURE_RESOURCE_GROUP="" +BYO_AZURE_VM_RESOURCE_ID="" +BYO_AZURE_STORAGE_ACCOUNT_NAME="" +BYO_AZURE_KEY_VAULT_URL="" +BYO_AZURE_KEY_NAME="codemie-key" BYO_PLATFORM_DOMAIN_NAME="" + +# If DEPLOY_AI_MODELS=false: +# AZURE_OPENAI_ENDPOINT="" +# AZURE_CLIENT_ID="" +# AZURE_CLIENT_SECRET="" ``` ### Run BYO Deployment @@ -105,33 +111,27 @@ curl -k https:///v1/healthcheck Expected response: `{"status":"ok"}` - + ### Configure deployment.conf (BYO Mode) -Fill in the values from Terraform outputs (Phase 2 and Phase 3): +Fill in the values from Terraform outputs (Phase 2): ```bash -CLOUD_PROVIDER="azure" +CLOUD_PROVIDER="gcp" CODEMIE_VERSION="2.26.0" COMPOSE_PROFILE="enterprise" BYO_VM_HOST="" -BYO_VM_USER="azadmin" -BYO_VM_SSH_KEY="/path/to/codemie-key.pem" -BYO_VM_SSH_MODE="bastion" -BYO_AZURE_BASTION_NAME="" -BYO_AZURE_RESOURCE_GROUP="" -BYO_AZURE_VM_RESOURCE_ID="" -BYO_AZURE_STORAGE_ACCOUNT_NAME="" -BYO_AZURE_KEY_VAULT_URL="" -BYO_AZURE_KEY_NAME="codemie-key" +BYO_VM_USER="ubuntu" +BYO_VM_SSH_KEY="/path/to/codemie-key" +BYO_VM_SSH_MODE="iap" +BYO_GCP_PROJECT_ID="" +BYO_GCP_ZONE="" +BYO_GCP_INSTANCE_NAME="" +BYO_GCS_BUCKET_NAME="" +BYO_GCP_KMS_KEY_ID="" BYO_PLATFORM_DOMAIN_NAME="" - -# If DEPLOY_AI_MODELS=false: -# AZURE_OPENAI_ENDPOINT="" -# AZURE_CLIENT_ID="" -# AZURE_CLIENT_SECRET="" ``` ### Run BYO Deployment diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx index f7278ec6..99316b88 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx @@ -27,18 +27,25 @@ import CoreComponentsValidation from '../../../common/deployment/components-depl - - - + + + + + + ## CodeMie API Installation @@ -100,13 +107,6 @@ kubectl logs -n codemie deployment/codemie-api --tail=100 kubectl exec -n codemie deployment/codemie-api -- curl -s http://localhost:8080/health ``` - - - diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx index cefd0ea6..66fcd1d7 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx @@ -23,12 +23,12 @@ import DataLayerValidation from '../../../common/deployment/components-deploymen - - - + + + @@ -45,14 +45,6 @@ import DataLayerValidation from '../../../common/deployment/components-deploymen postgresExampleHost="codemie-postgres.abc123.us-west-2.rds.amazonaws.com" /> - - - - + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx index 5e269098..eac39615 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx @@ -53,25 +53,25 @@ Installing components out of order will cause deployment failures. Always follow - [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `aws` CLI - + - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Bastion Host (private cluster) or `kubectl` configured for GKE +- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS - [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally -- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI +- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI - + - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS +- [ ] **Cluster Access**: Connected to Bastion Host (private cluster) or `kubectl` configured for GKE - [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally -- [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment -- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI, `az` CLI +- [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI @@ -104,6 +104,14 @@ CODEMIE_DOMAIN_NAME="airun.example.com" find . -name "values-aws.yaml" -exec sed -i "s/%%DOMAIN%%/${CODEMIE_DOMAIN_NAME}/g" {} \; ``` + + + +```bash +CODEMIE_DOMAIN_NAME="airun.example.com" +find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; +``` + @@ -126,14 +134,6 @@ Also create the GCP service account key file: 3. Create and download a new JSON key 4. Save as `codemie-helm-charts/codemie-gsa-key.json` - - - -```bash -CODEMIE_DOMAIN_NAME="airun.example.com" -find . -name "values-azure.yaml" -exec sed -i "s/private.lab.com/$CODEMIE_DOMAIN_NAME/g" {} \; -``` - diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx index 3d153ca8..32d5448c 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx @@ -18,12 +18,12 @@ import StorageIngressValidation from '../../../common/deployment/components-depl - - - + + + @@ -74,16 +74,6 @@ aws route53 list-resource-record-sets \ nslookup codemie.airun.example.com ``` - - - - -:::info DNS for GCP -For **private clusters**, DNS is automatically configured by the Terraform infrastructure deployment. No manual DNS step is required here. - -For **public clusters**, refer to the [Automated Deployment DNS guide](../../automated/kubernetes.mdx#gcp-post-deployment-dns-configuration) for adding the required A records. -::: - @@ -120,6 +110,16 @@ az network private-dns record-set a list \ nslookup codemie.airun.example.com ``` + + + + +:::info DNS for GCP +For **private clusters**, DNS is automatically configured by the Terraform infrastructure deployment. No manual DNS step is required here. + +For **public clusters**, refer to the [Automated Deployment DNS guide](../../automated/kubernetes.mdx#gcp-post-deployment-dns-configuration) for adding the required A records. +::: + @@ -133,15 +133,6 @@ nslookup codemie.airun.example.com storageClassFileName="storageclass-aws-gp3.yaml" /> - - - + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx index 3186f69e..706c1fe3 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx @@ -23,16 +23,16 @@ import ObservabilityValidation from '../../../common/deployment/components-deplo - - - - - - + - + + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx index 6b3e466d..9ff7a58e 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx @@ -15,10 +15,10 @@ import PluginEngineContent from '../../../common/deployment/components-deploymen - - - + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx index 8794e637..4d1caea2 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx @@ -28,14 +28,6 @@ import SecurityValidation from '../../../common/deployment/components-deployment /> - - - - + + + + diff --git a/docs/admin/deployment/prerequisites.mdx b/docs/admin/deployment/prerequisites.mdx new file mode 100644 index 00000000..f854e2dd --- /dev/null +++ b/docs/admin/deployment/prerequisites.mdx @@ -0,0 +1,515 @@ +--- +id: prerequisites +title: Prerequisites +sidebar_label: Prerequisites +sidebar_position: 2 +pagination_prev: admin/deployment/architecture +pagination_next: admin/deployment/infrastructure-deployment/infrastructure-deployment-overview +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import NetworkRequirements from './common/deployment/prerequisites/_network-requirements.mdx'; +import ClusterRequirements from './common/deployment/prerequisites/_cluster-requirements.mdx'; +import DeploymentMachineTools from './common/deployment/prerequisites/_deployment-machine-tools.mdx'; +import NextSteps from './common/deployment/prerequisites/_next-steps.mdx'; + +# Prerequisites + +This page outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie. A cloud provider can be selected below to view provider-specific requirements. All requirements must be met before proceeding with the installation. + +This page covers two prerequisite sets: + +- [**Kubernetes Deployment Prerequisites**](#kubernetes-deployment-prerequisites) - Full production deployment on a managed Kubernetes cluster (EKS, AKS, or GKE) +- [**On-VM Deployment Prerequisites**](#on-vm-deployment-prerequisites) - Lightweight single-VM deployment for PoC and demo environments + +## Kubernetes Deployment Prerequisites + +### Account Requirements + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on AWS, you need: + +- **Active AWS Account** with preferred region for deployment +- **Programmatic Access** with credentials that have permissions to create and manage IAM Roles and Policy Documents +- **Sufficient Quota** for the required resources (EKS, RDS, networking, storage, etc.) + :::info Complete Resource List + For a detailed list of all AWS resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. + ::: + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on Azure, you need: + +- **Active Azure Subscription** with sufficient quota for the required resources +- **Contributor Role** for the deployment user with the following permissions: + - Access to **Entra ID App Registration** to obtain Application ID and Secret + - Ability to create and manage Azure resources (AKS, networking, storage, etc.) + :::info Complete Resource List + For a detailed list of all Azure resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. + ::: +- **Entra ID Access** on the Azure portal to retrieve application details such as Tenant ID + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on GCP, you need: + +- **Active GCP Project** with sufficient quota for the required resources +- **Project Owner or Editor Role** for the deployment user with the following permissions: + - Ability to create and manage IAM Roles and Service Accounts + - Access to create and manage GCP resources (GKE, VPC, Cloud SQL, etc.) + :::info Complete Resource List + For a detailed list of all GCP resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. + ::: + - Ability to bind the following IAM roles to service accounts: + - `roles/aiplatform.user` - For Vertex AI access + - `roles/storage.admin` - For Cloud Storage management + - `roles/cloudkms.cryptoKeyEncrypterDecrypter` - For encryption key operations + +### Required GCP APIs + +The following APIs must be enabled in your GCP project before deployment: + +| API | Purpose | +| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | +| [Cloud Identity-Aware Proxy API](https://console.cloud.google.com/marketplace/product/google/iap.googleapis.com) | Secure identity-based access control | +| [Service Networking API](https://console.cloud.google.com/marketplace/product/google/servicenetworking.googleapis.com) | Private service connectivity | +| [Secret Manager API](https://console.cloud.google.com/marketplace/product/google/secretmanager.googleapis.com) | Centralized secrets management | +| [Vertex AI API](https://console.cloud.google.com/marketplace/product/google/aiplatform.googleapis.com) | AI model integration and inference | + +:::info Vertex AI Models +Make sure you are familiar with Gemini models, their parameters, available regions, and other crucial details in the [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/models). +::: + + + + +### Network Requirements + +#### DNS and Certificate Requirements + + + + +AI/Run CodeMie requires proper DNS and TLS certificate configuration: + +- **Route 53 Hosted Zone** with available wildcard DNS configuration +- **Automatic Certificate Management** - AI/Run CodeMie Terraform modules will automatically create: + - DNS Records in Route 53 + - TLS certificates through AWS Certificate Manager for ALB and NLB + +:::tip Automatic Setup +DNS and certificate provisioning is fully automated through Terraform when using AI/Run CodeMie-managed infrastructure. You only need to provide the hosted zone. However, if you're using self-provisioned infrastructure, you will need to handle DNS records and certificates for it. +::: + + + + +DNS and TLS certificate requirements depend on your access model: + + + + +If you require **public internet access** to AI/Run CodeMie: + +- Azure DNS Zone must be created and domain delegated there +- Valid wildcard TLS certificate must be available for HTTPS connections + + + + +If you only require **internal access** within your organization: + +- AI/Run CodeMie Terraform modules will automatically create a private DNS zone +- No external DNS delegation or public certificates are required + + + + + + + +- Registered domain name delegated to Cloud DNS with permissions to create DNS records +- Valid wildcard TLS certificate must be available for HTTPS connections (see [Ingress NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_No AWS-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ + + + + +_No Azure-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ + + + + +## GKE Cluster Configuration + +:::info GCP-Specific Requirement +This section applies only to GCP deployments. +::: + +### VPC-Native Networking and Container-Native Load Balancing + +AI/Run CodeMie requires GKE clusters configured with **VPC-native networking** and **container-native load balancing (NEGs)** for proper Ingress functionality. + +**Required Configuration:** + +- **Networking Mode:** `VPC_NATIVE` with IP allocation policy (secondary ranges for pods and services) +- **HTTP Load Balancing Addon:** Enabled (default) + +:::warning Network Policy Disables Automatic NEGs +If your cluster uses **GKE Network Policy** or **Calico**, container-native load balancing will NOT be enabled automatically. This causes Ingress errors: + +``` +service "namespace/service" is type "ClusterIP", expected "NodePort" or "LoadBalancer" +``` + +**Solution:** Manually enable NEGs by adding this annotation to all Services exposed via Ingress in chart values. For example: + +```yaml +service: + type: ClusterIP + port: 8080 + annotations: + cloud.google.com/neg: '{"ingress": true}' +``` + +::: + + + + + + + + + +**Cloud-Specific Tools:** + +| Tool | Version | Purpose | +| ---------------------------------------------------------------------------------------- | ------- | ----------------------- | +| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | + + + + +**Cloud-Specific Tools:** + +| Tool | Version | Purpose | +| -------------------------------------------------------------------------- | ------- | ------------------------- | +| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure resource management | +| [kubelogin](https://azure.github.io/kubelogin/install.html) | latest | AKS authentication plugin | + + + + +:::note gcloud CLI Multi-Purpose +For GCP deployments, gcloud CLI serves dual purposes: GCP resource management and authentication to AI/Run CodeMie container registry (GCR). +::: + + + + +### Required Repository Access + +You will need access to the following repositories to complete the deployment: + + + + +- **Terraform IAM Module:** [codemie-terraform-aws-iam](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam) +- **Terraform Platform Module:** [codemie-terraform-aws-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform) +- **Terraform Remote Backend:** [codemie-terraform-aws-remote-backend](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-remote-backend) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +- **Terraform Modules:** [codemie-terraform-azure](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +- **Terraform Platform Modules:** [codemie-terraform-gcp-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +:::info Air-Gapped Environments +If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. +::: + +## On-VM Deployment Prerequisites + +This section covers prerequisites for the lightweight [On-VM deployment](./infrastructure-deployment/index.mdx) option, which runs the full AI/Run CodeMie platform on a single virtual machine using Docker Compose. + +### Account Requirements + + + + +- **Active AWS Account** with a region that supports [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) +- **IAM permissions** to create an IAM deployer role (one-time setup) +- **Sufficient quota** for: 1 EC2 instance, 1 VPC, 1 S3 bucket, 1 KMS key, 1 EIP +- **Network access**: Outbound internet access from EC2 (to pull Docker images, access Bedrock API); optional Route 53 hosted zone (if using a custom domain with ALB + ACM) + +:::tip IAM Deployer Role +The deployment uses a dedicated IAM role with scoped permissions. You only need broad IAM access to create this role once — subsequent deployments use the role. +::: + + + + +- **Active Azure Subscription** with sufficient quota for the required resources +- **Contributor role** (or equivalent) on the subscription to create VMs, Storage Accounts, Key Vaults, and DNS zones +- **AZURE_SUBSCRIPTION_ID** and **AZURE_TENANT_ID** — available in the Azure Portal under **Azure Active Directory → Overview** + +**Quota Requirements:** + +| Resource | Count | +| ---------------- | ----- | +| Standard_E4s_v5 | 1 | +| Azure Key Vault | 1 | +| Storage Account | 1 | +| Private DNS Zone | 1 | + + + + +- **Active GCP Project** with sufficient quota for the required resources +- The operator account must have the following roles or equivalent permissions: + - `roles/iap.tunnelResourceAccessor` — SSH access to the VM via IAP + - `roles/secretmanager.secretAccessor` — fetch SSH key from Secret Manager + - Permissions to create: GCE VM, GCS bucket, Cloud KMS key, Cloud DNS private zone, VPC firewall rules + +**Quota Requirements:** + +| Resource | Count | +| ---------------------- | ------------ | +| n2-highmem-4 VM | 1 | +| GCS Bucket | 1 | +| Cloud KMS Key | 1 | +| Cloud DNS Private Zone | 1 (optional) | + + + + +### Deployment Machine Tools + +The following tools must be installed on the machine where you run `./deploy.sh`: + + + + +| Tool | Version | Purpose | +| --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | +| [Session Manager Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) | latest | SSH access via AWS SSM | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +aws --version # AWS CLI v2 +session-manager-plugin # Should print version info +jq --version +openssl version +envsubst --version +``` + + + + +| Tool | Version | Purpose | +| -------------------------------------------------------------------------- | ------- | ----------------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure authentication and management | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +az version # Azure CLI +jq --version +openssl version +envsubst --version +``` + + + + +| Tool | Version | Purpose | +| -------------------------------------------------------------- | ------- | --------------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [gcloud CLI](https://cloud.google.com/sdk/docs/install) | latest | GCP authentication and management | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +gcloud version +jq --version +openssl version +envsubst --version +``` + + + + +:::info Enterprise Profile Only +If deploying the **Enterprise profile**, [nsc](https://github.com/nats-io/nsc) (latest) is also required on the deployment machine for NATS key generation. +::: + +### GCP Container Registry Access + +CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry — this applies regardless of the cloud provider you deploy to. + +:::info Obtaining key.json +Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. +::: + +### Cloud Authentication + +Authenticate to your cloud provider before running the deployment: + + + + +```bash +# If using AWS SSO: +aws sso login --profile your-profile +export AWS_PROFILE=your-profile + +# Verify credentials: +aws sts get-caller-identity +``` + + + + +```bash +az login +az account set --subscription "" + +# Verify active subscription +az account show +``` + + + + +```bash +gcloud auth application-default login + +# Verify active project +gcloud config get-value project +``` + + + + +### Repository Access + +Clone the deployment repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git +cd codemie-on-vm +``` + +The repository structure: + + + + +| Directory | Purpose | +| -------------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `terraform/aws/codemie-on-vm-aws-iam/` | IAM deployer role Terraform module | +| `terraform/aws/remote-backend/` | S3 Terraform state bucket | +| `terraform/aws/platform/` | EC2, VPC, ALB, S3, KMS infrastructure | + + + + +| Directory | Purpose | +| --------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `destroy.sh` | Destroy script | +| `terraform/azure/remote-backend/` | Azure Storage Terraform state backend | +| `terraform/azure/platform/` | VM, Storage Account, Key Vault, DNS, NSG | +| `terraform/azure/ai-models/` | Azure OpenAI cognitive accounts (optional) | + + + + +| Directory | Purpose | +| ------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `destroy.sh` | Destroy script | +| `terraform/gcp/remote-backend/` | GCS bucket for Terraform state | +| `terraform/gcp/platform/` | VM, GCS bucket, KMS key, DNS, firewall | + + + + +:::info Air-Gapped Environments +If your deployment machine operates in an isolated environment without direct internet or repository access, the repository can be provided as a ZIP/TAR archive and transferred through approved channels. +::: + + diff --git a/docs/admin/index.mdx b/docs/admin/index.mdx index b3c08f45..a2b75e82 100644 --- a/docs/admin/index.mdx +++ b/docs/admin/index.mdx @@ -22,61 +22,22 @@ Welcome to the AI/Run CodeMie Administration Guide. This section provides compre Set up AI/Run CodeMie in your cloud environment with comprehensive deployment guides. -## Kubernetes +## Infrastructure Deployment - - - - -## VM - - - - diff --git a/docs/admin/security/data-processing-storage.md b/docs/admin/security/data-processing-storage.md index 2630a319..cbb0298b 100644 --- a/docs/admin/security/data-processing-storage.md +++ b/docs/admin/security/data-processing-storage.md @@ -78,7 +78,7 @@ Keycloak uses a dedicated PostgreSQL cluster in Kubernetes that stores SSO feder **Elasticsearch** - **Vector Embeddings**: Semantic search vectors (generated by embeddings models) -- **Platform Components Logs**: Logs from core platform services (see [Core Components](../deployment/aws/kubernetes/components-deployment/manual-deployment/core-components.md)) +- **Platform Components Logs**: Logs from core platform services (see [Core Components](../deployment/platform-deployment/manual/kubernetes/core-components.mdx)) ## Data Processing Flows diff --git a/docs/admin/update/3rd-party-components/elasticsearch/metrics-index-rotation.md b/docs/admin/update/3rd-party-components/elasticsearch/metrics-index-rotation.md index 3df77b21..3953da58 100644 --- a/docs/admin/update/3rd-party-components/elasticsearch/metrics-index-rotation.md +++ b/docs/admin/update/3rd-party-components/elasticsearch/metrics-index-rotation.md @@ -106,10 +106,7 @@ codemie_metrics_logs_write Change only the metrics output. Keep the infrastructure-log output and its `logs-codemie-infra` index configuration unchanged. -The cloud-specific deployment guides provide more information about the two output -types: [AWS](../../../../deployment/aws/kubernetes/components-deployment/manual-deployment/observability), -[Azure](../../../../deployment/azure/kubernetes/components-deployment/manual-deployment/observability), or -[GCP](../../../../deployment/gcp/kubernetes/components-deployment/manual-deployment/observability). +The [Observability Components Deployment](../../../../deployment/platform-deployment/manual/kubernetes/observability) guide provides more information about the two output types for AWS, Azure, and GCP. ## Step 4: Enable the rotation scheduler diff --git a/docs/admin/update/release-notes/release-notes.md b/docs/admin/update/release-notes/release-notes.md index 564b57b5..6f99ecca 100644 --- a/docs/admin/update/release-notes/release-notes.md +++ b/docs/admin/update/release-notes/release-notes.md @@ -245,8 +245,8 @@ No third-party component updates in this release. ```bash aws s3 cp s3:/// s3:/// --recursive ``` - - **Terraform state bucket encryption switched to SSE-KMS**, restricted to the deployer role. `aws-terraform.sh` migrates existing deployments automatically; for manual deployments, see [updated backend init commands](../../deployment/aws/kubernetes/infrastructure-deployment/manual-deployment.md#phase-2-terraform-backend-resources-deployment). - - **RDS PostgreSQL now uses IAM database authentication** — `codemie-api` on AWS connects to the RDS PostgreSQL instance using short-lived IAM authentication tokens instead of a static password. Existing deployments must be migrated — see [Upgrading an Existing Deployment to IAM Authentication](../../deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer.md#upgrading-an-existing-deployment-to-iam-authentication). + - **Terraform state bucket encryption switched to SSE-KMS**, restricted to the deployer role. `aws-terraform.sh` migrates existing deployments automatically; for manual deployments, see [updated backend init commands](../../deployment/infrastructure-deployment/kubernetes.mdx#manual-deployment). + - **RDS PostgreSQL now uses IAM database authentication** — `codemie-api` on AWS connects to the RDS PostgreSQL instance using short-lived IAM authentication tokens instead of a static password. Existing deployments must be migrated — see [Upgrading an Existing Deployment to IAM Authentication](../../deployment/platform-deployment/manual/kubernetes/data-layer.mdx#upgrading-an-existing-deployment-to-iam-authentication).

    Hotfixes

    diff --git a/sidebars.ts b/sidebars.ts index 1c423398..a133fa47 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -423,310 +423,14 @@ const sidebars: SidebarsConfig = { collapsed: true, items: [ { - type: 'category', - label: 'AWS', - collapsed: true, - items: [ - { - type: 'category', - label: 'Kubernetes (EKS)', - link: { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/overview', - }, - collapsed: true, - items: [ - { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/prerequisites', - label: 'Prerequisites', - }, - { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/architecture', - label: 'Architecture', - }, - { - type: 'category', - label: 'Infrastructure Deployment', - link: { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment', - 'admin/deployment/aws/kubernetes/infrastructure-deployment/infrastructure-manual-deployment', - ], - }, - { - type: 'category', - label: 'CodeMie Components Deployment', - link: { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/components-deployment/components-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/aws/kubernetes/components-deployment/components-scripted-deployment', - { - type: 'category', - label: 'CodeMie Manual Deployment', - link: { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/manual-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/k8s-components', - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/data-layer', - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/security-and-identity', - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/plugin-engine', - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/core-components', - 'admin/deployment/aws/kubernetes/components-deployment/manual-deployment/observability', - ], - }, - ], - }, - { - type: 'doc', - id: 'admin/deployment/aws/kubernetes/accessing-applications', - label: 'Accessing Applications', - }, - ], - }, - { - type: 'category', - label: 'On VM (EC2)', - link: { - type: 'doc', - id: 'admin/deployment/aws/on-vm/overview', - }, - collapsed: true, - items: [ - 'admin/deployment/aws/on-vm/prerequisites', - 'admin/deployment/aws/on-vm/architecture', - { - type: 'category', - label: 'Deployment', - link: { - type: 'doc', - id: 'admin/deployment/aws/on-vm/deployment/deployment', - }, - collapsed: true, - items: [ - 'admin/deployment/aws/on-vm/deployment/scripted-deployment', - 'admin/deployment/aws/on-vm/deployment/manual-deployment', - 'admin/deployment/aws/on-vm/deployment/byo', - ], - }, - ], - }, - ], - }, - { - type: 'category', - label: 'Azure', - collapsed: true, - items: [ - { - type: 'category', - label: 'Kubernetes (AKS)', - link: { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/overview', - }, - collapsed: true, - items: [ - { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/prerequisites', - label: 'Prerequisites', - }, - { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/architecture', - label: 'Architecture', - }, - { - type: 'category', - label: 'Infrastructure Deployment', - link: { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment', - ], - }, - { - type: 'category', - label: 'CodeMie Components Deployment', - link: { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/components-deployment/components-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/azure/kubernetes/components-deployment/components-scripted-deployment', - { - type: 'category', - label: 'CodeMie Manual Deployment', - link: { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/manual-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/k8s-components', - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/data-layer', - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/security-and-identity', - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/plugin-engine', - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/core-components', - 'admin/deployment/azure/kubernetes/components-deployment/manual-deployment/observability', - ], - }, - ], - }, - { - type: 'doc', - id: 'admin/deployment/azure/kubernetes/accessing-applications', - label: 'Accessing Applications', - }, - ], - }, - { - type: 'category', - label: 'On VM (Azure VM)', - link: { - type: 'doc', - id: 'admin/deployment/azure/on-vm/overview', - }, - collapsed: true, - items: [ - 'admin/deployment/azure/on-vm/prerequisites', - 'admin/deployment/azure/on-vm/architecture', - { - type: 'category', - label: 'Deployment', - link: { - type: 'doc', - id: 'admin/deployment/azure/on-vm/deployment/deployment', - }, - collapsed: true, - items: [ - 'admin/deployment/azure/on-vm/deployment/scripted-deployment', - 'admin/deployment/azure/on-vm/deployment/manual-deployment', - 'admin/deployment/azure/on-vm/deployment/byo', - ], - }, - ], - }, - ], + type: 'doc', + id: 'admin/deployment/architecture', + label: 'Architecture', }, { - type: 'category', - label: 'GCP', - collapsed: true, - items: [ - { - type: 'category', - label: 'Kubernetes (GKE)', - link: { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/overview', - }, - collapsed: true, - items: [ - { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/prerequisites', - label: 'Prerequisites', - }, - { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/architecture', - label: 'Architecture', - }, - { - type: 'category', - label: 'Infrastructure Deployment', - link: { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment', - 'admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-manual-deployment', - 'admin/deployment/gcp/kubernetes/infrastructure-deployment/infrastructure-bastion-host-access', - ], - }, - { - type: 'category', - label: 'CodeMie Components Deployment', - link: { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/components-deployment/components-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/gcp/kubernetes/components-deployment/components-scripted-deployment', - { - type: 'category', - label: 'CodeMie Manual Deployment', - link: { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/manual-deployment-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/k8s-components', - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/data-layer', - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/security-and-identity', - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/plugin-engine', - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/core-components', - 'admin/deployment/gcp/kubernetes/components-deployment/manual-deployment/observability', - ], - }, - ], - }, - { - type: 'doc', - id: 'admin/deployment/gcp/kubernetes/accessing-applications', - label: 'Accessing Applications', - }, - ], - }, - { - type: 'category', - label: 'On VM (GCE)', - link: { - type: 'doc', - id: 'admin/deployment/gcp/on-vm/overview', - }, - collapsed: true, - items: [ - 'admin/deployment/gcp/on-vm/prerequisites', - 'admin/deployment/gcp/on-vm/architecture', - { - type: 'category', - label: 'Deployment', - link: { - type: 'doc', - id: 'admin/deployment/gcp/on-vm/deployment/deployment', - }, - collapsed: true, - items: [ - 'admin/deployment/gcp/on-vm/deployment/scripted-deployment', - 'admin/deployment/gcp/on-vm/deployment/manual-deployment', - 'admin/deployment/gcp/on-vm/deployment/byo', - ], - }, - ], - }, - ], + type: 'doc', + id: 'admin/deployment/prerequisites', + label: 'Prerequisites', }, { type: 'category', @@ -793,6 +497,11 @@ const sidebars: SidebarsConfig = { }, ], }, + { + type: 'doc', + id: 'admin/deployment/accessing-applications', + label: 'Accessing Applications', + }, { type: 'category', label: 'Extensions', From 1dbba7032daf2ebb3e13eb3e9ba9cf00b48f3de6 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Mon, 5 Oct 2026 10:26:56 +0300 Subject: [PATCH 6/8] docs(deployment): split architecture and prerequisites pages into kubernetes/on-vm sub-pages Restructure architecture.mdx and prerequisites.mdx into directories with dedicated overview, kubernetes, and on-vm pages, matching the pattern already used by infrastructure-deployment/. Generated with AI Co-Authored-By: codemie-ai --- docs/admin/deployment/architecture/index.mdx | 38 ++ .../deployment/architecture/kubernetes.mdx | 67 +++ .../on-vm.mdx} | 114 +--- .../infrastructure-deployment/index.mdx | 2 +- .../infrastructure-deployment/on-vm.mdx | 2 +- docs/admin/deployment/prerequisites.mdx | 515 ------------------ docs/admin/deployment/prerequisites/index.mdx | 37 ++ .../deployment/prerequisites/kubernetes.mdx | 274 ++++++++++ docs/admin/deployment/prerequisites/on-vm.mdx | 242 ++++++++ sidebars.ts | 24 +- 10 files changed, 702 insertions(+), 613 deletions(-) create mode 100644 docs/admin/deployment/architecture/index.mdx create mode 100644 docs/admin/deployment/architecture/kubernetes.mdx rename docs/admin/deployment/{architecture.mdx => architecture/on-vm.mdx} (69%) delete mode 100644 docs/admin/deployment/prerequisites.mdx create mode 100644 docs/admin/deployment/prerequisites/index.mdx create mode 100644 docs/admin/deployment/prerequisites/kubernetes.mdx create mode 100644 docs/admin/deployment/prerequisites/on-vm.mdx diff --git a/docs/admin/deployment/architecture/index.mdx b/docs/admin/deployment/architecture/index.mdx new file mode 100644 index 00000000..bbb22f84 --- /dev/null +++ b/docs/admin/deployment/architecture/index.mdx @@ -0,0 +1,38 @@ +--- +id: architecture-overview +title: AI/Run CodeMie Deployment Architecture +sidebar_label: Architecture +sidebar_position: 1 +pagination_prev: admin/deployment/index +--- + +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + +# AI/Run CodeMie Deployment Architecture + +This section describes the AI/Run CodeMie deployment architecture, including infrastructure components, network design, and resource requirements. Two architecture variants are available depending on the target environment. + +## Architecture Variants + + + + +
    + + +## Next Steps + +After reviewing the architecture, proceed to [Prerequisites](../prerequisites/) to review the requirements before deployment. diff --git a/docs/admin/deployment/architecture/kubernetes.mdx b/docs/admin/deployment/architecture/kubernetes.mdx new file mode 100644 index 00000000..0ea8d1ef --- /dev/null +++ b/docs/admin/deployment/architecture/kubernetes.mdx @@ -0,0 +1,67 @@ +--- +id: architecture-kubernetes +title: Kubernetes Deployment Architecture +sidebar_label: Kubernetes +sidebar_position: 2 +pagination_prev: admin/deployment/architecture/architecture-overview +pagination_next: admin/deployment/architecture/architecture-on-vm +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ContainerResources from '../common/deployment/architecture/_container-resources.mdx'; + +# Kubernetes Deployment Architecture + +This page describes the full production deployment architecture on a managed Kubernetes cluster. A cloud provider can be selected below for provider-specific details. + + + + +AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: + +![AWS Architecture Diagram](../images/architecture-diagram-aws.drawio.png) + + + + +AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: + +![Azure Architecture Diagram](../images/architecture-diagram-azure.drawio.png) + + + + +AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. + +### Deployment Options + +There are two deployment options available depending on your organization's access requirements: + +- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations +- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: + +![GCP Architecture Diagram](../images/architecture-diagram-gcp.drawio.png) + + + + +:::tip Architecture Customization +The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. +::: + +## Kubernetes Resource Requirements + + diff --git a/docs/admin/deployment/architecture.mdx b/docs/admin/deployment/architecture/on-vm.mdx similarity index 69% rename from docs/admin/deployment/architecture.mdx rename to docs/admin/deployment/architecture/on-vm.mdx index 436f46fc..8be2a7d9 100644 --- a/docs/admin/deployment/architecture.mdx +++ b/docs/admin/deployment/architecture/on-vm.mdx @@ -1,83 +1,20 @@ --- -id: architecture -title: AI/Run CodeMie Deployment Architecture -sidebar_label: Architecture -sidebar_position: 1 -pagination_prev: admin/deployment/index -pagination_next: admin/deployment/prerequisites +id: architecture-on-vm +title: On-VM Deployment Architecture +sidebar_label: On VM +sidebar_position: 3 +pagination_prev: admin/deployment/architecture/architecture-kubernetes +pagination_next: admin/deployment/prerequisites/prerequisites-overview --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import ContainerResources from './common/deployment/architecture/_container-resources.mdx'; -# AI/Run CodeMie Deployment Architecture - -This page provides an overview of the AI/Run CodeMie deployment architecture, including infrastructure components, network design, and resource requirements. A cloud provider can be selected below for provider-specific details. - -This page covers two architecture variants: - -- [**Kubernetes Deployment Architecture**](#kubernetes-deployment-architecture) - Full production deployment on a managed Kubernetes cluster (EKS, AKS, or GKE) -- [**On-VM Deployment Architecture**](#on-vm-deployment-architecture) - Lightweight single-VM deployment for PoC and demo environments - -## Kubernetes Deployment Architecture - - - - -AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: - -![AWS Architecture Diagram](./images/architecture-diagram-aws.drawio.png) - - - - -AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: - -![Azure Architecture Diagram](./images/architecture-diagram-azure.drawio.png) - - - - -AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. - -### Deployment Options - -There are two deployment options available depending on your organization's access requirements: - -- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations -- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: - -![GCP Architecture Diagram](./images/architecture-diagram-gcp.drawio.png) - - - - -:::tip Architecture Customization -The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. -::: - -## Kubernetes Resource Requirements - - - -## On-VM Deployment Architecture +# On-VM Deployment Architecture CodeMie On VM deploys the full AI/Run CodeMie platform on a **single virtual machine** using Docker Compose. It provides the same core functionality as the full Kubernetes deployment but with minimal infrastructure overhead, and is designed for proof-of-concept and demo environments rather than production workloads. -### Infrastructure Overview +## Infrastructure Overview @@ -88,24 +25,24 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf Direct access to the EC2 instance via Elastic IP: - ![IP Mode Diagram](./images/on-vm-architecture-diagram-aws-ip-mode.drawio.png) + ![IP Mode Diagram](../images/on-vm-architecture-diagram-aws-ip-mode.drawio.png) When `TF_VAR_platform_domain_name` is configured, an ALB with trusted TLS certificate is created: - ![Domain Mode Diagram](./images/on-vm-architecture-diagram-aws-domain-mode.drawio.png) + ![Domain Mode Diagram](../images/on-vm-architecture-diagram-aws-domain-mode.drawio.png) When `TF_VAR_private_ip_only=true`, EC2 is placed in a private subnet with NAT Gateway for outbound traffic. Access is via VPN, AWS Workspaces, or some other available VM: - ![Private Mode Diagram](./images/on-vm-architecture-diagram-aws-private-mode.drawio.png) + ![Private Mode Diagram](../images/on-vm-architecture-diagram-aws-private-mode.drawio.png) -#### AWS Resources +### AWS Resources | Resource | Purpose | | ------------------------ | --------------------------------------------------------------------- | @@ -121,7 +58,7 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf | **Security Groups** | Controls inbound traffic to ALB and EC2 | | **IAM Instance Profile** | Grants EC2 access to Bedrock, S3, KMS, SSM | -#### Network Modes +### Network Modes | Mode | Configuration | Access | | ----------------------- | ------------------------------------------- | --------------------------------- | @@ -132,11 +69,11 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf -![Azure On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-azure.drawio.png) +![Azure On VM Infrastructure Architecture](../images/on-vm-architecture-diagram-azure.drawio.png) CodeMie On VM runs on a single Azure VM with supporting Azure services. Terraform provisions the following resources: -#### Azure Resources +### Azure Resources | Resource | Purpose | | ------------------------------ | -------------------------------------------------------------------- | @@ -148,7 +85,7 @@ CodeMie On VM runs on a single Azure VM with supporting Azure services. Terrafor | **Private DNS Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | | **Azure Bastion** | Secure SSH access to the VM without exposing a public IP | -#### Network Modes +### Network Modes | Mode | Configuration | Access | | ------------------------ | ----------------------------------------------- | ----------------------------------------- | @@ -158,11 +95,11 @@ CodeMie On VM runs on a single Azure VM with supporting Azure services. Terrafor -![GCP On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-gcp.drawio.png) +![GCP On VM Infrastructure Architecture](../images/on-vm-architecture-diagram-gcp.drawio.png) CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform provisions the following resources: -#### GCP Resources +### GCP Resources | Resource | Purpose | | ------------------------------ | -------------------------------------------------------------------- | @@ -175,7 +112,7 @@ CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform pr | **IAP (Identity-Aware Proxy)** | Secure SSH access to the VM without exposing a public IP | | **Secret Manager** | Stores the SSH private key for VM access | -#### Network Modes +### Network Modes | Mode | Configuration | Access | | ------------------------ | ------------------------------------------------ | ----------------------------------------------- | @@ -185,13 +122,13 @@ CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform pr -### Application Architecture +## Application Architecture All CodeMie services run as Docker containers on the VM, orchestrated by Docker Compose. This layer is identical regardless of the underlying cloud provider. -![Docker Compose Services](./common/deployment/images/docker-compose-diagram.drawio.png) +![Docker Compose Services](../common/deployment/images/docker-compose-diagram.drawio.png) -#### Services by Profile +### Services by Profile **Shared services** (both profiles): @@ -254,10 +191,3 @@ All CodeMie services run as Docker containers on the VM, orchestrated by Docker - -## Next Steps - -After understanding the architecture, proceed to: - -- [Prerequisites](./prerequisites.mdx) - Review requirements before you begin -- [Infrastructure Deployment](./infrastructure-deployment/index.mdx) - Provision the cloud infrastructure using Terraform diff --git a/docs/admin/deployment/infrastructure-deployment/index.mdx b/docs/admin/deployment/infrastructure-deployment/index.mdx index 805124c6..15ce690c 100644 --- a/docs/admin/deployment/infrastructure-deployment/index.mdx +++ b/docs/admin/deployment/infrastructure-deployment/index.mdx @@ -3,7 +3,7 @@ id: infrastructure-deployment-overview title: Infrastructure Deployment sidebar_label: Infrastructure Deployment sidebar_position: 1 -pagination_prev: admin/deployment/architecture +pagination_prev: admin/deployment/prerequisites/prerequisites-overview --- import FeatureCard from '@site/src/components/FeatureCard'; diff --git a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx index c7f1a7aa..5667c498 100644 --- a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx +++ b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx @@ -27,7 +27,7 @@ Scripted deployment is the recommended method as it handles prerequisite checks, ## Prerequisites -Before you begin, make sure you have completed all the requirements described in the [On-VM Deployment Prerequisites](../prerequisites.mdx#on-vm-deployment-prerequisites) section — account access, deployment machine tools, GCP Container Registry access (`key.json`), cloud authentication, and repository access for your chosen cloud provider. +Before you begin, make sure you have completed all the requirements described in the [On-VM Deployment Prerequisites](../../prerequisites/prerequisites-on-vm) section — account access, deployment machine tools, GCP Container Registry access (`key.json`), cloud authentication, and repository access for your chosen cloud provider. --- diff --git a/docs/admin/deployment/prerequisites.mdx b/docs/admin/deployment/prerequisites.mdx deleted file mode 100644 index f854e2dd..00000000 --- a/docs/admin/deployment/prerequisites.mdx +++ /dev/null @@ -1,515 +0,0 @@ ---- -id: prerequisites -title: Prerequisites -sidebar_label: Prerequisites -sidebar_position: 2 -pagination_prev: admin/deployment/architecture -pagination_next: admin/deployment/infrastructure-deployment/infrastructure-deployment-overview ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import NetworkRequirements from './common/deployment/prerequisites/_network-requirements.mdx'; -import ClusterRequirements from './common/deployment/prerequisites/_cluster-requirements.mdx'; -import DeploymentMachineTools from './common/deployment/prerequisites/_deployment-machine-tools.mdx'; -import NextSteps from './common/deployment/prerequisites/_next-steps.mdx'; - -# Prerequisites - -This page outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie. A cloud provider can be selected below to view provider-specific requirements. All requirements must be met before proceeding with the installation. - -This page covers two prerequisite sets: - -- [**Kubernetes Deployment Prerequisites**](#kubernetes-deployment-prerequisites) - Full production deployment on a managed Kubernetes cluster (EKS, AKS, or GKE) -- [**On-VM Deployment Prerequisites**](#on-vm-deployment-prerequisites) - Lightweight single-VM deployment for PoC and demo environments - -## Kubernetes Deployment Prerequisites - -### Account Requirements - - - - -### Required Access and Permissions - -To deploy AI/Run CodeMie on AWS, you need: - -- **Active AWS Account** with preferred region for deployment -- **Programmatic Access** with credentials that have permissions to create and manage IAM Roles and Policy Documents -- **Sufficient Quota** for the required resources (EKS, RDS, networking, storage, etc.) - :::info Complete Resource List - For a detailed list of all AWS resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. - ::: - - - - -### Required Access and Permissions - -To deploy AI/Run CodeMie on Azure, you need: - -- **Active Azure Subscription** with sufficient quota for the required resources -- **Contributor Role** for the deployment user with the following permissions: - - Access to **Entra ID App Registration** to obtain Application ID and Secret - - Ability to create and manage Azure resources (AKS, networking, storage, etc.) - :::info Complete Resource List - For a detailed list of all Azure resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. - ::: -- **Entra ID Access** on the Azure portal to retrieve application details such as Tenant ID - - - - -### Required Access and Permissions - -To deploy AI/Run CodeMie on GCP, you need: - -- **Active GCP Project** with sufficient quota for the required resources -- **Project Owner or Editor Role** for the deployment user with the following permissions: - - Ability to create and manage IAM Roles and Service Accounts - - Access to create and manage GCP resources (GKE, VPC, Cloud SQL, etc.) - :::info Complete Resource List - For a detailed list of all GCP resources that will be provisioned, refer to the [Architecture](./architecture.mdx) section or review the Terraform modules in the deployment repository. - ::: - - Ability to bind the following IAM roles to service accounts: - - `roles/aiplatform.user` - For Vertex AI access - - `roles/storage.admin` - For Cloud Storage management - - `roles/cloudkms.cryptoKeyEncrypterDecrypter` - For encryption key operations - -### Required GCP APIs - -The following APIs must be enabled in your GCP project before deployment: - -| API | Purpose | -| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -| [Cloud Identity-Aware Proxy API](https://console.cloud.google.com/marketplace/product/google/iap.googleapis.com) | Secure identity-based access control | -| [Service Networking API](https://console.cloud.google.com/marketplace/product/google/servicenetworking.googleapis.com) | Private service connectivity | -| [Secret Manager API](https://console.cloud.google.com/marketplace/product/google/secretmanager.googleapis.com) | Centralized secrets management | -| [Vertex AI API](https://console.cloud.google.com/marketplace/product/google/aiplatform.googleapis.com) | AI model integration and inference | - -:::info Vertex AI Models -Make sure you are familiar with Gemini models, their parameters, available regions, and other crucial details in the [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/models). -::: - - - - -### Network Requirements - -#### DNS and Certificate Requirements - - - - -AI/Run CodeMie requires proper DNS and TLS certificate configuration: - -- **Route 53 Hosted Zone** with available wildcard DNS configuration -- **Automatic Certificate Management** - AI/Run CodeMie Terraform modules will automatically create: - - DNS Records in Route 53 - - TLS certificates through AWS Certificate Manager for ALB and NLB - -:::tip Automatic Setup -DNS and certificate provisioning is fully automated through Terraform when using AI/Run CodeMie-managed infrastructure. You only need to provide the hosted zone. However, if you're using self-provisioned infrastructure, you will need to handle DNS records and certificates for it. -::: - - - - -DNS and TLS certificate requirements depend on your access model: - - - - -If you require **public internet access** to AI/Run CodeMie: - -- Azure DNS Zone must be created and domain delegated there -- Valid wildcard TLS certificate must be available for HTTPS connections - - - - -If you only require **internal access** within your organization: - -- AI/Run CodeMie Terraform modules will automatically create a private DNS zone -- No external DNS delegation or public certificates are required - - - - - - - -- Registered domain name delegated to Cloud DNS with permissions to create DNS records -- Valid wildcard TLS certificate must be available for HTTPS connections (see [Ingress NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -_No AWS-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ - - - - -_No Azure-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ - - - - -## GKE Cluster Configuration - -:::info GCP-Specific Requirement -This section applies only to GCP deployments. -::: - -### VPC-Native Networking and Container-Native Load Balancing - -AI/Run CodeMie requires GKE clusters configured with **VPC-native networking** and **container-native load balancing (NEGs)** for proper Ingress functionality. - -**Required Configuration:** - -- **Networking Mode:** `VPC_NATIVE` with IP allocation policy (secondary ranges for pods and services) -- **HTTP Load Balancing Addon:** Enabled (default) - -:::warning Network Policy Disables Automatic NEGs -If your cluster uses **GKE Network Policy** or **Calico**, container-native load balancing will NOT be enabled automatically. This causes Ingress errors: - -``` -service "namespace/service" is type "ClusterIP", expected "NodePort" or "LoadBalancer" -``` - -**Solution:** Manually enable NEGs by adding this annotation to all Services exposed via Ingress in chart values. For example: - -```yaml -service: - type: ClusterIP - port: 8080 - annotations: - cloud.google.com/neg: '{"ingress": true}' -``` - -::: - - - - - - - - - -**Cloud-Specific Tools:** - -| Tool | Version | Purpose | -| ---------------------------------------------------------------------------------------- | ------- | ----------------------- | -| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | - - - - -**Cloud-Specific Tools:** - -| Tool | Version | Purpose | -| -------------------------------------------------------------------------- | ------- | ------------------------- | -| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure resource management | -| [kubelogin](https://azure.github.io/kubelogin/install.html) | latest | AKS authentication plugin | - - - - -:::note gcloud CLI Multi-Purpose -For GCP deployments, gcloud CLI serves dual purposes: GCP resource management and authentication to AI/Run CodeMie container registry (GCR). -::: - - - - -### Required Repository Access - -You will need access to the following repositories to complete the deployment: - - - - -- **Terraform IAM Module:** [codemie-terraform-aws-iam](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam) -- **Terraform Platform Module:** [codemie-terraform-aws-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform) -- **Terraform Remote Backend:** [codemie-terraform-aws-remote-backend](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-remote-backend) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - - - - -- **Terraform Modules:** [codemie-terraform-azure](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - - - - -- **Terraform Platform Modules:** [codemie-terraform-gcp-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform) -- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) - - - - -:::info Air-Gapped Environments -If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. -::: - -## On-VM Deployment Prerequisites - -This section covers prerequisites for the lightweight [On-VM deployment](./infrastructure-deployment/index.mdx) option, which runs the full AI/Run CodeMie platform on a single virtual machine using Docker Compose. - -### Account Requirements - - - - -- **Active AWS Account** with a region that supports [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) -- **IAM permissions** to create an IAM deployer role (one-time setup) -- **Sufficient quota** for: 1 EC2 instance, 1 VPC, 1 S3 bucket, 1 KMS key, 1 EIP -- **Network access**: Outbound internet access from EC2 (to pull Docker images, access Bedrock API); optional Route 53 hosted zone (if using a custom domain with ALB + ACM) - -:::tip IAM Deployer Role -The deployment uses a dedicated IAM role with scoped permissions. You only need broad IAM access to create this role once — subsequent deployments use the role. -::: - - - - -- **Active Azure Subscription** with sufficient quota for the required resources -- **Contributor role** (or equivalent) on the subscription to create VMs, Storage Accounts, Key Vaults, and DNS zones -- **AZURE_SUBSCRIPTION_ID** and **AZURE_TENANT_ID** — available in the Azure Portal under **Azure Active Directory → Overview** - -**Quota Requirements:** - -| Resource | Count | -| ---------------- | ----- | -| Standard_E4s_v5 | 1 | -| Azure Key Vault | 1 | -| Storage Account | 1 | -| Private DNS Zone | 1 | - - - - -- **Active GCP Project** with sufficient quota for the required resources -- The operator account must have the following roles or equivalent permissions: - - `roles/iap.tunnelResourceAccessor` — SSH access to the VM via IAP - - `roles/secretmanager.secretAccessor` — fetch SSH key from Secret Manager - - Permissions to create: GCE VM, GCS bucket, Cloud KMS key, Cloud DNS private zone, VPC firewall rules - -**Quota Requirements:** - -| Resource | Count | -| ---------------------- | ------------ | -| n2-highmem-4 VM | 1 | -| GCS Bucket | 1 | -| Cloud KMS Key | 1 | -| Cloud DNS Private Zone | 1 (optional) | - - - - -### Deployment Machine Tools - -The following tools must be installed on the machine where you run `./deploy.sh`: - - - - -| Tool | Version | Purpose | -| --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | -| [Session Manager Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) | latest | SSH access via AWS SSM | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -Verify installation: - -```bash -terraform version # Should show 1.15.x -aws --version # AWS CLI v2 -session-manager-plugin # Should print version info -jq --version -openssl version -envsubst --version -``` - - - - -| Tool | Version | Purpose | -| -------------------------------------------------------------------------- | ------- | ----------------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure authentication and management | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -Verify installation: - -```bash -terraform version # Should show 1.15.x -az version # Azure CLI -jq --version -openssl version -envsubst --version -``` - - - - -| Tool | Version | Purpose | -| -------------------------------------------------------------- | ------- | --------------------------------- | -| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | -| [gcloud CLI](https://cloud.google.com/sdk/docs/install) | latest | GCP authentication and management | -| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | -| openssl | latest | Secret generation | -| envsubst | latest | Template rendering | - -Verify installation: - -```bash -terraform version # Should show 1.15.x -gcloud version -jq --version -openssl version -envsubst --version -``` - - - - -:::info Enterprise Profile Only -If deploying the **Enterprise profile**, [nsc](https://github.com/nats-io/nsc) (latest) is also required on the deployment machine for NATS key generation. -::: - -### GCP Container Registry Access - -CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry — this applies regardless of the cloud provider you deploy to. - -:::info Obtaining key.json -Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. -::: - -### Cloud Authentication - -Authenticate to your cloud provider before running the deployment: - - - - -```bash -# If using AWS SSO: -aws sso login --profile your-profile -export AWS_PROFILE=your-profile - -# Verify credentials: -aws sts get-caller-identity -``` - - - - -```bash -az login -az account set --subscription "" - -# Verify active subscription -az account show -``` - - - - -```bash -gcloud auth application-default login - -# Verify active project -gcloud config get-value project -``` - - - - -### Repository Access - -Clone the deployment repository: - -```bash -git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git -cd codemie-on-vm -``` - -The repository structure: - - - - -| Directory | Purpose | -| -------------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `terraform/aws/codemie-on-vm-aws-iam/` | IAM deployer role Terraform module | -| `terraform/aws/remote-backend/` | S3 Terraform state bucket | -| `terraform/aws/platform/` | EC2, VPC, ALB, S3, KMS infrastructure | - - - - -| Directory | Purpose | -| --------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `destroy.sh` | Destroy script | -| `terraform/azure/remote-backend/` | Azure Storage Terraform state backend | -| `terraform/azure/platform/` | VM, Storage Account, Key Vault, DNS, NSG | -| `terraform/azure/ai-models/` | Azure OpenAI cognitive accounts (optional) | - - - - -| Directory | Purpose | -| ------------------------------- | ---------------------------------------------- | -| `compose/` | Docker Compose files and service configuration | -| `deploy.sh` | Deployment script | -| `destroy.sh` | Destroy script | -| `terraform/gcp/remote-backend/` | GCS bucket for Terraform state | -| `terraform/gcp/platform/` | VM, GCS bucket, KMS key, DNS, firewall | - - - - -:::info Air-Gapped Environments -If your deployment machine operates in an isolated environment without direct internet or repository access, the repository can be provided as a ZIP/TAR archive and transferred through approved channels. -::: - - diff --git a/docs/admin/deployment/prerequisites/index.mdx b/docs/admin/deployment/prerequisites/index.mdx new file mode 100644 index 00000000..c7adb65c --- /dev/null +++ b/docs/admin/deployment/prerequisites/index.mdx @@ -0,0 +1,37 @@ +--- +id: prerequisites-overview +title: Prerequisites +sidebar_label: Prerequisites +sidebar_position: 2 +pagination_prev: admin/deployment/architecture/architecture-on-vm +--- + +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; +import NextSteps from '../common/deployment/prerequisites/_next-steps.mdx'; + +# Prerequisites + +This section outlines the requirements and prerequisites necessary for deploying AI/Run CodeMie. All requirements must be met before proceeding with the installation. + +## Prerequisite Sets + + + + +
    + + + diff --git a/docs/admin/deployment/prerequisites/kubernetes.mdx b/docs/admin/deployment/prerequisites/kubernetes.mdx new file mode 100644 index 00000000..8c703fee --- /dev/null +++ b/docs/admin/deployment/prerequisites/kubernetes.mdx @@ -0,0 +1,274 @@ +--- +id: prerequisites-kubernetes +title: Kubernetes Deployment Prerequisites +sidebar_label: Kubernetes +sidebar_position: 3 +pagination_prev: admin/deployment/prerequisites/prerequisites-overview +pagination_next: admin/deployment/prerequisites/prerequisites-on-vm +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import NetworkRequirements from '../common/deployment/prerequisites/_network-requirements.mdx'; +import ClusterRequirements from '../common/deployment/prerequisites/_cluster-requirements.mdx'; +import DeploymentMachineTools from '../common/deployment/prerequisites/_deployment-machine-tools.mdx'; + +# Kubernetes Deployment Prerequisites + +This page outlines the requirements for deploying AI/Run CodeMie on a managed Kubernetes cluster. A cloud provider can be selected below to view provider-specific requirements. + +## Account Requirements + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on AWS, you need: + +- **Active AWS Account** with preferred region for deployment +- **Programmatic Access** with credentials that have permissions to create and manage IAM Roles and Policy Documents +- **Sufficient Quota** for the required resources (EKS, RDS, networking, storage, etc.) + :::info Complete Resource List + For a detailed list of all AWS resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + ::: + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on Azure, you need: + +- **Active Azure Subscription** with sufficient quota for the required resources +- **Contributor Role** for the deployment user with the following permissions: + - Access to **Entra ID App Registration** to obtain Application ID and Secret + - Ability to create and manage Azure resources (AKS, networking, storage, etc.) + :::info Complete Resource List + For a detailed list of all Azure resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + ::: +- **Entra ID Access** on the Azure portal to retrieve application details such as Tenant ID + + + + +### Required Access and Permissions + +To deploy AI/Run CodeMie on GCP, you need: + +- **Active GCP Project** with sufficient quota for the required resources +- **Project Owner or Editor Role** for the deployment user with the following permissions: + - Ability to create and manage IAM Roles and Service Accounts + - Access to create and manage GCP resources (GKE, VPC, Cloud SQL, etc.) + :::info Complete Resource List + For a detailed list of all GCP resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + ::: + - Ability to bind the following IAM roles to service accounts: + - `roles/aiplatform.user` - For Vertex AI access + - `roles/storage.admin` - For Cloud Storage management + - `roles/cloudkms.cryptoKeyEncrypterDecrypter` - For encryption key operations + +### Required GCP APIs + +The following APIs must be enabled in your GCP project before deployment: + +| API | Purpose | +| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | +| [Cloud Identity-Aware Proxy API](https://console.cloud.google.com/marketplace/product/google/iap.googleapis.com) | Secure identity-based access control | +| [Service Networking API](https://console.cloud.google.com/marketplace/product/google/servicenetworking.googleapis.com) | Private service connectivity | +| [Secret Manager API](https://console.cloud.google.com/marketplace/product/google/secretmanager.googleapis.com) | Centralized secrets management | +| [Vertex AI API](https://console.cloud.google.com/marketplace/product/google/aiplatform.googleapis.com) | AI model integration and inference | + +:::info Vertex AI Models +Make sure you are familiar with Gemini models, their parameters, available regions, and other crucial details in the [Vertex AI documentation](https://cloud.google.com/vertex-ai/generative-ai/docs/models). +::: + + + + +## Network Requirements + +### DNS and Certificate Requirements + + + + +AI/Run CodeMie requires proper DNS and TLS certificate configuration: + +- **Route 53 Hosted Zone** with available wildcard DNS configuration +- **Automatic Certificate Management** - AI/Run CodeMie Terraform modules will automatically create: + - DNS Records in Route 53 + - TLS certificates through AWS Certificate Manager for ALB and NLB + +:::tip Automatic Setup +DNS and certificate provisioning is fully automated through Terraform when using AI/Run CodeMie-managed infrastructure. You only need to provide the hosted zone. However, if you're using self-provisioned infrastructure, you will need to handle DNS records and certificates for it. +::: + + + + +DNS and TLS certificate requirements depend on your access model: + + + + +If you require **public internet access** to AI/Run CodeMie: + +- Azure DNS Zone must be created and domain delegated there +- Valid wildcard TLS certificate must be available for HTTPS connections + + + + +If you only require **internal access** within your organization: + +- AI/Run CodeMie Terraform modules will automatically create a private DNS zone +- No external DNS delegation or public certificates are required + + + + + + + +- Registered domain name delegated to Cloud DNS with permissions to create DNS records +- Valid wildcard TLS certificate must be available for HTTPS connections (see [Ingress NGINX TLS guide](https://kubernetes.github.io/ingress-nginx/user-guide/tls/)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_No AWS-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ + + + + +_No Azure-specific cluster configuration is required beyond the general Kubernetes cluster requirements above._ + + + + +## GKE Cluster Configuration + +:::info GCP-Specific Requirement +This section applies only to GCP deployments. +::: + +### VPC-Native Networking and Container-Native Load Balancing + +AI/Run CodeMie requires GKE clusters configured with **VPC-native networking** and **container-native load balancing (NEGs)** for proper Ingress functionality. + +**Required Configuration:** + +- **Networking Mode:** `VPC_NATIVE` with IP allocation policy (secondary ranges for pods and services) +- **HTTP Load Balancing Addon:** Enabled (default) + +:::warning Network Policy Disables Automatic NEGs +If your cluster uses **GKE Network Policy** or **Calico**, container-native load balancing will NOT be enabled automatically. This causes Ingress errors: + +``` +service "namespace/service" is type "ClusterIP", expected "NodePort" or "LoadBalancer" +``` + +**Solution:** Manually enable NEGs by adding this annotation to all Services exposed via Ingress in chart values. For example: + +```yaml +service: + type: ClusterIP + port: 8080 + annotations: + cloud.google.com/neg: '{"ingress": true}' +``` + +::: + + + + + + + + + +**Cloud-Specific Tools:** + +| Tool | Version | Purpose | +| ---------------------------------------------------------------------------------------- | ------- | ----------------------- | +| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | + + + + +**Cloud-Specific Tools:** + +| Tool | Version | Purpose | +| -------------------------------------------------------------------------- | ------- | ------------------------- | +| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure resource management | +| [kubelogin](https://azure.github.io/kubelogin/install.html) | latest | AKS authentication plugin | + + + + +:::note gcloud CLI Multi-Purpose +For GCP deployments, gcloud CLI serves dual purposes: GCP resource management and authentication to AI/Run CodeMie container registry (GCR). +::: + + + + +## Required Repository Access + +You will need access to the following repositories to complete the deployment: + + + + +- **Terraform IAM Module:** [codemie-terraform-aws-iam](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-iam) +- **Terraform Platform Module:** [codemie-terraform-aws-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-platform) +- **Terraform Remote Backend:** [codemie-terraform-aws-remote-backend](https://gitbud.epam.com/epm-cdme/codemie-terraform-aws-remote-backend) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +- **Terraform Modules:** [codemie-terraform-azure](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +- **Terraform Platform Modules:** [codemie-terraform-gcp-platform](https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform) +- **Helm Charts:** [codemie-helm-charts](https://gitbud.epam.com/epm-cdme/codemie-helm-charts) + + + + +:::info Air-Gapped Environments +If your deployment machine operates in an isolated environment without direct internet or repository access, the repositories can be provided as ZIP/TAR archives and transferred through approved channels. +::: diff --git a/docs/admin/deployment/prerequisites/on-vm.mdx b/docs/admin/deployment/prerequisites/on-vm.mdx new file mode 100644 index 00000000..7b37892f --- /dev/null +++ b/docs/admin/deployment/prerequisites/on-vm.mdx @@ -0,0 +1,242 @@ +--- +id: prerequisites-on-vm +title: On-VM Deployment Prerequisites +sidebar_label: On VM +sidebar_position: 4 +pagination_prev: admin/deployment/prerequisites/prerequisites-kubernetes +pagination_next: admin/deployment/infrastructure-deployment/infrastructure-deployment-overview +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# On-VM Deployment Prerequisites + +This page outlines the requirements for the lightweight [On-VM deployment](../../infrastructure-deployment/) option, which runs the full AI/Run CodeMie platform on a single virtual machine using Docker Compose. + +## Account Requirements + + + + +- **Active AWS Account** with a region that supports [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html) +- **IAM permissions** to create an IAM deployer role (one-time setup) +- **Sufficient quota** for: 1 EC2 instance, 1 VPC, 1 S3 bucket, 1 KMS key, 1 EIP +- **Network access**: Outbound internet access from EC2 (to pull Docker images, access Bedrock API); optional Route 53 hosted zone (if using a custom domain with ALB + ACM) + +:::tip IAM Deployer Role +The deployment uses a dedicated IAM role with scoped permissions. You only need broad IAM access to create this role once — subsequent deployments use the role. +::: + + + + +- **Active Azure Subscription** with sufficient quota for the required resources +- **Contributor role** (or equivalent) on the subscription to create VMs, Storage Accounts, Key Vaults, and DNS zones +- **AZURE_SUBSCRIPTION_ID** and **AZURE_TENANT_ID** — available in the Azure Portal under **Azure Active Directory → Overview** + +**Quota Requirements:** + +| Resource | Count | +| ---------------- | ----- | +| Standard_E4s_v5 | 1 | +| Azure Key Vault | 1 | +| Storage Account | 1 | +| Private DNS Zone | 1 | + + + + +- **Active GCP Project** with sufficient quota for the required resources +- The operator account must have the following roles or equivalent permissions: + - `roles/iap.tunnelResourceAccessor` — SSH access to the VM via IAP + - `roles/secretmanager.secretAccessor` — fetch SSH key from Secret Manager + - Permissions to create: GCE VM, GCS bucket, Cloud KMS key, Cloud DNS private zone, VPC firewall rules + +**Quota Requirements:** + +| Resource | Count | +| ---------------------- | ------------ | +| n2-highmem-4 VM | 1 | +| GCS Bucket | 1 | +| Cloud KMS Key | 1 | +| Cloud DNS Private Zone | 1 (optional) | + + + + +## Deployment Machine Tools + +The following tools must be installed on the machine where you run `./deploy.sh`: + + + + +| Tool | Version | Purpose | +| --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) | latest | AWS resource management | +| [Session Manager Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) | latest | SSH access via AWS SSM | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +aws --version # AWS CLI v2 +session-manager-plugin # Should print version info +jq --version +openssl version +envsubst --version +``` + + + + +| Tool | Version | Purpose | +| -------------------------------------------------------------------------- | ------- | ----------------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) | latest | Azure authentication and management | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +az version # Azure CLI +jq --version +openssl version +envsubst --version +``` + + + + +| Tool | Version | Purpose | +| -------------------------------------------------------------- | ------- | --------------------------------- | +| [Terraform](https://developer.hashicorp.com/terraform/install) | 1.15.x | Infrastructure provisioning | +| [gcloud CLI](https://cloud.google.com/sdk/docs/install) | latest | GCP authentication and management | +| [jq](https://jqlang.github.io/jq/download/) | latest | JSON parsing | +| openssl | latest | Secret generation | +| envsubst | latest | Template rendering | + +Verify installation: + +```bash +terraform version # Should show 1.15.x +gcloud version +jq --version +openssl version +envsubst --version +``` + + + + +:::info Enterprise Profile Only +If deploying the **Enterprise profile**, [nsc](https://github.com/nats-io/nsc) (latest) is also required on the deployment machine for NATS key generation. +::: + +## GCP Container Registry Access + +CodeMie container images are hosted on `europe-west3-docker.pkg.dev`. You need a **GCP service account key file** (`key.json`) with read access to the registry — this applies regardless of the cloud provider you deploy to. + +:::info Obtaining key.json +Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. +::: + +## Cloud Authentication + +Authenticate to your cloud provider before running the deployment: + + + + +```bash +# If using AWS SSO: +aws sso login --profile your-profile +export AWS_PROFILE=your-profile + +# Verify credentials: +aws sts get-caller-identity +``` + + + + +```bash +az login +az account set --subscription "" + +# Verify active subscription +az account show +``` + + + + +```bash +gcloud auth application-default login + +# Verify active project +gcloud config get-value project +``` + + + + +## Repository Access + +Clone the deployment repository: + +```bash +git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git +cd codemie-on-vm +``` + +The repository structure: + + + + +| Directory | Purpose | +| -------------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `terraform/aws/codemie-on-vm-aws-iam/` | IAM deployer role Terraform module | +| `terraform/aws/remote-backend/` | S3 Terraform state bucket | +| `terraform/aws/platform/` | EC2, VPC, ALB, S3, KMS infrastructure | + + + + +| Directory | Purpose | +| --------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `destroy.sh` | Destroy script | +| `terraform/azure/remote-backend/` | Azure Storage Terraform state backend | +| `terraform/azure/platform/` | VM, Storage Account, Key Vault, DNS, NSG | +| `terraform/azure/ai-models/` | Azure OpenAI cognitive accounts (optional) | + + + + +| Directory | Purpose | +| ------------------------------- | ---------------------------------------------- | +| `compose/` | Docker Compose files and service configuration | +| `deploy.sh` | Deployment script | +| `destroy.sh` | Destroy script | +| `terraform/gcp/remote-backend/` | GCS bucket for Terraform state | +| `terraform/gcp/platform/` | VM, GCS bucket, KMS key, DNS, firewall | + + + + +:::info Air-Gapped Environments +If your deployment machine operates in an isolated environment without direct internet or repository access, the repository can be provided as a ZIP/TAR archive and transferred through approved channels. +::: diff --git a/sidebars.ts b/sidebars.ts index a133fa47..2bd652b2 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -423,14 +423,30 @@ const sidebars: SidebarsConfig = { collapsed: true, items: [ { - type: 'doc', - id: 'admin/deployment/architecture', + type: 'category', label: 'Architecture', + link: { + type: 'doc', + id: 'admin/deployment/architecture/architecture-overview', + }, + collapsed: true, + items: [ + 'admin/deployment/architecture/architecture-kubernetes', + 'admin/deployment/architecture/architecture-on-vm', + ], }, { - type: 'doc', - id: 'admin/deployment/prerequisites', + type: 'category', label: 'Prerequisites', + link: { + type: 'doc', + id: 'admin/deployment/prerequisites/prerequisites-overview', + }, + collapsed: true, + items: [ + 'admin/deployment/prerequisites/prerequisites-kubernetes', + 'admin/deployment/prerequisites/prerequisites-on-vm', + ], }, { type: 'category', From aac403d45dff14e4a3893486db933fd85f85c4a7 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Tue, 6 Oct 2026 15:44:22 +0300 Subject: [PATCH 7/8] docs(deployment): restructure architecture docs and add overview cards to config and security pages Generated with AI Co-Authored-By: codemie-ai --- .../architecture-diagram-aws.drawio.png | Bin .../architecture-diagram-azure.drawio.png | Bin .../architecture-diagram-gcp.drawio.png | Bin ...tecture-diagram-aws-domain-mode.drawio.png | Bin ...rchitecture-diagram-aws-ip-mode.drawio.png | Bin ...ecture-diagram-aws-private-mode.drawio.png | Bin ...n-vm-architecture-diagram-azure.drawio.png | Bin .../on-vm-architecture-diagram-gcp.drawio.png | Bin .../{deployment => }/architecture/index.mdx | 8 +- docs/admin/architecture/kubernetes.mdx | 154 ++++++++++++++++++ .../{deployment => }/architecture/on-vm.mdx | 88 +++++----- docs/admin/configuration/index.mdx | 130 +++++++++++++-- .../deployment/architecture/kubernetes.mdx | 67 -------- .../k8s/_storage-class-installation.mdx | 8 +- .../k8s/_storage-ingress-nginx.mdx | 4 +- .../k8s/_storage-ingress-overview.mdx | 4 +- .../observability/_observability-kibana.mdx | 2 +- .../security/_security-keycloak-install.mdx | 2 +- .../deployment/prerequisites/_next-steps.mdx | 2 +- docs/admin/deployment/index.mdx | 70 +------- .../platform-deployment/automated/index.mdx | 8 - .../automated/kubernetes.mdx | 8 +- .../deployment/platform-deployment/index.mdx | 13 -- .../manual/kubernetes/data-layer.mdx | 79 +++++---- .../manual/kubernetes/index.mdx | 12 +- .../manual/kubernetes/k8s-components.mdx | 55 +------ .../manual/kubernetes/observability.mdx | 35 ++-- .../kubernetes/security-and-identity.mdx | 41 ++--- docs/admin/deployment/prerequisites/index.mdx | 2 +- .../deployment/prerequisites/kubernetes.mdx | 103 +++++++++++- docs/admin/index.mdx | 123 +++----------- docs/admin/security/index.md | 43 ++++- sidebars.ts | 26 +-- 33 files changed, 594 insertions(+), 493 deletions(-) rename docs/admin/{deployment => architecture}/images/architecture-diagram-aws.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/architecture-diagram-azure.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/architecture-diagram-gcp.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/on-vm-architecture-diagram-aws-private-mode.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/on-vm-architecture-diagram-azure.drawio.png (100%) rename docs/admin/{deployment => architecture}/images/on-vm-architecture-diagram-gcp.drawio.png (100%) rename docs/admin/{deployment => }/architecture/index.mdx (83%) create mode 100644 docs/admin/architecture/kubernetes.mdx rename docs/admin/{deployment => }/architecture/on-vm.mdx (93%) delete mode 100644 docs/admin/deployment/architecture/kubernetes.mdx diff --git a/docs/admin/deployment/images/architecture-diagram-aws.drawio.png b/docs/admin/architecture/images/architecture-diagram-aws.drawio.png similarity index 100% rename from docs/admin/deployment/images/architecture-diagram-aws.drawio.png rename to docs/admin/architecture/images/architecture-diagram-aws.drawio.png diff --git a/docs/admin/deployment/images/architecture-diagram-azure.drawio.png b/docs/admin/architecture/images/architecture-diagram-azure.drawio.png similarity index 100% rename from docs/admin/deployment/images/architecture-diagram-azure.drawio.png rename to docs/admin/architecture/images/architecture-diagram-azure.drawio.png diff --git a/docs/admin/deployment/images/architecture-diagram-gcp.drawio.png b/docs/admin/architecture/images/architecture-diagram-gcp.drawio.png similarity index 100% rename from docs/admin/deployment/images/architecture-diagram-gcp.drawio.png rename to docs/admin/architecture/images/architecture-diagram-gcp.drawio.png diff --git a/docs/admin/deployment/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png b/docs/admin/architecture/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png similarity index 100% rename from docs/admin/deployment/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png rename to docs/admin/architecture/images/on-vm-architecture-diagram-aws-domain-mode.drawio.png diff --git a/docs/admin/deployment/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png b/docs/admin/architecture/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png similarity index 100% rename from docs/admin/deployment/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png rename to docs/admin/architecture/images/on-vm-architecture-diagram-aws-ip-mode.drawio.png diff --git a/docs/admin/deployment/images/on-vm-architecture-diagram-aws-private-mode.drawio.png b/docs/admin/architecture/images/on-vm-architecture-diagram-aws-private-mode.drawio.png similarity index 100% rename from docs/admin/deployment/images/on-vm-architecture-diagram-aws-private-mode.drawio.png rename to docs/admin/architecture/images/on-vm-architecture-diagram-aws-private-mode.drawio.png diff --git a/docs/admin/deployment/images/on-vm-architecture-diagram-azure.drawio.png b/docs/admin/architecture/images/on-vm-architecture-diagram-azure.drawio.png similarity index 100% rename from docs/admin/deployment/images/on-vm-architecture-diagram-azure.drawio.png rename to docs/admin/architecture/images/on-vm-architecture-diagram-azure.drawio.png diff --git a/docs/admin/deployment/images/on-vm-architecture-diagram-gcp.drawio.png b/docs/admin/architecture/images/on-vm-architecture-diagram-gcp.drawio.png similarity index 100% rename from docs/admin/deployment/images/on-vm-architecture-diagram-gcp.drawio.png rename to docs/admin/architecture/images/on-vm-architecture-diagram-gcp.drawio.png diff --git a/docs/admin/deployment/architecture/index.mdx b/docs/admin/architecture/index.mdx similarity index 83% rename from docs/admin/deployment/architecture/index.mdx rename to docs/admin/architecture/index.mdx index bbb22f84..2b0005e6 100644 --- a/docs/admin/deployment/architecture/index.mdx +++ b/docs/admin/architecture/index.mdx @@ -3,7 +3,7 @@ id: architecture-overview title: AI/Run CodeMie Deployment Architecture sidebar_label: Architecture sidebar_position: 1 -pagination_prev: admin/deployment/index +pagination_prev: admin/index --- import FeatureCard from '@site/src/components/FeatureCard'; @@ -21,18 +21,18 @@ This section describes the AI/Run CodeMie deployment architecture, including inf iconType="image" title="Kubernetes" description="Full production deployment on a managed Kubernetes cluster (EKS, AKS, or GKE), including network design and container resource requirements." - link="/admin/deployment/architecture/architecture-kubernetes" + link="/admin/architecture/architecture-kubernetes" />
    ## Next Steps -After reviewing the architecture, proceed to [Prerequisites](../prerequisites/) to review the requirements before deployment. +After reviewing the architecture, proceed to [Prerequisites](../deployment/prerequisites/) to review the requirements before deployment. diff --git a/docs/admin/architecture/kubernetes.mdx b/docs/admin/architecture/kubernetes.mdx new file mode 100644 index 00000000..3b694dff --- /dev/null +++ b/docs/admin/architecture/kubernetes.mdx @@ -0,0 +1,154 @@ +--- +id: architecture-kubernetes +title: Kubernetes Deployment Architecture +sidebar_label: Kubernetes +sidebar_position: 2 +pagination_prev: admin/architecture/architecture-overview +pagination_next: admin/architecture/architecture-on-vm +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ContainerResources from '../deployment/common/deployment/architecture/_container-resources.mdx'; + +# Kubernetes Deployment Architecture + +This page describes the full production deployment architecture on a managed Kubernetes cluster. A cloud provider can be selected below for provider-specific details. + +## Application Stack Components + +The AI/Run CodeMie application consists of multiple integrated components organized into functional categories: + +![Application Stack](../deployment/common/deployment/images/application-stack-diagram.drawio.png) + +### Core AI/Run CodeMie Services + +Proprietary services that provide the main AI/Run CodeMie functionality: + +| Component | Container Registry | Description | +| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| **CodeMie API** | `europe-west3-docker.pkg.dev/.../codemie:x.y.z` | Backend service handling business logic, data processing, and API operations | +| **CodeMie UI** | `europe-west3-docker.pkg.dev/.../codemie-ui:x.y.z` | Frontend web application providing the user interface | +| **NATS Auth Callout** | `europe-west3-docker.pkg.dev/.../codemie-nats-auth-callout:x.y.z` | Authentication and authorization service for NATS messaging (Plugin Engine component) | +| **MCP Connect** | `europe-west3-docker.pkg.dev/.../codemie-mcp-connect-service:x.y.z` | Bridge enabling CodeMie to communicate with MCP servers | +| **Mermaid Server** | `europe-west3-docker.pkg.dev/.../mermaid-server:x.y.z` | Diagram generation service for visualization in chats | + +### Data Layer + +Database and search components for data persistence: + +| Component | Container Registry | Description | +| ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | +| **Elasticsearch** | `docker.elastic.co/elasticsearch/elasticsearch:x.y.z` | Primary data store for AI/Run CodeMie (datasources, projects, conversations, etc.) | +| **Kibana** | `docker.elastic.co/kibana/kibana:x.y.z` | Analytics and visualization interface for Elasticsearch data | + +### Security & Identity Management + +Authentication and authorization components: + +| Component | Container Registry | Description | +| --------------------- | ----------------------------------------- | --------------------------------------------------------------------------- | +| **Keycloak Operator** | `epamedp/keycloak-operator:x.y.z` | Manages Keycloak deployment and configuration | +| **Keycloak** | `quay.io/keycloak/keycloak:x.y.z` | Identity and access management (IAM) solution providing SSO, authentication | +| **OAuth2 Proxy** | `quay.io/oauth2-proxy/oauth2-proxy:x.y.z` | Authentication middleware integrating with Keycloak for secure access | + +### Infrastructure Services + +Essential Kubernetes infrastructure components: + +| Component | Container Registry | Description | +| ---------------------------- | ------------------------------------------------------------------- | --------------------------------------------------- | +| **Nginx Ingress Controller** | `registry.k8s.io/ingress-nginx/controller:x.y.z` | Routes external traffic to internal services | +| **Storage Class** | Cloud-provider CSI driver (EBS, Azure Disk, or GCP Persistent Disk) | Provides persistent volumes for stateful components | + +### Messaging & Integration + +Message broker for Plugin Engine: + +| Component | Container Registry | Description | +| --------- | ------------------ | ----------------------------------------------------------------- | +| **NATS** | `nats:x.y.z` | High-performance messaging system for Plugin Engine communication | + +### Observability + +Logging and monitoring components: + +| Component | Container Registry | Description | +| -------------- | ----------------------------------------- | ------------------------------------------------------ | +| **Fluent Bit** | `cr.fluentbit.io/fluent/fluent-bit:x.y.z` | Lightweight log collector enabling agent observability | + +### Optional Components + +Components that can be omitted based on configuration: + +| Component | Container Registry | Description | +| ------------- | ------------------ | ----------------------------------------------------------------------------------------------- | +| **LLM Proxy** | – | Optional proxy for load balancing and high availability of AI model requests and usage insights | + +### Deployment Dependencies + +Components must be deployed in the following order due to dependencies: + +1. **Infrastructure** → Ingress Controller, Storage Class +2. **Operators** → Keycloak Operator +3. **Data Layer** → Elasticsearch +4. **Security** → Keycloak (with database credentials), OAuth2 Proxy +5. **Messaging** → NATS +6. **Core Services** → CodeMie API, UI, MCP Connect, NATS Auth +7. **Observability** → Fluent Bit, Kibana +8. **Optional** → LLM Proxy (if needed) + +## Cloud Infrastructure + +A cloud provider can be selected below for provider-specific infrastructure details. + + + + +AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: + +![AWS Architecture Diagram](./images/architecture-diagram-aws.drawio.png) + + + + +AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: + +![Azure Architecture Diagram](./images/architecture-diagram-azure.drawio.png) + + + + +AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. + +### Deployment Options + +There are two deployment options available depending on your organization's access requirements: + +- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations +- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security + +### High-Level Architecture Diagram + +The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: + +![GCP Architecture Diagram](./images/architecture-diagram-gcp.drawio.png) + + + + +:::tip Architecture Customization +The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. +::: + +## Kubernetes Resource Requirements + + diff --git a/docs/admin/deployment/architecture/on-vm.mdx b/docs/admin/architecture/on-vm.mdx similarity index 93% rename from docs/admin/deployment/architecture/on-vm.mdx rename to docs/admin/architecture/on-vm.mdx index 8be2a7d9..1d40fd66 100644 --- a/docs/admin/deployment/architecture/on-vm.mdx +++ b/docs/admin/architecture/on-vm.mdx @@ -3,7 +3,7 @@ id: architecture-on-vm title: On-VM Deployment Architecture sidebar_label: On VM sidebar_position: 3 -pagination_prev: admin/deployment/architecture/architecture-kubernetes +pagination_prev: admin/architecture/architecture-kubernetes pagination_next: admin/deployment/prerequisites/prerequisites-overview --- @@ -14,6 +14,44 @@ import TabItem from '@theme/TabItem'; CodeMie On VM deploys the full AI/Run CodeMie platform on a **single virtual machine** using Docker Compose. It provides the same core functionality as the full Kubernetes deployment but with minimal infrastructure overhead, and is designed for proof-of-concept and demo environments rather than production workloads. +## Application Architecture + +All CodeMie services run as Docker containers on the VM, orchestrated by Docker Compose. This layer is identical regardless of the underlying cloud provider. + +![Docker Compose Services](../deployment/common/deployment/images/docker-compose-diagram.drawio.png) + +### Services by Profile + +**Shared services** (both profiles): + +| Service | Image | Purpose | +| ------------- | --------------------------- | ------------------------------------------------- | +| postgres | pgvector/pgvector:pg17 | Primary database for application data | +| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | +| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | +| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | +| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | + +**OSS profile:** + +| Service | Purpose | +| -------------- | --------------------------------------------- | +| codemie-oss | API server with built-in local authentication | +| codemie-ui-oss | Web frontend | + +**Enterprise profile:** + +| Service | Purpose | +| ----------------- | ---------------------------------------------- | +| codemie | API server | +| codemie-ui | Web frontend | +| keycloak | Identity provider (SSO, OIDC) | +| oauth2-proxy | Authentication proxy in front of nginx | +| litellm | LLM proxy for model routing and key management | +| nats | Messaging for plugin engine | +| nats-auth-callout | NATS authentication service | +| mermaid-server | Diagram rendering | + ## Infrastructure Overview @@ -25,19 +63,19 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf Direct access to the EC2 instance via Elastic IP: - ![IP Mode Diagram](../images/on-vm-architecture-diagram-aws-ip-mode.drawio.png) + ![IP Mode Diagram](./images/on-vm-architecture-diagram-aws-ip-mode.drawio.png) When `TF_VAR_platform_domain_name` is configured, an ALB with trusted TLS certificate is created: - ![Domain Mode Diagram](../images/on-vm-architecture-diagram-aws-domain-mode.drawio.png) + ![Domain Mode Diagram](./images/on-vm-architecture-diagram-aws-domain-mode.drawio.png) When `TF_VAR_private_ip_only=true`, EC2 is placed in a private subnet with NAT Gateway for outbound traffic. Access is via VPN, AWS Workspaces, or some other available VM: - ![Private Mode Diagram](../images/on-vm-architecture-diagram-aws-private-mode.drawio.png) + ![Private Mode Diagram](./images/on-vm-architecture-diagram-aws-private-mode.drawio.png) @@ -69,7 +107,7 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf -![Azure On VM Infrastructure Architecture](../images/on-vm-architecture-diagram-azure.drawio.png) +![Azure On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-azure.drawio.png) CodeMie On VM runs on a single Azure VM with supporting Azure services. Terraform provisions the following resources: @@ -95,7 +133,7 @@ CodeMie On VM runs on a single Azure VM with supporting Azure services. Terrafor -![GCP On VM Infrastructure Architecture](../images/on-vm-architecture-diagram-gcp.drawio.png) +![GCP On VM Infrastructure Architecture](./images/on-vm-architecture-diagram-gcp.drawio.png) CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform provisions the following resources: @@ -122,44 +160,6 @@ CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform pr -## Application Architecture - -All CodeMie services run as Docker containers on the VM, orchestrated by Docker Compose. This layer is identical regardless of the underlying cloud provider. - -![Docker Compose Services](../common/deployment/images/docker-compose-diagram.drawio.png) - -### Services by Profile - -**Shared services** (both profiles): - -| Service | Image | Purpose | -| ------------- | --------------------------- | ------------------------------------------------- | -| postgres | pgvector/pgvector:pg17 | Primary database for application data | -| elasticsearch | elasticsearch:8.x | Document storage and search for Data Sources | -| kibana | kibana:8.x | Log visualization and analytics for Elasticsearch | -| mcp-connect | codemie-mcp-connect-service | Connector for MCP servers | -| nginx | nginx:1.31-alpine | Reverse proxy, TLS termination | - -**OSS profile:** - -| Service | Purpose | -| -------------- | --------------------------------------------- | -| codemie-oss | API server with built-in local authentication | -| codemie-ui-oss | Web frontend | - -**Enterprise profile:** - -| Service | Purpose | -| ----------------- | ---------------------------------------------- | -| codemie | API server | -| codemie-ui | Web frontend | -| keycloak | Identity provider (SSO, OIDC) | -| oauth2-proxy | Authentication proxy in front of nginx | -| litellm | LLM proxy for model routing and key management | -| nats | Messaging for plugin engine | -| nats-auth-callout | NATS authentication service | -| mermaid-server | Diagram rendering | - ## On-VM Resource Requirements diff --git a/docs/admin/configuration/index.mdx b/docs/admin/configuration/index.mdx index e64139f4..cea8b4aa 100644 --- a/docs/admin/configuration/index.mdx +++ b/docs/admin/configuration/index.mdx @@ -14,36 +14,43 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; Configure AI/Run CodeMie to match your organizational requirements and workflows. -## AI/Run CodeMie Configuration Areas +## CodeMie + + + + + +## Access Control + + + + + + +
    +
    -## Extensions Configuration +## Extensions Configure optional extensions to enhance AI/Run CodeMie capabilities. +### ✨ Assistants Evaluation + + + +
    +
    + + +### ✨ LiteLLM Proxy + -
    + + + + +## Observability + + + +
    diff --git a/docs/admin/deployment/architecture/kubernetes.mdx b/docs/admin/deployment/architecture/kubernetes.mdx deleted file mode 100644 index 0ea8d1ef..00000000 --- a/docs/admin/deployment/architecture/kubernetes.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -id: architecture-kubernetes -title: Kubernetes Deployment Architecture -sidebar_label: Kubernetes -sidebar_position: 2 -pagination_prev: admin/deployment/architecture/architecture-overview -pagination_next: admin/deployment/architecture/architecture-on-vm ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import ContainerResources from '../common/deployment/architecture/_container-resources.mdx'; - -# Kubernetes Deployment Architecture - -This page describes the full production deployment architecture on a managed Kubernetes cluster. A cloud provider can be selected below for provider-specific details. - - - - -AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: - -![AWS Architecture Diagram](../images/architecture-diagram-aws.drawio.png) - - - - -AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: - -![Azure Architecture Diagram](../images/architecture-diagram-azure.drawio.png) - - - - -AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. - -### Deployment Options - -There are two deployment options available depending on your organization's access requirements: - -- **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations -- **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security - -### High-Level Architecture Diagram - -The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: - -![GCP Architecture Diagram](../images/architecture-diagram-gcp.drawio.png) - - - - -:::tip Architecture Customization -The architecture can be customized based on your organization's security policies, compliance requirements, and operational preferences. Consult with your deployment team to discuss specific requirements. -::: - -## Kubernetes Resource Requirements - - diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx index 9db54388..e86ee873 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx @@ -2,7 +2,7 @@ import CodeBlock from '@theme/CodeBlock'; ## Storage Class Installation -The {props.storageClassName} enables Kubernetes to dynamically provision {props.storageType} for stateful workloads like databases. +The Storage Class enables Kubernetes to dynamically provision block storage (Amazon EBS, Azure Disk, or GCP Persistent Disk, depending on your cloud provider) for stateful workloads like databases. ### Step 1: Check Existing Storage Classes @@ -13,15 +13,15 @@ kubectl get storageclass ``` :::info Skip if Already Exists -If your cluster already has appropriate storage classes (typically {props.existingStorageExamples}), you can skip this installation. +If your cluster already has appropriate storage classes, you can skip this installation. Clusters commonly ship with a default storage class such as `gp2`/`gp3` (AWS), `managed-premium` (Azure), or `standard-rwo` (GCP). ::: ### Step 2: Install Custom Storage Class -If no suitable storage class exists, install the {props.cloudProvider} storage class: +If no suitable storage class exists, install the storage class manifest for your cloud provider (`aws`, `azure`, or `gcp`): -{`kubectl apply -f storage-class/${props.storageClassFileName}`} +{`kubectl apply -f storage-class/storageclass-.yaml`} ### Step 3: Verify Storage Class diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-nginx.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-nginx.mdx index 0b926632..36add60f 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-nginx.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-nginx.mdx @@ -18,12 +18,12 @@ Check if the namespace already exists before creating: `kubectl get namespace in ### Step 2: Install Nginx Ingress Helm Chart -Deploy the Nginx Ingress Controller using Helm: +Deploy the Nginx Ingress Controller using Helm, selecting the values file for your cloud provider (`aws`, `azure`, or `gcp`): {`helm upgrade --install ingress-nginx ingress-nginx/. \\ -n ingress-nginx \\ - --values ingress-nginx/${props.valuesFileName} \\ + --values ingress-nginx/values-.yaml \\ --wait \\ --timeout 900s \\ --dependency-update`} diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-overview.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-overview.mdx index b6a62f8e..56eeff04 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-overview.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-overview.mdx @@ -5,8 +5,8 @@ This guide covers the installation of foundational infrastructure components tha This step installs two critical infrastructure components: - **Nginx Ingress Controller** - Routes external HTTP/HTTPS traffic to services within the cluster -- **{props.storageClassName}** - Enables dynamic provisioning of persistent volumes for stateful workloads +- **Storage Class** - Enables dynamic provisioning of persistent volumes for stateful workloads :::info When to Skip -If your {props.clusterName} cluster already has an ingress controller and storage class configured, you can skip the relevant sections and proceed to [Data Layer](../data-layer). +If your Kubernetes cluster already has an ingress controller and storage class configured, you can skip the relevant sections and proceed to [Data Layer](../data-layer). ::: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx index 1cb260f0..c3ec7115 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx @@ -75,7 +75,7 @@ kubectl logs -n elastic deployment/kibana --tail=50 Kibana can be accessed at: -{props.kibanaUrl} +{props.kibanaUrl} **Login Credentials**: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx index e8a54941..9d206b85 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx @@ -109,7 +109,7 @@ Expected output: Keycloak Admin UI can be accessed at: -{props.keycloakUrl} +{props.keycloakUrl} **Login Credentials**: diff --git a/docs/admin/deployment/common/deployment/prerequisites/_next-steps.mdx b/docs/admin/deployment/common/deployment/prerequisites/_next-steps.mdx index c581c9d3..6e52c884 100644 --- a/docs/admin/deployment/common/deployment/prerequisites/_next-steps.mdx +++ b/docs/admin/deployment/common/deployment/prerequisites/_next-steps.mdx @@ -1,3 +1,3 @@ ## Next Steps -Once all prerequisites are met, proceed to the [Architecture Overview](../architecture) to understand the deployment architecture, or continue directly to [Infrastructure Deployment](../infrastructure-deployment) to begin the installation process. +Once all prerequisites are met, proceed to the [Architecture Overview](../../architecture) to understand the deployment architecture, or continue directly to [Infrastructure Deployment](../infrastructure-deployment) to begin the installation process. diff --git a/docs/admin/deployment/index.mdx b/docs/admin/deployment/index.mdx index 970cf034..23d2dc63 100644 --- a/docs/admin/deployment/index.mdx +++ b/docs/admin/deployment/index.mdx @@ -14,18 +14,11 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; # Deployment Guides -Welcome to the AI/Run CodeMie deployment guides. A complete deployment follows three phases: provision infrastructure, deploy the platform, then configure your installation. Use the maintenance section to keep it up to date and secure. +Welcome to the AI/Run CodeMie deployment guides. A complete deployment follows three phases: review the prerequisites, provision infrastructure, then deploy the platform. See the [Architecture](/admin/architecture/) section first to understand the deployment architecture, infrastructure components, and resource requirements. -## Installation & Configuration +## Installation - - - -## Maintenance - - - -
    ---- - ## Marketplace @@ -93,35 +65,9 @@ Welcome to the AI/Run CodeMie deployment guides. A complete deployment follows t iconType="image" invertInDarkTheme={false} title="AWS Marketplace" - description="Deploy AI/Run CodeMie directly from AWS Marketplace." + description="Deploy AI/Run CodeMie directly from AWS Marketplace with one-click installation and managed services." link="https://aws.amazon.com/marketplace/pp/prodview-5kkxwllsrb4h2?applicationId=AWSMPContessa&ref_=beagle&sr=0-1" />
    - -## Additional Resources - - - - - - diff --git a/docs/admin/deployment/platform-deployment/automated/index.mdx b/docs/admin/deployment/platform-deployment/automated/index.mdx index ac9daa4b..0c0f3356 100644 --- a/docs/admin/deployment/platform-deployment/automated/index.mdx +++ b/docs/admin/deployment/platform-deployment/automated/index.mdx @@ -35,11 +35,3 @@ Scripted deployment is recommended for standard installations as it automates co />
    - -## Kubernetes Script Modes - -| Mode | Components Installed | Use Case | -| ------------- | ------------------------------------------------------------ | ---------------------------------------- | -| `all` | All components including Nginx Ingress Controller | Fresh cluster without existing ingress | -| `recommended` | All components except Nginx Ingress Controller | Cluster with existing ingress controller | -| `update` | Only CodeMie core components (API, UI, MCP Connect, Mermaid) | Updating existing installation | diff --git a/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx index ff900d56..9cd569c9 100644 --- a/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx +++ b/docs/admin/deployment/platform-deployment/automated/kubernetes.mdx @@ -38,7 +38,7 @@ The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.c - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase - [ ] **Cluster Access**: `kubectl` configured for EKS cluster -- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Container Registry**: Completed [Container Registry Access](../../prerequisites/kubernetes.mdx#container-registry-access) setup (pull secret `gcp-artifact-registry` exists) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment @@ -50,7 +50,7 @@ The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.c - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase - [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS -- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Container Registry**: Completed [Container Registry Access](../../prerequisites/kubernetes.mdx#container-registry-access) setup (pull secret `gcp-artifact-registry` exists) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment @@ -62,7 +62,7 @@ The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.c - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../infrastructure-deployment/kubernetes.mdx) phase - [ ] **Cluster Access**: Connected to Bastion Host (for private clusters) or `kubectl` configured for GKE -- [ ] **Container Registry**: Completed Container Registry Access Setup (pull secret `gcp-artifact-registry` exists) +- [ ] **Container Registry**: Completed [Container Registry Access](../../prerequisites/kubernetes.mdx#container-registry-access) setup (pull secret `gcp-artifact-registry` exists) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI @@ -72,7 +72,7 @@ The `helm-charts.sh` script from the [codemie-helm-charts](https://gitbud.epam.c :::warning Container Registry Access Required -The `gcp-artifact-registry` pull secret must exist before running the script. Complete the Container Registry Access Setup from the Components Deployment Overview before proceeding. +The `gcp-artifact-registry` pull secret must exist before running the script. Complete [Container Registry Access](../../prerequisites/kubernetes.mdx#container-registry-access) setup before proceeding. ::: --- diff --git a/docs/admin/deployment/platform-deployment/index.mdx b/docs/admin/deployment/platform-deployment/index.mdx index 589935cf..a2968f33 100644 --- a/docs/admin/deployment/platform-deployment/index.mdx +++ b/docs/admin/deployment/platform-deployment/index.mdx @@ -35,16 +35,3 @@ Before proceeding, ensure you have completed [Infrastructure Deployment](../infr />
    - -## What Gets Deployed - -Both methods install the same set of components: - -| Component Group | Components | -| ----------------------- | ---------------------------------------------------- | -| **Infrastructure** | Nginx Ingress Controller, Storage Class | -| **Data Layer** | Elasticsearch | -| **Security & Identity** | Keycloak Operator, Keycloak, OAuth2 Proxy | -| **Plugin Engine** | NATS, NATS Auth Callout | -| **Core Services** | CodeMie API, CodeMie UI, MCP Connect, Mermaid Server | -| **Observability** | Fluent Bit, Kibana, Kibana Dashboards | diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx index 66fcd1d7..ed975406 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx @@ -19,50 +19,45 @@ import DataLayerValidation from '../../../common/deployment/components-deploymen - - - - - - - - - - - +Elasticsearch installation is identical across cloud providers except for the Helm values file. Substitute `values-.yaml` with `values-aws.yaml`, `values-azure.yaml`, or `values-gcp.yaml` for your cloud. + + + +PostgreSQL setup differs on AWS, which uses IAM database authentication instead of a static password. Azure and GCP both connect with a static password and only differ in their managed service name and host. - - - - - - - - - - - - - + + + + + + + + + +Substitute `` with your managed PostgreSQL service's connection host: + +| Cloud Provider | Managed Service | Example Host | +| -------------- | ----------------------------- | ---------------------------------------------- | +| Azure | Azure Database for PostgreSQL | `codemie-postgres.postgres.database.azure.com` | +| GCP | GCP Cloud SQL PostgreSQL | `10.0.0.5:5432` (private IP) | + + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx index eac39615..4eb4676f 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/index.mdx @@ -45,8 +45,8 @@ Installing components out of order will cause deployment failures. Always follow - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: `kubectl` configured for EKS cluster -- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Cluster Access**: `kubectl` configured for EKS cluster (see [Cluster Access](../../../prerequisites/kubernetes.mdx#cluster-access)) +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists (see [Container Registry Access](../../../prerequisites/kubernetes.mdx#container-registry-access)) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment @@ -56,8 +56,8 @@ Installing components out of order will cause deployment failures. Always follow - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS -- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Cluster Access**: Connected to Jumpbox VM and `kubectl` configured for AKS (see [Cluster Access](../../../prerequisites/kubernetes.mdx#cluster-access)) +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists (see [Container Registry Access](../../../prerequisites/kubernetes.mdx#container-registry-access)) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Deployment Outputs**: Have `deployment_outputs.env` from infrastructure deployment @@ -67,8 +67,8 @@ Installing components out of order will cause deployment failures. Always follow - [ ] **Infrastructure Deployed**: Completed [Infrastructure Deployment](../../../infrastructure-deployment/kubernetes.mdx) phase -- [ ] **Cluster Access**: Connected to Bastion Host (private cluster) or `kubectl` configured for GKE -- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists +- [ ] **Cluster Access**: Connected to Bastion Host (private cluster) or `kubectl` configured for GKE (see [Cluster Access](../../../prerequisites/kubernetes.mdx#cluster-access)) +- [ ] **Container Registry**: `gcp-artifact-registry` pull secret exists (see [Container Registry Access](../../../prerequisites/kubernetes.mdx#container-registry-access)) - [ ] **Helm Installed**: Helm 3.16.0+ - [ ] **Repository Cloned**: `codemie-helm-charts` available locally - [ ] **Tools**: `kubectl`, `helm`, `gcloud` CLI diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx index 32d5448c..4ede8432 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/k8s-components.mdx @@ -14,25 +14,16 @@ import StorageIngressNginx from '../../../common/deployment/components-deploymen import StorageClassInstallation from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-class-installation.mdx'; import StorageIngressValidation from '../../../common/deployment/components-deployment/manual-deployment/k8s/_storage-ingress-validation.mdx'; - - - - - - - - - - - + - - - + ### Step 4: Configure DNS Record -Create a DNS record pointing to the ingress controller's load balancer: +Create a DNS record pointing to the ingress controller's load balancer. The exact steps depend on your cloud provider's DNS service. + + + ```bash INGRESS_HOST=$(kubectl get service ingress-nginx-controller -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') @@ -76,9 +67,6 @@ nslookup codemie.airun.example.com - - -### Step 4: Configure DNS Record Create an A record in your Azure Private DNS zone pointing to the ingress controller's IP: @@ -112,7 +100,6 @@ nslookup codemie.airun.example.com - :::info DNS for GCP For **private clusters**, DNS is automatically configured by the Terraform infrastructure deployment. No manual DNS step is required here. @@ -123,34 +110,6 @@ For **public clusters**, refer to the [Automated Deployment DNS guide](../../aut - - - - - - - - - - - + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx index 706c1fe3..48b28a6b 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/observability.mdx @@ -7,8 +7,6 @@ pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/core-com pagination_next: null --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; import ObservabilityOverview from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-overview.mdx'; import ObservabilityFluentBit from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-fluent-bit.mdx'; import ObservabilityKibana from '../../../common/deployment/components-deployment/manual-deployment/observability/_observability-kibana.mdx'; @@ -19,20 +17,19 @@ import ObservabilityValidation from '../../../common/deployment/components-deplo - - - - - - - - - - - - - - - - - +The steps below are identical across cloud providers except for the Helm values file and the Kibana URL. Substitute `values-.yaml` and `` with the values for your cloud: + +| Cloud Provider | Values File | Kibana URL | +| -------------- | ------------------- | ------------------------------ | +| AWS | `values-aws.yaml` | `https://kibana.` | +| Azure | `values-azure.yaml` | `https:///kibana` | +| GCP | `values-gcp.yaml` | `https://kibana.` | + +AWS and GCP expose Kibana on a dedicated subdomain; Azure exposes it as a path under your main domain. + + + + diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx index 4d1caea2..4859ad8a 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/security-and-identity.mdx @@ -7,8 +7,6 @@ pagination_prev: admin/deployment/platform-deployment/manual/kubernetes/data-lay pagination_next: admin/deployment/platform-deployment/manual/kubernetes/plugin-engine --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; import SecurityOverview from '../../../common/deployment/components-deployment/manual-deployment/security/_security-overview.mdx'; import SecurityKeycloakOperator from '../../../common/deployment/components-deployment/manual-deployment/security/_security-keycloak-operator.mdx'; import SecurityKeycloakInstall from '../../../common/deployment/components-deployment/manual-deployment/security/_security-keycloak-install.mdx'; @@ -19,31 +17,18 @@ import SecurityValidation from '../../../common/deployment/components-deployment - - - - - - - - - - - - - - +The steps below are identical across cloud providers except for the Helm values file and the Keycloak Admin URL. Substitute `values-.yaml` and `` with the values for your cloud: + +| Cloud Provider | Values File | Keycloak Admin URL | +| -------------- | ------------------- | ------------------------------------------- | +| AWS | `values-aws.yaml` | `https://keycloak./auth/admin` | +| Azure | `values-azure.yaml` | `https:///keycloak/admin` | +| GCP | `values-gcp.yaml` | `https://keycloak./auth/admin` | + +AWS and GCP expose Keycloak on a dedicated subdomain; Azure exposes it as a path under your main domain. + + + + diff --git a/docs/admin/deployment/prerequisites/index.mdx b/docs/admin/deployment/prerequisites/index.mdx index c7adb65c..8d242fb1 100644 --- a/docs/admin/deployment/prerequisites/index.mdx +++ b/docs/admin/deployment/prerequisites/index.mdx @@ -3,7 +3,7 @@ id: prerequisites-overview title: Prerequisites sidebar_label: Prerequisites sidebar_position: 2 -pagination_prev: admin/deployment/architecture/architecture-on-vm +pagination_prev: admin/architecture/architecture-on-vm --- import FeatureCard from '@site/src/components/FeatureCard'; diff --git a/docs/admin/deployment/prerequisites/kubernetes.mdx b/docs/admin/deployment/prerequisites/kubernetes.mdx index 8c703fee..27d04c7e 100644 --- a/docs/admin/deployment/prerequisites/kubernetes.mdx +++ b/docs/admin/deployment/prerequisites/kubernetes.mdx @@ -30,7 +30,7 @@ To deploy AI/Run CodeMie on AWS, you need: - **Programmatic Access** with credentials that have permissions to create and manage IAM Roles and Policy Documents - **Sufficient Quota** for the required resources (EKS, RDS, networking, storage, etc.) :::info Complete Resource List - For a detailed list of all AWS resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + For a detailed list of all AWS resources that will be provisioned, refer to the [Architecture](../../architecture/kubernetes.mdx) section or review the Terraform modules in the deployment repository. ::: @@ -45,7 +45,7 @@ To deploy AI/Run CodeMie on Azure, you need: - Access to **Entra ID App Registration** to obtain Application ID and Secret - Ability to create and manage Azure resources (AKS, networking, storage, etc.) :::info Complete Resource List - For a detailed list of all Azure resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + For a detailed list of all Azure resources that will be provisioned, refer to the [Architecture](../../architecture/kubernetes.mdx) section or review the Terraform modules in the deployment repository. ::: - **Entra ID Access** on the Azure portal to retrieve application details such as Tenant ID @@ -61,7 +61,7 @@ To deploy AI/Run CodeMie on GCP, you need: - Ability to create and manage IAM Roles and Service Accounts - Access to create and manage GCP resources (GKE, VPC, Cloud SQL, etc.) :::info Complete Resource List - For a detailed list of all GCP resources that will be provisioned, refer to the [Architecture](../../architecture/architecture-kubernetes) section or review the Terraform modules in the deployment repository. + For a detailed list of all GCP resources that will be provisioned, refer to the [Architecture](../../architecture/kubernetes.mdx) section or review the Terraform modules in the deployment repository. ::: - Ability to bind the following IAM roles to service accounts: - `roles/aiplatform.user` - For Vertex AI access @@ -242,6 +242,103 @@ For GCP deployments, gcloud CLI serves dual purposes: GCP resource management an +## Cluster Access + +Before proceeding to Platform Deployment, confirm you have `kubectl` access to the cluster provisioned during [Infrastructure Deployment](../infrastructure-deployment/kubernetes.mdx). + + + + +Obtain kubeconfig credentials for the EKS cluster: + +```bash +aws eks update-kubeconfig --region --name +``` + +Verify access: + +```bash +kubectl get nodes +``` + + + + +Connect to the Jumpbox VM via Bastion, then obtain kubeconfig credentials for the AKS cluster: + +```bash +az login +az account set --subscription +az aks get-credentials \ + --resource-group \ + --name \ + --overwrite-existing +kubelogin convert-kubeconfig -l azurecli +``` + +Verify access: + +```bash +kubectl get nodes +``` + + + + +For **private clusters**, connect via the Bastion Host first. Then obtain kubeconfig credentials for the GKE cluster: + +```bash +gcloud container clusters get-credentials --project --region +``` + +Verify access: + +```bash +kubectl get nodes +``` + + + + +## Container Registry Access + +CodeMie container images are hosted on `europe-west3-docker.pkg.dev` regardless of the cloud provider you deploy to. You need a **GCP service account key file** (`key.json`) with read access to the registry before installing components. + +:::info Obtaining key.json +Contact your CodeMie administrator or EPAM delivery team to obtain the `key.json` file for registry access. +::: + +Create the namespace and pull secret: + +```bash +kubectl create namespace codemie + +kubectl create secret docker-registry gcp-artifact-registry \ + --docker-server=https://europe-west3-docker.pkg.dev \ + --docker-email=`` \ + --docker-username=_json_key \ + --docker-password="$(cat key.json)" \ + -n codemie +``` + +Verify the secret: + +```bash +kubectl get secret gcp-artifact-registry -n codemie +``` + +:::info Pull Secret Usage +The `gcp-artifact-registry` secret must be referenced in all AI/Run CodeMie component deployments: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. + +This is configured automatically in the values files: + +```yaml +imagePullSecrets: + - name: gcp-artifact-registry +``` + +::: + ## Required Repository Access You will need access to the following repositories to complete the deployment: diff --git a/docs/admin/index.mdx b/docs/admin/index.mdx index a2b75e82..8fa4010d 100644 --- a/docs/admin/index.mdx +++ b/docs/admin/index.mdx @@ -16,120 +16,44 @@ import FeatureGrid from '@site/src/components/FeatureGrid'; Welcome to the AI/Run CodeMie Administration Guide. This section provides comprehensive documentation for system administrators responsible for deploying, configuring, maintaining, and securing the CodeMie platform. -## Core Administration Areas - -### Deployment & Infrastructure - -Set up AI/Run CodeMie in your cloud environment with comprehensive deployment guides. - -## Infrastructure Deployment +## Administration Areas - - - - -## Other - - - - - - -### Configuration & Customization - -Configure the platform to meet your organization's requirements and integrate with existing systems. - - - - - - -### Updates & Maintenance - -Keep your CodeMie platform up-to-date with the latest features, security patches, and component upgrades. - - - - -## Additional Resources - - - ## Getting Help diff --git a/docs/admin/security/index.md b/docs/admin/security/index.md index e4342eaa..f9ff2e6f 100644 --- a/docs/admin/security/index.md +++ b/docs/admin/security/index.md @@ -7,10 +7,48 @@ pagination_prev: null pagination_next: admin/security/data-processing-storage --- +import FeatureCard from '@site/src/components/FeatureCard'; +import FeatureGrid from '@site/src/components/FeatureGrid'; + # Security & Compliance Welcome to the AI/Run CodeMie Security & Compliance documentation. This section provides comprehensive information about the platform's security architecture, data processing policies, storage mechanisms, and compliance controls. +## Security Topics + + + + + + +
    +
    + + ## Overview The CodeMie platform is built with security-first principles, implementing industry-standard encryption, access controls, and data isolation mechanisms. The platform supports deployment in customer-controlled cloud environments, ensuring data sovereignty and compliance with regional data protection regulations. @@ -43,10 +81,7 @@ The CodeMie platform is built with security-first principles, implementing indus ## Core Security Principles & Architecture -This section describes the fundamental security patterns and practices implemented in the CodeMie platform: - -- **[Data Processing & Storage Architecture](./data-processing-storage.md)**: Detailed explanation of how data flows through the platform, storage layers, and regional distribution -- **[Image Allow-List for LLM Output](./llm-output-image-allow-list.md)**: Domain allow-list that gates every image rendered from assistant output, closing the prompt-injection exfiltration channel +The following principles underpin the fundamental security patterns and practices implemented in the CodeMie platform: ### 1. Defense in Depth diff --git a/sidebars.ts b/sidebars.ts index 2bd652b2..25bdc538 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -413,6 +413,19 @@ const sidebars: SidebarsConfig = { }, collapsed: true, items: [ + { + type: 'category', + label: 'Architecture', + link: { + type: 'doc', + id: 'admin/architecture/architecture-overview', + }, + collapsed: true, + items: [ + 'admin/architecture/architecture-kubernetes', + 'admin/architecture/architecture-on-vm', + ], + }, { type: 'category', label: 'Deployment', @@ -422,19 +435,6 @@ const sidebars: SidebarsConfig = { }, collapsed: true, items: [ - { - type: 'category', - label: 'Architecture', - link: { - type: 'doc', - id: 'admin/deployment/architecture/architecture-overview', - }, - collapsed: true, - items: [ - 'admin/deployment/architecture/architecture-kubernetes', - 'admin/deployment/architecture/architecture-on-vm', - ], - }, { type: 'category', label: 'Prerequisites', From 63e7b5150fa3599cc1355c4bc3cadf9469a4c292 Mon Sep 17 00:00:00 2001 From: Siarhei Harbuz Date: Wed, 7 Oct 2026 15:17:32 +0300 Subject: [PATCH 8/8] docs(deployment): hide cloud-specific headings from toc inside tabbed content Right-side table of contents was surfacing headings scoped to a single cloud provider tab, even though only one tab renders at a time. Convert cloud-specific headings inside blocks to bold text, or to h4 headings (below the site's TOC max level of 3) where a native anchor must remain valid for existing deep links. The TOC on every audited page now lists only headings shared across all cloud tabs. Generated with AI Co-Authored-By: codemie-ai --- docs/admin/architecture/kubernetes.mdx | 8 +- docs/admin/architecture/on-vm.mdx | 12 +- .../core/_core-components-api.mdx | 10 +- .../core/_core-components-ui.mdx | 8 +- .../_data-layer-postgresql-config.mdx | 4 +- .../_data-layer-postgresql-iam-setup.mdx | 4 +- .../_data-layer-postgresql-secret-aws.mdx | 4 +- .../_data-layer-postgresql-secret-common.mdx | 4 +- .../plugin-engine/_plugin-engine-content.mdx | 389 ------------------ .../_plugin-engine-nats-auth-callout.mdx | 54 +++ .../_plugin-engine-nats-installation.mdx | 158 +++++++ .../_plugin-engine-next-steps.mdx | 1 + .../plugin-engine/_plugin-engine-overview.mdx | 6 + .../_plugin-engine-post-validation.mdx | 23 ++ .../_plugin-engine-tls-configuration.mdx | 127 ++++++ .../prerequisites/_cluster-requirements.mdx | 6 +- .../prerequisites/_network-requirements.mdx | 6 +- .../infrastructure-deployment/kubernetes.mdx | 62 +-- .../infrastructure-deployment/on-vm.mdx | 22 +- .../platform-deployment/automated/on-vm.mdx | 18 +- .../manual/kubernetes/core-components.mdx | 16 +- .../manual/kubernetes/data-layer.mdx | 2 + .../manual/kubernetes/plugin-engine.mdx | 83 +++- .../deployment/prerequisites/kubernetes.mdx | 14 +- 24 files changed, 541 insertions(+), 500 deletions(-) delete mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-auth-callout.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-installation.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-next-steps.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-overview.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-post-validation.mdx create mode 100644 docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-tls-configuration.mdx diff --git a/docs/admin/architecture/kubernetes.mdx b/docs/admin/architecture/kubernetes.mdx index 3b694dff..9e5aac48 100644 --- a/docs/admin/architecture/kubernetes.mdx +++ b/docs/admin/architecture/kubernetes.mdx @@ -107,7 +107,7 @@ A cloud provider can be selected below for provider-specific infrastructure deta AI/Run CodeMie is deployed on Amazon Elastic Kubernetes Service (EKS) with supporting AWS services for networking, storage, and identity management. -### High-Level Architecture Diagram +**High-Level Architecture Diagram** The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on AWS: @@ -118,7 +118,7 @@ The diagram below illustrates the complete AI/Run CodeMie infrastructure deploym AI/Run CodeMie is deployed on Azure Kubernetes Service (AKS) with supporting Azure services for networking, storage, and identity management. -### High-Level Architecture Diagram +**High-Level Architecture Diagram** The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on Azure: @@ -129,14 +129,14 @@ The diagram below illustrates the complete AI/Run CodeMie infrastructure deploym AI/Run CodeMie is deployed on Google Kubernetes Engine (GKE) with supporting GCP services for networking, storage, and identity management. -### Deployment Options +**Deployment Options** There are two deployment options available depending on your organization's access requirements: - **Public cluster option** - Access to AI/Run CodeMie from predefined networks or IP addresses (VPN, corporate networks, etc.) using public DNS resolution from user workstations - **Private cluster option** - Access to AI/Run CodeMie via Bastion host using private DNS resolution for enhanced security -### High-Level Architecture Diagram +**High-Level Architecture Diagram** The diagram below illustrates the complete AI/Run CodeMie infrastructure deployment on GCP: diff --git a/docs/admin/architecture/on-vm.mdx b/docs/admin/architecture/on-vm.mdx index 1d40fd66..f9f489c4 100644 --- a/docs/admin/architecture/on-vm.mdx +++ b/docs/admin/architecture/on-vm.mdx @@ -80,7 +80,7 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf -### AWS Resources +**AWS Resources** | Resource | Purpose | | ------------------------ | --------------------------------------------------------------------- | @@ -96,7 +96,7 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf | **Security Groups** | Controls inbound traffic to ALB and EC2 | | **IAM Instance Profile** | Grants EC2 access to Bedrock, S3, KMS, SSM | -### Network Modes +**Network Modes** | Mode | Configuration | Access | | ----------------------- | ------------------------------------------- | --------------------------------- | @@ -111,7 +111,7 @@ CodeMie On VM runs on a single EC2 instance with supporting AWS services. Terraf CodeMie On VM runs on a single Azure VM with supporting Azure services. Terraform provisions the following resources: -### Azure Resources +**Azure Resources** | Resource | Purpose | | ------------------------------ | -------------------------------------------------------------------- | @@ -123,7 +123,7 @@ CodeMie On VM runs on a single Azure VM with supporting Azure services. Terrafor | **Private DNS Zone** | Custom domain resolution (when `TF_VAR_platform_domain_name` is set) | | **Azure Bastion** | Secure SSH access to the VM without exposing a public IP | -### Network Modes +**Network Modes** | Mode | Configuration | Access | | ------------------------ | ----------------------------------------------- | ----------------------------------------- | @@ -137,7 +137,7 @@ CodeMie On VM runs on a single Azure VM with supporting Azure services. Terrafor CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform provisions the following resources: -### GCP Resources +**GCP Resources** | Resource | Purpose | | ------------------------------ | -------------------------------------------------------------------- | @@ -150,7 +150,7 @@ CodeMie On VM runs on a single GCE VM with supporting GCP services. Terraform pr | **IAP (Identity-Aware Proxy)** | Secure SSH access to the VM without exposing a public IP | | **Secret Manager** | Stores the SSH private key for VM access | -### Network Modes +**Network Modes** | Mode | Configuration | Access | | ------------------------ | ------------------------------------------------ | ----------------------------------------------- | diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-api.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-api.mdx index 3a28d147..e0d8afbc 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-api.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-api.mdx @@ -1,10 +1,8 @@ import CodeBlock from '@theme/CodeBlock'; -## CodeMie API Installation - CodeMie API is the backend service that handles all business logic, AI orchestration, and data processing. -### Step 1: Configure API Values +**Step 1: Configure API Values** The domain configuration should already be set from the Getting Started section. Verify the values in codemie-api/{props.valuesFileName} are correct: @@ -15,7 +13,7 @@ The domain configuration should already be set from the Getting Started section. If you followed the Getting Started steps, these replacements should already be done. ::: -### Step 2: Copy Elasticsearch Credentials +**Step 2: Copy Elasticsearch Credentials** CodeMie API needs access to Elasticsearch. Copy the credentials to the codemie namespace: @@ -25,7 +23,7 @@ kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | \ kubectl apply -n codemie -f - ``` -### Step 3: Install CodeMie API Helm Chart +**Step 3: Install CodeMie API Helm Chart** Deploy CodeMie API: @@ -39,7 +37,7 @@ Deploy CodeMie API: --timeout 600s`} -### Step 4: Verify CodeMie API Deployment +**Step 4: Verify CodeMie API Deployment** Check that CodeMie API is running: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx index a1bb55a7..84dd7820 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/core/_core-components-ui.mdx @@ -1,14 +1,12 @@ import CodeBlock from '@theme/CodeBlock'; -## CodeMie UI Installation - CodeMie UI provides the web-based user interface for interacting with AI assistants and managing workflows. -### Step 1: Configure UI Values +**Step 1: Configure UI Values** The domain configuration should already be set from the Getting Started section. Verify the values in codemie-ui/{props.valuesFileName} are correct. -### Step 2: Install CodeMie UI Helm Chart +**Step 2: Install CodeMie UI Helm Chart** Deploy CodeMie UI: @@ -22,7 +20,7 @@ Deploy CodeMie UI: --timeout 180s`} -### Step 3: Verify CodeMie UI Deployment +**Step 3: Verify CodeMie UI Deployment** Check that CodeMie UI is running: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx index 5df9e187..0f2c5f17 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-config.mdx @@ -1,8 +1,6 @@ import CodeBlock from '@theme/CodeBlock'; import Admonition from '@theme/Admonition'; -## PostgreSQL Configuration - CodeMie uses {props.postgresServiceName} (created during infrastructure deployment) rather than running PostgreSQL in the cluster. This section configures the connection credentials. {props.cloudProvider === 'AWS' && ( @@ -16,7 +14,7 @@ On AWS, codemie-api authenticates to RDS using IAM database authenticati )} -### Retrieve Database Credentials +**Retrieve Database Credentials** Get your {props.postgresServiceName} connection details from the infrastructure deployment outputs: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-iam-setup.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-iam-setup.mdx index d4e7d47e..3ce5b83a 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-iam-setup.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-iam-setup.mdx @@ -1,7 +1,7 @@ import CodeBlock from '@theme/CodeBlock'; import Admonition from '@theme/Admonition'; -### Create the IAM Authentication Database User +**Create the IAM Authentication Database User** Before creating the connection secret, bootstrap the dedicated `codemie_admin` role that codemie-api will use for IAM authentication. This connects as the master user `dbadmin` (password auth) to create the new role, grant it `rds_iam`, and grant it full access to the `codemie` database: @@ -26,7 +26,7 @@ Replace every CODEMIE_* placeholder with the actual value from codemie_admin was already created (e.g. by a prior deployment run), CREATE USER fails with role "codemie_admin" already exists. This is safe to ignore — re-run the command without the CREATE USER ...; clause to (re-)apply the grants only. -### Upgrading an Existing Deployment to IAM Authentication +#### Upgrading an Existing Deployment to IAM Authentication
    Migration steps for existing deployments diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-aws.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-aws.mdx index 0de7f343..29264e07 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-aws.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-aws.mdx @@ -6,7 +6,7 @@ export const createSecretCmd = `kubectl create secret generic codemie-postgresql export const verifySecretCmd = `# Check secret exists\nkubectl get secret codemie-postgresql -n codemie\n\n# Verify secret contents (decode to check values)\nkubectl get secret codemie-postgresql -n codemie -o jsonpath='{.data.PG_HOST}' | base64 -d\nkubectl get secret codemie-postgresql -n codemie -o jsonpath='{.data.PG_USER}' | base64 -d`; -### Create PostgreSQL Connection Secret +**Create PostgreSQL Connection Secret** Create a secret with the cloud-managed PostgreSQL credentials: @@ -32,7 +32,7 @@ Replace all `` placeholders with actual values from {secretYaml} -### Verify PostgreSQL Secret +**Verify PostgreSQL Secret** Confirm the secret was created correctly: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx index a5271db8..d5b4f15a 100644 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/data-layer/_data-layer-postgresql-secret-common.mdx @@ -6,7 +6,7 @@ export const createSecretCmd = `kubectl create secret generic codemie-postgresql export const verifySecretCmd = `# Check secret exists\nkubectl get secret codemie-postgresql -n codemie\n\n# Verify secret contents (decode to check values)\nkubectl get secret codemie-postgresql -n codemie -o jsonpath='{.data.PG_HOST}' | base64 -d\nkubectl get secret codemie-postgresql -n codemie -o jsonpath='{.data.PG_USER}' | base64 -d`; -### Create PostgreSQL Connection Secret +**Create PostgreSQL Connection Secret** Create a secret with the cloud-managed PostgreSQL credentials: @@ -31,7 +31,7 @@ Replace all `` placeholders with actual values from {secretYaml} -### Verify PostgreSQL Secret +**Verify PostgreSQL Secret** Confirm the secret was created correctly: diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx deleted file mode 100644 index 71e2fbdd..00000000 --- a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx +++ /dev/null @@ -1,389 +0,0 @@ -import CodeBlock from '@theme/CodeBlock'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## Overview - -This guide covers the installation of the messaging infrastructure that enables connecting MCP servers and plugins running externally to AI/Run CodeMie infrastructure. - -The plugin engine consists of two components: - -- **NATS** - High-performance message broker enabling pub/sub and request/reply messaging patterns -- **NATS Auth Callout** - Authentication service that validates NATS connections and enforces authorization policies - -## NATS Installation - -:::warning Deprecated - -NATS is currently deprecated as part of the NATS retirement direction. - -::: - -NATS provides the messaging backbone for CodeMie's plugin system, enabling real-time communication between the core application and distributed plugins. - -### Step 1: Create NATS Secrets - -Create the `codemie-nats-secrets` secret containing authentication credentials and encryption keys. Follow these steps to generate and encode the necessary values: - -#### 1. NATS_URL - -Internal service URL for NATS communication: - - -{`NATS_URL="${props.natsUrl}"`} - - -#### 2. Callout User Credentials - -Credentials for the NATS Auth Callout service: - -```bash -# Username -CALLOUT_USERNAME="callout" - -# Generate secure password -CALLOUT_PASSWORD=$(pwgen -s -1 25) - -# Generate bcrypt hash (requires nats CLI installed) -CALLOUT_BCRYPTED_PASSWORD=$(nats server passwd -p "$CALLOUT_PASSWORD") -``` - -#### 3. CodeMie User Credentials - -Credentials for CodeMie application to connect to NATS: - -```bash -# Username -CODEMIE_USERNAME="codemie" - -# Generate secure password -CODEMIE_PASSWORD=$(pwgen -s -1 25) - -# Generate bcrypt hash (requires nats CLI installed) -CODEMIE_BCRYPTED_PASSWORD=$(nats server passwd -p "$CODEMIE_PASSWORD") -``` - -#### 4. NATS Keys - -Generate NATS keys for JWT authentication and encrypted connections: - -```bash -nsc generate nkey --account -# Output: -# ISSUER_NSEED: SAXXXXX... (private seed, keep secure) -# ISSUER_NKEY: AXXXXX... (public key) - -nsc generate nkey --curve -# Output: -# ISSUER_XSEED: XSXXXXX... (private seed, keep secure) -# ISSUER_XKEY: XXXXXX... (public key) -``` - -Reference: [NATS Auth Callout Example](https://natsbyexample.com/examples/auth/callout/cli) - -#### 5. Create the Secret - -Create the secret using `kubectl` with all generated values: - -```bash -kubectl -n codemie create secret generic codemie-nats-secrets \ - --from-literal=NATS_URL="$NATS_URL" \ - --from-literal=CALLOUT_USERNAME="$CALLOUT_USERNAME" \ - --from-literal=CALLOUT_PASSWORD="$CALLOUT_PASSWORD" \ - --from-literal=CALLOUT_BCRYPTED_PASSWORD="$CALLOUT_BCRYPTED_PASSWORD" \ - --from-literal=CODEMIE_USERNAME="$CODEMIE_USERNAME" \ - --from-literal=CODEMIE_PASSWORD="$CODEMIE_PASSWORD" \ - --from-literal=CODEMIE_BCRYPTED_PASSWORD="$CODEMIE_BCRYPTED_PASSWORD" \ - --from-literal=ISSUER_NKEY="" \ - --from-literal=ISSUER_NSEED="" \ - --from-literal=ISSUER_XKEY="" \ - --from-literal=ISSUER_XSEED="" \ - --type=Opaque -``` - -:::warning Save Credentials -Save all generated passwords and keys securely. You'll need them for troubleshooting and future operations. -::: - -**Alternative: YAML Secret Template** - -```yaml -apiVersion: v1 -kind: Secret -metadata: - name: codemie-nats-secrets - namespace: codemie -type: Opaque -data: - NATS_URL: - CALLOUT_USERNAME: - CALLOUT_PASSWORD: - CALLOUT_BCRYPTED_PASSWORD: - CODEMIE_USERNAME: - CODEMIE_PASSWORD: - CODEMIE_BCRYPTED_PASSWORD: - ISSUER_NKEY: - ISSUER_NSEED: - ISSUER_XKEY: - ISSUER_XSEED: -``` - -To encode values: `echo -n 'your-value-here' | base64` - -### Step 2: Add NATS Helm Repository - -Add the official NATS Helm repository: - -```bash -# Add repository -helm repo add nats https://nats-io.github.io/k8s/helm/charts/ - -# Update repository index -helm repo update nats -``` - -### Step 3: Install NATS Helm Chart - -Deploy NATS using the official Helm chart: - - -{`helm upgrade --install codemie-nats nats/nats \\ - --version 1.2.6 \\ - --namespace codemie \\ - --values ./codemie-nats/${props.valuesFileName} \\ - --wait \\ - --timeout 900s`} - - -### Step 4: Verify NATS Deployment - -Check that NATS is running: - -```bash -# Check pod status -kubectl get pods -n codemie | grep nats - -# Check NATS service -kubectl get service -n codemie codemie-nats - -# Check NATS logs -kubectl logs -n codemie statefulset/codemie-nats --tail=50 -``` - -Expected output: - -- NATS pods should be in `Running` state -- Service should show cluster IP assigned -- Logs should indicate successful server startup - -## NATS Auth Callout Installation - -NATS Auth Callout validates authentication and authorization for NATS connections to CodeMie. - -### Step 1: Authenticate to Container Registry - -Before deploying NATS Auth Callout, authenticate to the AI/Run CodeMie container registry: - -```bash -export GOOGLE_APPLICATION_CREDENTIALS=key.json -gcloud auth application-default print-access-token | \ - helm registry login -u oauth2accesstoken --password-stdin europe-west3-docker.pkg.dev -``` - -:::tip Registry Authentication -This step is required for all AI/Run CodeMie proprietary components: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. - -If you already authenticated during the Getting Started steps, you can skip this. -::: - -### Step 2: Install NATS Auth Callout Helm Chart - -Deploy the NATS Auth Callout service: - - -{`helm upgrade --install codemie-nats-auth-callout \\ - oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/codemie-nats-auth-callout \\ - --version "x.y.z" \\ - --namespace codemie \\ - -f ./codemie-nats-auth-callout/${props.valuesFileName} \\ - --wait \\ - --timeout 600s`} - - -### Step 3: Verify NATS Auth Callout Deployment - -Check that the auth callout service is running: - -```bash -# Check pod status -kubectl get pods -n codemie | grep nats-auth-callout - -# Check deployment -kubectl get deployment -n codemie codemie-nats-auth-callout - -# Check logs -kubectl logs -n codemie deployment/codemie-nats-auth-callout --tail=50 -``` - -Expected output: - -- Pod should be in `Running` state -- Deployment should show ready replicas -- Logs should indicate successful connection to NATS - -## TLS Configuration - -Choose the appropriate scenario based on your deployment architecture: - - - - -### Load Balancer TLS Termination - -TLS is handled by Network Load Balancer with TLS certificate on the load balancer itself. - -**NATS Helm Values** (codemie-nats/{props.valuesFileName}): - -```yaml -params: - conf: | - tls: {} - allow_non_tls: true -``` - -**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): - -```yaml -extraEnv: - - name: NATS_SKIP_TLS_VERIFY - value: "false" -``` - -**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): - -```yaml -env: - - name: SKIPTLSVERIFY - value: "0" -``` - -**Plugin URL Format**: - -``` -tls://: -``` - -:::info -The `tls://` prefix forces plugins to perform TLS handshake first, which is essential because the load balancer expects TLS negotiation before any NATS protocol communication. -::: - - - - -### No TLS (Local envs only) - -Plain text communication without encryption. - -**NATS Helm Values** (codemie-nats/{props.valuesFileName}): - -```yaml -params: - conf: | - tls: {} - allow_non_tls: true -``` - -**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): - -```yaml -extraEnv: - - name: NATS_SKIP_TLS_VERIFY - value: "false" -``` - -**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): - -```yaml -env: - - name: SKIPTLSVERIFY - value: "0" -``` - -**Plugin URL Format**: - -``` -nats://: -``` - - - - -### NATS-Managed TLS - -NATS server handles TLS with its own certificate. - -**NATS Helm Values** (codemie-nats/{props.valuesFileName}): - -```yaml -nats: - tls: - enabled: true - secretName: codemie-nats-tls - merge: - timeout: 10 -``` - -**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): - -```yaml -extraEnv: - - name: NATS_SKIP_TLS_VERIFY - value: "true" -``` - -**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): - -```yaml -env: - - name: SKIPTLSVERIFY - value: "1" -``` - -**Plugin URL Format**: - -``` -nats://: -``` - - - - -## Post-Installation Validation - -After completing plugin engine installation, verify the following: - -```bash -# NATS is running -kubectl get pods -n codemie | grep codemie-nats - -# NATS Auth Callout is running -kubectl get pods -n codemie | grep nats-auth-callout - -# NATS service is available -kubectl get service -n codemie codemie-nats - -# NATS secrets exist -kubectl get secret codemie-nats-secrets -n codemie - -# Test NATS connectivity (optional) -``` - - -{`kubectl run -it --rm nats-test --image=natsio/nats-box:latest --restart=Never -n codemie -- nats context create test --server=${props.natsUrl}`} - - -All checks should return successful results before proceeding. - -## Next Steps - -Once the plugin engine is configured, proceed to **[Core Components](../core-components)** installation to deploy the main CodeMie application services. diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-auth-callout.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-auth-callout.mdx new file mode 100644 index 00000000..301fd766 --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-auth-callout.mdx @@ -0,0 +1,54 @@ +import CodeBlock from '@theme/CodeBlock'; + +NATS Auth Callout validates authentication and authorization for NATS connections to CodeMie. + +**Step 1: Authenticate to Container Registry** + +Before deploying NATS Auth Callout, authenticate to the AI/Run CodeMie container registry: + +```bash +export GOOGLE_APPLICATION_CREDENTIALS=key.json +gcloud auth application-default print-access-token | \ + helm registry login -u oauth2accesstoken --password-stdin europe-west3-docker.pkg.dev +``` + +:::tip Registry Authentication +This step is required for all AI/Run CodeMie proprietary components: `codemie-ui`, `codemie-api`, `codemie-nats-auth-callout`, `codemie-mcp-connect-service`, and `mermaid-server`. + +If you already authenticated during the Getting Started steps, you can skip this. +::: + +**Step 2: Install NATS Auth Callout Helm Chart** + +Deploy the NATS Auth Callout service: + + +{`helm upgrade --install codemie-nats-auth-callout \\ + oci://europe-west3-docker.pkg.dev/or2-msq-epmd-edp-anthos-t1iylu/helm-charts/codemie-nats-auth-callout \\ + --version "x.y.z" \\ + --namespace codemie \\ + -f ./codemie-nats-auth-callout/${props.valuesFileName} \\ + --wait \\ + --timeout 600s`} + + +**Step 3: Verify NATS Auth Callout Deployment** + +Check that the auth callout service is running: + +```bash +# Check pod status +kubectl get pods -n codemie | grep nats-auth-callout + +# Check deployment +kubectl get deployment -n codemie codemie-nats-auth-callout + +# Check logs +kubectl logs -n codemie deployment/codemie-nats-auth-callout --tail=50 +``` + +Expected output: + +- Pod should be in `Running` state +- Deployment should show ready replicas +- Logs should indicate successful connection to NATS diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-installation.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-installation.mdx new file mode 100644 index 00000000..c5e5304d --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-installation.mdx @@ -0,0 +1,158 @@ +import CodeBlock from '@theme/CodeBlock'; + +NATS provides the messaging backbone for CodeMie's plugin system, enabling real-time communication between the core application and distributed plugins. + +**Step 1: Create NATS Secrets** + +Create the `codemie-nats-secrets` secret containing authentication credentials and encryption keys. Follow these steps to generate and encode the necessary values: + +**1. NATS_URL** + +Internal service URL for NATS communication: + + +{`NATS_URL="${props.natsUrl}"`} + + +**2. Callout User Credentials** + +Credentials for the NATS Auth Callout service: + +```bash +# Username +CALLOUT_USERNAME="callout" + +# Generate secure password +CALLOUT_PASSWORD=$(pwgen -s -1 25) + +# Generate bcrypt hash (requires nats CLI installed) +CALLOUT_BCRYPTED_PASSWORD=$(nats server passwd -p "$CALLOUT_PASSWORD") +``` + +**3. CodeMie User Credentials** + +Credentials for CodeMie application to connect to NATS: + +```bash +# Username +CODEMIE_USERNAME="codemie" + +# Generate secure password +CODEMIE_PASSWORD=$(pwgen -s -1 25) + +# Generate bcrypt hash (requires nats CLI installed) +CODEMIE_BCRYPTED_PASSWORD=$(nats server passwd -p "$CODEMIE_PASSWORD") +``` + +**4. NATS Keys** + +Generate NATS keys for JWT authentication and encrypted connections: + +```bash +nsc generate nkey --account +# Output: +# ISSUER_NSEED: SAXXXXX... (private seed, keep secure) +# ISSUER_NKEY: AXXXXX... (public key) + +nsc generate nkey --curve +# Output: +# ISSUER_XSEED: XSXXXXX... (private seed, keep secure) +# ISSUER_XKEY: XXXXXX... (public key) +``` + +Reference: [NATS Auth Callout Example](https://natsbyexample.com/examples/auth/callout/cli) + +**5. Create the Secret** + +Create the secret using `kubectl` with all generated values: + +```bash +kubectl -n codemie create secret generic codemie-nats-secrets \ + --from-literal=NATS_URL="$NATS_URL" \ + --from-literal=CALLOUT_USERNAME="$CALLOUT_USERNAME" \ + --from-literal=CALLOUT_PASSWORD="$CALLOUT_PASSWORD" \ + --from-literal=CALLOUT_BCRYPTED_PASSWORD="$CALLOUT_BCRYPTED_PASSWORD" \ + --from-literal=CODEMIE_USERNAME="$CODEMIE_USERNAME" \ + --from-literal=CODEMIE_PASSWORD="$CODEMIE_PASSWORD" \ + --from-literal=CODEMIE_BCRYPTED_PASSWORD="$CODEMIE_BCRYPTED_PASSWORD" \ + --from-literal=ISSUER_NKEY="" \ + --from-literal=ISSUER_NSEED="" \ + --from-literal=ISSUER_XKEY="" \ + --from-literal=ISSUER_XSEED="" \ + --type=Opaque +``` + +:::warning Save Credentials +Save all generated passwords and keys securely. You'll need them for troubleshooting and future operations. +::: + +**Alternative: YAML Secret Template** + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: codemie-nats-secrets + namespace: codemie +type: Opaque +data: + NATS_URL: + CALLOUT_USERNAME: + CALLOUT_PASSWORD: + CALLOUT_BCRYPTED_PASSWORD: + CODEMIE_USERNAME: + CODEMIE_PASSWORD: + CODEMIE_BCRYPTED_PASSWORD: + ISSUER_NKEY: + ISSUER_NSEED: + ISSUER_XKEY: + ISSUER_XSEED: +``` + +To encode values: `echo -n 'your-value-here' | base64` + +**Step 2: Add NATS Helm Repository** + +Add the official NATS Helm repository: + +```bash +# Add repository +helm repo add nats https://nats-io.github.io/k8s/helm/charts/ + +# Update repository index +helm repo update nats +``` + +**Step 3: Install NATS Helm Chart** + +Deploy NATS using the official Helm chart: + + +{`helm upgrade --install codemie-nats nats/nats \\ + --version 1.2.6 \\ + --namespace codemie \\ + --values ./codemie-nats/${props.valuesFileName} \\ + --wait \\ + --timeout 900s`} + + +**Step 4: Verify NATS Deployment** + +Check that NATS is running: + +```bash +# Check pod status +kubectl get pods -n codemie | grep nats + +# Check NATS service +kubectl get service -n codemie codemie-nats + +# Check NATS logs +kubectl logs -n codemie statefulset/codemie-nats --tail=50 +``` + +Expected output: + +- NATS pods should be in `Running` state +- Service should show cluster IP assigned +- Logs should indicate successful server startup diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-next-steps.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-next-steps.mdx new file mode 100644 index 00000000..c8c89829 --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-next-steps.mdx @@ -0,0 +1 @@ +Once the plugin engine is configured, proceed to **[Core Components](../core-components)** installation to deploy the main CodeMie application services. diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-overview.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-overview.mdx new file mode 100644 index 00000000..036324ca --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-overview.mdx @@ -0,0 +1,6 @@ +This guide covers the installation of the messaging infrastructure that enables connecting MCP servers and plugins running externally to AI/Run CodeMie infrastructure. + +The plugin engine consists of two components: + +- **NATS** - High-performance message broker enabling pub/sub and request/reply messaging patterns +- **NATS Auth Callout** - Authentication service that validates NATS connections and enforces authorization policies diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-post-validation.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-post-validation.mdx new file mode 100644 index 00000000..0c40cc58 --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-post-validation.mdx @@ -0,0 +1,23 @@ +import CodeBlock from '@theme/CodeBlock'; + +```bash +# NATS is running +kubectl get pods -n codemie | grep codemie-nats + +# NATS Auth Callout is running +kubectl get pods -n codemie | grep nats-auth-callout + +# NATS service is available +kubectl get service -n codemie codemie-nats + +# NATS secrets exist +kubectl get secret codemie-nats-secrets -n codemie + +# Test NATS connectivity (optional) +``` + + +{`kubectl run -it --rm nats-test --image=natsio/nats-box:latest --restart=Never -n codemie -- nats context create test --server=${props.natsUrl}`} + + +All checks should return successful results before proceeding. diff --git a/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-tls-configuration.mdx b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-tls-configuration.mdx new file mode 100644 index 00000000..110ce6f5 --- /dev/null +++ b/docs/admin/deployment/common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-tls-configuration.mdx @@ -0,0 +1,127 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Choose the appropriate scenario based on your deployment architecture: + + + + +**Load Balancer TLS Termination** + +TLS is handled by Network Load Balancer with TLS certificate on the load balancer itself. + +**NATS Helm Values** (codemie-nats/{props.valuesFileName}): + +```yaml +params: + conf: | + tls: {} + allow_non_tls: true +``` + +**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): + +```yaml +extraEnv: + - name: NATS_SKIP_TLS_VERIFY + value: "false" +``` + +**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): + +```yaml +env: + - name: SKIPTLSVERIFY + value: "0" +``` + +**Plugin URL Format**: + +``` +tls://: +``` + +:::info +The `tls://` prefix forces plugins to perform TLS handshake first, which is essential because the load balancer expects TLS negotiation before any NATS protocol communication. +::: + + + + +**No TLS (Local envs only)** + +Plain text communication without encryption. + +**NATS Helm Values** (codemie-nats/{props.valuesFileName}): + +```yaml +params: + conf: | + tls: {} + allow_non_tls: true +``` + +**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): + +```yaml +extraEnv: + - name: NATS_SKIP_TLS_VERIFY + value: "false" +``` + +**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): + +```yaml +env: + - name: SKIPTLSVERIFY + value: "0" +``` + +**Plugin URL Format**: + +``` +nats://: +``` + + + + +**NATS-Managed TLS** + +NATS server handles TLS with its own certificate. + +**NATS Helm Values** (codemie-nats/{props.valuesFileName}): + +```yaml +nats: + tls: + enabled: true + secretName: codemie-nats-tls + merge: + timeout: 10 +``` + +**CodeMie API Configuration** (codemie-api/{props.valuesFileName}): + +```yaml +extraEnv: + - name: NATS_SKIP_TLS_VERIFY + value: "true" +``` + +**NATS Auth Callout Configuration** (codemie-nats-auth-callout/{props.valuesFileName}): + +```yaml +env: + - name: SKIPTLSVERIFY + value: "1" +``` + +**Plugin URL Format**: + +``` +nats://: +``` + + + diff --git a/docs/admin/deployment/common/deployment/prerequisites/_cluster-requirements.mdx b/docs/admin/deployment/common/deployment/prerequisites/_cluster-requirements.mdx index bffb93e0..a80de5b6 100644 --- a/docs/admin/deployment/common/deployment/prerequisites/_cluster-requirements.mdx +++ b/docs/admin/deployment/common/deployment/prerequisites/_cluster-requirements.mdx @@ -1,18 +1,16 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## Kubernetes Cluster Requirements - Requirements for **{props.clusterName}** cluster deployment. -### Administrative Permissions +**Administrative Permissions** The deployment user must have: - **{props.clusterName} Admin permissions** with the ability to create and manage namespaces - Access to configure cluster-level resources (if deploying to an existing cluster) -### Admission Control and Resource Requirements +**Admission Control and Resource Requirements** If deploying to an **existing {props.clusterName} cluster**, ensure that admission webhooks allow the creation of the following Kubernetes resources: diff --git a/docs/admin/deployment/common/deployment/prerequisites/_network-requirements.mdx b/docs/admin/deployment/common/deployment/prerequisites/_network-requirements.mdx index 4dbf21be..ef3cc706 100644 --- a/docs/admin/deployment/common/deployment/prerequisites/_network-requirements.mdx +++ b/docs/admin/deployment/common/deployment/prerequisites/_network-requirements.mdx @@ -1,4 +1,4 @@ -### Outbound Connectivity +**Outbound Connectivity** Your {props.clusterName} cluster's {props.networkSecurityName} must allow **outbound access** to the following endpoints: @@ -13,7 +13,7 @@ Your {props.clusterName} cluster's {props.networkSecurityName} must allow **outb AI/Run CodeMie container images are hosted on Google Container Registry (GCR). You will need **gcloud CLI** installed on your deployment machine to authenticate and pull helm charts from GCR. ::: -### Inbound Connectivity on Corporate Services +**Inbound Connectivity on Corporate Services** If you plan to integrate AI/Run CodeMie with external corporate services (e.g., GitLab, GitHub, internal APIs): @@ -24,7 +24,7 @@ If you plan to integrate AI/Run CodeMie with external corporate services (e.g., The AI/Run CodeMie {props.natGatewayName} public IP address will only be available **after infrastructure deployment**. You will need to configure external service firewalls after the installation is complete. ::: -### Access Control Network List +**Access Control Network List** To restrict access to AI/Run CodeMie and prevent unauthorized access from the public internet, prepare a list of allowed networks: diff --git a/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx b/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx index 41f473af..42f1ee66 100644 --- a/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx +++ b/docs/admin/deployment/infrastructure-deployment/kubernetes.mdx @@ -36,7 +36,7 @@ Ensure all requirements from the cloud-specific Prerequisites page are met befor -### Verification Checklist +**Verification Checklist** - [ ] **AWS Access**: Programmatic access with IAM permissions - [ ] **Tools Installed**: Terraform 1.13.5+, AWS CLI, kubectl, Helm, gcloud CLI, Docker @@ -52,7 +52,7 @@ You must have configured AWS credentials before running the deployment. Verify w -### Verification Checklist +**Verification Checklist** - [ ] **Azure Access**: Contributor role with Entra ID App Registration access - [ ] **Tools Installed**: Terraform 1.13.5+, Azure CLI, kubectl, Helm, gcloud CLI, Docker @@ -68,7 +68,7 @@ You must be authenticated to Azure CLI before running the deployment script. Run -### Verification Checklist +**Verification Checklist** - [ ] **GCP Access**: Project Owner or Editor role with IAM permissions - [ ] **Required APIs Enabled**: Cloud IAP, Service Networking, Secret Manager, Vertex AI APIs @@ -93,7 +93,7 @@ Scripted deployment runs all Terraform phases automatically in the correct order -### Deployment Phases (AWS) +**Deployment Phases (AWS)** | Phase | Description | Required | | ------------------------------------ | ---------------------------------------------------------------- | ------------------------------------- | @@ -101,7 +101,7 @@ Scripted deployment runs all Terraform phases automatically in the correct order | **Phase 2: State Backend** | Creates S3 bucket with native locking for Terraform state files | Yes | | **Phase 3: Platform Infrastructure** | Deploys EKS, networking, storage, databases, security components | Yes | -### Phase 1: Deploy IAM Deployer Role +**Phase 1: Deploy IAM Deployer Role** The IAM deployer role provides necessary permissions for all subsequent infrastructure operations. **Skip this phase if the role already exists.** @@ -138,7 +138,7 @@ terraform plan terraform apply ``` -### Phase 2 & 3: Deploy Platform Infrastructure +**Phase 2 & 3: Deploy Platform Infrastructure** 1. Clone the platform repository: @@ -215,7 +215,7 @@ Ensure that incoming traffic to the Security Group on LoadBalancers is allowed f -### Deployment Phases (Azure) +**Deployment Phases (Azure)** | Phase | Description | Required | | ------------------------------------ | ---------------------------------------------------------------- | -------- | @@ -227,14 +227,14 @@ Ensure that incoming traffic to the Security Group on LoadBalancers is allowed f Set `DEPLOY_AI_MODELS="false"` to skip Phase 3 if using external AI providers. ::: -### Step 1: Clone Repository +**Step 1: Clone Repository** ```bash git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git cd codemie-terraform-azure ``` -### Step 2: Configure Deployment +**Step 2: Configure Deployment** Edit `deployment.conf`: @@ -267,7 +267,7 @@ TF_VAR_litellm_db_config='{"enabled":false}' When `DEPLOY_AI_MODELS="true"`, configure the `TF_VAR_cognitive_regions` variable to specify which Azure OpenAI models to deploy, in which regions, and with what capacity. See `variables.tf` in the `platform/` directory for the full variable schema. ::: -### Step 3: Run Deployment Script +**Step 3: Run Deployment Script** ```bash bash ./azure-terraform.sh @@ -285,21 +285,21 @@ The script automatically executes: -### Deployment Phases (GCP) +**Deployment Phases (GCP)** | Phase | Description | Required | | ------------------------------------ | ---------------------------------------------------------------------------------- | -------- | | **Phase 1: State Backend** | Creates GCS bucket for Terraform state files | Yes | | **Phase 2: Platform Infrastructure** | Deploys GKE, networking, storage, databases, security components, and Bastion Host | Yes | -### Step 1: Clone Platform Repository +**Step 1: Clone Platform Repository** ```bash git clone https://gitbud.epam.com/epm-cdme/codemie-terraform-gcp-platform.git cd codemie-terraform-gcp-platform ``` -### Step 2: Configure Deployment +**Step 2: Configure Deployment** Edit `deployment.conf`: @@ -334,7 +334,7 @@ TF_VAR_codemie_cache_config='{"enabled":false}' For all available configuration options, refer to the `platform/terraform.tfvars.example` file in the repository. ::: -### Step 3: Run Deployment Script +**Step 3: Run Deployment Script** ```bash bash ./gcp-terraform.sh @@ -480,7 +480,7 @@ Review deployment logs: cat logs/codemie_azure_deployment_YYYY-MM-DD-HHMMSS.log ``` -### Access Jumpbox VM via Bastion +**Access Jumpbox VM via Bastion** After deployment, access the Jumpbox VM to configure AKS access: @@ -544,7 +544,7 @@ Use manual deployment when you need fine-grained control over each deployment ph -### Phase 1: IAM Deployer Role +**Phase 1: IAM Deployer Role** The `DeployerRole` AWS IAM role will be used for all subsequent infrastructure deployments. @@ -571,7 +571,7 @@ terraform plan terraform apply ``` -### Phase 2: Terraform State Backend +**Phase 2: Terraform State Backend** 1. Clone the remote backend repository: @@ -599,7 +599,7 @@ export BACKEND_BUCKET=$(terraform output -raw terraform_states_s3_bucket_name) export BACKEND_KMS_KEY_ARN=$(terraform output -raw terraform_state_kms_key_arn) ``` -### Phase 3: Platform Infrastructure +**Phase 3: Platform Infrastructure** 1. Clone the platform repository: @@ -649,7 +649,7 @@ terraform output -### Phase 1: Terraform State Backend +**Phase 1: Terraform State Backend** 1. Clone the repository: @@ -681,7 +681,7 @@ export BC_STORAGE_ACCOUNT_NAME=$(terraform output -raw terraform_state_storage_a export STORAGE_ACCOUNT_KEY=$(terraform output -raw terraform_state_storage_account_key) ``` -### Phase 2: Platform Infrastructure +**Phase 2: Platform Infrastructure** 1. Navigate to the platform directory: @@ -728,7 +728,7 @@ terraform output export AZURE_RESOURCE_GROUP=$(terraform output -raw codemie_resource_group) ``` -### Phase 3: AI Models (Optional) +**Phase 3: AI Models (Optional)** Skip this phase if you're using external AI providers or already have Azure OpenAI services deployed. @@ -784,7 +784,7 @@ terraform apply tfplan -### Phase 1: Terraform State Backend +**Phase 1: Terraform State Backend** 1. Clone the platform repository: @@ -811,7 +811,7 @@ terraform apply tfplan export BACKEND_BUCKET=$(terraform output -raw terraform_states_storage_bucket_name) ``` -### Phase 2: Platform Infrastructure +**Phase 2: Platform Infrastructure** 1. Navigate to the platform directory: @@ -844,7 +844,7 @@ terraform apply tfplan terraform output ``` -### Phase 3: Configure Bastion Host Access (Optional) +#### Phase 3: Configure Bastion Host Access (Optional) :::warning Private Cluster Only This section is only required if you deployed a **completely private GKE cluster** with private DNS. For public clusters or clusters with authorized networks configured, you can access the GKE API and CodeMie application directly from your workstation. @@ -852,14 +852,14 @@ This section is only required if you deployed a **completely private GKE cluster The Bastion Host is a secure jump server that provides access to your private GKE cluster and applications running inside the VPC. This VM enables both command-line management (SSH) and browser-based access (RDP) to internal resources. -#### Connection Methods Overview +**Connection Methods Overview** | Connection Type | Use Case | Access Method | | --------------- | ------------------------------------------------------------- | --------------------- | | **SSH** | Deploy and manage Kubernetes workloads using kubectl and Helm | Terminal/SSH client | | **RDP** | Access web UIs exposed via private DNS (Kibana, Keycloak) | Remote Desktop client | -#### Option 1: SSH Connection for Cluster Management +**Option 1: SSH Connection for Cluster Management** Use SSH to connect to the Bastion Host for deploying and managing Kubernetes resources. @@ -880,7 +880,7 @@ gcloud compute ssh bastion-vm --project=your-project --zone=europe-west3-a Ensure your user account is listed in the `bastion_members` variable from Phase 2 configuration. Only authorized users can SSH into the Bastion Host. ::: -##### Step 2: Set user password (Required for RDP) +**Step 2: Set user password (Required for RDP)** After connecting via SSH, set a password for the `ubuntu` user for later RDP access: @@ -933,7 +933,7 @@ cd ~/codemie-helm-charts You're now ready to proceed with [Platform Deployment](../platform-deployment/index.mdx). -#### Option 2: RDP Connection for Web UI Access +**Option 2: RDP Connection for Web UI Access** Use RDP to access application web interfaces that are only available via private DNS (such as Kibana, Keycloak Admin Console). @@ -968,9 +968,9 @@ gcloud compute start-iap-tunnel bastion-vm 3389 \ | **Username** | `ubuntu` | | **Password** | Password set in SSH Step 2 | -#### Tips for Using the Bastion Host +**Tips for Using the Bastion Host** -##### Pasting Commands into Terminal +**Pasting Commands into Terminal** Use the correct keyboard shortcut for pasting in Linux terminal: @@ -980,7 +980,7 @@ Shift + Ctrl + V (Regular `Ctrl + V` won't work in most Linux terminal applications) -##### File Transfer to/from Bastion +**File Transfer to/from Bastion** Transfer files between your local machine and Bastion using `gcloud scp`: diff --git a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx index 5667c498..fc3f12f9 100644 --- a/docs/admin/deployment/infrastructure-deployment/on-vm.mdx +++ b/docs/admin/deployment/infrastructure-deployment/on-vm.mdx @@ -374,7 +374,7 @@ After provisioning the infrastructure manually, the application is deployed usin -### Deployment Phases (AWS) +**Deployment Phases (AWS)** | Phase | Description | Directory | | ------------------------------------ | ------------------------------------------ | -------------------------------------- | @@ -382,7 +382,7 @@ After provisioning the infrastructure manually, the application is deployed usin | **Phase 2: State Backend** | Creates S3 bucket for Terraform state | `terraform/aws/remote-backend/` | | **Phase 3: Platform Infrastructure** | Provisions VPC, EC2, S3, KMS, ALB | `terraform/aws/platform/` | -### Phase 1: IAM Deployer Role +**Phase 1: IAM Deployer Role** :::info One-Time Setup This phase only needs to run once per AWS account. @@ -409,7 +409,7 @@ terraform apply tfplan terraform output deployer_iam_role_arn ``` -### Phase 2: Terraform State Backend +**Phase 2: Terraform State Backend** ```bash cd terraform/aws/remote-backend/ @@ -421,7 +421,7 @@ terraform plan -out=tfplan \ terraform apply tfplan ``` -### Phase 3: Platform Infrastructure +**Phase 3: Platform Infrastructure** ```bash cd terraform/aws/platform/ @@ -479,7 +479,7 @@ After completing infrastructure provisioning, proceed to [Application Provisioni -### Deployment Phases (Azure) +**Deployment Phases (Azure)** | Phase | Description | Directory | | ------------------------------------ | --------------------------------------------------- | --------------------------------- | @@ -487,7 +487,7 @@ After completing infrastructure provisioning, proceed to [Application Provisioni | **Phase 2: Platform Infrastructure** | Provisions VM, Storage Account, Key Vault, DNS, NSG | `terraform/azure/platform/` | | **Phase 3: AI Models** (optional) | Provisions Azure OpenAI cognitive accounts | `terraform/azure/ai-models/` | -### Phase 1: Terraform State Backend +**Phase 1: Terraform State Backend** ```bash cd terraform/azure/remote-backend/ @@ -509,7 +509,7 @@ terraform output storage_account_name terraform output container_name ``` -### Phase 2: Platform Infrastructure +**Phase 2: Platform Infrastructure** ```bash cd terraform/azure/platform/ @@ -548,7 +548,7 @@ terraform output resource_group_name terraform output vm_resource_id ``` -### Phase 3: AI Models (Optional) +**Phase 3: AI Models (Optional)** Skip this phase if `DEPLOY_AI_MODELS="false"` or you have an existing Azure OpenAI endpoint. @@ -580,14 +580,14 @@ After completing infrastructure provisioning, proceed to [Application Provisioni -### Deployment Phases (GCP) +**Deployment Phases (GCP)** | Phase | Description | Directory | | ------------------------------------ | ------------------------------------------------------- | ------------------------------- | | **Phase 1: State Backend** | Creates GCS bucket for Terraform state | `terraform/gcp/remote-backend/` | | **Phase 2: Platform Infrastructure** | Provisions VM, GCS bucket, Cloud KMS key, DNS, firewall | `terraform/gcp/platform/` | -### Phase 1: Terraform State Backend +**Phase 1: Terraform State Backend** ```bash cd terraform/gcp/remote-backend/ @@ -608,7 +608,7 @@ terraform apply tfplan # Note the GCS bucket name from outputs ``` -### Phase 2: Platform Infrastructure +**Phase 2: Platform Infrastructure** ```bash cd terraform/gcp/platform/ diff --git a/docs/admin/deployment/platform-deployment/automated/on-vm.mdx b/docs/admin/deployment/platform-deployment/automated/on-vm.mdx index 1d55bda0..13fe1342 100644 --- a/docs/admin/deployment/platform-deployment/automated/on-vm.mdx +++ b/docs/admin/deployment/platform-deployment/automated/on-vm.mdx @@ -23,7 +23,7 @@ Complete all infrastructure phases from [On-VM Infrastructure Deployment](../../ -### Configure deployment.conf (BYO Mode) +**Configure deployment.conf (BYO Mode)** `BYO_EC2_HOST` determines the application URL. Set it based on your network mode: @@ -50,14 +50,14 @@ BYO_AWS_KMS_KEY_ID="" BYO_PLATFORM_DOMAIN_NAME="" ``` -### Run BYO Deployment +**Run BYO Deployment** ```bash cp /path/to/key.json ./key.json ./deploy.sh --byo ``` -### Verify +**Verify** ```bash curl -k https:///v1/healthcheck @@ -68,7 +68,7 @@ Expected response: `{"status":"ok"}` -### Configure deployment.conf (BYO Mode) +**Configure deployment.conf (BYO Mode)** Fill in the values from Terraform outputs (Phase 2 and Phase 3): @@ -95,14 +95,14 @@ BYO_PLATFORM_DOMAIN_NAME="" # AZURE_CLIENT_SECRET="" ``` -### Run BYO Deployment +**Run BYO Deployment** ```bash cp /path/to/key.json ./key.json ./deploy.sh --byo ``` -### Verify +**Verify** ```bash curl -k https:///v1/healthcheck @@ -113,7 +113,7 @@ Expected response: `{"status":"ok"}` -### Configure deployment.conf (BYO Mode) +**Configure deployment.conf (BYO Mode)** Fill in the values from Terraform outputs (Phase 2): @@ -134,14 +134,14 @@ BYO_GCP_KMS_KEY_ID="" BYO_PLATFORM_DOMAIN_NAME="" ``` -### Run BYO Deployment +**Run BYO Deployment** ```bash cp /path/to/key.json ./key.json ./deploy.sh --byo ``` -### Verify +**Verify** ```bash curl -k https:///v1/healthcheck diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx index 99316b88..1ed5c4b8 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/core-components.mdx @@ -23,6 +23,8 @@ import CoreComponentsValidation from '../../../common/deployment/components-depl +## CodeMie UI Installation + @@ -35,6 +37,8 @@ import CoreComponentsValidation from '../../../common/deployment/components-depl +## CodeMie API Installation + @@ -48,11 +52,9 @@ import CoreComponentsValidation from '../../../common/deployment/components-depl -## CodeMie API Installation - CodeMie API is the backend service that handles all business logic, AI orchestration, and data processing. -### Step 1: Configure API Values +**Step 1: Configure API Values** Verify the values in `codemie-api/values-gcp.yaml` are correct: @@ -66,7 +68,7 @@ Verify the values in `codemie-api/values-gcp.yaml` are correct: If you followed the Getting Started steps, these replacements should already be done. ::: -### Step 2: Copy Elasticsearch Credentials +**Step 2: Copy Elasticsearch Credentials** ```bash kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | \ @@ -74,7 +76,7 @@ kubectl get secret elasticsearch-master-credentials -n elastic -o yaml | \ kubectl apply -n codemie -f - ``` -### Step 3: Create Google Service Account Secret +**Step 3: Create Google Service Account Secret** ```bash kubectl create secret generic google-service-account \ @@ -86,7 +88,7 @@ kubectl create secret generic google-service-account \ Ensure the `codemie-gsa-key.json` file exists in your current directory. This key grants access to Vertex AI and Cloud KMS. ::: -### Step 4: Install CodeMie API Helm Chart +**Step 4: Install CodeMie API Helm Chart** ```bash helm upgrade --install codemie-api \ @@ -98,7 +100,7 @@ helm upgrade --install codemie-api \ --timeout 600s ``` -### Step 5: Verify CodeMie API Deployment +**Step 5: Verify CodeMie API Deployment** ```bash kubectl get pods -n codemie | grep codemie-api diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx index ed975406..efb9c9b1 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/data-layer.mdx @@ -23,6 +23,8 @@ Elasticsearch installation is identical across cloud providers except for the He +## PostgreSQL Configuration + PostgreSQL setup differs on AWS, which uses IAM database authentication instead of a static password. Azure and GCP both connect with a static password and only differ in their managed service name and host. diff --git a/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx index 9ff7a58e..d5effbcf 100644 --- a/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx +++ b/docs/admin/deployment/platform-deployment/manual/kubernetes/plugin-engine.mdx @@ -9,16 +9,79 @@ pagination_next: admin/deployment/platform-deployment/manual/kubernetes/core-com import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import PluginEngineContent from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-content.mdx'; +import PluginEngineOverview from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-overview.mdx'; +import PluginEngineNatsInstallation from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-installation.mdx'; +import PluginEngineNatsAuthCallout from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-nats-auth-callout.mdx'; +import PluginEngineTlsConfiguration from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-tls-configuration.mdx'; +import PluginEnginePostValidation from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-post-validation.mdx'; +import PluginEngineNextSteps from '../../../common/deployment/components-deployment/manual-deployment/plugin-engine/_plugin-engine-next-steps.mdx'; + +## Overview + + + +## NATS Installation + +:::warning Deprecated +NATS is currently deprecated as part of the NATS retirement direction. +::: + + + + + + + + + + + + + +## NATS Auth Callout Installation - - - - - - - - - + + + + + + + + + + +## TLS Configuration + + + + + + + + + + + + + +## Post-Installation Validation + +After completing plugin engine installation, verify the following: + + + + + + + + + + + + + +## Next Steps + + diff --git a/docs/admin/deployment/prerequisites/kubernetes.mdx b/docs/admin/deployment/prerequisites/kubernetes.mdx index 27d04c7e..571c1381 100644 --- a/docs/admin/deployment/prerequisites/kubernetes.mdx +++ b/docs/admin/deployment/prerequisites/kubernetes.mdx @@ -22,7 +22,7 @@ This page outlines the requirements for deploying AI/Run CodeMie on a managed Ku -### Required Access and Permissions +**Required Access and Permissions** To deploy AI/Run CodeMie on AWS, you need: @@ -36,7 +36,7 @@ To deploy AI/Run CodeMie on AWS, you need: -### Required Access and Permissions +**Required Access and Permissions** To deploy AI/Run CodeMie on Azure, you need: @@ -52,7 +52,7 @@ To deploy AI/Run CodeMie on Azure, you need: -### Required Access and Permissions +**Required Access and Permissions** To deploy AI/Run CodeMie on GCP, you need: @@ -68,7 +68,7 @@ To deploy AI/Run CodeMie on GCP, you need: - `roles/storage.admin` - For Cloud Storage management - `roles/cloudkms.cryptoKeyEncrypterDecrypter` - For encryption key operations -### Required GCP APIs +**Required GCP APIs** The following APIs must be enabled in your GCP project before deployment: @@ -149,6 +149,8 @@ If you only require **internal access** within your organization: +## Kubernetes Cluster Requirements + @@ -174,13 +176,13 @@ _No Azure-specific cluster configuration is required beyond the general Kubernet -## GKE Cluster Configuration +**GKE Cluster Configuration** :::info GCP-Specific Requirement This section applies only to GCP deployments. ::: -### VPC-Native Networking and Container-Native Load Balancing +**VPC-Native Networking and Container-Native Load Balancing** AI/Run CodeMie requires GKE clusters configured with **VPC-native networking** and **container-native load balancing (NEGs)** for proper Ingress functionality.

    qcez|&QZGM{V9(`HB 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 VW~k%CL-3Bw%&GH!OSEHb{Xga(?e_ox diff --git a/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/index.md b/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/index.md deleted file mode 100644 index ca7942bd..00000000 --- a/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/index.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -id: infrastructure-deployment-overview -title: Azure Infrastructure Deployment -sidebar_label: Infrastructure Deployment -sidebar_position: 4 -pagination_prev: admin/deployment/azure/kubernetes/architecture -pagination_next: admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-scripted-deployment ---- - -# Azure Infrastructure Deployment - -This section guides you through deploying the Azure infrastructure foundation required for AI/Run CodeMie using Terraform automation. - -:::info Existing Infrastructure -If you already have a provisioned AKS cluster with all required Azure services (networking, storage, databases, etc.), you can skip this section and proceed directly to [Components Deployment](../components-deployment/index.md). -::: - -## Overview - -The Terraform deployment is organized into three distinct phases, each with its own set of resources and purpose: - -1. **Terraform State Backend** - Infrastructure for storing Terraform state files securely -2. **Core Platform Infrastructure** - Main Azure resources for running AI/Run CodeMie -3. **AI Model Deployments** - Optional Azure OpenAI services for AI capabilities - -This modular approach allows you to deploy only what you need and maintain clear separation between infrastructure layers. - -## Phase 1: Terraform State Backend - -The state backend is deployed first to provide secure, centralized storage for Terraform state files. - -| Resource | Purpose | -| ---------------------- | ------------------------------------------------------------------------------ | -| **Resource Group** | Dedicated resource group for Terraform state management resources | -| **Storage Account** | Azure Storage Account for storing Terraform state files with versioning | -| **Storage Containers** | Blob containers for state files (`tfstate`) and deployment scripts (`scripts`) | - -:::tip State Backend Purpose -The Terraform state backend enables: - -- **Team Collaboration**: Multiple engineers can work on infrastructure simultaneously -- **State Locking**: Prevents concurrent modifications that could corrupt state -- **Versioning**: Maintains history of infrastructure changes -- **Security**: State files contain sensitive data and require secure storage - ::: - -## Phase 2: Core Platform Infrastructure - -The core platform infrastructure provisions all Azure resources needed to run AI/Run CodeMie. This is the main deployment phase and following Azure resources will be deployed: - -### Compute & Orchestration - -| Resource | Purpose | -| ----------------------------- | ----------------------------------------------------------------------- | -| **AKS Cluster** | Private Kubernetes cluster for running AI/Run CodeMie workloads | -| **Default Node Pool** | Primary node pool with system workloads | -| **Additional Node Pool** | Secondary node pool for application workloads with custom labels/taints | -| **Virtual Machine (Jumpbox)** | Management VM for secure cluster access and administrative tasks | - -### Networking - -| Resource | Purpose | -| --------------------------- | -------------------------------------------------------------------- | -| **Hub Virtual Network** | Central network hub for shared services (Bastion, private endpoints) | -| **AKS Virtual Network** | Isolated network for AKS cluster with multiple dedicated subnets | -| **VNet Peering** | Secure connectivity between Hub and AKS virtual networks | -| **NAT Gateway** | Provides consistent outbound public IP for internet connectivity | -| **Public IP Address** | Static public IP associated with NAT Gateway | -| **DNS Zones** | Name resolution for CodeMie components | -| **Azure Bastion** | Secure RDP/SSH access to VMs without exposing public IP addresses | -| **Network Security Groups** | Firewall rules controlling traffic flow between subnets | - -### Data & Storage - -| Resource | Purpose | -| ----------------------------------------- | ------------------------------------------------------------------------------- | -| **PostgreSQL Flexible Server** | Managed database service for CodeMie application data with private connectivity | -| **PostgreSQL Flexible Server (Keycloak)** | Dedicated database instance for Keycloak (optional) | -| **Storage Account** | Persistent storage for CodeMie application data and artifacts | -| **Container Registry (ACR)** | Private Docker image repository for CodeMie container images | - -:::info Optional: Azure Container Registry -ACR deployment is optional. If you plan to use an external container registry (e.g., Google Container Registry, Docker Hub, or a corporate registry), ACR can be omitted from the deployment. -::: - -### Security & Identity - -| Resource | Purpose | -| ---------------------- | ------------------------------------------------------------------------------------------- | -| **Azure Key Vault** | Centralized secrets management and encryption key storage | -| **Managed Identities** | System-assigned identities for AKS cluster and workload identity federation | -| **Private Endpoints** | Secure, private network access to Azure PaaS services (Storage, ACR, PostgreSQL, Key Vault) | -| **SSH Key Pair** | Generated SSH key pair for secure VM access (stored in Key Vault) | -| **Role Assignments** | RBAC permissions for AKS to pull from ACR and access Key Vault | -| **Workload Identity** | OIDC federation enabling Kubernetes service accounts to authenticate with Azure AD | - -### Observability - -| Resource | Purpose | -| --------------------------- | ------------------------------------------------------------- | -| **Log Analytics Workspace** | Centralized repository for logs, metrics, and monitoring data | - -## Phase 3: AI Model Deployments (Optional) - -The AI model deployment phase provisions Azure OpenAI services. This phase is **optional** and only needed if you want to use Azure-hosted AI models. - -| Resource | Purpose | -| ------------------------- | -------------------------------------------------------------------------------------------- | -| **Azure OpenAI Services** | Azure Cognitive Services for OpenAI model deployments (GPT-5, GPT-4, embeddings models, etc) | -| **Azure AI Application** | Application registration and managed identity for AI service access control | -| **Private DNS Zone** | Private DNS zone for Azure OpenAI (`privatelink.openai.azure.com`) | -| **Private Endpoint** | Private network connectivity to Azure OpenAI services | -| **VNet Link** | Links OpenAI private DNS zone to AKS virtual network | - -:::info Alternative AI Providers -Azure OpenAI Services are optional. AI/Run CodeMie supports other external AI providers: - -- **AWS Bedrock**: Direct integration with api.openai.com -- **GCP VertexAI**: Integration with Anthropic's Claude models -- **Any Other Providers**: Any LLM API endpoint that can be integrated with LLM Proxy - -If using external AI providers or other models, skip Phase 3 entirely. -::: - -## Next Steps - -Proceed to the next step to deploy the infrastructure: - -- [**Scripted Deployment** →](./infrastructure-scripted-deployment) - Recommended automated deployment using Terraform wrapper scripts - -:::note Manual Deployment -For advanced users or custom scenarios, manual Terraform deployment is possible but not documented. The scripted approach handles all prerequisites, variable management, and deployment orchestration automatically. -::: diff --git a/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/scripted-deployment.md b/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/scripted-deployment.md deleted file mode 100644 index 86f01971..00000000 --- a/docs/admin/deployment/azure/kubernetes/infrastructure-deployment/scripted-deployment.md +++ /dev/null @@ -1,546 +0,0 @@ ---- -id: infrastructure-scripted-deployment -title: Infrastructure Scripted Deployment -sidebar_label: Infrastructure Scripted Deployment -sidebar_position: 1 -pagination_prev: admin/deployment/azure/kubernetes/infrastructure-deployment/infrastructure-deployment-overview -pagination_next: admin/deployment/azure/kubernetes/components-deployment/components-deployment-overview ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Scripted Infrastructure Deployment - -This guide walks you through deploying Azure infrastructure for AI/Run CodeMie using the automated `azure-terraform.sh` deployment script. The script handles all three deployment phases automatically: Terraform state backend, core platform infrastructure, and optional AI model deployments. - -:::tip Recommended Approach -Scripted deployment is the recommended method as it handles prerequisite checks, configuration validation, and proper sequencing of Terraform operations automatically. -::: - -## Prerequisites - -Before starting the deployment, ensure you have completed all requirements from the [Prerequisites](../prerequisites.md) page: - -### Verification Checklist - -- [ ] **Azure Access**: Contributor role with Entra ID App Registration access -- [ ] **Tools Installed**: Terraform 1.13.5, Azure CLI, kubectl, Helm, gcloud CLI, Docker -- [ ] **Azure Authentication**: Logged in via `az login` and subscription set -- [ ] **Repository Access**: Have access to `codemie-terraform-azure` repository -- [ ] **Network Planning**: Prepared list of allowed networks -- [ ] **Domain & Certificate**: DNS zone and TLS certificate ready (for public access) or will use private DNS - -:::warning Authentication Required -You must be authenticated to Azure CLI before running the deployment script. Run `az login` and verify with `az account show`. -::: - -## Deployment Phases - -The script automatically deploys infrastructure in three sequential phases: - -| Phase | Description | Required | -| ------------------------------------ | ---------------------------------------------------------------- | -------- | -| **Phase 1: State Backend** | Creates Azure Storage Account for Terraform state files | Yes | -| **Phase 2: Platform Infrastructure** | Deploys AKS, networking, storage, databases, security components | Yes | -| **Phase 3: AI Models** | Provisions Azure OpenAI services (if enabled) | Optional | - -:::info Skipping AI Models -Set `DEPLOY_AI_MODELS="false"` in configuration to skip Phase 3 if using external AI providers. -::: - -## Phase 1, 2 & 3: Deploy Infrastructure - -This phase deploys all infrastructure components using the automated deployment script: Terraform state backend (Phase 1), core platform infrastructure (Phase 2), and optionally AI model deployments (Phase 3). - -### Step 1: Clone Repository - -Clone the Terraform deployment repository: - -```bash -git clone git@gitbud.epam.com:epm-cdme/codemie-terraform-azure.git -cd codemie-terraform-azure -``` - -### Step 2: Configure Deployment - -Edit the `deployment.conf` file to provide your Azure-specific configuration: - -```bash -# Required: Azure Account Information -AZURE_TENANT_ID="00000000-0000-0000-0000-000000000000" -AZURE_SUBSCRIPTION_ID="11111111-1111-1111-1111-111111111111" - -# Required: Basic Configuration -TF_VAR_customer="airun" # Customer identifier (lowercase letters only) -TF_VAR_location="West Europe" # Azure region for deployment -TF_VAR_resource_group_name="" # Leave empty to auto-generate - -# Required: AKS Admin Access -TF_VAR_admin_group_object_ids='["3a459347-0000-1111-2222-e73413cfa80a"]' - -# Optional: Resource Tagging -TF_VAR_tags='{"createdWith":"Terraform","environment":"production"}' - -# Optional: AI Models Deployment -DEPLOY_AI_MODELS="true" # Set to "false" to skip Azure OpenAI deployment - -# Optional: Dedicated PostgreSQL Flexible Server Instances Configuration -# Set enabled=true to provision a dedicated instance for the service. -# Omitted fields fall back to defaults (sku_name, db_name, username, etc.). -TF_VAR_keycloak_db_config='{"enabled":true}' -TF_VAR_langfuse_db_config='{"enabled":false}' -TF_VAR_litellm_db_config='{"enabled":false}' -``` - -:::tip Required vs Optional Variables -The configuration file contains many variables. Most have sensible defaults. Focus on the **Required** variables first. See the [Configuration Reference](#configuration-reference) below for advanced options. -::: - -:::info Complete Variable List -For all available configuration options, refer to the `variables.tf` files: - -- **Platform variables**: [platform/variables.tf](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure/-/blob/main/platform/variables.tf) -- **AI models variables**: [ai-models/variables.tf](https://gitbud.epam.com/epm-cdme/codemie-terraform-azure/-/blob/main/ai-models/variables.tf) - ::: - -### Step 3: Run Deployment Script - -Execute the automated deployment script: - -```bash -bash ./azure-terraform.sh -``` - -The script will automatically execute the following operations: - -1. **Validate Environment**: Check for required tools and Azure authentication -2. **Verify Configuration**: Validate `deployment.conf` parameters -3. **Deploy State Backend**: Create Azure Storage Account for Terraform state files -4. **Deploy Platform Infrastructure**: Provision core platform infrastructure (AKS, networking, storage, databases) -5. **Deploy AI Models**: Provision Azure OpenAI services (if `DEPLOY_AI_MODELS="true"`) -6. **Generate Outputs**: Create `deployment_outputs.env` with infrastructure details that will be required during next phases - -:::warning Deployment in Progress -Do not interrupt the script during execution. Monitor the output for any errors. -::: - -## Configuration Reference - -### AI Models Deployment Control - -Control whether Azure OpenAI services are deployed using the `DEPLOY_AI_MODELS` parameter: - -| Setting | Behavior | Use Case | -| ------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| `"true"` (default) | Deploys Azure OpenAI services, private endpoints, and AI application | Using Azure-hosted AI models | -| `"false"` | Skips AI models deployment entirely | Using external AI providers (OpenAI API, Anthropic, AWS Bedrock, GCP Vertex AI) | - -:::tip When to Skip AI Models -Skip Azure OpenAI deployment (`DEPLOY_AI_MODELS="false"`) if you: - -- Already have Azure OpenAI services deployed -- Plan to use other non GPT family models (Claude, Gemini, etc) -- Want to deploy AI models separately later -- Are deploying infrastructure in stages - ::: - -### AI Models Network Access - -Configure network access controls for Azure OpenAI services. All deployments include private endpoint connectivity; public access is optional and can be restricted. - - - - **Most Secure Configuration** - Access only through Azure Private Endpoints - - ```bash - TF_VAR_ai_models_public_network_access_enabled="false" - ``` - - **Result**: - - ✅ Access via Azure Private Links from your VNet - - ❌ Public internet access completely disabled - - ✅ Recommended for production environments - - - - - **Hybrid Configuration** - Private access + specific public IPs allowed - - ```bash - TF_VAR_ai_models_public_network_access_enabled="true" - TF_VAR_ai_models_network_acls='{ - "default_action": "Deny", - "ip_rules": ["x.x.x.x/24", "x.x.x.x"] - }' - ``` - - **Result**: - - ✅ Access via Azure Private Links from your VNet - - ✅ Access from specified IP addresses/ranges only - - ❌ All other public access denied - - 💡 Useful for accessing from corporate networks or specific locations - - - - - **Least Secure Configuration** - Open public access - - ```bash - TF_VAR_ai_models_public_network_access_enabled="true" - TF_VAR_ai_models_network_acls='{ - "default_action": "Allow", - "ip_rules": [] - }' - ``` - - **Result**: - - ✅ Access via Azure Private Links from your VNet - - ⚠️ Access from any public IP address - - ❌ Not recommended for production - - - - -#### Private Endpoint Configuration - -Private endpoints are automatically deployed for secure VNet connectivity. Customize the network location if needed: - -```bash -# Default values (can be customized) -TF_VAR_ai_network_name="AksVNet" # VNet for private endpoint -TF_VAR_ai_endpoint_subnet_name="UserSubnet" # Subnet for private endpoint -``` - -:::info Private Endpoints -Private endpoints are created regardless of public access settings, ensuring secure connectivity from your Azure infrastructure. -::: - -### Azure OpenAI Model Configuration - -When `DEPLOY_AI_MODELS="true"`, configure which AI models to deploy and their regional distribution using `TF_VAR_cognitive_regions`. - -#### Configuration Parameters - -**Region-Level Settings**: - -- `region_name`: Azure region (e.g., "eastus", "westeurope", "japaneast") -- `count`: Number of Azure OpenAI instances to create in this region -- `custom_domain_name`: Enable custom domain names (true/false) - -**Model-Level Settings**: - -- `format`: Always `"OpenAI"` -- `name`: Deployment name used in API calls -- `model_name`: Azure OpenAI model identifier (e.g., "gpt-4o", "gpt-4", "text-embedding-ada-002") -- `version`: Model version (e.g., "2024-11-20") -- `capacity`: Total capacity units (automatically distributed across instances) -- `type`: `"Standard"` (regional) or `"GlobalStandard"` (global with higher availability) - -:::tip Capacity Distribution -The `capacity` value is the **total** capacity for that model. It's automatically divided by `count`: - -- `capacity: 348` with `count: 3` → Each instance gets 116 capacity units -- `capacity: 200` with `count: 2` → Each instance gets 100 capacity units - ::: - -#### Configuration Examples - -

    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