Skip to content

feat(aks): evolve from bitnami to k8s operators for ref arch#8114

Open
marcel-dias wants to merge 8 commits intomainfrom
feat-k8s-operations-aks-single-region
Open

feat(aks): evolve from bitnami to k8s operators for ref arch#8114
marcel-dias wants to merge 8 commits intomainfrom
feat-k8s-operations-aks-single-region

Conversation

@marcel-dias
Copy link
Contributor

Description

This PR documents the Elasticsearch and PostgreSQL deployment using Kubernetes operators. Removes the helm values files mentions using 'internal bitnami' helm charts.

  • Moved the Elasticsearch and PostgreSQL Options to the infrastructure "terraform" page. The content seemed out of context in the middle of Camunda Helm chart deployment.

references: https://github.com/camunda/team-infrastructure-experience/issues/1029

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support. (add bug or support label)
  • This is already available but undocumented and should be released within a week. (add available & undocumented label)
  • This is on a specific schedule and the assignee will coordinate a release with the Documentation team. (create draft PR and/or add hold label)
  • This is part of a scheduled alpha or minor. (add alpha or minor label)
  • There is no urgency with this change (add low prio label)

PR Checklist

  • My changes are for an upcoming minor release and are in the /docs directory (version 8.9).
  • My changes are for an already released minor and are in a /versioned_docs directory.

@marcel-dias marcel-dias requested review from a team and leiicamundi March 2, 2026 12:08
@marcel-dias marcel-dias self-assigned this Mar 2, 2026
@marcel-dias marcel-dias added component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed target:8.9 Issues included in the 8.9 release self-managed:helm Helm topics in the Self-Managed domain labels Mar 2, 2026
@camunda-docs-pr-automation camunda-docs-pr-automation bot moved this to 👀 In Review in Documentation Team Mar 2, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 2, 2026

👋 🤖 🤔 Hello, @marcel-dias! Did you make your changes in all the right places?

These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.8/.

  • docs/self-managed/deployment/helm/cloud-providers/_partials/_deploy-eck-elasticsearch.md
  • docs/self-managed/deployment/helm/cloud-providers/azure/microsoft-aks/aks-helm.md
  • docs/self-managed/deployment/helm/cloud-providers/azure/microsoft-aks/terraform-setup.md
  • docs/self-managed/deployment/helm/cloud-providers/openshift/redhat-openshift.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@marcel-dias marcel-dias added the deploy Stand up a temporary docs site with this PR label Mar 2, 2026
@github-actions github-actions bot temporarily deployed to camunda-docs March 2, 2026 12:19 Destroyed
@giorgionaps giorgionaps requested review from giorgionaps and removed request for a team March 2, 2026 13:20
giorgionaps
giorgionaps previously approved these changes Mar 2, 2026
Copy link
Contributor

@giorgionaps giorgionaps left a comment

Choose a reason for hiding this comment

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

Committed some minor edits, LGTM

@github-actions github-actions bot temporarily deployed to camunda-docs March 2, 2026 13:35 Destroyed
@marcel-dias
Copy link
Contributor Author

@leiicamundi I moved the elasticserach instructions back to the helm Page as we discussed earlier

Signed-off-by: Marcel Dias <[email protected]>
Copy link
Contributor

@leiicamundi leiicamundi left a comment

Choose a reason for hiding this comment

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

Good PR! Few suggestions on top of left comments:

  1. As per discussed, the ES section in terraform-setup.md numbered "4." but placed before the Terraform execution section (### Execution).

ES is optional and deployed manually (not via Terraform), which may be confusing since sections 1-3 are Terraform-based and section 4 is a kubectl/script step.

Suggestion: we move it to the helm file.

  1. No "Merge operator overlays into values" section in the AKS helm doc: The OpenShift guide (redhat-openshift.md) has an explicit section "Merge operator overlays into values" (after deploying operators, before helm install) that documents merging camunda-elastic-values.yml (and PostgreSQL overlays) into values.yml using yq. The AKS guide is missing this entirely.

Current state:

  • values-domain.yml has elasticsearch.enabled: true (Bitnami subchart) — this should be overridden by the ECK overlay that sets elasticsearch.enabled: false and configures the external ECK-managed ES connection.
  • The OpenShift base.yml documents all overlay files in its header comments and the doc has the merge step.
  • The AKS values-domain.yml header only mentions Keycloak/OIDC overlays, not the ES overlay.

Suggested fix — Add a section in aks-helm.md between "Fill your deployment with actual values" and "Install Camunda 8", aligned with OpenShift:

#### Merge operator overlays into values

Once the operator-managed services are running, merge the corresponding Helm values overlays
into your `values.yml` file. These overlays configure Camunda components to use the external
operator-managed services instead of embedded subcharts.

Merge the **Elasticsearch** overlay:

ˋˋˋbash
yq '. *+ load("generic/kubernetes/operator-based/elasticsearch/camunda-elastic-values.yml")' \
  values.yml > values-merged.yml && mv values-merged.yml values.yml
ˋˋˋ

Also update the values-domain.yml header comment to list the ES overlay (like OpenShift's base.yml does).

@marcel-dias
Copy link
Contributor Author

Addressed the comments suggestions:

  • moved Elasticsearch install back to Helm page
  • Added missing merge values.yml with es overlay
  • Aligned wording with EKS page
  • Operator mention in values-domain and values-no-domain are added in the PR waiting to merge both together

A would say PR is ready for re-review and merge

@marcel-dias marcel-dias enabled auto-merge (squash) March 5, 2026 12:49
Signed-off-by: Marcel Dias <[email protected]>
@github-actions github-actions bot temporarily deployed to camunda-docs March 5, 2026 13:53 Destroyed
@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

The preview environment relating to the commit 8d57c82 has successfully been deployed. You can access it at https://preview.docs.camunda.cloud/pr-8114/


Once you've prepared the `values.yml` file, run the following `envsubst` command to substitute the environment variables with their actual values:
:::warning Production Elasticsearch recommendation
For production workloads, we recommend using an externally managed Elasticsearch service (for example, [Elastic Cloud on Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp)). Terraform support for Elastic Cloud on Azure can be restrictive but remains a viable option.
Copy link
Contributor

Choose a reason for hiding this comment

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

goood to be mentioned!

Merge the **Elasticsearch** overlay:

```bash
yq '. *+ load("generic/kubernetes/operator-based/elasticsearch/camunda-elastic-values.yml")' values.yml > values-merged.yml && mv values-merged.yml values.yml
Copy link
Contributor

Choose a reason for hiding this comment

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

This command relies on values.yml, but at this stage, the final values files has been updated by the previous step #2-configure-your-deployment which generates a final values file named generated-values.yml

Inverting the steps would solve this:

  1. Create initial values.yml
  2. Install ECK (which will merges values.yml)
  3. Configure the deployment (envsubt generating generated-values.yml)
  4. Install Camunda 8 with helm

In the OpenShift guide, step 3 (envsubt) is included in Deploy prerequisite services at the end, which may be an error as it should be in a dedicated chapter, so maybe we should move it to the Install Camunda 8 with helm chapter; making it more "readable".

wdyt @marcel-dias

@leiicamundi
Copy link
Contributor

lgtm, thanks for the modifications @marcel-dias - I only spotted an ordering issue which can be solved by integrating the envsubt in the install camunda 8 step (also applicable to OpenShift), see my comment #8114 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:self-managed Docs and issues related to Camunda Platform 8 Self-Managed deploy Stand up a temporary docs site with this PR self-managed:helm Helm topics in the Self-Managed domain target:8.9 Issues included in the 8.9 release

Projects

Status: 👀 In Review

Development

Successfully merging this pull request may close these issues.

3 participants