k3s/examples/phabricator/cloudsql-authenticator/run.sh

16 lines
618 B
Bash
Executable File

#!/bin/bash
# TODO: This loop updates authorized networks even if nothing has changed. It
# should only send updates if something changes. We should be able to do
# this by comparing pod creation time with the last scan time.
while true; do
hostport="${KUBERNETES_RO_SERVICE_HOST}:${KUBERNETES_RO_SERVICE_PORT}"
path="api/v1beta1/pods"
query="labels=$SELECTOR"
ips_json=`curl ${hostport}/${path}?${query} 2>/dev/null | grep hostIP`
ips=`echo $ips_json | cut -d'"' -f 4 | sed 's/,$//'`
echo "Adding IPs $ips"
gcloud sql instances patch $CLOUDSQL_DB --authorized-networks $ips
sleep 10
done