| {%- from "galera/map.jinja" import master, slave with context %} |
| {%- if master.get('enabled', False) %} |
| {%- set service, role = master, 'master' %} |
| {%- elif slave.get('enabled', False) %} |
| {%- set service, role = slave, 'slave' %} |
| {%- endif %} |
| |
| {%- if service.get('ssl', {}).get('enabled', False) %} |
| |
| galera_ssl_dir: |
| file.directory: |
| - name: /etc/mysql/ssl |
| - makedirs: true |
| - mode: 755 |
| - require: |
| - pkg: galera_packages |
| |
| {%- if service.ssl.cacert_chain is defined %} |
| mysql_cacertificate: |
| file.managed: |
| - name: {{ service.ssl.ca_file }} |
| - contents_pillar: galera:{{ role }}:ssl:cacert_chain |
| - mode: 0444 |
| - makedirs: true |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- else %} |
| mysql_cacertificate_exists: |
| file.exists: |
| - name: {{ service.ssl.ca_file }} |
| mysql_cacertificate: |
| file.managed: |
| - name: {{ service.ssl.ca_file }} |
| - mode: 644 |
| - create: False |
| - require: |
| - file: mysql_cacertificate_exists |
| - file: galera_ssl_dir |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- endif %} |
| |
| {%- if service.ssl.cert is defined %} |
| mysql_certificate: |
| file.managed: |
| - name: {{ service.ssl.cert_file }} |
| - contents_pillar: galera:{{ role }}:ssl:cert |
| - mode: 0444 |
| - makedirs: true |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- else %} |
| mysql_certificate_exists: |
| file.exists: |
| - name: {{ service.ssl.cert_file }} |
| mysql_certificate: |
| file.managed: |
| - name: {{ service.ssl.cert_file }} |
| - mode: 644 |
| - create: False |
| - require: |
| - file: mysql_certificate_exists |
| - file: galera_ssl_dir |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- endif %} |
| |
| {%- if service.ssl.key is defined %} |
| mysql_server_key: |
| file.managed: |
| - name: {{ service.ssl.key_file }} |
| - contents_pillar: galera:{{ role }}:ssl:key |
| - user: root |
| - group: mysql |
| - mode: 0440 |
| - makedirs: true |
| - require: |
| - pkg: galera_packages |
| - file: galera_ssl_dir |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- else %} |
| mysql_server_key_exists: |
| file.exists: |
| - name: {{ service.ssl.key_file }} |
| mysql_server_key: |
| file.managed: |
| - name: {{ service.ssl.key_file }} |
| - user: root |
| - group: mysql |
| - mode: 0440 |
| - create: False |
| - require: |
| - file: mysql_server_key_exists |
| - pkg: galera_packages |
| - file: galera_ssl_dir |
| - require_in: |
| - service: galera_service |
| - file: galera_config |
| {%- endif %} |
| |
| {%- endif %} |