The recommended deployment method for openDesk is via Helmfile. This can be done “by hand”, via CI/CD or using the GitOps approach with tools like Argo CD.
This documentation will use Argo CD to explain how to deploy openDesk GitOps-style.
We are continuously improving our Argo CD support, please share your experience with Argo CD deployments e.g. by creating an issue.
There are two options to deploy openDesk via Argo CD described in the following sections.
[!warning] Pre-rendering the YAML files will also embed all referenced secrets into the resulting outputs. You must ensure that these files are accessible solely to individuals who are expressly authorized to view the corresponding secrets, as well as the infrastructure and data protected by them.
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 > manifests.yaml
References:
Afterwards, you can use the resulting manifests within a standard Argo CD workflow.
[!note] When creating the Argo CD application based on the resulting manifests, you must not use the
Automated Sync Policyoffered by Argo CD, as you have to manually ensure the applications are updated in the required sequence.
It is possible to deploy openDesk via Argo CD with the community developed Helmfile plugin.
You can find an example for this approach in the
Argo CD Helmfile plugin documentation.
It contains an example Helm chart (opendesk-parent) to create Argo CD Applications via a Helm chart (opendesk)
according to app of apps pattern. It uses sync waves to ensure the deployment matches requirements and the update sequence
for openDesk is satisfied.