Skip to main content
Version: Next

Built-in Components Type

This documentation will walk through all the built-in component types sorted alphabetically.

It was generated automatically by scripts, please don't update manually, last updated at 2026-04-16T11:50:12+01:00.

Cron-Task

Description

Describes cron jobs that run code or a script to completion.

Examples (cron-task)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: cron-worker
spec:
components:
- name: mytask
type: cron-task
properties:
image: perl
count: 10
cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
schedule: "*/1 * * * *"

Specification (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
labelsSpecify the labels in the workload.map[string]stringfalse
annotationsSpecify the annotations in the workload.map[string]stringfalse
scheduleSpecify the schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.stringtrue
startingDeadlineSecondsSpecify deadline in seconds for starting the job if it misses scheduled.intfalse
suspendsuspend subsequent executions.boolfalsefalse
concurrencyPolicySpecifies how to treat concurrent executions of a Job."Allow" or "Forbid" or "Replace"falseAllow
successfulJobsHistoryLimitThe number of successful finished jobs to retain.intfalse3
failedJobsHistoryLimitThe number of failed finished jobs to retain.intfalse1
countSpecify number of tasks to run in parallel.intfalse1
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service."Always" or "Never" or "IfNotPresent"false
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
restartDefine the job restart policy, the value can only be Never or OnFailure. By default, it's Never.stringfalseNever
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
cpuNumber of CPU units for the service, like 0.5 (0.5 CPU core), 1 (1 CPU core).stringfalse
memorySpecifies the attributes of the memory resource required for the container.stringfalse
volumeMountsvolumeMountsfalse
volumesDeprecated field, use volumeMounts instead.[]volumesfalse
hostAliasesAn optional list of hosts and IPs that will be injected into the pod's hosts file.[]hostAliasesfalse
ttlSecondsAfterFinishedLimits the lifetime of a Job that has finished.intfalse
activeDeadlineSecondsThe duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it.intfalse
backoffLimitThe number of retries before marking this job failed.intfalse6
livenessProbeInstructions for assessing whether the container is alive.livenessProbefalse
readinessProbeInstructions for assessing whether the container is in a suitable state to serve traffic.readinessProbefalse

env (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
nameEnvironment variable name.stringtrue
valueThe value of the environment variable.stringfalse
valueFromSpecifies a source the value of this var should come from.valueFromfalse
valueFrom (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
secretKeyRefSelects a key of a secret in the pod's namespace.secretKeyReffalse
configMapKeyRefSelects a key of a config map in the pod's namespace.configMapKeyReffalse
secretKeyRef (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the secret in the pod's namespace to select from.stringtrue
keyThe key of the secret to select from. Must be a valid secret key.stringtrue
configMapKeyRef (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the config map in the pod's namespace to select from.stringtrue
keyThe key of the config map to select from. Must be a valid secret key.stringtrue

volumeMounts (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
pvcMount PVC type volume.[]pvcfalse
configMapMount ConfigMap type volume.[]configMapfalse
secretMount Secret type volume.[]secretfalse
emptyDirMount EmptyDir type volume.[]emptyDirfalse
hostPathMount HostPath type volume.[]hostPathfalse
pvc (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
claimNameThe name of the PVC.stringtrue
configMap (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
secret (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
secretNamestringtrue
items[]itemsfalse
items (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
emptyDir (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
medium"" or "Memory"falseempty
hostPath (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
pathstringtrue

volumes (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir."emptyDir" or "pvc" or "configMap" or "secret"falseemptyDir
medium"" or "Memory"falseempty

hostAliases (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
ipstringtrue
hostnames[]stringtrue

livenessProbe (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
httpHeaders[]httpHeadersfalse
httpHeaders (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (cron-task)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
httpHeaders[]httpHeadersfalse
httpHeaders (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (cron-task)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

Daemon

Description

Describes daemonset services in Kubernetes.

Underlying Kubernetes Resources (daemon)

  • daemonsets.apps

Examples (daemon)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: addon-node-exporter
namespace: vela-system
spec:
components:
- name: node-exporter
type: daemon
properties:
image: prom/node-exporter
imagePullPolicy: IfNotPresent
volumeMounts:
hostPath:
- mountPath: /host/sys
mountPropagation: HostToContainer
name: sys
path: /sys
readOnly: true
- mountPath: /host/root
mountPropagation: HostToContainer
name: root
path: /
readOnly: true
traits:
- properties:
args:
- --path.sysfs=/host/sys
- --path.rootfs=/host/root
- --no-collector.wifi
- --no-collector.hwmon
- --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)
- --collector.netclass.ignored-devices=^(veth.*)$
type: command
- properties:
annotations:
prometheus.io/path: /metrics
prometheus.io/port: "8080"
prometheus.io/scrape: "true"
port:
- 9100
type: expose
- properties:
cpu: 0.1
memory: 250Mi
type: resource

Specification (daemon)

NameDescriptionTypeRequiredDefaultImmutable
labelsSpecify the labels in the workload.map[string]stringfalse
annotationsSpecify the annotations in the workload.map[string]stringfalse
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service."Always" or "Never" or "IfNotPresent"false
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
portsWhich ports do you want customer traffic sent to, defaults to 80.[]portsfalse
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
cpuNumber of CPU units for the service, like 0.5 (0.5 CPU core), 1 (1 CPU core).stringfalse
memorySpecifies the attributes of the memory resource required for the container.stringfalse
volumeMountsvolumeMountsfalse
volumesDeprecated field, use volumeMounts instead.[]volumesfalse
livenessProbeInstructions for assessing whether the container is alive.livenessProbefalse
readinessProbeInstructions for assessing whether the container is in a suitable state to serve traffic.readinessProbefalse
hostAliasesSpecify the hostAliases to add.[]hostAliasesfalse

ports (daemon)

NameDescriptionTypeRequiredDefaultImmutable
portNumber of port to expose on the pod's IP address.inttrue
nameName of the port.stringfalse
protocolProtocol for port. Must be UDP, TCP, or SCTP."TCP" or "UDP" or "SCTP"falseTCP
exposeSpecify if the port should be exposed.boolfalsefalse

env (daemon)

NameDescriptionTypeRequiredDefaultImmutable
nameEnvironment variable name.stringtrue
valueThe value of the environment variable.stringfalse
valueFromSpecifies a source the value of this var should come from.valueFromfalse
valueFrom (daemon)
NameDescriptionTypeRequiredDefaultImmutable
secretKeyRefSelects a key of a secret in the pod's namespace.secretKeyReffalse
configMapKeyRefSelects a key of a config map in the pod's namespace.configMapKeyReffalse
secretKeyRef (daemon)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the secret in the pod's namespace to select from.stringtrue
keyThe key of the secret to select from. Must be a valid secret key.stringtrue
configMapKeyRef (daemon)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the config map in the pod's namespace to select from.stringtrue
keyThe key of the config map to select from. Must be a valid secret key.stringtrue

volumeMounts (daemon)

NameDescriptionTypeRequiredDefaultImmutable
pvcMount PVC type volume.[]pvcfalse
configMapMount ConfigMap type volume.[]configMapfalse
secretMount Secret type volume.[]secretfalse
emptyDirMount EmptyDir type volume.[]emptyDirfalse
hostPathMount HostPath type volume.[]hostPathfalse
pvc (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
claimNameThe name of the PVC.stringtrue
configMap (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (daemon)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
secret (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
defaultModeintfalse420
secretNamestringtrue
items[]itemsfalse
items (daemon)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
emptyDir (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
medium"" or "Memory"falseempty
hostPath (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
mountPropagation"None" or "HostToContainer" or "Bidirectional"false
pathstringtrue
readOnlyboolfalse

volumes (daemon)

NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir."emptyDir" or "pvc" or "configMap" or "secret"falseemptyDir
medium"" or "Memory"falseempty

livenessProbe (daemon)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (daemon)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (daemon)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (daemon)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (daemon)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (daemon)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (daemon)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (daemon)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (daemon)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

hostAliases (daemon)

NameDescriptionTypeRequiredDefaultImmutable
ipstringtrue
hostnames[]stringtrue

Helmchart

Note: pre-delete and post-delete Helm hooks do not execute. KubeVela's GC deletes resources directly via the Kubernetes API and never calls helm uninstall, so delete-phase hooks are bypassed entirely. Install and upgrade hooks (pre-install, post-install, pre-upgrade, post-upgrade) work correctly.

Description

Render and deploy Helm charts directly using the Helm Go SDK, without requiring the FluxCD addon. Charts can be sourced from HTTP(S) repositories, OCI registries, or direct .tgz URLs, and integrate with KubeVela's standard features including multi-cluster placement, workflow steps, and Application revision tracking.

Examples (helmchart)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: sample-helmchart
spec:
components:
- name: my-chart
type: helmchart
properties:
chart:
source: oci://ghcr.io/org/charts/app
version: "1.0.0"

After the Application is reconciled you will see a ConfigMap named {releaseName}-helm-release in the release namespace. KubeVela creates this as its stable primary output to track release metadata. It is managed by the controller and should not be edited or deleted manually.

Merge values from a ConfigMap and a Secret, with inline values taking precedence over both:

apiVersion: v1
kind: ConfigMap
metadata:
name: podinfo-base
namespace: default
data:
values.yaml: |
replicaCount: 3
resources:
limits:
cpu: 100m
memory: 256Mi
---
apiVersion: v1
kind: Secret
metadata:
name: podinfo-overrides
namespace: default
stringData:
values.yaml: |
resources:
limits:
memory: 512Mi
---
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: podinfo-layered
spec:
components:
- name: podinfo
type: helmchart
properties:
chart:
source: podinfo
repoURL: https://stefanprodan.github.io/podinfo
version: "6.11.1"
release:
name: podinfo
namespace: default
values:
# Inline values win over everything in valuesFrom.
replicaCount: 5
valuesFrom:
- kind: ConfigMap
name: podinfo-base
- kind: Secret
name: podinfo-overrides
# key defaults to "values.yaml"; optional defaults to false.
options:
createNamespace: true
skipTests: true

The rendered chart sees replicaCount: 5 (from inline), resources.limits.memory: 512Mi (Secret overlay wins over the ConfigMap on the conflict), and resources.limits.cpu: 100m (preserved from the ConfigMap; the Secret didn't touch it).

Authenticating with private chart registries

Add chart.auth.secretRef to point at a Secret in the vela-core namespace (vela-system by default). The Secret type controls how credentials are extracted:

Secret typeKeys readUse case
kubernetes.io/basic-authusername, passwordHTTPS Helm repo, OCI registry
kubernetes.io/dockerconfigjson.dockerconfigjsonOCI registry (Docker-format config)
Opaque with username/passwordusername, passwordHTTPS Helm repo, OCI registry
Opaque with tokentokenBearer token auth (Nexus, Artifactory)
apiVersion: v1
kind: Secret
metadata:
name: registry-creds
namespace: vela-system
type: kubernetes.io/basic-auth
stringData:
username: my-username
password: my-password-or-token
---
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: private-chart
spec:
components:
- name: my-app
type: helmchart
properties:
chart:
source: oci://ghcr.io/my-org/charts/my-app
version: "1.0.0"
auth:
secretRef:
name: registry-creds
namespace: vela-system
release:
name: my-app
namespace: default

The same auth block works for HTTPS repos (source + repoURL) and direct .tgz URLs. When you rotate the Secret, the cache key updates automatically and the next reconcile pulls a fresh copy of the chart.

Specification (helmchart)

NameDescriptionTypeRequiredDefault
chartChart source configurationcharttrue
releaseRelease configuration (optional - uses context defaults)releasefalse
valuesInline values merged with the highest priority; override everything in valuesFrom.map[string]interfacefalse
valuesFromAdditional values sources merged in array order. Later entries override earlier ones on conflict, and inline values override everything in valuesFrom. Deep-merges map keys; arrays are replaced (not concatenated); null is preserved. On every reconcile the controller computes a content fingerprint over all referenced sources; an external edit to a referenced ConfigMap or Secret triggers a helm upgrade automatically on the next reconcile (default resync ~5 min). Sources are read from the control-plane cluster regardless of where the chart is deployed.[]valuesFromfalse
healthStatusCriteria for declaring the component healthy. Each entry names a resource kind and a condition to check. When all entries pass, the workflow step is marked complete. If omitted, KubeVela uses its default readiness heuristic.[]healthStatusfalse
optionsRendering optionsoptionsfalse

chart (helmchart)

NameDescriptionTypeRequiredDefault
sourceChart location - automatically detected based on format (OCI, Direct URL, Repo chart)stringtrue
repoURLRepository URL for repository-based chartsstringfalse
versionVersion/tag for repository and OCI charts (ignored for direct URLs)stringfalse"latest"
authCredentials for private chart sourcesauthfalse

auth (helmchart)

NameDescriptionTypeRequiredDefault
secretRefReference to the Secret holding credentialssecretReftrue

secretRef (helmchart)

NameDescriptionTypeRequiredDefault
nameName of the Secretstringtrue
namespaceNamespace of the Secret. Defaults to the release namespace, which itself defaults to the Application namespace when release.namespace is unset. Must be either the release namespace or the Application namespace; cross-namespace references are rejected.stringfalse

Supported Secret types:

Secret typeCredentials readUse case
kubernetes.io/basic-authusername + password keysHTTPS Helm repo, OCI registry username/password
kubernetes.io/dockerconfigjson.dockerconfigjson key (standard Docker config)OCI registry with Docker-format credentials
kubernetes.io/tlstls.crt, tls.key, optional ca.crtMutual TLS client authentication
Opaque with username/passwordusername + password keysHTTPS Helm repo, OCI registry
Opaque with tokentoken keyBearer token auth (HTTPS Helm repos and direct .tgz URLs only; see note below)

An Opaque Secret can also include these optional TLS fields: caFile (custom CA bundle), certFile + keyFile (client certificate), insecureSkipTLS (skip server certificate verification), and insecurePlainHTTP (OCI sources only; use plain HTTP instead of HTTPS).

Note on Bearer tokens: Bearer tokens work on HTTPS Helm repositories and direct .tgz URLs only. They must not be used with OCI registries (OCI performs its own Basic-to-Bearer exchange per the Distribution Spec). They must not be combined with insecureSkipTLS (RFC 6750 requires TLS) and must not appear alongside username/password keys in the same Secret.

valuesFrom (helmchart)

NameDescriptionTypeRequiredDefault
kindSource kind. Only Secret and ConfigMap are supported. OCIRepository is not yet supported."Secret" or "ConfigMap"true
nameName of the Secret or ConfigMap.stringtrue
namespaceNamespace of the Secret or ConfigMap. Defaults to the release namespace. An explicit value must match either the release namespace or the Application's own namespace; other namespaces are rejected to prevent cross-tenant reads via the controller's cluster-wide RBAC.stringfalse
keyKey inside .data whose value is parsed as YAML. Only .data is read; ConfigMap.binaryData is rejected.stringfalse"values.yaml"
optionalIf true, a missing Secret/ConfigMap or missing key is skipped silently. Parse errors and permission errors still fail the render.boolfalsefalse

release (helmchart)

NameDescriptionTypeRequiredDefault
nameRelease name (defaults to component name)stringfalse
namespaceTarget namespace (defaults to Application namespace)stringfalse

healthStatus (helmchart)

Each entry in the healthStatus array names one Kubernetes resource and the condition that must be True for that resource to be considered healthy. All entries must pass for the component to be marked healthy. If omitted, the component is considered healthy immediately after dispatch.

Only use resource kinds that expose .status.conditions (Deployment, StatefulSet, Job, Pod, Node, and most CRD-based resources). Resources that do not expose conditions such as Service or ConfigMap will always evaluate to unhealthy.

NameDescriptionTypeRequiredDefault
resourceResource to checkresourcetrue
conditionCondition to evaluateconditiontrue
resource (helmchart)
NameDescriptionTypeRequiredDefault
kindKubernetes resource kind (e.g. Deployment, StatefulSet)stringtrue
nameResource name. If omitted, any resource of the matching kind satisfies the check.stringfalse
condition (helmchart)
NameDescriptionTypeRequiredDefault
typeCondition type to check. Accepts any Kubernetes condition string. Common values: Available and Progressing for Deployments; Available for StatefulSets; Ready for Pods; Complete or Failed for Jobs.stringtrue
statusExpected condition status. Use "False" for conditions like Progressing where the healthy state is False."True" or "False"false"True"

options (helmchart)

NameDescriptionTypeRequiredDefault
includeCRDsInstall CRDs from the chart's crds/ directory. Set to false to skip CRD installation on both install and upgrade.boolfalsetrue
skipTestsSkip test resourcesboolfalsetrue
skipHooksSkip hook resourcesboolfalsefalse
createNamespaceCreate namespace if it doesn't existboolfalsetrue
timeoutRendering and wait timeout (Helm SDK uses one value for both)stringfalse"5m"
maxHistoryRevisions to keep (upgrade-only; ignored on first install).intfalse10
atomicRollback on failureboolfalsefalse
waitWait for resources to become ready before marking the workflow step complete. See the note below on single-replica deployments.boolfalsefalse
forceForce resource updatesboolfalsefalse
recreatePodsRecreate pods (upgrade-only; ignored on first install).boolfalsefalse
cleanupOnFailCleanup on failure (upgrade-only; ignored on first install).boolfalsefalse
cacheChart cache tuningcachefalse

Note on wait and atomic with single-replica deployments. The Helm SDK's readiness probe for a Deployment checks status.readyReplicas >= spec.replicas - maxUnavailable. When a chart pins strategy.rollingUpdate.maxUnavailable: 1 (common for staging/dev defaults) and replicas: 1, the right-hand side resolves to 0 and the probe is trivially satisfied even when the pod is broken. Consequence: wait: true returns immediately, and atomic: true never triggers a rollback on broken pods. The arithmetic only kicks in once replicas > maxUnavailable. For single-replica workloads where you actually want the wait/atomic safety net, either raise replicas to at least 2, lower maxUnavailable to 0, or use a KubeVela healthStatus policy (see healthStatus (helmchart)) to gate the workflow step on a specific resource condition.

cache (helmchart)

The chart cache is in-memory and scoped to the vela-core controller pod. It resets on controller restart. By default each Application component gets its own cache namespace; set key to share a cache entry across components that use the same chart.

NameDescriptionTypeRequiredDefault
keyCache key prefix. Defaults to {appName}-{componentName}. Set a shared value to reuse a cached chart across multiple components.stringfalse
ttlTTL for all versions, overriding the automatic immutable/mutable detection. Set to "0" to disable caching entirely.stringfalse
immutableTTLTTL for pinned (immutable) versions such as 1.2.3 or v2.0.0.stringfalse"24h"
mutableTTLTTL for floating versions such as latest, dev, or -SNAPSHOT.stringfalse"5m"

Known limitations (helmchart)

Delete hooks do not fire

pre-delete and post-delete Helm hooks are never executed. KubeVela's GC deletes resources individually via the Kubernetes API without calling helm uninstall. Charts that rely on cleanup Jobs (database migrations, deregistration webhooks) will not run them on Application deletion. As a workaround, run those Jobs manually before deleting the Application.

CRDs from the crds/ directory are not cleaned up on deletion

Helm never deletes CRDs installed from a chart's crds/ directory. This is Helm's own design to prevent data loss. When you delete a helmchart Application, any CRDs that came from the crds/ directory are left behind and must be cleaned up manually. CRDs that a chart ships as regular template resources are tracked by KubeVela and deleted with the Application.

Chart cache is in-memory only

The chart cache lives in the vela-core controller pod's memory. A controller restart clears it, causing the next reconcile for each component to re-fetch its chart. This produces a short burst of chart downloads after a controller upgrade or pod eviction.

K8s-Objects

Description

K8s-objects allow users to specify raw K8s objects in properties.

Examples (k8s-objects)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: app-raw
spec:
components:
- name: myjob
type: k8s-objects
properties:
objects:
- apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4

Specification (k8s-objects)

NAMEDESCRIPTIONTYPEREQUIREDDEFAULT
objectsA slice of Kubernetes resource manifests[]Kubernetes-Objectstrue

Statefulset

Description

Describes long-running, scalable, containerized services used to manage stateful application, like database.

Underlying Kubernetes Resources (statefulset)

  • statefulsets.apps

Examples (statefulset)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: postgres
spec:
components:
- name: postgres
type: statefulset
properties:
cpu: "1"
exposeType: ClusterIP
# see https://hub.docker.com/_/postgres
image: docker.io/library/postgres:16.4
memory: 2Gi
ports:
- expose: true
port: 5432
protocol: TCP
env:
- name: POSTGRES_DB
value: mydb
- name: POSTGRES_USER
value: postgres
- name: POSTGRES_PASSWORD
value: kvsecretpwd123
traits:
- type: scaler
properties:
replicas: 1
- type: storage
properties:
pvc:
- name: "postgresdb-pvc"
storageClassName: local-path
resources:
requests:
storage: "2Gi"
mountPath: "/var/lib/postgresql/data"

Specification (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
labelsSpecify the labels in the workload.map[string]stringfalse
annotationsSpecify the annotations in the workload.map[string]stringfalse
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service."Always" or "Never" or "IfNotPresent"false
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
portsWhich ports do you want customer traffic sent to, defaults to 80.[]portsfalse
cmdCommands to run in the container.[]stringfalse
argsArguments to the entrypoint.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
cpuNumber of CPU units for the service, like 0.5 (0.5 CPU core), 1 (1 CPU core).stringfalse
memorySpecifies the attributes of the memory resource required for the container.stringfalse
volumeMountsvolumeMountsfalse
volumesDeprecated field, use volumeMounts instead.[]volumesfalse
livenessProbeInstructions for assessing whether the container is alive.livenessProbefalse
readinessProbeInstructions for assessing whether the container is in a suitable state to serve traffic.readinessProbefalse
hostAliasesSpecify the hostAliases to add.[]hostAliasesfalse

ports (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
portNumber of port to expose on the pod's IP address.inttrue
containerPortNumber of container port to connect to, defaults to port.intfalse
nameName of the port.stringfalse
protocolProtocol for port. Must be UDP, TCP, or SCTP."TCP" or "UDP" or "SCTP"falseTCP
exposeSpecify if the port should be exposed.boolfalsefalse
nodePortexposed node port. Only Valid when exposeType is NodePort.intfalse

env (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
nameEnvironment variable name.stringtrue
valueThe value of the environment variable.stringfalse
valueFromSpecifies a source the value of this var should come from.valueFromfalse
valueFrom (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
secretKeyRefSelects a key of a secret in the pod's namespace.secretKeyReffalse
configMapKeyRefSelects a key of a config map in the pod's namespace.configMapKeyReffalse
secretKeyRef (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the secret in the pod's namespace to select from.stringtrue
keyThe key of the secret to select from. Must be a valid secret key.stringtrue
configMapKeyRef (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the config map in the pod's namespace to select from.stringtrue
keyThe key of the config map to select from. Must be a valid secret key.stringtrue

volumeMounts (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
pvcMount PVC type volume.[]pvcfalse
configMapMount ConfigMap type volume.[]configMapfalse
secretMount Secret type volume.[]secretfalse
emptyDirMount EmptyDir type volume.[]emptyDirfalse
hostPathMount HostPath type volume.[]hostPathfalse
pvc (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
claimNameThe name of the PVC.stringtrue
configMap (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
secret (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
secretNamestringtrue
items[]itemsfalse
items (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
emptyDir (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
medium"" or "Memory"falseempty
hostPath (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
pathstringtrue

volumes (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir."emptyDir" or "pvc" or "configMap" or "secret"falseemptyDir
medium"" or "Memory"falseempty

livenessProbe (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (statefulset)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

hostAliases (statefulset)

NameDescriptionTypeRequiredDefaultImmutable
ipstringtrue
hostnames[]stringtrue

Task

Description

Describes jobs that run code or a script to completion.

Underlying Kubernetes Resources (task)

  • jobs.batch

Examples (task)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: app-worker
spec:
components:
- name: mytask
type: task
properties:
image: perl
count: 10
cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]

Specification (task)

NameDescriptionTypeRequiredDefaultImmutable
labelsSpecify the labels in the workload.map[string]stringfalse
annotationsSpecify the annotations in the workload.map[string]stringfalse
countSpecify number of tasks to run in parallel.intfalse1
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service."Always" or "Never" or "IfNotPresent"false
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
restartDefine the job restart policy, the value can only be Never or OnFailure. By default, it's Never.stringfalseNever
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
cpuNumber of CPU units for the service, like 0.5 (0.5 CPU core), 1 (1 CPU core).stringfalse
memorySpecifies the attributes of the memory resource required for the container.stringfalse
volumesDeclare volumes and volumeMounts.[]volumesfalse
livenessProbeInstructions for assessing whether the container is alive.livenessProbefalse
readinessProbeInstructions for assessing whether the container is in a suitable state to serve traffic.readinessProbefalse

env (task)

NameDescriptionTypeRequiredDefaultImmutable
nameEnvironment variable name.stringtrue
valueThe value of the environment variable.stringfalse
valueFromSpecifies a source the value of this var should come from.valueFromfalse
valueFrom (task)
NameDescriptionTypeRequiredDefaultImmutable
secretKeyRefSelects a key of a secret in the pod's namespace.secretKeyReffalse
configMapKeyRefSelects a key of a config map in the pod's namespace.configMapKeyReffalse
secretKeyRef (task)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the secret in the pod's namespace to select from.stringtrue
keyThe key of the secret to select from. Must be a valid secret key.stringtrue
configMapKeyRef (task)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the config map in the pod's namespace to select from.stringtrue
keyThe key of the config map to select from. Must be a valid secret key.stringtrue

volumes (task)

NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir."emptyDir" or "pvc" or "configMap" or "secret"falseemptyDir
medium"" or "Memory"falseempty

livenessProbe (task)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (task)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (task)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
httpHeaders[]httpHeadersfalse
httpHeaders (task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (task)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (task)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (task)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (task)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
httpHeaders[]httpHeadersfalse
httpHeaders (task)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (task)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

Webservice

Description

Describes long-running, scalable, containerized services that have a stable network endpoint to receive external network traffic from customers.

Underlying Kubernetes Resources (webservice)

  • deployments.apps

Examples (webservice)

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: website
spec:
components:
- name: frontend
type: webservice
properties:
image: oamdev/testapp:v1
cmd: ["node", "server.js"]
ports:
- port: 8080
expose: true
cpu: "0.1"
env:
- name: FOO
value: bar
- name: FOO
valueFrom:
secretKeyRef:
name: bar
key: bar

Specification (webservice)

NameDescriptionTypeRequiredDefaultImmutable
labelsSpecify the labels in the workload.map[string]stringfalse
annotationsSpecify the annotations in the workload.map[string]stringfalse
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service."Always" or "Never" or "IfNotPresent"false
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
portsWhich ports do you want customer traffic sent to, defaults to 80.[]portsfalse
cmdCommands to run in the container.[]stringfalse
argsArguments to the entrypoint.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
cpuNumber of CPU units for the service, like 0.5 (0.5 CPU core), 1 (1 CPU core).stringfalse
memorySpecifies the attributes of the memory resource required for the container.stringfalse
limitlimitfalse
volumeMountsvolumeMountsfalse
volumesDeprecated field, use volumeMounts instead.[]volumesfalse
livenessProbeInstructions for assessing whether the container is alive.livenessProbefalse
readinessProbeInstructions for assessing whether the container is in a suitable state to serve traffic.readinessProbefalse
hostAliasesSpecify the hostAliases to add.[]hostAliasesfalse

ports (webservice)

NameDescriptionTypeRequiredDefaultImmutable
portNumber of port to expose on the pod's IP address.inttrue
containerPortNumber of container port to connect to, defaults to port.intfalse
nameName of the port.stringfalse
protocolProtocol for port. Must be UDP, TCP, or SCTP."TCP" or "UDP" or "SCTP"falseTCP
exposeSpecify if the port should be exposed.boolfalsefalse
nodePortexposed node port. Only Valid when exposeType is NodePort.intfalse

env (webservice)

NameDescriptionTypeRequiredDefaultImmutable
nameEnvironment variable name.stringtrue
valueThe value of the environment variable.stringfalse
valueFromSpecifies a source the value of this var should come from.valueFromfalse
valueFrom (webservice)
NameDescriptionTypeRequiredDefaultImmutable
secretKeyRefSelects a key of a secret in the pod's namespace.secretKeyReffalse
configMapKeyRefSelects a key of a config map in the pod's namespace.configMapKeyReffalse
secretKeyRef (webservice)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the secret in the pod's namespace to select from.stringtrue
keyThe key of the secret to select from. Must be a valid secret key.stringtrue
configMapKeyRef (webservice)
NameDescriptionTypeRequiredDefaultImmutable
nameThe name of the config map in the pod's namespace to select from.stringtrue
keyThe key of the config map to select from. Must be a valid secret key.stringtrue

limit (webservice)

NameDescriptionTypeRequiredDefaultImmutable
cpustringfalse
memorystringfalse

volumeMounts (webservice)

NameDescriptionTypeRequiredDefaultImmutable
pvcMount PVC type volume.[]pvcfalse
configMapMount ConfigMap type volume.[]configMapfalse
secretMount Secret type volume.[]secretfalse
emptyDirMount EmptyDir type volume.[]emptyDirfalse
hostPathMount HostPath type volume.[]hostPathfalse
pvc (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
claimNameThe name of the PVC.stringtrue
configMap (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (webservice)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
secret (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
defaultModeintfalse420
secretNamestringtrue
items[]itemsfalse
items (webservice)
NameDescriptionTypeRequiredDefaultImmutable
keystringtrue
pathstringtrue
modeintfalse511
emptyDir (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
medium"" or "Memory"falseempty
hostPath (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
subPathstringfalse
pathstringtrue

volumes (webservice)

NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir."emptyDir" or "pvc" or "configMap" or "secret"falseemptyDir
medium"" or "Memory"falseempty

livenessProbe (webservice)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (webservice)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (webservice)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (webservice)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (webservice)

NameDescriptionTypeRequiredDefaultImmutable
execInstructions for assessing container health by executing a command. Either this attribute or the httpGet attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the httpGet attribute and the tcpSocket attribute.execfalse
httpGetInstructions for assessing container health by executing an HTTP GET request. Either this attribute or the exec attribute or the tcpSocket attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the tcpSocket attribute.httpGetfalse
tcpSocketInstructions for assessing container health by probing a TCP socket. Either this attribute or the exec attribute or the httpGet attribute MUST be specified. This attribute is mutually exclusive with both the exec attribute and the httpGet attribute.tcpSocketfalse
initialDelaySecondsNumber of seconds after the container is started before the first probe is initiated.intfalse0
periodSecondsHow often, in seconds, to execute the probe.intfalse10
timeoutSecondsNumber of seconds after which the probe times out.intfalse1
successThresholdMinimum consecutive successes for the probe to be considered successful after having failed.intfalse1
failureThresholdNumber of consecutive failures required to determine the container is not alive (liveness probe) or not ready (readiness probe).intfalse3
exec (webservice)
NameDescriptionTypeRequiredDefaultImmutable
commandA command to be executed inside the container to assess its health. Each space delimited token of the command is a separate array element. Commands exiting 0 are considered to be successful probes, whilst all other exit codes are considered failures.[]stringtrue
httpGet (webservice)
NameDescriptionTypeRequiredDefaultImmutable
pathThe endpoint, relative to the port, to which the HTTP GET request should be directed.stringtrue
portThe TCP socket within the container to which the HTTP GET request should be directed.inttrue
hoststringfalse
schemestringfalseHTTP
httpHeaders[]httpHeadersfalse
httpHeaders (webservice)
NameDescriptionTypeRequiredDefaultImmutable
namestringtrue
valuestringtrue
tcpSocket (webservice)
NameDescriptionTypeRequiredDefaultImmutable
portThe TCP socket within the container that should be probed to assess container health.inttrue

hostAliases (webservice)

NameDescriptionTypeRequiredDefaultImmutable
ipstringtrue
hostnames[]stringtrue