github.com/argoproj/argo-cd/v3@v3.2.1/manifests/base/application-controller-deployment/argocd-application-controller-deployment.yaml (about)

     1  apiVersion: apps/v1
     2  kind: Deployment
     3  metadata:
     4    labels:
     5      app.kubernetes.io/name: argocd-application-controller
     6      app.kubernetes.io/part-of: argocd
     7      app.kubernetes.io/component: application-controller
     8    name: argocd-application-controller
     9  spec:
    10    selector:
    11      matchLabels:
    12        app.kubernetes.io/name: argocd-application-controller
    13    replicas: 1
    14    template:
    15      metadata:
    16        labels:
    17          app.kubernetes.io/name: argocd-application-controller
    18      spec:
    19        containers:
    20        - args:
    21          - /usr/local/bin/argocd-application-controller
    22          env:
    23          - name: REDIS_PASSWORD
    24            valueFrom:
    25              secretKeyRef:
    26                key: auth
    27                name: argocd-redis
    28          - name: ARGOCD_RECONCILIATION_TIMEOUT
    29            valueFrom:
    30              configMapKeyRef:
    31                name: argocd-cm
    32                key: timeout.reconciliation
    33                optional: true
    34          - name: ARGOCD_HARD_RECONCILIATION_TIMEOUT
    35            valueFrom:
    36              configMapKeyRef:
    37                name: argocd-cm
    38                key: timeout.hard.reconciliation
    39                optional: true
    40          - name: ARGOCD_RECONCILIATION_JITTER
    41            valueFrom:
    42              configMapKeyRef:
    43                key: timeout.reconciliation.jitter
    44                name: argocd-cm
    45                optional: true
    46          - name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
    47            valueFrom:
    48              configMapKeyRef:
    49                name: argocd-cmd-params-cm
    50                key: controller.repo.error.grace.period.seconds
    51                optional: true
    52          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
    53            valueFrom:
    54              configMapKeyRef:
    55                name: argocd-cmd-params-cm
    56                key: repo.server
    57                optional: true
    58          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
    59            valueFrom:
    60              configMapKeyRef:
    61                name: argocd-cmd-params-cm
    62                key: controller.repo.server.timeout.seconds
    63                optional: true
    64          - name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
    65            valueFrom:
    66              configMapKeyRef:
    67                name: argocd-cmd-params-cm
    68                key: controller.status.processors
    69                optional: true
    70          - name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
    71            valueFrom:
    72              configMapKeyRef:
    73                name: argocd-cmd-params-cm
    74                key: controller.operation.processors
    75                optional: true
    76          - name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
    77            valueFrom:
    78              configMapKeyRef:
    79                name: argocd-cmd-params-cm
    80                key: controller.log.format
    81                optional: true
    82          - name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
    83            valueFrom:
    84              configMapKeyRef:
    85                name: argocd-cmd-params-cm
    86                key: controller.log.level
    87                optional: true
    88          - name: ARGOCD_LOG_FORMAT_TIMESTAMP
    89            valueFrom:
    90              configMapKeyRef:
    91                name: argocd-cmd-params-cm
    92                key: log.format.timestamp
    93                optional: true
    94          - name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
    95            valueFrom:
    96              configMapKeyRef:
    97                name: argocd-cmd-params-cm
    98                key: controller.metrics.cache.expiration
    99                optional: true
   100          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
   101            valueFrom:
   102              configMapKeyRef:
   103                name: argocd-cmd-params-cm
   104                key: controller.self.heal.timeout.seconds
   105                optional: true
   106          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_TIMEOUT_SECONDS
   107            valueFrom:
   108              configMapKeyRef:
   109                name: argocd-cmd-params-cm
   110                key: controller.self.heal.backoff.timeout.seconds
   111                optional: true
   112          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_FACTOR
   113            valueFrom:
   114              configMapKeyRef:
   115                name: argocd-cmd-params-cm
   116                key: controller.self.heal.backoff.factor
   117                optional: true
   118          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_CAP_SECONDS
   119            valueFrom:
   120              configMapKeyRef:
   121                name: argocd-cmd-params-cm
   122                key: controller.self.heal.backoff.cap.seconds
   123                optional: true
   124          - name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_BACKOFF_COOLDOWN_SECONDS
   125            valueFrom:
   126              configMapKeyRef:
   127                name: argocd-cmd-params-cm
   128                key: controller.self.heal.backoff.cooldown.seconds
   129                optional: true
   130          - name: ARGOCD_SYNC_WAVE_DELAY
   131            valueFrom:
   132              configMapKeyRef:
   133                name: argocd-cmd-params-cm
   134                key: controller.sync.wave.delay.seconds
   135                optional: true
   136          - name: ARGOCD_APPLICATION_CONTROLLER_SYNC_TIMEOUT
   137            valueFrom:
   138              configMapKeyRef:
   139                name: argocd-cmd-params-cm
   140                key: controller.sync.timeout.seconds
   141                optional: true
   142          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
   143            valueFrom:
   144              configMapKeyRef:
   145                name: argocd-cmd-params-cm
   146                key: controller.repo.server.plaintext
   147                optional: true
   148          - name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
   149            valueFrom:
   150              configMapKeyRef:
   151                name: argocd-cmd-params-cm
   152                key: controller.repo.server.strict.tls
   153                optional: true
   154          - name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
   155            valueFrom:
   156              configMapKeyRef:
   157                name: argocd-cmd-params-cm
   158                key: controller.resource.health.persist
   159                optional: true
   160          - name: ARGOCD_APP_STATE_CACHE_EXPIRATION
   161            valueFrom:
   162              configMapKeyRef:
   163                name: argocd-cmd-params-cm
   164                key: controller.app.state.cache.expiration
   165                optional: true
   166          - name: REDIS_SERVER
   167            valueFrom:
   168              configMapKeyRef:
   169                name: argocd-cmd-params-cm
   170                key: redis.server
   171                optional: true
   172          - name: REDIS_COMPRESSION
   173            valueFrom:
   174              configMapKeyRef:
   175                name: argocd-cmd-params-cm
   176                key: redis.compression
   177                optional: true
   178          - name: REDISDB
   179            valueFrom:
   180              configMapKeyRef:
   181                name: argocd-cmd-params-cm
   182                key: redis.db
   183                optional: true
   184          - name: ARGOCD_DEFAULT_CACHE_EXPIRATION
   185            valueFrom:
   186              configMapKeyRef:
   187                name: argocd-cmd-params-cm
   188                key: controller.default.cache.expiration
   189                optional: true
   190          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
   191            valueFrom:
   192              configMapKeyRef:
   193                name: argocd-cmd-params-cm
   194                key: otlp.address
   195                optional: true
   196          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
   197            valueFrom:
   198              configMapKeyRef:
   199                name: argocd-cmd-params-cm
   200                key: otlp.insecure
   201                optional: true
   202          - name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
   203            valueFrom:
   204              configMapKeyRef:
   205                name: argocd-cmd-params-cm
   206                key: otlp.headers
   207                optional: true
   208          - name: ARGOCD_APPLICATION_NAMESPACES
   209            valueFrom:
   210              configMapKeyRef:
   211                name: argocd-cmd-params-cm
   212                key: application.namespaces
   213                optional: true
   214          - name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM
   215            valueFrom:
   216              configMapKeyRef:
   217                name: argocd-cmd-params-cm
   218                key: controller.sharding.algorithm
   219                optional: true
   220          - name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
   221            valueFrom:
   222              configMapKeyRef:
   223                name: argocd-cmd-params-cm
   224                key: controller.kubectl.parallelism.limit
   225                optional: true
   226          - name: ARGOCD_K8SCLIENT_RETRY_MAX
   227            valueFrom:
   228              configMapKeyRef:
   229                name: argocd-cmd-params-cm
   230                key: controller.k8sclient.retry.max
   231                optional: true
   232          - name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
   233            valueFrom:
   234              configMapKeyRef:
   235                name: argocd-cmd-params-cm
   236                key: controller.k8sclient.retry.base.backoff
   237                optional: true
   238          - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
   239            valueFrom:
   240              configMapKeyRef:
   241                name: argocd-cmd-params-cm
   242                key: controller.diff.server.side
   243                optional: true
   244          - name: ARGOCD_HYDRATOR_ENABLED
   245            valueFrom:
   246              configMapKeyRef:
   247                name: argocd-cmd-params-cm
   248                key: hydrator.enabled
   249                optional: true
   250          - name: ARGOCD_CLUSTER_CACHE_BATCH_EVENTS_PROCESSING
   251            valueFrom:
   252              configMapKeyRef:
   253                name: argocd-cmd-params-cm
   254                key: controller.cluster.cache.batch.events.processing
   255                optional: true
   256          - name: ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL
   257            valueFrom:
   258              configMapKeyRef:
   259                name: argocd-cmd-params-cm
   260                key: controller.cluster.cache.events.processing.interval
   261                optional: true
   262          - name: ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER
   263            valueFrom:
   264              configMapKeyRef:
   265                name: argocd-cmd-params-cm
   266                key: commit.server
   267                optional: true
   268          image: quay.io/argoproj/argocd:latest
   269          imagePullPolicy: Always
   270          name: argocd-application-controller
   271          ports:
   272          - containerPort: 8082
   273          readinessProbe:
   274            httpGet:
   275              path: /healthz
   276              port: 8082
   277            initialDelaySeconds: 5
   278            periodSeconds: 10
   279          securityContext:
   280            runAsNonRoot: true
   281            readOnlyRootFilesystem: true
   282            allowPrivilegeEscalation: false
   283            capabilities:
   284              drop:
   285              - ALL
   286            seccompProfile:
   287              type: RuntimeDefault
   288          workingDir: /home/argocd
   289          volumeMounts:
   290          - name: argocd-repo-server-tls
   291            mountPath: /app/config/controller/tls
   292          - name: argocd-home
   293            mountPath: /home/argocd
   294          - name: argocd-cmd-params-cm
   295            mountPath: /home/argocd/params
   296        serviceAccountName: argocd-application-controller
   297        affinity:
   298          podAntiAffinity:
   299            preferredDuringSchedulingIgnoredDuringExecution:
   300            - weight: 100
   301              podAffinityTerm:
   302                labelSelector:
   303                  matchLabels:
   304                    app.kubernetes.io/name: argocd-application-controller
   305                topologyKey: kubernetes.io/hostname
   306            - weight: 5
   307              podAffinityTerm:
   308                labelSelector:
   309                  matchLabels:
   310                    app.kubernetes.io/part-of: argocd
   311                topologyKey: kubernetes.io/hostname
   312        volumes:
   313        - emptyDir: {}
   314          name: argocd-home
   315        - name: argocd-repo-server-tls
   316          secret:
   317            secretName: argocd-repo-server-tls
   318            optional: true
   319            items:
   320            - key: tls.crt
   321              path: tls.crt
   322            - key: tls.key
   323              path: tls.key
   324            - key: ca.crt
   325              path: ca.crt
   326        - name: argocd-cmd-params-cm
   327          configMap:
   328            optional: true
   329            name: argocd-cmd-params-cm
   330            items:
   331            - key: controller.profile.enabled
   332              path: profiler.enabled
   333        nodeSelector:
   334          kubernetes.io/os: linux