]>
Commit | Line | Data |
---|---|---|
4aac110f | 1 | { lib, config, myconfig, ... }: |
182ae57f IB |
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 | }; | |
4aac110f IB |
12 | |
13 | config.nixpkgs.overlays = lib.mkIf cfg.enable [ (self: super: { | |
14 | postgresql = self.postgresql_11_custom; | |
15 | }) ]; | |
16 | ||
182ae57f | 17 | config.myServices.databases = lib.mkIf cfg.enable { |
4aac110f IB |
18 | mariadb = { |
19 | enable = true; | |
20 | ldapConfig = { | |
21 | inherit (myconfig.env.ldap) host base; | |
22 | inherit (myconfig.env.databases.mysql.pam) dn filter password; | |
23 | }; | |
24 | credentials.root = myconfig.env.databases.mysql.systemUsers.root; | |
25 | }; | |
26 | ||
27 | openldap = { | |
28 | accessFile = "${myconfig.privateFiles}/ldap.conf"; | |
29 | baseDn = myconfig.env.ldap.base; | |
30 | rootDn = myconfig.env.ldap.root_dn; | |
31 | rootPw = myconfig.env.ldap.root_pw; | |
32 | enable = true; | |
33 | }; | |
34 | ||
35 | postgresql = { | |
36 | ldapConfig = { | |
37 | inherit (myconfig.env.ldap) host base; | |
38 | inherit (myconfig.env.databases.postgresql.pam) dn filter password; | |
39 | }; | |
40 | replicationLdapConfig = { | |
41 | inherit (myconfig.env.ldap) host base password; | |
42 | dn = myconfig.env.ldap.host_dn; | |
43 | }; | |
44 | authorizedHosts = { | |
45 | immaeEu = [{ | |
46 | ip4 = [ | |
47 | myconfig.env.servers.immaeEu.ips.main.ip4 | |
48 | myconfig.env.servers.immaeEu.ips.alt.ip4 | |
49 | ]; | |
50 | }]; | |
51 | }; | |
52 | replicationHosts = { | |
53 | backup-1 = { | |
54 | ip4 = [myconfig.env.servers.backup-1.ips.main.ip4]; | |
55 | ip6 = myconfig.env.servers.backup-1.ips.main.ip6; | |
56 | }; | |
57 | }; | |
58 | enable = true; | |
59 | }; | |
60 | ||
182ae57f IB |
61 | redis.enable = true; |
62 | }; | |
63 | } |