diff options
Diffstat (limited to 'salt/profile/privatebin')
| -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  | 
