Fix pgsql init script

This commit is contained in:
Théo Barnouin 2025-01-28 10:33:51 +01:00
parent 7ec275cbe2
commit 89fd1f0a24

View file

@ -11,10 +11,22 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
age.secrets = { age.secrets = {
nextcloudDBPass.file = ./secrets/nextcloudDBPass.age; nextcloudDBPass = {
giteaDBPass.file = ./secrets/giteaDBPass.age; file = ./secrets/nextcloudDBPass.age;
authentikDBPass.file = ./secrets/authentikDBPass.age; owner = "postgres";
grafanaDBPass.file = ./secrets/grafanaDBPass.age; };
giteaDBPass = {
file = ./secrets/giteaDBPass.age;
owner = "postgres";
};
authentikDBPass = {
file = ./secrets/authentikDBPass.age;
owner = "postgres";
};
grafanaDBPass = {
file = ./secrets/grafanaDBPass.age;
owner = "postgres";
};
}; };
services.postgresql = { services.postgresql = {
enable = true; enable = true;
@ -28,22 +40,22 @@ in {
host grafana grafana 192.168.1.27/32 md5 host grafana grafana 192.168.1.27/32 md5
"; ";
initialScript = pkgs.writeText "init-sql-script" '' initialScript = pkgs.writeText "init-sql-script" ''
nextcloudSecret = $(echo ${config.age.secrets.nextcloudDBPass.path}) nextcloudSecret=$(echo ${config.age.secrets.nextcloudDBPass.path})
CREATE ROLE nextcloud WITH LOGIN PASSWORD $nextcloudSecret CREATEDB; CREATE ROLE nextcloud WITH LOGIN PASSWORD $nextcloudSecret CREATEDB;
CREATE DATABASE nextcloud; CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud; GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
giteaSecret = $(echo ${config.age.secrets.giteaDBPass.path}) giteaSecret=$(echo ${config.age.secrets.giteaDBPass.path})
CREATE ROLE gitea WITH LOGIN PASSWORD $giteaSecret CREATEDB; CREATE ROLE gitea WITH LOGIN PASSWORD $giteaSecret CREATEDB;
CREATE DATABASE gitea; CREATE DATABASE gitea;
GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea; GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea;
authentikSecret = $(echo ${config.age.secrets.authentikDBPass.path}) authentikSecret=$(echo ${config.age.secrets.authentikDBPass.path})
CREATE ROLE authentik WITH LOGIN PASSWORD $authentikSecret CREATEDB; CREATE ROLE authentik WITH LOGIN PASSWORD $authentikSecret CREATEDB;
CREATE DATABASE authentik; CREATE DATABASE authentik;
GRANT ALL PRIVILEGES ON DATABASE authentik TO authentik; GRANT ALL PRIVILEGES ON DATABASE authentik TO authentik;
grafanaSecret = $(echo ${config.age.secrets.grafanaDBPass.path}) grafanaSecret=$(echo ${config.age.secrets.grafanaDBPass.path})
CREATE ROLE grafana WITH LOGIN PASSWORD $grafanaSecret CREATEDB; CREATE ROLE grafana WITH LOGIN PASSWORD $grafanaSecret CREATEDB;
CREATE DATABASE grafana; CREATE DATABASE grafana;
GRANT ALL PRIVILEGES ON DATABASE grafana TO grafana; GRANT ALL PRIVILEGES ON DATABASE grafana TO grafana;