Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions docs/admin/deployment/aws/04-infrastructure-deployment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,13 @@ The core platform infrastructure provisions all AWS resources needed to run AI/R

### Data & Storage

| Resource | Purpose |
| -------------------- | ------------------------------------------------------------- |
| **RDS PostgreSQL** | Managed database service for CodeMie application data |
| **RDS Subnet Group** | Database subnet group for multi-AZ deployment |
| **S3 Bucket** | Persistent storage for CodeMie application data and artifacts |
| **EBS Volumes** | Block storage for Kubernetes persistent volumes |
| Resource | Purpose |
| ----------------------------- | ------------------------------------------------------------- |
| **RDS PostgreSQL** | Managed database service for CodeMie application data |
| **RDS PostgreSQL (Keycloak)** | Dedicated database instance for Keycloak (optional) |
| **RDS Subnet Group** | Database subnet group for multi-AZ deployment |
| **S3 Bucket** | Persistent storage for CodeMie application data and artifacts |
| **EBS Volumes** | Block storage for Kubernetes persistent volumes |

### Security & Identity

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,10 @@ TF_VAR_enable_private_connections=true
TF_VAR_lb_prefix_list_ids='[]'
TF_VAR_lb_specific_ips='[]'
TF_VAR_security_group_ids='[]'

# Optional: Keycloak Database
# Set to true to share the existing CodeMie RDS instance instead of creating a dedicated one
TF_VAR_keycloak_shared_database_instance=false
...
```

Expand Down Expand Up @@ -172,12 +176,19 @@ AWS_KMS_KEY_ID=12345678-90ab-cdef-1234-567890abcdef
AWS_S3_BUCKET_NAME=codemie-platform-bucket
CODEMIE_DOMAIN_NAME=airun.example.com

# Database Outputs
# 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 TF_VAR_keycloak_shared_database_instance=false)
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"
```

:::tip Save These Outputs
Expand Down
17 changes: 8 additions & 9 deletions docs/admin/deployment/aws/05-components-deployment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pagination_next: admin/deployment/aws/components-deployment/components-scripted-
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, PostgreSQL via operators)
- **Data layer** (Elasticsearch)
- **Security & Identity** (Keycloak, OAuth2 Proxy)
- **Infrastructure services** (Ingress controller, storage)
- **Observability** (Kibana, Fluent Bit)
Expand Down Expand Up @@ -63,11 +63,10 @@ bash get-codemie-latest-release-version.sh -c /path/to/key.json

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 |
| **PostgreSQL Operator** | `registry.developers.crunchydata.com/.../postgres-operator:x.y.z` | Manages PostgreSQL instances for Keycloak |
| 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

Expand Down Expand Up @@ -117,9 +116,9 @@ Components that can be omitted based on configuration:
Components must be deployed in the following order due to dependencies:

1. **Infrastructure** → Ingress Controller, Storage Class
2. **Operators** → PostgreSQL Operator, Keycloak Operator
3. **Data Layer** → Elasticsearch, PostgreSQL instances
4. **Security** → Keycloak, OAuth2 Proxy
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,13 @@ pagination_next: admin/deployment/aws/components-deployment/manual-deployment/se

import DataLayerOverview from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-overview.mdx';
import DataLayerElasticsearch from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-elasticsearch.mdx';
import DataLayerPostgresOperator from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-operator.mdx';
import DataLayerPostgresConfig from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-config.mdx';
import DataLayerValidation from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-validation.mdx';

<DataLayerOverview />

<DataLayerElasticsearch cloudProvider="AWS" valuesFileName="values-aws.yaml" />

<DataLayerPostgresOperator
postgresServiceName="AWS RDS PostgreSQL"
/>

<DataLayerPostgresConfig
postgresServiceName="AWS RDS PostgreSQL"
postgresExampleHost="codemie-postgres.abc123.us-west-2.rds.amazonaws.com"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,6 @@ Components must be installed in the following order to satisfy dependencies:
**Components**:

- Elasticsearch (document storage and search engine)
- PostgreSQL Operator (database lifecycle management)
- PostgreSQL (relational database instances or RDS connection)

**Dependencies**: Requires storage class from Step 1

Expand All @@ -101,7 +99,7 @@ Components must be installed in the following order to satisfy dependencies:
- Keycloak (identity and access management)
- OAuth2 Proxy (authentication proxy)

**Dependencies**: Requires PostgreSQL from Step 2
**Dependencies**: Requires RDS from infrastructure deployment

### 4. [Plugin Engine](./plugin-engine)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Scripted deployment is recommended for standard installations as it automates co
The deployment script automates the installation of:

- **Infrastructure services** (Nginx Ingress, Storage Class)
- **Data layer** (Elasticsearch, PostgreSQL Operator)
- **Data layer** (Elasticsearch)
- **Security components** (Keycloak, OAuth2 Proxy)
- **Messaging system** (NATS)
- **Core CodeMie services** (API, UI, MCP Connect)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,12 @@ The core platform infrastructure provisions all Azure resources needed to run AI

### Data & Storage

| Resource | Purpose |
| ------------------------------ | ------------------------------------------------------------------------------- |
| **PostgreSQL Flexible Server** | Managed database service for CodeMie application data with private connectivity |
| **Storage Account** | Persistent storage for CodeMie application data and artifacts |
| **Container Registry (ACR)** | Private Docker image repository for CodeMie container images |
| 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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ TF_VAR_tags='{"createdWith":"Terraform","environment":"production"}'

# Optional: AI Models Deployment
DEPLOY_AI_MODELS="true" # Set to "false" to skip Azure OpenAI deployment

# Optional: Keycloak Database
# Set to true to share the existing CodeMie PostgreSQL instance instead of creating a dedicated one
TF_VAR_keycloak_shared_database_instance=false
```

:::tip Required vs Optional Variables
Expand Down Expand Up @@ -368,12 +372,19 @@ AZURE_AI_TENANT_ID="00000000-0000-0000-0000-000000000000"
AZURE_AI_CLIENT_ID="00000000-0000-0000-0000-000000000000"
AZURE_AI_CLIENT_SECRET="some-secret"

# Database Outputs
# 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 TF_VAR_keycloak_shared_database_instance=false)
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"
```

:::tip Save These Outputs
Expand Down
17 changes: 8 additions & 9 deletions docs/admin/deployment/azure/05-components-deployment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pagination_next: admin/deployment/azure/components-deployment/components-scripte
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, PostgreSQL via operators)
- **Data layer** (Elasticsearch)
- **Security & Identity** (Keycloak, OAuth2 Proxy)
- **Infrastructure services** (Ingress controller, storage)
- **Observability** (Kibana, Fluent Bit)
Expand Down Expand Up @@ -63,11 +63,10 @@ bash get-codemie-latest-release-version.sh -c /path/to/key.json

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 |
| **PostgreSQL Operator** | `registry.developers.crunchydata.com/.../postgres-operator:x.y.z` | Manages PostgreSQL instances for Keycloak |
| 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

Expand Down Expand Up @@ -117,9 +116,9 @@ Components that can be omitted based on configuration:
Components must be deployed in the following order due to dependencies:

1. **Infrastructure** → Ingress Controller, Storage Class
2. **Operators** → PostgreSQL Operator, Keycloak Operator
3. **Data Layer** → Elasticsearch, PostgreSQL instances
4. **Security** → Keycloak, OAuth2 Proxy
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,13 @@ pagination_next: admin/deployment/azure/components-deployment/manual-deployment/

import DataLayerOverview from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-overview.mdx';
import DataLayerElasticsearch from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-elasticsearch.mdx';
import DataLayerPostgresOperator from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-operator.mdx';
import DataLayerPostgresConfig from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-postgresql-config.mdx';
import DataLayerValidation from '../../../common/deployment/05-components-deployment/manual-deployment/data-layer/\_data-layer-validation.mdx';

<DataLayerOverview />

<DataLayerElasticsearch cloudProvider="Azure" valuesFileName="values-azure.yaml" />

<DataLayerPostgresOperator
postgresServiceName="Azure Database for PostgreSQL"
/>

<DataLayerPostgresConfig
postgresServiceName="Azure Database for PostgreSQL"
postgresExampleHost="codemie-postgres.postgres.database.azure.com"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,6 @@ Components must be installed in the following order to satisfy dependencies:
**Components**:

- Elasticsearch (document storage and search engine)
- PostgreSQL Operator (database lifecycle management)
- PostgreSQL (relational database instances)

**Dependencies**: Requires storage class from Step 1

Expand All @@ -101,7 +99,7 @@ Components must be installed in the following order to satisfy dependencies:
- Keycloak (identity and access management)
- OAuth2 Proxy (authentication proxy)

**Dependencies**: Requires PostgreSQL from Step 2
**Dependencies**: Requires PostgreSQL from infrastructure deployment

### 4. [Plugin Engine](./plugin-engine)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Scripted deployment is recommended for standard installations as it automates co
The deployment script automates the installation of:

- **Infrastructure services** (Nginx Ingress, Storage Class)
- **Data layer** (Elasticsearch, PostgreSQL Operator)
- **Data layer** (Elasticsearch)
- **Security components** (Keycloak, OAuth2 Proxy)
- **Messaging system** (NATS)
- **Core CodeMie services** (API, UI, MCP Connect)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,6 @@ Requires cluster-wide permissions for identity and access management operations.

</TabItem>

<TabItem value="postgresql" label="PostgreSQL Operator">

**Kubernetes APIs:** `ClusterRole`, `ClusterRoleBinding`, Custom Resource Definitions (CRDs), Custom Resources (CRs)

**Purpose:** Manages PostgreSQL database instances and their lifecycle

:::note
Requires cluster-wide permissions for database provisioning and management.
:::

</TabItem>

<TabItem value="security" label="Security Context">

**Kubernetes API:** `Pod` with `securityContext`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@

Your {props.clusterName} cluster's {props.networkSecurityName} must allow **outbound access** to the following endpoints:

| Destination | Purpose |
| ------------------------------------- | -------------------------------------------------------------- |
| `europe-west3-docker.pkg.dev` | AI/Run CodeMie container registry (Google Container Registry) |
| `quay.io` | Third-party container images |
| `docker.io` | Docker Hub container images |
| `registry.developers.crunchydata.com` | PostgreSQL operator images |
| Your integration services | GitLab, GitHub, or other services you plan to use with CodeMie |
| Destination | Purpose |
| ----------------------------- | -------------------------------------------------------------- |
| `europe-west3-docker.pkg.dev` | AI/Run CodeMie container registry (Google Container Registry) |
| `quay.io` | Third-party container images |
| `docker.io` | Docker Hub container images |
| Your integration services | GitLab, GitHub, or other services you plan to use with CodeMie |

:::note Container Registry Access
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.
Expand Down
Loading
Loading