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 theAutomated 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.