kubectl

Modify resources on a Kubernetes cluster using the kubectl CLI.

Object Representation (YAML)

id: String
name: String
tool_version: String
type: String
depends: [String]
tags: [String]
condition: Boolean
each: Array
verbosity: String
ignore_errors: Boolean
properties:
  credential: String
  api_url: String
  command: String
  namespace: String
  manifest_path: String
  manifest_content: String
  kustomize: Boolean
  recursive: Boolean
  kubeconfig_path: String
  kubeconfig_content: String
  dry_run: String
  output_format: String
  timeout: Number
  validate_certs: Boolean
  force: Boolean
  overwrite: Boolean
  wait: Boolean
  args: String
  env:
    - name: String
      value: 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.

tool_version

String

The version to use. This version is only installed for the subprocess run by the step, and will not propagate to other operating system sessions.

type *

String

The type of the step. Can be pipeline or a step module type.

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

Boolean

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".

each

Array

An array of elements to execute the step once for each of them.

verbosity

String

Step event verbosity. Determines how much information about step execution is sent back to the application.

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 API Token credential to use for authentication with the Kubernetes API server.

properties.api_url

String

URL of the Kubernetes API server.

properties.command *

String

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

properties.namespace

String

Namespace to use.

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.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.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.dry_run

String

Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.

properties.output_format

String

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

properties.timeout

Number

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

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.overwrite

Boolean

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

properties.wait

Boolean

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

properties.args

String

Additional arguments to pass to kubectl.

properties.env[]

[Object]

A list of environment variables that will be set for script execution.

properties.env[].name *

String

Environment variable name.

properties.env[].value *

String

Environment variable value.

Result Fields

The following are the step execution result fields available at steps.<step id>.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.