File tree 9 files changed +143
-0
lines changed
read-secrets/tasks/partials
9 files changed +143
-0
lines changed Original file line number Diff line number Diff line change 55
55
56
56
environment : ' {{remote_env}}'
57
57
58
+
59
+ - hosts :
60
+ - release
61
+ gather_facts : yes
62
+
63
+ roles :
64
+ - role : cloudflare-deploy
65
+ release_home_dir : " {{ home }}/{{ server_user }}"
66
+
67
+ pre_tasks :
68
+ - name : release check if secret is properly set
69
+ fail :
70
+ failed_when : not secret
71
+
72
+ environment : ' {{remote_env}}'
73
+
74
+
58
75
#
59
76
# Set up Jenkins Workspace servers
60
77
#
Original file line number Diff line number Diff line change
1
+ [profile worker]
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ argument_specs :
4
+ main :
5
+ short_description : Set up specific to hosts that build releases.
6
+ options :
7
+ release_home_dir :
8
+ description : The user's HOME directory.
9
+ required : yes
10
+ type : str
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ dependencies :
4
+ - role : read-secrets
5
+ - role : user-create
6
+ when : not os|startswith("win")
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ # Set up release hosts to be able to upload to clouflare.
4
+ # Requires access to the secrets repository. User should have already
5
+ # been prompted for GPG credentials during the inventory load.
6
+
7
+ - name : run os-specific deploy
8
+ include : " {{ deploy_include }}"
9
+ loop_control :
10
+ loop_var : deploy_include
11
+ with_first_found :
12
+ - files :
13
+ - " {{ role_path }}/tasks/partials/{{ os|stripversion }}.yml"
14
+ - " {{ role_path }}/tasks/partials/default.yml"
15
+ skip : true
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ - name : create .aws directory
4
+ ansible.builtin.file :
5
+ dest : " {{ release_home_dir }}/.aws"
6
+ owner : " {{ server_user }}"
7
+ group : " {{ server_user }}"
8
+ state : directory
9
+
10
+ - name : copy credentials to deploy release artifacts
11
+ ansible.builtin.copy :
12
+ content : " {{ secrets.worker_credentials }}"
13
+ dest : " {{ release_home_dir }}/.aws/credentials"
14
+ owner : " {{ server_user }}"
15
+ group : " {{ server_user }}"
16
+
17
+ - name : write worker_config
18
+ ansible.builtin.copy :
19
+ dest : " {{ release_home_dir }}/.aws/config"
20
+ src : " {{ role_path }}/files/worker_config"
21
+ owner : " {{ server_user }}"
22
+ group : " {{ server_user }}"
23
+ when : not os|startswith("win")
24
+
25
+
26
+ # https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
27
+ - name : Download awscliv2 installer
28
+ unarchive :
29
+ src : " https://awscli.amazonaws.com/awscli-exe-linux-{{ ansible_architecture }}.zip"
30
+ dest : " /tmp"
31
+ remote_src : true
32
+ creates : ' /tmp/aws'
33
+ mode : 0755
34
+
35
+ - name : Run awscliv2 installer
36
+ command :
37
+ args :
38
+ cmd : " /tmp/aws/install"
39
+ creates : /usr/local/bin/aws
40
+ become : true
41
+ register : aws_install
42
+
43
+ - name : " Show awscliv2 installer output"
44
+ debug :
45
+ var : aws_install
46
+ verbosity : 2
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ - name : create .aws directory
4
+ ansible.builtin.file :
5
+ dest : " {{ release_home_dir }}/.aws"
6
+ owner : " {{ server_user }}"
7
+ group : " {{ server_user }}"
8
+ state : directory
9
+
10
+ - name : copy credentials to deploy release artifacts
11
+ ansible.builtin.copy :
12
+ content : " {{ secrets.worker_credentials }}"
13
+ dest : " {{ release_home_dir }}/.aws/credentials"
14
+ owner : " {{ server_user }}"
15
+ group : " {{ server_user }}"
16
+
17
+ - name : write worker_config
18
+ ansible.builtin.copy :
19
+ dest : " {{ release_home_dir }}/.aws/config"
20
+ src : " {{ role_path }}/files/worker_config"
21
+ owner : " {{ server_user }}"
22
+ group : " {{ server_user }}"
23
+ when : not os|startswith("win")
24
+
25
+
26
+ - name : install awscli
27
+ community.general.homebrew : name="awscli" state=present
28
+ become_user : " {{ ansible_user }}"
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ - name : create .aws directory
4
+ win_file :
5
+ path : ' {{ansible_facts["env"]["USERPROFILE"]}}\.aws'
6
+ state : directory
7
+
8
+ - name : copy credentials to deploy release artifacts
9
+ win_copy :
10
+ content : " {{ secrets.worker_credentials }}"
11
+ dest : ' {{ansible_facts["env"]["USERPROFILE"]}}\.aws\credentials'
12
+
13
+ - name : write worker_config
14
+ win_copy :
15
+ dest : ' {{ansible_facts["env"]["USERPROFILE"]}}\.aws\config'
16
+ src : " {{ role_path }}/files/worker_config"
17
+
18
+ - name : install AWS CLI
19
+ win_chocolatey : name=awscli
Original file line number Diff line number Diff line change 12
12
with_items :
13
13
- { 'key': 'staging_key', 'file': "staging_id_rsa_private.key" }
14
14
- { 'key': 'known_hosts', 'file': "known_hosts" }
15
+ - { 'key': 'worker_credentials', 'file': "release-cloudflare-worker-credentials" }
You can’t perform that action at this time.
0 commit comments