X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=vm_remote;h=d52b59555b6b744021d9721af246ff0c0f084149;hb=ee0303a5c9eda65949857d0d192c5910cd41f1e2;hp=68735c3db0f2a0bce38031297a8e9d676922fb60;hpb=08bfdef225ec9d8d83a6658d64d462404be011a3;p=lhc%2Fateliers.git diff --git a/vm_remote b/vm_remote index 68735c3..d52b595 100755 --- a/vm_remote +++ b/vm_remote @@ -144,6 +144,38 @@ rule_dovecot_key_send () { rule _x509_service_key_send_deciphered imap \ /etc/dovecot/$vm_domainname/$service/x509/key.pem -l root "$@" } +rule_nginx_key_send () { + local -; set +f + for conf in "$tool"/etc/nginx/site.d/*/server.conf + do conf=${conf#"$tool"/etc/nginx/site.d/} + local user port service site + IFS=. read -r user port service site <<-EOF + ${conf%\/server\.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 root -g root \ + /etc/nginx \ + /etc/nginx/site.d \ + /etc/nginx/site.d/'"$site_dir"' \ + /etc/nginx/site.d/'"$site_dir"'/x509; \ + sudo install -m 644 -o root -g root /dev/stdin \ + /etc/nginx/site.d/'"$site_dir"'/x509/.gitignore <<-EOF + key.pem + EOF + ' + rule _x509_service_key_send_deciphered $service \ + /etc/nginx/"$site_dir"/x509/key.pem -l root "$@" + ;; + esac + done + } rule_postfix_key_send () { rule ssh -l root ' \ sudo install -d -m 770 -o root -g root \