Commit http push stuff

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
Patrick Uiterwijk 2018-05-28 15:08:10 +02:00
parent da1d16de1b
commit 06c04a3fb9
5 changed files with 79 additions and 3 deletions

View file

@ -0,0 +1,20 @@
#!/bin/bash
#
# Suexec wrapper for gitolite-shell
#
export GIT_PROJECT_ROOT="/srv/git/repositories"
export PAGURE_CONFIG=/etc/pagure/pagure_hook.cfg
export HOME=/srv/git
export GITOLITE_HTTP_HOME=/srv/git
# Hacky workaround because we set ScriptAlias more specific
export PATH_INFO="$SCRIPT_URL"
if [ -z "$REMOTE_USER" ];
then
# Fall back to default user
export REMOTE_USER="anonymous"
fi
exec /usr/share/gitolite3/gitolite-shell

View file

@ -0,0 +1,32 @@
SetEnv GIT_PROJECT_ROOT /srv/git/repositories
AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /srv/git/repositories/$1
AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /srv/git/repositories/$1
<Location />
AuthType oauth20
Require all granted
</Location>
<LocationMatch ".*/git-receive-pack">
AuthType oauth20
Require claims_expr '(.scope | index("https://src.fedoraproject.org/push") != null)'
</LocationMatch>
<LocationMatch "/info/refs">
<If "%{QUERY_STRING} =~ /service=git-upload-pack/">
Require all granted
</If>
<Else>
AuthType oauth20
Require claims_expr '(.scope | index("https://src.fedoraproject.org/push") != null)'
</Else>
</LocationMatch>
SuexecUserGroup pagure packager
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/info/[^/]+ | \
git-(upload|receive)-pack))$" \
/var/www/bin/gitolite-suexec-wrapper.sh/