From d8820f296d2dc9bbdddd6c75bb24d7c04b1f32a0 Mon Sep 17 00:00:00 2001 From: Dan Garfield Date: Tue, 11 Oct 2022 12:32:23 -0600 Subject: [PATCH] Add HA manifests (#380) * Add HA support Signed-off-by: Dan Garfield * add documentation Signed-off-by: Dan Garfield --- docs/Getting-Started.md | 3 +++ manifests/ha/kustomization.yaml | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 manifests/ha/kustomization.yaml diff --git a/docs/Getting-Started.md b/docs/Getting-Started.md index 62d36a54..2df7549e 100644 --- a/docs/Getting-Started.md +++ b/docs/Getting-Started.md @@ -76,6 +76,9 @@ argocd-autopilot repo bootstrap --recover \ In case of a cluster failure, you can recover argo-cd from an existing repository using `--recover` flag. You can optionally use it with `--app` flag to specify the path to the existing argo-cd manifests. +### Using Argo CD HA +Using Argo CD HA with Argo CD Autopilot is fully supported. Bootstrap Argo CD with high-availability using the [App Specifier](App-Specifier/) model `argocd-autopilot repo bootstrap --app https://github.com/argoproj-labs/argocd-autopilot/manifests/ha`. + ### Running Applications: * autopilot-bootstrap - References the `bootstrap` directory in the GitOps repository, and manages the other 2 applications * argo-cd - References the `bootstrap/argo-cd` folder, and manages the Argo CD deployment itself (including Argo CD ApplicationSet) diff --git a/manifests/ha/kustomization.yaml b/manifests/ha/kustomization.yaml new file mode 100644 index 00000000..f0288ba3 --- /dev/null +++ b/manifests/ha/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/ha/install.yaml + +configMapGenerator: + - name: argocd-cm + behavior: merge + literals: + - "timeout.reconciliation=15s" + +patches: + # reset the crbs to `subject.namespace: default`, so that argo-cd will later change them to the actual ns + - target: + group: rbac.authorization.k8s.io + version: v1 + kind: ClusterRoleBinding + patch: |- + - op: replace + path: /subjects/0/namespace + value: default