31 lines
1.1 KiB
Bash
31 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
ALLOY_CONFIG_PATH="<ALLOY_FILE_PATH>"
|
|
NAMESPACE="<NAMESPACE>"
|
|
CM_NAME="<CONFIGMAP_NAME>"
|
|
ALLOY_POD_NAME=$(kubectl get pod -l app.kubernetes.io/name=alloy -n $NAMESPACE -o jsonpath='{.items[*].metadata.name}')
|
|
|
|
RED="\033[31m"
|
|
GREEN="\033[32m"
|
|
YELLOW="\033[33m"
|
|
RESET="\033[0m"
|
|
|
|
echo -e "${RED}[1/3] Applying configmap file: $ALLOY_CONFIG_PATH on namespace=$NAMESPACE${RESET}"
|
|
|
|
if kubectl create configmap $CM_NAME --from-file=$ALLOY_CONFIG_PATH --dry-run=client -o yaml | kubectl apply -f - -n $NAMESPACE; then
|
|
echo -e "${GREEN}[1/3] Configmap applied successfully.${RESET}"
|
|
else
|
|
echo -e "${RED}[1/3] Failed to apply configmap.${RESET}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}[2/3] Waiting 1 second...${RESET}"
|
|
sleep 1
|
|
|
|
echo -e "${RED}[3/3] Triggering reload on pod=$ALLOY_POD_NAME...${RESET}"
|
|
if kubectl exec -it "$ALLOY_POD_NAME" -n "$NAMESPACE" -c config-reloader -- wget --post-data="" -O /dev/null http://localhost:12345/-/reload; then
|
|
echo -e "${GREEN}[3/3] Reload triggered successfully.${RESET}"
|
|
else
|
|
echo -e "${RED}[3/3] Failed to trigger reload.${RESET}"
|
|
exit 1
|
|
fi |