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