]>
Commit | Line | Data |
---|---|---|
1 | { lib, config, nodes, ... }: | |
2 | let | |
3 | cfg = config.myServices.databases; | |
4 | in | |
5 | { | |
6 | options.myServices = { | |
7 | databases.enable = lib.mkEnableOption "my databases service"; | |
8 | databasesCerts = lib.mkOption { | |
9 | description = "Default databases configurations for certificates as accepted by acme"; | |
10 | }; | |
11 | }; | |
12 | ||
13 | config.myServices.databases = lib.mkIf cfg.enable { | |
14 | mariadb = { | |
15 | enable = true; | |
16 | ldapConfig = { | |
17 | inherit (config.myEnv.ldap) host base; | |
18 | inherit (config.myEnv.databases.mysql.pam) dn filter password; | |
19 | }; | |
20 | replicationLdapConfig = { | |
21 | inherit (config.myEnv.ldap) host base; | |
22 | inherit (config.myEnv.servers.eldiron.ldap) dn password; | |
23 | }; | |
24 | credentials.root = config.myEnv.databases.mysql.systemUsers.root; | |
25 | }; | |
26 | ||
27 | openldap = { | |
28 | accessFile = ../../../nixops/secrets/ldap.conf; | |
29 | baseDn = config.myEnv.ldap.base; | |
30 | rootDn = config.myEnv.ldap.root_dn; | |
31 | rootPw = config.myEnv.ldap.root_pw; | |
32 | enable = true; | |
33 | }; | |
34 | ||
35 | postgresql = { | |
36 | ldapConfig = { | |
37 | inherit (config.myEnv.ldap) host base; | |
38 | inherit (config.myEnv.databases.postgresql.pam) dn filter password; | |
39 | }; | |
40 | replicationLdapConfig = { | |
41 | inherit (config.myEnv.ldap) host base; | |
42 | inherit (config.myEnv.servers.eldiron.ldap) dn password; | |
43 | }; | |
44 | authorizedHosts = { | |
45 | }; | |
46 | replicationHosts = { | |
47 | backup-2 = { | |
48 | ip4 = [config.myEnv.servers.backup-2.ips.main.ip4]; | |
49 | ip6 = config.myEnv.servers.backup-2.ips.main.ip6; | |
50 | }; | |
51 | }; | |
52 | enable = true; | |
53 | }; | |
54 | ||
55 | redis.enable = true; | |
56 | }; | |
57 | } |