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: There is a known limitation with pre-delete and post-delete hook functionality that will be addressed in later releases. Currently, only public chart repositories are supported — authentication for private repositories is on the roadmap.

Description

Deploy Helm charts natively in KubeVela

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"

Specification (helmchart)

NameDescriptionTypeRequiredDefault
chartChart source configurationcharttrue
releaseRelease configuration (optional - uses context defaults)releasefalse
valuesInline values (highest priority)map[string]interfacefalse
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"

release (helmchart)

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

options (helmchart)

NameDescriptionTypeRequiredDefault
skipTestsSkip test resourcesboolfalsetrue
skipHooksSkip hook resourcesboolfalsefalse
createNamespaceCreate namespace if it doesn't existboolfalsetrue
timeoutRendering timeoutstringfalse"5m"
maxHistoryRevisions to keepintfalse10
atomicRollback on failureboolfalsefalse
waitWait for resourcesboolfalsefalse
forceForce resource updatesboolfalsefalse
recreatePodsRecreate pods on upgradeboolfalsefalse
cleanupOnFailCleanup on failureboolfalsefalse

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