mirror of
https://github.com/RGBCube/ncc
synced 2025-07-28 18:47:44 +00:00
fix: fix postgresql ensure declarations and add a helper
This commit is contained in:
parent
d8bcbab825
commit
377d93df78
5 changed files with 17 additions and 50 deletions
|
@ -17,16 +17,7 @@ in {
|
||||||
owner = "forgejo";
|
owner = "forgejo";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = let
|
services.postgresql.ensure = [ "forgejo" ];
|
||||||
users = [ "forgejo" ];
|
|
||||||
in {
|
|
||||||
ensureDatabases = users;
|
|
||||||
ensureUsers = map users (name: {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
||||||
paths = [ "/var/lib/gitea-runner" "/var/lib/forgejo" ];
|
paths = [ "/var/lib/gitea-runner" "/var/lib/forgejo" ];
|
||||||
|
|
|
@ -17,16 +17,7 @@ in {
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = let
|
services.postgresql.ensure = [ "grafana" ];
|
||||||
users = [ "grafana" ];
|
|
||||||
in {
|
|
||||||
ensureDatabases = users;
|
|
||||||
ensureUsers = map users (name: {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
||||||
paths = [ "/var/lib/grafana" ];
|
paths = [ "/var/lib/grafana" ];
|
||||||
|
|
|
@ -46,16 +46,7 @@ in {
|
||||||
owner = "matrix-synapse";
|
owner = "matrix-synapse";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = let
|
services.postgresql.ensure = [ "matrix-synapse" "matrix-sliding-sync" ];
|
||||||
users = [ "matrix-synapse" "matrix-sliding-sync" ];
|
|
||||||
in {
|
|
||||||
ensureDatabases = users;
|
|
||||||
ensureUsers = map users (name: {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
||||||
paths = [ "/var/lib/matrix-synapse" "/var/lib/matrix-sliding-sync" ];
|
paths = [ "/var/lib/matrix-synapse" "/var/lib/matrix-sliding-sync" ];
|
||||||
|
|
|
@ -25,16 +25,7 @@ in {
|
||||||
passwordFile = config.secrets.nextcloudPasswordExporter.path;
|
passwordFile = config.secrets.nextcloudPasswordExporter.path;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = let
|
services.postgresql.ensure = [ "nextcloud" ];
|
||||||
users = [ "nextcloud" ];
|
|
||||||
in {
|
|
||||||
ensureDatabases = users;
|
|
||||||
ensureUsers = map users (name: {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
||||||
paths = [ "/var/lib/nextcloud" ];
|
paths = [ "/var/lib/nextcloud" ];
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ config, lib, pkgs, ... }: let
|
{ config, lib, pkgs, ... }: let
|
||||||
inherit (lib) const enabled genAttrs mkForce mkOverride;
|
inherit (lib) const enabled flip genAttrs mkForce mkOverride mkValue;
|
||||||
in {
|
in {
|
||||||
environment.systemPackages = [
|
config.environment.systemPackages = [
|
||||||
config.services.postgresql.package
|
config.services.postgresql.package
|
||||||
];
|
];
|
||||||
|
|
||||||
services.prometheus.exporters.postgres = enabled {
|
config.services.prometheus.exporters.postgres = enabled {
|
||||||
listenAddress = "[::]";
|
listenAddress = "[::]";
|
||||||
runAsLocalSuperUser = true;
|
runAsLocalSuperUser = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
config.services.restic.backups = genAttrs config.services.restic.hosts <| const {
|
||||||
paths = [ "/tmp/postgresql-dump.sql.gz" ];
|
paths = [ "/tmp/postgresql-dump.sql.gz" ];
|
||||||
|
|
||||||
backupPrepareCommand = ''
|
backupPrepareCommand = ''
|
||||||
|
@ -24,7 +24,9 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = enabled {
|
options.services.postgresql.ensure = mkValue [ "postgres" "root" ];
|
||||||
|
|
||||||
|
config.services.postgresql = enabled {
|
||||||
package = pkgs.postgresql_14;
|
package = pkgs.postgresql_14;
|
||||||
|
|
||||||
enableJIT = true;
|
enableJIT = true;
|
||||||
|
@ -40,15 +42,16 @@ in {
|
||||||
local all all peer
|
local all all peer
|
||||||
'';
|
'';
|
||||||
|
|
||||||
ensureUsers = map [ "postgres" "root" ] (name: {
|
ensureDatabases = config.services.postgres.ensure;
|
||||||
|
|
||||||
|
ensureUsers = flip map config.services.postgres.ensure (name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
|
ensureDBOwnership = true;
|
||||||
|
|
||||||
ensureClauses = {
|
ensureClauses = {
|
||||||
createdb = true;
|
|
||||||
createrole = true;
|
|
||||||
login = true;
|
login = true;
|
||||||
replication = true;
|
superuser = name == "postgres" || name == "root";
|
||||||
superuser = true;
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue