Files
burnEngine/scripts/bs-label-workers.sh
2025-08-31 18:10:39 +00:00

18 lines
653 B
Bash

#!/usr/bin/env bash
# label nodes into pools based on hostname: *wordpressPool*/*mysqlPool*/*redisPool*/*phpPool*/*nginxPool*
set -euo pipefail
docker node inspect -f '{{ .ID }} {{ .Description.Hostname }} {{ .Spec.Role }}' $(docker node ls -q) \
| while read -r id host role; do
[[ "$role" == "worker" ]] || continue
case "$host" in
*wordPressPool*) val=wordpress ;;
*mysqlPool*) val=mysql ;;
*redisPool*) val=redis ;;
*phpPool*) val=php ;;
*nginxPool*) val=nginx ;;
*) val="" ;;
esac
[[ -n "$val" ]] && docker node update --label-add "pool=$val" "$id"
done
echo "Worker labels updated."