fix(docs): Add GitOps / Argo CD documentation

This commit is contained in:
Thorsten Roßner
2024-10-16 08:17:26 +02:00
parent a9c8dfeab1
commit bbe7550c46
7 changed files with 84 additions and 25 deletions

View File

@@ -0,0 +1,55 @@
<!--
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
SPDX-License-Identifier: Apache-2.0
-->
<h1>GitOps Deployment</h1>
<!-- TOC -->
* [Considerations](#considerations)
* [ArgoCD](#argocd)
* [Option 1: Use YAML manifests](#option-1-use-yaml-manifests)
* [Option 2: Helmfile plugin](#option-2-helmfile-plugin)
<!-- TOC -->
The recommended deployment method for openDesk is via Helmfile. This can be done "by hand", via CI/CD (Gitlab) or using
the [GitOps](https://about.gitlab.com/topics/gitops/) approach with tools like [Argo CD](https://argoproj.github.io/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](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/issues).
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:
```shell
helmfile template > opendesk.yaml
```
References:
- [Helmfile CLI documentation](https://helmfile.readthedocs.io/en/latest/#cli-reference)
- [Generate K8s YAML Manifests for openDesk](https://gitlab.opencode.de/bmi/opendesk/deployment/options/generate-k8s-yaml-manifests)
Afterwards, you can use the resulting manifests within an standard Argo CD workflow.
## Option 2: Helmfile plugin
It is possible to deploy openDesk via Argo CD with community developed
[Helmfile plugin](https://github.com/travisghansen/argo-cd-helmfile).
You can find an example for this approach in the
[Argo CD Deployments](https://gitlab.opencode.de/bmi/opendesk/deployment/options/argocd-deploy) 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 follow dependencies.

View File

@@ -7,6 +7,7 @@ SPDX-License-Identifier: Apache-2.0
<!-- TOC -->
* [Context](#context)
* [References](#references)
* [Prerequisites](#prerequisites)
* [User accounts](#user-accounts)
* [External IdP with OIDC](#external-idp-with-oidc)
@@ -24,6 +25,15 @@ Most organizations already have an Identity and Access Management (IAM) system w
This document shows how to configure your organization's IdP and the openDesk IdP to support account federation with openDesk single sign-on based on your organization's login.
# References
We would like to list successful IdP federation scenarios, so we are also happy about input from the community:
| External IdP | last openDesk version tested |
| ------------------------------------------------------------------- | ---------------------------- |
| [EU Login](https://webgate.ec.europa.eu/cas/userdata/myAccount.cgi) | v0.9.0 |
| [ProConnect](https://www.proconnect.gouv.fr/) | v0.9.0 |
# Prerequisites
## User accounts