44 ansible.builtin.set_fact :
55 dashmate_zerossl_keys_path : " {{ dashmate_config_dir }}/{{ dash_network_name }}/platform/gateway/ssl"
66 dashmate_zerossl_config_path : " platform.gateway.ssl.providerConfigs.zerossl"
7- dashmate_zerossl_ssm_path : " /network-deploy/{{ dash_network_name }}/{{ inventory_hostname }}/zerossl"
87 dashmate_zerossl_csr_file_name : " csr.pem"
98 dashmate_zerossl_private_key_file_name : " private.key"
109 dashmate_zerossl_bundle_file_name : " bundle.crt"
1918
2019# Set certificate ID to dashmate config
2120
22- - name : Check SSM parameter store for ZeroSSL certificate ID
23- delegate_to : localhost
24- become : false
21+ - name : Get ZeroSSL certificate ID from network config
2522 ansible.builtin.set_fact :
26- dashmate_zerossl_ssm_certificate_id : " {{ lookup('aws_ssm', '{{ dashmate_zerossl_ssm_path }}-id', on_missing='skip') }}"
23+ dashmate_zerossl_certificate_id : " {{ (hp_masternodes[inventory_hostname]['zerossl_certificate_id'] | default('')) if hp_masternodes is defined and inventory_hostname in (hp_masternodes | default({})) else '' }}"
2724
28- - name : Set ZeroSSL certificate ID to dashmate config from SSM if not set
29- ansible.builtin.command : " {{ dashmate_cmd }} config set {{ dashmate_zerossl_config_path }}.id {{ dashmate_zerossl_ssm_certificate_id }}"
25+ - name : Set ZeroSSL certificate ID to dashmate config if not set
26+ ansible.builtin.command : " {{ dashmate_cmd }} config set {{ dashmate_zerossl_config_path }}.id {{ dashmate_zerossl_certificate_id }}"
3027 become : true
3128 become_user : dashmate
3229 args :
3330 chdir : ' {{ dashmate_cwd }}'
3431 register : dashmate_zerossl_id
3532 changed_when : dashmate_zerossl_id.rc == 0
3633 when :
37- - dashmate_zerossl_ssm_certificate_id != ''
34+ - dashmate_zerossl_certificate_id != ''
3835 - dashmate_zerossl_config_certificate_id is not defined
3936
40- # Copy ZeroSSL files if they are not present
41-
42- - name : Check that ZeroSSL CSR and private key files exist
43- ansible.builtin.stat :
44- path : ' {{ dashmate_zerossl_keys_path }}/{{ dashmate_zerossl_private_key_file_name }}'
45- register : zero_ssl_files
46-
47- - name : Get ZeroSSL CSR and private key from SSM
48- ansible.builtin.copy :
49- dest : ' {{ dashmate_zerossl_keys_path }}/{{ item }}'
50- content : " {{ lookup('aws_ssm', '{{ dashmate_zerossl_ssm_path }}-{{ item }}', on_missing='skip') }}"
51- owner : ' {{ dashmate_user }}'
52- group : ' {{ dashmate_group }}'
53- mode : " 0644"
54- loop :
55- - ' {{ dashmate_zerossl_private_key_file_name }}'
56- - ' {{ dashmate_zerossl_csr_file_name }}'
57- when : >
58- not zero_ssl_files.stat.exists and
59- dashmate_zerossl_ssm_certificate_id != ''
60-
6137# Create a new ZeroSSL certificate if it is not present
62- # or download bundle if it's not exist
38+ # or download bundle if it doesn't exist
6339
6440- name : Check that ZeroSSL bundle file exists
6541 ansible.builtin.stat :
7551 register : dashmate_obtain
7652 changed_when : dashmate_obtain.rc == 0
7753 when : >
78- dashmate_zerossl_ssm_certificate_id == '' or
79- not zero_ssl_bundle_file.stat.exists
80-
81- # Save new ZeroSSL information to SSM
82-
83- - name : Get new ZeroSSL certificate ID from dashmate config
84- ansible.builtin.command : " {{ dashmate_cmd }} config get {{ dashmate_zerossl_config_path }}.id"
85- become : true
86- become_user : dashmate
87- args :
88- chdir : ' {{ dashmate_cwd }}'
89- register : dashmate_zerossl_id
90- changed_when : dashmate_zerossl_id.rc == 0
91- when : dashmate_obtain is defined and dashmate_obtain.changed
92-
93- - name : Set new ZeroSSL certificate ID from config
94- ansible.builtin.set_fact :
95- dashmate_zerossl_config_certificate_id : " {{ dashmate_zerossl_id.stdout }}"
96- when : dashmate_obtain is defined and dashmate_obtain.changed
97-
98- - name : Update ZeroSSL certificate ID in AWS SSM parameter store
99- delegate_to : localhost
100- become : false
101- community.aws.ssm_parameter :
102- name : ' {{ dashmate_zerossl_ssm_path }}-id'
103- value : ' {{ dashmate_zerossl_config_certificate_id }}'
104- when : dashmate_zerossl_ssm_certificate_id != dashmate_zerossl_config_certificate_id
105-
106- - name : Read new generated ZeroSSL private key file to variable
107- ansible.builtin.slurp :
108- src : ' {{ dashmate_zerossl_keys_path }}/{{ dashmate_zerossl_private_key_file_name }}'
109- register : dashmate_zerossl_private_key_file
110- when : dashmate_zerossl_ssm_certificate_id != dashmate_zerossl_config_certificate_id
111-
112- - name : Read new generated ZeroSSL CSR file to variable
113- ansible.builtin.slurp :
114- src : ' {{ dashmate_zerossl_keys_path }}/{{ dashmate_zerossl_csr_file_name }}'
115- register : dashmate_zerossl_csr_file
116- when : dashmate_zerossl_ssm_certificate_id != dashmate_zerossl_config_certificate_id
117-
118- - name : Set new generated ZeroSSL CSR and private key files
119- ansible.builtin.set_fact :
120- dashmate_zerossl_files :
121- - name : " {{ dashmate_zerossl_private_key_file_name }}"
122- content : ' {{ dashmate_zerossl_private_key_file.content | b64decode }}'
123- - name : " {{ dashmate_zerossl_csr_file_name }}"
124- content : ' {{ dashmate_zerossl_csr_file.content | b64decode }}'
125- when : dashmate_zerossl_ssm_certificate_id != dashmate_zerossl_config_certificate_id
126-
127- - name : Update ZeroSSL private key and CSR files in AWS SSM parameter store
128- delegate_to : localhost
129- become : false
130- community.aws.ssm_parameter :
131- name : ' {{ dashmate_zerossl_ssm_path }}-{{ item.name }}'
132- value : ' {{ item.content }}'
133- loop : ' {{ dashmate_zerossl_files }}'
134- when : dashmate_zerossl_ssm_certificate_id != dashmate_zerossl_config_certificate_id
54+ dashmate_zerossl_certificate_id == '' or
55+ not zero_ssl_bundle_file.stat.exists
0 commit comments