diff options
author | euer <root@euer.krebsco.de> | 2012-12-09 22:20:51 +0100 |
---|---|---|
committer | euer <root@euer.krebsco.de> | 2012-12-09 22:20:51 +0100 |
commit | 6285fa2e604f7506a91f024cb7bb3c713e6cdb10 (patch) | |
tree | 539c16c1c9aae689ea7117d9e4e122e7760db10b | |
parent | 8531144be708527ff1543cfa37248e8433d3eb2c (diff) |
rewrite github_listener
-rw-r--r-- | retiolum/scripts/github_listener/INSTALL | 13 | ||||
-rw-r--r-- | retiolum/scripts/github_listener/README | 4 | ||||
-rw-r--r-- | retiolum/scripts/github_listener/github_listener.conf | 5 | ||||
-rwxr-xr-x | retiolum/scripts/github_listener/handle_request | 16 | ||||
-rwxr-xr-x | retiolum/scripts/github_listener/listen | 4 |
5 files changed, 39 insertions, 3 deletions
diff --git a/retiolum/scripts/github_listener/INSTALL b/retiolum/scripts/github_listener/INSTALL new file mode 100644 index 00000000..20c0845c --- /dev/null +++ b/retiolum/scripts/github_listener/INSTALL @@ -0,0 +1,13 @@ +# HowTo + + useradd -r tinc + mkdir -p /opt/ + git init github_listener + git remote add -f origin https://github.com/krebscode/painload.git + git config core.sparsecheckout true + echo retiolum/hosts/ >> .git/info/sparse-checkout + git pull origin master + ln -s $static_painload/retiolum/{scripts,bin} retiolum/ + cp scripts/github_listener/github_listener.conf /etc/supervisor/conf.d/ + cd .. + chown tinc:tinc -R github_listener diff --git a/retiolum/scripts/github_listener/README b/retiolum/scripts/github_listener/README index ad43031c..57c30896 100644 --- a/retiolum/scripts/github_listener/README +++ b/retiolum/scripts/github_listener/README @@ -16,3 +16,7 @@ with a "logger" command to signalise successful tarball generation. github_listener.conf =================== the supervisor config file + +References +========== +also see //retiolum/doc/git_checkout_only_hosts diff --git a/retiolum/scripts/github_listener/github_listener.conf b/retiolum/scripts/github_listener/github_listener.conf index d1f2dae4..88c8ea60 100644 --- a/retiolum/scripts/github_listener/github_listener.conf +++ b/retiolum/scripts/github_listener/github_listener.conf @@ -1,3 +1,4 @@ [program:github_listener] -command=/krebs/retiolum/scripts/github_listener/listen 5432 -user=nobody +command=/opt/github_listener/retiolum/scripts/github_listener/listen 5432 +user=tinc +environment=HOSTFOLDER='/opt/github_listener/retiolum/hosts',WEBDIR='/srv/http/pub/retiolum/' diff --git a/retiolum/scripts/github_listener/handle_request b/retiolum/scripts/github_listener/handle_request new file mode 100755 index 00000000..2df05ae0 --- /dev/null +++ b/retiolum/scripts/github_listener/handle_request @@ -0,0 +1,16 @@ +#!/bin/sh +# Possible Shell Vars +# WEBDIR +# HOSTFOLDER +set -euf +HOSTFOLDER=${HOSTFOLDER:-../../hosts} +cd $(dirname $(readlink -f $0)) +cd "$HOSTFOLDER" +git pull origin master >&2 +cd - >&2 + +echo "sorry for keeping you waiting, please be patient" +../../bin/create-supernode-tar +echo "almost done..." +../../bin/create-host-tar +echo "Thank you for your patience!" diff --git a/retiolum/scripts/github_listener/listen b/retiolum/scripts/github_listener/listen index c701d14b..30f0c4b5 100755 --- a/retiolum/scripts/github_listener/listen +++ b/retiolum/scripts/github_listener/listen @@ -1,6 +1,8 @@ #!/bin/sh PORT=${1:-5432} # eloop pattern +cd $(dirname $(readlink -f $0)) while sleep 1; do - nc -l -p $PORT -e /krebs/retiolum/bin/create-host-tar && logger "successfully built retiolum hosts tarball" + nc -lvv -p $PORT -e ./handle_request && logger "successfully built retiolum hosts tarball" + done |