added snappymail state
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
14a155d8e7
commit
a79047dd39
19
states/snappymail/config.sls
Normal file
19
states/snappymail/config.sls
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
{%- from "snappymail/map.jinja" import snappymail with context %}
|
||||||
|
snappymail-data-dir:
|
||||||
|
file.directory:
|
||||||
|
- name: {{ snappymail.data_dir }}
|
||||||
|
- user: {{ snappymail.user }}
|
||||||
|
- group: {{ snappymail.group }}
|
||||||
|
|
||||||
|
snappymail-config:
|
||||||
|
file.managed:
|
||||||
|
- name: {{ snappymail.install_dir }}/snappymail/include.php
|
||||||
|
- source: salt://snappymail/templates/include.php.j2
|
||||||
|
- user: {{ snappymail.user }}
|
||||||
|
- group: {{ snappymail.group }}
|
||||||
|
- template: jinja
|
||||||
|
- context:
|
||||||
|
config_includes:
|
||||||
|
- '$sCustomDataPath = "{{ snappymail.data_dir }}";'
|
||||||
|
- '$sCustomConfiguration = "";'
|
12
states/snappymail/defaults.yaml
Normal file
12
states/snappymail/defaults.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
snappymail:
|
||||||
|
enabled: true
|
||||||
|
install_dir: /usr/local/apps
|
||||||
|
release_dir: /usr/local/apps/releases
|
||||||
|
release_filename: snappymail
|
||||||
|
mirror: https://github.com/the-djmaze/snappymail/releases/download
|
||||||
|
version: 2.38.2
|
||||||
|
data_dir: /var/lib/snappymail
|
||||||
|
user: www-data
|
||||||
|
group: www-data
|
||||||
|
config: {}
|
5
states/snappymail/init.sls
Normal file
5
states/snappymail/init.sls
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
include:
|
||||||
|
- php
|
||||||
|
- .install
|
||||||
|
- .config
|
18
states/snappymail/install.sls
Normal file
18
states/snappymail/install.sls
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
{%- from "snappymail/map.jinja" import snappymail with context %}
|
||||||
|
snappymail-archive-extract:
|
||||||
|
archive.extracted:
|
||||||
|
- name: {{ snappymail.release_dir }}/{{ snappymail.release_filename }}-{{ snappymail.version }}
|
||||||
|
- source: {{ snappymail.mirror }}/v{{ snappymail.version }}/{{ snappymail.release_filename }}-{{ snappymail.version }}.zip
|
||||||
|
- skip_verify: true
|
||||||
|
- enforce_toplevel: false
|
||||||
|
- user: {{ snappymail.user }}
|
||||||
|
- group: {{ snappymail.group }}
|
||||||
|
- if_missing: {{ snappymail.release_dir }}/{{ snappymail.release_filename }}-{{ snappymail.version }}
|
||||||
|
|
||||||
|
snappymail-archive-symlink:
|
||||||
|
file.symlink:
|
||||||
|
- name: {{ snappymail.install_dir }}/snappymail
|
||||||
|
- target: {{ snappymail.release_dir }}/{{ snappymail.release_filename }}-{{ snappymail.version }}
|
||||||
|
- require:
|
||||||
|
- archive: snappymail-archive-extract
|
5
states/snappymail/map.jinja
Normal file
5
states/snappymail/map.jinja
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{%- import_yaml "snappymail/defaults.yaml" as default_settings -%}
|
||||||
|
|
||||||
|
{%- set defaults = salt['grains.filter_by'](default_settings, default='snappymail') -%}
|
||||||
|
|
||||||
|
{%- set snappymail = salt['pillar.get']('snappymail', default=defaults, merge=True) -%}
|
5
states/snappymail/templates/include.php.j2
Normal file
5
states/snappymail/templates/include.php.j2
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
{%- for line in config_includes %}
|
||||||
|
{{ line }}
|
||||||
|
{%- endfor %}
|
||||||
|
?>
|
Loading…
Reference in New Issue
Block a user