feat(gateway): add system registry support and source indicators#1625
feat(gateway): add system registry support and source indicators#1625alexclewontin wants to merge 2 commits into
Conversation
Adds a read-only installer-seeded gateway registry that the CLI consults after per-user gateway config. The registry uses the same layout as per-user config with `active_gateway` at the root and `gateways/<name>/metadata.json` beneath it. By default the system config root is `/etc/openshell`, while `OPENSHELL_SYSTEM_GATEWAY_DIR` remains available as an override for packages that need a different location. User-managed gateways continue to shadow installer entries on name collision. Originally-authored-by: Mark Shuttleworth <mark@ubuntu.com> Signed-off-by: Alex Lewontin <alex.lewontin@canonical.com>
Expose whether a gateway registration comes from user or system config in `openshell gateway list`, the TUI gateway pane, and list JSON output. The CLI also refuses to remove system-managed registrations and the smoke tests cover the new list output. Signed-off-by: Alex Lewontin <alex.lewontin@canonical.com>
61aa75d to
d1736c7
Compare
/ok to test d1736c7 |
|
Label |
|
/ok to test d1736c7 |
PR Review StatusValidation: project-valid as a concentrated gateway/CLI/TUI packaging-config improvement. The PR has a clear user path for installer-seeded system gateways, user entries shadowing system entries, read-only system registrations, and source indicators in CLI/TUI surfaces. Review findings:
Docs: direct UX changes are documented in Tests: applied Next state: |
CI UpdateBranch Checks are now failing on the current head SHA
This still leaves the PR in |
E2E UpdateThe required Observed failures:
The PR remains in |
Summary
Add a system-managed gateway registry under
/etc/openshelland surface whether each gateway comes from user or system config in the CLI and TUI.Related Issue
N/A
Changes
/etc/openshell, withOPENSHELL_SYSTEM_GATEWAY_DIRas an overrideopenshell gateway list, list JSON output, andopenshell termgateway listtable and JSON source renderingTesting
mise run pre-commitpassesChecklist