-
- Downloads
clone-bundles: auto-generation for public projects
We had to replace the call of the "internal" subprocess by our own because fully detached `procutil.bgcommand` does not pass `stdin` correctly (seen systematically to be empty), so instead we go the environment variable way, which is ok for a tiny pickle of a descriptor object. Many choices, notably: - the parent dir for the bundles is derived from the namspace full path, so that it looks familiar to users, but the project slug is replaced by its `GL_REPOSITORY`, typically `project-#ID`, so that rename attacks could not work (when we have private clone bundles, this will matter) - `on-change` implemented for HTTP transactions by expecting Workhorse to pass the namespace path and the public boolean in headers - `on-change` implemented for SSH transactions by expecting Heptapod Shell to set the proper environment variables (hence we do not need to pass them to the background generation job) - the refresh command takes the path and the public indication form the command line instead of from environment, because that is easier in the first iteration: we will not have to change RHGitaly for this. - ACL is expected to be set on the bucket, hence the `public-bucket` configuration subsubkey. We will later need a `private-bucket` one,
parent
fd8bb2fe
No related branches found
No related tags found
Showing
- heptapod/required.hgrc 4 additions, 0 deletionsheptapod/required.hgrc
- hgext3rd/heptapod/__init__.py 198 additions, 0 deletionshgext3rd/heptapod/__init__.py
- hgext3rd/heptapod/tests/test_commands_misc.py 168 additions, 0 deletionshgext3rd/heptapod/tests/test_commands_misc.py
- hgext3rd/heptapod/tests/utils.py 1 addition, 0 deletionshgext3rd/heptapod/tests/utils.py
- install-requirements.txt 1 addition, 0 deletionsinstall-requirements.txt
... | ... | @@ -9,3 +9,4 @@ |
urllib3<2 | ||
attrs~=23.2.0 | ||
python_jwt~=4.0.0 | ||
minio~=7.2.15 |
Please register or sign in to comment