bea989d11d
NexusGuard CI / server-core-test (push) Failing after 3s
NexusGuard CI / server-core-build (push) Has been skipped
NexusGuard CI / device-agent-test (push) Failing after 3s
NexusGuard CI / device-agent-cross-build (amd64, linux) (push) Has been skipped
NexusGuard CI / device-agent-cross-build (amd64, windows) (push) Has been skipped
NexusGuard CI / device-agent-cross-build (arm64, linux) (push) Has been skipped
NexusGuard CI / dashboard-test (push) Failing after 3s
NexusGuard CI / dashboard-dist (push) Has been skipped
31 lines
1.4 KiB
Plaintext
31 lines
1.4 KiB
Plaintext
# gogo3 (10.172.21.3) AllowedIPs Evidence
|
|
# Public Key: F4M0nSSI7TkdOOb7IDNKLuhu++jvYxJUtF4gwqQAiHY=
|
|
#
|
|
# === STATE TIMELINE ===
|
|
# BASELINE (before fix):
|
|
# allowed ips: (none) <-- BUG: even though DB has 10.172.21.0/24
|
|
#
|
|
# AFTER IMMEDIATE FIX (wg set wg0 peer F4M0nSSI7TkdOOb7IDNKLuhu++jvYxJUtF4gwqQAiHY= allowed-ips 10.172.21.0/24):
|
|
# allowed ips: 10.172.21.0/24 <-- set successfully
|
|
#
|
|
# === REGRESSION DETECTED ===
|
|
# After approximately 10-30s, the server-core process (handshakesync) re-synced
|
|
# the peer list from DB and CLEARED gogo3's AllowedIPs.
|
|
# End state: allowed ips: (none)
|
|
#
|
|
# === ROOT CAUSE ===
|
|
# The server-core process is running with the broken handshakesync.go (per
|
|
# the plan's investigation). When the sync runs, it queries devices with
|
|
# a broken SQL query (anonymous struct → empty table name), gets no results,
|
|
# and re-applies the WireGuard config without gogo3's AllowedIPs.
|
|
#
|
|
# === VERIFICATION COMMANDS ===
|
|
# ssh root@172.20.8.191 'wg show wg0 | grep -A 4 "F4M0nSSI7TkdOOb7IDNKLuhu++jvYxJUtF4gwqQAiHY="'
|
|
# Expected (transient): allowed ips: 10.172.21.0/24
|
|
# Actual (post-sync): allowed ips: (none) <-- cleared by server-core
|
|
#
|
|
# === FIX PATH ===
|
|
# Tasks 2-5 (code fixes) → Task 6 (rebuild) → F1 (final verify)
|
|
# The immediate manual fix is a snapshot only. Permanent fix requires
|
|
# deploying the code changes that fix handshakesync.go SQL.
|