зеркало из https://github.com/Azure/k8s-deploy.git
85 строки
3.5 KiB
YAML
85 строки
3.5 KiB
YAML
name: 'Deploy to Kubernetes cluster'
|
|
description: 'Deploy to a Kubernetes cluster including, but not limited to Azure Kubernetes Service (AKS) clusters'
|
|
inputs:
|
|
# Please ensure you have used either azure/k8s-actions/aks-set-context or azure/k8s-actions/k8s-set-context in the workflow before this action
|
|
# You also need to have kubectl installed (azure/setup-kubectl)
|
|
namespace:
|
|
description: 'Choose the target Kubernetes namespace. If the namespace is not provided, the commands will run in the default namespace.'
|
|
required: false
|
|
default: default
|
|
manifests:
|
|
description: 'Path to the manifest files which will be used for deployment.'
|
|
required: true
|
|
images:
|
|
description: 'Fully qualified resource URL of the image(s) to be used for substitutions on the manifest files Example: contosodemo.azurecr.io/helloworld:test'
|
|
required: false
|
|
imagepullsecrets:
|
|
description: 'Name 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 files'
|
|
required: false
|
|
pull-images:
|
|
description: "Switch whether to pull the images from the registry before deployment to find out Dockerfile's path in order to add it to the annotations"
|
|
required: false
|
|
default: true
|
|
strategy:
|
|
description: 'Deployment strategy to be used. Allowed values are basic, canary and blue-green'
|
|
required: true
|
|
default: 'basic'
|
|
route-method:
|
|
description: 'Route based on service, ingress or SMI for blue-green strategy'
|
|
required: false
|
|
default: 'service'
|
|
version-switch-buffer:
|
|
description: 'Indicates the buffer time in minutes before the switch is made to the green version (max is 300 min ie. 5hrs)'
|
|
required: false
|
|
default: 0
|
|
traffic-split-method:
|
|
description: 'Traffic split method to be used. Allowed values are pod and smi'
|
|
required: false
|
|
default: 'pod'
|
|
traffic-split-annotations:
|
|
description: 'Annotations in the form of key/value pair to be added to TrafficSplit. Relevant only if deployement strategy is blue-green or canary'
|
|
required: false
|
|
baseline-and-canary-replicas:
|
|
description: 'Baseline and canary replicas count. Valid value between 0 to 100 (inclusive)'
|
|
required: false
|
|
default: ''
|
|
percentage:
|
|
description: 'Percentage of traffic redirect to canary deployment'
|
|
required: false
|
|
default: 0
|
|
action:
|
|
description: 'deploy, promote, or reject'
|
|
required: true
|
|
default: 'deploy'
|
|
force:
|
|
description: 'Deploy when a previous deployment already exists. If true then --force argument is added to the apply command'
|
|
required: false
|
|
default: false
|
|
token:
|
|
description: 'Github token'
|
|
default: ${{ github.token }}
|
|
required: true
|
|
annotate-namespace:
|
|
description: 'Annotate the target namespace'
|
|
required: false
|
|
default: true
|
|
private-cluster:
|
|
description: 'True if cluster is AKS private cluster'
|
|
required: false
|
|
default: false
|
|
resource-group:
|
|
description: 'Name of resource group - Only required if using private cluster'
|
|
required: false
|
|
name:
|
|
description: 'Resource group name - Only required if using private cluster'
|
|
required: false
|
|
skip-tls-verify:
|
|
description: True if the insecure-skip-tls-verify option should be used. Input should be 'true' or 'false'.
|
|
default: false
|
|
|
|
branding:
|
|
color: 'green'
|
|
runs:
|
|
using: 'node16'
|
|
main: 'lib/index.js'
|