blob: 5afc8f95b1c7e9a1e1867f9020a2f4e3d2b62f12 [file] [log] [blame]
{%- from "salt/map.jinja" import api with context %}
{%- if api.get('enabled', False) %}
salt_api_packages:
pkg.installed:
- names: {{ api.pkgs }}
/etc/salt/master.d/_api.conf:
file.managed:
- source: salt://salt/files/_api.conf
- user: root
- template: jinja
- require:
- pkg: salt_api_packages
- watch_in:
- service: salt_api_service
{%- if api.get('ssl', {}).authority is defined %}
{%- set cert_file = "/etc/ssl/certs/" + api.ssl.get('name', grains.id) + ".crt" %}
{%- set ca_file = "/etc/ssl/certs/ca-" + api.ssl.authority + ".crt" %}
salt_api_init_tls:
cmd.run:
- name: "cat {{ cert_file }} {{ ca_file }} > /etc/ssl/certs/{{ api.ssl.get('name', grains.id) }}-chain.crt"
- creates: /etc/ssl/certs/{{ api.ssl.get('name', grains.id) }}-chain.crt
- watch_in:
- service: salt_api_service
{%- endif %}
salt_api_service:
service.running:
- name: {{ api.service }}
- require:
- pkg: salt_api_packages
- watch:
- file: /etc/salt/master.d/_api.conf
{%- if grains.get('init', None) == 'systemd' %}
salt_api_systemd_override:
file.managed:
- name: /etc/systemd/system/{{ api.service }}.service.d/50-restarts.conf
- source: salt://salt/files/systemd/{{ api.service }}.service_50-restarts
- makedirs: True
salt_api_systemd_reload:
module.wait:
- name: service.systemctl_reload
- onchanges:
- file: salt_api_systemd_override
- watch_in:
- service: salt_api_service
{%- endif %}
{%- endif %}