Configure and apply a Kubernetes Ingress

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

Deploy an ingress resource to Kubernetes.

Parameters

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

Ingress Name

Octopus.Action.KubernetesContainers.IngressName (required)

The name of the Kubernetes ingress resource.

Example: my-ingress

Ingress Class Name

Octopus.Action.KubernetesContainers.IngressClassName

The name of the ingress class.

Example: nginx

Ingress Annotations

Octopus.Action.KubernetesContainers.IngressAnnotations

Annotations applied to the ingress resource. Provided as a JSON array of key-value pairs.

Ingress Rules

Octopus.Action.KubernetesContainers.IngressRules

The ingress rules defining host and path routing. Provided as a JSON array.

Ingress TLS Certificates

Octopus.Action.KubernetesContainers.IngressTlsCertificates

The ingress TLS certificate/host mappings. Provided as a JSON array.

Default Rule Port

Octopus.Action.KubernetesContainers.DefaultRulePort

The port to send all unmatched traffic to when no other ingress rule matches.

Default Rule Service Name

Octopus.Action.KubernetesContainers.DefaultRuleServiceName

The service name to send all unmatched traffic to when no other ingress rule matches.

Ingress Labels

Octopus.Action.KubernetesContainers.DeploymentLabels

Labels applied to the ingress resource. Labels are optional name/value pairs. Provided as a JSON object.

Namespace

Octopus.Action.KubernetesContainers.Namespace

The Kubernetes namespace for the ingress.

Resource Status Check

Octopus.Action.Kubernetes.ResourceStatusCheck

Whether to verify that the ingress reached its 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

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 "deploy-k8s-ingress" {
    name = "Deploy K8s Ingress"
    properties = {
        Octopus.Action.TargetRoles = "k8s-cluster"
    }

    action {
        action_type = "Octopus.KubernetesDeployIngress"
        properties = {
            Octopus.Action.Kubernetes.DeploymentTimeout = "180"
            Octopus.Action.Kubernetes.ResourceStatusCheck = "True"
            Octopus.Action.Kubernetes.ServerSideApply.Enabled = "True"
            Octopus.Action.Kubernetes.ServerSideApply.ForceConflicts = "True"
            Octopus.Action.KubernetesContainers.DefaultRulePort = "80"
            Octopus.Action.KubernetesContainers.DefaultRuleServiceName = "my-service"
            Octopus.Action.KubernetesContainers.IngressName = "my-ingress"
            Octopus.Action.KubernetesContainers.Namespace = "default"
            Octopus.Action.RunOnServer = "false"
        }
    }
}

Page updated on Wednesday, July 22, 2026