From 45825f2b2fad2645f6ec06ce0d370e988aa1479a Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:30:25 +0530 Subject: [PATCH 1/8] docs: reorganize database settings for Plane AI and update environment variable documentation --- docs/self-hosting/govern/environment-variables.md | 9 +++++++-- .../methods/install-methods-commercial/kubernetes.md | 1 + docs/self-hosting/methods/kubernetes.md | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/self-hosting/govern/environment-variables.md b/docs/self-hosting/govern/environment-variables.md index 05229b8..58cdafc 100644 --- a/docs/self-hosting/govern/environment-variables.md +++ b/docs/self-hosting/govern/environment-variables.md @@ -87,8 +87,6 @@ This is where you'll make all configuration changes. Remember to restart the ins | **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | 5432 | | **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | /var/lib/postgresql/data | | **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | | -| **FOLLOWER_POSTGRES_URI** | Connection string for a PostgreSQL read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | -| **PLANE_PI_DATABASE_URL** | Connection string for the Plane Intelligence database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | ### Redis settings @@ -175,6 +173,13 @@ This is where you'll make all configuration changes. Remember to restart the ins ### Plane AI +#### Database settings + +| Variable | Description | Default Value | +| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | +| **FOLLOWER_POSTGRES_URI** | Connection string for a PostgreSQL read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | +| **PLANE_PI_DATABASE_URL** | Connection string for the Plane Intelligence database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | + #### Plane AI replicas To start Plane AI services, set each replica count to `1`: diff --git a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md index 0253f84..148700c 100644 --- a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md +++ b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md @@ -455,6 +455,7 @@ airgapped: | services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | | env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | | env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | +| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | | env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | | env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | | env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | diff --git a/docs/self-hosting/methods/kubernetes.md b/docs/self-hosting/methods/kubernetes.md index 9e42c96..bcdf5f3 100644 --- a/docs/self-hosting/methods/kubernetes.md +++ b/docs/self-hosting/methods/kubernetes.md @@ -453,6 +453,7 @@ airgapped: | services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | | env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | | env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | +| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | | env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | | env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | | env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | From 7e1a29c69972d69c1dfec287be0bd4133883fd78 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:34:58 +0530 Subject: [PATCH 2/8] docs: remove OPENSEARCH_ML_MODEL_ID from environment variables documentation --- docs/self-hosting/govern/environment-variables.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/self-hosting/govern/environment-variables.md b/docs/self-hosting/govern/environment-variables.md index 58cdafc..e16a843 100644 --- a/docs/self-hosting/govern/environment-variables.md +++ b/docs/self-hosting/govern/environment-variables.md @@ -169,7 +169,6 @@ This is where you'll make all configuration changes. Remember to restart the ins | **OPENSEARCH_USERNAME** | Authentication username | admin | | **OPENSEARCH_PASSWORD** | Authentication password | your-secure-password | | **OPENSEARCH_INDEX_PREFIX** | Prefix for all index names (useful for multi-tenant setups) | (empty) | -| **OPENSEARCH_ML_MODEL_ID** | OpenSearch ML model ID used for embedding-based search features | (empty) | ### Plane AI From e329a210c5f5d153bc5add98f1d8dc9d3db9cf62 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:36:02 +0530 Subject: [PATCH 3/8] docs: reorganize and restore database settings for Plane AI in environment variables documentation --- docs/self-hosting/govern/environment-variables.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/self-hosting/govern/environment-variables.md b/docs/self-hosting/govern/environment-variables.md index e16a843..18a6fce 100644 --- a/docs/self-hosting/govern/environment-variables.md +++ b/docs/self-hosting/govern/environment-variables.md @@ -172,13 +172,6 @@ This is where you'll make all configuration changes. Remember to restart the ins ### Plane AI -#### Database settings - -| Variable | Description | Default Value | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| **FOLLOWER_POSTGRES_URI** | Connection string for a PostgreSQL read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | -| **PLANE_PI_DATABASE_URL** | Connection string for the Plane Intelligence database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | - #### Plane AI replicas To start Plane AI services, set each replica count to `1`: @@ -190,6 +183,13 @@ To start Plane AI services, set each replica count to `1`: | **PI_WORKER_REPLICAS** | Plane AI Worker replica count | Yes | | **PI_MIGRATOR_REPLICAS** | Plane AI Migrator replica count | Yes | +#### Database settings + +| Variable | Description | Default Value | +| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | +| **FOLLOWER_POSTGRES_URI** | Connection string for a PostgreSQL read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | +| **PLANE_PI_DATABASE_URL** | Connection string for the Plane Intelligence database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | + #### LLM provider API keys Plane AI supports multiple LLM providers. Configure one or more by adding their API keys. From 7d0c78a35dffb2809a89072630fb3605a732bc37 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:41:16 +0530 Subject: [PATCH 4/8] docs: add FOLLOWER_POSTGRES_URI to environment variables documentation for PostgreSQL read replicas --- .../methods/install-methods-commercial/kubernetes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md index 148700c..27c9795 100644 --- a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md +++ b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md @@ -660,6 +660,7 @@ To configure the external secrets for your application, you need to define speci | | GITLAB_CLIENT_ID | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client ID | your_gitlab_client_id | | | GITLAB_CLIENT_SECRET | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client secret key | your_gitlab_client_secret_key | | pi_api_env_existingSecret | PLANE_PI_DATABASE_URL | Required if `services.pi.enabled=true` | PostgreSQL connection URL for Plane AI database | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local/plane_pi`

**external**: `postgresql://username:password@your-db-host:5432/plane_pi` | +| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | | | AMQP_URL | Required if `services.pi.enabled=true` | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external**: `amqp://username:password@your-rabbitmq-host:5672/` | | | AES_SECRET_KEY | Required if `services.pi.enabled=true` | AES secret key for Plane AI | dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr (or your own value) | | | OPENAI_API_KEY | required if `services.pi.ai_providers.openai.enabled` is true | OpenAI API key | your_openai_api_key | From 005816c41d7bbb218d2b880c2049ee08a50760a0 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:45:58 +0530 Subject: [PATCH 5/8] docs: add description for FOLLOWER_POSTGRES_URI in Kubernetes environment variables documentation --- docs/self-hosting/methods/kubernetes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/self-hosting/methods/kubernetes.md b/docs/self-hosting/methods/kubernetes.md index bcdf5f3..d27d62e 100644 --- a/docs/self-hosting/methods/kubernetes.md +++ b/docs/self-hosting/methods/kubernetes.md @@ -658,6 +658,7 @@ To configure the external secrets for your application, you need to define speci | | GITLAB_CLIENT_ID | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client ID | your_gitlab_client_id | | | GITLAB_CLIENT_SECRET | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client secret key | your_gitlab_client_secret_key | | pi_api_env_existingSecret | PLANE_PI_DATABASE_URL | Required if `services.pi.enabled=true` | PostgreSQL connection URL for Plane AI database | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local/plane_pi`

**external**: `postgresql://username:password@your-db-host:5432/plane_pi` | +| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | | | AMQP_URL | Required if `services.pi.enabled=true` | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external**: `amqp://username:password@your-rabbitmq-host:5672/` | | | AES_SECRET_KEY | Required if `services.pi.enabled=true` | AES secret key for Plane AI | dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr (or your own value) | | | OPENAI_API_KEY | required if `services.pi.ai_providers.openai.enabled` is true | OpenAI API key | your_openai_api_key | From 685f48b68f44e01d8b465af8701e8c6616929d28 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:52:40 +0530 Subject: [PATCH 6/8] docs: add Plane AI database connection details to environment variables documentation --- docs/self-hosting/govern/environment-variables.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/self-hosting/govern/environment-variables.md b/docs/self-hosting/govern/environment-variables.md index 18a6fce..d413b8a 100644 --- a/docs/self-hosting/govern/environment-variables.md +++ b/docs/self-hosting/govern/environment-variables.md @@ -185,10 +185,14 @@ To start Plane AI services, set each replica count to `1`: #### Database settings +::: info Plane AI database +Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) on your PostgreSQL server, then set **PLANE_PI_DATABASE_URL** to its connection string. Example: `postgresql://user:password@host:5432/plane_pi` +::: + | Variable | Description | Default Value | | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| **FOLLOWER_POSTGRES_URI** | Connection string for a PostgreSQL read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | -| **PLANE_PI_DATABASE_URL** | Connection string for the Plane Intelligence database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | +| **PLANE_PI_DATABASE_URL** | Connection string for the Plane AI database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | +| **FOLLOWER_POSTGRES_URI** | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | #### LLM provider API keys From 69dc1b94f88a367be9c4beffa3295e072902bcf3 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Wed, 11 Mar 2026 13:55:53 +0530 Subject: [PATCH 7/8] docs: add Plane AI database connection instructions to Kubernetes deployment documentation --- .../methods/install-methods-commercial/kubernetes.md | 4 ++++ docs/self-hosting/methods/kubernetes.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md index 27c9795..d8cf13e 100644 --- a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md +++ b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md @@ -437,6 +437,10 @@ airgapped: #### Plane AI deployment +::: info Plane AI database +Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) and connect it using `env.pg_pi_db_remote_url` in values, or **PLANE_PI_DATABASE_URL** when using `pi_api_env_existingSecret`. +::: + | Setting | Default | Required | Description | | -------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | | services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | diff --git a/docs/self-hosting/methods/kubernetes.md b/docs/self-hosting/methods/kubernetes.md index d27d62e..d00d405 100644 --- a/docs/self-hosting/methods/kubernetes.md +++ b/docs/self-hosting/methods/kubernetes.md @@ -435,6 +435,10 @@ airgapped: #### Plane AI deployment +::: info Plane AI database +Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) and connect it using `env.pg_pi_db_remote_url` in values, or **PLANE_PI_DATABASE_URL** when using `pi_api_env_existingSecret`. +::: + | Setting | Default | Required | Description | | -------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | | services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | From 4a2a6467dfb25480bd2ffca87a51b5afb5f1e38e Mon Sep 17 00:00:00 2001 From: danciaclara Date: Fri, 13 Mar 2026 16:13:00 +0530 Subject: [PATCH 8/8] formatting fixes --- .../govern/environment-variables.md | 42 ++++++++--------- .../install-methods-commercial/kubernetes.md | 46 +++++++++---------- docs/self-hosting/methods/kubernetes.md | 46 +++++++++---------- 3 files changed, 67 insertions(+), 67 deletions(-) diff --git a/docs/self-hosting/govern/environment-variables.md b/docs/self-hosting/govern/environment-variables.md index d413b8a..36a78d6 100644 --- a/docs/self-hosting/govern/environment-variables.md +++ b/docs/self-hosting/govern/environment-variables.md @@ -77,16 +77,16 @@ This is where you'll make all configuration changes. Remember to restart the ins ### Database settings -| Variable | Description | Default Value | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -| **PGHOST** | Hostname or IP address of your PostgreSQL server. | plane-db | -| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | plane | -| **POSTGRES_USER** | Username for PostgreSQL authentication. | plane | -| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. **Critical:** Use a strong, unique password here. | plane | -| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | plane | -| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | 5432 | -| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | /var/lib/postgresql/data | -| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | | +| Variable | Description | Default Value | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | +| **PGHOST** | Hostname or IP address of your PostgreSQL server. | plane-db | +| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | plane | +| **POSTGRES_USER** | Username for PostgreSQL authentication. | plane | +| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. **Critical:** Use a strong, unique password here. | plane | +| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | plane | +| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | 5432 | +| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | /var/lib/postgresql/data | +| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | | ### Redis settings @@ -162,13 +162,13 @@ This is where you'll make all configuration changes. Remember to restart the ins ### OpenSearch -| Variable | Description | Default Value | -| --------------------------- | --------------------------------------------------------------- | ------------------------------------ | -| **OPENSEARCH_ENABLED** | Enable OpenSearch integration | 1 | -| **OPENSEARCH_URL** | OpenSearch endpoint URL | https://opensearch.example.com:9200/ | -| **OPENSEARCH_USERNAME** | Authentication username | admin | -| **OPENSEARCH_PASSWORD** | Authentication password | your-secure-password | -| **OPENSEARCH_INDEX_PREFIX** | Prefix for all index names (useful for multi-tenant setups) | (empty) | +| Variable | Description | Default Value | +| --------------------------- | ----------------------------------------------------------- | ------------------------------------ | +| **OPENSEARCH_ENABLED** | Enable OpenSearch integration | 1 | +| **OPENSEARCH_URL** | OpenSearch endpoint URL | https://opensearch.example.com:9200/ | +| **OPENSEARCH_USERNAME** | Authentication username | admin | +| **OPENSEARCH_PASSWORD** | Authentication password | your-secure-password | +| **OPENSEARCH_INDEX_PREFIX** | Prefix for all index names (useful for multi-tenant setups) | (empty) | ### Plane AI @@ -189,10 +189,10 @@ To start Plane AI services, set each replica count to `1`: Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) on your PostgreSQL server, then set **PLANE_PI_DATABASE_URL** to its connection string. Example: `postgresql://user:password@host:5432/plane_pi` ::: -| Variable | Description | Default Value | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| **PLANE_PI_DATABASE_URL** | Connection string for the Plane AI database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | -| **FOLLOWER_POSTGRES_URI** | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | +| Variable | Description | Default Value | +| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | +| **PLANE_PI_DATABASE_URL** | Connection string for the Plane AI database. A separate database used by the PI service. | postgresql://plane:plane@plane-db/plane_pi | +| **FOLLOWER_POSTGRES_URI** | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | Same as DATABASE_URL | #### LLM provider API keys diff --git a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md index d8cf13e..b2429f0 100644 --- a/docs/self-hosting/methods/install-methods-commercial/kubernetes.md +++ b/docs/self-hosting/methods/install-methods-commercial/kubernetes.md @@ -441,28 +441,28 @@ airgapped: Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) and connect it using `env.pg_pi_db_remote_url` in values, or **PLANE_PI_DATABASE_URL** when using `pi_api_env_existingSecret`. ::: -| Setting | Default | Required | Description | -| -------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | -| services.pi.replicas | 1 | Yes | Number of replicas for the Plane AI API deployment. It must be >=1. | -| services.pi.memoryLimit | 1000Mi | | Memory limit for the Plane AI API deployment. | -| services.pi.cpuLimit | 500m | | CPU limit for the Plane AI API deployment. | -| services.pi.memoryRequest | 50Mi | | Memory request for the Plane AI API deployment. | -| services.pi.cpuRequest | 50m | | CPU request for the Plane AI API deployment. | -| services.pi.image | artifacts.plane.so/makeplane/plane-pi-commercial | | Docker image for the Plane AI service. | -| services.pi.pullPolicy | Always | | Image pull policy for the Plane AI deployment. | -| services.pi.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the Plane AI API service. | -| services.pi.nodeSelector | {} | | Node selector for the Plane AI API deployment. | -| services.pi.tolerations | [] | | Tolerations for the Plane AI API deployment. | -| services.pi.affinity | {} | | Affinity rules for the Plane AI API deployment. | -| services.pi.labels | {} | | Custom labels to add to the Plane AI API deployment. | -| services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | -| env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | -| env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | -| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | -| env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | -| env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | -| env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | +| Setting | Default | Required | Description | +| --------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | +| services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | +| services.pi.replicas | 1 | Yes | Number of replicas for the Plane AI API deployment. It must be >=1. | +| services.pi.memoryLimit | 1000Mi | | Memory limit for the Plane AI API deployment. | +| services.pi.cpuLimit | 500m | | CPU limit for the Plane AI API deployment. | +| services.pi.memoryRequest | 50Mi | | Memory request for the Plane AI API deployment. | +| services.pi.cpuRequest | 50m | | CPU request for the Plane AI API deployment. | +| services.pi.image | artifacts.plane.so/makeplane/plane-pi-commercial | | Docker image for the Plane AI service. | +| services.pi.pullPolicy | Always | | Image pull policy for the Plane AI deployment. | +| services.pi.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the Plane AI API service. | +| services.pi.nodeSelector | {} | | Node selector for the Plane AI API deployment. | +| services.pi.tolerations | [] | | Tolerations for the Plane AI API deployment. | +| services.pi.affinity | {} | | Affinity rules for the Plane AI API deployment. | +| services.pi.labels | {} | | Custom labels to add to the Plane AI API deployment. | +| services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | +| env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | +| env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | +| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | +| env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | +| env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | +| env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | #### Plane AI Worker Deployment @@ -664,7 +664,7 @@ To configure the external secrets for your application, you need to define speci | | GITLAB_CLIENT_ID | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client ID | your_gitlab_client_id | | | GITLAB_CLIENT_SECRET | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client secret key | your_gitlab_client_secret_key | | pi_api_env_existingSecret | PLANE_PI_DATABASE_URL | Required if `services.pi.enabled=true` | PostgreSQL connection URL for Plane AI database | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local/plane_pi`

**external**: `postgresql://username:password@your-db-host:5432/plane_pi` | -| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | +| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | | | AMQP_URL | Required if `services.pi.enabled=true` | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external**: `amqp://username:password@your-rabbitmq-host:5672/` | | | AES_SECRET_KEY | Required if `services.pi.enabled=true` | AES secret key for Plane AI | dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr (or your own value) | | | OPENAI_API_KEY | required if `services.pi.ai_providers.openai.enabled` is true | OpenAI API key | your_openai_api_key | diff --git a/docs/self-hosting/methods/kubernetes.md b/docs/self-hosting/methods/kubernetes.md index d00d405..d77f99a 100644 --- a/docs/self-hosting/methods/kubernetes.md +++ b/docs/self-hosting/methods/kubernetes.md @@ -439,28 +439,28 @@ airgapped: Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane_pi`) and connect it using `env.pg_pi_db_remote_url` in values, or **PLANE_PI_DATABASE_URL** when using `pi_api_env_existingSecret`. ::: -| Setting | Default | Required | Description | -| -------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | -| services.pi.replicas | 1 | Yes | Number of replicas for the Plane AI API deployment. It must be >=1. | -| services.pi.memoryLimit | 1000Mi | | Memory limit for the Plane AI API deployment. | -| services.pi.cpuLimit | 500m | | CPU limit for the Plane AI API deployment. | -| services.pi.memoryRequest | 50Mi | | Memory request for the Plane AI API deployment. | -| services.pi.cpuRequest | 50m | | CPU request for the Plane AI API deployment. | -| services.pi.image | artifacts.plane.so/makeplane/plane-pi-commercial | | Docker image for the Plane AI service. | -| services.pi.pullPolicy | Always | | Image pull policy for the Plane AI deployment. | -| services.pi.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the Plane AI API service. | -| services.pi.nodeSelector | {} | | Node selector for the Plane AI API deployment. | -| services.pi.tolerations | [] | | Tolerations for the Plane AI API deployment. | -| services.pi.affinity | {} | | Affinity rules for the Plane AI API deployment. | -| services.pi.labels | {} | | Custom labels to add to the Plane AI API deployment. | -| services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | -| env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | -| env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | -| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | -| env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | -| env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | -| env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | +| Setting | Default | Required | Description | +| --------------------------------- | :----------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------- | +| services.pi.enabled | false | No | Set to `true` to enable the Plane AI service and its API, worker, beat, and migrator workloads. | +| services.pi.replicas | 1 | Yes | Number of replicas for the Plane AI API deployment. It must be >=1. | +| services.pi.memoryLimit | 1000Mi | | Memory limit for the Plane AI API deployment. | +| services.pi.cpuLimit | 500m | | CPU limit for the Plane AI API deployment. | +| services.pi.memoryRequest | 50Mi | | Memory request for the Plane AI API deployment. | +| services.pi.cpuRequest | 50m | | CPU request for the Plane AI API deployment. | +| services.pi.image | artifacts.plane.so/makeplane/plane-pi-commercial | | Docker image for the Plane AI service. | +| services.pi.pullPolicy | Always | | Image pull policy for the Plane AI deployment. | +| services.pi.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the Plane AI API service. | +| services.pi.nodeSelector | {} | | Node selector for the Plane AI API deployment. | +| services.pi.tolerations | [] | | Tolerations for the Plane AI API deployment. | +| services.pi.affinity | {} | | Affinity rules for the Plane AI API deployment. | +| services.pi.labels | {} | | Custom labels to add to the Plane AI API deployment. | +| services.pi.annotations | {} | | Custom annotations to add to the Plane AI API deployment. | +| env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI when `postgres.local_setup=true`. | +| env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI when using a remote database. Required when `postgres.local_setup=false` and Plane AI is enabled. | +| env.pi_envs.follower_postgres_uri | Same as Plane DATABASE_URL | No | Connection string for a Plane PostgreSQL DB read replica. Used for read-heavy operations to reduce load on the primary database. | +| env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI for OAuth and internal APIs. | +| env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI. Defaults to the license domain. | +| env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI API. Defaults to the license domain. | #### Plane AI Worker Deployment @@ -662,7 +662,7 @@ To configure the external secrets for your application, you need to define speci | | GITLAB_CLIENT_ID | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client ID | your_gitlab_client_id | | | GITLAB_CLIENT_SECRET | Required if `services.silo.connectors.gitlab.enabled` is true | GitLab client secret key | your_gitlab_client_secret_key | | pi_api_env_existingSecret | PLANE_PI_DATABASE_URL | Required if `services.pi.enabled=true` | PostgreSQL connection URL for Plane AI database | **k8s service example**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local/plane_pi`

**external**: `postgresql://username:password@your-db-host:5432/plane_pi` | -| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | +| | FOLLOWER_POSTGRES_URI | No | Connection string for a PostgreSQL read replica | Same as DATABASE_URL. Used for read-heavy operations to reduce load on the primary database. **k8s**: `postgresql://plane:plane@plane-pgdb.plane-ns.svc.cluster.local:5432/plane` | | | AMQP_URL | Required if `services.pi.enabled=true` | RabbitMQ connection URL | **k8s service example**: `amqp://plane:plane@plane-rabbitmq.plane-ns.svc.cluster.local:5672/`

**external**: `amqp://username:password@your-rabbitmq-host:5672/` | | | AES_SECRET_KEY | Required if `services.pi.enabled=true` | AES secret key for Plane AI | dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr (or your own value) | | | OPENAI_API_KEY | required if `services.pi.ai_providers.openai.enabled` is true | OpenAI API key | your_openai_api_key |