stash some pdns changes
This commit is contained in:
parent
05cca6a729
commit
2510ed9504
3 changed files with 73 additions and 19 deletions
37
modules/powerdns-admin.nix
Normal file
37
modules/powerdns-admin.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
let
|
||||||
|
cfg = import ./vars.nix;
|
||||||
|
webport = cfg.powerdns-admin.port;
|
||||||
|
webdbport = cfg.powerdns-admin.dbport;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./podman.nix
|
||||||
|
./podman-postgresql.nix # for the database
|
||||||
|
#./nginx.nix # for the webserver
|
||||||
|
];
|
||||||
|
|
||||||
|
sops.secrets."powerdns-admin/db" = { };
|
||||||
|
sops.secrets."powerdns-admin/env" = { };
|
||||||
|
|
||||||
|
#services.podman-postgresql."${pdnsa_database}" = {
|
||||||
|
# enable = true;
|
||||||
|
# image = "docker.io/library/postgres:15-alpine";
|
||||||
|
# port = (lib.strings.toInt webdbport);
|
||||||
|
# passwordFile = config.sops.secrets."powerdns-admin/db".path;
|
||||||
|
#};
|
||||||
|
|
||||||
|
#virtualisation.oci-containers.containers.powerdnsadmin = {
|
||||||
|
# image = "docker.io/powerdnsadmin/pda-legacy";
|
||||||
|
# environment = {
|
||||||
|
# TZ = "Europe/Berlin";
|
||||||
|
# };
|
||||||
|
# environmentFiles = [ config.sops.secrets."powerdns-admin/env".path ];
|
||||||
|
# ports = [
|
||||||
|
# "${webport}:80"
|
||||||
|
# ];
|
||||||
|
# extraOptions = cfg.podman.extraOptions;
|
||||||
|
#};
|
||||||
|
|
||||||
|
}
|
||||||
|
# vim: set et ts=2 sw=2 ai:
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
#pdns_database = "/var/lib/powerdns/pdns.sqlite3";
|
#pdns_database = "/var/lib/powerdns/pdns.sqlite3";
|
||||||
#pdnsa_database = "/var/lib/powerdns-admin/pdnsa.sqlite3";
|
#pdnsa_database = "/var/lib/powerdns-admin/pdnsa.sqlite3";
|
||||||
|
cfg = import ./vars.nix;
|
||||||
|
webport = cfg.powerdns-admin.port;
|
||||||
|
webdbport = cfg.powerdns-admin.dbport;
|
||||||
pdns_database = "pdns";
|
pdns_database = "pdns";
|
||||||
pdns_user = "pdns";
|
pdns_user = "pdns";
|
||||||
pdns_password = builtins.readFile /etc/nixos/keys/powerdns-dbpassword;
|
pdns_password = builtins.readFile /etc/nixos/keys/powerdns-dbpassword;
|
||||||
|
|
@ -12,6 +15,17 @@ let
|
||||||
pdns_api_key = builtins.readFile /etc/nixos/keys/powerdns-apikey;
|
pdns_api_key = builtins.readFile /etc/nixos/keys/powerdns-apikey;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./podman.nix
|
||||||
|
./podman-postgresql.nix # for the database
|
||||||
|
./postgresql.nix #to be dismissed
|
||||||
|
#./nginx.nix # for the webserver
|
||||||
|
];
|
||||||
|
|
||||||
|
#sops.secrets."powerdns-admin/db" = { };
|
||||||
|
#sops.secrets."powerdns-admin/env" = { };
|
||||||
|
|
||||||
services.powerdns = {
|
services.powerdns = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
@ -22,22 +36,31 @@ in
|
||||||
gpgsql-password=${pdns_password}
|
gpgsql-password=${pdns_password}
|
||||||
webserver=yes
|
webserver=yes
|
||||||
webserver-port=${pdns_web_port}
|
webserver-port=${pdns_web_port}
|
||||||
|
webserver-address=0.0.0.0
|
||||||
|
webserver-allow-from=0.0.0.0/0
|
||||||
api=yes
|
api=yes
|
||||||
api-key=${pdns_api_key}
|
api-key=${pdns_api_key}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.powerdns-admin = {
|
#services.podman-postgresql."${pdnsa_database}" = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
secretKeyFile = "/etc/nixos/keys/powerdns-secret";
|
# image = "docker.io/library/postgres:15-alpine";
|
||||||
saltFile = "/etc/nixos/keys/powerdns-salt";
|
# port = (lib.strings.toInt webdbport);
|
||||||
extraArgs = [ "-b" "0.0.0.0:8000" ];
|
# passwordFile = config.sops.secrets."powerdns-admin/db".path;
|
||||||
config = ''
|
#};
|
||||||
SQLALCHEMY_DATABASE_URI = 'postgresql://${pdnsa_database}@/${pdnsa_database}?host=/run/postgresql'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [ ./postgresql.nix ];
|
#virtualisation.oci-containers.containers.powerdnsadmin = {
|
||||||
|
# image = "docker.io/powerdnsadmin/pda-legacy";
|
||||||
|
# environment = {
|
||||||
|
# TZ = "Europe/Berlin";
|
||||||
|
# };
|
||||||
|
# environmentFiles = [ config.sops.secrets."powerdns-admin/env".path ];
|
||||||
|
# ports = [
|
||||||
|
# "${webport}:80"
|
||||||
|
# ];
|
||||||
|
# extraOptions = cfg.podman.extraOptions;
|
||||||
|
#};
|
||||||
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
ensureDatabases = [ pdns_database pdnsa_database];
|
ensureDatabases = [ pdns_database pdnsa_database];
|
||||||
|
|
@ -62,18 +85,11 @@ in
|
||||||
pdnsa_database
|
pdnsa_database
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services."powerdns-admin" = {
|
|
||||||
after = [ "postgresql.service" ];
|
|
||||||
serviceConfig = {
|
|
||||||
BindReadOnlyPaths = [ "/run/postgresql/.s.PGSQL.5432" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."pdns.service" = {
|
systemd.services."pdns.service" = {
|
||||||
after = [ "postgresql.service" ];
|
after = [ "postgresql.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 53 ];
|
networking.firewall.allowedTCPPorts = [ 53 5432 8081 ];
|
||||||
networking.firewall.allowedUDPPorts = [ 53 ];
|
networking.firewall.allowedUDPPorts = [ 53 ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
powerdns-admin.port = "8282";
|
powerdns-admin.port = "8282";
|
||||||
|
powerdns-admin.dbport = "54322";
|
||||||
|
|
||||||
stash.port = "9999";
|
stash.port = "9999";
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue