Commit Graph
152 Commits
Author SHA1 Message Date
LukeGus d4ec444558 feat: finish the homepage plugin, move service links and canvas out of core (B19) 2026-09-24 15:07:25 -05:00
LukeGus 21937a6b02 feat: finish the ai plugin (B18) 2026-09-24 13:43:26 -05:00
LukeGus 6b4d1432ab feat: finish the automations plugin (B17) 2026-09-24 13:05:44 -05:00
LukeGus 993a91c899 feat: finish the docker plugin (B15) 2026-09-24 11:58:20 -05:00
LukeGus 0a3f05d99d feat: finish the host-metrics plugin, move host status into core (B16) 2026-09-24 11:21:23 -05:00
LukeGus 14eb558b85 feat: finish the remote-desktop plugin (B14) 2026-09-24 01:02:45 -05:00
LukeGus 0af2c94983 feat: turn session recording into a plugin (B13) 2026-09-24 00:09:48 -05:00
LukeGus a276f6898c feat: move session sharing and collab rooms into a plugin (B12) 2026-09-23 23:42:46 -05:00
LukeGus 791d8656a1 feat: convert serial console into the serial plugin 2026-09-23 23:06:37 -05:00
LukeGus 708eedb861 feat: convert tmux monitoring into a plugin (B10) 2026-09-23 22:42:56 -05:00
LukeGus 79d77678c9 feat: move the terminal fully into the ssh-terminal plugin (B9) 2026-09-23 21:41:22 -05:00
LukeGus 535126fd1b feat: finish the web-endpoint plugin, add ctx.desktop (B8) 2026-09-23 18:36:41 -05:00
LukeGus 1682861853 feat: convert ssh tunnels into a plugin 2026-09-23 17:27:28 -05:00
LukeGus c85c1fdb86 feat: convert file manager into a plugin 2026-09-23 16:27:29 -05:00
LukeGus c381955ed0 feat: finish the fleets plugin, add ctx.hosts and host-commands SDK (B4) 2026-09-23 13:10:18 -05:00
LukeGus d2ff5fc78f feat: finish the tailscale plugin, including SSH auth (B3) 2026-09-23 09:41:20 -05:00
LukeGus 1eac0f54b0 feat: point core frontend snippets pickers at the plugin (B2) 2026-09-23 08:59:06 -05:00
LukeGus fdedca39fd feat: convert network-topology to a full plugin (B1) 2026-09-23 07:36:39 -05:00
LukeGus 95abe24798 fix: gate second factors after SSO/LDAP behind an admin setting 2026-09-23 07:17:03 -05:00
LukeGus f217d8db89 feat: rebuild workspaces as the reference plugin 2026-09-23 07:04:03 -05:00
LukeGus d774df8b41 feat: add auth extension points and one ssh connect pipeline 2026-09-23 00:44:33 -05:00
LukeGus e88d5a52e3 feat: load plugin frontends at runtime and remove plugin ids from the shell 2026-09-22 20:15:52 -05:00
LukeGus 49f0286a14 feat: give plugins their own settings and one settings screen 2026-09-22 18:31:19 -05:00
LukeGus cc15559ea1 feat: namespace plugin permissions and keep them valid when a plugin is off 2026-09-22 17:30:00 -05:00
LukeGus 8431570ff7 feat: serve plugin http and websockets from one mount instead of ports 2026-09-22 16:39:41 -05:00
LukeGus 5796186a1c feat: make each plugin an npm workspace built by a termix-plugin CLI 2026-09-22 15:09:50 -05:00
LukeGus 4758016f41 feat: collapse plugin runtime to one tier behind a plugin SDK 2026-09-22 14:11:50 -05:00
LukeGus 6e058f6e9e feat: move web endpoint into a first-party plugin 2026-09-22 12:30:35 -05:00
LukeGus 6f0dff58a3 feat: move workspaces into a first-party plugin 2026-09-22 10:45:15 -05:00
LukeGus 8742c5d381 feat: move tailscale device discovery and settings into a plugin
Adds plugins/tailscale/ with a devices sidebar tab, admin settings
section, and re-auth dialog. Host Metrics tailscale manager card and
SSH re-auth banner parsing stay in core.
2026-09-22 10:45:15 -05:00
LukeGus 5fbd5fb7e2 feat: move network topology into a first-party plugin 2026-09-22 10:45:15 -05:00
LukeGus e372b0eda7 feat: remove legacy alert rules, superseded by automations
Alert rules already auto-migrate into automations on boot and the old
engine stands down after. Deletes the rule/firing tables, routes, UI,
and AI tools; keeps notification channels since automations still use
them. Also fixes automations' notify step, which still called the
deleted repository.
2026-09-22 10:45:12 -05:00
LukeGus e0f14f2ecf feat: move automations into a first-party plugin 2026-09-22 08:14:03 -05:00
LukeGus a6f6a0439c feat: move fleets into a first-party plugin 2026-09-21 20:44:00 -05:00
LukeGus 76b2e5739a feat: wire remote-desktop plugin into core and rename i18n keys
Repoints core consumers (dispatcher, collab, session-sharing, tab
utils) at the plugin, adds isTabTypeAvailable gating for rdp/vnc/
telnet, widens hostCapability to accept an array, and renames the
guacamole i18n namespace to remoteDesktop.
2026-09-21 20:26:09 -05:00
LukeGus c6bcfdb80d feat: move remote desktop (RDP/VNC/Telnet) into a first-party plugin
Relocates guacamole backend/frontend source and tests into
plugins/remote-desktop, following the ssh-terminal/docker pattern.
2026-09-21 20:25:52 -05:00
LukeGus d440ce9073 feat: move proxmox discovery/import/sync into a first-party plugin 2026-09-21 19:20:17 -05:00
LukeGus 9db66d5780 feat: add cross-plugin secret references gated by the provider's RBAC permission 2026-09-21 17:09:28 -05:00
LukeGus 2d6c1cdecb feat: add a permission-gated UI action registry and action slots for plugins
Moves the terminal toolbar's hardwired AI button into a slot the ssh-terminal
plugin offers and the ai plugin fills, gated on ai.services.use.
2026-09-21 16:56:15 -05:00
LukeGus 504710b065 feat: ship the AI assistant as a first-party in-process plugin
Moves src/backend/ai and its routes into plugins/ai, mounted through a
small /ai dispatcher instead of its own port. Moves the ai-enabled and
ai-private-endpoints settings routes out of user-settings-routes.ts
into the plugin too, so it has no leftover core dependents.
2026-09-21 15:20:05 -05:00
LukeGus c58ccbfc3f fix: harden plugin auth and add per-request identity for ctx calls
Require auth on /plugin-api, gate plugin enable/grant/revoke routes
behind admin.plugins.manage, and thread the calling user through
worker ctx.hosts/ctx.ssh calls instead of always using the install
owner. Also adds the plugin permissions grant/revoke UI.
2026-09-21 14:32:59 -05:00
LukeGus 19b70430a1 feat: ship host metrics as a first-party in-process plugin 2026-09-21 11:30:46 -05:00
LukeGus a2479c19b0 feat: ship docker as a first-party in-process plugin
Moves docker backend and frontend into plugins/docker/, alongside
ssh-terminal. Adds a host editor tab seam, a dashboard card registry,
and a build step to compile plugin backends into dist.
2026-09-21 09:55:37 -05:00
LukeGus c94a453f1e feat: ship the ssh terminal as a first-party in-process plugin
Adds a hardcoded process:transport-owner tier so the terminal can own its
WebSocket server and ssh2 clients, which cannot cross the worker boundary.
2026-09-21 08:28:50 -05:00
LukeGus e040b12045 fix: update stale SFTP transfer test for single file destination paths
The test still asserted transferToHost was called with the destination
directory "/srv". Commit 7727fa09 (#1304) deliberately changed a single
file transfer to send the full destination path including the filename,
so the correct expectation is "/srv/remote-1.txt". The code was right
and the test was left behind.
2026-09-21 07:23:48 -05:00
LukeGus 6b56accec8 fix: host key updates not syncing, metrics 404 race on first connect
Host key writes never bumped updatedAt so sync never picked them up.
Also retry the first metrics fetch briefly instead of failing right away.
2026-09-20 20:24:43 -05:00
LukeGus a9a3bbc5f4 fix: sudo password not autofilling (#1248)
https://github.com/Termix-SSH/Support/issues/1248
2026-09-20 19:06:59 -05:00
LukeGus 7727fa09fb fix: I can't send a file on its own. (#1304)
https://github.com/Termix-SSH/Support/issues/1304
2026-09-20 19:06:54 -05:00
LukeGus e9fd092ebd fix: Search in side bar shows overlapping hosts when grouped by tags (#1303)
https://github.com/Termix-SSH/Support/issues/1303
2026-09-20 19:06:07 -05:00
LukeGus afae2889cb feat: Sidebar host click should focus existing tab instead of opening a new connection (#1289)
https://github.com/Termix-SSH/Support/issues/1289
2026-09-20 18:59:33 -05:00