-
Notifications
You must be signed in to change notification settings - Fork 28
/
action.yaml
134 lines (134 loc) · 5 KB
/
action.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# action.yml
name: 'Deploy Helm chart to AWS EKS Cluster'
description: 'Deploy a helm chart to an Amazon EKS cluster using IAM authentication.'
branding:
icon: anchor
color: red
inputs:
aws-secret-access-key:
description: 'AWS credentials used to login to eks.'
required: false
aws-access-key-id:
description: 'AWS credentials used to login to eks.'
required: false
aws-region:
description: 'AWS region to use (default: us-west-2)'
required: true
default: us-west-2
cluster-name:
description: 'EKS cluster name.'
required: true
cluster-role-arn:
description: 'EKS cluster admin role arn.'
required: false
config-files:
description: 'Comma separated list of helm values files.'
required: false
namespace:
description: 'Kubernetes namespace to target. (default: "default")'
required: false
create-namespace:
description: 'Enable creating the namespace if it does not exist. Requires cluster API permissions.'
required: false
default: "true"
values:
description: 'Comma separated list of value sets for helms. e.x: key1=value1,key2=value2'
required: false
name:
description: 'Name of the helm deploy.'
required: true
action:
description: 'Specify whether you want to list, install or uninstall the target helm chart'
required: false
default: 'install'
dry-run:
description: 'Toggles dry-run flag for install/uninstall actions'
required: false
default: false
chart-path:
description: 'The path of the chart.'
required: false
default: 'helm/'
chart-repository:
description: 'The repository of the chart.'
required: false
version:
description: 'The chart version'
required: false
timeout:
description: 'Timeout for the job.'
required: true
default: "0s"
update-deps:
description: 'Update chart dependencies'
required: false
default: "true"
plugins:
description: 'Comma separated list of helm plugins to install. e.x: https://github.com/hypnoglow/helm-s3.git,https://github.com/someuser/helm-plugin.git'
required: false
helm-wait:
description: 'Add the --wait flag to helm'
required: false
atomic:
description: 'Add the --atomic flag to rollback on failure'
required: false
ca-file:
description: 'Verify certificates of HTTPS-enabled servers using this CA bundle.'
required: false
cert-file:
description: 'Identify HTTPS client using this SSL certificate file.'
required: false
key-file:
description: 'Identify HTTPS client using this SSL key file.'
required: false
insecure-skip-tls-verify:
description: 'Skip tls certificate checks for the chart download.'
required: false
pass-credentials:
description: 'Pass credentials to all domains.'
required: false
password:
description: 'Chart repository password where to locate the requested chart.'
required: false
username:
description: 'Chart repository username where to locate the requested chart.'
required: false
use-secrets-vals:
description: 'Uses the secrets with vals backend to apply the chart'
required: false
helm-extra-args:
description: 'Append any string containing any extra option that might escape the ones present in this action.'
required: false
runs:
using: 'docker'
image: 'Dockerfile'
env:
AWS_REGION: ${{ inputs.aws-region }}
AWS_SECRET_ACCESS_KEY: ${{ inputs.aws-secret-access-key }}
AWS_ACCESS_KEY_ID: ${{ inputs.aws-access-key-id }}
CLUSTER_NAME: ${{ inputs.cluster-name }}
CLUSTER_ROLE_ARN: ${{ inputs.cluster-role-arn }}
DEPLOY_CONFIG_FILES: ${{ inputs.config-files }}
DEPLOY_NAMESPACE: ${{ inputs.namespace }}
CREATE_NAMESPACE: ${{ inputs.create-namespace }}
DEPLOY_VALUES: ${{ inputs.values }}
DEPLOY_NAME: ${{ inputs.name }}
DEPLOY_CHART_PATH: ${{ inputs.chart-path }}
TIMEOUT: ${{ inputs.timeout }}
UPDATE_DEPS: ${{ inputs.update-deps }}
HELM_REPOSITORY: ${{ inputs.chart-repository }}
HELM_WAIT: ${{ inputs.helm-wait }}
PLUGINS_LIST: ${{ inputs.plugins }}
HELM_ATOMIC: ${{ inputs.atomic }}
HELM_ACTION: ${{ inputs.action }}
DRY_RUN: ${{ inputs.dry-run }}
CA_FILE: ${{ inputs.ca-file }}
CERT_FILE: ${{ inputs.cert-file }}
KEY_FILE: ${{ inputs.key-file }}
SKIP_TLS: ${{ inputs.insecure-skip-tls-verify }}
PASS_CREDENTIALS: ${{ inputs.pass-credentials }}
REPO_USERNAME: ${{ inputs.username }}
REPO_PASSWORD: ${{ inputs.password }}
VERSION: ${{ inputs.version }}
USE_SECRETS_VALS: ${{ inputs.use-secrets-vals }}
HELM_EXTRA_ARGS: ${{ inputs.helm-extra-args }}