forked from astronomer/terraform-aws-astronomer-aws
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.drone.yml
137 lines (130 loc) · 3.21 KB
/
.drone.yml
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
135
136
137
kind: pipeline
name: terraform-aws-astronomer-aws
steps:
- name: lint
image: hashicorp/terraform:light
commands:
- cp providers.tf.example providers.tf
- terraform init
- terraform fmt -check=true
- terraform validate -var "deployment_id=validate" -var "route53_domain=validate-fake.com" -var "[email protected]"
- |
for example in $(find examples -maxdepth 1 -mindepth 1 -type d); do
cp providers.tf $example
cd $example
echo $example
terraform init
terraform fmt -check=true
terraform validate -var "deployment_id=citest"
cd -
done
- terraform -v
when:
event:
- pull_request
- push
- name: from_scratch
image: hashicorp/terraform:light
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
commands:
- apk add curl
# Install kubectl
- |
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/
which kubectl
# Install aws-iam-authenticator
- |
curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/aws-iam-authenticator
chmod +x ./aws-iam-authenticator
mv ./aws-iam-authenticator /usr/local/bin/
which aws-iam-authenticator
- EXAMPLE=from_scratch pipeline/run_terraform.sh
when:
event:
- push
- name: from_scratch_cleanup
image: hashicorp/terraform:light
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
commands:
- apk add curl
- DESTROY=1 EXAMPLE=from_scratch pipeline/run_terraform.sh
when:
event:
- push
status:
- failure
- success
- name: git_tag
image: docker:git
environment:
DEPLOY_KEY:
from_secret: DEPLOY_KEY
commands:
- eval `ssh-agent`
- echo "$DEPLOY_KEY" | ssh-add -
- TAG=1.1.${DRONE_BUILD_NUMBER}
- git tag $TAG
- mkdir -p $HOME/.ssh
- ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts
- git push $DRONE_GIT_SSH_URL $DRONE_BRANCH --tags
when:
event:
- push
status:
- success
branch:
- master
repo:
- astronomer/terraform-aws-astronomer-aws
- name: slack
image: plugins/slack
settings:
webhook:
from_secret: WEBHOOK_URL
channel: ci-debug
username: terraform-ci
template: >
{{repo.name}}
{{build.link}}
{{#success build.status}}
succeeded
{{else}}
failed
{{/success}}
when:
event:
- push
status:
- success
- failure
branch:
- master
repo:
- astronomer/terraform-aws-astronomer-aws
- name: slack_tag
image: plugins/slack
settings:
webhook:
from_secret: WEBHOOK_URL
channel: ci-debug
username: terraform-ci
template: >
{{repo.name}}
version {{build.tag}} released
when:
event:
- tag
status:
- success
repo:
- astronomer/terraform-aws-astronomer-aws