Deploy with Kustomize

Octopus.Kubernetes.Kustomize exported 2026-07-22 by Octopus Deploy belongs to ‘Kubernetes’ category.

Deploy Kubernetes resources using Kustomize from a Git repository.

Parameters

When this step is included in a project’s deployment process, the parameters below can be set.

Git Repository Source

Octopus.Action.GitRepository.Source (required)

The source of the Git repository. Can be the Project repository or an External repository.

Allowed values: Project, External

Kustomization file directory

Octopus.Action.Kubernetes.Kustomize.OverlayPath (required)

The path to the directory where your kustomization.yaml file is located. Directory paths are case-sensitive. Consider using Octopus variables to dynamically populate overlays for environments and tenants.

Example: overlays/#{Octopus.Environment.Name}

Target Files

Octopus.Action.SubstituteInFiles.TargetFiles

A newline-separated list of files to perform variable substitution on, relative to the root of the Git repository. Supports glob expression syntax.

Example: **/*.env

Resource Status Check

Octopus.Action.Kubernetes.ResourceStatusCheck

Whether to verify that Kubernetes objects reached their desired state after deployment.

Allowed values: True, False

Default: True

Step Timeout

Octopus.Action.Kubernetes.DeploymentTimeout

The maximum time in seconds the step is allowed to run before being terminated.

Default: 180

Wait for Jobs

Octopus.Action.Kubernetes.WaitForJobs

Whether to wait for Kubernetes Jobs to complete during the step.

Allowed values: True, False

Default: False

Server-Side Apply

Octopus.Action.Kubernetes.ServerSideApply.Enabled

Whether to use server-side apply (—server-side) when calling kubectl apply.

Allowed values: True, False

Default: True

Force Conflicts

Octopus.Action.Kubernetes.ServerSideApply.ForceConflicts

Whether to forcefully overwrite conflicts (—force-conflicts) when using server-side apply.

Allowed values: True, False

Default: True

Step configuration using OCL

Example in Octopus Configuration Language (OCL):

step "kustomize-deploy" {
    name = "Kustomize Deploy"
    properties = {
        Octopus.Action.TargetRoles = "k8s-cluster"
    }

    action {
        action_type = "Octopus.Kubernetes.Kustomize"
        properties = {
            Octopus.Action.GitRepository.Source = "Project"
            Octopus.Action.Kubernetes.DeploymentTimeout = "180"
            Octopus.Action.Kubernetes.Kustomize.OverlayPath = "overlays/production"
            Octopus.Action.Kubernetes.ResourceStatusCheck = "True"
            Octopus.Action.Kubernetes.ServerSideApply.Enabled = "True"
            Octopus.Action.Kubernetes.ServerSideApply.ForceConflicts = "True"
            Octopus.Action.RunOnServer = "false"
            Octopus.Action.Script.ScriptSource = "GitRepository"
        }
    }
}

Page updated on Wednesday, July 22, 2026