apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: argocd-repo-server app.kubernetes.io/part-of: argocd app.kubernetes.io/component: repo-server name: argocd-repo-server spec: selector: matchLabels: app.kubernetes.io/name: argocd-repo-server template: metadata: labels: app.kubernetes.io/name: argocd-repo-server spec: serviceAccountName: argocd-repo-server automountServiceAccountToken: false containers: - name: argocd-repo-server image: quay.io/argoproj/argocd:latest imagePullPolicy: Always command: [ "sh", "-c", "entrypoint.sh argocd-repo-server --redis $(ARGOCD_REDIS_SERVICE):6379"] env: - name: ARGOCD_RECONCILIATION_TIMEOUT valueFrom: configMapKeyRef: name: argocd-cm key: timeout.reconciliation optional: true - name: ARGOCD_REPO_SERVER_LOGFORMAT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.log.format optional: true - name: ARGOCD_REPO_SERVER_LOGLEVEL valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.log.level optional: true - name: ARGOCD_REPO_SERVER_PARALLELISM_LIMIT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.parallelism.limit optional: true - name: ARGOCD_REPO_SERVER_DISABLE_TLS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.disable.tls optional: true - name: ARGOCD_TLS_MIN_VERSION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.tls.minversion optional: true - name: ARGOCD_TLS_MAX_VERSION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.tls.maxversion optional: true - name: ARGOCD_TLS_CIPHERS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.tls.ciphers optional: true - name: ARGOCD_REPO_CACHE_EXPIRATION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.repo.cache.expiration optional: true - name: REDIS_SERVER valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: redis.server optional: true - name: REDIS_COMPRESSION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: redis.compression optional: true - name: REDISDB valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: redis.db optional: true - name: ARGOCD_DEFAULT_CACHE_EXPIRATION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.default.cache.expiration optional: true - name: ARGOCD_REPO_SERVER_OTLP_ADDRESS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: otlp.address optional: true - name: ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.max.combined.directory.manifests.size optional: true - name: ARGOCD_REPO_SERVER_PLUGIN_TAR_EXCLUSIONS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: reposerver.plugin.tar.exclusions optional: true - name: ARGOCD_REPO_SERVER_ALLOW_OUT_OF_BOUNDS_SYMLINKS valueFrom: configMapKeyRef: key: reposerver.allow.oob.symlinks name: argocd-cmd-params-cm optional: true - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_TAR_SIZE valueFrom: configMapKeyRef: key: reposerver.streamed.manifest.max.tar.size name: argocd-cmd-params-cm optional: true - name: ARGOCD_REPO_SERVER_STREAMED_MANIFEST_MAX_EXTRACTED_SIZE valueFrom: configMapKeyRef: key: reposerver.streamed.manifest.max.extracted.size name: argocd-cmd-params-cm optional: true - name: HELM_CACHE_HOME value: /helm-working-dir - name: HELM_CONFIG_HOME value: /helm-working-dir - name: HELM_DATA_HOME value: /helm-working-dir ports: - containerPort: 8081 - containerPort: 8084 livenessProbe: httpGet: path: /healthz?full=true port: 8084 initialDelaySeconds: 30 periodSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: /healthz port: 8084 initialDelaySeconds: 5 periodSeconds: 10 securityContext: runAsNonRoot: true readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault volumeMounts: - name: ssh-known-hosts mountPath: /app/config/ssh - name: tls-certs mountPath: /app/config/tls - name: gpg-keys mountPath: /app/config/gpg/source - name: gpg-keyring mountPath: /app/config/gpg/keys - name: argocd-repo-server-tls mountPath: /app/config/reposerver/tls - name: tmp mountPath: /tmp - mountPath: /helm-working-dir name: helm-working-dir - mountPath: /home/argocd/cmp-server/plugins name: plugins initContainers: - command: - cp - -n - /usr/local/bin/argocd - /var/run/argocd/argocd-cmp-server image: quay.io/argoproj/argocd:latest name: copyutil securityContext: runAsNonRoot: true readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault volumeMounts: - mountPath: /var/run/argocd name: var-files volumes: - name: ssh-known-hosts configMap: name: argocd-ssh-known-hosts-cm - name: tls-certs configMap: name: argocd-tls-certs-cm - name: gpg-keys configMap: name: argocd-gpg-keys-cm - name: gpg-keyring emptyDir: {} - name: tmp emptyDir: {} - name: helm-working-dir emptyDir: {} - name: argocd-repo-server-tls secret: secretName: argocd-repo-server-tls optional: true items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key - key: ca.crt path: ca.crt - emptyDir: {} name: var-files - emptyDir: {} name: plugins affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/name: argocd-repo-server topologyKey: kubernetes.io/hostname - weight: 5 podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/part-of: argocd topologyKey: kubernetes.io/hostname