# argo-cd-repo-server-ksops-patch.yaml apiVersion: apps/v1 kind: Deployment metadata: name: argocd-repo-server spec: template: spec: # 1. Define an emptyDir volume which will hold the custom binaries volumes: - name: custom-tools emptyDir: {} - name: sops-age secret: secretName: sops-age # 2. Use an init container to download/copy custom binaries into the emptyDir # initContainers: # - name: install-ksops # image: viaductoss/ksops:v4.3.1 # command: ["/bin/sh", "-c"] # args: # - echo "Installing KSOPS..."; # mv ksops /custom-tools/; # mv kustomize /custom-tools/; # echo "Done."; # volumeMounts: # - mountPath: /custom-tools # name: custom-tools # # 3. Volume mount the custom binary to the bin directory (overriding the existing version) # containers: # - name: argocd-repo-server # volumeMounts: # - mountPath: /usr/local/bin/kustomize # name: custom-tools # subPath: kustomize # - mountPath: /usr/local/bin/ksops # name: custom-tools # subPath: ksops # - name: sops-age # readOnly: true # mountPath: "/.config/sops/age" env: - name: XDG_CONFIG_HOME value: /.config - name: SOPS_AGE_KEY_FILE value: /.config/sops/age/keys.txt ## If you use AWS or GCP KMS, don't forget to include the necessary credentials to decrypt the secrets! # env: # - name: AWS_ACCESS_KEY_ID # valueFrom: # secretKeyRef: # name: argocd-aws-credentials # key: accesskey # - name: AWS_SECRET_ACCESS_KEY # valueFrom: # secretKeyRef: # name: argocd-aws-credentials # key: secretkey