mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-03 02:26:43 +09:00
Plan 47 Phase 2. The tunnels blueprint + broker/publish/netutil services move into builtin-extensions/serverkit-remote-access/backend/ (entry_point tunnels: tunnels_bp, url_prefix unchanged). Core no longer registers /api/v1/tunnels or imports the services; the Tunnel/ExposedService models stay core (G2). New reusable core->extension seam get_installed_extension_attr(slug, module, attr): the agent gateway reaches TunnelBrokerService.schedule_reconcile through it, so tunnel self-heal still fires when the extension is installed and no-ops cleanly otherwise. Backend re-acquisition on upgrade is covered by the Phase-2 migration. Tests: test_tunnel_netutil.py + test_tunnel_reconcile.py re-homed into test_remote_access_extraction.py (17), which installs the extension and runs the helpers/reconcile against its modules. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
40 lines
1.6 KiB
JSON
40 lines
1.6 KiB
JSON
{
|
|
"name": "serverkit-remote-access",
|
|
"display_name": "Remote Access",
|
|
"version": "1.0.0",
|
|
"description": "WireGuard remote-access tunnels between paired agents to expose NAT'd home services through an edge server. Fleet-wide view as a tab in the Servers group; per-server management stays on the server detail page.",
|
|
"author": "ServerKit",
|
|
"license": "MIT",
|
|
"category": "integration",
|
|
"homepage": "https://github.com/jhd3197/ServerKit",
|
|
"permissions": ["network"],
|
|
"entry_point": "tunnels:tunnels_bp",
|
|
"url_prefix": "/api/v1/tunnels",
|
|
"icon": "<rect x=\"16\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"/><rect x=\"2\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"/><rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" rx=\"1\"/><path d=\"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3\"/><path d=\"M12 12V8\"/>",
|
|
"contributions": {
|
|
"tabs": [
|
|
{
|
|
"group": "servers",
|
|
"to": "/remote-access",
|
|
"label": "Remote Access",
|
|
"order": 5,
|
|
"icon": "<rect x=\"16\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"/><rect x=\"2\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"/><rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" rx=\"1\"/><path d=\"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3\"/><path d=\"M12 12V8\"/>"
|
|
}
|
|
],
|
|
"routes": [
|
|
{ "path": "remote-access", "component": "RemoteAccessPage", "group": "servers" }
|
|
],
|
|
"page_titles": {
|
|
"/remote-access": "Remote Access"
|
|
},
|
|
"command_palette": [
|
|
{
|
|
"label": "Remote Access",
|
|
"path": "/remote-access",
|
|
"category": "Pages",
|
|
"keywords": "wireguard tunnel vpn expose nat pairing"
|
|
}
|
|
]
|
|
}
|
|
}
|