Skip to main content
Version: v0.12.x

Build Plane

Dependencies​

This chart depends on the following sub-charts. For full configuration options of each dependency, please refer to their official documentation.

NameVersionRepositoryCondition
argo-workflows0.45.2https://argoproj.github.io/argo-helm-
external-secrets0.19.2https://charts.external-secrets.ioexternal-secrets.enabled
fluent-bit0.54.0https://fluent.github.io/helm-chartsfluent-bit.enabled

Argo Workflows​

For full configuration options, please refer to the official chart documentation.

Argo Workflows sub-chart configuration. See https://github.com/argoproj/argo-helm/tree/main/charts/argo-workflows for all options.

ParameterDescriptionTypeDefault
argo-workflows.controller.resources.limits.cpuCPU limit for the controllerstring50m
argo-workflows.controller.resources.limits.memoryMemory limit for the controllerstring64Mi
argo-workflows.controller.resources.requests.cpuCPU request for the controllerstring25m
argo-workflows.controller.resources.requests.memoryMemory request for the controllerstring32Mi
argo-workflows.crds.keepKeep CRDs on chart uninstallbooleanfalse
argo-workflows.fullnameOverrideOverride the full name of Argo Workflows resourcesstringargo
argo-workflows.server.enabledEnable the Argo Workflows server UIbooleanfalse
argo-workflows.workflow.serviceAccount.createCreate service account for workflowsbooleantrue
argo-workflows.workflowNamespacesNamespaces where Argo Workflows can submit workflowsarray

Cluster Agent​

Cluster Agent configuration for agent-based communication with control plane

ParameterDescriptionTypeDefault
clusterAgent.affinityAffinity rules for cluster agent podsobject
clusterAgent.dnsRewrite.enabledEnable DNS rewrite for k3d setupsbooleanfalse
clusterAgent.enabledEnable the cluster agent for control plane communicationbooleantrue
clusterAgent.heartbeatIntervalHeartbeat interval for control plane connectionstring30s
clusterAgent.image.pullPolicyImage pull policyobjectIfNotPresent
clusterAgent.image.repositoryImage repository for cluster agentstringghcr.io/openchoreo/cluster-agent
clusterAgent.image.tagImage tag. If empty, uses Chart.AppVersion.string
clusterAgent.logLevelLog level for cluster agentobjectinfo
clusterAgent.nameName of the cluster agent deploymentstringcluster-agent-buildplane
clusterAgent.nodeSelectorNode selector for cluster agent podsobject
clusterAgent.planeIDLogical plane identifier. Shared across multiple CRs connecting to the same physical plane for multi-tenancy.stringdefault-buildplane
clusterAgent.planeTypeType of planeobjectbuildplane
clusterAgent.podAnnotationsAnnotations to add to cluster agent podsobject
clusterAgent.podSecurityContext.fsGroupinteger1000
clusterAgent.podSecurityContext.runAsNonRootbooleantrue
clusterAgent.podSecurityContext.runAsUserinteger1000
clusterAgent.priorityClass.createCreate priority classbooleanfalse
clusterAgent.priorityClass.namePriority class namestringcluster-agent-buildplane
clusterAgent.priorityClass.valuePriority valueinteger900000
clusterAgent.rbac.createCreate RBAC resourcesbooleantrue
clusterAgent.reconnectDelayDelay before reconnecting on disconnectionstring5s
clusterAgent.replicasNumber of cluster agent replicasinteger1
clusterAgent.resources.limits.cpustring100m
clusterAgent.resources.limits.memorystring256Mi
clusterAgent.resources.requests.cpustring50m
clusterAgent.resources.requests.memorystring128Mi
clusterAgent.securityContext.allowPrivilegeEscalationbooleanfalse
clusterAgent.securityContext.capabilities.droparray
clusterAgent.securityContext.readOnlyRootFilesystembooleantrue
clusterAgent.serverCANamespaceNamespace where cluster-gateway CA existsstringopenchoreo-control-plane
clusterAgent.serverUrlWebSocket URL of the cluster gateway in control planestringwss://cluster-gateway.openchoreo-control-plane.svc.cluster.local:8443/ws
clusterAgent.serviceAccount.annotationsAnnotations to add to the service accountobject
clusterAgent.serviceAccount.createCreate service accountbooleantrue
clusterAgent.serviceAccount.nameService account namestringcluster-agent-buildplane
clusterAgent.tls.caSecretNameCA secret name for signing agent client certificates. If empty, self-signed certs will be generated (required for multi-cluster setup).stringcluster-gateway-ca
clusterAgent.tls.caSecretNamespaceNamespace where the CA secret exists. If empty, self-signed certs will be generated (required for multi-cluster setup).stringopenchoreo-control-plane
clusterAgent.tls.caValueInline CA certificate value (PEM format) for multi-cluster setupstring
clusterAgent.tls.clientSecretNameClient certificate secret namestringcluster-agent-tls
clusterAgent.tls.durationCertificate durationstring2160h
clusterAgent.tls.enabledEnable TLS for agent communicationbooleantrue
clusterAgent.tls.generateCertsGenerate client certificates locally using cert-manager. Set to true for multi-cluster setup.booleanfalse
clusterAgent.tls.renewBeforeCertificate renewal windowstring360h
clusterAgent.tls.secretNameSecret containing client certificate and keystringcluster-agent-tls
clusterAgent.tls.serverCAConfigMapConfigMap containing server CA certificate for verifying gatewaystringcluster-gateway-ca
clusterAgent.tls.serverCAValueInline server CA certificate value (PEM format) for multi-cluster setupstring
clusterAgent.tolerationsTolerations for cluster agent podsarray

External Secrets​

For full configuration options, please refer to the official chart documentation.

External Secrets Operator sub-chart configuration. See https://github.com/external-secrets/external-secrets for all options. Single cluster - set enabled to false to use data plane's ESO. Multi-cluster - set enabled to true to install dedicated ESO in build plane.

ParameterDescriptionTypeDefault
external-secrets.enabledInstall External Secrets Operator in the build planebooleanfalse
external-secrets.fullnameOverrideOverride the full name of External Secrets resourcesstringexternal-secrets
external-secrets.nameOverrideOverride the name of External Secrets resourcesstringexternal-secrets

Fake Secret Store​

Fake Secret Store configuration for local development. Creates a ClusterSecretStore with static secrets for testing purposes. Not for production use.

ParameterDescriptionTypeDefault
fakeSecretStore.enabledEnable the fake secret store for developmentbooleantrue
fakeSecretStore.nameName of the ClusterSecretStore resourcestringdefault
fakeSecretStore.secretsList of fake secrets to create for developmentarray

Fluent Bit​

For full configuration options, please refer to the official chart documentation.

Fluent Bit subchart configuration for log collection and forwarding to OpenSearch

ParameterDescriptionTypeDefault
fluent-bit.config.customParsersCustom parser definitions in Fluent Bit configuration formatstring(multiline string)
fluent-bit.config.filtersFilter plugin configuration for log processingstring(multiline string)
fluent-bit.config.inputsInput plugin configuration for log collectionstring(multiline string)
fluent-bit.config.outputsOutput plugin configuration for log forwarding to OpenSearchstring(multiline string)
fluent-bit.dnsPolicyDNS policy for Fluent Bit podsobjectClusterFirstWithHostNet
fluent-bit.enabledEnable Fluent Bit log collector deploymentbooleanfalse
fluent-bit.extraVolumeMountsExtra volume mounts for the Fluent Bit containerarray
fluent-bit.extraVolumesExtra volumes for the Fluent Bit podarray
fluent-bit.fullnameOverrideOverride the full name of Fluent Bit resourcesstringfluent-bit
fluent-bit.hostNetworkUse host network for Fluent Bit pods (required for node log access)booleantrue
fluent-bit.initContainersInit containers for the Fluent Bit pod (used to set volume ownership)array
fluent-bit.metricsPortPort for Fluent Bit metrics endpointinteger2021
fluent-bit.rbac.nodeAccessEnable node-level access for reading container logsbooleantrue
fluent-bit.resources.limits.cpuCPU limit for Fluent Bitstring200m
fluent-bit.resources.limits.memoryMemory limit for Fluent Bitstring256Mi
fluent-bit.resources.requests.cpuCPU request for Fluent Bitstring100m
fluent-bit.resources.requests.memoryMemory request for Fluent Bitstring128Mi
fluent-bit.securityContext.allowPrivilegeEscalationPrevent privilege escalationbooleanfalse
fluent-bit.securityContext.capabilities.dropCapabilities to droparray
fluent-bit.securityContext.readOnlyRootFilesystemMount root filesystem as read-onlybooleantrue
fluent-bit.securityContext.runAsNonRootRun container as non-root userbooleantrue
fluent-bit.securityContext.runAsUserUser ID to run the containerinteger10000
fluent-bit.service.portService port for Fluent Bit metricsinteger2021
fluent-bit.testFramework.enabledEnable Fluent Bit test frameworkbooleanfalse

Global​

Global configuration values shared across all components

ParameterDescriptionTypeDefault
global.commonLabelsCommon labels to add to every resourceobject
global.defaultResources.buildpackCache.enabledEnable buildpack image caching. When enabled, images are pulled from cache registry instead of remote.booleanfalse
global.defaultResources.buildpackCache.imagesList of buildpack images to cache. Each entry has an id for lookup, remoteImage for external registry, and cachedImage for local cache.array
global.defaultResources.enabledIf true, applies the workflow templatesbooleantrue
global.defaultResources.podmanCache.sizeSize of the persistent volume for podman image layer cachestring10Gi
global.defaultResources.podmanCache.storageClassStorage class for the cache PVC. Uses cluster default if not set.string
global.defaultResources.registry.hostContainer registry host for pushing built images (REQUIRED). Examples include ECR (123456789.dkr.ecr.us-east-1.amazonaws.com), GCR (gcr.io/my-project), Docker Hub (docker.io), or a local registry (registry.openchoreo-build-plane.svc.cluster.local).string
global.defaultResources.registry.repoPathRepository path prepended to image names. Can be any depth (e.g., "myorg", "myorg/myproject", "namespace/subpath/images"). Leave empty for root-level images.string
global.defaultResources.registry.tlsVerifyEnable TLS verification when pushing images to the registry. Set to false for self-signed certificates or local development.booleanfalse

Wait Job​

Wait job configuration for post-install hooks

ParameterDescriptionTypeDefault
waitJob.imageContainer image used for wait jobs (must contain kubectl)stringbitnamilegacy/kubectl:1.32.4