added snappymail state
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Paul 2025-03-25 19:13:56 +01:00
parent 14a155d8e7
commit a79047dd39
6 changed files with 64 additions and 0 deletions

View 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 = "";'

View 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: {}

View File

@ -0,0 +1,5 @@
---
include:
- php
- .install
- .config

View 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

View 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) -%}

View File

@ -0,0 +1,5 @@
<?php
{%- for line in config_includes %}
{{ line }}
{%- endfor %}
?>