Kubernetes (kubectl)

Modify resources on a Kubernetes cluster using the kubectl CLI.

Object Representation (YAML)

id: String
name: String
depends: [String]
tags: [String]
condition: String
ignore_errors: Boolean
properties:
  credential: String
  api_url: String
  namespace: String
  command: String
  manifest_path: String
  manifest_content: String
  kubeconfig_path: String
  kubeconfig_content: String
  kustomize: Boolean
  recursive: Boolean
  overwrite: Boolean
  validate_certs: Boolean
  force: Boolean
  wait: Boolean
  timeout: Number
  output_format: String
  args: String

Fields

PropertyDetails
id *

String

A unique identifier for the step.

Can contain hyphens and underscores, but not spaces.

name *

String

A friendly name for the step. This name will appear in the pipeline designer and run output.

depends[]

[String]

A list of dependencies of this step.

This step will not be executed until all steps with ids in this list are finished executing.

tags[]

[String]

Tags are used to group related steps. Steps with the same tag can be retrieved using the findStepsByTag() helper function.

Can contain hyphens and underscores, but not spaces.

condition

String

An expression which is evaluated before the step executes. If it evaluates to false, the step will be skipped. The step.result.status field will be "Skipped".

ignore_errors

Boolean

If true, errors in the step module will not halt pipeline execution, and subsequent steps will still be executed. The step.result.status field will be "Failed" if the step encounters an error.

properties.credential *

String

A Username/Password or Bearer Token credential to use for authentication with the Kubernetes API server.

properties.api_url *

String

URL of the Kubernetes API server.

properties.namespace *

String

Namespace to use.

properties.command *

String

The kubectl command to run, e.g. apply, delete, patch, create configmap, etc.

properties.manifest_path

String

Path to an existing resource manifest file (YAML). Provide exactly one of manifest_path or manifest_content.

properties.manifest_content

String

Inline resource manifest (YAML). Provide exactly one of manifest_path or manifest_content.

properties.kubeconfig_path

String

Path to an existing kubeconfig file to use for the kubectl command. Provide one of kubeconfig_path or kubeconfig_content.

properties.kubeconfig_content

String

Inline kubeconfig file. This will be written to a temporary directory and used for the kubectl command. Provide one of kubeconfig_path or kubeconfig_content.

properties.kustomize

Boolean

Process a kustomization directory. Note that this option requires manifest_path to be a directory. Equivalent to --kustomize.

properties.recursive

Boolean

Process the manifest_path directory recursively. Note that this option requires manifest_path to be a directory. Equivalent to --recursive.

properties.overwrite

Boolean

Automatically resolve conflicts between the modified and live configuration by using values from the modified configuration. Equivalent to --overwrite.

properties.validate_certs

Boolean

Whether to throw an error on HTTPS certificate validation failure.

properties.force

Boolean

If true, immediately remove resources from API and bypass graceful deletion. Equivalent to --force.

properties.wait

Boolean

If true, wait for resources to be gone before returning. This waits for finalizers. Equivalent to --wait.

properties.timeout

Number

The length of time in seconds to wait before giving up. Equivalent to --timeout.

properties.output_format

String

Output format, such as yaml or json. Equivalent to --output.

properties.args

String

Additional arguments to pass to kubectl.

Result Fields

The following are the step execution result fields available at step.result after a step executes.

KeyDetails
result.status

String

A string indicating the step execution status. Can be Succeeded, Failed, or Skipped.

result.exit_code

Number

Exit code of the kubectl process.

result.stdout

String

Stdout of the kubectl process.

result.stderr

String

Stderr of the kubectl process.