diff --git a/infra/argocd/Chart.yaml b/infra/argocd/Chart.yaml new file mode 100644 index 0000000..a2c346c --- /dev/null +++ b/infra/argocd/Chart.yaml @@ -0,0 +1,12 @@ +apiVersion: v2 +name: argocd +description: A Helm chart for Kubernetes +type: application + +version: 0.1.0 +appVersion: "1.16.0" + +dependencies: +- name: argo-cd + repository: https://argoproj.github.io/argo-helm + version: 6.11.1 diff --git a/infra/argocd/templates/argocd.yaml b/infra/argocd/templates/argocd.yaml new file mode 100644 index 0000000..e2b106e --- /dev/null +++ b/infra/argocd/templates/argocd.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: argocd + namespace: argocd +spec: + project: default + source: + repoURL: https://gitlab.com/developerdurp/homelab.git + targetRevision: main + path: infra/argocd + destination: + namespace: argocd + name: in-cluster + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/infra/argocd/values.yaml b/infra/argocd/values.yaml new file mode 100644 index 0000000..47a56e3 --- /dev/null +++ b/infra/argocd/values.yaml @@ -0,0 +1,62 @@ +argo-cd: + + global: + revisionHistoryLimit: 1 + image: + repository: registry.internal.durp.info/argoproj/argocd + imagePullPolicy: Always + + server: + #extraArgs: + # - --dex-server-plaintext + # - --dex-server=argocd-dex-server:5556 + # oidc.config: | + # name: AzureAD + # issuer: https://login.microsoftonline.com/TENANT_ID/v2.0 + # clientID: CLIENT_ID + # clientSecret: $oidc.azuread.clientSecret + # requestedIDTokenClaims: + # groups: + # essential: true + # requestedScopes: + # - openid + # - profile + # - email + + dex: + enabled: true + image: + repository: registry.internal.durp.info/dexidp/dex + imagePullPolicy: Always + + configs: + cm: + create: true + annotations: {} + url: https://argocd.internal.durp.info + oidc.tls.insecure.skip.verify: "true" + dex.config: | + connectors: + - config: + issuer: https://authentik.durp.info/application/o/argocd/ + clientID: dbb8ffc06104fb6e7fac3e4ae7fafb1d90437625 + clientSecret: $client-secret:clientSecret + insecureEnableGroups: true + scopes: + - openid + - profile + - email + - groups + name: authentik + type: oidc + id: authentik + + rbac: + create: true + policy.csv: | + g, ArgoCD Admins, role:admin + scopes: "[groups]" + + server: + route: + enabled: false