Справочник values¶
Файл defaults — values.yaml в поставке чарта. Ниже — ключевые блоки для настройки развёртывания.
database¶
| Ключ | Описание |
|---|---|
database.mode |
embedded — OrientDB в PVC; cnpg — PostgreSQL через CNPG; external — внешний PostgreSQL |
credentials¶
Единый источник секретов.
| Ключ | Описание |
|---|---|
credentials.provider |
helm — Secret из values; externalSecrets — ESO; existing — готовые Secret |
credentials.database.* |
host, user, password, port, name — для external и bootstrap CNPG |
credentials.nexus.adminPassword |
Начальный пароль admin (PostgreSQL-режимы); источник для blobStore/trustStore Jobs |
credentials.nexus.license |
contentBase64, fileName, mountPath — лицензия Nexus |
credentials.nexus.secretJson |
Опциональный JSON secret |
credentials.existing.* |
Имена Secret при provider: existing |
credentials.externalSecrets.* |
SecretStore и mapping ключей ESO |
registryCore¶
| Ключ | Описание |
|---|---|
registryCore.clustered |
false → Deployment; true → StatefulSet (HA) |
registryCore.replicaCount |
Число реплик (только при clustered: true) |
registryCore.image.repository / tag |
Образ core (registry.appsec.global/appsec-registry/core) |
registryCore.containerPort |
Порт Nexus в pod (8081) |
registryCore.resources |
CPU/memory requests и limits |
registryCore.env.install4jAddVmParams |
JVM flags (INSTALL4J_ADD_VM_PARAMS) |
registryCore.env.jdbcUrlParams |
Query string JDBC (?param=value) для PostgreSQL |
registryCore.env.zeroDowntimeEnabled |
NEXUS_ZERO_DOWNTIME_ENABLED |
registryCore.probes.* |
startup / liveness / readiness HTTP probes (default path /service/rest/v1/status/writable on containerPort) |
registryCore.rollout.type |
Recreate (standalone) или RollingUpdate (HA) |
registryCore.waitForPostgres |
InitContainer pg_isready для PostgreSQL-режимов |
registryCore.storage.* |
PVC: enabled, size, storageClass, perPod, sharedClaim, existingClaims |
registryCore.nexus.properties |
Override nexus.properties через ConfigMap |
registryCore.nexus.docker |
Docker registry connector (NodePort, registries, TLS) |
Health probes (registryCore.probes)¶
По умолчанию startup, liveness и readiness — HTTP GET на registryCore.containerPort (8081):
- Path:
/service/rest/v1/status/writable - Ответ:
200 OK, пустой body, без аутентификации - Проверка идёт на core pod/Service, не через UI ingress (SPA отдаёт HTML с
200на любой path)
Переопределение: registryCore.probes.startup.path, registryCore.probes.liveness.path, registryCore.probes.readiness.path.
storage и PVC¶
| clustered | database.mode | PVC |
|---|---|---|
| false | embedded | {fullname}-data + {fullname}-nexus-data |
| false | cnpg / external | {fullname}-nexus-data |
| true | cnpg / external | perPod volumeClaimTemplate или sharedClaim |
Mount path данных: /registry-data.
registryUi¶
| Ключ | Описание |
|---|---|
registryUi.replicaCount |
Число реплик UI |
registryUi.image.* |
Образ UI (registry.appsec.global/appsec-registry/ui) |
registryUi.service.port |
Порт Service (8080) |
registryUi.nginx.apiPath |
Путь проксирования API (/service) |
registryUi.nginx.proxy.* |
Таймауты, clientMaxBodySize (10240m по умолчанию) |
ingress и ingressNginx¶
| Ключ | Описание |
|---|---|
ingress.enabled |
Создать Ingress |
ingress.host |
FQDN UI |
ingress.defaultRule |
Правило на Service registryUi |
ingress.ingressClassName |
Класс ingress (должен совпадать с controller) |
ingress.tls |
TLS secrets |
ingress.dockersubdomain |
Wildcard *.host для docker pull |
ingressNginx.enabled |
Subchart ingress-nginx в namespace release |
service¶
| Ключ | Описание |
|---|---|
service.enabled |
ClusterIP Service на core |
service.nexus |
NodePort / sessionAffinity для прямого доступа к core |
service.headless |
Headless Service для StatefulSet |
seaweedfs и blobStore¶
Включаются парой для in-cluster S3 (dev/test).
| Ключ | Описание |
|---|---|
seaweedfs.enabled |
Subchart SeaweedFS |
seaweedfs.allInOne.* |
Single-pod режим с S3 |
seaweedfs.s3.credentials.admin.* |
Access/secret key S3 |
seaweedfs.s3.existingConfigSecret |
Secret для SeaweedFS (обязателен при заданных credentials) |
seaweedfs.s3.createBuckets |
Список bucket для создания до регистрации в Nexus |
blobStore.enabled |
Post-install Job регистрации S3 blob store |
blobStore.name / bucket / prefix |
Параметры blob store в Nexus |
blobStore.endpoint |
Override S3 URL (по умолчанию http://{seaweedfs}-all-in-one:8333) |
blobStore.enabled требует seaweedfs.enabled: true. Bucket должен быть в seaweedfs.s3.createBuckets.
trustStore¶
| Ключ | Описание |
|---|---|
trustStore.enabled |
Post-install Job загрузки CA |
trustStore.certificates[] |
alias, contentBase64 или secretName + secretKey |
trustStore.configure.hookWeight |
15 (выполняется до blobStore hook weight 20) |
cnpg¶
| Ключ | Описание |
|---|---|
cnpg.enabled |
Subchart CloudNative-PG operator |
cnpg.crds.create |
Установка CRD оператора |
cnpg.cluster.enabled |
Создать Cluster CR (обязательно при database.mode: cnpg) |
cnpg.cluster.name |
Имя Cluster; пусто = {chart-name}-db |
cnpg.cluster.instances |
1 — standalone БД; 3+ — HA PostgreSQL |
cnpg.cluster.storage.* |
Размер и StorageClass тома PostgreSQL |
cnpg.database.name / owner |
Имя БД и owner Nexus |
cnpg.bootstrap.mode |
initdb (default) или recovery (bootstrap из Barman object store) |
cnpg.bootstrap.recovery.* |
source, serverName, destinationPath, endpointURL, recoveryTarget (PITR) |
cnpg.backup.enabled |
Barman → S3: continuous WAL + ScheduledBackup |
cnpg.backup.destinationPath / endpointURL |
s3://bucket/prefix и endpoint API |
cnpg.backup.serverName |
Папка сервера в object store; пусто = имя Cluster; после restore — другое имя |
cnpg.backup.s3secret.* / secretName |
Credentials (ACCESS_KEY_ID, SECRET_ACCESS_KEY, region) |
cnpg.backup.scheduledBackup.* |
Cron (UTC), immediate, имя ScheduledBackup |
Пароль bootstrap: credentials.database.password.
Пошаговый backup/restore: Резервное копирование и восстановление PostgreSQL (CNPG).
imagePullSecrets¶
| Ключ | Описание |
|---|---|
imagePullSecrets.create |
Создать Secret из base64 dockerconfigjson |
imagePullSecrets.secret |
Содержимое dockerconfigjson |
imagePullSecrets.secretName |
Имя Secret (создаваемого или существующего) |
Прочее¶
| Блок | Описание |
|---|---|
namespaces.nexusNs |
Опциональное создание Namespace manifest |
serviceAccount |
SA для pod'ов |
config |
Доп. ConfigMap в mountPath |
extraObjects |
Произвольные манифесты через tpl |
Правила validation¶
Helm template завершится ошибкой при:
registryCore.clustered: true+database.mode: embedded;database.mode: cnpgбезcnpg.cluster.enabled: true;database.mode: externalприcnpg.cluster.enabled: true;blobStore.enabled: trueбезseaweedfs.enabled: true.
Пример trust store values¶
См. файл values/truststore-example.yaml в поставке чарта.
Проверка рендера Job:
helm template demo . -f values/truststore-example.yaml \
-s templates/nexus-truststore-config-job.yaml