diff options
author | Georg Pfuetzenreuter | 2023-03-12 17:01:00 +0100 |
---|---|---|
committer | Georg Pfuetzenreuter | 2023-03-12 17:01:00 +0100 |
commit | 96daffc9798c8afcae5de49b386cb8483909f071 (patch) | |
tree | 73f898a5f1a271c917fbe2b61f08316d2c1c22ea /salt/profile | |
parent | 84c1cecf614910ea0da86d9ffde349731bda4b30 (diff) | |
download | salt-96daffc9798c8afcae5de49b386cb8483909f071.tar.gz salt-96daffc9798c8afcae5de49b386cb8483909f071.tar.bz2 salt-96daffc9798c8afcae5de49b386cb8483909f071.zip |
Add privatebin profile+role
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Diffstat (limited to 'salt/profile')
-rw-r--r-- | salt/profile/privatebin/init.sls | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/salt/profile/privatebin/init.sls b/salt/profile/privatebin/init.sls new file mode 100644 index 0000000..7b9c036 --- /dev/null +++ b/salt/profile/privatebin/init.sls @@ -0,0 +1,55 @@ +{%- set mypillar = salt['pillar.get']('profile:privatebin', {}) -%} +{%- set confdir = '/etc/PrivateBin' -%} +{%- set configfile = confdir ~ '/conf.php' -%} + +privatebin_packages: + pkg.installed: + - names: + - PrivateBin-config-httpd + +privatebin_clean: + file.directory: + - name: {{ confdir }} + - clean: True + - onchanges: + - pkg: privatebin_packages + - require: + - pkg: privatebin_packages + +{%- if mypillar | length %} +{{ configfile }}: + ini.options_present: + - separator: '=' + - strict: True + - sections: + {%- macro conf(section, options) %} + {%- for option in options.keys() -%} + {%- if mypillar[section][option] is string and mypillar[section][option].startswith('$') or mypillar[section][option] is number %} + {%- set value = mypillar[section][option] -%} + {%- else %} + {%- set value = mypillar[section][option] | quote -%} + {%- endif %} + {{ option }}: {{ value }} + {%- endfor -%} + {%- endmacro %} + {%- for section, options in mypillar.items() %} + {{ section }}: + {{ conf(section, options) }} + {%- endfor %} + - require: + - pkg: privatebin_packages + - watch: + - file: privatebin_clean + - watch_in: + - file: privatebin_permissions +{%- endif %} + +privatebin_permissions: + file.managed: + - mode: '0640' + - user: wwwrun + - group: privatebin + - names: + - {{ configfile }} + - require: + - pkg: privatebin_packages |