all repos — nixfiles @ 5daa66fd9b3c12064ce35febaf311caba30bfd24

System and user configuration, managed by nix and home-manager

extract redis-website configuration to role

Alin
commit

5daa66fd9b3c12064ce35febaf311caba30bfd24

parent

4c0b7383ff18d2c9934365562f7aab0a3c4e05a2

1 file changed, 38 insertions(+), 0 deletions(-)

changed files
A system/roles/redis-website.nix
@@ -0,0 +1,38 @@
+{ + config, + ... +}: +let + domain = config.networking.domain; +in +{ + age.secrets.redis-website.file = ../../secrets/redis-website.age; + + networking.firewall.allowedTCPPorts = [ 6379 ]; + + services.redis = { + servers = { + website = { + enable = true; + port = 0; + bind = null; + databases = 1; + maxclients = 20; + requirePassFile = config.age.secrets.redis-website.path; + settings = { + notify-keyspace-events = "KEA"; + tls-port = 6379; + tls-cert-file = "/var/lib/acme/redis.${domain}/cert.pem"; + tls-key-file = "/var/lib/acme/redis.${domain}/key.pem"; + tls-ca-cert-file = "/etc/ssl/certs/ca-certificates.crt"; + tls-auth-clients = false; + }; + }; + }; + }; + + security.acme.certs."redis.${domain}" = { + group = "redis-website"; + reloadServices = [ "redis-website" ]; + }; +}