Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F11805020
D3712.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
D3712.diff
View Options
diff --git a/roles/mailserver/init.sls b/pillar/core/certificates/hervil.sls
copy from roles/mailserver/init.sls
copy to pillar/core/certificates/hervil.sls
--- a/roles/mailserver/init.sls
+++ b/pillar/core/certificates/hervil.sls
@@ -1,12 +1,15 @@
# -------------------------------------------------------------
-# Salt — Mail
+# Let's Encrypt Certificates
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Project: Nasqueron
# License: Trivial work, not eligible to copyright
# -------------------------------------------------------------
-include:
- - .dovecot
- - .dkim
- - .postfix
- - .vimbadmin
+certificates:
+ - hervil.nasqueron.org
+ - mail.nasqueron.org
+ - admin.mail.nasqueron.org
+
+certificates_options:
+ mail.nasqueron.org:
+ shared_group: mail
diff --git a/pillar/tower.sls b/pillar/tower.sls
--- a/pillar/tower.sls
+++ b/pillar/tower.sls
@@ -9,6 +9,7 @@
# -------------------------------------------------------------
base:
+ - core/certificates/{{ minion_id }}.sls
- dns/{{ minion_id }}/*.sls
- paas/alkane/{{ minion_id }}/*.sls
- paas/docker/{{ minion_id }}/*.sls
diff --git a/roles/core/certificates/acmesh.sls b/roles/core/certificates/acmesh.sls
--- a/roles/core/certificates/acmesh.sls
+++ b/roles/core/certificates/acmesh.sls
@@ -7,14 +7,37 @@
{% from "map.jinja" import dirs with context %}
+{% set certificates = pillar.get("certificates", []) %}
+{% set certificates_options = pillar.get("certificates_options", {}) %}
+
acme.sh:
pkg.installed
+/var/certificates:
+ file.directory:
+ - user: acme
+ - mode: 711
+
/var/certificates/general:
file.directory:
- user: acme
- mode: 700
- - makedirs: True
+
+{% for domain in certificates %}
+{% set options = certificates_options.get(domain, {}) %}
+
+/var/certificates/{{ domain }}:
+ file.directory:
+ - user: acme
+
+ {% if "shared_group" in options %}
+ - group: {{ options.shared_group }}
+ - mode: 750
+ {% else %}
+ - mode: 700
+ {% endif %}
+
+{% endfor %}
/usr/local/etc/newsyslog.conf.d/acme.sh.conf:
file.managed:
diff --git a/roles/core/init.sls b/roles/core/init.sls
--- a/roles/core/init.sls
+++ b/roles/core/init.sls
@@ -7,7 +7,6 @@
include:
- .rc
- - .certificates
- .hostname
- .login
- .network
@@ -27,6 +26,7 @@
- .users
# Depends on users or groups
+ - .certificates
- .deploy
- .userland-home
diff --git a/roles/mailserver/coordination/init.sls b/roles/mailserver/coordination/init.sls
new file mode 100644
--- /dev/null
+++ b/roles/mailserver/coordination/init.sls
@@ -0,0 +1,20 @@
+# -------------------------------------------------------------
+# Salt — Coordination among mail services
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+# -------------------------------------------------------------
+# Common group for mail services
+#
+# Allows reading common TLS certificates and keys.
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+mail_group:
+ group.present:
+ - name: mail
+ - addusers:
+ - dovecot
+ - postfix
+ - acme
diff --git a/roles/mailserver/init.sls b/roles/mailserver/init.sls
--- a/roles/mailserver/init.sls
+++ b/roles/mailserver/init.sls
@@ -10,3 +10,6 @@
- .dkim
- .postfix
- .vimbadmin
+
+ # Depends on all software installed
+ - .coordination
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 25, 00:05 (22 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3013199
Default Alt Text
D3712.diff (3 KB)
Attached To
Mode
D3712: Share /var/certificates/<domain> for all mail services
Attached
Detach File
Event Timeline
Log In to Comment