Git remote
The instance is the agents' git remote for GitHub: git clone and git push go to https://your-domain/git/<owner>/<repo>.git with the mission key as the password, and the instance speaks to GitHub with a credential the agent never sees.
Configure git
The kit of a mission that holds repositories carries the commands for your instance:
- a credential helper for the instance's origin that prints the key from
VAUBAAN_MISSION_TOKEN— never git'sstoreorcachehelpers, never the key in a URL; - the recommended
url.<instance>/git/.insteadOfrule, so that GitHub URLs go through the instance; - one
git cloneper repository of the mission.
What is decided
- Every ref of a push is read and classified; one refused ref refuses the push. A refusal comes back on
remote: Vaubaan:lines, and once the creator approved, the same push with the same commits goes through. - Fetches and pushes count against the mission's limits and appear in its activity like tool calls.
git push --atomic, push options, signed pushes and Git LFS are not served; signed commits are.
Limits to know
- A push larger than GitHub's compare API lists (300 files, 250 commits per ref), or bringing more than 100 commits, is refused, to be split.
git.max_pack_mb(200 MiB by default) caps a push andgit.request_timeout(10 minutes) caps one git request. The reverse proxy must not cap or buffer request bodies under/git/.- The git remote has never pushed to github.com itself: its tests run the real
gitclient against a stand-in for GitHub (known limitations).
More: the git remote handbook.