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

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