azure/Deploy to Kubernetes cluster

Deploy to a Kubernetes cluster including, but not limited to Azure Kubernetes Service (AKS) clusters

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 30, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: azure/k8s-deploy@c7ebd0d5f39477a23f1b5dea0f52e6db04adf28e # v6.0.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
namespaceChoose the target Kubernetes namespace. If the namespace is not provided, the commands will automatically use the namespace defined in the manifest files first or otherwise run in the default namespace.no""
manifestsPath to the manifest files which will be used for deployment.yes
imagesFully qualified resource URL of the image(s) to be used for substitutions on the manifest files Example: contosodemo.azurecr.io/helloworld:testno
imagepullsecretsName of a docker-registry secret that has already been set up within the cluster. Each of these secret names are added under imagePullSecrets field for the workloads found in the input manifest filesno
pull-imagesSwitch whether to pull the images from the registry before deployment to find out Dockerfile's path in order to add it to the annotationsnotrue
strategyDeployment strategy to be used. Allowed values are basic, canary and blue-greenyesbasic
route-methodRoute based on service, ingress or SMI for blue-green strategynoservice
version-switch-bufferIndicates the buffer time in minutes before the switch is made to the green version (max is 300 min ie. 5hrs)no0
traffic-split-methodTraffic split method to be used. Allowed values are pod and sminopod
traffic-split-annotationsAnnotations in the form of key/value pair to be added to TrafficSplit. Relevant only if deployement strategy is blue-green or canaryno
baseline-and-canary-replicasBaseline and canary replicas count. Valid value between 0 to 100 (inclusive)no""
percentagePercentage of traffic redirect to canary deploymentno0
actiondeploy, promote, or rejectyesdeploy
forceDeploy when a previous deployment already exists. If true then --force argument is added to the apply commandnofalse
server-sideThe apply command runs in the server instead of the client. If true then --server-side argument is added to the apply command.nofalse
timeoutTimeout for the rollout statusno10m
tokenGithub tokenyes${{ github.token }}
annotate-resourcesAnnotate the resources. If set to false all annotations are skipped completely.notrue
annotate-namespaceAnnotate the target namespace. Ignored when annotate-resources is set to false or no namespace is provided.notrue
private-clusterTrue if cluster is AKS private clusternofalse
resource-groupName of resource group - Only required if using private clusterno
nameName of the private cluster - Only required if using private clusterno
skip-tls-verifyTrue if the insecure-skip-tls-verify option should be used. Input should be 'true' or 'false'.false
resource-typeEither Microsoft.ContainerService/managedClusters or Microsoft.ContainerService/fleets'.noMicrosoft.ContainerService/managedClusters

no outputs