Built-in Component 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 2022-07-24T21:02:31+08:00.

Cron-Task

Description

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

Examples (cron-task)

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: cron-worker
  5. spec:
  6. components:
  7. - name: mytask
  8. type: cron-task
  9. properties:
  10. image: perl
  11. count: 10
  12. cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
  13. schedule: "*/1 * * * *"

Specification (cron-task)

NameDescriptionTypeRequiredDefault
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
scheduleSpecify the schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.stringtrue
concurrencyPolicySpecifies how to treat concurrent executions of a Job.stringfalseAllow
suspendSuspend subsequent executions.boolfalsefalse
successfulJobsHistoryLimitThe number of successful finished jobs to retain.intfalse3
failedJobsHistoryLimitThe number of failed finished jobs to retain.intfalse1
startingDeadlineSecondsSpecify deadline in seconds for starting the job if it misses scheduled.intfalse
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
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
restartDefine the job restart policy, the value can only be Never or OnFailure. By default, it’s Never.stringfalseNever
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service.stringfalse
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
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
hostAliasesAn optional list of hosts and IPs that will be injected into the pod’s hosts file.[]hostAliasesfalse
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)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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 (cron-task)

NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: “pvc”,”configMap”,”secret”,”emptyDir”.stringtrue

hostAliases (cron-task)

NameDescriptionTypeRequiredDefault
ipstringtrue
hostnames[]stringtrue

livenessProbe (cron-task)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (cron-task)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (cron-task)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (cron-task)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

Daemon

Description

Describes daemonset services in Kubernetes.

Examples (daemon)

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: addon-node-exporter
  5. namespace: vela-system
  6. spec:
  7. components:
  8. - name: node-exporter
  9. type: daemon
  10. properties:
  11. image: prom/node-exporter
  12. imagePullPolicy: IfNotPresent
  13. volumeMounts:
  14. hostPath:
  15. - mountPath: /host/sys
  16. mountPropagation: HostToContainer
  17. name: sys
  18. path: /sys
  19. readOnly: true
  20. - mountPath: /host/root
  21. mountPropagation: HostToContainer
  22. name: root
  23. path: /
  24. readOnly: true
  25. traits:
  26. - properties:
  27. args:
  28. - --path.sysfs=/host/sys
  29. - --path.rootfs=/host/root
  30. - --no-collector.wifi
  31. - --no-collector.hwmon
  32. - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)
  33. - --collector.netclass.ignored-devices=^(veth.*)$
  34. type: command
  35. - properties:
  36. annotations:
  37. prometheus.io/path: /metrics
  38. prometheus.io/port: "8080"
  39. prometheus.io/scrape: "true"
  40. port:
  41. - 9100
  42. type: expose
  43. - properties:
  44. cpu: 0.1
  45. memory: 250Mi
  46. type: resource

Specification (daemon)

NameDescriptionTypeRequiredDefault
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
volumeMountsvolumeMountsfalse
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
portsWhich ports do you want customer traffic sent to, defaults to 80.[]portsfalse
imagePullPolicySpecify image pull policy for your service.stringfalse
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
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
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse

env (daemon)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
claimNameThe name of the PVC.stringtrue
configMap (daemon)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (daemon)
NameDescriptionTypeRequiredDefault
pathstringtrue
keystringtrue
modeintfalse511
secret (daemon)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
defaultModeintfalse420
items[]itemsfalse
secretNamestringtrue
items (daemon)
NameDescriptionTypeRequiredDefault
pathstringtrue
keystringtrue
modeintfalse511
emptyDir (daemon)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
mediumstringfalseempty
hostPath (daemon)
NameDescriptionTypeRequiredDefault
pathstringtrue
namestringtrue
mountPathstringtrue
mountPropagationstringfalse
readOnlyboolfalse

ports (daemon)

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

volumes (daemon)

NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: “pvc”,”configMap”,”secret”,”emptyDir”.stringtrue

livenessProbe (daemon)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (daemon)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (daemon)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (daemon)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

hostAliases (daemon)

NameDescriptionTypeRequiredDefault
ipstringtrue
hostnames[]stringtrue

K8s-Objects

Description

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

Examples (k8s-objects)

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: app-raw
  5. spec:
  6. components:
  7. - name: myjob
  8. type: k8s-objects
  9. properties:
  10. objects:
  11. - apiVersion: batch/v1
  12. kind: Job
  13. metadata:
  14. name: pi
  15. spec:
  16. template:
  17. spec:
  18. containers:
  19. - name: pi
  20. image: perl
  21. command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
  22. restartPolicy: Never
  23. backoffLimit: 4

Specification (k8s-objects)

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

Task

Description

Describes jobs that run code or a script to completion.

Examples (task)

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: app-worker
  5. spec:
  6. components:
  7. - name: mytask
  8. type: task
  9. properties:
  10. image: perl
  11. count: 10
  12. cmd: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]

Specification (task)

NameDescriptionTypeRequiredDefault
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
countSpecify number of tasks to run in parallel.intfalse1
labelsSpecify the labels in the workload.map[string]:stringfalse
annotationsSpecify the annotations in the workload.map[string]:stringfalse
restartDefine the job restart policy, the value can only be Never or OnFailure. By default, it’s Never.stringfalseNever
imageWhich image would you like to use for your service.stringtrue
imagePullPolicySpecify image pull policy for your service.stringfalse
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
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse
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)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)

NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: “pvc”,”configMap”,”secret”,”emptyDir”.stringtrue

livenessProbe (task)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (task)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (task)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (task)
NameDescriptionTypeRequiredDefault
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.

Examples (webservice)

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. metadata:
  4. name: website
  5. spec:
  6. components:
  7. - name: frontend
  8. type: webservice
  9. properties:
  10. image: oamdev/testapp:v1
  11. cmd: ["node", "server.js"]
  12. ports:
  13. - port: 8080
  14. expose: true
  15. cpu: "0.1"
  16. env:
  17. - name: FOO
  18. value: bar
  19. - name: FOO
  20. valueFrom:
  21. secretKeyRef:
  22. name: bar
  23. key: bar

Specification (webservice)

NameDescriptionTypeRequiredDefault
cmdCommands to run in the container.[]stringfalse
envDefine arguments by using environment variables.[]envfalse
volumeMountsvolumeMountsfalse
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
portsWhich ports do you want customer traffic sent to, defaults to 80.[]portsfalse
imagePullPolicySpecify image pull policy for your service.stringfalse
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
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
imagePullSecretsSpecify image pull secrets for your service.[]stringfalse

env (webservice)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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 (webservice)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
claimNameThe name of the PVC.stringtrue
configMap (webservice)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
defaultModeintfalse420
cmNamestringtrue
items[]itemsfalse
items (webservice)
NameDescriptionTypeRequiredDefault
pathstringtrue
keystringtrue
modeintfalse511
secret (webservice)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
defaultModeintfalse420
items[]itemsfalse
secretNamestringtrue
items (webservice)
NameDescriptionTypeRequiredDefault
pathstringtrue
keystringtrue
modeintfalse511
emptyDir (webservice)
NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
mediumstringfalseempty
hostPath (webservice)
NameDescriptionTypeRequiredDefault
pathstringtrue
namestringtrue
mountPathstringtrue

ports (webservice)

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

volumes (webservice)

NameDescriptionTypeRequiredDefault
namestringtrue
mountPathstringtrue
typeSpecify volume type, options: “pvc”,”configMap”,”secret”,”emptyDir”.stringtrue

livenessProbe (webservice)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (webservice)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

readinessProbe (webservice)

NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
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)
NameDescriptionTypeRequiredDefault
namestringtrue
valuestringtrue
tcpSocket (webservice)
NameDescriptionTypeRequiredDefault
portThe TCP socket within the container that should be probed to assess container health.inttrue

hostAliases (webservice)

NameDescriptionTypeRequiredDefault
ipstringtrue
hostnames[]stringtrue