Dead PRD: SSH Config Provisioning #151
Reference in New Issue
Block a user
Delete Branch "prd-0046-ssh-config-provisioning"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #150.
This PRD is dead and no longer owns PRD 0046. PRD 0046 now refers to the git remote host override removal work:
46e596d0b1/docs/prds/0046-remove-git-remote-host-overrides.mdOriginal abandoned draft:
859092297f/docs/prds/0046-ssh-config-provisioning.mdPRD looks mostly good, but think we can also strip out
ExtraHostsfrom the git config, and we should add a section under ssh for known host keys. After this the only thing under git remotes remaining should beNameandUpstream, and we should change it to look like this:Agreed. That is a cleaner split, and it keeps the manifest from having three different host-resolution mechanisms hidden under
git.remotes.I’ll update the PRD around this shape:
Concretely, I think the PRD should say:
git.remotesbecomes only the logical remote name to upstream URL mapping. NoExtraHosts, no identity material, no SSH host metadata.ssh.known_hostsis a list of OpenSSHknown_hostslines and renders to the agent-side default known-hosts file, normally~/.ssh/known_hostsfor thenodeuser.ssh.configrenders to~/.ssh/config, withIdentityFilerewritten to the staged in-bottle key path.extra_hosts, sidecar host mappings, agent/etc/hosts, or egress DNS behavior.ExtraHostscan be removed from the new PRD’s target model rather than preserved as part of git config.That also gives the implementation a better boundary: git remotes define what repos exist; ssh defines how SSH resolves/authenticates/verifies hosts; egress remains HTTP/API policy.
Updated in
28cbe40.The PRD now uses the requested shape:
git.remotesis a simple logical-name to upstream-URL mapping.ssh.known_hostsis a top-level list of OpenSSH known-host lines.ssh.configowns SSH client stanzas and identity-file references.ExtraHosts,IdentityFile, and embedded known-host fields are removed from the targetgit.remotesmodel.ExtraHostsas part of git config.Actually this architecture will break a bunch of assumptions we were making in order to route everything through git-gate... maybe we should just back out of this entirely. The only reason to do this is so that the local remote I have configured gets routed to the correct location and can take my ssh config into account, but it's a bit of a weird/atypical remote set up (I think), and I don't think it justifies the complexity of all this.
That said, I DO think we should probably remove
ExtraHosts, as that adds some unexpected behavior (original reason for filing the bug). Let's add a new issue about just removingExtraHostsfrom the git portion of the manifest.Agreed. The top-level SSH config provisioning path is too much machinery for the specific remote-alias case, and it changes git-gate assumptions more than this bug warrants.
I created #152 for the narrower follow-up: remove
ExtraHostsfromgit.remotesand stop plumbing it into git-gate/hosts behavior. I will not continue the broader PRD 0046 implementation from this PR.PRD 0046: SSH Config Provisioningto Dead PRD: SSH Config ProvisioningPull request closed