65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
# PRD 0047: Remove Git Remote Host Overrides
|
|
|
|
- **Status:** Active
|
|
- **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.
|