github.com/argoproj/argo-cd/v3@v3.2.1/docs/operator-manual/argocd-cmd-params-cm.yaml (about)

     1  apiVersion: v1
     2  kind: ConfigMap
     3  metadata:
     4    name: argocd-cmd-params-cm
     5    labels:
     6      app.kubernetes.io/name: argocd-cmd-params-cm
     7      app.kubernetes.io/part-of: argocd
     8  data:
     9    # Repo server address. (default "argocd-repo-server:8081")
    10    repo.server: "argocd-repo-server:8081"
    11  
    12    # Commit server address. (default "argocd-commit-server:8086")
    13    commit.server: "argocd-commit-server:8086"
    14  
    15    # Redis server hostname and port (e.g. argocd-redis:6379)
    16    redis.server: "argocd-redis:6379"
    17    # Enable compression for data sent to Redis with the required compression algorithm. (default 'gzip')
    18    redis.compression: gzip
    19    # Redis database
    20    redis.db:
    21  
    22    # Enables the alpha "manifest hydrator" feature. (default "false")
    23    hydrator.enabled: "false"
    24  
    25    # Open-Telemetry collector address: (e.g. "otel-collector:4317")
    26    otlp.address: ""
    27    # Open-Telemetry collector insecure: (e.g. "true")
    28    otlp.insecure: "true"
    29    # Open-Telemetry collector headers: (e.g. "key1=value1,key2=value2")
    30    otlp.headers: ""
    31    # Open-Telemetry collector attrs: (e.g. "key1:value1,key2:value2")
    32    otlp.attrs: ""
    33  
    34    # List of additional namespaces where applications may be created in and
    35    # reconciled from. The namespace where Argo CD is installed to will always
    36    # be allowed.
    37    #
    38    # Feature state: Beta
    39    application.namespaces: ns1, ns2, ns3
    40  
    41    # Set the logging timestamp format. The default is "" which means "2006-01-02T15:04:05Z07:00" (RFC3339).
    42    # See https://pkg.go.dev/time#pkg-constants for more options.
    43    # This option is used for all components.
    44    log.format.timestamp: ""
    45  
    46    ## Controller Properties
    47    # Repo server RPC call timeout seconds.
    48    controller.repo.server.timeout.seconds: "60"
    49    # Disable TLS on connections to repo server
    50    controller.repo.server.plaintext: "false"
    51    # Whether to use strict validation of the TLS cert presented by the repo server
    52    controller.repo.server.strict.tls: "false"
    53    # Number of application status processors (default 20)
    54    controller.status.processors: "20"
    55    # Number of application operation processors (default 10)
    56    controller.operation.processors: "10"
    57    # Set the logging format. One of: json|text (default "json")
    58    controller.log.format: "json"
    59    # Set the logging level. One of: debug|info|warn|error (default "info")
    60    controller.log.level: "info"
    61    # Prometheus metrics cache expiration (disabled  by default. e.g. 24h0m0s)
    62    controller.metrics.cache.expiration: "24h0m0s"
    63    # Specifies exponential backoff timeout parameters between application self heal attempts
    64    controller.self.heal.timeout.seconds: "2"
    65    controller.self.heal.backoff.factor: "3"
    66    controller.self.heal.backoff.cap.seconds: "300"
    67    # Specifies a sync timeout for applications. "0" means no timeout (default "0")
    68    controller.sync.timeout.seconds: "0"
    69    # Specifies the delay in seconds between each sync wave to give other controllers a chance to react to spec changes. (default "2")
    70    controller.sync.wave.delay.seconds: "2"
    71  
    72    # Cache expiration for app state (default 1h0m0s)
    73    controller.app.state.cache.expiration: "1h0m0s"
    74    # Specifies if resource health should be persisted in the application CR (default false).
    75    # Setting this to true will store the health status of each resource in the application CR,
    76    # increasing the number of updates to the CR and putting more load on the application controller
    77    controller.resource.health.persist: "false"
    78    # Cache expiration default (default 24h0m0s)
    79    controller.default.cache.expiration: "24h0m0s"
    80    # Sharding algorithm used to balance clusters across application controller shards (default "legacy")
    81    controller.sharding.algorithm: legacy
    82    # Number of allowed concurrent kubectl fork/execs. Any value less than 1 means no limit.
    83    controller.kubectl.parallelism.limit: "20"
    84    # The maximum number of retries for each request
    85    controller.k8sclient.retry.max: "0"
    86    # The initial backoff delay on the first retry attempt in ms. Subsequent retries will double this backoff time up to a maximum threshold
    87    controller.k8sclient.retry.base.backoff: "100"
    88    # Grace period in seconds for ignoring consecutive errors while communicating with repo server.
    89    controller.repo.error.grace.period.seconds: "180"
    90    # Enables the server side diff feature at the application controller level.
    91    # Diff calculation will be done by running a server side apply dryrun (when
    92    # diff cache is unavailable).
    93    controller.diff.server.side: "false"
    94    # Enables profile endpoint on the internal metrics port
    95    controller.profile.enabled: "false"
    96    # Enables batch-processing mode in the controller's cluster cache. This can help improve performance for clusters that
    97    # have high "churn," i.e. lots of resource modifications.
    98    controller.cluster.cache.batch.events.processing: "true"
    99    # This sets the interval at which the controller's cluster cache processes a batch of cluster events. A lower value
   100    # will increase the speed at which Argo CD becomes aware of external cluster state. A higher value will reduce cluster
   101    # cache lock contention and better handle high-churn clusters.
   102    controller.cluster.cache.events.processing.interval: "100ms"
   103  
   104    ## Server properties
   105    # Listen on given address for incoming connections (default "0.0.0.0")
   106    server.listen.address: "0.0.0.0"
   107    # Listen on given address for metrics (default "0.0.0.0")
   108    server.metrics.listen.address: "0.0.0.0"
   109    # Run server without TLS
   110    server.insecure: "false"
   111    # Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from / (default "/")
   112    server.basehref: "/"
   113    # Used if Argo CD is running behind reverse proxy under subpath different from /
   114    server.rootpath: ""
   115    # Directory path that contains additional static assets
   116    server.staticassets: "/shared/app"
   117    # The maximum number of retries for each request
   118    server.k8sclient.retry.max: "0"
   119    # The initial backoff delay on the first retry attempt in ms. Subsequent retries will double this backoff time up to a maximum threshold
   120    server.k8sclient.retry.base.backoff: "100"
   121    # Semicolon-separated list of content types allowed on non-GET requests. Set an empty string to allow all. Be aware
   122    # that allowing content types besides application/json may make your API more vulnerable to CSRF attacks.
   123    server.api.content.types: "application/json"
   124    # Number of webhook requests processed concurrently (default 50)
   125    server.webhook.parallelism.limit: "50"
   126    # Whether to allow sync with replace checked to go through. Resource-level annotation to replace override this setting, i.e. it's only enforced on the API server level.
   127    server.sync.replace.allowed: "true"
   128  
   129    # Set the logging format. One of: json|text (default "json")
   130    server.log.format: "json"
   131    # Set the logging level. One of: debug|info|warn|error (default "info")
   132    server.log.level: "info"
   133    # Repo server RPC call timeout seconds. (default 60)
   134    server.repo.server.timeout.seconds: "60"
   135    # Use a plaintext client (non-TLS) to connect to repository server
   136    server.repo.server.plaintext: "false"
   137    # Perform strict validation of TLS certificates when connecting to repo server
   138    server.repo.server.strict.tls: "false"
   139    # Dex server address (default "http://argocd-dex-server:5556")
   140    server.dex.server: "http://argocd-dex-server:5556"
   141    # Use a plaintext client (non-TLS) to connect to dex server
   142    server.dex.server.plaintext: "false"
   143    # Perform strict validation of TLS certificates when connecting to dex server
   144    server.dex.server.strict.tls: "false"
   145    # Disable client authentication
   146    server.disable.auth: "false"
   147    # Toggle GZIP compression
   148    server.enable.gzip: "true"
   149    # Set X-Frame-Options header in HTTP responses to value. To disable, set to "". (default "sameorigin")
   150    server.x.frame.options: "sameorigin"
   151    # The minimum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.2")
   152    server.tls.minversion: "1.2"
   153    # The maximum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.3")
   154    server.tls.maxversion: "1.3"
   155    # The list of acceptable ciphers to be used when establishing TLS connections. Use 'list' to list available ciphers. (default "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
   156    server.tls.ciphers: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
   157    # Cache expiration for cluster/repo connection status (default 1h0m0s)
   158    server.connection.status.cache.expiration: "1h0m0s"
   159    # Cache expiration for OIDC state (default 3m0s)
   160    server.oidc.cache.expiration: "3m0s"
   161    # Cache expiration for app state (default 1h0m0s)
   162    server.app.state.cache.expiration: "1h0m0s"
   163    # Cache expiration default (default 24h0m0s)
   164    server.default.cache.expiration: "24h0m0s"
   165    # Enable the experimental proxy extension feature
   166    server.enable.proxy.extension: "false"
   167    # Enables profile endpoint on the internal metrics port
   168    server.profile.enabled: "false"
   169  
   170    ## Repo-server properties
   171    # Listen on given address for incoming connections (default "0.0.0.0")
   172    reposerver.listen.address: "0.0.0.0"
   173    # Listen on given address for metrics (default "0.0.0.0")
   174    reposerver.metrics.listen.address: "0.0.0.0"
   175    # Set the logging format. One of: json|text (default "json")
   176    reposerver.log.format: "json"
   177    # Set the logging level. One of: debug|info|warn|error (default "info")
   178    reposerver.log.level: "info"
   179    # Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit.
   180    reposerver.parallelism.limit: "1"
   181    # Disable TLS on the gRPC endpoint
   182    reposerver.disable.tls: "false"
   183    # The minimum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.2")
   184    reposerver.tls.minversion: "1.2"
   185    # The maximum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.3")
   186    reposerver.tls.maxversion: "1.3"
   187    # The list of acceptable ciphers to be used when establishing TLS connections. Use 'list' to list available ciphers. (default "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
   188    reposerver.tls.ciphers: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
   189    # Cache expiration for repo state, incl. app lists, app details, manifest generation, revision meta-data (default 24h0m0s)
   190    reposerver.repo.cache.expiration: "24h0m0s"
   191    # Cache expiration default (default 24h0m0s)
   192    reposerver.default.cache.expiration: "24h0m0s"
   193    # Max combined manifest file size for a single directory-type Application. In-memory manifest representation may be as
   194    # much as 300x the manifest file size. Limit this to stay within the memory limits of the repo-server while allowing
   195    # for 300x memory expansion and N Applications running at the same time.
   196    # (example 10M max * 300 expansion * 10 Apps = 30G max theoretical memory usage).
   197    reposerver.max.combined.directory.manifests.size: '10M'
   198    # Paths to be excluded from the tarball streamed to plugins. Separate with ;
   199    reposerver.plugin.tar.exclusions: ""
   200    # Enable the repo server to use the 'argocd.argoproj.io/manifest-generate-paths' annotation to guide manifest generation.
   201    reposerver.plugin.use.manifest.generate.paths: "false"
   202    # Allow repositories to contain symlinks that leave the boundaries of the repository.
   203    # Changing this to "true" will not allow _all_ out-of-bounds symlinks. Those will still be blocked for things like values
   204    # files in Helm charts. But symlinks which are not explicitly blocked by other checks will be allowed.
   205    reposerver.allow.oob.symlinks: "false"
   206    # Maximum size of tarball when streaming manifests to the repo server for generation
   207    reposerver.streamed.manifest.max.tar.size: "100M"
   208    # Maximum size of extracted manifests when streaming manifests to the repo server for generation
   209    reposerver.streamed.manifest.max.extracted.size: "1G"
   210    # Maximum size of extracted manifests when streaming manifests to the repo server for generation
   211    reposerver.oci.manifest.max.extracted.size: "1G"
   212    # Whether to disable manifest size check for OCI artifacts
   213    reposerver.disable.oci.manifest.max.extracted.size: "false"
   214    # The allowlist of the OCI media types which the repo-server will make use of. If an OCI media type for a given artifact is not in the given list, the repo-server will return an error.
   215    reposerver.oci.layer.media.types: "application/vnd.oci.image.layer.v1.tar,application/vnd.oci.image.layer.v1.tar+gzip,application/vnd.cncf.helm.chart.content.v1.tar+gzip"
   216    # Enable git submodule support
   217    reposerver.enable.git.submodule: "true"
   218    # Number of concurrent git ls-remote requests. Any value less than 1 means no limit.
   219    reposerver.git.lsremote.parallelism.limit: "0"
   220    # Git requests timeout.
   221    reposerver.git.request.timeout: "15s"
   222    # Enable builtin git configuration options that are required for correct argocd-repo-server operation (default "true")
   223    reposerver.enable.builtin.git.config: "true"
   224    # Include hidden directories from Git
   225    reposerver.include.hidden.directories: "false"
   226  
   227    ## Commit-server properties
   228    # Listen on given address for incoming connections (default "0.0.0.0")
   229    commitserver.listen.address: "0.0.0.0"
   230    # Set the logging format. One of: json|text (default "json")
   231    commitserver.log.format: "json"
   232    # Set the logging level. One of: debug|info|warn|error (default "info")
   233    commitserver.log.level: "info"
   234    # Listen on given address for metrics (default "0.0.0.0")
   235    commitserver.metrics.listen.address: "0.0.0.0"
   236  
   237    # Set the logging format. One of: json|text (default "json")
   238    dexserver.log.format: "json"
   239    # Set the logging level. One of: debug|info|warn|error (default "info")
   240    dexserver.log.level: "info"
   241    # Disable TLS on the HTTP endpoint
   242    dexserver.disable.tls: "false"
   243  
   244    ## ApplicationSet Controller Properties
   245    # Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
   246    applicationsetcontroller.enable.leader.election: "false"
   247    # "Modify how application is synced between the generator and the cluster. Default is '' (empty), which means AppSets
   248    # will default to the 'sync' policy (create & update & delete). Explicitly setting the value prevents AppSet-level
   249    # policy overrides unless overrides are explicitly enabled (see option below). Explicit options are:
   250    # 'create-only', 'create-update' (no deletion), 'create-delete' (no update)"
   251    applicationsetcontroller.policy: ""
   252    # If applicationsetcontroller.policy is empty, this flag has no effect. If applicationsetcontroller.policy is set,
   253    # this flag controls whether the policy set in the controller can be overridden by the ApplicationSet resource
   254    # (i.e. the spec.syncPlicy.applicationSync field). Set it to "true" to allow overrides. "" or "false" will disable
   255    # overrides. (default "")
   256    applicationsetcontroller.enable.policy.override: ""
   257    # Max concurrent reconciliation limit for the controller (default 10)
   258    applicationsetcontroller.concurrent.reconciliations.max: "10"
   259    # Enable new globbing in Git files generator (default "false")
   260    # See https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git-File-Globbing/
   261    applicationsetcontroller.enable.new.git.file.globbing: "false"
   262    # Print debug logs. Takes precedence over loglevel
   263    applicationsetcontroller.debug: "false"
   264    # Set the logging format. One of: json|text (default "json")
   265    applicationsetcontroller.log.format: "json"
   266    # Set the logging level. One of: debug|info|warn|error (default "info")
   267    applicationsetcontroller.log.level: "info"
   268    # Enable dry run mode
   269    applicationsetcontroller.dryrun: "false"
   270    # Enable git submodule support
   271    applicationsetcontroller.enable.git.submodule: "true"
   272    # Enables use of the Progressive Syncs capability
   273    applicationsetcontroller.enable.progressive.syncs: "false"
   274    # A list of glob patterns specifying where to look for ApplicationSet resources. (default is only the ns where the controller is installed)
   275    applicationsetcontroller.namespaces: "argocd,argocd-appsets-*"
   276    # Path of the self-signed TLS certificate for SCM/PR Gitlab Generator
   277    applicationsetcontroller.scm.root.ca.path: ""
   278    # A comma separated list of allowed SCM providers (default "" is all SCM providers).
   279    # Setting this field is required when using ApplicationSets-in-any-namespace, to prevent users from
   280    # sending secrets from `tokenRef`s to disallowed `api` domains.
   281    # The url used in the scm generator must exactly match one in the list
   282    applicationsetcontroller.allowed.scm.providers: "https://git.example.com/,https://gitlab.example.com/"
   283    # To disable SCM providers entirely (i.e. disable the SCM and PR generators), set this to "false". Default is "true".
   284    applicationsetcontroller.enable.scm.providers: "false"
   285    # Number of webhook requests processed concurrently (default 50)
   286    applicationsetcontroller.webhook.parallelism.limit: "50"
   287    # Override the default requeue time for the controller. (default 3m)
   288    applicationsetcontroller.requeue.after: "3m"
   289    # Enable strict mode for tokenRef in ApplicationSet resources. When enabled, the referenced secret must have a label `argocd.argoproj.io/secret-type` with value `scm-creds`.
   290    applicationsetcontroller.enable.tokenref.strict.mode: "false"
   291    # Comma delimited list of annotations to preserve in generated applications
   292    applicationsetcontroller.global.preserved.annotations: "acme.com/annotation1,acme.com/annotation2"
   293    # Comma delimited list of labels to preserve in generated applications
   294    applicationsetcontroller.global.preserved.labels: "acme.com/label1,acme.com/label2"
   295    # Enable GitHub API metrics for generators that use GitHub API
   296    applicationsetcontroller.enable.github.api.metrics: "false"
   297    # The maximum number of resources stored in the status of an ApplicationSet. This is a safeguard to prevent the status from growing too large.
   298    applicationsetcontroller.status.max.resources.count: "5000"
   299    # Enables profile endpoint on the internal metrics port
   300    applicationsetcontroller.profile.enabled: "false"
   301  
   302    ## Argo CD Notifications Controller Properties
   303    # Set the logging level. One of: debug|info|warn|error (default "info")
   304    notificationscontroller.log.level: "info"
   305    # Set the logging format. One of: json|text (default "json")
   306    notificationscontroller.log.format: "json"
   307    # Enable self-service notifications config. Used in conjunction with apps-in-any-namespace. (default "false")
   308    notificationscontroller.selfservice.enabled: "false"
   309    # Disable TLS on connections to repo server
   310    notificationscontroller.repo.server.plaintext: "false"