forked from bitovi/github-actions-deploy-eks-helm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yaml
117 lines (116 loc) · 4.16 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
# action.yml
name: 'Deploy Helm to EKS'
description: 'Deploy a helm chart to an 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 use.'
required: false
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 install or uninstall the target helm chart'
required: false
default: 'install'
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
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 }}
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 }}
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 }}