From be3defe5d881c33587cf26d57c76e9444857f98d Mon Sep 17 00:00:00 2001 From: codex Date: Tue, 2 Jun 2026 18:16:24 +0000 Subject: [PATCH] docs(prd): add git remote host override removal plan --- .../0047-remove-git-remote-host-overrides.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 docs/prds/0047-remove-git-remote-host-overrides.md diff --git a/docs/prds/0047-remove-git-remote-host-overrides.md b/docs/prds/0047-remove-git-remote-host-overrides.md new file mode 100644 index 0000000..7cc4d5b --- /dev/null +++ b/docs/prds/0047-remove-git-remote-host-overrides.md @@ -0,0 +1,64 @@ +# PRD 0047: Remove Git Remote Host Overrides + +- **Status:** Draft +- **Author:** didericis-codex +- **Created:** 2026-06-02 +- **Issue:** #152 + +## Summary + +Remove git remote host override plumbing from bottle manifests and git-gate +startup. Git remote declarations should describe upstream repositories and the +git-gate credential material needed to mirror them; they should not also +configure hosts-file behavior for sidecars. + +## Problem + +The git remote model currently has a hosts override path that can make a git +upstream resolve differently inside the git-gate sidecar. That is surprising +because the same hostname may also be used for HTTP/API traffic that should keep +using the normal egress DNS and policy path. + +Keeping host resolution in the git remote model makes repository routing, +sidecar hosts files, and egress behavior feel coupled even when the operator +only meant to configure git-gate. + +## Goals / Success Criteria + +- Git remote manifest parsing no longer stores host override data. +- Git-gate upstream plans no longer carry host override data. +- Docker compose rendering no longer emits sidecar `extra_hosts` entries from + git remote declarations. +- Smolmachines bundle launch planning has no unused host override path for + git-gate. +- Focused unit tests cover the absence of sidecar `extra_hosts` for git + upstreams. +- Current user-facing documentation no longer advertises git remote host + overrides. + +## Non-goals + +- No replacement hosts-file override feature. +- No SSH client config provisioning. +- No change to git-gate's SSH credential or known-host handling. +- No change to egress DNS, HTTP auth, or pipelock routing semantics. + +## Design + +Remove the host override field from the internal `GitEntry` and +`GitGateUpstream` models. Remove the git-gate aggregation helper and the Docker +compose code that converted those values into sidecar `extra_hosts`. + +The manifest parser does not need a migration-specific error path. After this +change, the old hosts override key has no internal model field and no runtime +effect. + +## Testing Strategy + +Run: + +- `python3 -m unittest discover -s tests/unit` + +## Open Questions + +None.