Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0d233174c |
@@ -5,12 +5,10 @@
|
|||||||
# /srv/cc-ci/.sops/master-age.txt (never in this repo). Lets us re-key if cc-ci is lost.
|
# /srv/cc-ci/.sops/master-age.txt (never in this repo). Lets us re-key if cc-ci is lost.
|
||||||
keys:
|
keys:
|
||||||
- &host age1h90utdztfc23kx8ewrtrtk80mnddvrf8pg4ppej55rwwwupzhfvqhmp3qa
|
- &host age1h90utdztfc23kx8ewrtrtk80mnddvrf8pg4ppej55rwwwupzhfvqhmp3qa
|
||||||
- &host2 age1tmvgpgc822ezqgxg4x8h6ndph6j9hwpgjpg364zn7lw3t5h694rq5730wa
|
|
||||||
- &master age1cmk26t9e30ls8594s8txgmf2exenydmntfxqpcd3qdqm3ru2lpnqpdkdz9
|
- &master age1cmk26t9e30ls8594s8txgmf2exenydmntfxqpcd3qdqm3ru2lpnqpdkdz9
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/.*\.(yaml|json|env)$
|
- path_regex: secrets/.*\.(yaml|json|env)$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *host
|
- *host
|
||||||
- *host2
|
|
||||||
- *master
|
- *master
|
||||||
|
|||||||
@@ -60,18 +60,24 @@ in
|
|||||||
|
|
||||||
environment.etc."acme-dns/lego.env".source = legoEnvironment;
|
environment.etc."acme-dns/lego.env".source = legoEnvironment;
|
||||||
|
|
||||||
# The staging order has completed successfully. This marker permits the
|
|
||||||
# production ACME post-run hook to hand a renewed certificate to Traefik.
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"f /var/lib/ci-certs/acme-production-enabled 0600 root root -"
|
|
||||||
];
|
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
allowedTCPPorts = [ 53 ];
|
allowedTCPPorts = [ 53 ];
|
||||||
allowedUDPPorts = [ 53 ];
|
allowedUDPPorts = [ 53 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.acme-dns = {
|
|
||||||
|
|
||||||
|
# One `systemd` attrset (statix W20): the tmpfiles marker, the acme-dns daemon and the
|
||||||
|
# traefik handoff oneshot.
|
||||||
|
systemd = {
|
||||||
|
# The staging order has completed successfully. This marker permits the
|
||||||
|
# production ACME post-run hook to hand a renewed certificate to Traefik.
|
||||||
|
tmpfiles.rules = [
|
||||||
|
"f /var/lib/ci-certs/acme-production-enabled 0600 root root -"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.acme-dns = {
|
||||||
description = "Restricted authoritative DNS for cc-ci ACME DNS-01";
|
description = "Restricted authoritative DNS for cc-ci ACME DNS-01";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
@@ -100,7 +106,7 @@ in
|
|||||||
# Traefik consumes its wildcard as immutable Swarm secrets, so a renewed
|
# Traefik consumes its wildcard as immutable Swarm secrets, so a renewed
|
||||||
# host certificate must be copied and reconciled rather than merely reloaded.
|
# host certificate must be copied and reconciled rather than merely reloaded.
|
||||||
# This service is started only by the production-mode ACME postRun hook.
|
# This service is started only by the production-mode ACME postRun hook.
|
||||||
systemd.services.cc-ci-acme-traefik-handoff = {
|
services.cc-ci-acme-traefik-handoff = {
|
||||||
description = "Install renewed cc-ci wildcard into Traefik Swarm secrets";
|
description = "Install renewed cc-ci wildcard into Traefik Swarm secrets";
|
||||||
after = [ "docker.service" "deploy-proxy.service" ];
|
after = [ "docker.service" "deploy-proxy.service" ];
|
||||||
requires = [ "docker.service" ];
|
requires = [ "docker.service" ];
|
||||||
@@ -134,6 +140,7 @@ in
|
|||||||
while IFS= read -r stale; do docker secret rm "$stale" || true; done
|
while IFS= read -r stale; do docker secret rm "$stale" || true; done
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
security.acme = {
|
security.acme = {
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
|
|||||||
+1
-1
Submodule secrets updated: 638c28dae8...2ce5f86c02
Reference in New Issue
Block a user