Zum Inhalt springen

GitOps

The recommended deployment method for openDesk is via Helmfile. This can be done “by hand”, via CI/CD (Gitlab) or using the GitOps approach with tools like Argo CD.

This documentation will use Argo CD to explain how to deploy openDesk GitOps-style.

Considerations

  • openDesk consists of multiple applications which have to be deployed in order.
  • During upgrades, migrations have to run before and after applications.

ArgoCD

We are continuously improving our Argo CD support, please share you experience with Argo CD deployments e.g. by creating at ticket.

There are two options to deploy openDesk via Argo CD described in the following sections.

Option 1: Use YAML manifests

This option requires a preprocessing step before using Argo CD. This step requires you to compile the Helmfile based deployment into Kubernetes YAML manifest, to do so you need to execute the helmfile binary:

helmfile template > opendesk.yaml

References:

Afterwards, you can use the resulting manifests within an standard Argo CD workflow.

Note
When creating the Argo CD application based on the resulting manifests you must not use the Automated Sync Policy offered by Argo CD, as you have to manually ensure the applications are updated in the required sequence.

Option 2: Helmfile plugin

It is possible to deploy openDesk via Argo CD with community developed Helmfile plugin.

You can find an example for this approach in the Argo CD Deployments repository. It contains an example Helm chart (opendesk-parent) to create Argo CD Applications via a Helm chart (opendesk) according to app of apps pattern and is using sync waves to ensure to required deployment and update sequence for openDesk is met.