166 lines
5.0 KiB
YAML
166 lines
5.0 KiB
YAML
crds:
|
|
# -- Install and upgrade CRDs
|
|
install: false
|
|
|
|
global:
|
|
domain: argocd.cluster.edward.sydney
|
|
|
|
configs:
|
|
cm: >-
|
|
kustomize.buildOptions: "--enable-helm"
|
|
configManagementPlugins: |
|
|
- name: kustomized-helm
|
|
init:
|
|
command: ["/bin/sh", "-c"]
|
|
args: ["helm dependency build"]
|
|
generate:
|
|
command: [sh, -c]
|
|
args: ["helm template --release-name release-name . > all.yaml && kustomize build"]
|
|
helm.valuesFileSchemes: >-
|
|
secrets+gpg-import, secrets+gpg-import-kubernetes,
|
|
secrets+age-import, secrets+age-import-kubernetes,
|
|
secrets, secrets+literal,
|
|
https
|
|
|
|
params:
|
|
server.insecure: true
|
|
|
|
controller:
|
|
replicas: 1
|
|
|
|
redis-ha:
|
|
enabled: true
|
|
|
|
server:
|
|
env:
|
|
- name: HELM_PLUGINS
|
|
value: /gitops-tools/helm-plugins/
|
|
- name: HELM_SECRETS_CURL_PATH
|
|
value: /gitops-tools/curl
|
|
- name: HELM_SECRETS_SOPS_PATH
|
|
value: /gitops-tools/sops
|
|
- name: HELM_SECRETS_VALS_PATH
|
|
value: /gitops-tools/vals
|
|
- name: HELM_SECRETS_KUBECTL_PATH
|
|
value: /gitops-tools/kubectl
|
|
- name: HELM_SECRETS_BACKEND
|
|
value: sops
|
|
- name: HELM_SECRETS_VALUES_ALLOW_SYMLINKS
|
|
value: "false"
|
|
- name: HELM_SECRETS_VALUES_ALLOW_ABSOLUTE_PATH
|
|
value: "true"
|
|
- name: HELM_SECRETS_VALUES_ALLOW_PATH_TRAVERSAL
|
|
value: "false"
|
|
- name: HELM_SECRETS_WRAPPER_ENABLED
|
|
value: "true"
|
|
- name: HELM_SECRETS_DECRYPT_SECRETS_IN_TMP_DIR
|
|
value: "true"
|
|
- name: HELM_SECRETS_HELM_PATH
|
|
value: /usr/local/bin/helm
|
|
- name: SOPS_AGE_KEY_FILE
|
|
# Multiple keys can be separated by space
|
|
value: /helm-secrets-private-keys/age.agekey
|
|
initContainers:
|
|
- name: download-tools
|
|
image: alpine:latest
|
|
imagePullPolicy: IfNotPresent
|
|
command: [ sh, -ec ]
|
|
env:
|
|
- name: HELM_SECRETS_VERSION
|
|
value: "4.6.0"
|
|
- name: KUBECTL_VERSION
|
|
value: "1.30.2"
|
|
- name: VALS_VERSION
|
|
value: "0.37.3"
|
|
- name: SOPS_VERSION
|
|
value: "3.9.0"
|
|
args:
|
|
- |
|
|
mkdir -p /gitops-tools/helm-plugins
|
|
|
|
GO_ARCH=$(uname -m | sed -e 's/x86_64/amd64/')
|
|
wget -qO /gitops-tools/curl https://github.com/moparisthebest/static-curl/releases/latest/download/curl-${GO_ARCH}
|
|
|
|
GO_ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/') && \
|
|
wget -qO /gitops-tools/kubectl https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${GO_ARCH}/kubectl
|
|
wget -qO /gitops-tools/sops https://github.com/getsops/sops/releases/download/v${SOPS_VERSION}/sops-v${SOPS_VERSION}.linux.${GO_ARCH}
|
|
wget -qO- https://github.com/helmfile/vals/releases/download/v${VALS_VERSION}/vals_${VALS_VERSION}_linux_${GO_ARCH}.tar.gz | tar zxv -C /gitops-tools vals
|
|
wget -qO- https://github.com/jkroepke/helm-secrets/releases/download/v${HELM_SECRETS_VERSION}/helm-secrets.tar.gz | tar -C /gitops-tools/helm-plugins -xzf-
|
|
|
|
chmod +x /gitops-tools/*
|
|
cp /gitops-tools/helm-plugins/helm-secrets/scripts/wrapper/helm.sh /gitops-tools/helm
|
|
volumeMounts:
|
|
- mountPath: /gitops-tools
|
|
name: gitops-tools
|
|
volumes:
|
|
- name: gitops-tools
|
|
emptyDir: { }
|
|
# kubectl create secret generic helm-secrets-private-keys --from-file=key.asc=assets/gpg/private2.gpg
|
|
- name: helm-secrets-private-keys
|
|
secret:
|
|
secretName: sops-age
|
|
volumeMounts:
|
|
- mountPath: /gitops-tools
|
|
name: gitops-tools
|
|
- mountPath: /usr/local/sbin/helm
|
|
subPath: helm
|
|
name: gitops-tools
|
|
- mountPath: /helm-secrets-private-keys/
|
|
name: helm-secrets-private-keys
|
|
autoscaling:
|
|
enabled: true
|
|
minReplicas: 2
|
|
# -- Resource limits and requests for the argocd-extensions container
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 20m
|
|
memory: 138Mi
|
|
service:
|
|
type: NodePort
|
|
ingress:
|
|
# enabled: true
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
ingressClassName: nginx
|
|
hostname: argocd.cluster.edward.sydney
|
|
extraTls:
|
|
- hosts:
|
|
- argocd.cluster.edward.sydney
|
|
# Based on the ingress controller used secret might be optional
|
|
secretName: wildcard-tls
|
|
ingressGrpc:
|
|
enabled: true
|
|
ingressClassName: contour-internal
|
|
extraTls:
|
|
- hosts:
|
|
- grpc.argocd.cluster.edward.sydney
|
|
secretName: wildcard-tls
|
|
|
|
repoServer:
|
|
autoscaling:
|
|
enabled: true
|
|
minReplicas: 2
|
|
# -- Resource limits and requests for the repo server pods
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 258Mi
|
|
requests:
|
|
cpu: 20m
|
|
memory: 128Mi
|
|
rbac:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
verbs:
|
|
- get
|
|
|
|
applicationSet:
|
|
replicas: 2 |