wrappers/scripts/wsrep_notify.sh

56 lines
1.3 KiB
Bash

#!/bin/bash -eu
# Add wsrep_notify_cmd option
# wsrep_notify_cmd = /usr/bin/wsrep_notify.sh
# Ensure mysql owns the script
# sudo chown mysql:mysql /usr/bin/wsrep_notify.sh
# Also ensure it can be ran
# sudo chmod +x /usr/bin/wsrep_notify.sh
STATUS=""
CLUSTER_UUID=""
PRIMARY=""
INDEX=""
MEMBERS=""
while [ $# -gt 0 ]
do
case $1 in
--status)
STATUS=$2
shift
;;
--uuid)
CLUSTER_UUID=$2
shift
;;
--primary)
[ "$2" = "yes" ] && PRIMARY="1" || PRIMARY="0"
COM=configuration_change
shift
;;
--index)
INDEX=$2
shift
;;
--members)
MEMBERS=$2
shift
;;
esac
shift
done
# I hate bash, I suck at it and I don't want to be good
PAYLOAD="{\\\"status\\\": \\\"${STATUS}\\\", \\\"uuid\\\": \\\"$CLUSTER_UUID\\\", \\\"primary\\\": \\\"$PRIMARY\\\", \\\"index\\\": \\\"$INDEX\\\", \\\"members\\\": \\\"$MEMBERS\\\"}"
DATA='{
"routing_key": "",
"payload_encoding": "string",
"properties": {},'
DATA+="\"payload\": \"$PAYLOAD\" }"
curl --location '[INSERT LOCATION HERE]' \
--header 'Content-Type: application/json' \
--header 'Authorization: [INSERT AUTH TOKEN]' \
--data "$DATA" \
-s