Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the Git source #655

Closed
2 tasks done
EronWright opened this issue Sep 7, 2024 · 1 comment
Closed
2 tasks done

Implement the Git source #655

EronWright opened this issue Sep 7, 2024 · 1 comment
Assignees
Labels
kind/engineering Work that is not visible to an external user resolution/fixed This issue was fixed
Milestone

Comments

@EronWright
Copy link
Contributor

EronWright commented Sep 7, 2024

The new stack controller doesn't actually support the git spec yet; it works only with Flux. To complete the git support, we need:

  • Develop a way to query the git remote to resolve the HEAD of the given branch, ideally without cloning the repo (as is done today).
  • Implement support for git auth options, incl. in the workspace pod where the clone operation takes place.
@EronWright EronWright converted this from a draft issue Sep 7, 2024
@cleverguy25
Copy link

Added to epic #586

@pulumi-bot pulumi-bot added the needs-triage Needs attention from the triage team label Sep 7, 2024
@blampe blampe self-assigned this Sep 9, 2024
@blampe blampe added kind/engineering Work that is not visible to an external user and removed needs-triage Needs attention from the triage team labels Sep 9, 2024
@mjeffryes mjeffryes added this to the 0.110 milestone Sep 12, 2024
@EronWright EronWright mentioned this issue Sep 16, 2024
blampe added a commit that referenced this issue Sep 19, 2024
Implements the git source for v2.

We currently only support secret refs from the Stack API because other
options (fs, env) don't make sense to share between agent and operator.
Auth information is passed via env vars to the agent's fetch container.

The operator also needs access to these secrets in order to pull for the
latest commit. It uses an in-memory `ls-remote` and compares remote
refs against's the Stack's ref. We support long and short forms (e.g.
`refs/heads/foo` or `foo`).

The agent now uses automation API to clone the repo, since it's a
natural place for dogfooding. If the init container is restarted, or uses
a persistent volume for the checkout, there's an edge case where
we won't fast-forward the existing checkout. See
pulumi/pulumi#17288.

Also adds a `shallow` clone option to the stack API for controlling
shallowness. We don't currently perform shallow clones so this is
backwards compatible.

Fixes #655
@EronWright EronWright added the resolution/fixed This issue was fixed label Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/engineering Work that is not visible to an external user resolution/fixed This issue was fixed
Projects
No open projects
Status: Done
Development

No branches or pull requests

5 participants