Параметры Helm
Чарт гибко настраивается с помощью значений конфигурации Helm. Каждое значение по умолчанию настроено для обеспечения оптимального запуска StarVault. Перед запуском в боевой среде проверьте приведенные далее параметры.
1. Блок global
-
global- это общие значения, влияющие на многие компоненты чарта.-
enabled(bool: true) - главный конфигурационный параметр, включающий/выключающий установку компонентов. Если параметр установлен в значениеtrue, большинство компонентов будет установлено по умолчанию. Если значениеfalse, то никакие компоненты не будут установлены по умолчанию, и их придется выбирать вручную, например, установив параметрserver.enabledв значениеtrue. -
namespace(string: helm) - пространство имен для развертывания. -
imagePullSecrets(array: []) - ссылка на секреты, которые используются при извлечении образов из частных реестров. Может быть указана как массив записей с сопоставлением имен или как массив имен:imagePullSecrets: - name: image-pull-secret # или imagePullSecrets: - image-pull-secret -
tlsDisable(bool: true) - установка параметра в значениеtrueменяет URL-адреса с https на http (например, переменная окруженияSTARVAULT_ADDR=http://127.0.0.1:8200, заданная на подах StarVault). -
externalVaultAddr(string: "") - адрес внешнего сервера StarVault, который используют Injector и провайдер интерфейса хранилища контейнеров (CSI-провайдер). Эта настройка отключит развертывание сервера StarVault. Сервисная учетная запись с правами на просмотр токенов создается автоматически, если параметрserver.serviceAccount.create=trueзадан для использования внешним сервером StarVault. -
openshift(bool: false) - установка параметра в значение true активирует конфигурацию, специально заточенную под OpenShift, например,NetworkPolicy,SecurityContextиRoute. -
psp- Значения для настройки Политики безопасности подов.-
enable(bool: false) - установка параметра в значение true активирует Политики безопасности подов для StarVault и StarVault Agent Injector. -
annotations(dictionary: {}) - это значение задает дополнительные аннотации, которые нужно добавить к Политикам безопасности подов. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML.annotations: seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default,runtime/default apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default # или annotations: seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default,runtime/default apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
-
-
serverTelemetry- значения для настройки метрик и телеметрии-
prometheusOperator(bool: false) - установка параметра в значение true активирует интеграцию с Prometheus Operator. Убедитесь, что настроен верхнеуровневый разделserverTelemetryдля получения дополнительной информации и необходимых значений конфигурации.
-
-
2. Блок injector
-
injector- значения, которые настраивают Agent Injector.-
enabled(boolorstring: "-") - установка параметра в значениеtrueвключает Agent Injector. Установка параметра в значение"-"задает значениеglobal.enabledкак значение по умолчанию. -
replicas(int: 1) - количество реплик развертывания Injector. -
port(int: 8080) - порт, который прослушивает Injector. -
leaderElector- значения, которые настраивают выбор лидера для Injector.-
enabled(bool: true) - установка параметра в значениеtrueвключает выбор лидера, чтобы только один Injector пытался создать TLS-сертификаты.
-
-
metrics- значения, которые настраивают метрики Injector.-
enabled(bool: false) - установка параметра в значениеtrueвключает конечную точку метрик Node Exporter по пути/metrics.
-
-
externalVaultAddr(string: "") - внешний адрес сервера StarVault для использования Injector. -
image- значения, которые настраивают образvault-k8sдля Injector.-
registry(string: "docker.io") - реестр образов для образаvault-k8s. -
repository(string: "hashicorp/vault-k8s") - репозиторий образаvault-k8s. -
tag(string: "1.7.2") - тег образаvault-k8s. -
pullPolicy(string: "IfNotPresent") - политика извлечения образаvault-k8s. Если тег имеет значениеlatest, установите значениеAlways.
-
-
agentImage- значения, которые настраивают образ StarVault Agent для внедряемых контейнеров.-
registry(string: "quay.io") - реестр образов для образа агента. -
repository(string: "") - репозиторий образа агента. -
tag(string: "") - тег образа агента. По умолчанию используетсяappVersionчарта. -
pullPolicy(string: "IfNotPresent") - политика извлечения образа агента. Если тег имеет значениеlatest, установите значениеAlways.
-
-
agentDefaults- значения по умолчанию для внедряемых контейнеров StarVault Agent.-
cpuLimit(string: "500m") - лимит ЦП для контейнера агента. -
cpuRequest(string: "250m") - запрос ЦП для контейнера агента. -
memLimit(string: "128Mi") - лимит оперативной памяти для контейнера агента. -
memRequest(string: "64Mi") - запрос оперативной памяти для контейнера агента. -
template(string: "map") - тип шаблона по умолчанию для секретов, если не задан пользовательский шаблон. Возможные значения:jsonиmap. -
templateConfig- значения по умолчанию для блокаtemplate_configагента.-
exitOnRetryFailure(bool: true) - установка параметра в значениеtrueзавершает работу агента при повторном сбое рендеринга шаблона. -
staticSecretRenderInterval(string: "") - интервал рендеринга статических секретов.
-
-
-
livenessProbe- значения, которые настраивают проверку жизнеспособности для Injector.-
failureThreshold(int: 2) - количество неудачных проверок, после которых Kubernetes прекращает попытки. -
initialDelaySeconds(int: 5) - количество секунд после запуска контейнера до инициализации проверки. -
periodSeconds(int: 2) - интервал (в секундах) между проверками. -
successThreshold(int: 1) - минимальное количество успешных проверок после неудачной, чтобы проверка снова считалась успешной. -
timeoutSeconds(int: 5) - количество секунд, после которых проверка считается неудачной.
-
-
readinessProbe- значения, которые настраивают проверку готовности для Injector.-
failureThreshold(int: 2) - количество неудачных проверок, после которых Kubernetes прекращает попытки. -
initialDelaySeconds(int: 5) - количество секунд после запуска контейнера до инициализации проверки. -
periodSeconds(int: 2) - интервал (в секундах) между проверками. -
successThreshold(int: 1) - минимальное количество успешных проверок после неудачной, чтобы проверка снова считалась успешной. -
timeoutSeconds(int: 5) - количество секунд, после которых проверка считается неудачной.
-
-
startupProbe- значения, которые настраивают проверку запуска для Injector.-
failureThreshold(int: 12) - количество неудачных проверок, после которых Kubernetes прекращает попытки. -
initialDelaySeconds(int: 5) - количество секунд после запуска контейнера до инициализации проверки. -
periodSeconds(int: 5) - интервал (в секундах) между проверками. -
successThreshold(int: 1) - минимальное количество успешных проверок после неудачной, чтобы проверка снова считалась успешной. -
timeoutSeconds(int: 5) - количество секунд, после которых проверка считается неудачной.
-
-
authPath(string: "auth/kubernetes") - путь монтирования метода аутентификации StarVault Kubernetes. -
logLevel(string: "info") - уровень детализации логирования Injector. Поддерживаются следующие уровни:trace,debug,info,warn,error. -
logFormat(string: "standard") - формат логирования Injector. Поддерживаются следующие форматы:standard,json. -
revokeOnShutdown(bool: false) - установка параметра в значениеtrueотзывает токены всех контейнеров StarVault Agent Sidecar при завершении их работы. -
webhook- значения, которые настраивают MutatingWebhookConfiguration.-
failurePolicy(string: "Ignore") - политика обработки ошибок вебхука. Чтобы заблокировать создание подов при недоступности вебхука, установите значениеFail. -
matchPolicy(string: "Exact") - политика сопоставления для MutatingWebhookConfiguration. -
timeoutSeconds(int: 30) - количество секунд до таймаута запроса вебхука. -
namespaceSelector(dictionary: {}) - селектор для ограничения вебхука определенными пространствами имен. -
objectSelector(string: "") - селектор для ограничения вебхука определенными метками объектов. -
annotations(dictionary: {}) - дополнительные аннотации для вебхука.
-
-
failurePolicy(string: "Ignore") - устарело. Используйтеwebhook.failurePolicy. -
namespaceSelector(dictionary: {}) - устарело. Используйтеwebhook.namespaceSelector. -
objectSelector(dictionary: {}) - устарело. Используйтеwebhook.objectSelector. -
webhookAnnotations(dictionary: {}) - устарело. Используйтеwebhook.annotations. -
certs- значения, которые настраивают TLS-сертификаты для вебхука Injector.-
secretName(string: null) - имя секрета с TLS-сертификатом и закрытым ключом для вебхука Injector. Если значениеnull, Injector использует автоматическое управление сертификатами. -
caBundle(string: "") - PEM-сертификат центра сертификации (CA), подписавшего TLS-сертификат вебхука, в кодировке Base64. -
certName(string: "tls.crt") - имя файла TLS-сертификата в секрете. -
keyName(string: "tls.key") - имя файла закрытого ключа в секрете.
-
-
securityContext- значения, которые настраивают контекст безопасности для пода и контейнера Injector.-
pod(dictionary: {}) - контекст безопасности для пода Injector. -
container(dictionary: {}) - контекст безопасности для контейнера Injector.
-
-
resources(dictionary: {}) - запросы и лимиты ресурсов (ЦП, ОЗУ) для контейнера Injector. -
extraEnvironmentVars(dictionary: {}) - дополнительные переменные окружения для развертывания Injector. -
affinity(string: "") - настройки совместного существования (affinity) для подов Injector. Может быть задана как многострочная строка или YAML. -
topologySpreadConstraints(array: []) - настройки топологии для подов Injector. -
tolerations(array: []) - tolerations для подов Injector. -
nodeSelector(dictionary: {}) - селектор узлов для назначения подов Injector. -
priorityClassName(string: "") - класс приоритета для подов Injector. -
annotations(dictionary: {}) - дополнительные аннотации для подов Injector. -
extraLabels(dictionary: {}) - дополнительные метки для Injector. -
hostNetwork(bool: false) - установка параметра в значениеtrueзапускает поды Injector на сетевом интерфейсе узла. -
service- значения, которые настраивают сервис Injector.-
annotations(dictionary: {}) - дополнительные аннотации для сервиса Injector. -
extraLabels(dictionary: {}) - дополнительные метки для сервиса Injector.
-
-
serviceAccount- значения, которые настраивают служебную учетную запись Injector.-
annotations(dictionary: {}) - дополнительные аннотации для служебной учетной записи Injector.
-
-
podDisruptionBudget(dictionary: {}) - политика в отношении допустимого количества неработающих подов Injector. -
strategy(dictionary: {}) - стратегия обновления развертывания Injector.
-
3. Блок server
-
server- значения, которые настраивают запуск сервера StarVault в Kubernetes.-
enabled(boolorstring: "-") - установка параметра в значение true создаст сервер StarVault. Установка параметра в значение"-"задает значениеglobal.enabledкак значение по умолчанию. -
image- значения, которые настраивают образ StarVault Docker.-
repository(string: "oci://hub.orionsoft.ru/public/starvault") - имя образа Docker для контейнеров, в которых запущен StarVault. -
tag(string: "1.5.0") - тег образа Docker для контейнеров, в которых запущен StarVault. При работе в боевой среде должен быть привязан к конкретной версии. В противном случае другие изменения, внесенные в чарт, могут непроизвольно привести к обновлению контроллера допуска -
pullPolicy(string: "IfNotPresent") - политика извлечения для образов контейнеров. По умолчанию политика извлеченияIfNotPresent- Kubelet пропускает шаг извлечения образа, если тот уже существует. -
registry(string: "quay.io") - реестр образов для образа StarVault.
-
-
updateStrategyType(string: "OnDelete") - параметр задает тип стратегии обновления дляStatefulSet. -
podManagementPolicy(string: "OrderedReady") - параметр задает политику управления подами дляStatefulSet. По умолчанию используетсяOrderedReady, при которой поды создаются и обновляются последовательно. Альтернативное значениеParallelпозволяет создавать и обновлять все поды одновременно. -
logLevel(string: "") - параметр задает уровень детализации для логирования сервера StarVault. Такая настройка переопределит значения, заданные в файле конфигурации StarVault. Поддерживаются следующие уровни журнала:trace,debug,info,warn,error. -
logFormat(string: "") - параметр задает формат логирования сервера StarVault. Такая настройка переопределит значения, заданные в файле конфигурации StarVault. Поддерживаются следующие форматы журнала: standard, json. -
resources(dictionary: {}) - запросы и лимиты ресурсов (ЦП, ОЗУ, пр.) для каждого контейнера на сервере. Это должен быть словарь на языке YAML для имеющегося в Kubernetes объекта resource. Если параметр не задан, то поды не будут запрашивать какой-то конкретный объем ресурсов, что ограничивает способность Kubernetes эффективно использовать вычислительные ресурсы. Настоятельно рекомендуем задать эти параметры.resources: requests: memory: '10Gi' limits: memory: '10Gi' -
ingress- значения, которые настраивают сервисы Ingress для StarVault. При развертывании на OpenShift эти настройкиingressигнорируются. Используйте конфигурациюroute, чтобы объявить StarVault на OpenShift.-
enabled(bool: false) - установка параметра в значение true создаст сервис Ingress. -
labels(dictionary: {}) - метки для сервиса Ingress. -
annotations(dictionary: {}) - это значение задает дополнительные аннотации, которые нужно добавить к сервису Ingress. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML.annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true" # или annotations: | kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true"-
ingressClassName(string: "") - укажите IngressClass, который следует использовать при внедрении Ingress -
pathType(string: "Prefix") - тип пути для правил Ingress. Поддерживаются значенияPrefix,ExactиImplementationSpecific. -
activeService(bool: true) - когда включен режим высокой доступности и используется регистрация в сервисе K8s, этот параметр настраивает сервис Ingress так, чтобы тот указывал на активный сервис StarVault. -
extraPaths(array: []) - параметр задает дополнительные пути, которые добавляются в начало конфигурации хоста. Это полезно при работе с сервисами, в основе которых лежат аннотации.extraPaths: - path: /* backend: service: name: ssl-redirect port: number: use-annotation -
tls(array: []) - параметр настраивает ту часть в Ingress spec, которая относится к TLS.hosts- это список хостов, указанных в поле Common Name сертификата TLS.secretName- это имя Секрета, в котором содержатся необходимые файлы TLS, например, сертификаты и ключи.tls: - hosts: - sslexample.foo.com - sslexample.bar.com secretName: testsecret-tls -
hosts- значения, которые задают правила хоста Ingress.-
host(string: "chart-example.local"): имя хоста, который используется для Ingress. -
paths(array: []): устарело. Лучше используйтеserver.ingress.extraPaths. Список путей, которые будут отправлены сервису StarVault. Нужно указать хотя бы один путь.paths: - / - /starvault
-
-
-
-
gateway- значения, которые настраивают Gateway API для StarVault.-
tlsRoute- значения, которые настраивают TLSRoute для Gateway API.-
enabled(bool: false) - установка параметра в значениеtrueсоздает ресурс TLSRoute для Gateway API. -
labels(dictionary: {}) - метки для ресурса TLSRoute. -
annotations(dictionary: {}) - аннотации для ресурса TLSRoute. -
hosts(array: []) - список имен хостов, которые будут использоваться в TLSRoute. -
apiVersion(string: "gateway.networking.k8s.io/v1alpha3") - версия API для ресурса TLSRoute. -
activeService(bool: true) - когда включен режим высокой доступности и используется регистрация в сервисе K8s, этот параметр настраивает TLSRoute так, чтобы тот указывал на активный сервис StarVault. -
parentRefs(array: []) - список ссылок на родительские шлюзы (Gateway) для TLSRoute.
-
-
httpRoute- значения, которые настраивают HTTPRoute для Gateway API.-
enabled(bool: false) - установка параметра в значениеtrueсоздает ресурс HTTPRoute для Gateway API. -
labels(dictionary: {}) - метки для ресурса HTTPRoute. -
annotations(dictionary: {}) - аннотации для ресурса HTTPRoute. -
hosts(array: []) - список имен хостов, которые будут использоваться в HTTPRoute. -
apiVersion(string: "gateway.networking.k8s.io/v1") - версия API для ресурса HTTPRoute. -
activeService(bool: true) - когда включен режим высокой доступности и используется регистрация в сервисе K8s, этот параметр настраивает HTTPRoute так, чтобы тот указывал на активный сервис StarVault. -
parentRefs(array: []) - список ссылок на родительские шлюзы (Gateway) для HTTPRoute. -
matches- правила сопоставления для HTTPRoute.-
path(dictionary: {type: PathPrefix, value: /}) - настройки пути для сопоставления. -
timeouts(dictionary: {}) - задержка по времени для HTTPRoute. -
value(string: '/') – путь, с которым сопоставляется запрос для правила HTTPRoute
-
-
filters(array: []) - фильтры для HTTPRoute.
-
-
tlsPolicy- значения, которые настраивают BackendTLSPolicy для Gateway API.-
enabled(bool: false) - установка параметра в значениеtrueсоздает ресурс BackendTLSPolicy для Gateway API. -
labels(dictionary: {}) - метки для ресурса BackendTLSPolicy. -
annotations(dictionary: {}) - аннотации для ресурса BackendTLSPolicy. -
apiVersion(string: "gateway.networking.k8s.io/v1") - версия API для ресурса BackendTLSPolicy. -
activeService(bool: true) - когда включен режим высокой доступности и используется регистрация в сервисе K8s, этот параметр настраивает BackendTLSPolicy так, чтобы тот указывал на активный сервис StarVault. -
targetRefs(array: []) - список ссылок на целевые объекты, к которым применяется политика. Если не задан, по умолчанию применяется к сервису StarVault. -
validation(dictionary: {}) - настройки валидации для BackendTLSPolicy.
-
-
-
hostAliases(list: []) – список псевдонимов, которые добавляются в/etc/hostsвнутри Pod. -
route(map: {}) – параметры OpenShift Route для публикации сервиса.-
enabled(bool: false) - установка параметра в значениеtrueсоздаст маршрутRouteдля StarVault. -
activeService (
bool: true) - когда включен режим высокой доступности и используется регистрация в сервисе K8s, этот параметр настраивает маршрут так, чтобы тот указывал на активный сервис StarVault. -
labels(dictionary: {}) - метки для Route -
annotations(dictionary: {}) - аннотации для добавления к Route. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML. -
host(string: "chart-example.local") - параметр задает имя хоста для Route. -
tls(dictionary: {termination: passthrough}) - Файл конфигурации TLS будет передан напрямую в файл конфигурации TLS маршрута, который можно использовать для настройки других методов терминирования, с помощью которых TLS терминируется на маршрутизатор.
-
-
authDelegator- значения, которые настраивают объект Cluster Role Binding, привязанный к служебной учетной записи StarVault.-
enabled(bool: true) - установка параметра в значение true привяжет объект Cluster Role Binding к служебной учетной записи StarVault. У объекта Cluster Role Binding есть необходимые права для того, чтобы StarVault мог использовать метод аутентификации Kubernetes.
-
-
extraInitContainers(list: []) – список дополнительных init‑контейнеров, которые запускаются до основного контейнера Pod.ПримерextraInitContainers: - name: oauthapp image: alpine command: [sh, -c] args: - cd /tmp && wget https://github.com/puppetlabs/vault-plugin-secrets-oauthapp/releases/download/v1.2.0/vault-plugin-secrets-oauthapp-v1.2.0-linux-amd64.tar.xz -O oauthapp.xz && tar -xf oauthapp.xz && mv vault-plugin-secrets-oauthapp-v1.2.0-linux-amd64 /usr/local/libexec/vault/oauthapp && chmod +x /usr/local/libexec/vault/oauthapp volumeMounts: - name: plugins mountPath: /usr/local/libexec/vault-
extraContainers(list: null) – список дополнительных sidecar‑контейнеров. Используется, когда к основному Pod нужно добавить вспомогательный контейнер, например для проксирования, логирования или экспорта метрик. -
shareProcessNamespace(bool: false) – включает общее пространство процессов между StarVault и дополнительными контейнерами. Полезно, если вспомогательному контейнеру нужно отправлять сигнал основному процессу, например SIGHUP для перечитывания конфигурации. -
extraArgs(string: "") – дополнительные аргументы командной строки сервера StarVault. Используется для передачи параметров запуска, которых нет в стандартной конфигурации. -
extraPorts(list: []) – список дополнительных портов контейнера. Полезно, если нужно динамически добавить в StatefulSet еще один порт, например для мониторинга или служебного интерфейса.
-
-
readinessProbe- значения, которые настраивают проверку готовности для подов StarVault.-
enabled(bool: true) - установка параметра в значение true применит проверку готовности к подам StarVault. -
port(int: 8200) – номер порта, на котором выполняется проверка readinessProbe. Обычно это порт, на котором доступен сервис приложения. -
failureThreshold(int: 2) - установка параметра в конкретное значение определяет, сколько неудачных проверок допускает Kubernetes. -
initialDelaySeconds(int: 5) - установка параметра в конкретное значение определяет количество секунд после запуска контейнера и до инициализации проверки. -
periodSeconds(int: 5) - установка параметра в конкретное значение определяет, через какие интервалы (в секундах) брать проверку. -
successThreshold(int: 1) - установка параметра в конкретное значение определяет, через какое минимальное число удачных проверок, взятых после неудачной, проверка снова считается адекватной. -
timeoutSeconds(int: 3) - установка параметра в конкретное значение определяет, через сколько секунд проверка считается неудачной.
-
-
livenessProbe- значения, которые настраивают проверку жизнеспособности для подов StarVault.-
enabled(bool: false) - установка параметра в значение true применит проверку жизнеспособности к подам StarVault. -
execCommand(array: []) - команда для выполнения в проверке жизнеспособности. Если параметр задан, используется проверка типаexecвместоHTTP/HTTPS. -
path(string: "v1/sys/health?standbyok=true") - установка параметра в конкретное значение активирует проверкиHTTP/HTTPSвместо используемой по умолчанию проверки exec. Схема http/https контролируется значением tlsDisable. -
initialDelaySeconds(int: 60) - задает изначальное время задержки для проверки жизнеспособности при запуске контейнера. -
failureThreshold(int: 2) - установка параметра в конкретное значение определяет, сколько неудачных проверок допускает Kubernetes. -
periodSeconds(int: 5) - установка параметра в конкретное значение определяет, через какие интервалы (в секундах) брать проверку. -
successThreshold(int: 1) - установка параметра в конкретное значение определяет, через какое минимальное число удачных проверок, взятых после неудачной, проверка снова считается адекватной. -
timeoutSeconds(int: 3) - установка параметра в конкретное значение определяет, через сколько секунд проверка считается неудачной. -
port(int: 8200) - установка параметра в конкретное значение переопределяет порт по умолчанию, в используемый для проверки жизнеспособности сервера.livenessProbe: enabled: true path: /v1/sys/health?standbyok=true initialDelaySeconds: 60 failureThreshold: 2 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 port: 8200
-
-
terminationGracePeriodSeconds(int: 10) - время в секундах, которое нужно поду для корректного завершения работы. -
preStopSleepSeconds(int: 5) - используется, чтобы на шаге preStop задать время, через которое объект переходит в спящий режим. -
postStart(array: []) - используется, чтобы определить, какие команды запускать после того, как под будет готов. Это можно использовать для автоматизации процессов, например, методов аутентификации при инициализации и начальном запуске.postStart: - /bin/sh - -c - /starvault/userconfig/myscript/run.sh -
extraEnvironmentVars(dictionary: {}) - дополнительные переменные окружения для применения к серверу StarVault.extraEnvironmentVars: GOOGLE_REGION: global GOOGLE_PROJECT: myproject GOOGLE_APPLICATION_CREDENTIALS: /starvault/userconfig/myproject/myproject-creds.json -
extraSecretEnvironmentVars(array: []) - дополнительные переменные окружения заполняющиеся из секрета и которые следует применить к серверу StarVault.-
envName(string: required) - имя переменной окружения, которую нужно заполнить в контейнере StarVault. -
secretName(string: required) - имя секрета Kubernetes, используемого для заполнения переменной окружения, заданной с помощью envName. -
secretKey(string: required) - имя ключа, в котором находится запрашиваемое секретное значение в секрете Kubernetes.extraSecretEnvironmentVars: - envName: AWS_SECRET_ACCESS_KEY secretName: starvault secretKey: AWS_SECRET_ACCESS_KEY
-
-
extraVolumes(array: []) - устарело. Лучше используйте volumes. Список дополнительных томов для монтирования на серверы StarVault. Это полезно, когда нужно ввести дополнительные данные (например, сертификаты TLS), на которые другие конфигурации смогут ссылаться по знакомому пути. Значение - список объектов. Каждый объект поддерживает следующие ключи:-
type(string: required) - тип тома, должен быть либоconfigMap, либоsecret. С учетом регистра. -
name(string: required) - имя тома configMap или secret, который будет монтироваться. Параметр также контролирует путь монтирования. По умолчанию том будет монтироваться по пути/starvault/userconfig/<имя>, если только не задано значение для параметраpath. -
path(string: /starvault/userconfigs) - имя пути, по которому монтируется томconfigMapилиsecret. Если значение параметра не задано, том будет монтироваться по пути/starvault/userconfig/<имя тома>. -
defaultMode(string: "420") - режим по умолчанию для смонтированных файлов.extraVolumes: - type: 'secret' name: 'starvault-certs' path: '/etc/pki'
-
-
volumes(array: null) - список томов, доступных всем контейнерам. Параметр берет стандартные определения томов Kubernetes.volumes: - name: plugins emptyDir: {} -
volumeMounts(array: null) - список доступных всем контейнерам точек монтирования томов. Параметр берет стандартные определения томов Kubernetes.volumeMounts: - mountPath: /usr/local/libexec/starvault name: plugins readOnly: true -
affinity- это значение задает совместное существование (affinity) для подов сервера. Это должна быть либо многострочная цепочка символов, либо YAML, сопоставленный с полемaffinityв PodSpec. По умолчанию допускается только один под на каждом узле, что минимизирует риск потери работоспособности кластера в случае отказа узла. Если нужно запустить больше подов на каждом узле (например, для тестирования на Minikube), установите этот параметр в значениеnull.affinity: | podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app.kubernetes.io/name: {{ template "starvault.name" . }} app.kubernetes.io/instance: "{{ .Release.Name }}" component: server topologyKey: kubernetes.io/hostname -
topologySpreadConstraints(array: []) - настройки топологии для подов сервера. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML. -
tolerations(array: []) - это значение задает массивыToleration, приемлемые при создании графика. Это должна быть либо многострочная цепочка символов, либо YAML, сопоставленный с массивомTolerationвPodSpec.tolerations: | - key: 'node.kubernetes.io/unreachable' operator: 'Exists' effect: 'NoExecute' tolerationSeconds: 6000 -
nodeSelector(dictionary: {}) - это значение задает дополнительные критерии отбора узлов, чтобы лучше контролировать место развертывания серверов StarVault. Значение параметра имеет формат либо многострочной цепочки символов, либо сопоставления YAML.nodeSelector: | disktype: ssd -
networkPolicy- значения, которые задают политику StarVault Network Policy.-
enabled(bool: false) - установка параметра в значение true активирует политику Network Policy для кластера StarVault. -
egress(array: []) - это значение задает правила сетевой политикиegress.egress: - to: - ipBlock: cidr: 10.0.0.0/24 ports: - protocol: TCP port: 8200 -
ingress(array: []) - это значение задает правила сетевой политикиingress.ingress: - from: - ipBlock: cidr: 10.0.0.0/24 ports: - protocol: TCP port: 8200
-
-
priorityClassName(string: "") - класс приоритета для подов сервера -
extraLabels(dictionary: {}) - это значение задает дополнительные метки для подов сервера.extraLabels: 'sample/label1': 'foo' 'sample/label2': 'bar' -
annotations(dictionary: {}) - это значение задает дополнительные аннотации для подов сервера. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML.annotations: "sample/annotation1": "foo" "sample/annotation2": "bar" # или annotations: | "sample/annotation1": "foo" "sample/annotation2": "bar" -
configAnnotation(bool: false) - если значениеtrue, аннотации конфигурации будут добавлены к поду сервера StarVault. -
service- значения для настройки сервиса Kubernetes, созданного для StarVault. Эти параметры также используются для сервисовactiveиstandby, когда включен режимha.-
enabled(bool: true) - установка параметра в значение true создаст сервис Kubernetes для StarVault. -
active- значения, которые применяются только к сервисуstarvault-active.-
enabled(bool: true) - установка параметра в значение true создаст сервис Kubernetesstarvault-activeдля StarVault с выбором подов, которые маркируют себя как ведущие узлы кластера с помощью параметраstarvault-active: true. -
annotations(dictionary: {}) - дополнительные аннотации для сервисаstarvault-active. -
extraLabels(dictionary: {}) - дополнительные метки для сервисаstarvault-active.
-
-
standby- значения, которые применяются только к сервисуstarvault-standby.-
enabled(bool: true) - установка параметра в значение true создаст сервис Kubernetesstarvault-standbyдля StarVault с выбором подов, которые маркируют себя как ведомые узлы кластера с помощью параметраstarvault-active: false. -
annotations(dictionary: {}) - дополнительные аннотации для сервисаstarvault-standby. -
extraLabels(dictionary: {}) - дополнительные метки для сервисаstarvault-standby.
-
-
headless- значения, которые применяются только к headless-сервисуstarvault-internal.-
annotations(dictionary: {}) - дополнительные аннотации для headless-сервисаstarvault-internal.
-
-
ipFamilyPolicy(string: "") - политика семейства IP-адресов для сервиса. Возможные значения:SingleStack,PreferDualStack,RequireDualStack. -
ipFamilies(array: []) - список семейств IP-адресов, которые будут использоваться сервисом. Возможные значения:IPv4иIPv6. -
publishNotReadyAddresses(bool: true) - если значение true, то не ждите, пока поды будут готовы, а сразу добавляйте их в таргеты сервиса. Не применяется для headless-сервиса, который используется для взаимодействия внутри кластера. -
externalTrafficPolicy(string: Cluster) – политика обработки внешнего трафика для сервисов типа LoadBalancer и NodePort. -
port(int: 8200) - порт, который прослушивается сервером StarVault внутри пода. -
targetPort(int: 8200) - порт, который прослушивается сервисом. -
extraPorts(array: []) - дополнительные порты для сервиса StarVault. -
annotations(map: {}) – дополнительные аннотации для определения сервиса. -
extraLabels(dictionary: {}) - дополнительные метки для сервиса StarVault.
-
-
dataStorage(object) – параметры создания PVC для хранения данных StarVault при использовании backend file или raft.-
enabled(bool: true) – включает создание PVC для данных. -
size(string: 10Gi) – размер создаваемого PVC. -
mountPath(string: "/starvault/data") – путь, куда будет смонтирован PVC. -
storageClass(string: null) – имя StorageClass. Если значение не задано, используется StorageClass по умолчанию. -
accessMode(string: ReadWriteOnce) – режим доступа к PVC. -
annotations(map: {}) – аннотации, которые будут добавлены к PVC. -
labels(map: {}) – метки, которые будут добавлены к PVC.
-
-
persistentVolumeClaimRetentionPolicy(map: {}) – политика сохранения PersistentVolumeClaim для StatefulSet. Определяет, будут ли PVC сохраняться при удалении StatefulSet или при уменьшении числа реплик. -
auditStorage(object) – параметры создания PVC для хранения audit‑данных StarVault.-
enabled(bool: false) – включает создание PVC для audit‑хранилища. -
size(string: 10Gi) – размер создаваемого PVC. -
mountPath(string: "/starvault/audit") – путь, куда будет смонтирован PVC. -
storageClass(string: null) – имя StorageClass. Если значение не задано, используется StorageClass по умолчанию. -
accessMode(string: ReadWriteOnce) – режим доступа к PVC. -
annotations(map: {}) – аннотации, которые будут добавлены к PVC. -
labels(map: {}) – метки, которые будут добавлены к PVC.
-
-
dev(object) – параметры запуска StarVault в режиме разработки. Этот режим не требует дополнительной настройки, инициализации или управления состоянием; все данные теряются после перезапуска, поэтому его используют только для экспериментов.Никогда и ни при каких обстоятельствах не запускайте сервер из режима
devв боевой среде. Это небезопасно, и каждый перезапуск будет приводить к потере данных (так как они хранятся в оперативной памяти). Этот режим предназначен только для разработки и экспериментирования.-
enabled(bool: false) – включает режим разработки. -
devRootToken (
string: "root") – задает значение корневого токена в режиме разработки.
-
-
standalone(object) – параметры запуска StarVault в автономном режиме. В этом режиме используется однорепликовое развертывание с локальным хранилищем данных в PVC.-
enabled(string: "-") – включает автономный режим. -
config(string) – конфигурация StarVault в формате HCL для автономного режима. В ней задаются параметры listener, storage и, при необходимости, дополнительные блоки, например seal и telemetry.
-
-
ha- параметр настраивает режимhaдля сервера StarVault.-
enabled(bool: false) - параметр включает режимhaдля сервера StarVault. В этом режиме для хранения данных StarVault используется бэкенд хранения высокой доступности. -
apiAddr: (string: "{}") - параметр задает конфигурацию адресов API для кластера StarVault. Если задана пустая строка, то используется IP-адрес пода. -
clusterAddr(string: null) - задает конфигурациюcluster_addrдля StarVault HA. Если значение равно0, то по умолчанию https://$<HOSTNAME><template.starvault.fullname>-internal:8201. -
raft- параметр настраивает режим встроенного хранилища raft для сервера StarVault.Для обновления helm на новую версию необходимо задать значение
server.podManagementPolicy = Parallel.-
enabled(bool: false) - параметр включает режим встроенного хранилища raft для сервера StarVault. Этот режим использует постоянные тома для хранения. -
setNodeId(bool: false) - параметр присваивает имени пода значение, взятое из Node Raft ID.-
config(string or object: "{}") - неформатированная строка для дополнительного конфигурирования HCL или JSON для серверов StarVault. Строка будет сохранена «как есть» вConfigMap, читаемый серверами StarVault. Так можно добавлять дополнительные настройки, которые чарт не выдал напрямую. Объект будет записан как JSON.
-
-
-
replicas(int: 3) - количество подов, которое надо развернуть для создания высокодоступного кластера из серверов StarVault. -
updatePartition(int: 0) - если задан параметр updatePartition, то все поды с порядковым номером, который больше или равен разделу (partition), будут обновлены, как только в контроллере StatefulSet обновится параметр.spec.template. Установка параметра в значение0отключает все обновления разделов. -
config(string or object: "{}") - неформатированная строка для дополнительного конфигурирования HCL или JSON для серверов StarVault. Строка будет сохранена «как есть» в томConfigMap, читаемый серверами StarVault. Так можно добавлять дополнительные настройки, которые чарт не выдал напрямую. Объект будет записан как JSON.config: | ui = true api_addr = "http://POD_IP:8200" listener "tcp" { tls_disable = 1 address = "0.0.0.0:8200" } storage "consul" { path = "starvault/" address = "HOST_IP:8500" }Также можно задать с помощью имеющегося в Helm флага
--set(starvault-helm версии 0.1.0 и выше), используя следующий синтаксис:--set server.ha.config='{ listener "tcp" { address = "0.0.0.0:8200" }'
-
-
disruptionBudget- значения, которые задают политику в отношении допустимого количества неработающих подов (disruption budget policy).-
enabled(bool: true) - активирует политику в отношении допустимого количества неработающих подов, чтобы ограничить количество подов, которые могут быть целенаправленно одновременно отключены. -
maxUnavailable(int: null) - максимальное количество недоступных подов. По умолчанию это количество будет автоматически подсчитано, исходя из того, что значение параметра server.replicas равно(n/2)-1. Если нужно установить этот параметр в0, в команду установки helm-чарта следует добавить флаг--set server.disruptionBudget.maxUnavailable=0, что вызвано ограничением в языке Helm-шаблонизации.
-
-
statefulSet - параметр задает настройки для StarVault Statefulset.
-
annotations(dictionary: {}) - это значение задает дополнительные аннотации, которые нужно добавить к StarVault statefulset. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML.annotations: kubernetes.io/my-statefulset: foobar # или annotations: | kubernetes.io/my-statefulset: foobar
-
-
serviceAccount- значения для настройки служебной учетной записи Kubernetes, созданной для StarVault.-
create(bool: true): если значениеtrue, создается служебная учетная запись, которую использует StarVault. -
name(string: ""): имя служебной учетной записи, которая будет использоваться. Если значение этого параметра не задано, а параметр «create» установлен в значениеtrue, то имя генерируется с использованием имени установки (по умолчанию этоstarvault). -
createSecret(bool: false) - установка параметра в значениеtrueсоздает Secret API-объект для хранения неистекающего токена служебной учетной записи. ПараметрserviceAccount.createдолжен быть равенtrue. Начиная с Kubernetes v1.24.0 рекомендуется использовать кратковременные токены из TokenRequest API или проектируемые тома (projected volumes). -
annotations(dictionary: {}) - это значение задает дополнительные аннотации для служебной учетной записи. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML.annotations: "sample/annotation1": "foo" "sample/annotation2": "bar" # или annotations: | "sample/annotation1": "foo" "sample/annotation2": "bar" -
extraLabels(dictionary: {}) - это значение задает дополнительные метки для служебной учетной записи сервера StarVault.extraLabels: 'sample/label1': 'foo' 'sample/label2': 'bar' -
serviceDiscovery- значения задают разрешения, которые нужны серверу StarVault, чтобы автоматически обнаруживать кластер StarVault и присоединяться к нему с помощью метаданных пода.-
enabled(bool: true) - параметр включает или отключает привязку роли служебной учетной записи к разрешениям, которые нужны StarVault для настройки регистрации сервиса Kubernetes.
-
-
-
statefulSet(object) – параметры StatefulSet, используемого для запуска StarVault.-
annotations(map: {}) – дополнительные аннотации для StatefulSet. -
securityContext- параметр задает контексты безопасности для пода и контейнера-
pod(dictionary: {}) - параметр задаетsecurityContextдля подов сервера на языке YAML либо в виде многострочной шаблонной цепочки символов в формате YAML.
Если не задан иglobal.openshift=false, то по умолчанию берутся следующие значения:runAsNonRoot: true runAsGroup: {{ .Values.server.gid | default 1000 }} runAsUser: {{ .Values.server.uid | default 100 }} fsGroup: {{ .Values.server.gid | default 1000 }}Если не задан и
global.openshift=true, то по умолчанию берутся пустые значения. -
container(dictionary: {}) - параметр задаетsecurityContextдля контейнеров сервера на языке YAML либо в виде многострочной шаблонной цепочки символов в формате YAML.
Если не задан иglobal.openshift=false, то по умолчанию берется значение:allowPrivilegeEscalation: falseЕсли не задан и
global.openshift=true, то по умолчанию берутся пустые значения.
-
-
-
hostNetwork(bool: false) - установка параметра в значениеtrueзапускает поды сервера StarVault на сетевом интерфейсе узла. При включении этого режима может потребоваться дополнительная настройкаdnsPolicy.
-
4. Блок ui
-
uiзначения, которые настраивают пользовательский интерфейс StarVault.-
enabled(bool: false) - если значение = true, то пользовательский интерфейс будет включен. Пользовательский интерфейс будет включен только на серверах StarVault. Если параметрserver.enabledустановлен в значениеfalse, то эта настройка ни на что не влияет. Чтобы так или иначе представить пользовательский интерфейс, следует задать параметрui.service. -
publishNotReadyAddresses(bool: true) - установка параметра в значение true маршрутизирует трафик на поды StarVault, которые еще не готовы (например, запечатаны или не инициализированы). -
activeVaultPodOnly(bool: false) - если параметр установлен в значение true, сервис пользовательского интерфейса будет маршрутизировать трафик только на активный под в кластере StarVault HA. -
serviceType(string: ClusterIP) - тип регистрируемого сервиса. По умолчанию это ClusterIP. Доступные типы сервисов приведены на веб-сайте Kubernetes. -
serviceNodePort(int: null) - задает значение порта узла Node Port при использовании serviceType: NodePort на сервисе StarVault UI. -
externalPort(int: 8200) - параметр задает внешний порт сервиса. -
targetPort(int: 8200) - параметр задает целевой порт сервиса. -
serviceIPFamilyPolicy(string: "") - политика семейства IP-адресов для сервиса. Используется в среде с двумя стеками (dual-stack). Возможные значения:SingleStack,PreferDualStack,RequireDualStack. Поддерживается только в Kubernetes версии 1.23.0 и выше. -
serviceIPFamilies(array: []) - список семейств IP-адресов, которые будут использоваться сервисом. Возможные значения:IPv4иIPv6. Используется в среде с двумя стеками (dual-stack). -
externalTrafficPolicy(string: "Cluster") - параметрexternalTrafficPolicyустанавливается в значениеClusterилиLocal, и он будет действителен только для типов сервисовLoadBalancerиNodePort. -
annotations(dictionary: {}) - это значение задает дополнительные аннотации для сервисаUI. Это может быть либо YAML, либо многострочная шаблонная цепочка символов в формате YAML. -
extraLabels(dictionary: {}) - это значение задает дополнительные метки для сервисаUI.annotations: "sample/annotation1": "foo" "sample/annotation2": "bar" # или annotations: | "sample/annotation1": "foo" "sample/annotation2": "bar"
-
5. Блок csi
-
csi- значения, которые настраивают CSI-провайдер StarVault для синхронизации секретов с Kubernetes.-
enabled(bool: false) - установка параметра в значениеtrueустанавливает DaemonSetstarvault-csi-provider. Требуется отдельная установкаsecrets-store-csi-driver. После установки драйвера и провайдера можно монтировать секреты StarVault в тома, а также синхронизировать их в секреты Kubernetes. -
image- значения, которые настраивают образ CSI-провайдера.-
registry(string: "quay.io") - реестр образов для образа CSI-провайдера. -
repository(string: "starvault/starvault-csi-provider") - репозиторий образа CSI-провайдера. -
tag(string: "2.0.2") - тег образа CSI-провайдера. -
pullPolicy(string: "IfNotPresent") - политика извлечения образа CSI-провайдера. Если тег имеет значениеlatest, установите значениеAlways.
-
-
volumes(array: []) - список томов, доступных всем контейнерам. Параметр обрабатывается черезtoYaml, а не через шаблонизацию, какextraVolumes. Предназначен для упрощения совместного использования томов между контейнерами. -
volumeMounts(array: []) - список точек монтирования томов для основного контейнера сервера. Параметр обрабатывается черезtoYaml, а не через шаблонизацию, какextraVolumes. -
resources(dictionary: {}) - запросы и лимиты ресурсов (ЦП, ОЗУ) для контейнера CSI-провайдера. -
hmacSecretName(string: "") - переопределение имени секрета по умолчанию для HMAC-ключа CSI-провайдера, используемого для генерации версий секретов. -
daemonSet- значения, которые настраивают DaemonSet для запуска провайдера.-
updateStrategy- стратегия обновления DaemonSet.-
type(string: "RollingUpdate") - тип стратегии обновления. -
maxUnavailable(string: "") - максимальное количество недоступных подов при обновлении.
-
-
annotations(dictionary: {}) - дополнительные аннотации для DaemonSet. Может быть задано как YAML или многострочная шаблонная строка в формате YAML. -
providersDir(string: "/etc/kubernetes/secrets-store-csi-providers") - путь к каталогу провайдера на узле (должен совпадать с путем CSI-провайдера). -
kubeletRootDir(string: "/var/lib/kubelet") - корневой каталог Kubelet на узле. -
endpoint(string: "/provider/starvault.sock") - путь к конечной точке провайдера. -
extraLabels(dictionary: {}) - дополнительные метки для DaemonSet CSI-провайдера. -
securityContext- контекст безопасности для шаблона пода и контейнера в DaemonSet CSI-провайдера.-
pod(dictionary: {}) - контекст безопасности для пода. -
container(dictionary: {}) - контекст безопасности для контейнера.
-
-
-
pod- значения, которые настраивают поды провайдера.-
annotations(dictionary: {}) - дополнительные аннотации для подов провайдера. Может быть задано как YAML или многострочная шаблонная строка в формате YAML. -
tolerations(array: []) - tolerations для подов провайдера. -
nodeSelector(dictionary: {}) - селектор узлов для назначения подов провайдера. -
affinity(dictionary: {}) - настройки совместного существования (affinity) для подов провайдера. -
extraLabels(dictionary: {}) - дополнительные метки для подов провайдера.
-
-
agent- значения, которые настраивают образ StarVault Agent, используемый CSI-провайдером.-
enabled(bool: true) - установка параметра в значениеtrueвключает использование агента. -
extraArgs(array: []) - дополнительные аргументы командной строки для агента. -
image- значения, которые настраивают образ агента.-
registry(string: "quay.io") - реестр образов для образа агента. -
repository(string: "starvault/starvault") - репозиторий образа агента. -
tag(string: "") - тег образа агента. По умолчанию используетсяappVersionчарта. -
pullPolicy(string: "IfNotPresent") - политика извлечения образа агента. Если тег имеет значениеlatest, установите значениеAlways.
-
-
logFormat(string: "standard") - формат логирования агента. Поддерживаются следующие форматы:standard,json. -
logLevel(string: "info") - уровень детализации логирования агента. Поддерживаются следующие уровни:trace,debug,info,warn,error. -
resources(dictionary: {}) - запросы и лимиты ресурсов (ЦП, ОЗУ) для контейнера агента.
-
-
priorityClassName(string: "") - класс приоритета для подов CSI-провайдера. -
serviceAccount- значения, которые настраивают служебную учетную запись CSI-провайдера.-
annotations(dictionary: {}) - дополнительные аннотации для служебной учетной записи. Может быть задано как YAML или многострочная шаблонная строка в формате YAML. -
extraLabels(dictionary: {}) - дополнительные метки для служебной учетной записи CSI-провайдера.
-
-
readinessProbe- значения, которые настраивают проверку готовности для подов.-
failureThreshold(int: 2) - количество неудачных проверок, после которых Kubernetes прекращает попытки. -
initialDelaySeconds(int: 5) - количество секунд после запуска контейнера до инициализации проверки. -
periodSeconds(int: 5) - интервал (в секундах) между проверками. -
successThreshold(int: 1) - минимальное количество успешных проверок после неудачной, чтобы проверка снова считалась успешной. -
timeoutSeconds(int: 3) - количество секунд, после которых проверка считается неудачной.
-
-
livenessProbe- значения, которые настраивают проверку жизнеспособности для подов.-
failureThreshold(int: 2) - количество неудачных проверок, после которых Kubernetes прекращает попытки. -
initialDelaySeconds(int: 5) - количество секунд после запуска контейнера до инициализации проверки. -
periodSeconds(int: 5) - интервал (в секундах) между проверками. -
successThreshold(int: 1) - минимальное количество успешных проверок после неудачной, чтобы проверка снова считалась успешной. -
timeoutSeconds(int: 3) - количество секунд, после которых проверка считается неудачной.
-
-
debug(bool: false) - установка параметра в значениеtrueвключает отладочное логирование. -
extraArgs(array: []) - дополнительные аргументы командной строки дляstarvault-csi-provider.
-
6. Блок serverTelemetry
-
serverTelemetry- значения для настройки метрик и телеметрии. Для включения этих функций задается строка конфигурацииtelemetry {}в конфигурации StarVault.В настоящий момент этот чарт не поддерживает аутентификацию на конечной точке метрик StarVault, поэтому в строку
listener "tcp" {}в конфигурации StarVault нужно добавить следующий блокtelemetry {}:listener "tcp" { tls_disable = 1 address = "0.0.0.0:8200" telemetry { unauthenticated_metrics_access = "true" } }Кроме того, верхнеуровневая строка конфигурации
telemetry {}также должна быть включена в конфигурацию StarVault следующим образом:telemetry { prometheus_retention_time = "30s", disable_hostname = true }-
serviceMonitor- значения, которые настраивают мониторинг сервера StarVault.-
enabled(bool: false) - установка параметра в значение true активирует развертывание ServiceMonitor CustomResource на сервере StarVault. Оператор Prometheus должен быть установлен до того, как эта функция будет включена. В противном случае не получится установить чарт из-за отсутствия ресурсаCustomResourceDefinitions, который предоставляет оператор. -
selectors(dictionary: {}) - метки селектора для добавления к ServiceMonitor. Если не заданы, по умолчанию используется значениеrelease: prometheus. -
port(string: "") - порт, который Prometheus использует при сборе метрик. Если не задан, используется значение из вспомогательного шаблонаstarvault.scheme. -
scheme(string: "") - схема, которую Prometheus использует при сборе метрик. Если не задана, используется значение из вспомогательного шаблонаstarvault.scheme. -
interval(string: "30s") - интервал, через который Prometheus собирает метрики. -
scrapeTimeout(string: "10s") - таймаут для процедур сбора с помощью Prometheus. -
tlsConfig(dictionary: {}) - конфигурация TLS для сбора метрик с API StarVault. -
authorization(dictionary: {}) - настройки авторизации для сбора метрик с API StarVault. -
scrapeClass(string: "") - класс сбора, используемый ServiceMonitor.
-
-
prometheusRules- значения, которые задают правила Prometheus.-
enabled(bool: false) - параметр развертывает пользовательский ресурсPrometheusRuleдля оповещений черезAlertManager. Требуется надлежащим образом развернутыйAlertManager. -
selectors(dictionary: {}) - метки селектора для добавления к правилам Prometheus. Если не заданы, по умолчанию используется значениеrelease: prometheus. -
rules(array: []) - правила Prometheus, которые надо создать.Примерrules: - alert: starvault-HighResponseTime annotations: message: The response time of StarVault is over 500ms on average over the last 5 minutes. expr: starvault_core_handle_request{quantile="0.5", namespace="mynamespace"} > 500 for: 5m labels: severity: warning - alert: starvault-HighResponseTime annotations: message: The response time of StarVault is over 1s on average over the last 5 minutes. expr: starvault_core_handle_request{quantile="0.5", namespace="mynamespace"} > 1000 for: 5m labels: severity: critical
-
-