-rule_apache2_key_send () {
- local -; set +f
- for conf in "$tool"/etc/apache2/site.d/*/VirtualHost.conf
- do conf=${conf#"$tool"/etc/apache2/site.d/}
- local user port service site
- IFS=. read -r user port service site <<-EOF
- ${conf%\/VirtualHost\.conf}
- EOF
- assert 'test "${user:+set}"'
- assert 'test "${service:+set}"'
- assert 'test "${site:+set}"'
- assert 'test "${port:+set}"'
- local site_dir="$user.$port.$service.$site"
- case $port in
- (443)
- rule ssh -l root ' \
- sudo install -d -m 770 -o '"$user"' -g '"$user"' \
- /etc/apache2 \
- /etc/apache2/site.d/'"$site_dir"' \
- /etc/apache2/site.d/'"$site_dir"'/x509; \
- sudo install -m 644 -o '"$user"' -g '"$user"' /dev/stdin \
- /etc/apache2/site.d/'"$site_dir"'/x509/.gitignore <<-EOF
- key.pem
- EOF
- '
- rule _x509_service_key_send_deciphered $service \
- ~"$user"/etc/apache2/"$site_dir"/x509/key.pem -l root "$@"
- ;;
- esac
- done
+rule_gitolite_git () {
+ (
+ cd "$tool"/etc/gitolite
+ GIT_SSH=../../lib/ssh \
+ ssh-agent sh -c ' \
+ SSH_ASKPASS='"$tool"'/lib/ssh-pass \
+ SSH_ID=git \
+ ssh-add '"$tool"'/var/sec/ssh/git </dev/null && \
+ git '"$*"
+ )