Перейти к содержанию

Справочник 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
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)

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.instances 1 — standalone БД; 3+ — HA PostgreSQL
cnpg.cluster.storage.* Размер и StorageClass тома PostgreSQL
cnpg.database.name / owner Имя БД и owner Nexus

Пароль bootstrap: credentials.database.password.

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