extract redis-website configuration to role
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" ]; + }; +}