Skip to content

Update Plane AI documentation with deployment instructions#226

Merged
danciaclara merged 4 commits intomasterfrom
update-ai-docs-k8s
Mar 2, 2026
Merged

Update Plane AI documentation with deployment instructions#226
danciaclara merged 4 commits intomasterfrom
update-ai-docs-k8s

Conversation

@akshat5302
Copy link
Member

@akshat5302 akshat5302 commented Mar 2, 2026

Description

Update Plane AI documentation with deployment instructions for DockerCompose and Kubernetes, including version updates for setup commands.

Type of Change

  • Improvement (change that would cause existing functionality to not work as expected)

Summary by CodeRabbit

  • Documentation
    • Added Plane AI deployment guides with Docker Compose and Kubernetes tabs.
    • Documented Docker Compose replica env vars and Kubernetes enable flag plus per-workload replica/resource settings.
    • Added guidance to reuse environment variables for alternative deployment methods.
    • Added PI ingress route and clarified PI-related env/secret formatting.
    • Updated download/config version references to v2.4.0 (noting v2.4.04 in parameter text).

… Compose and Kubernetes, including version updates for setup commands.
@vercel
Copy link

vercel bot commented Mar 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
developer-docs Ready Ready Preview, Comment Mar 2, 2026 11:50am

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

📝 Walkthrough

Walkthrough

Adds Plane AI (PI) deployment documentation across Docker Compose and Kubernetes, including enablement flags, per-workload replica settings, PI env/secrets, ingress/route updates, and bumps documented release references from v2.3.4 to v2.4.0.

Changes

Cohort / File(s) Summary
Plane AI doc
docs/self-hosting/govern/plane-ai.md
Adds guidance to reuse Docker Compose environment variables for non-Compose deployments; introduces Docker Compose and Kubernetes tabs and shows per-workload replica env vars (PI_API_REPLICAS, PI_BEAT_REPLICAS, PI_WORKER_REPLICAS, PI_MIGRATOR_REPLICAS).
Kubernetes docs (Plane AI integration)
docs/self-hosting/methods/kubernetes.md
Adds Plane AI Helm values and sections: services.pi.enabled, per-workload replicas, resource/affinity/toleration/nodeSelector settings, PI env vars and secret references, PI-specific ingress route, and expands related configuration tables and external secret mappings.
Version reference updates
docs/self-hosting/methods/download-config.md
Updates example and parameter version references from v2.3.4 to v2.4.0 (and v2.4.04 where noted) in download curl examples and parameter docs.

Sequence Diagram(s)

sequenceDiagram
    rect rgba(200,230,255,0.5)
    Operator->>Configurator: enable Plane AI (services.pi.enabled / set envs)
    end
    rect rgba(200,255,200,0.5)
    Configurator->>Orchestrator: apply Helm values or docker-compose envs
    end
    rect rgba(255,230,200,0.5)
    Orchestrator->>PI_API: start PI API (replicas)
    Orchestrator->>PI_Worker: start PI Worker (replicas)
    Orchestrator->>PI_Beat: start PI Beat (replicas)
    Orchestrator->>PI_Migrator: start PI Migrator (replicas)
    end
    rect rgba(230,200,255,0.5)
    PI_API->>Database: connect using DATABASE_URL
    PI_API->>AI_Provider: call provider with API key
    PI_Worker->>Queue: consume jobs
    PI_Beat->>Scheduler: run periodic tasks
    end
Loading

Estimated Code Review Effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 I hopped through lines to mark the way,
Flags set true and replicas play.
Secrets snug and routes in tune,
Versions bumped beneath the moon.
Carrots, config, all in bloom. 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update Plane AI documentation with deployment instructions' accurately and concisely summarizes the main changes across all modified documentation files, which add deployment guidance for Plane AI in Docker Compose and Kubernetes environments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-ai-docs-k8s

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
docs/self-hosting/methods/download-config.md (1)

21-25: Resolve the Markdown formatting warning in CI.

Please run Prettier on this file to clear the pipeline warning.

As per coding guidelines "**/*.{ts,tsx,js,jsx,vue,json,md,mts}: Prettier formatting checks must pass in CI...".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/download-config.md` around lines 21 - 25, The CI
warning is due to Prettier formatting on the Markdown table that starts with "|
Parameter   | Required | Default | Description |"; run Prettier to reformat this
file (apply prettier --write via your project's formatting script or editor
integration) so the table spacing/line endings conform, then stage and commit
the formatted file so CI formatting checks pass.
docs/self-hosting/methods/kubernetes.md (1)

625-635: Please run Prettier on this file to fix CI warning.

The markdown formatting check is currently failing in CI; formatting this file should resolve it.

As per coding guidelines "**/*.{ts,tsx,js,jsx,vue,json,md,mts}: Prettier formatting checks must pass in CI...".

Also applies to: 670-684

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 625 - 635, CI is
failing due to Prettier formatting in the markdown table (see entries like
pi_api_env_existingSecret, OPENAI_API_KEY, CLAUDE_API_KEY, GROQ_API_KEY); run
the project's Prettier formatter (e.g., npx prettier --write) on the affected
markdown to fix table/spacing/linebreak issues, then commit the formatted file
so the Prettier CI check passes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/self-hosting/methods/download-config.md`:
- Line 23: Update the example value for the `version` parameter in the markdown
table row that currently shows `v2.4.04` to the correct tag `v2.4.0` so it
matches the rest of the page and prevents 404s when users copy the example;
modify the table cell containing `version` accordingly.

In `@docs/self-hosting/methods/kubernetes.md`:
- Around line 401-454: Add a PI migrator subsection mirroring the existing Plane
AI (PI) Worker and Beat-Worker tables: include a "Plane AI (PI) Migrator
Deployment" header and document keys such as services.pi_migrator.replicas,
services.pi_migrator.memoryLimit, services.pi_migrator.cpuLimit,
services.pi_migrator.memoryRequest, services.pi_migrator.cpuRequest,
services.pi_migrator.nodeSelector, services.pi_migrator.tolerations,
services.pi_migrator.affinity, services.pi_migrator.labels, and
services.pi_migrator.annotations with the same defaults/descriptions as the
other PI workloads; also add any relevant env vars (e.g., env.pg_pi_db_name /
env.pg_pi_db_remote_url / env.pi_envs.internal_secret) to note migrator database
and secret requirements and ensure wording matches the per-workload guidance
used for services.pi_worker and services.pi_beat_worker.

---

Nitpick comments:
In `@docs/self-hosting/methods/download-config.md`:
- Around line 21-25: The CI warning is due to Prettier formatting on the
Markdown table that starts with "| Parameter   | Required | Default |
Description |"; run Prettier to reformat this file (apply prettier --write via
your project's formatting script or editor integration) so the table
spacing/line endings conform, then stage and commit the formatted file so CI
formatting checks pass.

In `@docs/self-hosting/methods/kubernetes.md`:
- Around line 625-635: CI is failing due to Prettier formatting in the markdown
table (see entries like pi_api_env_existingSecret, OPENAI_API_KEY,
CLAUDE_API_KEY, GROQ_API_KEY); run the project's Prettier formatter (e.g., npx
prettier --write) on the affected markdown to fix table/spacing/linebreak
issues, then commit the formatted file so the Prettier CI check passes.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 98703d7 and 9c047db.

📒 Files selected for processing (3)
  • docs/self-hosting/govern/plane-ai.md
  • docs/self-hosting/methods/download-config.md
  • docs/self-hosting/methods/kubernetes.md

| Parameter | Required | Default | Description |
| ----------- | -------- | ------- | ---------------------------------------------------------------------------- |
| `version` | Yes | — | Release tag (e.g., `v2.3.4`) |
| `version` | Yes | — | Release tag (e.g., `v2.4.04`) |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix version example typo in version parameter.

Line 23 shows v2.4.04, while the rest of the page uses v2.4.0. This can lead to 404s when users copy the parameter example.

Suggested fix
-| `version`   | Yes      | —       | Release tag (e.g., `v2.4.04`)                                                 |
+| `version`   | Yes      | —       | Release tag (e.g., `v2.4.0`)                                                  |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| `version` | Yes || Release tag (e.g., `v2.4.04`) |
| `version` | Yes || Release tag (e.g., `v2.4.0`) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/download-config.md` at line 23, Update the example
value for the `version` parameter in the markdown table row that currently shows
`v2.4.04` to the correct tag `v2.4.0` so it matches the rest of the page and
prevents 404s when users copy the example; modify the table cell containing
`version` accordingly.

Comment on lines +401 to +454
#### Plane AI (PI) Deployment

| 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 (PI) API deployment. It must be >=1. |
| services.pi.memoryLimit | 1000Mi | | Memory limit for the Plane AI (PI) API deployment. |
| services.pi.cpuLimit | 500m | | CPU limit for the Plane AI (PI) API deployment. |
| services.pi.memoryRequest | 50Mi | | Memory request for the Plane AI (PI) API deployment. |
| services.pi.cpuRequest | 50m | | CPU request for the Plane AI (PI) API deployment. |
| services.pi.image | artifacts.plane.so/makeplane/plane-pi-commercial | | Docker image for the Plane AI (PI) service. |
| services.pi.pullPolicy | Always | | Image pull policy for the Plane AI (PI) deployment. |
| services.pi.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the Plane AI (PI) API service. |
| services.pi.nodeSelector | {} | | Node selector for the Plane AI (PI) API deployment. |
| services.pi.tolerations | [] | | Tolerations for the Plane AI (PI) API deployment. |
| services.pi.affinity | {} | | Affinity rules for the Plane AI (PI) API deployment. |
| services.pi.labels | {} | | Custom labels to add to the Plane AI (PI) API deployment. |
| services.pi.annotations | {} | | Custom annotations to add to the Plane AI (PI) API deployment. |
| env.pg_pi_db_name | plane_pi | | PostgreSQL database name used by Plane AI (PI) when `postgres.local_setup=true`. |
| env.pg_pi_db_remote_url | "" | | PostgreSQL connection URL for Plane AI (PI) when using a remote database. Required when `postgres.local_setup=false` and Plane AI (PI) is enabled. |
| env.pi_envs.internal_secret | tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk | | Internal secret used by Plane AI (PI) for OAuth and internal APIs. |
| env.pi_envs.plane_api_host | "" | | Override for the Plane API host URL used by Plane AI (PI). Defaults to the license domain. |
| env.pi_envs.cors_allowed_origins | "" | | CORS allowed origins for Plane AI (PI) API. Defaults to the license domain. |

#### Plane AI (PI) Worker Deployment

| Setting | Default | Required | Description |
| ----------------------------------- | :-----: | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| services.pi_worker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for the Plane AI (PI) worker. This key helps you set the number of replicas. It must be >=1. |
| services.pi_worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for the Plane AI (PI) worker deployment to use. |
| services.pi_worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for the Plane AI (PI) worker deployment to use. |
| services.pi_worker.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for the Plane AI (PI) worker deployment to use. |
| services.pi_worker.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for the Plane AI (PI) worker deployment to use. |
| services.pi_worker.nodeSelector | {} | | This key allows you to set the node selector for the deployment of `pi_worker`. This is useful when you want to run the deployment on specific nodes in your Kubernetes cluster. |
| services.pi_worker.tolerations | [] | | This key allows you to set the tolerations for the deployment of `pi_worker`. This is useful when you want to run the deployment on nodes with specific taints in your Kubernetes cluster. |
| services.pi_worker.affinity | {} | | This key allows you to set the affinity rules for the deployment of `pi_worker`. This is useful when you want to control how pods are scheduled on nodes in your Kubernetes cluster. |
| services.pi_worker.labels | {} | | Custom labels to add to the Plane AI (PI) worker deployment |
| services.pi_worker.annotations | {} | | Custom annotations to add to the Plane AI (PI) worker deployment |

#### Plane AI (PI) Beat-Worker Deployment

| Setting | Default | Required | Description |
| ---------------------------------------- | :-----: | :------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| services.pi_beat_worker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for the Plane AI (PI) beat-worker. This key helps you set the number of replicas. It must be >=1. |
| services.pi_beat_worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for the Plane AI (PI) beat-worker deployment to use. |
| services.pi_beat_worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for the Plane AI (PI) beat-worker deployment to use. |
| services.pi_beat_worker.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for the Plane AI (PI) beat-worker deployment to use. |
| services.pi_beat_worker.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for the Plane AI (PI) beat-worker deployment to use. |
| services.pi_beat_worker.nodeSelector | {} | | This key allows you to set the node selector for the deployment of `pi_beat_worker`. This is useful when you want to run the deployment on specific nodes in your Kubernetes cluster. |
| services.pi_beat_worker.tolerations | [] | | This key allows you to set the tolerations for the deployment of `pi_beat_worker`. This is useful when you want to run the deployment on nodes with specific taints in your Kubernetes cluster. |
| services.pi_beat_worker.affinity | {} | | This key allows you to set the affinity rules for the deployment of `pi_beat_worker`. This is useful when you want to control how pods are scheduled on nodes in your Kubernetes cluster. |
| services.pi_beat_worker.labels | {} | | Custom labels to add to the Plane AI (PI) beat-worker deployment |
| services.pi_beat_worker.annotations | {} | | Custom annotations to add to the Plane AI (PI) beat-worker deployment |

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Add PI migrator settings (or adjust wording) for completeness.

This new PI values section documents API, worker, and beat-worker, but not migrator. Since this section is referenced as the per-workload configuration block, missing migrator settings creates a guidance gap.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 401 - 454, Add a PI
migrator subsection mirroring the existing Plane AI (PI) Worker and Beat-Worker
tables: include a "Plane AI (PI) Migrator Deployment" header and document keys
such as services.pi_migrator.replicas, services.pi_migrator.memoryLimit,
services.pi_migrator.cpuLimit, services.pi_migrator.memoryRequest,
services.pi_migrator.cpuRequest, services.pi_migrator.nodeSelector,
services.pi_migrator.tolerations, services.pi_migrator.affinity,
services.pi_migrator.labels, and services.pi_migrator.annotations with the same
defaults/descriptions as the other PI workloads; also add any relevant env vars
(e.g., env.pg_pi_db_name / env.pg_pi_db_remote_url /
env.pi_envs.internal_secret) to note migrator database and secret requirements
and ensure wording matches the per-workload guidance used for services.pi_worker
and services.pi_beat_worker.

…alternative methods, including Coolify, Portainer, Docker Swarm, and Podman Quadlets.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/self-hosting/methods/kubernetes.md (1)

405-454: ⚠️ Potential issue | 🟠 Major

Document PI migrator settings or remove migrator from scope claims.

Line 405 says PI enables API, worker, beat, and migrator workloads, but lines 425-454 only document worker and beat-worker settings. Please add a PI migrator subsection (matching the other PI workload tables) or adjust wording to avoid incomplete configuration guidance.

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/self-hosting/govern/plane-ai.md`:
- Line 90: Update the broken anchor in the link target referenced by "[Plane AI
values block]" by replacing the incorrect fragment "#plane-ai-pi-deployment"
with the correct heading slug "#plane-ai-deployment" so the internal link in the
sentence that mentions activating PI API, worker, beat-worker, and migrator
points to the actual "Plane AI deployment" section.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8d96131 and 366de23.

📒 Files selected for processing (2)
  • docs/self-hosting/govern/plane-ai.md
  • docs/self-hosting/methods/kubernetes.md

enabled: true
```

This activates the PI API, worker, beat-worker, and migrator workloads. Replica counts and resource limits for each workload can be configured through the [Plane AI values block](/self-hosting/methods/kubernetes#plane-ai-pi-deployment) in your `values.yaml`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix the Kubernetes anchor link target.

Line 90 points to #plane-ai-pi-deployment, but the documented section heading is Plane AI deployment, so this anchor is likely broken. Please update it to the actual heading slug to avoid a dead internal link.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/plane-ai.md` at line 90, Update the broken anchor in
the link target referenced by "[Plane AI values block]" by replacing the
incorrect fragment "#plane-ai-pi-deployment" with the correct heading slug
"#plane-ai-deployment" so the internal link in the sentence that mentions
activating PI API, worker, beat-worker, and migrator points to the actual "Plane
AI deployment" section.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/self-hosting/methods/kubernetes.md (1)

401-454: ⚠️ Potential issue | 🟠 Major

Document pi_migrator settings to match the stated Plane AI workloads.

This section says Plane AI enables API, worker, beat, and migrator workloads, but only API/worker/beat-worker settings are documented here. Please add a services.pi_migrator.* subsection for parity and operator completeness.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 401 - 454, Add missing
configuration docs for the Plane AI migrator by creating a "Plane AI Migrator
Deployment" subsection mirroring the structure and keys used for
services.pi_worker and services.pi_beat_worker; include settings such as
services.pi_migrator.replicas, memoryLimit, cpuLimit, memoryRequest, cpuRequest,
nodeSelector, tolerations, affinity, labels, and annotations, with the same
descriptions and defaults as the other Plane AI workloads so the README reflects
API, worker, beat, and migrator parity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/self-hosting/methods/kubernetes.md`:
- Around line 586-596: The required-condition keys are inconsistent: replace
occurrences of `rabbitmq.local_setup`, `postgres.local_setup`, and
`opensearch.local_setup` with the normalized `services.rabbitmq.local_setup`,
`services.postgres.local_setup`, and `services.opensearch.local_setup`
respectively in the table rows for RABBITMQ_DEFAULT_USER /
RABBITMQ_DEFAULT_PASS, POSTGRES_PASSWORD / POSTGRES_DB / POSTGRES_USER, and
OPENSEARCH_INITIAL_ADMIN_PASSWORD (and any other opensearch rows that reference
the local_setup flag) so the required-condition paths match the rest of the
document.

---

Duplicate comments:
In `@docs/self-hosting/methods/kubernetes.md`:
- Around line 401-454: Add missing configuration docs for the Plane AI migrator
by creating a "Plane AI Migrator Deployment" subsection mirroring the structure
and keys used for services.pi_worker and services.pi_beat_worker; include
settings such as services.pi_migrator.replicas, memoryLimit, cpuLimit,
memoryRequest, cpuRequest, nodeSelector, tolerations, affinity, labels, and
annotations, with the same descriptions and defaults as the other Plane AI
workloads so the README reflects API, worker, beat, and migrator parity.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 366de23 and 8096665.

📒 Files selected for processing (3)
  • docs/self-hosting/govern/plane-ai.md
  • docs/self-hosting/methods/download-config.md
  • docs/self-hosting/methods/kubernetes.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/self-hosting/methods/download-config.md
  • docs/self-hosting/govern/plane-ai.md

Comment on lines +586 to +596
| rabbitmq_existingSecret | RABBITMQ_DEFAULT_USER | Required if `rabbitmq.local_setup=true` | The default RabbitMQ user | plane |
| | RABBITMQ_DEFAULT_PASS | Required if `rabbitmq.local_setup=true` | The default RabbitMQ password | plane |
| pgdb_existingSecret | POSTGRES_PASSWORD | Required if `postgres.local_setup=true` | Password for PostgreSQL database | plane |
| | POSTGRES_DB | Required if `postgres.local_setup=true` | Name of the PostgreSQL database | plane |
| | POSTGRES_USER | Required if `postgres.local_setup=true` | PostgreSQL user | plane |
| opensearch_existingSecret | OPENSEARCH_ENABLED | Yes | Flag to enable OpenSearch | 1 (enabled) or 0 (disabled) |
| | OPENSEARCH_URL | Required if OpenSearch is enabled | OpenSearch connection URL | **k8s service example:** `http://plane-opensearch.plane-ns.svc.cluster.local:9200` **external service example:** `https://your-opensearch-host:9200` |
| | OPENSEARCH_USERNAME | Required if OpenSearch is enabled | Username for OpenSearch | **local setup:** plane **remote setup:** your_remote_username |
| | OPENSEARCH_PASSWORD | Required if OpenSearch is enabled | Password for OpenSearch | **local setup:** Secure@Pass#123!%^&\* **remote setup:** your_remote_password |
| | OPENSEARCH_INITIAL_ADMIN_PASSWORD | Required if `opensearch.local_setup=true` | Initial admin password for local OpenSearch | Secure@Pass#123!%^&\* |
| | OPENSEARCH_INDEX_PREFIX | Optional | Prefix for OpenSearch indices | plane\_ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix inconsistent value-key paths in required conditions (services.* prefix mismatch).

These required-condition labels use rabbitmq.local_setup, postgres.local_setup, and opensearch.local_setup, but this page otherwise uses services.<component>.local_setup. Please normalize these to the same key paths to prevent configuration mistakes.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/methods/kubernetes.md` around lines 586 - 596, The
required-condition keys are inconsistent: replace occurrences of
`rabbitmq.local_setup`, `postgres.local_setup`, and `opensearch.local_setup`
with the normalized `services.rabbitmq.local_setup`,
`services.postgres.local_setup`, and `services.opensearch.local_setup`
respectively in the table rows for RABBITMQ_DEFAULT_USER /
RABBITMQ_DEFAULT_PASS, POSTGRES_PASSWORD / POSTGRES_DB / POSTGRES_USER, and
OPENSEARCH_INITIAL_ADMIN_PASSWORD (and any other opensearch rows that reference
the local_setup flag) so the required-condition paths match the rest of the
document.

@danciaclara danciaclara merged commit b5bf55b into master Mar 2, 2026
5 checks passed
@danciaclara danciaclara deleted the update-ai-docs-k8s branch March 2, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants