Helm Values

ENBUILD Helm Chart Values

The following key value pairs are used to configure ENBUILD.

Parameters

Global parameters

NameDescriptionValue
global.AppVersion[default: “”] Provide custom appVersion, to override the default one. All the ENBUILD images will be of the same version. To use indidual tag for each service set the tag on per service basis.""
global.domainWhat domain to use to expose the ENBUILD using istio or Ingressijuned.com
global.disable_tls_gitlabSet to true if you are using self-signed certificatesfalse
global.ingress.enabledShould we create the Ingress Resources ?false
global.ingress.tlsIs Ingress TLS enabled ?false
global.ingress.tls_secretIf Ingress is TLS enabled, Provide the Secret for the TLS Certificate.""
global.ingress.classnameIngress classname if enabled.""
global.ingress.annotationsIngress annotations if enabled.[]
global.istio.enabledShould we create the Istio Resources ?false
global.istio.gatewayIstio gateway to use for creating Virtual Service.istio-system/main
global.image.registryContainer registry to pull images fromregistry.gitlab.com
global.image.pullPolicyContainer imagePullPolicyAlways
global.storageClassExplicit StorageClass to use for stateful dependencies when the cluster has no default StorageClass""
global.image.registry_credentialsif the image.registry is private container registry, provide the credentials{}
global.image.registry_credentials.usernameContainer registry Username""
global.image.registry_credentials.passwordContainer registry password""
global.gitlabRegistryCredentialsOptional GitLab Container Registry credentials. Leave unset on normal deploys; supply via –set at install time when an environment needs to pull images from registry.gitlab.com in addition to the primary global.image.registry.{}
global.gitlabRegistryCredentials.usernameOptional GitLab Container Registry username (or “oauth2” when password is a PAT). Leave unset on normal deploys; supply via –set at install time when an environment needs to pull images from registry.gitlab.com in addition to the primary global.image.registry. Pairs with password below.""
global.gitlabRegistryCredentials.passwordGitLab Container Registry password / PAT (with read_registry scope). NEVER commit a real value; provide via –set or an untracked secrets values file at install time.""
global.gitlabRegistryCredentials.registryGitLab Container Registry host. Overridable for self-hosted GitLab instances (rare)."registry.gitlab.com"

ENBUILD Lightning Features to be enabled

NameDescriptionValue
lightning_features.develop_lightning.applicationEnable Bolt deploymentfalse
lightning_features.develop_lightning.modelsEnable JupyterHub deploymentfalse
lightning_features.secure_lightning.ctfEnable CTF deploymentfalse
lightning_features.deploy_lightning.infra_lightningEnable Data Lightning deploymentfalse
lightning_features.deploy_lightning.data_lightningEnable Data Lightning deploymentfalse
lightning_features.deploy_lightning.ai_lightningEnable AI Lightning deploymentfalse
lightning_features.operations_lightning.headlampEnable Headlamp deploymentfalse
lightning_features.operations_lightning.monitoringEnable Loki Stack deploymentfalse

ENBUILD RabbitMQ parameters

NameDescriptionValue
rabbitmq.enabledSet to false to use existing RabbitMQtrue
rabbitmq.replicaCountRabbitMQ replicaCount1
rabbitmq.auth.usernameRabbitMQ usernameadmin
rabbitmq.auth.passwordRabbitMQ passwordSuperSecret
rabbitmq.auth.erlangCookieRabbitMQ erlangCookielamba
rabbitmq.auth.securePasswordSet to false to make Bitnami RabbitMQ chart honour auth.password instead of generating a random password. Must be false to prevent a PVC-wipe from creating a new random admin password that mismatches the backend connection string.false
rabbitmq.hostIf rabbitmq.enabled is false , provide the right rabbitmq endpoint""
rabbitmq.queue_prefixQueue Prefix for all RabbitMQ Queuesenbuild
rabbitmq.image.registryRabbitMQ image registryregistry.gitlab.com
rabbitmq.image.repositoryRabbitMQ image repositoryenbuild-staging/vivsoft-platform-ui/rabbitmq
rabbitmq.image.tagRabbitMQ image tag3.12.14

ENBUILD Database parameters

NameDescriptionValue
mongodb.enabledSet to true to Deploy the MongoDB.false
mongodb.mongo_root_usernameDB username. If mongodb.enabled this is used to to set the username. Else this is username for existing Cosmos or DocumentDB""
mongodb.mongo_root_passwordDB Password. If mongodb.enabled this is used to to set the password. Else this is password for existing Cosmos or DocumentDB""
mongodb.mongo_serverIf mongodb.enabled is false , provide the right cosmosDB/DocumentDB endpoint""
mongodb.mongo_endpoint_overrideVerbatim MONGODB_ENDPOINT for bk/mq/ai/user. Set this for HA topologies (3-node replicaSet, cosmosDB with auth params) where the assembled mongodb://USER:PW@MONGO_SERVER URI lacks the necessary query string (?replicaSet=...&authSource=admin). When set, MONGO_INITDB_ROOT_USERNAME / PASSWORD / MONGO_SERVER vars are still rendered into the secret (the mongo StatefulSet itself still consumes them) but the BE pods use this URI directly instead of assembling from parts. Leave empty for single-node defaults.""
mongodb.image.repositoryContainer repository for mongodb Containerenbuild-staging/vivsoft-platform-ui/mongodb
mongodb.image.tagContainer tag for mongodb Container4.4.5
mongodb.storageClassNameExplicit StorageClass for MongoDB PVCs. If empty, uses global.storageClass""

ENBUILD UI Services parameters

NameDescriptionValue
enbuildUi.image.repositoryContainer repository for enbuildUienbuild-staging/vivsoft-platform-ui/enbuild-frontend
enbuildUi.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildUi.replicasContainer enbuildUI Replicas1
enbuildUi.service_typeenbuildUI service_typeClusterIP
enbuildUi.node_portenbuildUI node_port30080
enbuildUi.hostnameenbuild service hostname. enbuildUi.hostname.global.domain becomes your FQDNenbuild
enbuildUi.kiali_urlkiali_url/kiali/
enbuildUi.grafana_urlgrafana_url/grafana/d/os6Bh8Omk/kubernetes-cluster?orgId=1&refresh=30s
enbuildUi.loki_urlloki_url/grafana/d/liz0yRCZz/logs-app?orgId=1
enbuildUi.kubecost_urlkubecost_urlkubecost/overview.html

ENBUILD Backend Services parameters

NameDescriptionValue
enbuildBk.image.repositoryContainer repository for enbuildBkenbuild-staging/vivsoft-platform-ui/enbuild-backend
enbuildBk.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildBk.replicasContainer enbuildBk Replicas1
enbuildBk.service_typeenbuildBk service_typeClusterIP
enbuildBk.encryption_keyencryption_key to be used by Backendencryption_key
enbuildBk.gitlabPat.existingSecretName of an operator-managed Secret carrying GITLAB_TOKEN (and optionally GITLAB_HOST). When set, the deployment adds an envFrom for that secret; the inline GITLAB_TOKEN from enbuildConsumer.gitlab.token is omitted to avoid duplicate envvars. Use this in P1 environments where the PAT is provisioned out-of-band and rotated separately. Backwards-compatible default: empty (uses inline values).""
enbuildBk.exportSigning.existingSecretName of an operator-managed Secret carrying SIEM_SIGNING_KEY (PEM-encoded ECDSA P-256 private key) for the CCM-32 audit export bundle (EN-1237). Strongly preferred over privateKeyPem for production. Backwards-compatible default: empty.""
enbuildBk.exportSigning.privateKeyPemInline PEM private key used to sign /audit/export-bundle responses. Dev/test only; production should use existingSecret. Multiline string. Backwards-compatible default: empty (signing disabled; bundle returns signed=false).""
enbuildBk.kubeProxyFallbackActorHeadlamp K8sApiProxy fallback actor email. When Headlamp requests carry no X-Actor-Email/JWT, the KubeProxyController falls back to this value. Empty = hardcoded controller default (alice@example.com).""
enbuildBk.clusterRpcTimeoutMsClusterRpcService timeout (ms) for hub-to-agent RPCs. Raise from the 10000 source default to avoid “Lost connection to the cluster” under serial-dispatch agents with concurrent Headlamp requests."30000"
enbuildBk.healthProbe.enabledEnable liveness/readiness probes on enbuild-bk. Set to false on environments where the Terminus RSS threshold causes a death loop from K8sApiProxy /openapi/v2 buffering.true
enbuildBk.healthProbe.livenessPathHTTP path for the bk liveness probe. Default is the combined endpoint on the standard released backend; P1-CCM overrides to /api/health/live (heap-only) to keep the RSS dimension out of the liveness check."/api/health"
enbuildBk.healthProbe.readinessPathHTTP path for the bk readiness probe. Default is the combined endpoint; P1-CCM overrides to /api/health/ready (heap + mongo + disk)."/api/health"
enbuildBk.kubeProxyCache.schemaTtlSecondsTTL (seconds) for the /openapi/v2 and API-discovery schema cache tier. Empty = source default 300 s."300"
enbuildBk.kubeProxyCache.listTtlSecondsTTL (seconds) for resource-list cache tier. Empty = source default 10 s."10"
enbuildBk.kubeProxyCache.maxEntriesLRU entry cap per cache tier. Empty = source default 50."50"
enbuildBk.securityTooling.existingSecretName of an operator-managed Secret carrying hub-self CCM-13d security-tooling env (TWISTLOCK_API_URL/USERNAME/PASSWORD, ANCHORE_API_URL/USERNAME/PASSWORD, FALCO_CLUSTER_ID, FALCO_WEBHOOK_SECRET, OPA_GATEKEEPER_ENABLED, FALCO_AUDIT_LANE). Added as an envFrom on the bk container. Keeps Big Bang tool creds out of Helm values + rotatable out-of-band; bridges them cross-namespace into the bk pod. Backwards-compatible default: empty (hub-self reports those sources unavailable until set).""
enbuildBk.installAgent.existingSecretName of an operator-managed Secret carrying the 3 sensitive install-agent env vars: GITLAB_TOKEN (gitlab.com PAT for cloning the agent chart repo), ENBUILD_REPO1_USER (registry1.dso.mil pull username), ENBUILD_REPO1_TOKEN (registry1.dso.mil pull token). When set, the deployment adds an envFrom for that secret. When empty (default), the install-agent endpoint 503s on use with a clear error AND NOTES.txt prints a warning at install time. Operator pre-creates via kubectl -n enbuild create secret generic enbuild-install-agent-creds --from-literal=GITLAB_TOKEN=... --from-literal=ENBUILD_REPO1_USER=... --from-literal=ENBUILD_REPO1_TOKEN=.... Rotation = kubectl recreate Secret + rollout restart BE.""
enbuildBk.installAgent.hubUrlHub gRPC endpoint (host:port) the spoke agent dials outbound. Default is the legacy vendor13-ib NLB DNS; override per environment via examples/enbuild/values-.yaml.enbuild-ib-vendor13.staging.dso.mil:443
enbuildBk.installAgent.tlsServerNameHA-path TLS SAN/SNI override (optional). Set to the hub cert SAN when HUB_URL points at an AWS NLB DNS name (Route53 round-robins per-AZ IPs); spokes dial the DNS + use this for verification. Leave empty for the legacy hostAliases path.""
enbuildBk.installAgent.hubInternalIpsLegacy CSV of per-AZ NLB IPs for spoke /etc/hosts hostAliases (air-gapped clusters that can’t use AWS DNS). Empty by default; the HA path (tlsServerName + DNS) supersedes it.""
enbuildBk.installAgent.agentImageTagSHA of the enbuild-agent container image install-agent helm-installs on the spoke. Bump per agent release. Defaults baked in here so a fresh helm install gets a known-good tag without operator action; override via –set on rolls.ac99ae1830c427a65db31a6874e5d4414d90133f
enbuildBk.installAgent.chartRepoGit URL of the chart repo install-agent’s Job clones to obtain enbuild-core / enbuild-stack / enbuild-agent charts. Default = platform-one-eks; override for forks or alt mirrors.https://gitlab.com/enbuild-staging/iac-templates/platform-one-eks.git
enbuildBk.installAgent.chartRefBranch/tag of the chart repo install-agent’s Job clones. Default tracks the long-lived integration branch where chart edits land before merge to main.feat/p1ccm-agent-chart-skeleton
enbuildBk.serviceAccountOverride the BE pod’s ServiceAccount. When empty (default), the pod binds to {{ .Release.Name }}-enbuild-bk-installer (minted by enbuild-bk-rbac.yaml; carries the perms install-agent needs). Override only if a deployment mode needs a different SA.""

ENBUILD USER Services parameters

NameDescriptionValue
enbuildUser.image.repositoryContainer repository for enbuildUserenbuild-staging/vivsoft-platform-ui/enbuild-user
enbuildUser.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildUser.replicasContainer enbuildUser Replicas1
enbuildUser.service_typeenbuildUser service_typeClusterIP

ENBUILD Consumer Services parameters

NameDescriptionValue
enbuildConsumer.image.registryPer-service registry override. Unset → falls back to global.image.registry. Use to consume an mq-consumer image from a non-default registry (e.g. GitLab staging while waiting for an Iron Bank rebuild). Leave unset for normal deployments.""
enbuildConsumer.image.repositoryContainer repository for enbuildConsumerenbuild-staging/vivsoft-platform-ui/enbuild-mq-consumer
enbuildConsumer.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildConsumer.replicasContainer enbuildConsumer Replicas1
enbuildConsumer.commandCommand override for the MQ consumer container["npm"]
enbuildConsumer.argsArgs override for the MQ consumer container["run","run:mq:all"]

ENBUILD AI Services parameters

NameDescriptionValue
enbuildAI.image.repositoryContainer repository for enbuildAIenbuild-staging/vivsoft-platform-ui/enbuild-ai
enbuildAI.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildAI.replicasContainer enbuilAI Replicas1
enbuildAI.service_typeenbuildAI service_typeClusterIP
enbuildAI.api_keyapi_key [default: “dummy”] for OpenAI service if you planning to use OpenAI servicedummy
enbuildAI.ollama.enabledmodel_name for OpenAI service."ollama/llama3.2"
enbuildAI.model_namemodel_name for OpenAI service."ollama/llama3.2"
enbuildAI.ollama_endpointollama_endpoint for OpenAI service."http://open-webui-ollama:11434"
enbuildAI.serviceAccount.createCreate a dedicated service account for AI podfalse
enbuildAI.serviceAccount.nameName of service account. If empty, uses release name pattern""
enbuildAI.serviceAccount.annotationsAnnotations for AI service account (e.g., for IRSA){}

enbuildBolt Services parameters

NameDescriptionValue
enbuildBolt.image.repositoryContainer repository for enbuildBoltghcr.io/vivsoftorg/dev-lightning
enbuildBolt.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagv1.0.0
enbuildBolt.replicasContainer enbuildBolt Replicas1
enbuildBolt.service_typeenbuildBolt service_typeClusterIP

enbuildCTF Services parameters

NameDescriptionValue
enbuildCTF.image.repositoryContainer repository for enbuildCTFenbuild-staging/vivsoft-platform-ui/enbuild-ctf
enbuildCTF.image.tagContainer image tag. Skip to use the HelmChart appVersion as Image Tagundefined
enbuildCTF.replicasContainer enbuildCTF Replicas1
enbuildCTF.service_typeenbuildCTF service_typeClusterIP
enbuildCTF.debugSet to true to enable debug mode in CTF backendtrue
enbuildCTF.cors_originsAllowed CORS origins for CTF backend['http://localhost:5173','http://localhost:5000','http://localhost:3000']
enbuildCTF.log_levelLog level for CTF backendDEBUG
enbuildCTF.aws_regionAWS region for CTF backend to use AWS services like S3us-east-1
enbuildCTF.resources.requests.memoryMemory resource request for CTF backend1Gi
enbuildCTF.resources.requests.cpuCPU resource request for CTF backend500m
enbuildCTF.resources.limits.memoryMemory resource limit for CTF backend1Gi
enbuildCTF.resources.limits.cpuCPU resource limit for CTF backend1
enbuildCTF.serviceAccount.createCreate a dedicated service account for CTF podfalse
enbuildCTF.serviceAccount.nameName of service account. If empty, uses release name pattern""
enbuildCTF.serviceAccount.annotationsAnnotations for CTF service account (e.g., for IRSA){}