Created
April 10, 2018 10:23
-
-
Save DmitryBe/1170717e7f79e1c0c1d270b6892e1924 to your computer and use it in GitHub Desktop.
kubernetescreate-labels-patch.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# requried env | |
# KUBE_NAMESPACE | |
# patch.json | |
KUBE_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) | |
if [ -z "$KUBE_TOKEN" ]; then | |
echo "Error: KUBE_TOKEN is empty" | |
exit 1 | |
fi | |
if [ -z "$KUBE_NAMESPACE" ]; then | |
echo "Error: KUBE_NAMESPACE is empty" | |
exit 1 | |
fi | |
HOSTNAME=$(hostname) | |
api_url="https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/$KUBE_NAMESPACE/pods/$HOSTNAME" | |
echo "Applying JSON patch:" | |
cat patch.json | |
echo "at $api_url" | |
curl -sSk --request PATCH --data "$(cat patch.json)" \ | |
-H "Authorization: Bearer $KUBE_TOKEN" \ | |
-H "Content-Type:application/json-patch+json" \ | |
"$api_url" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# required: | |
# env starts with KUBE_LABEL_ | |
unset IFS | |
echo > patch.json | |
echo "[" >> patch.json | |
for var in $(compgen -e | grep KUBE_LABEL_); do | |
echo "$var = ${!var}" | |
label_name="${var//KUBE_LABEL_/}" | |
{ | |
echo '{'; | |
echo ' "op":"add", "path":"/metadata/labels/'"$label_name"'", "value":"'"${!var}"'"' | |
echo '},' | |
} >> patch.json | |
done | |
sed -i '$ s/.$//' patch.json | |
echo "]" >> patch.json | |
cat patch.json |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment