feat(gateway): add system registry support and source indicators#1625
Conversation
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 |
d1736c7 to
5b2bb33
Compare
|
@johntmyers I've rebased on main and fixed the formatting, then added a commit to ensure that broken user config still shadows system config. Locally, all the e2e failures I see are reproducible on both main and this branch, so I am not sure they are being introduced by these changes |
|
/ok to test 5b2bb33 |
PR Review StatusValidation: still 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: Next state: |
Gate UpdateRequired checks are now green for head SHA The PR remains blocked because GitHub REST still reports
Next state: |
Blocker Follow-Up NudgeThis PR is still blocked after more than 48 business hours. Current blockers:
Checks are currently green for head SHA Next action: @alexclewontin, please update the branch and address or respond to the remaining review feedback. |
5b2bb33 to
85ea854
Compare
|
/ok to test 85ea854 |
Re-check After Author UpdateI re-evaluated latest head Disposition: partially resolved. Remaining items:
Next state: |
Gate UpdateCurrent head: State remains
Next action: keep this PR blocked while the merge conflict and current required-check state are unresolved; gator will continue watching. |
Gate UpdateCurrent head: State remains
Next action: @alexclewontin, please resolve the merge conflict. Once the branch is mergeable, gator can re-check the required Helm gate and move the PR forward if no blockers remain. |
85ea854 to
23aec7a
Compare
|
/ok to test 23aec7a |
Re-check After Author UpdateI re-evaluated latest head Disposition: partially resolved. Remaining items:
Next state: |
Review Re-checkI re-checked current head Validation: still project-valid as a focused gateway/CLI/TUI packaging-config improvement. Disposition: still needs author follow-up. Blocking review findings:
Remaining follow-up from the prior gator comment:
Checks: required Next state: |
23aec7a to
9718beb
Compare
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>
Signed-off-by: Alex Lewontin <alex.lewontin@canonical.com>
46536d0 to
033ee36
Compare
|
Addressed, though I don't think the TUI plaintext falling back to mTLS is strictly related to this feature, so please let me know if I should split that into a separate PR |
Re-check After Author UpdateI re-evaluated latest head Disposition: partially resolved. Remaining items:
Checks: Next state: |
|
As far as I understand, adding jwt support to the TUI is a more extensive change than adding the plaintext support, and both are issues that pre-date this PR (there will be failures there whether the config comes from the user config or the system config). In the interests of keeping this targeted, I would suggest that be treated as a separate issue, and not block this PR |
033ee36 to
acefaad
Compare
|
/ok to test acefaad |
Re-check After Author UpdateI re-evaluated latest head Disposition: partially resolved. Remaining items:
Checks: Next state: |
The plaintext gap is also pre-existing, and such config could previously be introduced via the user gateways directory, and system introduced gateways are not inherently plaintext. Both jwt and plaintext will be addressed in #1876 |
Re-check After Author UpdateI re-evaluated latest head Disposition: resolved for this PR. Remaining items:
Maintainer Approval NeededGator validation and PR monitoring are complete. Validation: project-valid as a focused gateway registry, CLI/TUI source indicator, and packaging-config improvement. Human maintainer approval or merge decision is now required. Next state: |
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