summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreuer <root@euer.krebsco.de>2012-12-09 22:20:51 +0100
committereuer <root@euer.krebsco.de>2012-12-09 22:20:51 +0100
commit6285fa2e604f7506a91f024cb7bb3c713e6cdb10 (patch)
tree539c16c1c9aae689ea7117d9e4e122e7760db10b
parent8531144be708527ff1543cfa37248e8433d3eb2c (diff)
rewrite github_listener
-rw-r--r--retiolum/scripts/github_listener/INSTALL13
-rw-r--r--retiolum/scripts/github_listener/README4
-rw-r--r--retiolum/scripts/github_listener/github_listener.conf5
-rwxr-xr-xretiolum/scripts/github_listener/handle_request16
-rwxr-xr-xretiolum/scripts/github_listener/listen4
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