You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
970 B
39 lines
970 B
#!/bin/sh |
|
## |
|
## serf.sh -- SERF event handler script |
|
## (see also http://www.serfdom.io/docs/agent/event-handlers.html) |
|
## |
|
|
|
log () { |
|
echo "[`date '+%Y-%m-%dT%H:%M:%S'`] $SERF_SELF_NAME ($SERF_TAG_ROLE): $*" \ |
|
>>@l_prefix@/var/serfdom/log/self.events.log |
|
} |
|
|
|
case "$SERF_EVENT" in |
|
member-join | member-leave | member-failed | member-update | member-reap ) |
|
while read member; do |
|
OIFS="$IFS"; IFS=" " |
|
set -- $member |
|
IFS="$OIFS" |
|
log "event=$SERF_EVENT host=$1 addr=$2 role=$3 tags=$4" |
|
done |
|
;; |
|
user ) |
|
log "event=$SERF_EVENT param=$SERF_USER_EVENT" |
|
case "$SERF_USER_EVENT" in |
|
ping ) |
|
;; |
|
esac |
|
;; |
|
query ) |
|
log "event=$SERF_EVENT param=$SERF_QUERY_NAME" |
|
case "$SERF_QUERY_NAME" in |
|
hello ) |
|
echo "Hello from $SERF_SELF_NAME" |
|
;; |
|
esac |
|
;; |
|
esac |
|
|
|
exit 0 |
|
|
|
|