chiark / gitweb /
467f1cade6dc953b2d454a41a9cdcb6525b372f3
[distorted-letsencrypt] / lib / lib.sh
1 ### -*-sh-*-
2
3 prog=${0##*/}
4
5 usage () { echo "usage: $prog$usage"; }
6 fail () { echo >&2 "$prog: $*"; exit 1; }
7 fail_usage () { usage >&2; exit 1; }
8
9 run_as_user () {
10   case $(id -un) in
11     $user) ;;
12     *) exec sudo -u$user "$0" "$@" ;;
13   esac
14   HOME=$home; export HOME
15   PATH=$home/bin:/usr/local/bin:/bin:/usr/bin; export PATH
16 }
17
18 prepare_tmp () {
19   tag=$1
20
21   tmp=$home/tmp/$tag.$$
22   rm -rf $tmp
23   mkdir $tmp
24   trap 'cd $home; rm -rf $tmp' EXIT INT TERM
25 }
26
27 make_le_conf () {
28   { cat $home/le.conf.skel
29     echo "config-dir = $home/etc"
30     echo "logs-dir = $home/log"
31     echo "work-dir = $tmp"
32     echo
33     case $# in
34       0) ;;
35       *)
36         map="webroot-map = {" sep=" "
37         for san in "$@"; do
38           map="$map$sep\"$san\": \"$home/webroot\"" sep=", "
39         done
40         map="$map }"
41         echo "$map"
42         ;;
43     esac
44   } >$tmp/le.conf
45 }