Gatekeeper#

Gatekeeper - это инструмент для управления политиками в Kubernetes, основанный на движке Open Policy Agent (OPA). Он позволяет централизованно управлять и применять политики безопасности и конфигурации на уровне всего кластера.

Основные задачи и возможности
  • Проверка запросов к API Kubernetes:

    Gatekeeper выступает в роли validating admission webhook, перехватывая запросы на создание или обновление ресурсов и проверяя их на соответствие заданным политикам.

  • Управление политиками через ограничения (Constraints):

    Политики определяются с помощью Constraints — это правила, которые описывают, какие действия разрешены или запрещены при развертывании ресурсов в кластере.

  • Интеграция с Open Policy Agent (OPA):

    Gatekeeper использует OPA как движок для оценки политик, что позволяет писать гибкие и высокоэффективные правила на языке Rego.

  • Контроль соответствия (Compliance):

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

  • Поддержка Kubernetes-нативного подхода:

    Gatekeeper является проектом, активно поддерживаемым сообществом Kubernetes, и предназначен для простой интеграции в экосистему Kubernetes.

  • Гибкость и расширяемость:

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

Примечание

Gatekeeper в стандартной версии DropApp является единственным инструментом в компоненте Security и устанавливается по умолчанию с установкой компонента. Также, по умолчанию DropApp предоставляет несколько встроенных, реализованных constraints, которые изначально выключены, но могу быть включены через инструмент Gatekeeper → spec.values

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

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

general - Основные параметры#

Параметр

Описание

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

replicas

Количество реплик для основных компонентов

2

revisionHistoryLimit

Лимит истории ревизий развертывания

10

auditInterval

Интервал между аудитами в секундах

60

metricsBackends

Бэкенды для метрик

["prometheus"]

auditMatchKindOnly

Аудит только соответствующих типов ресурсов

false

constraintViolationsLimit

Максимальное количество нарушений для логирования

20

auditFromCache

Выполнение аудита из кеша

false

disableAudit

Отключение функции аудита

false

disableMutation

Отключение мутирующего webhook

false

disableValidatingWebhook

Отключение валидирующего webhook

false

validatingWebhookName

Имя конфигурации валидирующего webhook

gatekeeper-validating-webhook-configuration

validatingWebhookTimeoutSeconds

Время ожидания валидирующего webhook в секундах

3

validatingWebhookFailurePolicy

Политика обработки сбоев валидирующего Webhook

Ignore

validatingWebhookAnnotations

Аннотации для валидирующего Webhook

{}

validatingWebhookExemptNamespacesLabels

Метки для исключения пространств имен из валидирующего Webhook

{}

validatingWebhookObjectSelector

Селектор объектов для валидирующего Webhook

{}

validatingWebhookMatchConditions

Условия соответствия для валидирующего Webhook

[]

validatingWebhookCheckIgnoreFailurePolicy

Политика игнорирования сбоев проверок

Fail

validatingWebhookCustomRules

Пользовательские правила для валидирующего Webhook

{}

validatingWebhookSubResources

Подресурсы для валидирующего Webhook

['pods/ephemeralcontainers', 'pods/exec', 'pods/log', 'pods/eviction', 'pods/portforward', 'pods/proxy', 'pods/attach', 'pods/binding', 'pods/resize', 'deployments/scale', 'replicasets/scale', 'statefulsets/scale', 'replicationcontrollers/scale', 'services/proxy', 'nodes/proxy', 'services/status']

validatingWebhookURL

URL для валидирующего Webhook

~

validatingWebhookScope

Область видимости валидирующего Webhook

'*'

enableDeleteOperations

Включение операций удаления

false

enableConnectOperations

Включение операций подключения

false

enableExternalData

Включение поддержки внешних данных

true

enableGeneratorResourceExpansion

Включение расширения ресурсов генератора

true

enableTLSHealthcheck

Включение TLS-проверок здоровья

false

maxServingThreads

Максимальное количество потоков обслуживания

-1

mutatingWebhookName

Имя конфигурации мутирующего Webhook

gatekeeper-mutating-webhook-configuration

mutatingWebhookFailurePolicy

Политика обработки сбоев мутирующего Webhook

Ignore

mutatingWebhookReinvocationPolicy

Политика повторного вызова мутирующего Webhook

Never

mutatingWebhookAnnotations

Аннотации для мутирующего Webhook

{}

mutatingWebhookExemptNamespacesLabels

Метки для исключения пространств имен из мутирующего Webhook

{}

mutatingWebhookObjectSelector

Селектор объектов для мутирующего Webhook

{}

mutatingWebhookMatchConditions

Условия соответствия для мутирующего Webhook

[]

mutatingWebhookTimeoutSeconds

Время ожидания мутирующего Webhook в секундах

1

mutatingWebhookCustomRules

Пользовательские правила для мутирующего Webhook

{}

mutatingWebhookSubResources

Подресурсы для мутирующего Webhook

['pods/ephemeralcontainers', 'pods/exec', 'pods/log', 'pods/eviction', 'pods/portforward', 'pods/proxy', 'pods/attach', 'pods/binding', 'deployments/scale', 'replicasets/scale', 'statefulsets/scale', 'replicationcontrollers/scale', 'services/proxy', 'nodes/proxy', 'services/status']

mutatingWebhookURL

URL для мутирующего Webhook

~

mutatingWebhookScope

Область видимости мутирующего Webhook

'*'

mutationAnnotations

Включение аннотаций мутаций

false

auditChunkSize

Размер chunk для аудита

500

logLevel

Уровень логирования

INFO

logDenies

Логирование отклоненных запросов

false

logMutations

Логирование мутаций

false

admissionEventsInvolvedNamespace

События admission в соответствующем пространстве имен

false

auditEventsInvolvedNamespace

События аудита в соответствующем пространстве имен

false

resourceQuota

Включение поддержки квот ресурсов

true

externaldataProviderResponseCacheTTL

TTL кеша ответов провайдера внешних данных

3m

enableK8sNativeValidation

Включение нативной валидации Kubernetes

false

defaultCreateVAPBindingForConstraints

Создание VAP-привязки для ограничений

false

defaultCreateVAPForTemplates

Создание VAP для шаблонов

false

syncVAPEnforcementScope

Синхронизация области применения VAP

false

commonAnnotations

Общие аннотации

{}

extraVolumeMounts

Дополнительные точки монтирования Volume

[]

extraVolumes

Дополнительные Volume

[]

podAnnotations

Аннотации для pod

{}

auditPodAnnotations

Аннотации для pod аудита

{}

podLabels

Метки для pod

{}

podCountLimit

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

"100"

secretAnnotations

Аннотации для Secret

{}

enableRuntimeDefaultSeccompProfile

Включение профиля seccomp по умолчанию

true

exportBackend

Экспорт бэкенд

""

image - настройки образов контейнеров#

Параметр

Описание

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

image.repository

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

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

image.crdRepository

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

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

image.release

Версия релиза

v3.21.1

image.pullPolicy

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

IfNotPresent

image.pullSecrets

Secret для загрузки образов

[]

preInstall - настройки pre-install хуков#

Параметр

Описание

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

preInstall.crdRepository.image.repository

Репозиторий образа для CRD

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

preInstall.crdRepository.image.tag

Тег образа для CRD

v3.21.1

postUpgrade - настройки post-upgrade хуков#

Параметр

Описание

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

postUpgrade.labelNamespace.serviceAccount.name

Имя ServiceAccount для обновления меток

gatekeeper-update-namespace-label-post-upgrade

postUpgrade.labelNamespace.serviceAccount.create

Создание ServiceAccount

true

postUpgrade.labelNamespace.enabled

Включение обновления меток пространств имен

false

postUpgrade.labelNamespace.image.repository

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

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

postUpgrade.labelNamespace.image.tag

Тег образа

v3.21.1

postUpgrade.labelNamespace.image.pullPolicy

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

IfNotPresent

postUpgrade.labelNamespace.image.pullSecrets

Secret для загрузки образов

[]

postUpgrade.labelNamespace.extraNamespaces

Дополнительные пространства имен

[]

postUpgrade.labelNamespace.podSecurity

Настройки безопасности pod

["pod-security.kubernetes.io/audit=restricted",
  "pod-security.kubernetes.io/audit-version=latest",
  "pod-security.kubernetes.io/warn=restricted",
  "pod-security.kubernetes.io/warn-version=latest",
  "pod-security.kubernetes.io/enforce=restricted",
  "pod-security.kubernetes.io/enforce-version=v1.24"]

postUpgrade.labelNamespace.extraAnnotations

Дополнительные аннотации

{}

postUpgrade.labelNamespace.priorityClassName

Класс приоритета pod

""

postUpgrade.affinity

Настройки affinity

{}

postUpgrade.tolerations

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

[]

postUpgrade.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

postUpgrade.resources

Ресурсные требования

{}

postUpgrade.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

postUpgrade.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

postUpgrade.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

postUpgrade.securityContext.runAsGroup

ID группы для запуска

999

postUpgrade.securityContext.runAsNonRoot

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

true

postUpgrade.securityContext.runAsUser

ID пользователя для запуска

1000

postInstall - настройки post-install хуков#

Параметр

Описание

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

postInstall.labelNamespace.serviceAccount.name

Имя ServiceAccount

gatekeeper-update-namespace-label

postInstall.labelNamespace.serviceAccount.create

Создание ServiceAccount

true

postInstall.labelNamespace.enabled

Включение обновления меток пространств имен

false

postInstall.labelNamespace.extraRules

Дополнительные RBAC-правила

[]

postInstall.labelNamespace.image.repository

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

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

postInstall.labelNamespace.image.tag

Тег образа

v3.21.1

postInstall.labelNamespace.image.pullPolicy

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

IfNotPresent

postInstall.labelNamespace.image.pullSecrets

Secret для загрузки образов

[]

postInstall.labelNamespace.extraNamespaces

Дополнительные пространства имен

[]

postInstall.labelNamespace.podSecurity

Настройки безопасности pod

["pod-security.kubernetes.io/audit=restricted",
  "pod-security.kubernetes.io/audit-version=latest",
  "pod-security.kubernetes.io/warn=restricted",
  "pod-security.kubernetes.io/warn-version=latest",
  "pod-security.kubernetes.io/enforce=restricted",
  "pod-security.kubernetes.io/enforce-version=v1.24"]

postInstall.labelNamespace.extraAnnotations

Дополнительные аннотации

{}

postInstall.labelNamespace.priorityClassName

Класс приоритета pod

""

postInstall.probeWebhook.enabled

Включение проверки Webhook

false

postInstall.probeWebhook.image.registry

Реестр образа для проверки

~

postInstall.probeWebhook.image.repository

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

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

postInstall.probeWebhook.image.tag

Тег образа curl

7.76.1

postInstall.probeWebhook.image.pullPolicy

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

IfNotPresent

postInstall.probeWebhook.image.pullSecrets

Secret для загрузки образов

[]

postInstall.probeWebhook.waitTimeout

Время ожидания в секундах

60

postInstall.probeWebhook.httpTimeout

HTTP-тайм-аут в секундах

2

postInstall.probeWebhook.insecureHTTPS

Разрешение небезопасных HTTPS-соединений

false

postInstall.probeWebhook.priorityClassName

Класс приоритета pod

""

postInstall.affinity

Настройки affinity

{}

postInstall.tolerations

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

[]

postInstall.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

postInstall.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

postInstall.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

postInstall.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

postInstall.securityContext.runAsGroup

ID группы для запуска

999

postInstall.securityContext.runAsNonRoot

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

true

postInstall.securityContext.runAsUser

ID пользователя для запуска

1000

preUninstall - настройки pre-uninstall хуков#

Параметр

Описание

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

preUninstall.deleteWebhookConfigurations.serviceAccount.name

Имя ServiceAccount

gatekeeper-delete-webhook-configs

preUninstall.deleteWebhookConfigurations.serviceAccount.create

Создание ServiceAccount

true

preUninstall.deleteWebhookConfigurations.extraRules

Дополнительные RBAC-правила

[]

preUninstall.deleteWebhookConfigurations.enabled

Включение удаления конфигураций Webhook

true

preUninstall.deleteWebhookConfigurations.image.repository

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

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

preUninstall.deleteWebhookConfigurations.image.tag

Тег образа

v3.21.1

preUninstall.deleteWebhookConfigurations.image.pullPolicy

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

IfNotPresent

preUninstall.deleteWebhookConfigurations.image.pullSecrets

Secret для загрузки образов

[]

preUninstall.deleteWebhookConfigurations.priorityClassName

Класс приоритета pod

""

preUninstall.affinity

Настройки affinity

{}

preUninstall.tolerations

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

[]

preUninstall.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

preUninstall.resources

Ресурсные требования

{}

preUninstall.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

preUninstall.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

preUninstall.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

preUninstall.securityContext.runAsGroup

ID группы для запуска

999

preUninstall.securityContext.runAsNonRoot

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

true

preUninstall.securityContext.runAsUser

ID пользователя для запуска

1000

controllerManager - настройки менеджера контроллера#

Параметр

Описание

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

controllerManager.serviceAccount.name

Имя ServiceAccount менеджера контроллера

gatekeeper-admin

controllerManager.serviceAccount.automountServiceAccountToken

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

true

controllerManager.containerName

Имя контейнера

manager

controllerManager.exemptNamespaces

Исключенные пространства имен

[]

controllerManager.exemptNamespacePrefixes

Исключенные префиксы пространств имен

[]

controllerManager.hostNetwork

Использование сети хоста

false

controllerManager.dnsPolicy

Политика DNS

ClusterFirst

controllerManager.port

Порт Webhook-сервера

8443

controllerManager.metricsPort

Порт для метрик

8888

controllerManager.metrics.enabled

Включение метрик

true

controllerManager.healthPort

Порт для проверок здоровья

9090

controllerManager.readinessTimeout

Время ожидания readiness-проверок

1

controllerManager.livenessTimeout

Время ожидания liveness-проверок

1

controllerManager.priorityClassName

Класс приоритета pod

system-cluster-critical

controllerManager.disableCertRotation

Отключение ротации сертификатов

false

controllerManager.tlsMinVersion

Минимальная версия TLS

1.3

controllerManager.clientCertName

Имя клиентского сертификата

""

controllerManager.strategyType

Тип стратегии развертывания

RollingUpdate

controllerManager.strategyRollingUpdate

Настройки rolling update

{}

controllerManager.podLabels

Метки для pod менеджера контроллера

{}

controllerManager.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

Настройки anti-affinity pod

- podAffinityTerm:
    labelSelector:
      matchExpressions:
        - key: gatekeeper.sh/operation
          operator: In
          values:
            - webhook
    topologyKey: kubernetes.io/hostname
  weight: 100

controllerManager.topologySpreadConstraints

Ограничения распределения топологии

[]

controllerManager.tolerations

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

[]

controllerManager.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

controllerManager.resources.limits.cpu

Лимиты и запросы ресурсов для контейнера

limits:
  cpu: 500m
  memory: 1024Mi
requests:
  cpu: 100m
  memory: 512Mi

controllerManager.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

controllerManager.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

controllerManager.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

controllerManager.securityContext.runAsGroup

ID группы для запуска

10101

controllerManager.securityContext.runAsNonRoot

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

true

controllerManager.securityContext.runAsUser

ID пользователя для запуска

10101

controllerManager.podSecurityContext.fsGroup

Группа файловой системы

999

controllerManager.podSecurityContext.supplementalGroups

Дополнительные группы

["999"]

controllerManager.extraRules

Дополнительные RBAC-правила

[]

controllerManager.networkPolicy.enabled

Включение NetworkPolicy

false

controllerManager.networkPolicy.ingress

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

- from:
  - ipBlock:
      cidr: 0.0.0.0/0

[]

controllerManager.disableWebhookOperation

Отключение операции Webhook

false

controllerManager.disableGenerateOperation

Отключение операции генерации

true

audit - настройки компонента аудита#

Параметр

Описание

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

audit.exportConnection.path

Путь для экспорта соединений

/tmp/violations/topics

audit.exportConnection.maxAuditResults

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

3

audit.exportVolumeMount.path

Путь монтирования Volume для экспорта

/tmp/violations

audit.exportVolume.name

Имя Volume для экспорта

tmp-violations

audit.exportVolume.emptyDir

Пустой Volume для экспорта

{}

audit.exportSidecar.name

Имя sidecar-экспорта

reader

audit.exportSidecar.image

Образ sidecar-экспорта

ghcr.io/open-policy-agent/fake-reader:latest

audit.exportSidecar.imagePullPolicy

Политика загрузки образа sidecar-экспорта

Always

audit.exportSidecar.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

audit.exportSidecar.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

audit.exportSidecar.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

audit.exportSidecar.securityContext.runAsGroup

ID группы для запуска

999

audit.exportSidecar.securityContext.runAsNonRoot

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

true

audit.exportSidecar.securityContext.runAsUser

ID пользователя для запуска

1000

audit.exportSidecar.securityContext.seccompProfile.type

Тип профиля seccomp

RuntimeDefault

audit.exportSidecar.volumeMounts

Точки монтирования Volume для экспорта

- mountPath: /tmp/violations
  name: tmp-violations

audit.serviceAccount.name

Имя ServiceAccount аудита

gatekeeper-admin

audit.serviceAccount.automountServiceAccountToken

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

true

audit.containerName

Имя контейнера аудита

manager

audit.hostNetwork

Использование сети хоста

false

audit.dnsPolicy

Политика DNS

ClusterFirst

audit.metricsPort

Порт для метрик

8888

audit.metrics.enabled

Включение метрик аудита

true

audit.healthPort

Порт для проверок здоровья

9090

audit.readinessTimeout

Время ожидания readiness-проверок

1

audit.livenessTimeout

Время ожидания liveness-проверок

1

audit.priorityClassName

Класс приоритета pod

system-cluster-critical

audit.disableCertRotation

Отключение ротации сертификатов

false

audit.podLabels

Метки для pod аудита

{}

audit.affinity

Настройки affinity

{}

audit.tolerations

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

[]

audit.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

audit.resources

Лимиты и запросы ресурсов для контейнера

limits:
  cpu: 500m
  memory: 1024Mi
requests:
  cpu: 100m
  memory: 512Mi

audit.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

audit.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

audit.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

audit.securityContext.runAsGroup

ID группы для запуска

10100

audit.securityContext.runAsNonRoot

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

true

audit.securityContext.runAsUser

ID пользователя для запуска

10100

audit.podSecurityContext.fsGroup

Группа файловой системы

999

audit.podSecurityContext.supplementalGroups

Дополнительные группы

["999"]

audit.writeToRAMDisk

Запись данных на RAM-диск

false

audit.extraRules

Дополнительные RBAC-правила

[]

audit.disableGenerateOperation

Отключение операции генерации

false

audit.disableAuditOperation

Отключение операции аудита

false

audit.disableStatusOperation

Отключение операции статусов

false

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

Параметр

Описание

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

crds.affinity

Настройки affinity

{}

crds.tolerations

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

[]

crds.nodeSelector

Селектор узлов

{kubernetes.io/os: linux}

crds.resources

Ресурсные требования

{}

crds.securityContext.allowPrivilegeEscalation

Разрешение эскалации привилегий

false

crds.securityContext.capabilities.drop

Сбрасываемые capabilities

- ALL

crds.securityContext.readOnlyRootFilesystem

Файловая система только для чтения

true

crds.securityContext.runAsGroup

ID группы для запуска

65532

crds.securityContext.runAsNonRoot

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

true

crds.securityContext.runAsUser

ID пользователя для запуска

65532

pdb - настройки PodDisruptionBudget#

Параметр

Описание

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

pdb.controllerManager.minAvailable

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

1

service - настройки сервисов#

Параметр

Описание

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

service

Настройки сервисов Kubernetes

{}

disabledBuiltins - отключенные встроенные функции OPA#

Параметр

Описание

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

disabledBuiltins

Список отключенных встроенных функций OPA

["{http.send}"]

upgradeCRDs - настройки обновления CRD#

Параметр

Описание

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

upgradeCRDs.serviceAccount.create

Создание ServiceAccount для обновления CRD

true

upgradeCRDs.serviceAccount.name

Имя ServiceAccount для обновления CRD

gatekeeper-admin-upgrade-crds

upgradeCRDs.enabled

Включение обновления CRD

true

upgradeCRDs.extraRules

Дополнительные RBAC-правила

[]

upgradeCRDs.priorityClassName

Класс приоритета pod

""

rbac - настройки RBAC#

Параметр

Описание

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

rbac.create

Создание ресурсов RBAC

true

externalCertInjection - внешнее внедрение сертификатов#

Параметр

Описание

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

externalCertInjection.enabled

Включение внешнего внедрения сертификатов

false

externalCertInjection.secretName

Имя Secret с сертификатом

gatekeeper-webhook-server-cert

serviceAccount - настройки сервисных аккаунтов#

Параметр

Описание

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

serviceAccount.gatekeeperAdmin.create

Создание ServiceAccount администратора

true

constraints - предустановленные политики безопасности#

Параметр

Описание

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

constraints.K8sAllowedRepos.enabled

Включение политики разрешенных реестров образов

false

constraints.K8sAllowedRepos.repos

Список разрешенных реестров образов

` - {{ .Values.global.image.registry }}`

constraints.K8sImageDigests.enabled

Включение требования SHA256 для образов контейнеров

false

constraints.K8sImageDigests.excludedNamespaces

Исключенные пространства имен

"kube-system",
  "dapp-logging",
  "dapp-system",
  "dapp-auth",
  "dapp-ui",
  "dapp-monitoring",
  "dapp-lb",
  "dapp-security",
  "dapp-alerting",
  "dapp-certs",
  "dapp-ingress",
  "dapp-storage",
  "dapp-gitops",
  "dapp-devops",
  "dapp-aiops",
  "dapp-ai-system",
  "dapp-ai-inference",
  "dapp-node-management"

constraints.K8sPSPVolumeTypes.enabled

Включение ограничения типов монтируемых Volume

false

constraints.K8sPSPVolumeTypes.excludedNamespaces

Исключенные пространства имен

"kube-system",
  "dapp-logging",
  "dapp-system",
  "dapp-auth",
  "dapp-ui",
  "dapp-monitoring",
  "dapp-lb",
  "dapp-security",
  "dapp-alerting",
  "dapp-gitops",
  "dapp-devops",
  "dapp-certs",
  "dapp-ingress",
  "dapp-storage",
  "dapp-gitops",
  "dapp-devops",
  "dapp-aiops",
  "dapp-ai-system",
  "dapp-ai-inference",
  "dapp-node-management"

constraints.K8sPSPVolumeTypes.volumes

Разрешенные типы Volume

["configMap", "emptyDir", "projected", "secret", "downwardAPI", "persistentVolumeClaim", "flexVolume"]

constraints.K8sContainerLimits.enabled

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

false

constraints.K8sContainerLimits.excludedNamespaces

Исключенные пространства имен

"kube-system",
  "dapp-logging",
  "dapp-system",
  "dapp-auth",
  "dapp-ui",
  "dapp-monitoring",
  "dapp-lb",
  "dapp-security",
  "dapp-alerting",
  "dapp-certs",
  "dapp-ingress",
  "dapp-storage",
  "dapp-gitops",
  "dapp-devops",
  "dapp-aiops",
  "dapp-ai-system",
  "dapp-ai-inference",
  "dapp-node-management"

constraints.K8sContainerLimits.parameters.cpu

Максимальный лимит CPU

"8"

constraints.K8sContainerLimits.parameters.memory

Максимальный лимит памяти

"16Gi"

constraints.ReadOnlyRootFileSystem.enabled

Включение требования read-only корневой файловой системы

false

constraints.ReadOnlyRootFileSystem.namespaces

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

["default", "applications"]