helmfile/examples/charts/argocd-helmfile-deployment/values.yaml

155 lines
5.5 KiB
YAML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TODO - Any of the fields with TODO must be changed for the deployment to work.
secrets:
harbor:
username: !vault internal/harbor/users/argocd#username # TODO
password: !vault internal/harbor/users/argocd#password # TODO
git:
username: !vault internal/git/users/argocd#username # TODO
password: !vault internal/git/users/argocd#password # TODO
vault:
role_id: !vault internal/vault/argocd#role_id # TODO
secret_id: !vault internal/vault/argocd#secret_id # TODO
argo-cd:
global:
image:
repository: my.private.docker.registry.local/internal/argocd # TODO
tag: 1.2.3 # TODO
imagePullPolicy: IfNotPresent
securityContext: {}
# runAsUser: 999
# runAsGroup: 999
# fsGroup: 999
imagePullSecrets:
- name: dockerpullsecrets
hostAliases: []
# - ip: 10.20.30.40
# hostnames:
# - git.myhostname
# set harbor creds in environment, set HELM_SECRET_DRIVER as well
server:
## Argo server log format: text|json
logFormat: text
## Argo server log level
logLevel: debug
env:
- name: "HELM_SECRETS_DRIVER"
value: "vault"
- name: "HARBOR_USERNAME"
valueFrom:
secretKeyRef:
name: argocd-harbor
key: username
- name: "HARBOR_PASSWORD"
valueFrom:
secretKeyRef:
name: argocd-harbor
key: password
# Unfortunately these envvars don't seem to be working correctly.
- name: "VAULT_APPROLE_ID"
valueFrom:
secretKeyRef:
name: argocd-vault
key: role_id
- name: "VAULT_APPROLE_SECRET"
valueFrom:
secretKeyRef:
name: argocd-vault
key: secret_id
config:
application.instanceLabelKey: argocd.argoproj.io/instance
# TODO - customise oidc.config - replace SOME_AZURE_AD_TENANT and SOME_AZURE_AD_UUID with the plaintext values
oidc.config: |
name: Azure
issuer: SOME_AZURE_AD_TENANT
clientID: SOME_AZURE_AD_UUID
clientSecret: $oidc.azure.clientSecret
requestedIDTokenClaims:
groups:
essential: true
requestedScopes:
- openid
- profile
- email
# TODO - customise repositories to include correct git URLs
repositories: |
- type: git
url: https://my.git.server.org/my-team/my-repo-one.git
usernameSecret:
key: username
name: argocd-git
passwordSecret:
key: password
name: argocd-git
- type: git
url: https://my.git.server.org/my-team/my-repo-two.git
usernameSecret:
name: argocd-git
key: username
passwordSecret:
name: argocd-git
key: password
- type: helm
url: https://my.harbor.deployment.org/chartrepo/my-project
usernameSecret:
name: argocd-harbor
key: username
passwordSecret:
name: argocd-harbor
key: password
url: 'https://my.argocd.deployment.org' # TODO
hostname: my.argocd.deployment.org # TODO
configManagementPlugins: |
# If you just want to use helm-secrets this will work.
- name: helm-secrets
generate: # Command to generate manifests YAML
command: ["/bin/bash", "-c"]
args: ["echo \"$HELM_VALUES\" > ./values-local.yaml && helm secrets -d vault template $HELM_OPTS -n $ARGOCD_APP_NAMESPACE -f ./values-local.yaml $ARGOCD_APP_NAME . && rm ./values-local.yaml"]
# You can use helm-secrets via helmfile also.
- name: helmfile
init:
command: ["/bin/bash", "-c"]
args:
- >
helmfile repos ;
helm dependency update ;
true
generate:
command: ["/bin/bash", "-c"]
args:
- >
export VAULT_TOKEN=$(vault write auth/approle/login role_id=ROLE_ID secret_id=SECRET_ID | grep token | head -n 1 | tr -s ' ' | cut -d ' ' -f 2) &&
helmfile template --skip-deps
# ^^^ I am not sure why but I can't seem to get it working without hardcoding the secrets here :(
# TODO - replace ROLE_ID and SECRET_ID with the actual plaintext values
## ArgoCD rbac config
## reference https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
rbacConfig:
policy.csv: |
p, role:org-admin, applications, *, */*, allow
p, role:org-admin, clusters, get, *, allow
p, role:org-admin, repositories, get, *, allow
p, role:org-admin, repositories, create, *, allow
p, role:org-admin, repositories, update, *, allow
p, role:org-admin, repositories, delete, *, allow
g, "OrgAdmin", role:org-admin
g, "ReadOnly", role:readonly
policy.default: 'role:readonly'
scopes: '[roles, email]'
## Argo Configs
configs:
secret:
extra:
oidc.azure.clientSecret: !vault internal/argocd/auth#azure_oidc_client_secret # TODO
harbor_username: !vault internal/harbor/users/argocd#username # TODO
harbor_password: !vault internal/harbor/users/argocd#password # TODO
git_username: !vault internal/git/users/argocd#username # TODO
git_password: !vault internal/git/users/argocd#password # TODO
vault_role_id: !vault internal/vault/argocd#role_id # TODO
vault_secret_id: !vault internal/vault/argocd#secret_id # TODO