This commit is contained in:
1 parent
7163f167e0
commit
a6b25b8bb4
5 files changed
+27
-6
No files matched your search
@@ -217,7 +217,9 @@ external interface, in this order:
|
|||||||
Traffic from every other interface, including the internal one and the Docker bridges, is
|
Traffic from every other interface, including the internal one and the Docker bridges, is
|
||||||
not affected. The rules cover IPv4 only.
|
not affected. The rules cover IPv4 only.
|
||||||
|
|
||||||
The `vpn-router-docker` service applies the rules after `docker.service` starts and removes
|
`vpn-router-setup` starts after `docker.service`, so Docker is up when it looks for it; the
|
||||||
|
ordering has no effect on a host without Docker. The `vpn-router-docker` service applies the
|
||||||
|
rules after `docker.service` starts and removes
|
||||||
them when Docker stops, so restarting Docker restores them. `systemctl restart
|
them when Docker stops, so restarting Docker restores them. `systemctl restart
|
||||||
vpn-router-setup` applies a changed configuration while Docker runs. With `docker.mode` set to
|
vpn-router-setup` applies a changed configuration while Docker runs. With `docker.mode` set to
|
||||||
`on`, the service fails when Docker is not installed or its daemon is not running; with
|
`on`, the service fails when Docker is not installed or its daemon is not running; with
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
|
vpn-router (0.4.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Fix the start of vpn-router-setup hanging on a host that runs Docker.
|
||||||
|
vpn-router-setup restarted vpn-router-docker and waited for it, but that
|
||||||
|
unit was ordered after vpn-router-setup, so each waited for the other,
|
||||||
|
the installation of the package never finished and vpn-router-web was
|
||||||
|
never enabled or started. vpn-router-docker is no longer ordered after
|
||||||
|
vpn-router-setup, so vpn-router-setup still waits for it and the Docker
|
||||||
|
rules are in place when it ends. The restart of vpn-router-web is queued
|
||||||
|
without waiting.
|
||||||
|
* Start vpn-router-setup after docker.service, so that Docker is up when
|
||||||
|
the setup looks for it and does not start in parallel with it. The
|
||||||
|
ordering applies only when Docker is installed.
|
||||||
|
|
||||||
|
-- Slawomir Koszewski <slawek@koszewscy.waw.pl> Fri, 23 Oct 2026 20:10:00 +0200
|
||||||
|
|
||||||
vpn-router (0.4.0-1) unstable; urgency=medium
|
vpn-router (0.4.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
* Add the vpn-router-web service, a small status web service that uses only
|
* Add the vpn-router-web service, a small status web service that uses only
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=VPN Router rules for Docker published ports
|
Description=VPN Router rules for Docker published ports
|
||||||
Documentation=file:/usr/share/doc/vpn-router/README.md
|
Documentation=file:/usr/share/doc/vpn-router/README.md
|
||||||
After=docker.service vpn-router-setup.service
|
After=docker.service
|
||||||
PartOf=docker.service
|
PartOf=docker.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Description=VPN Router Setup
|
Description=VPN Router Setup
|
||||||
Documentation=file:/usr/share/doc/vpn-router/README.md
|
Documentation=file:/usr/share/doc/vpn-router/README.md
|
||||||
Wants=network-online.target
|
Wants=network-online.target
|
||||||
After=network-online.target
|
After=network-online.target docker.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
|
|||||||
@@ -318,7 +318,9 @@ def refresh_docker_rules():
|
|||||||
"""Apply the new settings to the Docker rules while Docker is running.
|
"""Apply the new settings to the Docker rules while Docker is running.
|
||||||
|
|
||||||
When Docker is not running, vpn-router-docker applies them after
|
When Docker is not running, vpn-router-docker applies them after
|
||||||
docker.service starts.
|
docker.service starts. The restart is waited for, so the rules are in place
|
||||||
|
when this setup ends; vpn-router-docker is therefore not ordered after
|
||||||
|
vpn-router-setup.
|
||||||
"""
|
"""
|
||||||
if unit_is_active('docker.service'):
|
if unit_is_active('docker.service'):
|
||||||
run(['systemctl', 'restart', 'vpn-router-docker.service'], check=False)
|
run(['systemctl', 'restart', 'vpn-router-docker.service'], check=False)
|
||||||
@@ -332,7 +334,8 @@ def refresh_web(cfg, ctx):
|
|||||||
secrets masked and the facts resolved from the system from a file here, so
|
secrets masked and the facts resolved from the system from a file here, so
|
||||||
that it needs nothing but the standard library and the configuration code.
|
that it needs nothing but the standard library and the configuration code.
|
||||||
The file is readable by root only. The service ends quietly when
|
The file is readable by root only. The service ends quietly when
|
||||||
web.enabled is false.
|
web.enabled is false. The restart is queued, not waited for, because the
|
||||||
|
unit is ordered after vpn-router-setup.
|
||||||
"""
|
"""
|
||||||
masked = {
|
masked = {
|
||||||
section: {option: '********' if SECRET_OPTION.search(option) and value else value
|
section: {option: '********' if SECRET_OPTION.search(option) and value else value
|
||||||
@@ -363,7 +366,7 @@ def refresh_web(cfg, ctx):
|
|||||||
'remote_cidrs': ctx['remote_cidr_list'],
|
'remote_cidrs': ctx['remote_cidr_list'],
|
||||||
},
|
},
|
||||||
}) + '\n', encoding='utf-8')
|
}) + '\n', encoding='utf-8')
|
||||||
run(['systemctl', 'restart', 'vpn-router-web.service'], check=False)
|
run(['systemctl', 'restart', '--no-block', 'vpn-router-web.service'], check=False)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
Reference in new issue
Block a user