Argocd#

Argocd - это декларативный инструмент непрерывного развертывания (CD) для Kubernetes, основанный на подходе GitOps. Он позволяет автоматизировать развертывание приложений, синхронизируя желаемое состояние кластера с описанием в Git-репозитории.

Основные задачи и возможности
  • Автоматизация развертывания приложений в Kubernetes:

    Следит за изменениями в Git-репозитории и автоматически применяет обновления в кластере, обеспечивая соответствие текущего состояния желаемому.

  • Наблюдение за состоянием приложений:

    Постоянно отслеживает реальное состояние приложений в кластере и сравнивает его с тем, что указано в репозитории. При обнаружении расхождений можно автоматически или вручную выполнить синхронизацию.

  • Поддержка GitOps-подхода:

    Все изменения происходят через Git, что упрощает аудит, управление версиями и восстановление состояния кластера.

  • Интеграция с CI/CD пайплайнами:

    Может быть частью автоматизированного процесса доставки, взаимодействуя с такими системами, как GitHub Actions, Jenkins, GitLab CI и другими.

  • Веб-интерфейс:

    Предоставляет удобный UI для управления приложениями, просмотра статусов и выполнения синхронизации.

Примечание

Argocd является единственным инструментом компонента GitOps и устанавливается с ним по умолчанию. UI Argocd автоматически интегрирован с инструментом Dex и пользователь kubeadmin является администратором.

Конфигурация values#

Значения можно переопределить через редактирование инструмента с именем argocd и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».

nameOverride - переопределение имени чарта ArgoCD#

Параметр

Описание

Значение по умолчанию

nameOverride

Переопределение имени argocd для формирования имен ресурсов чарта

argocd

fullnameOverride - полное переопределение имени всех ресурсов#

Параметр

Описание

Значение по умолчанию

fullnameOverride

Переопределение вычисляемого полного имени ресурсов вместо значения из шаблона argo-cd.fullname

""

namespaceOverride - переопределение пространства имен для развертывания#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Переопределение пространства имен дл развертывания ресурсов чарта

""

kubeVersionOverride - переопределение версии Kubernetes#

Параметр

Описание

Значение по умолчанию

kubeVersionOverride

Переопределение версии Kubernetes, которая используется при вычислении условий в шаблонах чарта

""

apiVersionOverrides - переопределение версий API для различных ресурсов#

Параметр

Описание

Значение по умолчанию

apiVersionOverrides

Переопределение версий API для различных ресурсов

{}

createAggregateRoles - создание агрегированных ролей#

Параметр

Описание

Значение по умолчанию

createAggregateRoles

Создание агрегированных ролей, расширяющих существующие кластерные роли для работы с ресурсами Argo CD

false

createClusterRoles - создание кластерных ролей#

Параметр

Описание

Значение по умолчанию

createClusterRoles

Создание ClusterRole для установки с управлением приложениями в том же кластере, где запущен Argo CD

true

openshift - определить настройки совместимости с OpenShift#

Параметр

Описание

Значение по умолчанию

openshift.enabled

Включение режима совместимости с OpenShift, позволяющий repo-server работать с произвольным UID

false

crds - настройки Custom Resource Definitions#

Параметр

Описание

Значение по умолчанию

crds.install

Установка и обновление Custom Resource Definitions (CRD) вместе с релизом чарта

true

crds.keep

Сохранение CRD при удалении Helm-релиза

true

crds.annotations

Добавление аннотации ко всем CRD, создаваемым чартом

{}

crds.additionalLabels

Добавление дополнительных меток ко всем CRD, создаваемым чартом

{}

configs - Конфигурации ArgoCD (ConfigMaps и Secrets)#

Параметр

Описание

Значение по умолчанию

configs.cm.create

Создание ConfigMap argocd-cm для декларативной настройки Argo CD

true

configs.cm.annotations

Добавление аннотации в ConfigMap argocd-cm

{}

configs.cm.application.instanceLabelKey

Ключ метки для отслеживания ресурсов приложений

argocd.argoproj.io/instance

configs.cm.application.sync.impersonation.enabled

Включение/выключение функции

false

configs.cm.exec.enabled

Включение функции exec в UI

false

configs.cm.admin.enabled

Включение учетной записи встроенного администратора

false

configs.cm.users.anonymous.enabled

Разрешение анонимного доступа

false

configs.cm.timeout.reconciliation

Время ожидания сверки состояния приложений

120s

configs.cm.timeout.reconciliation.jitter

Добавление случайного сдвига к интервалу reconciliation, чтобы распределить обновления и снизить нагрузку на repo-server

60s

configs.cm.timeout.hard.reconciliation

Жесткий тайм-аут на обновление данных приложения и кеша целевых манифестов

0s

configs.cm.statusbadge.enabled

Включить/отключить функцию

false

configs.cm.oidc.config

Конфигурация OIDC-аутентификации

name: «Platform V DropApp»
issuer: https://auth.
clientID: argo
clientSecret: <client_secret>
requestedIDTokenClaims:
email:
essential: true
groups:
essential: true
requestedScopes:
- openid
- profile
- email
- groups

configs.cm.resource.customizations.ignoreResourceUpdates.all

Игнорирование обновления поля status для всех ресурсов, если это не влияет на health

jsonPointers:
- /status

configs.cm.resource.customizations.ignoreResourceUpdates.argoproj.io_Application

Игнорирование часто изменяемых служебных полей Application, не относящихся к содержимому приложения

jqPathExpressions:
- „.metadata.annotations.»notified.notifications.argoproj.io»“
- „.metadata.annotations.»argocd.argoproj.io/refresh»“
- „.metadata.annotations.»argocd.argoproj.io/hydrate»“
- „.operation“

configs.cm.resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout

Игнорирование служебных аннотаций, создаваемых Argo Rollouts

jqPathExpressions:
- „.metadata.annotations.»notified.notifications.argoproj.io»“

configs.cm.resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler

Игнорирование устаревших аннотаций HPA из API autoscaling/v1

jqPathExpressions:
- „.metadata.annotations.»autoscaling.alpha.kubernetes.io/behavior»“
- „.metadata.annotations.»autoscaling.alpha.kubernetes.io/conditions»“
- „.metadata.annotations.»autoscaling.alpha.kubernetes.io/metrics»“
- „.metadata.annotations.»autoscaling.alpha.kubernetes.io/current-metrics»“

configs.cm.resource.customizations.ignoreResourceUpdates.ConfigMap

Игнорирование аннотаций cluster-autoscaler и устаревшего leader election в ConfigMap

jqPathExpressions:
- „.metadata.annotations.»cluster-autoscaler.kubernetes.io/last-updated»“
- „.metadata.annotations.»control-plane.alpha.kubernetes.io/leader»“

configs.cm.resource.customizations.ignoreResourceUpdates.apps_ReplicaSet

Игнорирование общих аннотаций масштабирования для ReplicaSet

jqPathExpressions:
- „.metadata.annotations.»deployment.kubernetes.io/desired-replicas»“
- „.metadata.annotations.»deployment.kubernetes.io/max-replicas»“
- „.metadata.annotations.»rollout.argoproj.io/desired-replicas»“

configs.cm.resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice

Игнорирование обновления EndpointSlice, если этот тип ресурсов не исключен глобально

jsonPointers:
- /metadata
- /endpoints
- /ports

configs.cm.resource.customizations.ignoreResourceUpdates.Endpoints

Игнорирование обновления Endpoints, если этот тип ресурсов не исключен глобально

jsonPointers:
- /metadata
- /subsets

configs.cm.resource.exclusions

Сисок исключений ресурсов Kubernetes, которые Argo CD не будет отслеживать для снижения нагрузки и визуального шума

### Network resources created by the Kubernetes control plane and excluded to reduce the number of watched events and UI clutter
- apiGroups:
- „“
- discovery.k8s.io
kinds:
- Endpoints
- EndpointSlice
### Internal Kubernetes resources excluded reduce the number of watched events
- apiGroups:
- coordination.k8s.io
kinds:
- Lease
### Internal Kubernetes Authz/Authn resources excluded reduce the number of watched events
- apiGroups:
- authentication.k8s.io
- authorization.k8s.io
kinds:
- SelfSubjectReview
- TokenReview
- LocalSubjectAccessReview
- SelfSubjectAccessReview
- SelfSubjectRulesReview
- SubjectAccessReview
### Intermediate Certificate Request excluded reduce the number of watched events
- apiGroups:
- certificates.k8s.io
kinds:
- CertificateSigningRequest
- apiGroups:
- cert-manager.io
kinds:
- CertificateRequest
### Cilium internal resources excluded reduce the number of watched events and UI Clutter
- apiGroups:
- cilium.io
kinds:
- CiliumIdentity
- CiliumEndpoint
- CiliumEndpointSlice
### Kyverno intermediate and reporting resources excluded reduce the number of watched events and improve performance
- apiGroups:
- kyverno.io
- reports.kyverno.io
- wgpolicyk8s.io
kinds:
- PolicyReport
- ClusterPolicyReport
- EphemeralReport
- ClusterEphemeralReport
- AdmissionReport
- ClusterAdmissionReport
- BackgroundScanReport
- ClusterBackgroundScanReport
- UpdateRequest

configs.params.create

Создать ресурс

true

configs.params.annotations

Добавление аннотации в ConfigMap argocd-cmd-params-cm

{}

configs.params.otlp.address

Адрес

""

configs.params.controller.status.processors

Количество рабочих узлов обработки статуса приложений в контроллере

20

configs.params.controller.operation.processors

Количество рабочих узлов обработки операций приложений в контроллере

10

configs.params.controller.self.heal.timeout.seconds

Интервал между попытками self-heal приложения

5

configs.params.controller.repo.server.timeout.seconds

Тайм-аут RPC-вызовов к repo-server из контроллера

60

configs.params.controller.sync.timeout.seconds

Максимальное время синхронизации приложения, 0 отключает тайм-аут

0

configs.params.server.insecure

Запуск сервера Argo CD без TLS

true

configs.params.server.basehref

Настройка basehref

/

configs.params.server.rootpath

Путь к файлу или каталогу

""

configs.params.server.staticassets

Настройка staticassets

/shared/app

configs.params.server.disable.auth

Настройки аутентификации

false

configs.params.server.enable.gzip

Настройка gzip

true

configs.params.server.enable.proxy.extension

Настройка extension

false

configs.params.hydrator.enabled

Включает функцию hydrator, находящуюся в alpha-стадии

false

configs.params.server.x.frame.options

Настройка options

sameorigin

configs.params.reposerver.parallelism.limit

Настройка limit

0

configs.params.applicationsetcontroller.policy

Политики

sync

configs.params.applicationsetcontroller.enable.progressive.syncs

Настройка syncs

false

configs.params.applicationsetcontroller.namespaces

Настройка пространств имен

""

configs.params.application.namespaces

Настройка пространств имен

""

configs.params.controller.ignore.normalizer.jq.timeout

Тайм-аут вычисления JQPathExpression при нормализации ресурсов

"1s"

configs.rbac.create

Создавать ли ресурс

true

configs.rbac.annotations

Добавление аннотации в ConfigMap argocd-rbac-cm

{}

configs.rbac.policy.default

Настройка default

""

configs.rbac.policy.csv

Настройка csv

p, role:org-admin, applications, *, /, allow
p, role:org-admin, clusters, get, *, allow
p, role:org-admin, repositories, *, *, allow
p, role:org-admin, logs, get, *, allow
p, role:org-admin, exec, create, /, allow
g, kubeadmin, role:admin
g, argocd-admin, role:admin

configs.rbac.scopes

Настройка scopes

[groups, email]

configs.rbac.policy.matchMode

Определение функции сопоставления Casbin, возможные режимы: glob и regex

"glob"

configs.gpg.annotations

Добавление аннотации в ConfigMap argocd-gpg-keys-cm

{}

configs.gpg.keys

Публичные GnuPG-ключи для проверки подписей коммитов. Пример конфигурации:

4AEE18F83AFDEB23:


—–BEGIN PGP PUBLIC KEY BLOCK—–
…
—–END PGP PUBLIC KEY BLOCK—–

configs.ssh.create

Создавать ли ресурс

true

configs.ssh.annotations

Добавление аннотации в ConfigMap argocd-ssh-known-hosts-cm

{}

configs.ssh.knownHosts

Список известных SSH-ключей для Git-репозиториев по умолчанию

[ssh.github.com]:443 ecdsa-sha2-nistp256 …
[ssh.github.com]:443 ssh-ed25519 …
[ssh.github.com]:443 ssh-rsa …
bitbucket.org ecdsa-sha2-nistp256 …
bitbucket.org ssh-ed25519 …
bitbucket.org ssh-rsa …
github.com ecdsa-sha2-nistp256 …
github.com ssh-ed25519 …
github.com ssh-rsa …
gitlab.com ecdsa-sha2-nistp256 …
gitlab.com ssh-ed25519 …
gitlab.com ssh-rsa …
ssh.dev.azure.com ssh-rsa …
vs-ssh.visualstudio.com ssh-rsa …

configs.ssh.extraHosts

Дополнительные адреса для приватных репозиториев

""

configs.tls.annotations

Добавление аннотации в ConfigMap argocd-tls-certs-cm

{}

configs.tls.certificates

TLS-сертификаты Git-репозиториев, например, для самоподписанных или кастомных CA

{}

configs.tls.create

Создание ресурса ConfigMap argocd-tls-certs-cm

true

configs.cmp.create

Создание ресурса ConfigMap argocd-cmp-cm

false

configs.cmp.annotations

Добавление аннотации в ConfigMap argocd-cmp-cm

{}

configs.cmp.plugins

YAML-описания плагинов Config Management Plugin. Пример конфигурации:

my-plugin:
init:
command: [sh]
args: [-c, „echo «Initializing…»“]
generate:
command: [sh, -c]
args:
-


echo «{«kind»: «ConfigMap», «apiVersion»: «v1», «metadata»: { «name»: «\(ARGOCD_APP_NAME\", \"namespace\": \"\)ARGOCD_APP_NAMESPACE», «annotations»: {«Foo»: «\(ARGOCD_ENV_FOO\", \"KubeVersion\": \"\)KUBE_VERSION», «KubeApiVersion»: «$KUBE_API_VERSIONS»,»Bar»: «baz»}}}»
discover:
fileName: «./subdir/s*.yaml»
find:
glob: «**/Chart.yaml»
command: [sh, -c, find . -name env.yaml]

configs.clusterCredentials

Задает учетные данные внешних кластеров для декларативного подключения к Argo CD. Пример конфигурации:

mycluster:
server: https://mycluster.example.com
labels: {}
annotations: {}
config:
bearerToken: «<authentication token>»
tlsClientConfig:
insecure: false
caData: «<base64 encoded certificate>»

{}

configs.credentialTemplates

Задает шаблоны учетных данных репозиториев. Пример конфигурации:

github-enterprise-creds-1:
url: https://github.com/argoproj
githubAppID: 1
githubAppInstallationID: 2
githubAppEnterpriseBaseUrl: https://ghe.example.com/api/v3
githubAppPrivateKey:


—–BEGIN OPENSSH PRIVATE KEY—–
…
—–END OPENSSH PRIVATE KEY—–

configs.credentialTemplatesAnnotations

Добавляет аннотации в Secret, создаваемые из configs.credentialTemplates

{}

configs.repositories

Задает список Git и Helm-репозиториев, доступных для приложений Argo CD. Пример конфигурации:

istio-helm-repo:
url: https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts
name: istio.io
type: helm

{}

configs.repositoriesAnnotations

Добавляет аннотации в Secret, создаваемые из configs.repositories

{}

configs.secret.createSecret

Настройка createsecret

true

configs.secret.labels

Добавляет метки в Secret argocd-secret

{}

configs.secret.annotations

Добавляет аннотации в Secret argocd-secret

{}

configs.secret.githubSecret

Настройка githubsecret

""

configs.secret.gitlabSecret

Настройка gitlabsecret

""

configs.secret.bitbucketServerSecret

Настройка bitbucketserversecret

""

configs.secret.bitbucketUUID

Настройка bitbucketuuid

""

configs.secret.gogsSecret

Настройка gogssecret

""

configs.secret.azureDevops.username

Имя пользователя

""

configs.secret.azureDevops.password

Пароль

""

configs.secret.extra

Добавляет дополнительные непустые ключи и значения в argocd-secret, например для передачи SSO-секретов в переменные окружения. Пример конфигурации:

LDAP_PASSWORD: «»

{}

configs.secret.argocdServerAdminPassword

bcrypt-хеш пароля администратора Argo CD

""

configs.secret.argocdServerAdminPasswordMtime

Время изменения пароля администратора, по умолчанию используется текущее время

""

configs.styles

Пользовательские CSS-стили для интерфейса Argo CD, которые будут автоматически смонтированы и подключены. Пример конфигурации:

.sidebar {
background: linear-gradient(to bottom, #999, #777, #333, #222, #111);
}

""

extraObjects - Дополнительные Kubernetes-объекты для развертывания#

Параметр

Описание

Значение по умолчанию

extraObjects

Добавление дополнительных Kubernetes-объектов в релиз, поддерживает использование пользовательских Helm-шаблонов. Пример конфигурации:

- apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: argocd-secrets-store
spec:
provider: aws
parameters:
objects:


- objectName: «argocd»
objectType: «secretsmanager»
jmesPath:
- path: «client_id»
objectAlias: «client_id»
- path: «client_secret»
objectAlias: «client_secret»
secretObjects:
- data:
- key: client_id
objectName: client_id
- key: client_secret
objectName: client_secret
secretName: argocd-secrets-store
type: Opaque
labels:
app.kubernetes.io/part-of: argocd

controller - Настройки Application Controller компонента#

Параметр

Описание

Значение по умолчанию

controller.name

Имя ресурса или компонента

application-controller

controller.replicas

Количество реплик Application Controller

1

controller.dynamicClusterDistribution

Настройка dynamicclusterdistribution

false

controller.runtimeClassName

Настройка runtimeclassname

""

controller.heartbeatTime

Настройка heartbeattime

10

controller.revisionHistoryLimit

Настройка revisionhistorylimit

5

controller.pdb.enabled

Включить/отключить функцию

false

controller.pdb.labels

Добавление меток в PodDisruptionBudget Application Controller

{}

controller.pdb.annotations

Добавление аннотации в PodDisruptionBudget Application Controller

{}

controller.pdb.minAvailable

Минимальное значение

""

controller.pdb.maxUnavailable

Максимальное значение

""

controller.vpa.enabled

Включение создания VerticalPodAutoscaler для Application Controller

false

controller.vpa.labels

Добавление меток в VerticalPodAutoscaler Application Controller

{}

controller.vpa.annotations

Добавляет аннотации в VerticalPodAutoscaler Application Controller

{}

controller.vpa.updateMode

Режим работы VPA для обновления ресурсов контейнера

Initial

controller.vpa.containerPolicy

Правила расчета рекомендуемых ресурсов для контейнера Application Controller. Пример конфигурации:

controlledResources: [«cpu», «memory»]
minAllowed:
cpu: 250m
memory: 256Mi
maxAllowed:
cpu: 1
memory: 1Gi

{}

controller.image.repository

Репозиторий образа контроллера

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

controller.image.tag

Тег образа контроллера

v3.3.10

controller.image.imagePullPolicy

Политики

""

controller.imagePullSecrets

Настройка imagepullsecrets

[]

controller.extraArgs

Настройка extraargs

[]

controller.env

Переменные окружения

[]

controller.envFrom

Подключение источников переменных окружения через envFrom для Application Controller. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

controller.extraContainers

Настройка extracontainers

[]

controller.initContainers

Добавление init-контейнеров в pod Application Controller. Пример конфигурации:

- name: download-tools
image: alpine:3
command: [sh, -c]
args:
- wget -qO /custom-tools/kubelogin.zip https://github.com/Azure/kubelogin/releases/download/v0.2.7/kubelogin-linux-amd64.zip &&
mkdir /custom-tools/tmp && unzip -d /custom-tools/tmp /custom-tools/kubelogin.zip &&
mv /custom-tools/tmp/bin/linux_amd64/kubelogin /custom-tools/ && rm -rf custom-tools/tmp && rm /custom-tools/kubelogin.zip
volumeMounts:
- mountPath: /custom-tools
name: custom-tools

[]

controller.volumeMounts

Дополнительные volumeMount в основной контейнер Application Controller. Пример конфигурации:

- mountPath: /usr/local/bin/kubelogin
name: custom-tools
subPath: kubelogin

[]

controller.volumes

Дополнительные тома в pod Application Controller. Пример конфигурации:

- name: custom-tools
emptyDir: {}

[]

controller.emptyDir.sizeLimit

Настройка sizelimit

""

controller.statefulsetAnnotations

Добавление аннотации в StatefulSet Application Controller

{}

controller.statefulsetLabels

Добавление меток в StatefulSet Application Controller

{}

controller.deploymentAnnotations

Добавление аннотации в Deployment Application Controller

{}

controller.deploymentLabels

Добавление меток в Deployment Application Controller

{}

controller.podAnnotations

Добавление аннотации в pod Application Controller

{}

controller.podLabels

Добавление меток в pod Application Controller

{}

controller.resources

Определение requests и limits ресурсов для pod Application Controller. Пример конфигурации:

limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi

{}

controller.containerPorts.metrics

Порт контейнера для метрик Application Controller

8082

controller.hostNetwork

Запуск pod Application Controller в режиме host network

false

controller.dnsConfig

Определение пользовательской DNS-конфигурацию для pod Application Controller

{}

controller.dnsPolicy

DNS-политики для pod Application Controller

ClusterFirst

controller.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

controller.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы контейнера в режиме «только чтение»

true

controller.containerSecurityContext.allowPrivilegeEscalation

Запрет повышения привилегий внутри контейнера

false

controller.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

controller.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

controller.readinessProbe.failureThreshold

Настройка failurethreshold

3

controller.readinessProbe.initialDelaySeconds

Настройка initialdelayseconds

10

controller.readinessProbe.periodSeconds

Настройка periodseconds

10

controller.readinessProbe.successThreshold

Настройка successthreshold

1

controller.readinessProbe.timeoutSeconds

Настройка timeoutseconds

1

controller.terminationGracePeriodSeconds

Минимальное значение

30

controller.priorityClassName

Настройка priorityclassname

""

controller.nodeSelector

Определение nodeSelector для размещения pod Application Controller

{}

controller.tolerations

Tolerations для размещения на узлах

[]

controller.affinity

Определение affinity-правила для размещения pod Application Controller

{}

controller.topologySpreadConstraints

TopologySpreadConstraints для равномерного распределения pod Application Controller. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

controller.automountServiceAccountToken

Монтировать токен сервисного аккаунта автоматически

true

controller.serviceAccount.create

Создавать ли ресурс

true

controller.serviceAccount.name

Имя ресурса или компонента

argocd-application-controller

controller.serviceAccount.annotations

Добавление аннотации в сервисный аккуант Application Controller

{}

controller.serviceAccount.labels

Добавление меток в сервисный аккуант Application Controller

{}

controller.serviceAccount.automountServiceAccountToken

Автоматическое монтирование токена сервисного аккаунта

true

controller.metrics.enabled

Включить метрики контроллера

true

controller.metrics.scrapeTimeout

Настройка scrapetimeout

""

controller.metrics.applicationLabels.enabled

Включить/отключить функцию

false

controller.metrics.applicationLabels.labels

Метки Kubernetes

[]

controller.metrics.service.type

Тип ресурса

ClusterIP

controller.metrics.service.clusterIP

Настройка clusterip

""

controller.metrics.service.annotations

Добавляет аннотации в Service метрик Application Controller

{}

controller.metrics.service.labels

Добавляет метки в Service метрик Application Controller

{}

controller.metrics.service.servicePort

Номер порта

8082

controller.metrics.service.portName

Номер порта

http-metrics

controller.metrics.serviceMonitor.enabled

Включить/отключить функцию

true

controller.metrics.serviceMonitor.interval

Интервал выполнения

30s

controller.metrics.serviceMonitor.honorLabels

Настройка honorlabels

false

controller.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

controller.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

controller.metrics.serviceMonitor.selector

Определяет селектор для выбора экземпляра Prometheus, который должен забирать метрики. Пример конфигурации: prometheus: kube-prometheus

{}

controller.metrics.serviceMonitor.scheme

Настройка scheme

""

controller.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor

{}

controller.metrics.serviceMonitor.namespace

Пространство имен, в котором создается ServiceMonitor

""

controller.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor

{}

controller.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor

{}

controller.metrics.rules.enabled

Включить/отключить функцию

false

controller.metrics.rules.namespace

Пространство имен, в котором создается PrometheusRule

""

controller.metrics.rules.selector

Селектор для PrometheusRule. Пример конфигурации: prometheus: kube-prometheus

{}

controller.metrics.rules.additionalLabels

Добавляет дополнительные метки в PrometheusRule

{}

controller.metrics.rules.annotations

Добавляет аннотации в PrometheusRule

{}

controller.metrics.rules.spec

Определяет содержимое PrometheusRule.spec для Application Controller. Пример конфигурации:

- alert: ArgoAppMissing
expr:


absent(argocd_app_info) == 1
for: 15m
labels:
severity: critical
annotations:
summary: «[Argo CD] No reported applications»
description: >
Argo CD has not reported any applications data for the past 15 minutes which
means that it must be down or not functioning properly. This needs to be
resolved for this cloud to continue to maintain state.
- alert: ArgoAppNotSynced
expr:

controller.clusterRoleRules.enabled

Включить/отключить функцию

false

controller.clusterRoleRules.rules

Cписок пользовательских правил для ClusterRole Application Controller

[]

controller.roleRules

Cписок пользовательских правил для Role Application Controller

[]

controller.networkPolicy.create

Включает создание NetworkPolicy для Application Controller

false

redis - Настройки Redis для кеширования#

Параметр

Описание

Значение по умолчанию

redis.enabled

Включение развертывания Redis

true

redis.name

Имя Redis

redis

redis.runtimeClassName

Настройка runtime class для pod Redis

""

redis.pdb.enabled

Включение/отключение создания PodDisruptionBudget для Redis

false

redis.pdb.labels

Добавление меток в PodDisruptionBudget для Redis

{}

redis.pdb.annotations

Добавление аннотации в PodDisruptionBudget для Redis

{}

redis.pdb.minAvailable

Минимальное количество или процент pod, которые должны оставаться доступными после eviction

""

redis.pdb.maxUnavailable

Максимальное количество или процент pod, которые могут быть недоступны после eviction, имеет приоритет над redis.pdb.minAvailable

""

redis.image.repository

Репозиторий образа Redis

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-redis/redis

redis.image.tag

Тег образа Redis

8.2.3

redis.image.imagePullPolicy

Политики загрузки образа Redis

""

redis.exporter.enabled

Включение/отключение sidecar-контейнера Prometheus redis-exporter

false

redis.exporter.env

Переменные окружения

[]

redis.exporter.image.repository

Репозиторий образа контейнера

ghcr.io/oliver006/redis_exporter

redis.exporter.image.tag

Тег образа контейнера

v1.82.0

redis.exporter.image.imagePullPolicy

Политики загрузки образа redis-exporter

""

redis.exporter.containerSecurityContext.runAsNonRoot

Запрет запуска контейнера redis-exporter от имени root-пользователя

true

redis.exporter.containerSecurityContext.readOnlyRootFilesystem

Монтирование корневой файловой системы контейнера в режиме «только чтение»

true

redis.exporter.containerSecurityContext.allowPrivilegeEscalation

Запрет на повышение привилегий внутри контейнера

false

redis.exporter.containerSecurityContext.seccompProfile.type

Тип профиля seccomp для контейнера

RuntimeDefault

redis.exporter.containerSecurityContext.capabilities.drop

Удаление capabilities из контейнера

- ALL

redis.exporter.readinessProbe.enabled

Включение/отключение readiness probe для redis-exporter

false

redis.exporter.readinessProbe.initialDelaySeconds

Задержка перед первым запуском readiness probe

30

redis.exporter.readinessProbe.periodSeconds

Интервал выполнения readiness probe

15

redis.exporter.readinessProbe.timeoutSeconds

Тайм-аут выполнения readiness probe

15

redis.exporter.readinessProbe.successThreshold

Количество последовательных успешных readiness-проверок redis-exporter после неуспешного состояния

1

redis.exporter.readinessProbe.failureThreshold

Количество последовательных неудачных readiness-проверок redis-exporter после успешного состояния

5

redis.exporter.livenessProbe.enabled

Включение/отключение liveness probe

false

redis.exporter.livenessProbe.initialDelaySeconds

Задержка перед первым запуском liveness probe

30

redis.exporter.livenessProbe.periodSeconds

Интервал выполнения liveness probe

15

redis.exporter.livenessProbe.timeoutSeconds

Тайм-аут выполнения liveness probe

15

redis.exporter.livenessProbe.successThreshold

Количество последовательных успешных liveness-проверок redis-exporter после неуспешного состояния

1

redis.exporter.livenessProbe.failureThreshold

Количество последовательных неудачных liveness-проверок redis-exporter после успешного состояния

5

redis.exporter.resources

Определение requests и limits ресурсов для sidecar-контейнера redis-exporter. Пример конфигурации:

limits:
cpu: 50m
memory: 64Mi
requests:
cpu: 10m
memory: 32Mi

{}

redis.imagePullSecrets

Cписок Secret с учетными данными для загрузки образов из приватного реестра

[]

redis.extraArgs

Дополнительные аргументы командной строки для redis-server. Пример конфигурации:

- –bind
- «0.0.0.0»

[]

redis.env

Переменные окружения для redis-server

[]

redis.envFrom

Источники переменных окружения через envFrom для redis-server. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

redis.readinessProbe.enabled

Включить/отключить функцию

false

redis.readinessProbe.initialDelaySeconds

Настройка initialdelayseconds

30

redis.readinessProbe.periodSeconds

Настройка periodseconds

15

redis.readinessProbe.timeoutSeconds

Настройка timeoutseconds

15

redis.readinessProbe.successThreshold

Настройка successthreshold

1

redis.readinessProbe.failureThreshold

Настройка failurethreshold

5

redis.livenessProbe.enabled

Включить/отключить функцию

false

redis.livenessProbe.initialDelaySeconds

Настройка initialdelayseconds

30

redis.livenessProbe.periodSeconds

Настройка periodseconds

15

redis.livenessProbe.timeoutSeconds

Настройка timeoutseconds

15

redis.livenessProbe.successThreshold

Настройка successthreshold

1

redis.livenessProbe.failureThreshold

Настройка failurethreshold

5

redis.extraContainers

Настройка extracontainers

[]

redis.initContainers

Настройка initcontainers

[]

redis.volumeMounts

Настройка volumemounts

[]

redis.volumes

Тома для контейнеров

[]

redis.deploymentAnnotations

Добавляет аннотации в Deployment Redis server

{}

redis.deploymentLabels

Добавляет метки в Deployment Redis server

{}

redis.podAnnotations

Добавляет аннотации в pod Redis server

{}

redis.podLabels

Добавляет метки в pod Redis server

{}

redis.resources

Определяет requests и limits ресурсов для Redis. Пример конфигурации:

limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi

{}

redis.securityContext.runAsNonRoot

Запрещает запуск pod Redis от root-пользователя

true

redis.securityContext.runAsUser

Задает UID пользователя, от которого запускается pod Redis

999

redis.securityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

redis.containerPorts.redis

Настройка Redis

6379

redis.containerPorts.metrics

Настройки метрик

9121

redis.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod Redis

{}

redis.dnsPolicy

Политики

ClusterFirst

redis.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

redis.containerSecurityContext.allowPrivilegeEscalation

Запрещает повышение привилегий внутри контейнера Redis

false

redis.containerSecurityContext.capabilities.drop

Удаляет capabilities из контейнера Redis

- ALL

redis.servicePort

Задает Service port для Redis

6379

redis.priorityClassName

Настройка priorityclassname

""

redis.nodeSelector

Определяет nodeSelector для размещения pod Redis

{}

redis.tolerations

Определяет tolerations для работы с taint на узлах

[]

redis.affinity

Определяет affinity-правила для размещения pod Redis

{}

redis.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod Redis. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

redis.terminationGracePeriodSeconds

Задает время graceful shutdown для lifecycle hook контейнера

30

redis.automountServiceAccountToken

Управляет автоматическим монтированием API credentials service account в pod

true

redis.serviceAccount.create

Создает service account для pod Redis

false

redis.serviceAccount.name

Имя ресурса или компонента

""

redis.serviceAccount.annotations

Добавляет аннотации в service account Redis

{}

redis.serviceAccount.automountServiceAccountToken

Управляет автоматическим монтированием API credentials в service account Redis

false

redis.service.annotations

Добавляет аннотации в Service Redis

{}

redis.service.labels

Добавляет дополнительные метки в Service Redis

{}

redis.metrics.enabled

Включить/отключить функцию

false

redis.metrics.service.type

Тип ресурса

ClusterIP

redis.metrics.service.clusterIP

Настройка clusterip

None

redis.metrics.service.annotations

Добавляет аннотации в Service метрик Redis

{}

redis.metrics.service.labels

Добавляет метки в Service метрик Redis

{}

redis.metrics.service.servicePort

Номер порта

9121

redis.metrics.service.portName

Номер порта

http-metrics

redis.metrics.serviceMonitor.enabled

Включает создание Prometheus ServiceMonitor для метрик Redis

true

redis.metrics.serviceMonitor.interval

Задает интервал опроса метрик Redis

30s

redis.metrics.serviceMonitor.honorLabels

Сохраняет метки метрик при конфликте с метками target

false

redis.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

redis.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

redis.metrics.serviceMonitor.selector

Определяет selector для выбора Prometheus instance, который должен забирать метрики Redis

{}

redis.metrics.serviceMonitor.scheme

Настройка scheme

""

redis.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor Redis

{}

redis.metrics.serviceMonitor.namespace

Задает namespace, в котором создается ServiceMonitor Redis

""

redis.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor Redis

{}

redis.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor Redis

{}

redis.networkPolicy.create

Включает создание NetworkPolicy для Redis

false

externalRedis - Настройки для подключения к внешнему Redis#

Параметр

Описание

Значение по умолчанию

externalRedis.host

Задает адрес внешнего Redis-сервера

""

externalRedis.username

Задает имя пользователя для подключения к внешнему Redis

""

externalRedis.password

Задает пароль для подключения к внешнему Redis

""

externalRedis.port

Задает порт внешнего Redis-сервера

6379

externalRedis.existingSecret

Задает имя существующего Secret с учетными данными Redis и Sentinel, при использовании этого параметра externalRedis.username и externalRedis.password игнорируются

""

externalRedis.secretAnnotations

Добавляет аннотации в Secret с параметрами внешнего Redis

{}

redisSecretInit - Инициализация секретов для Redis#

Параметр

Описание

Значение по умолчанию

redisSecretInit.enabled

Включает Job для инициализации Secret Redis, при отключении Secret должен создаваться другим способом

true

redisSecretInit.name

Задает имя Job для инициализации Secret Redis

redis-secret-init

redisSecretInit.image.repository

Репозиторий образа контейнера

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

redisSecretInit.image.tag

Тег образа контейнера

v3.3.10

redisSecretInit.image.imagePullPolicy

Определяет политику загрузки образа для Job инициализации Secret Redis

""

redisSecretInit.extraArgs

Добавляет дополнительные аргументы командной строки для Job инициализации Secret Redis

[]

redisSecretInit.imagePullSecrets

Настройка imagepullsecrets

[]

redisSecretInit.runtimeClassName

Задает runtime class для Job инициализации Secret Redis

""

redisSecretInit.jobAnnotations

Добавляет аннотации в Job инициализации Secret Redis

{}

redisSecretInit.podAnnotations

Добавляет аннотации в pod Job инициализации Secret Redis

{}

redisSecretInit.podLabels

Добавляет метки в pod Job инициализации Secret Redis

{}

redisSecretInit.resources

Определяет requests и limits ресурсов для Job инициализации Secret Redis. Пример конфигурации:

limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi

{}

redisSecretInit.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

redisSecretInit.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

redisSecretInit.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

redisSecretInit.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

redisSecretInit.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

redisSecretInit.securityContext

Определяет pod-level security context для Job инициализации Secret Redis

{}

redisSecretInit.serviceAccount.create

Создает service account для pod Job инициализации Secret Redis

true

redisSecretInit.serviceAccount.name

Задает имя service account для pod Job инициализации Secret Redis

""

redisSecretInit.serviceAccount.annotations

Добавляет аннотации в service account Job инициализации Secret Redis

{}

redisSecretInit.serviceAccount.automountServiceAccountToken

Управляет автоматическим монтированием API credentials в service account Job

true

redisSecretInit.priorityClassName

Настройка priorityclassname

""

redisSecretInit.affinity

Определяет affinity-правила для размещения Job инициализации Secret Redis

{}

redisSecretInit.nodeSelector

Определяет nodeSelector для размещения Job инициализации Secret Redis

{}

redisSecretInit.tolerations

Tolerations для размещения на узлах

[]

server - Настройки ArgoCD Server (API-сервер и Web UI)#

Параметр

Описание

Значение по умолчанию

server.name

Имя ресурса или компонента

server

server.replicas

Количество реплик сервера ArgoCD

1

server.runtimeClassName

Настройка runtimeclassname

""

server.autoscaling.enabled

Включить/отключить функцию

false

server.autoscaling.minReplicas

Минимальное значение

1

server.autoscaling.maxReplicas

Максимальное значение

5

server.autoscaling.targetCPUUtilizationPercentage

Настройка targetcpuutilizationpercentage

50

server.autoscaling.targetMemoryUtilizationPercentage

Настройка targetmemoryutilizationpercentage

50

server.autoscaling.behavior

Определяет поведение масштабирования HPA по направлениям scale up и scale down. Пример конфигурации:

scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 1
periodSeconds: 180
scaleUp:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 2
periodSeconds: 60

{}

server.autoscaling.metrics

Настройки метрик

[]

server.pdb.enabled

Включить/отключить функцию

false

server.pdb.labels

Добавляет метки в PodDisruptionBudget Argo CD Server

{}

server.pdb.annotations

Добавляет аннотации в PodDisruptionBudget Argo CD Server

{}

server.pdb.minAvailable

Минимальное значение

""

server.pdb.maxUnavailable

Максимальное значение

""

server.image.repository

Репозиторий образа сервера

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

server.image.tag

Тег образа сервера

v3.3.10

server.image.imagePullPolicy

Определяет политику загрузки образа Argo CD Server

""

server.imagePullSecrets

Настройка imagepullsecrets

[]

server.extraArgs

Настройка extraargs

[]

server.env

Переменные окружения

[]

server.envFrom

Настройка envfrom. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

server.lifecycle

Определяет postStart и preStop lifecycle hooks для контейнера argo-cd-server

{}

server.extensions.enabled

Включить/отключить функцию

false

server.extensions.image.repository

Репозиторий образа контейнера

quay.io/argoprojlabs/argocd-extension-installer

server.extensions.image.tag

Тег образа контейнера

v0.0.9

server.extensions.image.imagePullPolicy

Политики

""

server.extensions.extensionList

Cписок UI-расширений Argo CD. Пример конфигурации:

- name: extension-metrics
env:
- name: EXTENSION_URL
value: https:///argoproj-labs/argocd-extension-metrics/releases/download/v1.0.0/extension.tar.gz
- name: EXTENSION_CHECKSUM_URL
value: https:///argoproj-labs/argocd-extension-metrics/releases/download/v1.0.0/extension_checksums.txt

[]

server.extensions.containerSecurityContext.runAsNonRoot

Запрещает запуск контейнера расширений от root-пользователя

true

server.extensions.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

server.extensions.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

server.extensions.containerSecurityContext.runAsUser

Настройка runasuser

1000

server.extensions.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

server.extensions.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

server.extensions.resources

Определяет requests и limits ресурсов для контейнера argocd-extensions. Пример конфигурации:

limits:
cpu: 50m
memory: 128Mi
requests:
cpu: 10m
memory: 64Mi

{}

server.extraContainers

Настройка extracontainers. Пример конфигурации:

- name: my-sidecar
image: nginx:latest

[]

server.initContainers

Настройка initcontainers. Пример конфигурации:

- name: download-tools
image: alpine:3
command: [sh, -c]
args:
- wget -qO /custom-tools/kubelogin.zip https:///Azure/kubelogin/releases/download/v0.2.7/kubelogin-linux-amd64.zip &&
mkdir /custom-tools/tmp && unzip -d /custom-tools/tmp /custom-tools/kubelogin.zip &&
mv /custom-tools/tmp/bin/linux_amd64/kubelogin /custom-tools/ && rm -rf custom-tools/tmp && rm /custom-tools/kubelogin.zip
volumeMounts:
- mountPath: /custom-tools
name: custom-tools

[]

server.volumeMounts

Настройка volumemounts

- name: ingress-tls
readOnly: true
mountPath: /etc/ssl/certs/tls.crt
subPath: tls.crt

server.volumes

Тома для контейнеров

- name: ingress-tls
secret:
secretName: ingress-tls
items:
- key: tls.crt
path: tls.crt
defaultMode: 420

server.emptyDir.sizeLimit

Настройка sizelimit

""

server.deploymentAnnotations

Добавляет аннотации в Deployment Argo CD Server

{}

server.deploymentLabels

Добавляет метки в Deployment Argo CD Server

{}

server.podAnnotations

Добавляет аннотации в pod Argo CD Server

{}

server.podLabels

Добавляет метки в pod Argo CD Server

{}

server.resources

Определяет requests и limits ресурсов для Argo CD Server. Пример конфигурации:

limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 50m
memory: 64Mi

{}

server.containerPorts.server

Настройка server

8080

server.containerPorts.metrics

Настройки метрик

8083

server.hostNetwork

Имя хоста или адрес

false

server.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod Argo CD Server

{}

server.dnsPolicy

Политики

ClusterFirst

server.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

server.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

server.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

server.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

server.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

server.readinessProbe.enabled

Включает readiness probe для Argo CD Server

true

server.readinessProbe.failureThreshold

Определяет количество последовательных неудачных readiness-проверок после успешного состояния

3

server.readinessProbe.initialDelaySeconds

Задает задержку перед первым запуском readiness probe

10

server.readinessProbe.periodSeconds

Задает интервал выполнения readiness probe

10

server.readinessProbe.successThreshold

Определяет количество последовательных успешных readiness-проверок после неуспешного состояния

1

server.readinessProbe.timeoutSeconds

Задает тайм-аут выполнения readiness probe

1

server.livenessProbe.enabled

Включает liveness probe для Argo CD Server

true

server.livenessProbe.failureThreshold

Определяет количество последовательных неудачных liveness-проверок после успешного состояния

3

server.livenessProbe.initialDelaySeconds

Задает задержку перед первым запуском liveness probe

10

server.livenessProbe.periodSeconds

Задает интервал выполнения liveness probe

10

server.livenessProbe.successThreshold

Определяет количество последовательных успешных liveness-проверок после неуспешного состояния

1

server.livenessProbe.timeoutSeconds

Задает тайм-аут выполнения liveness probe

1

server.terminationGracePeriodSeconds

Минимальное значение

30

server.priorityClassName

Настройка priorityclassname

""

server.nodeSelector

Определяет nodeSelector для размещения pod Argo CD Server

{}

server.tolerations

Tolerations для размещения на узлах

[]

server.affinity

Определяет affinity-правила для размещения pod Argo CD Server

{}

server.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod Argo CD Server. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

server.deploymentStrategy

Определяет стратегию Deployment для Argo CD Server. Пример конфигурации:

type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%

{}

server.certificate.enabled

Создать сертификат через cert-manager

false

server.certificate.additionalHosts

Имя хоста или адрес

[]

server.certificate.domain

Настройка domain

""

server.certificate.duration

Настройка duration

""

server.certificate.renewBefore

Настройка renewbefore

""

server.certificate.issuer.group

Настройка group

""

server.certificate.issuer.kind

Настройка kind

""

server.certificate.issuer.name

Имя ресурса или компонента

""

server.certificate.privateKey.rotationPolicy

Политики

Never

server.certificate.privateKey.encoding

Настройка encoding

PKCS1

server.certificate.privateKey.algorithm

Настройка algorithm

RSA

server.certificate.privateKey.size

Размер ресурса

2048

server.certificate.annotations

Добавляет аннотации в ресурс Certificate Argo CD Server

{}

server.certificate.usages

Настройка usages

[]

server.certificate.secretTemplateAnnotations

Добавляет аннотации в secretTemplate сертификата для композиции из существующих ресурсов Kubernetes

{}

server.certificateSecret.enabled

Включить/отключить функцию

false

server.certificateSecret.annotations

Добавляет аннотации в Secret argocd-server-tls

{}

server.certificateSecret.labels

Добавляет метки в Secret argocd-server-tls

{}

server.certificateSecret.key

Ключ

""

server.certificateSecret.crt

Настройка crt

""

server.service.annotations

Добавляет аннотации в Service Argo CD Server

{}

server.service.labels

Добавляет метки в Service Argo CD Server

{}

server.service.type

Тип Service для сервера (ClusterIP, NodePort, LoadBalancer)

ClusterIP

server.service.nodePortHttp

Номер порта

30080

server.service.nodePortHttps

Номер порта

30443

server.service.servicePortHttp

HTTP-порт для сервиса

80

server.service.servicePortHttps

HTTPS порт для сервиса

443

server.service.servicePortHttpName

Номер порта

http

server.service.servicePortHttpsName

Номер порта

https

server.service.servicePortHttpsAppProtocol

Номер порта

""

server.service.loadBalancerClass

Настройка loadbalancerclass

""

server.service.loadBalancerIP

Настройка loadbalancerip

""

server.service.loadBalancerSourceRanges

Настройка loadbalancersourceranges

[]

server.service.externalIPs

Настройка externalips

[]

server.service.externalTrafficPolicy

Политики

Cluster

server.service.sessionAffinity

Настройка sessionaffinity

None

server.metrics.enabled

Включить/отключить функцию

true

server.metrics.service.clusterIP

Настройка clusterip

""

server.metrics.service.annotations

Добавляет аннотации в Service метрик Argo CD Server

{}

server.metrics.service.labels

Добавляет метки в Service метрик Argo CD Server

{}

server.metrics.service.servicePort

Номер порта

8083

server.metrics.service.portName

Номер порта

http-metrics

server.metrics.serviceMonitor.enabled

Включает создание Prometheus ServiceMonitor для метрик Argo CD Server

true

server.metrics.serviceMonitor.interval

Задает интервал опроса метрик

30s

server.metrics.serviceMonitor.scrapeTimeout

Задает scrapeTimeout для ServiceMonitor

""

server.metrics.serviceMonitor.honorLabels

Сохраняет метки метрик при конфликте с метками target

false

server.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

server.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

server.metrics.serviceMonitor.selector

Определяет selector для выбора Prometheus instance

{}

server.metrics.serviceMonitor.scheme

Настройка scheme

""

server.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor

{}

server.metrics.serviceMonitor.namespace

Задает namespace, в котором создается ServiceMonitor

""

server.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor

{}

server.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor

{}

server.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

server.serviceAccount.create

Создавать ли ресурс

true

server.serviceAccount.name

Имя ресурса или компонента

argocd-server

server.serviceAccount.annotations

Добавляет аннотации в service account Argo CD Server

{}

server.serviceAccount.labels

Добавляет метки в service account Argo CD Server

{}

server.serviceAccount.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

server.consoleLink.enabled

Включает создание ConsoleLink для Argo CD Server

true

server.ingress.enabled

Включить Ingress для сервера

true

server.ingress.controller

Настройка controller

generic

server.ingress.labels

Добавляет метки в ingress Argo CD Server

{}

server.ingress.annotations

Добавляет аннотации в ingress Argo CD Server

{}

server.ingress.ingressClassName

Настройка ingressclassname

nginx

server.ingress.hostname

Hostname для Ingress

""

server.ingress.path

Путь к файлу или каталогу

/

server.ingress.pathType

Путь к файлу или каталогу

Prefix

server.ingress.tls

Включить TLS в Ingress

false

server.ingress.extraHosts

Имя хоста или адрес. Пример конфигурации:

- name: argocd.example.com
path: /

[]

server.ingress.extraPaths

Путь к файлу или каталогу. Пример конфигурации:

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: use-annotation

[]

server.ingress.extraRules

Правила. Пример конфигурации:

- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: „“
port:
name: „“

[]

server.ingress.extraTls

Задает дополнительную TLS-конфигурацию ingress

- hosts:
- „argocd.“
secretName: ingress-tls

server.ingress.aws.backendProtocolVersion

Настройка backendprotocolversion

GRPC

server.ingress.aws.serviceType

Настройка servicetype

NodePort

server.ingress.aws.serviceAnnotations

Добавляет аннотации в AWS ALB gRPC service

{}

server.ingress.gke.backendConfig

Определяет BackendConfig для GKE Ingress Controller. Пример конфигурации:

iap:
enabled: true
oauthclientCredentials:
secretName: argocd-secret

{}

server.ingress.gke.frontendConfig

Определяет FrontendConfig для GKE Ingress Controller. Пример конфигурации:

redirectToHttps:
enabled: true
responseCodeName: RESPONSE_CODE

{}

server.ingress.gke.managedCertificate.create

Создавать ли ресурс

true

server.ingress.gke.managedCertificate.extraDomains

Настройка extradomains

[]

server.ingressGrpc.enabled

Включить/отключить функцию

false

server.ingressGrpc.annotations

Добавляет аннотации в gRPC ingress

{}

server.ingressGrpc.labels

Добавляет метки в gRPC ingress

{}

server.ingressGrpc.ingressClassName

Настройка ingressclassname

""

server.ingressGrpc.hostname

Имя хоста или адрес

""

server.ingressGrpc.path

Путь к файлу или каталогу

/

server.ingressGrpc.pathType

Путь к файлу или каталогу

Prefix

server.ingressGrpc.tls

Настройки TLS/SSL

false

server.ingressGrpc.extraHosts

Имя хоста или адрес. Пример конфигурации:

- name: grpc.argocd.example.com
path: /

[]

server.ingressGrpc.extraPaths

Путь к файлу или каталогу. Пример конфигурации:

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: use-annotation

[]

server.ingressGrpc.extraRules

Правила. Пример конфигурации:

- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: „“
port:
name: „“

[]

server.ingressGrpc.extraTls

Задает дополнительную TLS-конфигурацию для gRPC ingress. Пример конфигурации:

- secretName: your-certificate-name
hosts:
- argocd.example.com

[]

server.route.enabled

Включить/отключить функцию

false

server.route.annotations

Добавляет аннотации в OpenShift Route

{}

server.route.hostname

Имя хоста или адрес

""

server.route.termination_type

Определяет тип termination для OpenShift Route

passthrough

server.route.termination_policy

Определяет termination policy для OpenShift Route

None

server.httproute.enabled

Включает ресурс HTTPRoute для Argo CD Server через Gateway API

false

server.httproute.labels

Добавляет метки в HTTPRoute

{}

server.httproute.annotations

Добавляет аннотации в HTTPRoute

{}

server.httproute.parentRefs

Задает parentRefs Gateway API для HTTPRoute. Пример конфигурации:

- name: example-gateway
namespace: example-gateway-namespace
sectionName: https

[]

server.httproute.hostnames

Задает список hostnames для HTTPRoute

[]

server.httproute.rules

Определяет правила HTTPRoute

- matches:
- path:
type: PathPrefix
value: /

server.grpcroute.enabled

Включает ресурс GRPCRoute для Argo CD Server через Gateway API

false

server.grpcroute.labels

Добавляет метки в GRPCRoute

{}

server.grpcroute.annotations

Добавляет аннотации в GRPCRoute

{}

server.grpcroute.parentRefs

Задает parentRefs Gateway API для GRPCRoute. Пример конфигурации:

- name: example-gateway
namespace: example-gateway-namespace
sectionName: grpc

[]

server.grpcroute.hostnames

Задает список hostnames для GRPCRoute

[]

server.grpcroute.rules

Определяет правила GRPCRoute

- matches:
- method:
type: Exact

server.backendTLSPolicy.enabled

Включает ресурс BackendTLSPolicy для Argo CD Server через Gateway API

false

server.backendTLSPolicy.labels

Добавляет метки в BackendTLSPolicy

{}

server.backendTLSPolicy.annotations

Добавляет аннотации в BackendTLSPolicy

{}

server.backendTLSPolicy.targetRefs

Задает целевые ссылки для BackendTLSPolicy. Пример конфигурации:

- group: «»
kind: Service
name: argocd-server
sectionName: https

[]

server.backendTLSPolicy.validation

Определяет параметры TLS-валидации для BackendTLSPolicy. Пример конфигурации:

hostname: argocd-server.argocd.svc.cluster.local
caCertificateRefs:
- name: example-ca-cert
group: «»
kind: ConfigMap
wellKnownCACertificates: System

{}

server.clusterRoleRules.enabled

Включить/отключить функцию

false

server.clusterRoleRules.rules

Правила

[]

server.networkPolicy.create

Включает создание NetworkPolicy для Argo CD Server

false

repoServer - Настройки Repository Server для работы с Git репозиториями#

Параметр

Описание

Значение по умолчанию

repoServer.name

Имя ресурса или компонента

repo-server

repoServer.replicas

Количество реплик Repository Server

1

repoServer.runtimeClassName

Настройка runtimeclassname

""

repoServer.autoscaling.enabled

Включить/отключить функцию

false

repoServer.autoscaling.minReplicas

Минимальное значение

1

repoServer.autoscaling.maxReplicas

Максимальное значение

5

repoServer.autoscaling.targetCPUUtilizationPercentage

Настройка targetcpuutilizationpercentage

50

repoServer.autoscaling.targetMemoryUtilizationPercentage

Настройка targetmemoryutilizationpercentage

50

repoServer.autoscaling.behavior

Определяет поведение масштабирования HPA по направлениям scale up и scale down. Пример конфигурации:

scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 1
periodSeconds: 180
scaleUp:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 2
periodSeconds: 60

{}

repoServer.autoscaling.metrics

Настройки метрик

[]

repoServer.pdb.enabled

Включить/отключить функцию

false

repoServer.pdb.labels

Добавляет метки в PodDisruptionBudget Repo Server

{}

repoServer.pdb.annotations

Добавляет аннотации в PodDisruptionBudget Repo Server

{}

repoServer.pdb.minAvailable

Минимальное значение

""

repoServer.pdb.maxUnavailable

Максимальное значение

""

repoServer.image.repository

Репозиторий образа repo server

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

repoServer.image.tag

Тег образа repo server

v3.3.10

repoServer.image.imagePullPolicy

Определяет политику загрузки образа Repo Server

""

repoServer.imagePullSecrets

Настройка imagepullsecrets

[]

repoServer.extraArgs

Настройка extraargs

[]

repoServer.env

Переменные окружения

[]

repoServer.envFrom

Настройка envfrom. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

repoServer.lifecycle

Определяет postStart и preStop lifecycle hooks для контейнера argo-repo-server

{}

repoServer.extraContainers

Настройка extracontainers. Пример конфигурации:

- name: cmp-my-plugin
command:
- «/var/run/argocd/argocd-cmp-server»
image: busybox

[]

repoServer.initContainers

Настройка initcontainers

[]

repoServer.copyutil.resources

Определяет requests и limits ресурсов для initContainer copyutil. Пример конфигурации:

limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 50m
memory: 64Mi

{}

repoServer.volumeMounts

Настройка volumemounts

[]

repoServer.volumes

Тома для контейнеров. Пример конфигурации:

- name: argocd-cmp-cm
configMap:
name: argocd-cmp-cm
- name: cmp-tmp
emptyDir: {}

[]

repoServer.existingVolumes

Позволяет заменить стандартные emptyDir volumes существующими volumes. Пример конфигурации:

gpgKeyring:
persistentVolumeClaim:
claimName: pvc-argocd-repo-server-keyring
helmWorkingDir:
persistentVolumeClaim:
claimName: pvc-argocd-repo-server-workdir

{}

repoServer.emptyDir.sizeLimit

Настройка sizelimit

""

repoServer.useEphemeralHelmWorkingDir

Путь к каталогу

true

repoServer.deploymentAnnotations

Добавляет аннотации в Deployment Repo Server

{}

repoServer.deploymentLabels

Добавляет метки в Deployment Repo Server

{}

repoServer.podAnnotations

Добавляет аннотации в pod Repo Server

{}

repoServer.podLabels

Добавляет метки в pod Repo Server

{}

repoServer.resources

Определяет requests и limits ресурсов для Repo Server. Пример конфигурации:

limits:
cpu: 50m
memory: 128Mi
requests:
cpu: 10m
memory: 64Mi

{}

repoServer.containerPorts.server

Настройка server

8081

repoServer.containerPorts.metrics

Настройки метрик

8084

repoServer.hostNetwork

Имя хоста или адрес

false

repoServer.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod Repo Server

{}

repoServer.dnsPolicy

Политики

ClusterFirst

repoServer.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

repoServer.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

repoServer.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

repoServer.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

repoServer.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

repoServer.readinessProbe.enabled

Включает readiness probe для Repo Server

true

repoServer.readinessProbe.failureThreshold

Определяет количество последовательных неудачных readiness-проверок после успешного состояния

3

repoServer.readinessProbe.initialDelaySeconds

Задает задержку перед первым запуском readiness probe

10

repoServer.readinessProbe.periodSeconds

Задает интервал выполнения readiness probe

10

repoServer.readinessProbe.successThreshold

Определяет количество последовательных успешных readiness-проверок после неуспешного состояния

1

repoServer.readinessProbe.timeoutSeconds

Задает тайм-аут выполнения readiness probe

1

repoServer.livenessProbe.enabled

Включает liveness probe для Repo Server

true

repoServer.livenessProbe.failureThreshold

Определяет количество последовательных неудачных liveness-проверок после успешного состояния

3

repoServer.livenessProbe.initialDelaySeconds

Задает задержку перед первым запуском liveness probe

10

repoServer.livenessProbe.periodSeconds

Задает интервал выполнения liveness probe

10

repoServer.livenessProbe.successThreshold

Определяет количество последовательных успешных liveness-проверок после неуспешного состояния

1

repoServer.livenessProbe.timeoutSeconds

Задает тайм-аут выполнения liveness probe

1

repoServer.terminationGracePeriodSeconds

Минимальное значение

30

repoServer.nodeSelector

Определяет nodeSelector для размещения pod Repo Server

{}

repoServer.tolerations

Tolerations для размещения на узлах

[]

repoServer.affinity

Определяет affinity-правила для размещения pod Repo Server

{}

repoServer.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod Repo Server. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

repoServer.deploymentStrategy

Определяет стратегию Deployment для Repo Server. Пример конфигурации:

type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%

{}

repoServer.priorityClassName

Настройка priorityclassname

""

repoServer.certificateSecret.enabled

Включить/отключить функцию

false

repoServer.certificateSecret.annotations

Добавляет аннотации в Secret argocd-repo-server-tls

{}

repoServer.certificateSecret.labels

Добавляет метки в Secret argocd-repo-server-tls

{}

repoServer.certificateSecret.ca

Настройка ca

""

repoServer.certificateSecret.key

Задает приватный ключ сертификата

""

repoServer.certificateSecret.crt

Задает данные сертификата, которые должны содержать SAN для Repo service

""

repoServer.service.annotations

Добавляет аннотации в Service Repo Server

{}

repoServer.service.labels

Добавляет метки в Service Repo Server

{}

repoServer.service.port

Номер порта

8081

repoServer.service.portName

Номер порта

tcp-repo-server

repoServer.service.trafficDistribution

Определяет предпочтение распределения трафика для Service Repo Server

""

repoServer.metrics.enabled

Включить метрики repo server

true

repoServer.metrics.service.type

Тип ресурса

ClusterIP

repoServer.metrics.service.clusterIP

Настройка clusterip

""

repoServer.metrics.service.annotations

Добавляет аннотации в Service метрик Repo Server

{}

repoServer.metrics.service.labels

Добавляет метки в Service метрик Repo Server

{}

repoServer.metrics.service.servicePort

Номер порта

8084

repoServer.metrics.service.portName

Номер порта

http-metrics

repoServer.metrics.serviceMonitor.enabled

Включает создание Prometheus ServiceMonitor для метрик Repo Server

true

repoServer.metrics.serviceMonitor.interval

Задает интервал опроса метрик

30s

repoServer.metrics.serviceMonitor.scrapeTimeout

Задает scrapeTimeout для ServiceMonitor

""

repoServer.metrics.serviceMonitor.honorLabels

Настройка honorlabels

false

repoServer.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

repoServer.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

repoServer.metrics.serviceMonitor.selector

Определяет selector для выбора Prometheus instance

{}

repoServer.metrics.serviceMonitor.scheme

Настройка scheme

""

repoServer.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor

{}

repoServer.metrics.serviceMonitor.namespace

Задает namespace, в котором создается ServiceMonitor

""

repoServer.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor

{}

repoServer.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor

{}

repoServer.clusterRoleRules.enabled

Включить/отключить функцию

false

repoServer.clusterRoleRules.rules

Правила

[]

repoServer.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

repoServer.serviceAccount.create

Создавать ли ресурс

true

repoServer.serviceAccount.name

Имя serviceAccount

""

repoServer.serviceAccount.annotations

Добавляет аннотации в service account Repo Server

{}

repoServer.serviceAccount.labels

Добавляет метки в service account Repo Server

{}

repoServer.serviceAccount.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

repoServer.rbac

Определяет дополнительные RBAC-правила для Repo Server. Пример конфигурации:

- apiGroups:
- argoproj.io
resources:
- applications
verbs:
- get
- list
- watch

[]

repoServer.networkPolicy.create

Включает создание NetworkPolicy для Repo Server

false

applicationSet - Настройки ApplicationSet Controller#

Параметр

Описание

Значение по умолчанию

applicationSet.name

Имя ресурса или компонента

applicationset-controller

applicationSet.replicas

Количество реплик ApplicationSet контроллера

1

applicationSet.runtimeClassName

Настройка runtimeclassname

""

applicationSet.pdb.enabled

Включить/отключить функцию

false

applicationSet.pdb.labels

Добавляет метки в PodDisruptionBudget ApplicationSet controller

{}

applicationSet.pdb.annotations

Добавляет аннотации в PodDisruptionBudget ApplicationSet controller

{}

applicationSet.pdb.minAvailable

Минимальное значение

""

applicationSet.pdb.maxUnavailable

Максимальное значение

""

applicationSet.image.repository

Репозиторий образа ApplicationSet

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

applicationSet.image.tag

Тег образа ApplicationSet

v3.3.10

applicationSet.image.imagePullPolicy

Политики

""

applicationSet.imagePullSecrets

Настройка imagepullsecrets

[]

applicationSet.extraArgs

Настройка extraargs

[]

applicationSet.extraEnv

Настройка extraenv. Пример конфигурации:

- name: «MY_VAR»
value: «value»

[]

applicationSet.extraEnvFrom

Настройка extraenvfrom. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

applicationSet.extraContainers

Настройка extracontainers

[]

applicationSet.initContainers

Настройка initcontainers

[]

applicationSet.extraVolumeMounts

Настройка extravolumemounts

[]

applicationSet.extraVolumes

Настройка extravolumes

[]

applicationSet.emptyDir.sizeLimit

Настройка sizelimit

""

applicationSet.metrics.enabled

Включить/отключить функцию

true

applicationSet.metrics.service.type

Тип ресурса

ClusterIP

applicationSet.metrics.service.clusterIP

Настройка clusterip

""

applicationSet.metrics.service.annotations

Добавляет аннотации в Service метрик ApplicationSet controller

{}

applicationSet.metrics.service.labels

Добавляет метки в Service метрик ApplicationSet controller

{}

applicationSet.metrics.service.servicePort

Номер порта

8080

applicationSet.metrics.service.portName

Номер порта

http-metrics

applicationSet.metrics.serviceMonitor.enabled

Включает создание Prometheus ServiceMonitor для метрик ApplicationSet controller

true

applicationSet.metrics.serviceMonitor.interval

Задает интервал опроса метрик

30s

applicationSet.metrics.serviceMonitor.scrapeTimeout

Задает scrapeTimeout для ServiceMonitor

""

applicationSet.metrics.serviceMonitor.honorLabels

Сохраняет метки метрик при конфликте с метками target

false

applicationSet.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

applicationSet.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

applicationSet.metrics.serviceMonitor.selector

Определяет selector для выбора Prometheus instance

{}

applicationSet.metrics.serviceMonitor.scheme

Настройка scheme

""

applicationSet.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor

{}

applicationSet.metrics.serviceMonitor.namespace

Задает namespace, в котором создается ServiceMonitor

""

applicationSet.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor

{}

applicationSet.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor

{}

applicationSet.service.annotations

Добавляет аннотации в Service ApplicationSet controller

{}

applicationSet.service.labels

Добавляет метки в Service ApplicationSet controller

{}

applicationSet.service.type

Тип ресурса

ClusterIP

applicationSet.service.port

Номер порта

7000

applicationSet.service.portName

Номер порта

http-webhook

applicationSet.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

applicationSet.serviceAccount.create

Создавать ли ресурс

true

applicationSet.serviceAccount.name

Имя ресурса или компонента

argocd-applicationset-controller

applicationSet.serviceAccount.annotations

Добавляет аннотации в service account ApplicationSet controller

{}

applicationSet.serviceAccount.labels

Добавляет метки в service account ApplicationSet controller

{}

applicationSet.serviceAccount.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

applicationSet.deploymentAnnotations

Добавляет аннотации в Deployment ApplicationSet controller

{}

applicationSet.deploymentLabels

Добавляет метки в Deployment ApplicationSet controller

{}

applicationSet.podAnnotations

Добавляет аннотации в pod ApplicationSet controller

{}

applicationSet.podLabels

Добавляет метки в pod ApplicationSet controller

{}

applicationSet.resources

Определяет requests и limits ресурсов для ApplicationSet controller. Пример конфигурации:

limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

{}

applicationSet.containerPorts.metrics

Настройки метрик

8080

applicationSet.containerPorts.probe

Настройка проверок

8081

applicationSet.containerPorts.webhook

Настройка webhook

7000

applicationSet.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod ApplicationSet controller

{}

applicationSet.dnsPolicy

Политики

ClusterFirst

applicationSet.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

applicationSet.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

applicationSet.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

applicationSet.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

applicationSet.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

applicationSet.readinessProbe.enabled

Включить/отключить функцию

false

applicationSet.readinessProbe.initialDelaySeconds

Настройка initialdelayseconds

10

applicationSet.readinessProbe.periodSeconds

Настройка periodseconds

10

applicationSet.readinessProbe.timeoutSeconds

Настройка timeoutseconds

1

applicationSet.readinessProbe.successThreshold

Настройка successthreshold

1

applicationSet.readinessProbe.failureThreshold

Настройка failurethreshold

3

applicationSet.livenessProbe.enabled

Включить/отключить функцию

false

applicationSet.livenessProbe.initialDelaySeconds

Настройка initialdelayseconds

10

applicationSet.livenessProbe.periodSeconds

Настройка periodseconds

10

applicationSet.livenessProbe.timeoutSeconds

Настройка timeoutseconds

1

applicationSet.livenessProbe.successThreshold

Настройка successthreshold

1

applicationSet.livenessProbe.failureThreshold

Настройка failurethreshold

3

applicationSet.terminationGracePeriodSeconds

Минимальное значение

30

applicationSet.nodeSelector

Определяет nodeSelector для размещения pod ApplicationSet controller

{}

applicationSet.tolerations

Tolerations для размещения на узлах

[]

applicationSet.affinity

Определяет affinity-правила для размещения pod ApplicationSet controller

{}

applicationSet.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod ApplicationSet controller

[]

applicationSet.deploymentStrategy

Определяет стратегию Deployment для ApplicationSet controller

{}

applicationSet.priorityClassName

Настройка priorityclassname

""

applicationSet.certificate.enabled

Включить/отключить функцию

false

applicationSet.certificate.domain

Настройка domain

""

applicationSet.certificate.additionalHosts

Имя хоста или адрес

[]

applicationSet.certificate.duration

Настройка duration

""

applicationSet.certificate.renewBefore

Настройка renewbefore

""

applicationSet.certificate.issuer.group

Настройка group

""

applicationSet.certificate.issuer.kind

Настройка kind

""

applicationSet.certificate.issuer.name

Имя ресурса или компонента

""

applicationSet.certificate.privateKey.rotationPolicy

Политики

Never

applicationSet.certificate.privateKey.encoding

Настройка encoding

PKCS1

applicationSet.certificate.privateKey.algorithm

Настройка algorithm

RSA

applicationSet.certificate.privateKey.size

Размер ресурса

2048

applicationSet.certificate.annotations

Добавляет аннотации в ресурс Certificate ApplicationSet controller

{}

applicationSet.ingress.enabled

Включить/отключить ingress

false

applicationSet.ingress.labels

Добавляет метки в ingress ApplicationSet controller

{}

applicationSet.ingress.annotations

Добавляет аннотации в ingress ApplicationSet controller

{}

applicationSet.ingress.ingressClassName

Настройка ingressclassname

""

applicationSet.ingress.hostname

Имя хоста или адрес

""

applicationSet.ingress.path

Путь к файлу или каталогу

/api/webhook

applicationSet.ingress.pathType

Путь к файлу или каталогу

Prefix

applicationSet.ingress.tls

Настройки TLS/SSL

false

applicationSet.ingress.extraHosts

Имя хоста или адрес. Пример конфигурации:

- name: argocd.example.com
path: /

[]

applicationSet.ingress.extraPaths

Путь к файлу или каталогу. Пример конфигурации:

- path: /*
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: use-annotation

[]

applicationSet.ingress.extraRules

Правила. Пример конфигурации:

- http:
paths:
- path: /api/webhook
pathType: Prefix
backend:
service:
name: „“
port:
name: „“

[]

applicationSet.ingress.extraTls

Задает дополнительную TLS-конфигурацию ingress. Пример конфигурации:

- secretName: argocd-applicationset-tls
hosts:
- argocd-applicationset.example.com

[]

applicationSet.allowAnyNamespace

Настройка allowanynamespace

false

applicationSet.networkPolicy.create

Включает создание NetworkPolicy для ApplicationSet controller

false

notifications - Настройки контроллера уведомлений#

Параметр

Описание

Значение по умолчанию

notifications.enabled

Включить контроллер уведомлений

true

notifications.name

Имя ресурса или компонента

notifications-controller

notifications.argocdUrl

Настройка argocdurl

""

notifications.runtimeClassName

Настройка runtimeclassname

""

notifications.pdb.enabled

Включить/отключить функцию

false

notifications.pdb.labels

Добавляет метки в PodDisruptionBudget Notifications controller

{}

notifications.pdb.annotations

Добавляет аннотации в PodDisruptionBudget Notifications controller

{}

notifications.pdb.minAvailable

Минимальное значение

""

notifications.pdb.maxUnavailable

Максимальное значение

""

notifications.image.repository

Репозиторий образа notifications

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

notifications.image.tag

Тег образа notifications

v3.3.10

notifications.image.imagePullPolicy

Политики

""

notifications.imagePullSecrets

Настройка imagepullsecrets

[]

notifications.extraArgs

Настройка extraargs

[]

notifications.extraEnv

Настройка extraenv

[]

notifications.extraEnvFrom

Настройка extraenvfrom. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

notifications.extraContainers

Настройка extracontainers

[]

notifications.initContainers

Настройка initcontainers

[]

notifications.extraVolumeMounts

Настройка extravolumemounts

[]

notifications.extraVolumes

Настройка extravolumes

[]

notifications.context

Определяет пользовательский контекст для шаблонов уведомлений. Пример конфигурации:

region: east
environmentName: staging

{}

notifications.secret.create

Создавать ли ресурс

true

notifications.secret.name

Имя ресурса или компонента

argocd-notifications-secret

notifications.secret.annotations

Добавляет аннотации в Secret Notifications controller

{}

notifications.secret.labels

Добавляет метки в Secret Notifications controller

{}

notifications.secret.items

Определяет пары ключ-значение, добавляемые в Secret Notifications controller, например токены сервисов уведомлений. Пример конфигурации:

slack-token:
grafana-apiKey:

{}

notifications.metrics.enabled

Включить метрики уведомлений

true

notifications.metrics.port

Номер порта

9001

notifications.metrics.service.type

Тип ресурса

ClusterIP

notifications.metrics.service.clusterIP

Настройка clusterip

""

notifications.metrics.service.annotations

Добавляет аннотации в Service метрик Notifications controller

{}

notifications.metrics.service.labels

Добавляет метки в Service метрик Notifications controller

{}

notifications.metrics.service.portName

Номер порта

http-metrics

notifications.metrics.serviceMonitor.enabled

Включает создание Prometheus ServiceMonitor для метрик Notifications controller

true

notifications.metrics.serviceMonitor.selector

Определяет selector для выбора Prometheus instance

{}

notifications.metrics.serviceMonitor.additionalLabels

Добавляет дополнительные метки в ServiceMonitor

{}

notifications.metrics.serviceMonitor.annotations

Добавляет аннотации в ServiceMonitor

{}

notifications.metrics.serviceMonitor.scheme

Настройка scheme

""

notifications.metrics.serviceMonitor.tlsConfig

Определяет TLS-конфигурацию для ServiceMonitor

{}

notifications.metrics.serviceMonitor.honorLabels

Настройка honorlabels

false

notifications.metrics.serviceMonitor.relabelings

Настройка relabelings

[]

notifications.metrics.serviceMonitor.metricRelabelings

Настройки метрик

[]

notifications.notifiers

Определяет конфигурацию notification services, например Slack, email или webhook. Пример конфигурации:

service.slack:


token: $slack-token

notifications.deploymentAnnotations

Добавляет аннотации в Deployment Notifications controller

{}

notifications.deploymentLabels

Добавляет метки в Deployment Notifications controller

{}

notifications.podAnnotations

Добавляет аннотации в pod Notifications controller

{}

notifications.podLabels

Добавляет метки в pod Notifications controller

{}

notifications.resources

Определяет requests и limits ресурсов для Notifications controller. Пример конфигурации:

limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

{}

notifications.containerPorts.metrics

Настройки метрик

9001

notifications.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod Notifications controller

{}

notifications.dnsPolicy

Политики

ClusterFirst

notifications.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

notifications.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

notifications.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

notifications.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

notifications.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

notifications.readinessProbe.enabled

Включить/отключить функцию

false

notifications.readinessProbe.initialDelaySeconds

Настройка initialdelayseconds

10

notifications.readinessProbe.periodSeconds

Настройка periodseconds

10

notifications.readinessProbe.timeoutSeconds

Настройка timeoutseconds

1

notifications.readinessProbe.successThreshold

Настройка successthreshold

1

notifications.readinessProbe.failureThreshold

Настройка failurethreshold

3

notifications.livenessProbe.enabled

Включить/отключить функцию

false

notifications.livenessProbe.initialDelaySeconds

Настройка initialdelayseconds

10

notifications.livenessProbe.periodSeconds

Настройка periodseconds

10

notifications.livenessProbe.timeoutSeconds

Настройка timeoutseconds

1

notifications.livenessProbe.successThreshold

Настройка successthreshold

1

notifications.livenessProbe.failureThreshold

Настройка failurethreshold

3

notifications.terminationGracePeriodSeconds

Минимальное значение

30

notifications.nodeSelector

Определяет nodeSelector для размещения pod Notifications controller

{}

notifications.tolerations

Tolerations для размещения на узлах

[]

notifications.affinity

Определяет affinity-правила для размещения pod Notifications controller

{}

notifications.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod Notifications controller. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

notifications.deploymentStrategy.type

Тип ресурса

Recreate

notifications.priorityClassName

Настройка priorityclassname

""

notifications.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

notifications.serviceAccount.create

Создавать ли ресурс

true

notifications.serviceAccount.name

Имя ресурса или компонента

argocd-notifications-controller

notifications.serviceAccount.annotations

Добавляет аннотации в service account Notifications controller

{}

notifications.serviceAccount.labels

Добавляет метки в service account Notifications controller

{}

notifications.serviceAccount.automountServiceAccountToken

Монтировать ли токен сервис аккаунта автоматически

true

notifications.cm.create

Создать ресурс

true

notifications.clusterRoleRules.rules

Правила

[]

notifications.subscriptions

Настройка subscriptions. Пример конфигурации:

- recipients:
- slack:test2
- email:test@gmail.com
triggers:
- on-sync-status-unknown

[]

notifications.templates

Определяет шаблоны уведомлений для генерации содержимого сообщений. Пример конфигурации:

template.app-deployed:


email:
subject: New version of an application is up and running.

notifications.triggers

Определяет триггеры уведомлений и условия их отправки. Пример конфигурации:

trigger.on-deployed:


- description: Application is synced and healthy. Triggered once per commit.
oncePer: app.status.sync.revision
send:
- app-deployed

notifications.networkPolicy.create

Включает создание NetworkPolicy для Notifications controller

false

commitServer - Настройки Commit Server для обновления манифестов#

Параметр

Описание

Значение по умолчанию

commitServer.enabled

Включить Commit Server

false

commitServer.name

Имя ресурса или компонента

commit-server

commitServer.runtimeClassName

Задает runtime class для Commit Server

""

commitServer.image.repository

Репозиторий образа commit server

{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-argo-cd/argocd

commitServer.image.tag

Тег образа commit server

v3.3.10

commitServer.image.imagePullPolicy

Определяет политику загрузки образа Commit Server

""

commitServer.extraArgs

Настройка extraargs

[]

commitServer.extraEnv

Настройка extraenv. Пример конфигурации:

- name: «MY_VAR»
value: «value»

[]

commitServer.extraEnvFrom

Настройка extraenvfrom. Пример конфигурации:

- configMapRef:
name: config-map-name
- secretRef:
name: secret-name

[]

commitServer.extraVolumeMounts

Настройка extravolumemounts

[]

commitServer.extraVolumes

Настройка extravolumes

[]

commitServer.metrics.enabled

Включить/отключить функцию

true

commitServer.metrics.service.type

Тип ресурса

ClusterIP

commitServer.metrics.service.clusterIP

Настройка clusterip

""

commitServer.metrics.service.annotations

Добавляет аннотации в Service метрик Commit Server

{}

commitServer.metrics.service.labels

Добавляет метки в Service метрик Commit Server

{}

commitServer.metrics.service.servicePort

Номер порта

8087

commitServer.metrics.service.portName

Номер порта

metrics

commitServer.service.annotations

Добавляет аннотации в Service Commit Server

{}

commitServer.service.labels

Добавляет метки в Service Commit Server

{}

commitServer.service.port

Задает порт Service Commit Server

8086

commitServer.service.portName

Задает имя порта Service Commit Server

server

commitServer.automountServiceAccountToken

Управляет автоматическим монтированием API credentials service account в pod

false

commitServer.serviceAccount.create

Создавать ли ресурс

true

commitServer.serviceAccount.name

Имя ресурса или компонента

argocd-commit-server

commitServer.serviceAccount.annotations

Добавляет аннотации в service account Commit Server

{}

commitServer.serviceAccount.labels

Добавляет метки в service account Commit Server

{}

commitServer.serviceAccount.automountServiceAccountToken

Управляет автоматическим монтированием API credentials в service account Commit Server

true

commitServer.deploymentAnnotations

Добавляет аннотации в Deployment Commit Server

{}

commitServer.deploymentLabels

Добавляет метки в Deployment Commit Server

{}

commitServer.podAnnotations

Добавляет аннотации в pod Commit Server

{}

commitServer.podLabels

Добавляет метки в pod Commit Server

{}

commitServer.resources

Определяет requests и limits ресурсов для Commit Server. Пример конфигурации:

limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

{}

commitServer.dnsConfig

Определяет пользовательскую DNS-конфигурацию для pod Commit Server

{}

commitServer.dnsPolicy

Политики DNS

ClusterFirst

commitServer.containerSecurityContext.runAsNonRoot

Настройка runasnonroot

true

commitServer.containerSecurityContext.readOnlyRootFilesystem

Имя файла

true

commitServer.containerSecurityContext.allowPrivilegeEscalation

Настройка allowprivilegeescalation

false

commitServer.containerSecurityContext.capabilities.drop

Настройка drop

- ALL

commitServer.containerSecurityContext.seccompProfile.type

Тип ресурса

RuntimeDefault

commitServer.readinessProbe.enabled

Включить/отключить функцию

true

commitServer.readinessProbe.initialDelaySeconds

Настройка initialdelayseconds

5

commitServer.readinessProbe.periodSeconds

Настройка periodseconds

10

commitServer.readinessProbe.timeoutSeconds

Настройка timeoutseconds

1

commitServer.readinessProbe.failureThreshold

Настройка failurethreshold

3

commitServer.livenessProbe.enabled

Включить/отключить функцию

true

commitServer.livenessProbe.initialDelaySeconds

Настройка initialdelayseconds

30

commitServer.livenessProbe.periodSeconds

Настройка periodseconds

30

commitServer.livenessProbe.timeoutSeconds

Настройка timeoutseconds

5

commitServer.livenessProbe.failureThreshold

Настройка failurethreshold

3

commitServer.terminationGracePeriodSeconds

Минимальное значение

30

commitServer.nodeSelector

Определяет nodeSelector для размещения pod Commit Server

{}

commitServer.tolerations

Tolerations для размещения на узлах

[]

commitServer.affinity

Определяет affinity-правила для размещения pod Commit Server

{}

commitServer.topologySpreadConstraints

Определяет TopologySpreadConstraints для равномерного распределения pod Commit Server. Пример конфигурации:

- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule

[]

commitServer.deploymentStrategy

Определяет стратегию Deployment для Commit Server. Пример конфигурации:

type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%

{}

commitServer.priorityClassName

Настройка priorityclassname

""

commitServer.networkPolicy.create

Включает создание NetworkPolicy для Commit Server

false