incident: SFTPGo outage 2026-09-02 — CT299 tailscaled death + stale lxc-attach recovery
- New incident page documenting CT299 SFTPGo outage (02:18 AWST) - Root cause: swap exhaustion (43Gi, 100%) killed tailscaled; 5 stale lxc-attach PIDs blocked pct start - Resolution: killed PIDs 3037951/3334928/3352203/3402511/4004148, pct stop/start 299 - Updated current-state.md with Recent Changes (2026-09-02), bumped updated to 2026-09-04 - Updated log.md with incident entry - Updated index.md last-updated date No secrets written. Verified end-to-end: tailscale direct, SFTPGo WebAdmin HTTP 401, SFTP banner SSH-2.0-SFTPGo_2.7.0.
This commit is contained in:
@@ -27,6 +27,11 @@ class CleanURLHandler(http.server.SimpleHTTPRequestHandler):
|
||||
self.send_header('Access-Control-Allow-Origin', '*')
|
||||
super().end_headers()
|
||||
|
||||
class CleanURLServer(socketserver.TCPServer):
|
||||
allow_reuse_address = True # set BEFORE bind: permits instant rebind on restart
|
||||
# (TIME-WAIT of prior instance would otherwise
|
||||
# cause OSError 98 "Address already in use")
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser()
|
||||
@@ -39,6 +44,6 @@ if __name__ == '__main__':
|
||||
CleanURLHandler.directory = str(directory)
|
||||
os.chdir(directory)
|
||||
|
||||
with socketserver.TCPServer((args.bind, args.port), CleanURLHandler) as httpd:
|
||||
with CleanURLServer((args.bind, args.port), CleanURLHandler) as httpd:
|
||||
print(f"Serving {directory} at http://{args.bind}:{args.port}")
|
||||
httpd.serve_forever()
|
||||
|
||||
Reference in New Issue
Block a user