--- TERM: tunnel_ip --- /opt/wg-access/backend/app/models/core.py:84: # tunnel_ip uniqueness is enforced in PostgreSQL by partial unique index: /opt/wg-access/backend/app/models/core.py:85: # uq_peers_node_tunnel_ip_enabled (node_id, tunnel_ip) WHERE enabled = true, /opt/wg-access/backend/app/models/core.py:94: tunnel_ip: Mapped[str] = mapped_column(String(64), nullable=False) /opt/wg-access/backend/app/services/wireguard.py:41:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backend/app/services/wireguard.py:58: select(Peer.tunnel_ip).where( /opt/wg-access/backend/app/services/wireguard.py:77:def build_client_config(private_key: REDACTED, tunnel_ip: str, preshared_key: str) -> str: /opt/wg-access/backend/app/services/wireguard.py:91: f"Address = {tunnel_ip}/32", /opt/wg-access/backend/app/api/admin.py:16: next_tunnel_ip, /opt/wg-access/backend/app/api/admin.py:68: tunnel_ip: str /opt/wg-access/backend/app/api/admin.py:98: tunnel_ip: str /opt/wg-access/backend/app/api/admin.py:127: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backend/app/api/admin.py:130: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backend/app/api/admin.py:137: tunnel_ip=tunnel_ip, /opt/wg-access/backend/app/api/admin.py:151: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:170: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:224: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:287: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:315: tunnel_ip: str /opt/wg-access/backend/app/api/admin.py:335: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:350: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backend/app/api/admin.py:394: tunnel_ip: str /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:29: tunnel_ip: str /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:63:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:78: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:88: tunnel_ip=tunnel_ip, /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:102: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:118: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backend/app/api/dev.py:14: next_tunnel_ip, /opt/wg-access/backend/app/api/dev.py:36: tunnel_ip: str /opt/wg-access/backend/app/api/dev.py:58: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backend/app/api/dev.py:62: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backend/app/api/dev.py:69: tunnel_ip=tunnel_ip, /opt/wg-access/backend/app/api/dev.py:83: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/dev.py:99: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:26: tunnel_ip: str /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:36:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:51: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:58: tunnel_ip=tunnel_ip, /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:72: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:88: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backend/app/api/agent.py:26: tunnel_ip: str /opt/wg-access/backend/app/api/admin.py.BEFORE_DISABLE_PEER.20260704-151253:61: tunnel_ip: str /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:81: sa.Column("tunnel_ip", sa.String(length=64), nullable=False), /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:86: sa.UniqueConstraint("node_id", "tunnel_ip", name="uq_peers_node_tunnel_ip"), /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:30: tunnel_ip: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:3:[2026-07-04T10:37:52.249864+00:00] DRY-RUN enable_peer peer_id=4b39aa87-4b59-4c71-950b-cf2dca3e606f tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:8:[2026-07-04T10:41:28.685370+00:00] DRY-RUN enable_peer peer_id=754b76bd-0e69-4184-ac0b-a9c5706dbf19 tunnel_ip=10.253.1.13 /opt/wg-access/agent/logs/agent.log:26:[2026-07-04T13:28:03.185952+00:00] REAL enable_peer peer_id=813515db-bf25-46c9-bc83-c9c45d51ba68 tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:30:[2026-07-04T13:47:56.597862+00:00] sync set peer tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:43:[2026-07-04T15:12:55.806757+00:00] sync keep peer tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:71:[2026-07-04T15:19:04.221203+00:00] sync set peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:90:[2026-07-04T15:19:05.670502+00:00] REAL enable_peer peer_id=13543224-39f7-4cfc-917d-66a16e2e0e55 tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:95:[2026-07-04T15:26:17.337783+00:00] sync keep peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:96:[2026-07-04T15:26:17.449846+00:00] sync set peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:123:[2026-07-04T15:26:17.798837+00:00] REAL enable_peer peer_id=1b19ed83-1cad-4d57-be9f-fded5270213c tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:127:[2026-07-04T15:35:53.401701+00:00] sync set peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:128:[2026-07-04T15:35:53.526725+00:00] sync set peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:146:[2026-07-04T15:56:30.380410+00:00] sync keep peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:147:[2026-07-04T15:56:30.380482+00:00] sync keep peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:148:[2026-07-04T15:56:30.487352+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:183:[2026-07-04T15:56:30.796545+00:00] REAL enable_peer peer_id=9298ec04-26cf-44a7-8079-7a13664612fa tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:221:[2026-07-04T16:01:58.111619+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:240:[2026-07-04T16:01:58.417633+00:00] REAL enable_peer peer_id=6a5f1655-8ebe-435e-bba6-1af2412d40c2 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:421:[2026-07-04T16:19:31.269641+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:440:[2026-07-04T16:19:32.520183+00:00] REAL enable_peer peer_id=267835b6-84b6-4527-bd47-eee963e7a5c9 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:445:[2026-07-04T16:20:06.820946+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:458:[2026-07-04T16:20:38.777684+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:474:[2026-07-04T16:21:13.812792+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:631:[2026-07-04T16:32:28.307404+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:650:[2026-07-04T16:32:28.640286+00:00] REAL enable_peer peer_id=00fde00e-a169-4397-841f-5cc99de475d5 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:740:[2026-07-04T16:39:14.578599+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:759:[2026-07-04T16:39:14.926534+00:00] REAL enable_peer peer_id=966f8262-b25c-4a13-ae1d-694b0378910a tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1304:[2026-07-04T17:22:51.537583+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1323:[2026-07-04T17:22:52.045863+00:00] REAL enable_peer peer_id=da134a09-caa8-4209-bbfa-93dd06f310fb tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1392:[2026-07-04T17:28:32.842466+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1411:[2026-07-04T17:28:33.263032+00:00] REAL enable_peer peer_id=486ee88e-2515-4203-8541-44f89cdaba89 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1893:[2026-07-04T18:08:08.906586+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1912:[2026-07-04T18:08:09.328847+00:00] REAL enable_peer peer_id=3460b486-358c-44d6-8f47-c960d6254e3a tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:2079:[2026-07-04T18:21:39.040225+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:2098:[2026-07-04T18:21:39.643218+00:00] REAL enable_peer peer_id=f45a349d-25a7-426d-b88a-4479b28aec18 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14081:[2026-07-05T10:30:52.663662+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14100:[2026-07-05T10:30:52.981466+00:00] REAL enable_peer peer_id=40b76a1d-e1ef-4a26-ac11-f39043a6a190 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14176:[2026-07-05T10:35:47.820638+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14195:[2026-07-05T10:35:48.172231+00:00] REAL enable_peer peer_id=28aefe9e-25b0-434a-aedc-a4df15609e98 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14229:[2026-07-05T10:37:17.278770+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14248:[2026-07-05T10:37:17.758833+00:00] REAL enable_peer peer_id=0f808400-74ad-437b-a716-c6389aa3f057 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35046:[2026-07-06T18:41:41.026994+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35065:[2026-07-06T18:41:41.537427+00:00] REAL enable_peer peer_id=3d03a7a2-c009-48a4-b6ff-214326d26fc0 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35085:[2026-07-08T12:17:00.406550+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35104:[2026-07-08T12:17:01.077810+00:00] REAL enable_peer peer_id=376dfa07-0ba4-4182-af39-389a2cb3badd tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35109:[2026-07-08T13:34:13.217559+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35125:[2026-07-08T13:42:58.037531+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35126:[2026-07-08T13:42:58.504952+00:00] sync set peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35159:[2026-07-08T13:43:00.171001+00:00] REAL enable_peer peer_id=cb533a1a-7070-416d-9272-846327545060 tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35165:[2026-07-08T14:03:52.649650+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35166:[2026-07-08T14:03:52.649707+00:00] sync keep peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35167:[2026-07-08T14:03:52.809937+00:00] sync set peer tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35214:[2026-07-08T14:03:53.412396+00:00] REAL enable_peer peer_id=a3cbe3b5-8416-4847-b5ee-21f42359b465 tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35221:[2026-07-08T15:05:41.795153+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35222:[2026-07-08T15:05:41.795210+00:00] sync keep peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35223:[2026-07-08T15:05:41.795263+00:00] sync keep peer tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35224:[2026-07-08T15:05:42.055366+00:00] sync set peer tunnel_ip=10.253.1.13 /opt/wg-access/agent/logs/agent.log:35285:[2026-07-08T15:05:42.776389+00:00] REAL enable_peer peer_id=219a1f63-ec47-4f72-9663-c1a17d82301e tunnel_ip=10.253.1.13 /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:110:def require_tunnel_ip(value): /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:113: raise RuntimeError("only IPv4 tunnel_ip is supported") /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:161: tunnel_ip = require_tunnel_ip(payload["tunnel_ip"]) /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:162: allowed_ips = f"{tunnel_ip}/32" /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:184: "tunnel_ip": tunnel_ip, /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:192: log(f"REAL enable_peer peer_id={peer_id} tunnel_ip={tunnel_ip}") /opt/wg-access/agent/state/active-peers.json:11: "tunnel_ip": "10.253.1.12", /opt/wg-access/agent/state/active-peers.json:22: "tunnel_ip": "10.253.1.13", /opt/wg-access/agent/state/active-peers.json:32: "tunnel_ip": "10.253.1.10", /opt/wg-access/agent/state/active-peers.json:42: "tunnel_ip": "10.253.1.11", /opt/wg-access/agent/wg_access_agent.py:110:def require_tunnel_ip(value): /opt/wg-access/agent/wg_access_agent.py:113: raise RuntimeError("only IPv4 tunnel_ip is supported") /opt/wg-access/agent/wg_access_agent.py:120: tunnel_ip = require_tunnel_ip(peer["tunnel_ip"]) /opt/wg-access/agent/wg_access_agent.py:127: "tunnel_ip": tunnel_ip, /opt/wg-access/agent/wg_access_agent.py:128: "allowed_ips": f"{tunnel_ip}/32", /opt/wg-access/agent/wg_access_agent.py:228: log(f"sync keep peer tunnel_ip={peer['tunnel_ip']}") /opt/wg-access/agent/wg_access_agent.py:232: log(f"sync set peer tunnel_ip={peer['tunnel_ip']}") /opt/wg-access/agent/wg_access_agent.py:248: "tunnel_ip": peer["tunnel_ip"], /opt/wg-access/agent/wg_access_agent.py:268: "tunnel_ip": payload["tunnel_ip"], /opt/wg-access/agent/wg_access_agent.py:281: "tunnel_ip": peer["tunnel_ip"], /opt/wg-access/agent/wg_access_agent.py:289: log(f"REAL enable_peer peer_id={peer_id} tunnel_ip={peer['tunnel_ip']}") /opt/wg-access/agent/wg_access_agent.py.BEFORE_REAL_SSH_WG_SET.20260704-132120:105: "tunnel_ip": payload["tunnel_ip"], /opt/wg-access/agent/wg_access_agent.py.BEFORE_REAL_SSH_WG_SET.20260704-132120:113: log(f"DRY-RUN enable_peer peer_id={peer_id} tunnel_ip={payload['tunnel_ip']}") /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:15: next_tunnel_ip, /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:67: tunnel_ip: str /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:97: tunnel_ip: str /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:126: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:129: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:136: tunnel_ip=tunnel_ip, /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:150: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:169: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:183: tunnel_ip: str /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:203: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:218: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:31: tunnel_ip: str /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:66:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:83: select(Peer.tunnel_ip).where( /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:102:def build_client_config(private_key: REDACTED, tunnel_ip: str, preshared_key: str) -> str: /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:116: f"Address = {tunnel_ip}/32", /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:143: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:147: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:154: tunnel_ip=tunnel_ip, /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:168: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:184: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:41:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:58: select(Peer.tunnel_ip).where( /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:77:def build_client_config(private_key: REDACTED, tunnel_ip: str, preshared_key: str) -> str: /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:91: f"Address = {tunnel_ip}/32", /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:61: tunnel_ip: str /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:81: tunnel_ip: str /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:101: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:116: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:31: tunnel_ip: str /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:66:def next_tunnel_ip(db: Session, node_id: str) -> str: /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:83: select(Peer.tunnel_ip).where( /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:102:def build_client_config(private_key: REDACTED, tunnel_ip: str, preshared_key: str) -> str: /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:116: f"Address = {tunnel_ip}/32", /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:143: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:147: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:154: tunnel_ip=tunnel_ip, /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:168: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:184: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:16: next_tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:68: tunnel_ip: str /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:98: tunnel_ip: str /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:127: tunnel_ip = next_tunnel_ip(db, payload.node_id) /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:130: client_config = build_client_config(private_key, tunnel_ip, preshared_key) /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:137: tunnel_ip=tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:151: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:170: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:184: tunnel_ip: str /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:204: "tunnel_ip": peer.tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:219: tunnel_ip=peer.tunnel_ip, /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:263: tunnel_ip: str /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:16: next_tunnel_ip, /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:68: tunnel_ip: str /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:98: tunnel_ip: str --- TERM: 10.253 --- /opt/wg-access/STATUS-STEP-013_WG_HANDSHAKE_VM121_TO_VM100_OK.txt:12: address: 10.253.1.14/32 /opt/wg-access/STATUS-STEP-013_WG_HANDSHAKE_VM121_TO_VM100_OK.txt:18: address: 10.253.1.1/24 /opt/wg-access/STATUS-STEP-013_WG_HANDSHAKE_VM121_TO_VM100_OK.txt:28: - ping 10.253.1.1 succeeded /opt/wg-access/.env:15:WG_CLIENT_POOL_CIDR=10.253.0.0/16 /opt/wg-access/.env:16:WG_CLIENT_FIRST_IP=10.253.1.10 /opt/wg-access/backend/app/services/wireguard.py:43: # - pool is /16 by default: 10.253.0.0/16 /opt/wg-access/backend/app/services/wireguard.py:44: # - client addresses start at 10.253.1.10 /opt/wg-access/backend/app/services/wireguard.py:47: pool_cidr = os.environ.get("WG_CLIENT_POOL_CIDR", "10.253.0.0/16").strip() /opt/wg-access/backend/app/services/wireguard.py:48: first_client_ip = os.environ.get("WG_CLIENT_FIRST_IP", "10.253.1.10").strip() /opt/wg-access/backend/app/services/wireguard.py:80: allowed_ips = os.environ.get("WG_CLIENT_ALLOWED_IPS", "10.253.1.1/32").strip() /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:64: # MVP-простота: 10.253.1.N, начиная с 10. /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:68: return f"10.253.1.{10 + count}" /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:37: # MVP-простота: 10.253.1.N, начиная с 10. /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:41: return f"10.253.1.{10 + count}" /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:17: WG_CLIENT_ALLOWED_IPS=10.253.1.1/32 /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:30: tunnel_ip: 10.253.1.15/32 /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:42: allowed ips: 10.253.1.15/32 /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:46: one enabled real test peer remains active: 10.253.1.15/32 /opt/wg-access/STATUS-STEP-010_AGENT_SSH_TO_VM100_OK.txt:24: address: 10.253.1.1/24 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:45: address: 10.253.1.1/16 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:46: route: 10.253.0.0/16 dev wg_paid /opt/wg-access/STATUS-STEP-011_MANUAL_WG_SET_VM100_OK.txt:20: allowed ips: 10.253.1.50/32 /opt/wg-access/agent/logs/agent.log:3:[2026-07-04T10:37:52.249864+00:00] DRY-RUN enable_peer peer_id=4b39aa87-4b59-4c71-950b-cf2dca3e606f tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:8:[2026-07-04T10:41:28.685370+00:00] DRY-RUN enable_peer peer_id=754b76bd-0e69-4184-ac0b-a9c5706dbf19 tunnel_ip=10.253.1.13 /opt/wg-access/agent/logs/agent.log:25: allowed ips: 10.253.1.14/32 /opt/wg-access/agent/logs/agent.log:26:[2026-07-04T13:28:03.185952+00:00] REAL enable_peer peer_id=813515db-bf25-46c9-bc83-c9c45d51ba68 tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:30:[2026-07-04T13:47:56.597862+00:00] sync set peer tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:38: allowed ips: 10.253.1.14/32 /opt/wg-access/agent/logs/agent.log:41:[2026-07-04T15:12:55.806538+00:00] remote stdout: TdYIwRgGjStiQW1gyZjgsaPP+/6WE1U0NcmK0eVEVXM= 10.253.1.14/32 /opt/wg-access/agent/logs/agent.log:43:[2026-07-04T15:12:55.806757+00:00] sync keep peer tunnel_ip=10.253.1.14 /opt/wg-access/agent/logs/agent.log:51: allowed ips: 10.253.1.14/32 /opt/wg-access/agent/logs/agent.log:54:[2026-07-04T15:13:42.495341+00:00] remote stdout: TdYIwRgGjStiQW1gyZjgsaPP+/6WE1U0NcmK0eVEVXM= 10.253.1.14/32 /opt/wg-access/agent/logs/agent.log:71:[2026-07-04T15:19:04.221203+00:00] sync set peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:79: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:89: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:90:[2026-07-04T15:19:05.670502+00:00] REAL enable_peer peer_id=13543224-39f7-4cfc-917d-66a16e2e0e55 tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:93:[2026-07-04T15:26:17.337590+00:00] remote stdout: cMqUn9gKKZo0oh7vNotjs7s/UtuKVbl081arn6BPKik= 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:95:[2026-07-04T15:26:17.337783+00:00] sync keep peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:96:[2026-07-04T15:26:17.449846+00:00] sync set peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:104: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:108: allowed ips: 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:118: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:122: allowed ips: 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:123:[2026-07-04T15:26:17.798837+00:00] REAL enable_peer peer_id=1b19ed83-1cad-4d57-be9f-fded5270213c tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:127:[2026-07-04T15:35:53.401701+00:00] sync set peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:128:[2026-07-04T15:35:53.526725+00:00] sync set peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:136: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:140: allowed ips: 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:143:[2026-07-04T15:56:30.380215+00:00] remote stdout: cMqUn9gKKZo0oh7vNotjs7s/UtuKVbl081arn6BPKik= 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:144:mh6GsB55dOEZZCxiWy5PHGxcNSRcBLLNAUfgq4NV3jg= 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:146:[2026-07-04T15:56:30.380410+00:00] sync keep peer tunnel_ip=10.253.1.15 /opt/wg-access/agent/logs/agent.log:147:[2026-07-04T15:56:30.380482+00:00] sync keep peer tunnel_ip=10.253.1.16 /opt/wg-access/agent/logs/agent.log:148:[2026-07-04T15:56:30.487352+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:156: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:160: allowed ips: 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:164: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:174: allowed ips: 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:178: allowed ips: 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:182: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:183:[2026-07-04T15:56:30.796545+00:00] REAL enable_peer peer_id=9298ec04-26cf-44a7-8079-7a13664612fa tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:186:[2026-07-04T15:58:57.477394+00:00] remote stdout: cMqUn9gKKZo0oh7vNotjs7s/UtuKVbl081arn6BPKik= 10.253.1.15/32 /opt/wg-access/agent/logs/agent.log:187:mh6GsB55dOEZZCxiWy5PHGxcNSRcBLLNAUfgq4NV3jg= 10.253.1.16/32 /opt/wg-access/agent/logs/agent.log:188:CJMx+fPoiz5TUmUHKF7JcKo9IrxBZZMEDk7aS/Temwk= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:221:[2026-07-04T16:01:58.111619+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:229: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:239: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:240:[2026-07-04T16:01:58.417633+00:00] REAL enable_peer peer_id=6a5f1655-8ebe-435e-bba6-1af2412d40c2 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:243:[2026-07-04T16:02:01.995042+00:00] remote stdout: TuuRNB7urYUrpRq9gHqqMlqWfte0jSJooLXjZIIYKjs= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:421:[2026-07-04T16:19:31.269641+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:429: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:439: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:440:[2026-07-04T16:19:32.520183+00:00] REAL enable_peer peer_id=267835b6-84b6-4527-bd47-eee963e7a5c9 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:443:[2026-07-04T16:20:06.820794+00:00] remote stdout: gXUwVRUraYFaUDv1BJ6GdxbZi6IoliYNBUe8wYRNERU= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:445:[2026-07-04T16:20:06.820946+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:453: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:456:[2026-07-04T16:20:38.777532+00:00] remote stdout: gXUwVRUraYFaUDv1BJ6GdxbZi6IoliYNBUe8wYRNERU= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:458:[2026-07-04T16:20:38.777684+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:467: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:472:[2026-07-04T16:21:13.812617+00:00] remote stdout: gXUwVRUraYFaUDv1BJ6GdxbZi6IoliYNBUe8wYRNERU= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:474:[2026-07-04T16:21:13.812792+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:483: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:488:[2026-07-04T16:21:45.347382+00:00] remote stdout: gXUwVRUraYFaUDv1BJ6GdxbZi6IoliYNBUe8wYRNERU= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:631:[2026-07-04T16:32:28.307404+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:639: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:649: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:650:[2026-07-04T16:32:28.640286+00:00] REAL enable_peer peer_id=00fde00e-a169-4397-841f-5cc99de475d5 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:653:[2026-07-04T16:33:03.779808+00:00] remote stdout: H+yLpZTzxVq4o9RSD6b70hu6JTIY5WkH6Tx74qP1dwM= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:740:[2026-07-04T16:39:14.578599+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:748: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:758: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:759:[2026-07-04T16:39:14.926534+00:00] REAL enable_peer peer_id=966f8262-b25c-4a13-ae1d-694b0378910a tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:762:[2026-07-04T16:39:48.773017+00:00] remote stdout: lAQxl4ykPcSpXxFNfz+pGS5Pn+im/uXlVmc+fd3UPB8= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1304:[2026-07-04T17:22:51.537583+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1312: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1322: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1323:[2026-07-04T17:22:52.045863+00:00] REAL enable_peer peer_id=da134a09-caa8-4209-bbfa-93dd06f310fb tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1326:[2026-07-04T17:23:26.778974+00:00] remote stdout: OtlMSSUslhQufF939tNN3quNVY0Y+bqmfyohE1K6sBE= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1392:[2026-07-04T17:28:32.842466+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1400: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1410: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1411:[2026-07-04T17:28:33.263032+00:00] REAL enable_peer peer_id=486ee88e-2515-4203-8541-44f89cdaba89 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1414:[2026-07-04T17:29:07.824709+00:00] remote stdout: WkjrGK7JKsYkhzFz5Bggunzlw5BNY+WxkcYp4D7IulA= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1893:[2026-07-04T18:08:08.906586+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1901: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1911: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:1912:[2026-07-04T18:08:09.328847+00:00] REAL enable_peer peer_id=3460b486-358c-44d6-8f47-c960d6254e3a tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:1915:[2026-07-04T18:08:41.630739+00:00] remote stdout: dYuBNktWxl/PIqV49T9BIiHIvP4ZumswWZIEFD/Cwxg= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:2079:[2026-07-04T18:21:39.040225+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:2087: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:2097: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:2098:[2026-07-04T18:21:39.643218+00:00] REAL enable_peer peer_id=f45a349d-25a7-426d-b88a-4479b28aec18 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:2101:[2026-07-04T18:22:11.870542+00:00] remote stdout: 239TtHnxaJefv7kKJeNOVjW6YLchjRcTdctI3nJrAXE= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14081:[2026-07-05T10:30:52.663662+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14089: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14099: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14100:[2026-07-05T10:30:52.981466+00:00] REAL enable_peer peer_id=40b76a1d-e1ef-4a26-ac11-f39043a6a190 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14103:[2026-07-05T10:30:53.550296+00:00] remote stdout: 7unzXkfaw3lD0tiSVT9UlMWesbD2OrzuT/CwLc10klE= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14176:[2026-07-05T10:35:47.820638+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14184: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14194: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14195:[2026-07-05T10:35:48.172231+00:00] REAL enable_peer peer_id=28aefe9e-25b0-434a-aedc-a4df15609e98 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14198:[2026-07-05T10:35:48.749934+00:00] remote stdout: 4U6GMvepAeuuXDaGryZQ9RSeomQfBCBbuKRdvNqbIQw= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14229:[2026-07-05T10:37:17.278770+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14237: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14247: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:14248:[2026-07-05T10:37:17.758833+00:00] REAL enable_peer peer_id=0f808400-74ad-437b-a716-c6389aa3f057 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:14251:[2026-07-05T10:37:18.701886+00:00] remote stdout: Y9RXkNshIhljMAjSX9nyGZQLephRVV0TfIZfMhFn6R0= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35046:[2026-07-06T18:41:41.026994+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35054: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35064: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35065:[2026-07-06T18:41:41.537427+00:00] REAL enable_peer peer_id=3d03a7a2-c009-48a4-b6ff-214326d26fc0 tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35068:[2026-07-06T18:48:38.196290+00:00] remote stdout: zUUEdc+Lac9C6fmMDVosuO3ZIYHIUDWi34UVgdjhbCU= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35085:[2026-07-08T12:17:00.406550+00:00] sync set peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35093: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35103: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35104:[2026-07-08T12:17:01.077810+00:00] REAL enable_peer peer_id=376dfa07-0ba4-4182-af39-389a2cb3badd tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35107:[2026-07-08T13:34:13.217400+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35109:[2026-07-08T13:34:13.217559+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35118: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35123:[2026-07-08T13:42:58.037365+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35125:[2026-07-08T13:42:58.037531+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35126:[2026-07-08T13:42:58.504952+00:00] sync set peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35135: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35141: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35152: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35158: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35159:[2026-07-08T13:43:00.171001+00:00] REAL enable_peer peer_id=cb533a1a-7070-416d-9272-846327545060 tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35162:[2026-07-08T14:03:52.649495+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35163:zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw= 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35165:[2026-07-08T14:03:52.649650+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35166:[2026-07-08T14:03:52.649707+00:00] sync keep peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35167:[2026-07-08T14:03:52.809937+00:00] sync set peer tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35176: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35183: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35189: allowed ips: 10.253.1.12/32 /opt/wg-access/agent/logs/agent.log:35200: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35207: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35213: allowed ips: 10.253.1.12/32 /opt/wg-access/agent/logs/agent.log:35214:[2026-07-08T14:03:53.412396+00:00] REAL enable_peer peer_id=a3cbe3b5-8416-4847-b5ee-21f42359b465 tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35217:[2026-07-08T15:05:41.794997+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI= 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35218:zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw= 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35219:HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw= 10.253.1.12/32 /opt/wg-access/agent/logs/agent.log:35221:[2026-07-08T15:05:41.795153+00:00] sync keep peer tunnel_ip=10.253.1.10 /opt/wg-access/agent/logs/agent.log:35222:[2026-07-08T15:05:41.795210+00:00] sync keep peer tunnel_ip=10.253.1.11 /opt/wg-access/agent/logs/agent.log:35223:[2026-07-08T15:05:41.795263+00:00] sync keep peer tunnel_ip=10.253.1.12 /opt/wg-access/agent/logs/agent.log:35224:[2026-07-08T15:05:42.055366+00:00] sync set peer tunnel_ip=10.253.1.13 /opt/wg-access/agent/logs/agent.log:35233: allowed ips: 10.253.1.12/32 /opt/wg-access/agent/logs/agent.log:35240: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35247: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35253: allowed ips: 10.253.1.13/32 /opt/wg-access/agent/logs/agent.log:35264: allowed ips: 10.253.1.12/32 /opt/wg-access/agent/logs/agent.log:35271: allowed ips: 10.253.1.11/32 /opt/wg-access/agent/logs/agent.log:35278: allowed ips: 10.253.1.10/32 /opt/wg-access/agent/logs/agent.log:35284: allowed ips: 10.253.1.13/32 /opt/wg-access/agent/logs/agent.log:35285:[2026-07-08T15:05:42.776389+00:00] REAL enable_peer peer_id=219a1f63-ec47-4f72-9663-c1a17d82301e tunnel_ip=10.253.1.13 /opt/wg-access/agent/state/active-peers.json:11: "tunnel_ip": "10.253.1.12", /opt/wg-access/agent/state/active-peers.json:22: "tunnel_ip": "10.253.1.13", /opt/wg-access/agent/state/active-peers.json:32: "tunnel_ip": "10.253.1.10", /opt/wg-access/agent/state/active-peers.json:42: "tunnel_ip": "10.253.1.11", /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:68: # - pool is /16 by default: 10.253.0.0/16 --- TERM: IPv4Network --- --- TERM: ipaddress --- /opt/wg-access/backend/app/services/wireguard.py:2:import ipaddress /opt/wg-access/backend/app/services/wireguard.py:50: pool = ipaddress.ip_network(pool_cidr, strict=False) /opt/wg-access/backend/app/services/wireguard.py:51: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:3:import ipaddress /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:111: ip = ipaddress.ip_address(str(value)) /opt/wg-access/agent/wg_access_agent.py:3:import ipaddress /opt/wg-access/agent/wg_access_agent.py:111: ip = ipaddress.ip_address(str(value)) /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:4:import ipaddress /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:75: pool = ipaddress.ip_network(pool_cidr, strict=False) /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:76: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:2:import ipaddress /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:50: pool = ipaddress.ip_network(pool_cidr, strict=False) /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:51: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:4:import ipaddress /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:75: pool = ipaddress.ip_network(pool_cidr, strict=False) /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:76: first_ip = ipaddress.ip_address(first_client_ip) /usr/local/sbin/wg-access-agent-selector-contract-dry-run.py:3:import ipaddress /usr/local/sbin/wg-access-agent-selector-contract-dry-run.py:67: ipaddress.ip_address(tunnel_ip) /usr/local/sbin/wg-access-agent-selector-apply.py:3:import ipaddress /usr/local/sbin/wg-access-agent-selector-apply.py:57: ipaddress.ip_address(tunnel_ip) --- TERM: first --- /opt/wg-access/.env:16:WG_CLIENT_FIRST_IP=10.253.1.10 /opt/wg-access/backend/app/services/wireguard.py:48: first_client_ip = os.environ.get("WG_CLIENT_FIRST_IP", "10.253.1.10").strip() /opt/wg-access/backend/app/services/wireguard.py:51: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backend/app/services/wireguard.py:53: if first_ip not in pool: /opt/wg-access/backend/app/services/wireguard.py:54: raise RuntimeError(f"WG_CLIENT_FIRST_IP {first_client_ip} is outside {pool_cidr}") /opt/wg-access/backend/app/services/wireguard.py:65: current = first_ip /opt/wg-access/backend/app/api/admin.py:506: ).scalars().first() /opt/wg-access/agent/wg_access_agent.py:318: # Reconciliation first: VM100 wg_paid runtime state must match backend enabled peers. /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:73: first_client_ip = os.environ.get("WG_CLIENT_FIRST_IP", "10.253.1.10").strip() /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:76: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:78: if first_ip not in pool: /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:79: raise RuntimeError(f"WG_CLIENT_FIRST_IP {first_client_ip} is outside {pool_cidr}") /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:90: current = first_ip /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:48: first_client_ip = os.environ.get("WG_CLIENT_FIRST_IP", "10.253.1.10").strip() /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:51: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:53: if first_ip not in pool: /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:54: raise RuntimeError(f"WG_CLIENT_FIRST_IP {first_client_ip} is outside {pool_cidr}") /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:65: current = first_ip /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:73: first_client_ip = os.environ.get("WG_CLIENT_FIRST_IP", "10.253.1.10").strip() /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:76: first_ip = ipaddress.ip_address(first_client_ip) /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:78: if first_ip not in pool: /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:79: raise RuntimeError(f"WG_CLIENT_FIRST_IP {first_client_ip} is outside {pool_cidr}") /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:90: current = first_ip /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:375: ).scalars().first() /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:441: ).scalars().first() /opt/wg-access/STATUS-STEP-021C_ADMIN_SUBSCRIPTION_FLOW_OK.txt:86: /admin/subscriptions is ready as first non-dev manual subscription creation endpoint. /opt/wg-access/.env.BEFORE_MGTS_CLIENTCFG_20260706-185027:16:WG_CLIENT_FIRST_IP=10.253.1.10 /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:72:Next session first step: /opt/wg-access/STATUS-STEP-018_POOL_16_AND_REUSE_ALLOCATOR_OK.txt:35: to first-free-IP allocation. /opt/wg-access/STATUS-STEP-018_POOL_16_AND_REUSE_ALLOCATOR_OK.txt:39: WG_CLIENT_FIRST_IP=10.253.1.10 /opt/wg-access/.env.BEFORE_MGTS_CLIENTCFG_20260706-185140:16:WG_CLIENT_FIRST_IP=10.253.1.10 /usr/local/sbin/wg-access-slot-allocator-dry-run.py:81: if strategy == "first_free_ordered": /usr/local/sbin/wg-access-slot-allocator-dry-run.py:112: ap.add_argument("--strategy", default="first_free_ordered") /root/router-ops-backups/STEP_039C_SLOT_ALLOCATOR_DRY_RUN_20260708-150225/allocation-first-free.json:49: "strategy": "first_free_ordered", /root/router-ops-backups/STEP_039C_SLOT_ALLOCATOR_DRY_RUN_20260708-150225/allocation-first-free.env:3:allocation_strategy=first_free_ordered /root/router-ops-backups/wg-client-endpoint-source-backup-20260708-115314/opt__wg-access__.env.before:16:WG_CLIENT_FIRST_IP=10.253.1.10 --- TERM: free --- /opt/wg-access/backend/app/services/wireguard.py:74: raise RuntimeError(f"No free tunnel IPs left in pool {pool_cidr}") /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:99: raise RuntimeError(f"No free tunnel IPs left in pool {pool_cidr}") /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:74: raise RuntimeError(f"No free tunnel IPs left in pool {pool_cidr}") /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:99: raise RuntimeError(f"No free tunnel IPs left in pool {pool_cidr}") /opt/wg-access/STATUS-STEP-018_POOL_16_AND_REUSE_ALLOCATOR_OK.txt:35: to first-free-IP allocation. /usr/local/sbin/wg-access-slot-allocator-dry-run.py:81: if strategy == "first_free_ordered": /usr/local/sbin/wg-access-slot-allocator-dry-run.py:112: ap.add_argument("--strategy", default="first_free_ordered") /root/router-ops-backups/STEP_039C_SLOT_ALLOCATOR_DRY_RUN_20260708-150225/allocation-first-free.json:49: "strategy": "first_free_ordered", /root/router-ops-backups/STEP_039C_SLOT_ALLOCATOR_DRY_RUN_20260708-150225/allocation-first-free.env:3:allocation_strategy=first_free_ordered --- TERM: enabled --- /opt/wg-access/STATUS-STEP-013_WG_HANDSHAKE_VM121_TO_VM100_OK.txt:36: - agent reconciliation/sync of enabled peers from backend to VM100 /opt/wg-access/backend/app/models/core.py:85: # uq_peers_node_tunnel_ip_enabled (node_id, tunnel_ip) WHERE enabled = true, /opt/wg-access/backend/app/models/core.py:97: enabled: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False, index=True) /opt/wg-access/backend/app/services/wireguard.py:45: # - only enabled peers reserve addresses /opt/wg-access/backend/app/services/wireguard.py:60: Peer.enabled.is_(True), /opt/wg-access/backend/app/api/admin.py:70: enabled: bool /opt/wg-access/backend/app/api/admin.py:139: enabled=True, /opt/wg-access/backend/app/api/admin.py:206: enabled_peers = db.execute( /opt/wg-access/backend/app/api/admin.py:209: .where(Peer.enabled == True) # noqa: E712 /opt/wg-access/backend/app/api/admin.py:213: for peer in enabled_peers: /opt/wg-access/backend/app/api/admin.py:214: peer.enabled = False /opt/wg-access/backend/app/api/admin.py:263: # cancel subscription once, then disable any currently enabled peers for this user. /opt/wg-access/backend/app/api/admin.py:269: enabled_peers = db.execute( /opt/wg-access/backend/app/api/admin.py:272: .where(Peer.enabled == True) # noqa: E712 /opt/wg-access/backend/app/api/admin.py:277: for peer in enabled_peers: /opt/wg-access/backend/app/api/admin.py:278: peer.enabled = False /opt/wg-access/backend/app/api/admin.py:305: disabled_peer_count=len(enabled_peers), /opt/wg-access/backend/app/api/admin.py:316: enabled: bool /opt/wg-access/backend/app/api/admin.py:326: peer.enabled = False /opt/wg-access/backend/app/api/admin.py:351: enabled=peer.enabled, /opt/wg-access/backend/app/api/admin.py:396: enabled: bool /opt/wg-access/backend/app/api/admin.py:424: enabled_peers_count: int /opt/wg-access/backend/app/api/admin.py:459: enabled_peers_count=len([p for p in peers if p.enabled]), /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:90: enabled=True, /opt/wg-access/backend/app/api/dev.py:71: enabled=True, /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:60: enabled=True, /opt/wg-access/backend/app/api/agent.py:28: enabled: bool /opt/wg-access/backend/app/api/agent.py:35:def get_enabled_peers( /opt/wg-access/backend/app/api/agent.py:43: .where(Peer.enabled == True) /opt/wg-access/backend/app/api/admin.py.BEFORE_DISABLE_PEER.20260704-151253:63: enabled: bool /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:83: sa.Column("enabled", sa.Boolean(), nullable=False), /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:90: op.create_index("ix_peers_enabled", "peers", ["enabled"]) /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:46: one enabled real test peer remains active: 10.253.1.15/32 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:37: sync desired enabled peers: 0 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:42: Backend enabled peers count: 0 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:50: wg-access-agent.timer is enabled and active. /opt/wg-access/agent/logs/agent.log:28:[2026-07-04T13:47:56.360799+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:40:[2026-07-04T15:12:54.576715+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:53:[2026-07-04T15:13:42.063808+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:69:[2026-07-04T15:19:03.615898+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:92:[2026-07-04T15:26:17.199390+00:00] sync desired enabled peers: 2 /opt/wg-access/agent/logs/agent.log:125:[2026-07-04T15:35:52.741243+00:00] sync desired enabled peers: 2 /opt/wg-access/agent/logs/agent.log:142:[2026-07-04T15:56:30.286651+00:00] sync desired enabled peers: 3 /opt/wg-access/agent/logs/agent.log:185:[2026-07-04T15:58:57.370294+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:219:[2026-07-04T16:01:57.846873+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:242:[2026-07-04T16:02:01.901657+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:258:[2026-07-04T16:05:36.732089+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:265:[2026-07-04T16:06:57.680005+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:272:[2026-07-04T16:07:28.675320+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:279:[2026-07-04T16:08:03.679821+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:286:[2026-07-04T16:08:38.671674+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:293:[2026-07-04T16:09:13.676624+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:300:[2026-07-04T16:09:48.679888+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:307:[2026-07-04T16:10:23.675518+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:314:[2026-07-04T16:10:55.127701+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:321:[2026-07-04T16:11:28.675554+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:328:[2026-07-04T16:12:02.903849+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:335:[2026-07-04T16:12:37.675761+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:342:[2026-07-04T16:13:08.684165+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:349:[2026-07-04T16:13:44.684277+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:356:[2026-07-04T16:14:23.675698+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:363:[2026-07-04T16:14:58.679925+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:370:[2026-07-04T16:15:33.679662+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:377:[2026-07-04T16:16:08.679758+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:384:[2026-07-04T16:16:43.679898+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:391:[2026-07-04T16:17:18.679467+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:398:[2026-07-04T16:17:53.675716+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:405:[2026-07-04T16:18:25.215448+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:412:[2026-07-04T16:18:58.675465+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:419:[2026-07-04T16:19:30.272499+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:442:[2026-07-04T16:20:06.676247+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:455:[2026-07-04T16:20:38.679873+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:471:[2026-07-04T16:21:13.680087+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:487:[2026-07-04T16:21:45.192228+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:503:[2026-07-04T16:22:18.679626+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:510:[2026-07-04T16:22:53.671427+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:517:[2026-07-04T16:23:28.675921+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:524:[2026-07-04T16:24:03.676553+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:531:[2026-07-04T16:24:38.679845+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:538:[2026-07-04T16:25:10.300361+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:545:[2026-07-04T16:25:44.675800+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:552:[2026-07-04T16:26:18.679808+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:559:[2026-07-04T16:26:53.675737+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:566:[2026-07-04T16:27:25.339471+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:573:[2026-07-04T16:27:58.675749+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:580:[2026-07-04T16:28:33.679935+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:587:[2026-07-04T16:29:08.675622+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:594:[2026-07-04T16:29:40.407759+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:601:[2026-07-04T16:30:15.683005+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:608:[2026-07-04T16:30:48.676016+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:615:[2026-07-04T16:31:23.675496+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:622:[2026-07-04T16:31:55.387929+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:629:[2026-07-04T16:32:28.044495+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:652:[2026-07-04T16:33:03.675512+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:668:[2026-07-04T16:33:38.675595+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:675:[2026-07-04T16:34:10.415557+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:682:[2026-07-04T16:34:45.676143+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:689:[2026-07-04T16:35:18.683338+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:696:[2026-07-04T16:35:53.675621+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:703:[2026-07-04T16:36:25.431630+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:710:[2026-07-04T16:36:59.409515+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:717:[2026-07-04T16:37:34.682785+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:724:[2026-07-04T16:38:08.684072+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:731:[2026-07-04T16:38:40.460222+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:738:[2026-07-04T16:39:14.343635+00:00] sync desired enabled peers: 1 /opt/wg-access/agent/logs/agent.log:761:[2026-07-04T16:39:48.675930+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:777:[2026-07-04T16:40:23.680821+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:784:[2026-07-04T16:40:55.496165+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:791:[2026-07-04T16:41:28.687816+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:798:[2026-07-04T16:42:03.680271+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:805:[2026-07-04T16:42:38.675998+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:812:[2026-07-04T16:43:14.675779+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:819:[2026-07-04T16:43:47.788682+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:826:[2026-07-04T16:44:18.675593+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:833:[2026-07-04T16:44:52.803677+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:840:[2026-07-04T16:45:25.540261+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:847:[2026-07-04T16:45:58.675901+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:854:[2026-07-04T16:46:33.681530+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:861:[2026-07-04T16:47:08.676700+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:868:[2026-07-04T16:47:40.579475+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:875:[2026-07-04T16:48:15.676028+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:882:[2026-07-04T16:48:48.676016+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:889:[2026-07-04T16:49:23.691638+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:896:[2026-07-04T16:49:55.595532+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:903:[2026-07-04T16:50:28.676435+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:910:[2026-07-04T16:51:03.679456+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:917:[2026-07-04T16:51:38.675645+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:924:[2026-07-04T16:52:10.619784+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:931:[2026-07-04T16:52:45.679440+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:938:[2026-07-04T16:53:18.675676+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:945:[2026-07-04T16:53:53.676212+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:952:[2026-07-04T16:54:25.655468+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:959:[2026-07-04T16:54:58.679676+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:966:[2026-07-04T16:55:33.675504+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:973:[2026-07-04T16:56:08.676195+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:980:[2026-07-04T16:56:40.671897+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:987:[2026-07-04T16:57:15.675834+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:994:[2026-07-04T16:57:48.676548+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1001:[2026-07-04T16:58:23.677023+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1008:[2026-07-04T16:58:55.699893+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1015:[2026-07-04T16:59:28.675710+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1022:[2026-07-04T17:00:03.676011+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1029:[2026-07-04T17:00:38.676069+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1036:[2026-07-04T17:01:10.740036+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1043:[2026-07-04T17:01:45.675924+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1050:[2026-07-04T17:02:18.687365+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1057:[2026-07-04T17:02:54.676059+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1064:[2026-07-04T17:03:25.751414+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1071:[2026-07-04T17:03:58.679476+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1078:[2026-07-04T17:04:33.675617+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1085:[2026-07-04T17:05:08.679897+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1092:[2026-07-04T17:05:40.780037+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1099:[2026-07-04T17:06:15.679658+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1106:[2026-07-04T17:06:48.679799+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1113:[2026-07-04T17:07:23.679935+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1120:[2026-07-04T17:07:55.808197+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1127:[2026-07-04T17:08:28.675460+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1134:[2026-07-04T17:09:02.999906+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1141:[2026-07-04T17:09:37.679859+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1148:[2026-07-04T17:10:10.839745+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1155:[2026-07-04T17:10:45.679693+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1162:[2026-07-04T17:11:18.675989+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1169:[2026-07-04T17:11:55.676296+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1176:[2026-07-04T17:12:28.675808+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1183:[2026-07-04T17:13:07.515741+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1190:[2026-07-04T17:13:43.679590+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1197:[2026-07-04T17:14:18.675799+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1204:[2026-07-04T17:14:53.676226+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1211:[2026-07-04T17:15:25.899994+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1218:[2026-07-04T17:15:58.675794+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1225:[2026-07-04T17:16:34.675588+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1232:[2026-07-04T17:17:08.676258+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1239:[2026-07-04T17:17:40.931258+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1246:[2026-07-04T17:18:15.675483+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1253:[2026-07-04T17:18:48.684017+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1260:[2026-07-04T17:19:24.683651+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1267:[2026-07-04T17:19:58.675871+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1274:[2026-07-04T17:20:33.679522+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1281:[2026-07-04T17:21:08.675514+00:00] sync desired enabled peers: 0 /opt/wg-access/agent/logs/agent.log:1288:[2026-07-04T17:21:43.675589+00:00] sync desired enabled peers: 0 --- TERM: disabled_at --- /opt/wg-access/backend/app/models/core.py:100: disabled_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True) /opt/wg-access/backend/app/api/admin.py:215: peer.disabled_at = now /opt/wg-access/backend/app/api/admin.py:279: peer.disabled_at = now /opt/wg-access/backend/app/api/admin.py:327: peer.disabled_at = datetime.now(timezone.utc) /opt/wg-access/backend/app/api/admin.py:398: disabled_at: datetime | None /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:85: sa.Column("disabled_at", sa.DateTime(timezone=True), nullable=True), /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:195: peer.disabled_at = datetime.now(timezone.utc) /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:93: peer.disabled_at = datetime.now(timezone.utc) /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:196: peer.disabled_at = datetime.now(timezone.utc) /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:267: disabled_at: datetime | None /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:214: peer.disabled_at = now /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:262: peer.disabled_at = datetime.now(timezone.utc) /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:333: disabled_at: datetime | None /opt/wg-access/backups/step018b/peers.20260704-155255.sql:39: disabled_at timestamp with time zone /opt/wg-access/backups/step018b/peers.20260704-155255.sql:49:COPY public.peers (id, user_id, node_id, public_key, preshared_key, tunnel_ip, paid_until, enabled, created_at, disabled_at) FROM stdin; /opt/wg-access/backups/step018b/core.py.20260704-155437.bak:99: disabled_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True) /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:24: peer.disabled_at = now /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:85: disabled_at set /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:23: peer.disabled_at = now /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:84: disabled_at set /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:14: - sets Peer.disabled_at /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/openapi.json:1:{"openapi":"3.1.0","info":{"title":"WG Access Backend","version":"0.0.3"},"paths":{"/admin/invites":{"get":{"tags":["admin"],"summary":"List Invites","operationId":"list_invites_admin_invites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteResponse"},"type":"array","title":"Response List Invites Admin Invites Get"}}}}}},"post":{"tags":["admin"],"summary":"Create Invite","operationId":"create_invite_admin_invites_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers":{"get":{"tags":["admin"],"summary":"List Peers","operationId":"list_peers_admin_peers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PeerResponse"},"type":"array","title":"Response List Peers Admin Peers Get"}}}}}}},"/admin/subscriptions":{"post":{"tags":["admin"],"summary":"Create Subscription","operationId":"create_subscription_admin_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/maintenance/expire-subscriptions":{"post":{"tags":["admin"],"summary":"Expire Subscriptions","operationId":"expire_subscriptions_admin_maintenance_expire_subscriptions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpireSubscriptionsResponse"}}}}}}},"/admin/subscriptions/{subscription_id}/cancel":{"post":{"tags":["admin"],"summary":"Cancel Subscription","operationId":"cancel_subscription_admin_subscriptions__subscription_id__cancel_post","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers/{peer_id}/disable":{"post":{"tags":["admin"],"summary":"Disable Peer","operationId":"disable_peer_admin_peers__peer_id__disable_post","parameters":[{"name":"peer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Peer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisablePeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/jobs":{"get":{"tags":["admin"],"summary":"List Jobs","operationId":"list_jobs_admin_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobResponse"},"type":"array","title":"Response List Jobs Admin Jobs Get"}}}}}}},"/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminUserSummaryResponse"},"type":"array","title":"Response List Users Admin Users Get"}}}}}}},"/admin/users/by-email/{email}":{"get":{"tags":["admin"],"summary":"Get User By Email","operationId":"get_user_by_email_admin_users_by_email__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"Get User","operationId":"get_user_admin_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dev/create-test-peer":{"post":{"tags":["dev"],"summary":"Create Test Peer","operationId":"create_test_peer_dev_create_test_peer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/peers":{"get":{"tags":["agent"],"summary":"Get Enabled Peers","operationId":"get_enabled_peers_agent_peers_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPeerResponse"},"title":"Response Get Enabled Peers Agent Peers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs":{"get":{"tags":["agent"],"summary":"Get Pending Jobs","operationId":"get_pending_jobs_agent_jobs_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentJobResponse"},"title":"Response Get Pending Jobs Agent Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/start":{"post":{"tags":["agent"],"summary":"Start Job","operationId":"start_job_agent_jobs__job_id__start_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/complete":{"post":{"tags":["agent"],"summary":"Complete Job","operationId":"complete_job_agent_jobs__job_id__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/fail":{"post":{"tags":["agent"],"summary":"Fail Job","operationId":"fail_job_agent_jobs__job_id__fail_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/db":{"get":{"summary":"Health Db","operationId":"health_db_health_db_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AdminSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"plan_code":{"type":"string","title":"Plan Code"},"auto_renew":{"type":"boolean","title":"Auto Renew"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"}},"type":"object","required":["id","user_id","status","plan_code","auto_renew","paid_until","created_at","canceled_at"],"title":"AdminSubscriptionResponse"},"AdminUserDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions":{"items":{"$ref":"#/components/schemas/AdminSubscriptionResponse"},"type":"array","title":"Subscriptions"},"peers":{"items":{"$ref":"#/components/schemas/AdminUserPeerResponse"},"type":"array","title":"Peers"},"jobs":{"items":{"$ref":"#/components/schemas/AdminUserJobResponse"},"type":"array","title":"Jobs"}},"type":"object","required":["id","email","created_at","subscriptions","peers","jobs"],"title":"AdminUserDetailResponse"},"AdminUserJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","peer_id","status","attempts","created_at","last_error"],"title":"AdminUserJobResponse"},"AdminUserPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at","disabled_at"],"title":"AdminUserPeerResponse"},"AdminUserSummaryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions_count":{"type":"integer","title":"Subscriptions Count"},"peers_count":{"type":"integer","title":"Peers Count"},"enabled_peers_count":{"type":"integer","title":"Enabled Peers Count"}},"type":"object","required":["id","email","created_at","subscriptions_count","peers_count","enabled_peers_count"],"title":"AdminUserSummaryResponse"},"AgentJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"payload_json":{"additionalProperties":true,"type":"object","title":"Payload Json"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","node_id","action","peer_id","payload_json","status","attempts","created_at"],"title":"AgentJobResponse"},"AgentPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["id","node_id","public_key","preshared_key","tunnel_ip","paid_until","enabled"],"title":"AgentPeerResponse"},"CancelSubscriptionResponse":{"properties":{"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"}},"type":"object","required":["subscription_id","user_id","status","canceled_at","disabled_peer_count","job_ids"],"title":"CancelSubscriptionResponse"},"DisablePeerResponse":{"properties":{"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["peer_id","job_id","node_id","public_key","tunnel_ip","enabled"],"title":"DisablePeerResponse"},"ExpireSubscriptionsResponse":{"properties":{"expired_subscription_count":{"type":"integer","title":"Expired Subscription Count"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"},"subscription_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Subscription Ids"}},"type":"object","required":["expired_subscription_count","disabled_peer_count","job_ids","subscription_ids"],"title":"ExpireSubscriptionsResponse"},"FailRequest":{"properties":{"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"FailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InviteCreateRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses","default":1}},"type":"object","title":"InviteCreateRequest"},"InviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses"},"used_count":{"type":"integer","title":"Used Count"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","code","note","max_uses","used_count","active","created_at"],"title":"InviteResponse"},"JobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","status","attempts","created_at","last_error"],"title":"JobResponse"},"PeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at"],"title":"PeerResponse"},"SubscriptionCreateRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","maximum":36.0,"minimum":1.0,"title":"Months","default":1},"plan_code":{"type":"string","title":"Plan Code","default":"manual"},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"},"auto_renew":{"type":"boolean","title":"Auto Renew","default":false}},"type":"object","title":"SubscriptionCreateRequest"},"SubscriptionCreateResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","subscription_id","peer_id","job_id","node_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"SubscriptionCreateResponse"},"TestPeerRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","title":"Months","default":2},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"}},"type":"object","title":"TestPeerRequest"},"TestPeerResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","peer_id","job_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"TestPeerResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}} --- TERM: provisioning_jobs --- /opt/wg-access/backend/app/models/core.py:106: __tablename__ = "provisioning_jobs" /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:94: "provisioning_jobs", /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:107: op.create_index("ix_provisioning_jobs_node_id", "provisioning_jobs", ["node_id"]) /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:108: op.create_index("ix_provisioning_jobs_status", "provisioning_jobs", ["status"]) /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:109: op.create_index("ix_provisioning_jobs_peer_id", "provisioning_jobs", ["peer_id"]) /opt/wg-access/backend/alembic/versions/0001_initial_schema.py:113: op.drop_table("provisioning_jobs") /opt/wg-access/STATUS-STEP-002-BACKEND-DB-OK.txt:29: provisioning_jobs /opt/wg-access/backups/step018b/core.py.20260704-155437.bak:105: __tablename__ = "provisioning_jobs" /opt/wg-access/STATUS-STEP-006_AGENT_PULL_API_OK.txt:20: - backend owns provisioning_jobs /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/plan-hints.txt:6:provisioning_jobs --- TERM: pending --- /opt/wg-access/backend/app/models/core.py:115: status: Mapped[str] = mapped_column(String(32), default="pending", nullable=False, index=True) /opt/wg-access/backend/app/api/admin.py:109: # It creates a user, an active subscription, a WG peer and a pending enable_peer job. /opt/wg-access/backend/app/api/admin.py:154: status="pending", /opt/wg-access/backend/app/api/admin.py:226: status="pending", /opt/wg-access/backend/app/api/admin.py:289: status="pending", /opt/wg-access/backend/app/api/admin.py:337: status="pending", /opt/wg-access/backend/app/api/dev.py.BEFORE_CLIENT_CONFIG_RESPONSE.20260704-151636:105: status="pending", /opt/wg-access/backend/app/api/dev.py:86: status="pending", /opt/wg-access/backend/app/api/dev.py.BEFORE_REAL_WG_KEYS.20260704-132545:75: status="pending", /opt/wg-access/backend/app/api/agent.py:69:def get_pending_jobs( /opt/wg-access/backend/app/api/agent.py:78: .where(ProvisioningJob.status == "pending") /opt/wg-access/backend/app/api/agent.py:94: if job.status != "pending": /opt/wg-access/backend/app/api/agent.py:115: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py:137: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:40:def get_pending_jobs( /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:49: .where(ProvisioningJob.status == "pending") /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:65: if job.status != "pending": /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:86: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:108: if job.status not in ("pending", "running"): /opt/wg-access/STATUS-STEP-016_CLIENT_CONFIG_RESPONSE_OK.txt:35: processed pending enable_peer job /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:39: no pending jobs /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:43: Backend active pending/running jobs count: 0 /opt/wg-access/agent/logs/agent.log:1:[2026-07-04T10:37:52.238900+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:5:[2026-07-04T10:40:57.781938+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:6:[2026-07-04T10:41:28.672378+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:10:[2026-07-04T10:42:03.672218+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:11:[2026-07-04T10:42:38.680486+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:12:[2026-07-04T10:43:13.672162+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:13:[2026-07-04T10:43:48.672656+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:14:[2026-07-04T10:44:23.672263+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:15:[2026-07-04T10:44:58.684584+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:16:[2026-07-04T13:28:03.074359+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:39:[2026-07-04T13:47:56.703737+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:52:[2026-07-04T15:12:56.867442+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:61:[2026-07-04T15:13:42.705881+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:80:[2026-07-04T15:19:05.266498+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:109:[2026-07-04T15:26:17.548266+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:141:[2026-07-04T15:35:53.627096+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:165:[2026-07-04T15:56:30.590052+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:197:[2026-07-04T15:58:57.951093+00:00] fetched pending jobs: 3 /opt/wg-access/agent/logs/agent.log:230:[2026-07-04T16:01:58.210830+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:250:[2026-07-04T16:02:02.211109+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:264:[2026-07-04T16:05:36.985822+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:271:[2026-07-04T16:06:57.880029+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:278:[2026-07-04T16:07:28.911803+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:285:[2026-07-04T16:08:03.914085+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:292:[2026-07-04T16:08:38.886817+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:299:[2026-07-04T16:09:13.900873+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:306:[2026-07-04T16:09:48.928073+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:313:[2026-07-04T16:10:23.877936+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:320:[2026-07-04T16:10:55.375662+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:327:[2026-07-04T16:11:31.539652+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:334:[2026-07-04T16:12:03.185693+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:341:[2026-07-04T16:12:38.538156+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:348:[2026-07-04T16:13:09.629049+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:355:[2026-07-04T16:13:48.689431+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:362:[2026-07-04T16:14:23.872565+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:369:[2026-07-04T16:14:59.324909+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:376:[2026-07-04T16:15:33.919102+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:383:[2026-07-04T16:16:08.909643+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:390:[2026-07-04T16:16:43.871344+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:397:[2026-07-04T16:17:18.894759+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:404:[2026-07-04T16:17:54.776849+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:411:[2026-07-04T16:18:25.568876+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:418:[2026-07-04T16:18:58.958402+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:430:[2026-07-04T16:19:31.861122+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:454:[2026-07-04T16:20:06.926247+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:470:[2026-07-04T16:20:38.889311+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:486:[2026-07-04T16:21:13.919385+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:495:[2026-07-04T16:21:45.598754+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:509:[2026-07-04T16:22:18.915271+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:516:[2026-07-04T16:22:54.187724+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:523:[2026-07-04T16:23:28.906864+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:530:[2026-07-04T16:24:04.020901+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:537:[2026-07-04T16:24:38.926746+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:544:[2026-07-04T16:25:10.569410+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:551:[2026-07-04T16:25:45.040196+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:558:[2026-07-04T16:26:19.082616+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:565:[2026-07-04T16:26:53.972296+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:572:[2026-07-04T16:27:25.613748+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:579:[2026-07-04T16:27:58.930609+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:586:[2026-07-04T16:28:34.556394+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:593:[2026-07-04T16:29:08.942221+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:600:[2026-07-04T16:29:40.663217+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:607:[2026-07-04T16:30:16.021636+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:614:[2026-07-04T16:30:49.163725+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:621:[2026-07-04T16:31:23.999536+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:628:[2026-07-04T16:31:55.718206+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:640:[2026-07-04T16:32:28.432797+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:660:[2026-07-04T16:33:04.084201+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:674:[2026-07-04T16:33:38.910184+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:681:[2026-07-04T16:34:10.653152+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:688:[2026-07-04T16:34:45.945183+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:695:[2026-07-04T16:35:19.204548+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:702:[2026-07-04T16:35:53.905763+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:709:[2026-07-04T16:36:25.695436+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:716:[2026-07-04T16:36:59.661121+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:723:[2026-07-04T16:37:34.914619+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:730:[2026-07-04T16:38:08.914363+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:737:[2026-07-04T16:38:40.691541+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:749:[2026-07-04T16:39:14.733233+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:769:[2026-07-04T16:39:49.108143+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:783:[2026-07-04T16:40:23.996547+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:790:[2026-07-04T16:40:55.696266+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:797:[2026-07-04T16:41:28.943030+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:804:[2026-07-04T16:42:03.963830+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:811:[2026-07-04T16:42:40.565442+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:818:[2026-07-04T16:43:14.895530+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:825:[2026-07-04T16:43:48.043488+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:832:[2026-07-04T16:44:18.928407+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:839:[2026-07-04T16:44:53.176279+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:846:[2026-07-04T16:45:25.813126+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:853:[2026-07-04T16:45:58.967363+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:860:[2026-07-04T16:46:34.127140+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:867:[2026-07-04T16:47:08.874710+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:874:[2026-07-04T16:47:40.885605+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:881:[2026-07-04T16:48:15.898762+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:888:[2026-07-04T16:48:49.417159+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:895:[2026-07-04T16:49:24.415717+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:902:[2026-07-04T16:49:55.869280+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:909:[2026-07-04T16:50:28.922546+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:916:[2026-07-04T16:51:03.870292+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:923:[2026-07-04T16:51:38.953403+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:930:[2026-07-04T16:52:10.888148+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:937:[2026-07-04T16:52:45.985510+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:944:[2026-07-04T16:53:18.895950+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:951:[2026-07-04T16:53:53.874016+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:958:[2026-07-04T16:54:25.840292+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:965:[2026-07-04T16:54:58.990522+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:972:[2026-07-04T16:55:34.052044+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:979:[2026-07-04T16:56:08.937313+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:986:[2026-07-04T16:56:40.908954+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:993:[2026-07-04T16:57:15.963624+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1000:[2026-07-04T16:57:48.948660+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1007:[2026-07-04T16:58:23.890424+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1014:[2026-07-04T16:58:56.009557+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1021:[2026-07-04T16:59:28.966510+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1028:[2026-07-04T17:00:03.958294+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1035:[2026-07-04T17:00:40.049568+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1042:[2026-07-04T17:01:11.403125+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1049:[2026-07-04T17:01:45.895010+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1056:[2026-07-04T17:02:19.700647+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1063:[2026-07-04T17:02:55.087414+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1070:[2026-07-04T17:03:25.980560+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1077:[2026-07-04T17:03:59.029864+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1084:[2026-07-04T17:04:34.088310+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1091:[2026-07-04T17:05:08.900508+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1098:[2026-07-04T17:05:40.989841+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1105:[2026-07-04T17:06:16.447805+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1112:[2026-07-04T17:06:48.996550+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1119:[2026-07-04T17:07:23.914256+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1126:[2026-07-04T17:07:56.189966+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1133:[2026-07-04T17:08:31.316818+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1140:[2026-07-04T17:09:03.361183+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1147:[2026-07-04T17:09:39.533476+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1154:[2026-07-04T17:10:11.116648+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1161:[2026-07-04T17:10:48.349311+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1168:[2026-07-04T17:11:20.839127+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1175:[2026-07-04T17:11:55.897313+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1182:[2026-07-04T17:12:34.113442+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1189:[2026-07-04T17:13:09.162050+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1196:[2026-07-04T17:13:43.901535+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1203:[2026-07-04T17:14:18.878169+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1210:[2026-07-04T17:14:53.909568+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1217:[2026-07-04T17:15:26.999472+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1224:[2026-07-04T17:16:00.514159+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1231:[2026-07-04T17:16:35.067472+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1238:[2026-07-04T17:17:09.669649+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1245:[2026-07-04T17:17:41.137980+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1252:[2026-07-04T17:18:16.297359+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1259:[2026-07-04T17:18:50.095133+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1266:[2026-07-04T17:19:26.250551+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1273:[2026-07-04T17:19:58.902730+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1280:[2026-07-04T17:20:33.919288+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1287:[2026-07-04T17:21:09.201059+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1294:[2026-07-04T17:21:44.263305+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1301:[2026-07-04T17:22:18.965596+00:00] no pending jobs /opt/wg-access/agent/logs/agent.log:1313:[2026-07-04T17:22:51.693230+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:1333:[2026-07-04T17:23:27.046934+00:00] fetched pending jobs: 1 /opt/wg-access/agent/logs/agent.log:1347:[2026-07-04T17:23:59.912386+00:00] no pending jobs --- TERM: running --- /opt/wg-access/DEFERRED_TASKS.md:23:- avoid relying on manual `pip install` inside a running container; /opt/wg-access/DEFERRED_TASKS.md:33:- Running backend container must be restarted/recreated separately before it reads the new .env. /opt/wg-access/backend/app/api/agent.py:97: job.status = "running" /opt/wg-access/backend/app/api/agent.py:115: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py:137: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:68: job.status = "running" /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:86: if job.status not in ("pending", "running"): /opt/wg-access/backend/app/api/agent.py.BEFORE_AGENT_PEERS_SYNC.20260704-133954:108: if job.status not in ("pending", "running"): /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:6:WG Access Agent systemd timer fixed and running in real periodic mode. /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:43: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-020C_AGENT_TIMER_REAL_PERIODIC_OK.txt:51: Agent is now running periodically in real mode. /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:47: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:101: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-024A_ADMIN_USER_VIEW_OK.txt:76: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-023A_DEV_ENDPOINT_GUARD_OK.txt:60: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:43: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:101: Backend active pending/running jobs count: 0 /opt/wg-access/STATUS-STEP-006_AGENT_PULL_API_OK.txt:15: - job moved pending -> running /opt/wg-access/STATUS-STEP-006_AGENT_PULL_API_OK.txt:17: - job moved running -> completed /root/router-ops-backups/endpoint-leftovers-backup-20260708-115441/DEFERRED_TASKS.md.before:23:- avoid relying on manual `pip install` inside a running container; /root/router-ops-backups/endpoint-doc-note-fix-20260708-115555/DEFERRED_TASKS.md.before:23:- avoid relying on manual `pip install` inside a running container; /root/router-ops-backups/endpoint-doc-note-fix-20260708-115555/DEFERRED_TASKS.md.before:31:- Running backend container must be restarted/recreated separately before it reads the new . --- TERM: reconcile --- --- TERM: expire --- /opt/wg-access/backend/app/api/admin.py:181:class ExpireSubscriptionsResponse(BaseModel): /opt/wg-access/backend/app/api/admin.py:182: expired_subscription_count: int /opt/wg-access/backend/app/api/admin.py:188:@router.post("/maintenance/expire-subscriptions", response_model=ExpireSubscriptionsResponse) /opt/wg-access/backend/app/api/admin.py:189:def expire_subscriptions(db: Session = Depends(get_db)): /opt/wg-access/backend/app/api/admin.py:192: expired_subscriptions = db.execute( /opt/wg-access/backend/app/api/admin.py:202: for subscription in expired_subscriptions: /opt/wg-access/backend/app/api/admin.py:203: subscription.status = "expired" /opt/wg-access/backend/app/api/admin.py:237: return ExpireSubscriptionsResponse( /opt/wg-access/backend/app/api/admin.py:238: expired_subscription_count=len(expired_subscriptions), /opt/wg-access/backend/app/api/admin.py:241: subscription_ids=[subscription.id for subscription in expired_subscriptions], /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:1:== 2026-07-07T00:03:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:3:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:4:== 2026-07-07T00:09:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:6:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:7:== 2026-07-07T00:14:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:9:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:10:== 2026-07-07T00:19:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:12:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:13:== 2026-07-07T00:25:02+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:15:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:16:== 2026-07-07T00:30:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:18:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:19:== 2026-07-07T00:36:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:21:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:22:== 2026-07-07T00:41:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:24:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:25:== 2026-07-07T00:46:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:27:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:28:== 2026-07-07T00:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:30:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:31:== 2026-07-07T00:57:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:33:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:34:== 2026-07-07T01:03:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:36:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:37:== 2026-07-07T01:08:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:39:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:40:== 2026-07-07T01:13:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:42:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:43:== 2026-07-07T01:19:04+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:45:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:46:== 2026-07-07T01:24:32+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:48:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:49:== 2026-07-07T01:29:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:51:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:52:== 2026-07-07T01:35:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:54:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:55:== 2026-07-07T01:40:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:57:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:58:== 2026-07-07T01:46:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:60:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:61:== 2026-07-07T01:51:54+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:63:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:64:== 2026-07-07T01:57:06+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:66:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:67:== 2026-07-07T02:02:35+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:69:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:70:== 2026-07-07T02:07:50+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:72:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:73:== 2026-07-07T02:13:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:75:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:76:== 2026-07-07T02:19:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:78:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:79:== 2026-07-07T02:24:20+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:81:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:82:== 2026-07-07T02:29:35+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:84:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:85:== 2026-07-07T02:34:50+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:87:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:88:== 2026-07-07T02:40:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:90:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:91:== 2026-07-07T02:46:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:93:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:94:== 2026-07-07T02:51:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:96:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:97:== 2026-07-07T02:57:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:99:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:100:== 2026-07-07T03:02:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:102:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:103:== 2026-07-07T03:07:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:105:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:106:== 2026-07-07T03:13:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:108:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:109:== 2026-07-07T03:18:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:111:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:112:== 2026-07-07T03:24:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:114:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:115:== 2026-07-07T03:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:117:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:118:== 2026-07-07T03:35:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:120:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:121:== 2026-07-07T03:40:51+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:123:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:124:== 2026-07-07T03:46:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:126:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:127:== 2026-07-07T03:51:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:129:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:130:== 2026-07-07T03:57:00+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:132:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:133:== 2026-07-07T04:02:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:135:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:136:== 2026-07-07T04:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:138:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:139:== 2026-07-07T04:13:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:141:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:142:== 2026-07-07T04:19:06+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:144:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:145:== 2026-07-07T04:24:22+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:147:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:148:== 2026-07-07T04:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:150:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:151:== 2026-07-07T04:35:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:153:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:154:== 2026-07-07T04:41:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:156:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:157:== 2026-07-07T04:46:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:159:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:160:== 2026-07-07T04:51:51+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:162:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:163:== 2026-07-07T04:57:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:165:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:166:== 2026-07-07T05:02:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:168:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:169:== 2026-07-07T05:07:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:171:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:172:== 2026-07-07T05:13:07+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:174:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:175:== 2026-07-07T05:18:22+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:177:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:178:== 2026-07-07T05:24:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:180:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:181:== 2026-07-07T05:29:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:183:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:184:== 2026-07-07T05:34:52+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:186:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:187:== 2026-07-07T05:40:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:189:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:190:== 2026-07-07T05:46:07+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:192:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:193:== 2026-07-07T05:51:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:195:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:196:== 2026-07-07T05:57:23+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:198:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:199:== 2026-07-07T06:02:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:201:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:202:== 2026-07-07T06:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:204:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:205:== 2026-07-07T06:13:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:207:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:208:== 2026-07-07T06:19:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:210:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:211:== 2026-07-07T06:25:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:213:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:214:== 2026-07-07T06:30:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:216:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:217:== 2026-07-07T06:36:23+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:219:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:220:== 2026-07-07T06:41:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:222:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:223:== 2026-07-07T06:47:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:225:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:226:== 2026-07-07T06:52:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:228:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:229:== 2026-07-07T06:58:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:231:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:232:== 2026-07-07T07:03:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:234:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:235:== 2026-07-07T07:09:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:237:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:238:== 2026-07-07T07:14:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:240:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:241:== 2026-07-07T07:19:54+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:243:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:244:== 2026-07-07T07:25:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:246:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:247:== 2026-07-07T07:30:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:249:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:250:== 2026-07-07T07:36:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:252:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:253:== 2026-07-07T07:41:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:255:{"expired_subscription_count":0,"disabled_peer_count":0,"job_ids":[],"subscription_ids":[]} --- TERM: cleanup --- /opt/wg-access/STATUS-STEP-021C_ADMIN_SUBSCRIPTION_FLOW_OK.txt:60:Cleanup: /opt/wg-access/STATUS-STEP-020D_TIMER_AUTO_PROVISION_DEPROVISION_OK.txt:50:Cleanup: /opt/wg-access/STATUS-STEP-019B_CLEAN_POOL_SMOKE_OK.txt:44:Cleanup: /opt/wg-access/STATUS-STEP-023A_DEV_ENDPOINT_GUARD_OK.txt:48:Cleanup: /opt/wg-access/STATUS-STEP-022B_DEV_ENDPOINT_USES_SHARED_WG_SERVICE_OK.txt:54:Cleanup: /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:42: - Cleanup OK: /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:70: Need persistent backend image/requirements/compose cleanup later. --- TERM: release --- --- TERM: lease --- --- TERM: allocator --- /opt/wg-access/backend/app/services/wireguard.py:42: # MVP allocator: /opt/wg-access/backups/step022a/dev.py.20260704-163658.bak:67: # MVP allocator: /opt/wg-access/backups/step022a/wireguard.py.20260704-163658.bak:42: # MVP allocator: /opt/wg-access/backups/step021b/dev.py.20260704-162930.bak:67: # MVP allocator: /opt/wg-access/STATUS-STEP-019B_CLEAN_POOL_SMOKE_OK.txt:21:Allocator verification: /opt/wg-access/STATUS-STEP-019B_CLEAN_POOL_SMOKE_OK.txt:22: Clean-pool allocator returned 10.253.1.10 as expected. /opt/wg-access/STATUS-STEP-018_POOL_16_AND_REUSE_ALLOCATOR_OK.txt:6:WG paid network expanded and backend IP allocator fixed. /opt/wg-access/STATUS-STEP-018_POOL_16_AND_REUSE_ALLOCATOR_OK.txt:54: New allocator test peer was created and correctly reused: --- TERM: create_peer --- --- TERM: disable_peer --- /opt/wg-access/backend/app/api/admin.py:220: action="disable_peer", /opt/wg-access/backend/app/api/admin.py:283: action="disable_peer", /opt/wg-access/backend/app/api/admin.py:320:def disable_peer(peer_id: UUID, db: Session = Depends(get_db)): /opt/wg-access/backend/app/api/admin.py:331: action="disable_peer", /opt/wg-access/agent/logs/agent.log:62:[2026-07-04T15:13:42.706242+00:00] starting job_id=8594e558-1c0d-4c49-872e-a1c47dc0f377 action=disable_peer /opt/wg-access/agent/logs/agent.log:67:[2026-07-04T15:13:43.089290+00:00] REAL disable_peer peer_id=813515db-bf25-46c9-bc83-c9c45d51ba68 /opt/wg-access/agent/logs/agent.log:198:[2026-07-04T15:58:57.951315+00:00] starting job_id=fb2c12a5-3f22-4c55-94f1-091240e0019a action=disable_peer /opt/wg-access/agent/logs/agent.log:203:[2026-07-04T15:58:58.173938+00:00] REAL disable_peer peer_id=9298ec04-26cf-44a7-8079-7a13664612fa /opt/wg-access/agent/logs/agent.log:205:[2026-07-04T15:58:58.182160+00:00] starting job_id=652f82c5-4243-4618-bf17-ccfea3e44d54 action=disable_peer /opt/wg-access/agent/logs/agent.log:210:[2026-07-04T15:58:58.487298+00:00] REAL disable_peer peer_id=13543224-39f7-4cfc-917d-66a16e2e0e55 /opt/wg-access/agent/logs/agent.log:212:[2026-07-04T15:58:58.494611+00:00] starting job_id=d607c313-cacd-4650-9d39-47c7d43817d6 action=disable_peer /opt/wg-access/agent/logs/agent.log:217:[2026-07-04T15:58:58.786748+00:00] REAL disable_peer peer_id=1b19ed83-1cad-4d57-be9f-fded5270213c /opt/wg-access/agent/logs/agent.log:251:[2026-07-04T16:02:02.211330+00:00] starting job_id=8b21d24d-d575-4224-a281-bd2456cccb37 action=disable_peer /opt/wg-access/agent/logs/agent.log:256:[2026-07-04T16:02:02.422058+00:00] REAL disable_peer peer_id=6a5f1655-8ebe-435e-bba6-1af2412d40c2 /opt/wg-access/agent/logs/agent.log:496:[2026-07-04T16:21:45.598838+00:00] starting job_id=9057b4c7-68b5-4b9e-8cf0-f624a07e30d0 action=disable_peer /opt/wg-access/agent/logs/agent.log:501:[2026-07-04T16:21:45.887266+00:00] REAL disable_peer peer_id=267835b6-84b6-4527-bd47-eee963e7a5c9 /opt/wg-access/agent/logs/agent.log:661:[2026-07-04T16:33:04.084287+00:00] starting job_id=6e273fdf-781f-4992-ad42-4bf83bc7b6f5 action=disable_peer /opt/wg-access/agent/logs/agent.log:666:[2026-07-04T16:33:04.272588+00:00] REAL disable_peer peer_id=00fde00e-a169-4397-841f-5cc99de475d5 /opt/wg-access/agent/logs/agent.log:770:[2026-07-04T16:39:49.108332+00:00] starting job_id=279dd804-7951-47a0-876a-1262f27aa629 action=disable_peer /opt/wg-access/agent/logs/agent.log:775:[2026-07-04T16:39:49.306298+00:00] REAL disable_peer peer_id=966f8262-b25c-4a13-ae1d-694b0378910a /opt/wg-access/agent/logs/agent.log:1334:[2026-07-04T17:23:27.047019+00:00] starting job_id=ef0e8472-6e80-45eb-9bcb-ec0a9d7be598 action=disable_peer /opt/wg-access/agent/logs/agent.log:1339:[2026-07-04T17:23:27.248256+00:00] REAL disable_peer peer_id=da134a09-caa8-4209-bbfa-93dd06f310fb /opt/wg-access/agent/logs/agent.log:1422:[2026-07-04T17:29:08.018580+00:00] starting job_id=de335c08-7807-465b-9065-bce2c77a955f action=disable_peer /opt/wg-access/agent/logs/agent.log:1427:[2026-07-04T17:29:08.274531+00:00] REAL disable_peer peer_id=486ee88e-2515-4203-8541-44f89cdaba89 /opt/wg-access/agent/logs/agent.log:1923:[2026-07-04T18:08:41.896311+00:00] starting job_id=8aa5d01c-1a51-48e9-8b86-834f379e829d action=disable_peer /opt/wg-access/agent/logs/agent.log:1928:[2026-07-04T18:08:42.180466+00:00] REAL disable_peer peer_id=3460b486-358c-44d6-8f47-c960d6254e3a /opt/wg-access/agent/logs/agent.log:2109:[2026-07-04T18:22:12.217184+00:00] starting job_id=f6431127-27e3-49fe-9da0-ef03fc52c2d9 action=disable_peer /opt/wg-access/agent/logs/agent.log:2114:[2026-07-04T18:22:12.871487+00:00] REAL disable_peer peer_id=f45a349d-25a7-426d-b88a-4479b28aec18 /opt/wg-access/agent/logs/agent.log:14111:[2026-07-05T10:30:53.756406+00:00] starting job_id=5983e13b-738d-4723-aee0-cfd8a51566f1 action=disable_peer /opt/wg-access/agent/logs/agent.log:14116:[2026-07-05T10:30:53.970791+00:00] REAL disable_peer peer_id=40b76a1d-e1ef-4a26-ac11-f39043a6a190 /opt/wg-access/agent/logs/agent.log:14206:[2026-07-05T10:35:48.999114+00:00] starting job_id=5a2f6b29-1451-4aad-95e4-69356ab2ec64 action=disable_peer /opt/wg-access/agent/logs/agent.log:14211:[2026-07-05T10:35:49.199610+00:00] REAL disable_peer peer_id=28aefe9e-25b0-434a-aedc-a4df15609e98 /opt/wg-access/agent/logs/agent.log:14259:[2026-07-05T10:37:19.114065+00:00] starting job_id=373f631b-63d9-4622-b41a-181f5f0be73f action=disable_peer /opt/wg-access/agent/logs/agent.log:14264:[2026-07-05T10:37:19.574385+00:00] REAL disable_peer peer_id=0f808400-74ad-437b-a716-c6389aa3f057 /opt/wg-access/agent/logs/agent.log:35076:[2026-07-06T18:48:38.432485+00:00] starting job_id=c2d55542-713c-4cb2-9040-7d64bdf511bb action=disable_peer /opt/wg-access/agent/logs/agent.log:35081:[2026-07-06T18:48:38.905015+00:00] REAL disable_peer peer_id=3d03a7a2-c009-48a4-b6ff-214326d26fc0 /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:195: if action == "disable_peer": /opt/wg-access/agent/wg_access_agent.py.BEFORE_RECONCILE_SYNC.20260704-134532:222: log(f"REAL disable_peer peer_id={peer_id}") /opt/wg-access/agent/wg_access_agent.py:292: if action == "disable_peer": /opt/wg-access/agent/wg_access_agent.py:311: log(f"REAL disable_peer peer_id={peer_id}") /opt/wg-access/agent/wg_access_agent.py.BEFORE_REAL_SSH_WG_SET.20260704-132120:116: if action == "disable_peer": /opt/wg-access/agent/wg_access_agent.py.BEFORE_REAL_SSH_WG_SET.20260704-132120:124: log(f"DRY-RUN disable_peer peer_id={peer_id}") /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:188:def disable_peer(peer_id: UUID, db: Session = Depends(get_db)): /opt/wg-access/backups/step024a/admin.py.20260704-174718.bak:199: action="disable_peer", /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:86:def disable_peer(peer_id: UUID, db: Session = Depends(get_db)): /opt/wg-access/backups/step021b/admin.py.20260704-162930.bak:97: action="disable_peer", /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:189:def disable_peer(peer_id: UUID, db: Session = Depends(get_db)): /opt/wg-access/backups/step025a/admin.py.20260704-180655.bak:200: action="disable_peer", /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:218: action="disable_peer", /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:255:def disable_peer(peer_id: UUID, db: Session = Depends(get_db)): /opt/wg-access/backups/step026a/admin.py.20260704-182045.bak:266: action="disable_peer", /opt/wg-access/STATUS-STEP-019A_TEST_PEERS_CLEANED_OK.txt:24: processed all three disable_peer jobs /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:25: creates pending disable_peer ProvisioningJob /opt/wg-access/STATUS-STEP-025A_CANCEL_SUBSCRIPTION_OK.txt:89: wg-access-agent.timer processed cancel-created disable_peer job automatically. /opt/wg-access/STATUS-STEP-020D_TIMER_AUTO_PROVISION_DEPROVISION_OK.txt:63: Agent processed disable_peer job. /opt/wg-access/STATUS-STEP-019B_CLEAN_POOL_SMOKE_OK.txt:57: disable_peer job completed with attempts=1. /opt/wg-access/STATUS-STEP-024A_ADMIN_USER_VIEW_OK.txt:56: disable_peer: /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:45: -> disable_peer job created /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:48: -> agent processed disable_peer /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:24: creates pending disable_peer ProvisioningJob /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:88: wg-access-agent.timer processed expiration-created disable_peer job automatically. /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:16: action: disable_peer /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:30: - disable_peer job was created /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:33: - agent processed disable_peer job /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:34: - disable_peer job became completed, attempts=1 /opt/wg-access/STATUS-STEP-015_DISABLE_DEPROVISION_OK.txt:49: Reconciliation removes disabled peers before pending disable_peer jobs are processed. /root/router-ops-backups/pre-test-peer-safety-mini-20260708-120311/jobs-before.json:1:[{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-real-20260708-121218/jobs-after.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"pending","attempts":0,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-real-20260708-121218/jobs-before.json:1:[{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/jobs-after.json:1:[{"id":"03c6086d-1054-4a5b-983a-3b8273114fe2","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T13:42:56.376505Z","last_error":null},{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/jobs-before.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/openapi.json:1:{"openapi":"3.1.0","info":{"title":"WG Access Backend","version":"0.0.3"},"paths":{"/admin/invites":{"get":{"tags":["admin"],"summary":"List Invites","operationId":"list_invites_admin_invites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteResponse"},"type":"array","title":"Response List Invites Admin Invites Get"}}}}}},"post":{"tags":["admin"],"summary":"Create Invite","operationId":"create_invite_admin_invites_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers":{"get":{"tags":["admin"],"summary":"List Peers","operationId":"list_peers_admin_peers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PeerResponse"},"type":"array","title":"Response List Peers Admin Peers Get"}}}}}}},"/admin/subscriptions":{"post":{"tags":["admin"],"summary":"Create Subscription","operationId":"create_subscription_admin_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/maintenance/expire-subscriptions":{"post":{"tags":["admin"],"summary":"Expire Subscriptions","operationId":"expire_subscriptions_admin_maintenance_expire_subscriptions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpireSubscriptionsResponse"}}}}}}},"/admin/subscriptions/{subscription_id}/cancel":{"post":{"tags":["admin"],"summary":"Cancel Subscription","operationId":"cancel_subscription_admin_subscriptions__subscription_id__cancel_post","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers/{peer_id}/disable":{"post":{"tags":["admin"],"summary":"Disable Peer","operationId":"disable_peer_admin_peers__peer_id__disable_post","parameters":[{"name":"peer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Peer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisablePeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/jobs":{"get":{"tags":["admin"],"summary":"List Jobs","operationId":"list_jobs_admin_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobResponse"},"type":"array","title":"Response List Jobs Admin Jobs Get"}}}}}}},"/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminUserSummaryResponse"},"type":"array","title":"Response List Users Admin Users Get"}}}}}}},"/admin/users/by-email/{email}":{"get":{"tags":["admin"],"summary":"Get User By Email","operationId":"get_user_by_email_admin_users_by_email__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"Get User","operationId":"get_user_admin_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dev/create-test-peer":{"post":{"tags":["dev"],"summary":"Create Test Peer","operationId":"create_test_peer_dev_create_test_peer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/peers":{"get":{"tags":["agent"],"summary":"Get Enabled Peers","operationId":"get_enabled_peers_agent_peers_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPeerResponse"},"title":"Response Get Enabled Peers Agent Peers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs":{"get":{"tags":["agent"],"summary":"Get Pending Jobs","operationId":"get_pending_jobs_agent_jobs_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentJobResponse"},"title":"Response Get Pending Jobs Agent Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/start":{"post":{"tags":["agent"],"summary":"Start Job","operationId":"start_job_agent_jobs__job_id__start_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/complete":{"post":{"tags":["agent"],"summary":"Complete Job","operationId":"complete_job_agent_jobs__job_id__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/fail":{"post":{"tags":["agent"],"summary":"Fail Job","operationId":"fail_job_agent_jobs__job_id__fail_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/db":{"get":{"summary":"Health Db","operationId":"health_db_health_db_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AdminSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"plan_code":{"type":"string","title":"Plan Code"},"auto_renew":{"type":"boolean","title":"Auto Renew"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"}},"type":"object","required":["id","user_id","status","plan_code","auto_renew","paid_until","created_at","canceled_at"],"title":"AdminSubscriptionResponse"},"AdminUserDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions":{"items":{"$ref":"#/components/schemas/AdminSubscriptionResponse"},"type":"array","title":"Subscriptions"},"peers":{"items":{"$ref":"#/components/schemas/AdminUserPeerResponse"},"type":"array","title":"Peers"},"jobs":{"items":{"$ref":"#/components/schemas/AdminUserJobResponse"},"type":"array","title":"Jobs"}},"type":"object","required":["id","email","created_at","subscriptions","peers","jobs"],"title":"AdminUserDetailResponse"},"AdminUserJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","peer_id","status","attempts","created_at","last_error"],"title":"AdminUserJobResponse"},"AdminUserPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at","disabled_at"],"title":"AdminUserPeerResponse"},"AdminUserSummaryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions_count":{"type":"integer","title":"Subscriptions Count"},"peers_count":{"type":"integer","title":"Peers Count"},"enabled_peers_count":{"type":"integer","title":"Enabled Peers Count"}},"type":"object","required":["id","email","created_at","subscriptions_count","peers_count","enabled_peers_count"],"title":"AdminUserSummaryResponse"},"AgentJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"payload_json":{"additionalProperties":true,"type":"object","title":"Payload Json"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","node_id","action","peer_id","payload_json","status","attempts","created_at"],"title":"AgentJobResponse"},"AgentPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["id","node_id","public_key","preshared_key","tunnel_ip","paid_until","enabled"],"title":"AgentPeerResponse"},"CancelSubscriptionResponse":{"properties":{"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"}},"type":"object","required":["subscription_id","user_id","status","canceled_at","disabled_peer_count","job_ids"],"title":"CancelSubscriptionResponse"},"DisablePeerResponse":{"properties":{"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["peer_id","job_id","node_id","public_key","tunnel_ip","enabled"],"title":"DisablePeerResponse"},"ExpireSubscriptionsResponse":{"properties":{"expired_subscription_count":{"type":"integer","title":"Expired Subscription Count"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"},"subscription_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Subscription Ids"}},"type":"object","required":["expired_subscription_count","disabled_peer_count","job_ids","subscription_ids"],"title":"ExpireSubscriptionsResponse"},"FailRequest":{"properties":{"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"FailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InviteCreateRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses","default":1}},"type":"object","title":"InviteCreateRequest"},"InviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses"},"used_count":{"type":"integer","title":"Used Count"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","code","note","max_uses","used_count","active","created_at"],"title":"InviteResponse"},"JobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","status","attempts","created_at","last_error"],"title":"JobResponse"},"PeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at"],"title":"PeerResponse"},"SubscriptionCreateRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","maximum":36.0,"minimum":1.0,"title":"Months","default":1},"plan_code":{"type":"string","title":"Plan Code","default":"manual"},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"},"auto_renew":{"type":"boolean","title":"Auto Renew","default":false}},"type":"object","title":"SubscriptionCreateRequest"},"SubscriptionCreateResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","subscription_id","peer_id","job_id","node_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"SubscriptionCreateResponse"},"TestPeerRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","title":"Months","default":2},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"}},"type":"object","title":"TestPeerRequest"},"TestPeerResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","peer_id","job_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"TestPeerResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}} /root/router-ops-backups/checkpoint-5slot-policy-20260708-130219/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/checkpoint-selector-file-canary-20260708-124132/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/checkpoint-persisted-canary-20260708-123159/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-fixed-20260708-133412/jobs-after.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-fixed-20260708-133412/jobs-before.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/checkpoint-proven-canary-20260708-122342/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-20260708-120936/jobs-after.json:1:[{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-20260708-120936/jobs-before.json:1:[{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/checkpoint-5class-mapper-20260708-133006/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/canary-test-subscription-cs2-knowngood-20260708-133626/jobs-before.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] /root/router-ops-backups/checkpoint-multiclass-mapper-20260708-124903/jobs-checkpoint.json:1:[{"id":"95463317-b0a0-4117-84fd-2a0dcf387741","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-08T12:12:18.382277Z","last_error":null},{"id":"c2d55542-713c-4cb2-9040-7d64bdf511bb","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:48:37.967328Z","last_error":null},{"id":"814ba665-f6e5-4ba4-b1ba-8af1ec4954e6","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-06T18:41:20.292554Z","last_error":null},{"id":"373f631b-63d9-4622-b41a-181f5f0be73f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:18.309116Z","last_error":null},{"id":"44d5a0e8-73f9-4010-9ac6-9f16d07ad2df","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:37:15.950523Z","last_error":null},{"id":"5a2f6b29-1451-4aad-95e4-69356ab2ec64","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:48.513281Z","last_error":null},{"id":"d6677788-9b08-4465-92ac-550a158e944e","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:35:47.464143Z","last_error":null},{"id":"5983e13b-738d-4723-aee0-cfd8a51566f1","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:53.328988Z","last_error":null},{"id":"96fcd41d-94a0-4432-a685-9171b0235ff1","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-05T10:30:52.304916Z","last_error":null},{"id":"f6431127-27e3-49fe-9da0-ef03fc52c2d9","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:43.402837Z","last_error":null},{"id":"838a2aaf-64ed-4346-9996-1ef7889fda2f","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:21:22.901278Z","last_error":null},{"id":"8aa5d01c-1a51-48e9-8b86-834f379e829d","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:08:12.288326Z","last_error":null},{"id":"74ccc2cf-bbb2-4621-8bbe-ce3096d8366d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T18:07:51.597998Z","last_error":null},{"id":"de335c08-7807-465b-9065-bce2c77a955f","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:36.141629Z","last_error":null},{"id":"cef3e913-d69a-4f61-a5af-7d10eeb8b2da","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:28:05.670337Z","last_error":null},{"id":"ef0e8472-6e80-45eb-9bcb-ec0a9d7be598","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:59.837826Z","last_error":null},{"id":"13a61a08-8eeb-4402-8a5c-624bc606c023","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T17:22:24.374691Z","last_error":null},{"id":"279dd804-7951-47a0-876a-1262f27aa629","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:39:23.034197Z","last_error":null},{"id":"15b8a865-a437-4222-9f5b-6427aeaf75b3","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:38:53.207058Z","last_error":null},{"id":"6e273fdf-781f-4992-ad42-4bf83bc7b6f5","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:36.782086Z","last_error":null},{"id":"bb71b4cd-a615-45f5-9135-4aa0efca9cb7","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:32:01.784153Z","last_error":null},{"id":"9057b4c7-68b5-4b9e-8cf0-f624a07e30d0","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:21:29.414543Z","last_error":null},{"id":"1912c96e-bda5-4af1-a9ea-9a81a27344fd","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:19:03.153472Z","last_error":null},{"id":"8b21d24d-d575-4224-a281-bd2456cccb37","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:02:01.815353Z","last_error":null},{"id":"cb23b57d-7ec7-4804-a045-495a23705f5d","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T16:01:57.737629Z","last_error":null},{"id":"d607c313-cacd-4650-9d39-47c7d43817d6","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.286704Z","last_error":null},{"id":"652f82c5-4243-4618-bf17-ccfea3e44d54","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.251840Z","last_error":null},{"id":"fb2c12a5-3f22-4c55-94f1-091240e0019a","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:58:57.218788Z","last_error":null},{"id":"bda6e96e-ef56-44f6-8bc0-867b91ac59bb","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:56:30.180899Z","last_error":null},{"id":"7a8fe618-7dc9-4eea-80e7-c4fd09ac2172","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:26:17.091376Z","last_error":null},{"id":"ca3e15c1-91ba-435c-8a40-37faa9e101c9","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:17:46.098791Z","last_error":null},{"id":"8594e558-1c0d-4c49-872e-a1c47dc0f377","node_id":"ddn-test","action":"disable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T15:13:41.918390Z","last_error":null},{"id":"a16ef565-d195-4302-acb3-c7d963b2f3a5","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T13:28:02.966879Z","last_error":null},{"id":"338006fa-9b17-45ac-b53f-bc2383421e70","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:41:13.818816Z","last_error":null},{"id":"7196bb14-b3ba-4aaf-85f8-aa393fe1b4dc","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:37:34.531746Z","last_error":null},{"id":"cf0a4771-2fc3-4ae1-9a11-c6417057d048","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:54.188878Z","last_error":null},{"id":"d2fe3317-bb1e-452e-ab29-6bdf6364c817","node_id":"ddn-test","action":"enable_peer","status":"completed","attempts":1,"created_at":"2026-07-04T10:28:02.551252Z","last_error":null}] --- TERM: GET /agent/peers --- /opt/wg-access/STATUS-STEP-014_AGENT_RECONCILE_SYNC_OK.txt:14: GET /agent/peers?node_id=ddn-test --- TERM: /agent/peers --- /opt/wg-access/agent/wg_access_agent.py:213: rows = http_json("GET", f"/agent/peers?{query}") or [] /opt/wg-access/STATUS-STEP-014_AGENT_RECONCILE_SYNC_OK.txt:14: GET /agent/peers?node_id=ddn-test /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/openapi.json:1:{"openapi":"3.1.0","info":{"title":"WG Access Backend","version":"0.0.3"},"paths":{"/admin/invites":{"get":{"tags":["admin"],"summary":"List Invites","operationId":"list_invites_admin_invites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteResponse"},"type":"array","title":"Response List Invites Admin Invites Get"}}}}}},"post":{"tags":["admin"],"summary":"Create Invite","operationId":"create_invite_admin_invites_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers":{"get":{"tags":["admin"],"summary":"List Peers","operationId":"list_peers_admin_peers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PeerResponse"},"type":"array","title":"Response List Peers Admin Peers Get"}}}}}}},"/admin/subscriptions":{"post":{"tags":["admin"],"summary":"Create Subscription","operationId":"create_subscription_admin_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/maintenance/expire-subscriptions":{"post":{"tags":["admin"],"summary":"Expire Subscriptions","operationId":"expire_subscriptions_admin_maintenance_expire_subscriptions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpireSubscriptionsResponse"}}}}}}},"/admin/subscriptions/{subscription_id}/cancel":{"post":{"tags":["admin"],"summary":"Cancel Subscription","operationId":"cancel_subscription_admin_subscriptions__subscription_id__cancel_post","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers/{peer_id}/disable":{"post":{"tags":["admin"],"summary":"Disable Peer","operationId":"disable_peer_admin_peers__peer_id__disable_post","parameters":[{"name":"peer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Peer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisablePeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/jobs":{"get":{"tags":["admin"],"summary":"List Jobs","operationId":"list_jobs_admin_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobResponse"},"type":"array","title":"Response List Jobs Admin Jobs Get"}}}}}}},"/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminUserSummaryResponse"},"type":"array","title":"Response List Users Admin Users Get"}}}}}}},"/admin/users/by-email/{email}":{"get":{"tags":["admin"],"summary":"Get User By Email","operationId":"get_user_by_email_admin_users_by_email__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"Get User","operationId":"get_user_admin_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dev/create-test-peer":{"post":{"tags":["dev"],"summary":"Create Test Peer","operationId":"create_test_peer_dev_create_test_peer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/peers":{"get":{"tags":["agent"],"summary":"Get Enabled Peers","operationId":"get_enabled_peers_agent_peers_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPeerResponse"},"title":"Response Get Enabled Peers Agent Peers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs":{"get":{"tags":["agent"],"summary":"Get Pending Jobs","operationId":"get_pending_jobs_agent_jobs_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentJobResponse"},"title":"Response Get Pending Jobs Agent Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/start":{"post":{"tags":["agent"],"summary":"Start Job","operationId":"start_job_agent_jobs__job_id__start_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/complete":{"post":{"tags":["agent"],"summary":"Complete Job","operationId":"complete_job_agent_jobs__job_id__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/fail":{"post":{"tags":["agent"],"summary":"Fail Job","operationId":"fail_job_agent_jobs__job_id__fail_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/db":{"get":{"summary":"Health Db","operationId":"health_db_health_db_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AdminSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"plan_code":{"type":"string","title":"Plan Code"},"auto_renew":{"type":"boolean","title":"Auto Renew"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"}},"type":"object","required":["id","user_id","status","plan_code","auto_renew","paid_until","created_at","canceled_at"],"title":"AdminSubscriptionResponse"},"AdminUserDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions":{"items":{"$ref":"#/components/schemas/AdminSubscriptionResponse"},"type":"array","title":"Subscriptions"},"peers":{"items":{"$ref":"#/components/schemas/AdminUserPeerResponse"},"type":"array","title":"Peers"},"jobs":{"items":{"$ref":"#/components/schemas/AdminUserJobResponse"},"type":"array","title":"Jobs"}},"type":"object","required":["id","email","created_at","subscriptions","peers","jobs"],"title":"AdminUserDetailResponse"},"AdminUserJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","peer_id","status","attempts","created_at","last_error"],"title":"AdminUserJobResponse"},"AdminUserPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at","disabled_at"],"title":"AdminUserPeerResponse"},"AdminUserSummaryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions_count":{"type":"integer","title":"Subscriptions Count"},"peers_count":{"type":"integer","title":"Peers Count"},"enabled_peers_count":{"type":"integer","title":"Enabled Peers Count"}},"type":"object","required":["id","email","created_at","subscriptions_count","peers_count","enabled_peers_count"],"title":"AdminUserSummaryResponse"},"AgentJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"payload_json":{"additionalProperties":true,"type":"object","title":"Payload Json"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","node_id","action","peer_id","payload_json","status","attempts","created_at"],"title":"AgentJobResponse"},"AgentPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["id","node_id","public_key","preshared_key","tunnel_ip","paid_until","enabled"],"title":"AgentPeerResponse"},"CancelSubscriptionResponse":{"properties":{"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"}},"type":"object","required":["subscription_id","user_id","status","canceled_at","disabled_peer_count","job_ids"],"title":"CancelSubscriptionResponse"},"DisablePeerResponse":{"properties":{"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["peer_id","job_id","node_id","public_key","tunnel_ip","enabled"],"title":"DisablePeerResponse"},"ExpireSubscriptionsResponse":{"properties":{"expired_subscription_count":{"type":"integer","title":"Expired Subscription Count"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"},"subscription_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Subscription Ids"}},"type":"object","required":["expired_subscription_count","disabled_peer_count","job_ids","subscription_ids"],"title":"ExpireSubscriptionsResponse"},"FailRequest":{"properties":{"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"FailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InviteCreateRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses","default":1}},"type":"object","title":"InviteCreateRequest"},"InviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses"},"used_count":{"type":"integer","title":"Used Count"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","code","note","max_uses","used_count","active","created_at"],"title":"InviteResponse"},"JobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","status","attempts","created_at","last_error"],"title":"JobResponse"},"PeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at"],"title":"PeerResponse"},"SubscriptionCreateRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","maximum":36.0,"minimum":1.0,"title":"Months","default":1},"plan_code":{"type":"string","title":"Plan Code","default":"manual"},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"},"auto_renew":{"type":"boolean","title":"Auto Renew","default":false}},"type":"object","title":"SubscriptionCreateRequest"},"SubscriptionCreateResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","subscription_id","peer_id","job_id","node_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"SubscriptionCreateResponse"},"TestPeerRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","title":"Months","default":2},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"}},"type":"object","title":"TestPeerRequest"},"TestPeerResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","peer_id","job_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"TestPeerResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}} --- TERM: expire-subscriptions --- /opt/wg-access/backend/app/api/admin.py:188:@router.post("/maintenance/expire-subscriptions", response_model=ExpireSubscriptionsResponse) /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:1:== 2026-07-07T00:03:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:4:== 2026-07-07T00:09:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:7:== 2026-07-07T00:14:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:10:== 2026-07-07T00:19:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:13:== 2026-07-07T00:25:02+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:16:== 2026-07-07T00:30:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:19:== 2026-07-07T00:36:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:22:== 2026-07-07T00:41:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:25:== 2026-07-07T00:46:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:28:== 2026-07-07T00:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:31:== 2026-07-07T00:57:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:34:== 2026-07-07T01:03:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:37:== 2026-07-07T01:08:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:40:== 2026-07-07T01:13:49+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:43:== 2026-07-07T01:19:04+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:46:== 2026-07-07T01:24:32+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:49:== 2026-07-07T01:29:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:52:== 2026-07-07T01:35:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:55:== 2026-07-07T01:40:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:58:== 2026-07-07T01:46:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:61:== 2026-07-07T01:51:54+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:64:== 2026-07-07T01:57:06+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:67:== 2026-07-07T02:02:35+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:70:== 2026-07-07T02:07:50+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:73:== 2026-07-07T02:13:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:76:== 2026-07-07T02:19:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:79:== 2026-07-07T02:24:20+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:82:== 2026-07-07T02:29:35+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:85:== 2026-07-07T02:34:50+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:88:== 2026-07-07T02:40:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:91:== 2026-07-07T02:46:05+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:94:== 2026-07-07T02:51:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:97:== 2026-07-07T02:57:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:100:== 2026-07-07T03:02:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:103:== 2026-07-07T03:07:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:106:== 2026-07-07T03:13:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:109:== 2026-07-07T03:18:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:112:== 2026-07-07T03:24:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:115:== 2026-07-07T03:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:118:== 2026-07-07T03:35:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:121:== 2026-07-07T03:40:51+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:124:== 2026-07-07T03:46:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:127:== 2026-07-07T03:51:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:130:== 2026-07-07T03:57:00+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:133:== 2026-07-07T04:02:36+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:136:== 2026-07-07T04:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:139:== 2026-07-07T04:13:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:142:== 2026-07-07T04:19:06+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:145:== 2026-07-07T04:24:22+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:148:== 2026-07-07T04:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:151:== 2026-07-07T04:35:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:154:== 2026-07-07T04:41:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:157:== 2026-07-07T04:46:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:160:== 2026-07-07T04:51:51+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:163:== 2026-07-07T04:57:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:166:== 2026-07-07T05:02:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:169:== 2026-07-07T05:07:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:172:== 2026-07-07T05:13:07+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:175:== 2026-07-07T05:18:22+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:178:== 2026-07-07T05:24:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:181:== 2026-07-07T05:29:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:184:== 2026-07-07T05:34:52+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:187:== 2026-07-07T05:40:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:190:== 2026-07-07T05:46:07+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:193:== 2026-07-07T05:51:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:196:== 2026-07-07T05:57:23+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:199:== 2026-07-07T06:02:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:202:== 2026-07-07T06:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:205:== 2026-07-07T06:13:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:208:== 2026-07-07T06:19:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:211:== 2026-07-07T06:25:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:214:== 2026-07-07T06:30:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:217:== 2026-07-07T06:36:23+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:220:== 2026-07-07T06:41:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:223:== 2026-07-07T06:47:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:226:== 2026-07-07T06:52:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:229:== 2026-07-07T06:58:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:232:== 2026-07-07T07:03:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:235:== 2026-07-07T07:09:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:238:== 2026-07-07T07:14:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:241:== 2026-07-07T07:19:54+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:244:== 2026-07-07T07:25:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:247:== 2026-07-07T07:30:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:250:== 2026-07-07T07:36:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:253:== 2026-07-07T07:41:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:256:== 2026-07-07T07:46:54+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:259:== 2026-07-07T07:52:09+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:262:== 2026-07-07T07:57:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:265:== 2026-07-07T08:02:39+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:268:== 2026-07-07T08:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:271:== 2026-07-07T08:13:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:274:== 2026-07-07T08:19:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:277:== 2026-07-07T08:24:24+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:280:== 2026-07-07T08:29:39+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:283:== 2026-07-07T08:35:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:286:== 2026-07-07T08:40:55+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:289:== 2026-07-07T08:46:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:292:== 2026-07-07T08:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:295:== 2026-07-07T08:57:25+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:298:== 2026-07-07T09:02:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:301:== 2026-07-07T09:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:304:== 2026-07-07T09:13:55+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:307:== 2026-07-07T09:19:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:310:== 2026-07-07T09:24:25+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:313:== 2026-07-07T09:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:316:== 2026-07-07T09:35:40+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:319:== 2026-07-07T09:41:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:322:== 2026-07-07T09:46:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:325:== 2026-07-07T09:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:328:== 2026-07-07T09:57:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:331:== 2026-07-07T10:03:24+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:334:== 2026-07-07T10:08:41+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:337:== 2026-07-07T10:14:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:340:== 2026-07-07T10:19:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:343:== 2026-07-07T10:25:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:346:== 2026-07-07T10:30:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:349:== 2026-07-07T10:36:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:352:== 2026-07-07T10:41:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:355:== 2026-07-07T10:46:39+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:358:== 2026-07-07T10:51:56+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:361:== 2026-07-07T10:57:26+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:364:== 2026-07-07T11:02:41+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:367:== 2026-07-07T11:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:370:== 2026-07-07T11:13:56+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:373:== 2026-07-07T11:19:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:376:== 2026-07-07T11:25:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:379:== 2026-07-07T11:30:26+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:382:== 2026-07-07T11:35:42+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:385:== 2026-07-07T11:40:57+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:388:== 2026-07-07T11:46:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:391:== 2026-07-07T11:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:394:== 2026-07-07T11:57:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:397:== 2026-07-07T12:02:42+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:400:== 2026-07-07T12:08:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:403:== 2026-07-07T12:14:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:406:== 2026-07-07T12:19:12+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:409:== 2026-07-07T12:24:51+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:412:== 2026-07-07T12:30:27+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:415:== 2026-07-07T12:35:42+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:418:== 2026-07-07T12:40:57+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:421:== 2026-07-07T12:46:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:424:== 2026-07-07T12:52:12+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:427:== 2026-07-07T12:57:27+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:430:== 2026-07-07T13:03:06+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:433:== 2026-07-07T13:08:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:436:== 2026-07-07T13:13:13+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:439:== 2026-07-07T13:18:55+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:442:== 2026-07-07T13:24:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:445:== 2026-07-07T13:29:56+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:448:== 2026-07-07T13:35:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:451:== 2026-07-07T13:40:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:454:== 2026-07-07T13:46:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:457:== 2026-07-07T13:51:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:460:== 2026-07-07T13:57:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:463:== 2026-07-07T14:02:43+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:466:== 2026-07-07T14:08:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:469:== 2026-07-07T14:13:53+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:472:== 2026-07-07T14:19:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:475:== 2026-07-07T14:24:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:478:== 2026-07-07T14:30:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:481:== 2026-07-07T14:35:34+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:484:== 2026-07-07T14:40:48+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:487:== 2026-07-07T14:46:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:490:== 2026-07-07T14:52:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:493:== 2026-07-07T14:57:37+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:496:== 2026-07-07T15:03:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:499:== 2026-07-07T15:08:38+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:502:== 2026-07-07T15:14:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:505:== 2026-07-07T15:19:45+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:508:== 2026-07-07T15:25:04+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:511:== 2026-07-07T15:30:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:514:== 2026-07-07T15:36:18+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:517:== 2026-07-07T15:41:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:520:== 2026-07-07T15:47:08+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:523:== 2026-07-07T15:52:43+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:526:== 2026-07-07T15:57:58+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:529:== 2026-07-07T16:03:28+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:532:== 2026-07-07T16:08:45+00:00 expire-subscriptions == /opt/wg-access/maintenance-logs/expire-subscriptions.20260707.log:535:== 2026-07-07T16:13:58+00:00 expire-subscriptions == --- TERM: maintenance --- /opt/wg-access/backend/app/api/admin.py:188:@router.post("/maintenance/expire-subscriptions", response_model=ExpireSubscriptionsResponse) /opt/wg-access/STATUS-STEP-028A_MGTS_WG_PAID_E2E_OK.txt:75: maintenance/timers, smoke dirs, status/checkpoint files. /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:6:Expiration maintenance endpoint added and smoke-tested. /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:12: POST /admin/maintenance/expire-subscriptions /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:36: POST /admin/maintenance/expire-subscriptions /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:93: Second POST /admin/maintenance/expire-subscriptions returned: /opt/wg-access/STATUS-STEP-026A_EXPIRE_SUBSCRIPTIONS_OK.txt:115: Expiration logic exists as a manual maintenance endpoint. /usr/local/sbin/wg-access-expire-subscriptions.sh:4:URL="${WG_ACCESS_EXPIRE_URL:-http://127.0.0.1:18080/admin/maintenance/expire-subscriptions}" /usr/local/sbin/wg-access-expire-subscriptions.sh:5:LOG_DIR="/opt/wg-access/maintenance-logs" /root/router-ops-backups/canary-test-subscription-cs2-schemaderived-20260708-134255/openapi.json:1:{"openapi":"3.1.0","info":{"title":"WG Access Backend","version":"0.0.3"},"paths":{"/admin/invites":{"get":{"tags":["admin"],"summary":"List Invites","operationId":"list_invites_admin_invites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/InviteResponse"},"type":"array","title":"Response List Invites Admin Invites Get"}}}}}},"post":{"tags":["admin"],"summary":"Create Invite","operationId":"create_invite_admin_invites_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers":{"get":{"tags":["admin"],"summary":"List Peers","operationId":"list_peers_admin_peers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PeerResponse"},"type":"array","title":"Response List Peers Admin Peers Get"}}}}}}},"/admin/subscriptions":{"post":{"tags":["admin"],"summary":"Create Subscription","operationId":"create_subscription_admin_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/maintenance/expire-subscriptions":{"post":{"tags":["admin"],"summary":"Expire Subscriptions","operationId":"expire_subscriptions_admin_maintenance_expire_subscriptions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpireSubscriptionsResponse"}}}}}}},"/admin/subscriptions/{subscription_id}/cancel":{"post":{"tags":["admin"],"summary":"Cancel Subscription","operationId":"cancel_subscription_admin_subscriptions__subscription_id__cancel_post","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/peers/{peer_id}/disable":{"post":{"tags":["admin"],"summary":"Disable Peer","operationId":"disable_peer_admin_peers__peer_id__disable_post","parameters":[{"name":"peer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Peer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisablePeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/jobs":{"get":{"tags":["admin"],"summary":"List Jobs","operationId":"list_jobs_admin_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobResponse"},"type":"array","title":"Response List Jobs Admin Jobs Get"}}}}}}},"/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminUserSummaryResponse"},"type":"array","title":"Response List Users Admin Users Get"}}}}}}},"/admin/users/by-email/{email}":{"get":{"tags":["admin"],"summary":"Get User By Email","operationId":"get_user_by_email_admin_users_by_email__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"Get User","operationId":"get_user_admin_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dev/create-test-peer":{"post":{"tags":["dev"],"summary":"Create Test Peer","operationId":"create_test_peer_dev_create_test_peer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPeerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/peers":{"get":{"tags":["agent"],"summary":"Get Enabled Peers","operationId":"get_enabled_peers_agent_peers_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPeerResponse"},"title":"Response Get Enabled Peers Agent Peers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs":{"get":{"tags":["agent"],"summary":"Get Pending Jobs","operationId":"get_pending_jobs_agent_jobs_get","parameters":[{"name":"node_id","in":"query","required":true,"schema":{"type":"string","title":"Node Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentJobResponse"},"title":"Response Get Pending Jobs Agent Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/start":{"post":{"tags":["agent"],"summary":"Start Job","operationId":"start_job_agent_jobs__job_id__start_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/complete":{"post":{"tags":["agent"],"summary":"Complete Job","operationId":"complete_job_agent_jobs__job_id__complete_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/jobs/{job_id}/fail":{"post":{"tags":["agent"],"summary":"Fail Job","operationId":"fail_job_agent_jobs__job_id__fail_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"x-agent-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/db":{"get":{"summary":"Health Db","operationId":"health_db_health_db_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AdminSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"plan_code":{"type":"string","title":"Plan Code"},"auto_renew":{"type":"boolean","title":"Auto Renew"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"}},"type":"object","required":["id","user_id","status","plan_code","auto_renew","paid_until","created_at","canceled_at"],"title":"AdminSubscriptionResponse"},"AdminUserDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions":{"items":{"$ref":"#/components/schemas/AdminSubscriptionResponse"},"type":"array","title":"Subscriptions"},"peers":{"items":{"$ref":"#/components/schemas/AdminUserPeerResponse"},"type":"array","title":"Peers"},"jobs":{"items":{"$ref":"#/components/schemas/AdminUserJobResponse"},"type":"array","title":"Jobs"}},"type":"object","required":["id","email","created_at","subscriptions","peers","jobs"],"title":"AdminUserDetailResponse"},"AdminUserJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","peer_id","status","attempts","created_at","last_error"],"title":"AdminUserJobResponse"},"AdminUserPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at","disabled_at"],"title":"AdminUserPeerResponse"},"AdminUserSummaryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"subscriptions_count":{"type":"integer","title":"Subscriptions Count"},"peers_count":{"type":"integer","title":"Peers Count"},"enabled_peers_count":{"type":"integer","title":"Enabled Peers Count"}},"type":"object","required":["id","email","created_at","subscriptions_count","peers_count","enabled_peers_count"],"title":"AdminUserSummaryResponse"},"AgentJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"peer_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Peer Id"},"payload_json":{"additionalProperties":true,"type":"object","title":"Payload Json"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","node_id","action","peer_id","payload_json","status","attempts","created_at"],"title":"AgentJobResponse"},"AgentPeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["id","node_id","public_key","preshared_key","tunnel_ip","paid_until","enabled"],"title":"AgentPeerResponse"},"CancelSubscriptionResponse":{"properties":{"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"status":{"type":"string","title":"Status"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"}},"type":"object","required":["subscription_id","user_id","status","canceled_at","disabled_peer_count","job_ids"],"title":"CancelSubscriptionResponse"},"DisablePeerResponse":{"properties":{"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["peer_id","job_id","node_id","public_key","tunnel_ip","enabled"],"title":"DisablePeerResponse"},"ExpireSubscriptionsResponse":{"properties":{"expired_subscription_count":{"type":"integer","title":"Expired Subscription Count"},"disabled_peer_count":{"type":"integer","title":"Disabled Peer Count"},"job_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Job Ids"},"subscription_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Subscription Ids"}},"type":"object","required":["expired_subscription_count","disabled_peer_count","job_ids","subscription_ids"],"title":"ExpireSubscriptionsResponse"},"FailRequest":{"properties":{"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"FailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InviteCreateRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses","default":1}},"type":"object","title":"InviteCreateRequest"},"InviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"max_uses":{"type":"integer","title":"Max Uses"},"used_count":{"type":"integer","title":"Used Count"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","code","note","max_uses","used_count","active","created_at"],"title":"InviteResponse"},"JobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"node_id":{"type":"string","title":"Node Id"},"action":{"type":"string","title":"Action"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","node_id","action","status","attempts","created_at","last_error"],"title":"JobResponse"},"PeerResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"node_id":{"type":"string","title":"Node Id"},"public_key":{"type":"string","title":"Public Key"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"enabled":{"type":"boolean","title":"Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","node_id","public_key","tunnel_ip","paid_until","enabled","created_at"],"title":"PeerResponse"},"SubscriptionCreateRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","maximum":36.0,"minimum":1.0,"title":"Months","default":1},"plan_code":{"type":"string","title":"Plan Code","default":"manual"},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"},"auto_renew":{"type":"boolean","title":"Auto Renew","default":false}},"type":"object","title":"SubscriptionCreateRequest"},"SubscriptionCreateResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"node_id":{"type":"string","title":"Node Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","subscription_id","peer_id","job_id","node_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"SubscriptionCreateResponse"},"TestPeerRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"months":{"type":"integer","title":"Months","default":2},"node_id":{"type":"string","title":"Node Id","default":"ddn-test"}},"type":"object","title":"TestPeerRequest"},"TestPeerResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"peer_id":{"type":"string","format":"uuid","title":"Peer Id"},"job_id":{"type":"string","format":"uuid","title":"Job Id"},"tunnel_ip":{"type":"string","title":"Tunnel Ip"},"paid_until":{"type":"string","format":"date-time","title":"Paid Until"},"private_key":REDACTED"type":"string","title":"Private Key"},"public_key":{"type":"string","title":"Public Key"},"preshared_key":{"type":"string","title":"Preshared Key"},"client_config":{"type":"string","title":"Client Config"}},"type":"object","required":["user_id","peer_id","job_id","tunnel_ip","paid_until","private_key","public_key","preshared_key","client_config"],"title":"TestPeerResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}