From f8416215d5b9459face7884a5b57982a4e50623f Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Tue, 16 May 2023 18:07:34 +0200 Subject: [PATCH] ns-ionos: move powerdnsadmin webinterface to new hostname --- PORT_MAP.md | 1 + .../powerdnsadmin/files/powerdnsadmin.service | 2 +- bundles/powerdnsadmin/items.py | 4 ++++ bundles/powerdnsadmin/metadata.py | 24 +++++++++++++++++++ nodes/home/router.py | 2 +- nodes/ns-ionos.toml | 10 +++----- 6 files changed, 34 insertions(+), 9 deletions(-) diff --git a/PORT_MAP.md b/PORT_MAP.md index 1f13d47..453040d 100644 --- a/PORT_MAP.md +++ b/PORT_MAP.md @@ -46,6 +46,7 @@ Rule of thumb: keep ports below 10000 free for stuff that reserves ports. | 22070 | paperless-ng | gunicorn | | 22080 | netbox | gunicorn | | 22090 | jugendhackt_tools | gunicorn | +| 22100 | powerdnsadmin | gunicorn | | 22999 | nginx | stub_status | | 22100 | ntfy | http | diff --git a/bundles/powerdnsadmin/files/powerdnsadmin.service b/bundles/powerdnsadmin/files/powerdnsadmin.service index 333cfe7..1153886 100644 --- a/bundles/powerdnsadmin/files/powerdnsadmin.service +++ b/bundles/powerdnsadmin/files/powerdnsadmin.service @@ -9,7 +9,7 @@ Group=powerdnsadmin Environment=FLASK_CONF=/opt/powerdnsadmin/config.py WorkingDirectory=/opt/powerdnsadmin/src ExecStartPre=-/bin/chown powerdnsadmin:powerdnsadmin /opt/powerdnsadmin/src/powerdnsadmin/static -ExecStart=/opt/powerdnsadmin/venv/bin/gunicorn 'powerdnsadmin:create_app()' +ExecStart=/opt/powerdnsadmin/venv/bin/gunicorn 'powerdnsadmin:create_app()' --name powerdnsadmin --workers 4 --max-requests 1200 --max-requests-jitter 50 --log-level=info --bind=127.0.0.1:22100 [Install] WantedBy=multi-user.target diff --git a/bundles/powerdnsadmin/items.py b/bundles/powerdnsadmin/items.py index ea256ea..fb1bf0d 100644 --- a/bundles/powerdnsadmin/items.py +++ b/bundles/powerdnsadmin/items.py @@ -21,10 +21,14 @@ git_deploy = { files = { '/opt/powerdnsadmin/config.py': { 'content_type': 'mako', + 'triggers': { + 'svc_systemd:powerdnsadmin:restart', + }, }, '/etc/systemd/system/powerdnsadmin.service': { 'triggers': { 'action:systemd-reload', + 'svc_systemd:powerdnsadmin:restart', }, }, } diff --git a/bundles/powerdnsadmin/metadata.py b/bundles/powerdnsadmin/metadata.py index 0617b03..d7e93be 100644 --- a/bundles/powerdnsadmin/metadata.py +++ b/bundles/powerdnsadmin/metadata.py @@ -50,3 +50,27 @@ def icinga_check_for_new_release(metadata): }, }, } + + +@metadata_reactor.provides( + 'nginx/vhosts/powerdnsadmin', +) +def nginx(metadata): + if not node.has_bundle('nginx'): + raise DoNotRunAgain + + return { + 'nginx': { + 'vhosts': { + 'powerdnsadmin': { + 'locations': { + '/': { + 'target': 'http://127.0.0.1:22100', + }, + }, + 'website_check_path': '/login', + 'website_check_string': 'PowerDNS', + }, + }, + }, + } diff --git a/nodes/home/router.py b/nodes/home/router.py index cbdbc5d..68b7e16 100644 --- a/nodes/home/router.py +++ b/nodes/home/router.py @@ -133,7 +133,7 @@ nodes['home.router'] = { 'interface': 'enp1s0.7', 'dyndns': { 'domain': 'franzi-home.kunbox.net', - 'url': 'https://ns-primary.kunbox.net/nic/update?hostname=franzi-home.kunbox.net&myip={ip}', + 'url': 'https://ns-ionos.kunbox.net/nic/update?hostname=franzi-home.kunbox.net&myip={ip}', 'username': vault.decrypt('encrypt$gAAAAABfr8DLAJhmUIhdxLq83I8MnRRvkRgDZcO8Brvw1KpvplC3K8ZGj0jIIWD3Us33vIP6t0ybd_mgD8slpRUk78Kqd3BMoQ=='), 'password': vault.decrypt('encrypt$gAAAAABfr8Cq5M1hweeJTQAl0dLhFntdlw-QnkIYUQpY-_ycODVWOpyeAwjwOgWLSdsdXIUvqcoiXPZPV-BE12p5C42NGnj9r7sKYpoGz8xfuGIk6haMa2g='), }, diff --git a/nodes/ns-ionos.toml b/nodes/ns-ionos.toml index d75d4a7..30e4a39 100644 --- a/nodes/ns-ionos.toml +++ b/nodes/ns-ionos.toml @@ -18,14 +18,10 @@ gateway4 = "10.255.255.1" gateway6 = "fe80::250:56ff:fea8:628f" [metadata.icinga_options] -pretty_name = "ns-primary.kunbox.net" +pretty_name = "ns-ionos.kunbox.net" -[metadata.nginx.vhosts."ns-primary.kunbox.net"] -website_check_path = "/login" -website_check_string = "PowerDNS" - -[metadata.nginx.vhosts."ns-primary.kunbox.net".locations."/"] -target = "http://127.0.0.1:8000/" +[metadata.nginx.vhosts.powerdnsadmin] +domain = "ns-ionos.kunbox.net" [metadata.postgresql] version = "15"