#!/bin/bash ALLOY_CONFIG_PATH="" NAMESPACE="" CM_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}" echo -e "${GREEN} use 'kubectl logs $ALLOY_POD_NAME -n $NAMESPACE' to check alloy pod log.${RESET}" else echo -e "${RED}[3/3] Failed to trigger reload.${RESET}" exit 1 fi