apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: argocd-application-controller app.kubernetes.io/part-of: argocd app.kubernetes.io/component: application-controller name: argocd-application-controller spec: selector: matchLabels: app.kubernetes.io/name: argocd-application-controller replicas: 1 template: metadata: labels: app.kubernetes.io/name: argocd-application-controller spec: containers: - args: - /usr/local/bin/argocd-application-controller env: - name: REDIS_PASSWORD valueFrom: secretKeyRef: key: auth name: argocd-redis - name: GRPC_ENABLE_TXT_SERVICE_CONFIG valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.grpc.enable.txt.service.config optional: true - name: ARGOCD_RECONCILIATION_TIMEOUT valueFrom: configMapKeyRef: name: argocd-cm key: timeout.reconciliation optional: true - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT valueFrom: configMapKeyRef: name: argocd-cm key: timeout.hard.reconciliation optional: true - name: ARGOCD_RECONCILIATION_JITTER valueFrom: configMapKeyRef: key: timeout.reconciliation.jitter name: argocd-cm optional: true - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.repo.error.grace.period.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: repo.server optional: true - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.repo.server.timeout.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.status.processors optional: true - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.operation.processors optional: true - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.log.format optional: true - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.log.level optional: true - name: ARGOCD_LOG_FORMAT_TIMESTAMP valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: log.format.timestamp optional: true - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.metrics.cache.expiration optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.self.heal.timeout.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.self.heal.backoff.timeout.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.self.heal.backoff.factor optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.self.heal.backoff.cap.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_COOLDOWN_SECONDS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.self.heal.backoff.cooldown.seconds optional: true - name: ARGOCD_SYNC_WAVE_DELAY valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.sync.wave.delay.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.sync.timeout.seconds optional: true - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.repo.server.plaintext optional: true - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.repo.server.strict.tls optional: true - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.resource.health.persist optional: true - name: ARGOCD_APP_STATE_CACHE_EXPIRATION valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.app.state.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: controller.default.cache.expiration optional: true - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: otlp.address optional: true - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: otlp.insecure optional: true - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: otlp.headers optional: true - name: ARGOCD_APPLICATION_NAMESPACES valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: application.namespaces optional: true - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.sharding.algorithm optional: true - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.kubectl.parallelism.limit optional: true - name: ARGOCD_K8SCLIENT_RETRY_MAX valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.k8sclient.retry.max optional: true - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.k8sclient.retry.base.backoff optional: true - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.diff.server.side optional: true - name: ARGOCD_HYDRATOR_ENABLED valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: hydrator.enabled optional: true - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.cluster.cache.batch.events.processing optional: true - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: controller.cluster.cache.events.processing.interval optional: true - name: ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER valueFrom: configMapKeyRef: name: argocd-cmd-params-cm key: commit.server optional: true image: quay.io/argoproj/argocd:latest imagePullPolicy: Always name: argocd-application-controller ports: - containerPort: 8082 readinessProbe: httpGet: path: /healthz port: 8082 initialDelaySeconds: 5 periodSeconds: 10 securityContext: runAsNonRoot: true readOnlyRootFilesystem: true allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault workingDir: /home/argocd volumeMounts: - name: argocd-repo-server-tls mountPath: /app/config/controller/tls - name: argocd-home mountPath: /home/argocd - name: argocd-cmd-params-cm mountPath: /home/argocd/params serviceAccountName: argocd-application-controller affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/name: argocd-application-controller topologyKey: kubernetes.io/hostname - weight: 5 podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/part-of: argocd topologyKey: kubernetes.io/hostname volumes: - emptyDir: {} name: argocd-home - 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 - name: argocd-cmd-params-cm configMap: optional: true name: argocd-cmd-params-cm items: - key: controller.profile.enabled path: profiler.enabled nodeSelector: kubernetes.io/os: linux