diff options
author | Georg Pfuetzenreuter | 2023-04-30 14:37:12 +0200 |
---|---|---|
committer | Georg Pfuetzenreuter | 2023-04-30 14:37:12 +0200 |
commit | b1249e69eb51b619dde5a3b0ffc162c86ffff16f (patch) | |
tree | 1b593d83d7c4982d6579641bef14371d1c1d699f /salt/profile | |
parent | 87bb69fa376ffd78b6e619732c5c921e131b49f8 (diff) | |
parent | f32d814658a3005654b10e28c0827fb2a9302678 (diff) | |
download | salt-b1249e69eb51b619dde5a3b0ffc162c86ffff16f.tar.gz salt-b1249e69eb51b619dde5a3b0ffc162c86ffff16f.tar.bz2 salt-b1249e69eb51b619dde5a3b0ffc162c86ffff16f.zip |
Merge pull request 'Import themis / PrivateBin' (#40) from privatebin into production
Reviewed-on: https://git.com.de/LibertaCasa/salt/pulls/40
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 |