script update for semicolon instead of return
This commit is contained in:
parent
d9940e0949
commit
fe9f78b9b7
1 changed files with 14 additions and 19 deletions
|
|
@ -1,9 +1,8 @@
|
|||
#!/bin/bash
|
||||
cd /docker/keepalived
|
||||
|
||||
# 1. MANUAL VARIABLE EXTRACTION (No more sourcing!)
|
||||
# 1. MANUAL EXTRACTION
|
||||
get_env_val() {
|
||||
# Greps the key, gets the value after =, and strips surrounding quotes
|
||||
grep "^${1}=" .env | cut -d'=' -f2- | sed 's/^"//;s/"$//'
|
||||
}
|
||||
|
||||
|
|
@ -11,29 +10,25 @@ LXC_NUM=$(get_env_val "LXC_NUM")
|
|||
SLOT_DEFINITIONS=$(get_env_val "SLOT_DEFINITIONS")
|
||||
BASE_PASSWORD=$(get_env_val "BASE_PASSWORD")
|
||||
|
||||
# Debug check
|
||||
echo "Generator started for LXC: $LXC_NUM"
|
||||
|
||||
# 2. PATHS
|
||||
CONFIG_DIR="./config"
|
||||
HEADER_TPL="./keepalived_header.tpl"
|
||||
SLOT_TPL="./keepalived_slot.tpl"
|
||||
CONFIG_FILE="${CONFIG_DIR}/keepalived.conf"
|
||||
|
||||
mkdir -p "$CONFIG_DIR" "./checks"
|
||||
|
||||
# 3. BUILD HEADER
|
||||
cp "$HEADER_TPL" "$CONFIG_FILE"
|
||||
CONFIG_FILE="./config/keepalived.conf"
|
||||
mkdir -p ./config ./checks
|
||||
cp "./keepalived_header.tpl" "$CONFIG_FILE"
|
||||
sed -i "s/{{LXC_NUM}}/${LXC_NUM}/g" "$CONFIG_FILE"
|
||||
|
||||
# 4. PARSE SLOTS
|
||||
echo "$SLOT_DEFINITIONS" | while IFS=',' read -r s_num s_name s_dep s_state s_prio s_peer s_vip junk
|
||||
do
|
||||
# 3. DUAL-STAGE PARSING
|
||||
# First, we split the string into individual slots using the semicolon
|
||||
IFS=';' read -ra SLOTS <<< "$SLOT_DEFINITIONS"
|
||||
|
||||
for SLOT in "${SLOTS[@]}"; do
|
||||
# Now we split the individual slot by commas
|
||||
IFS=',' read -r s_num s_name s_dep s_state s_prio s_peer s_vip junk <<< "$SLOT"
|
||||
|
||||
[[ -z "$s_num" ]] && continue
|
||||
echo "Processing Slot $s_num: $s_name"
|
||||
|
||||
TEMP_SLOT="/tmp/slot_${s_num}.conf"
|
||||
cp "$SLOT_TPL" "$TEMP_SLOT"
|
||||
cp "./keepalived_slot.tpl" "$TEMP_SLOT"
|
||||
|
||||
AUTH_PASS="${BASE_PASSWORD:0:7}-${s_num}"
|
||||
|
||||
|
|
@ -51,6 +46,6 @@ do
|
|||
rm "$TEMP_SLOT"
|
||||
done
|
||||
|
||||
# 5. PERMS
|
||||
# 4. FINALIZE
|
||||
cp ./check_services.sh ./checks/check_services.sh
|
||||
chmod +x ./checks/check_services.sh
|
||||
Loading…
Reference in a new issue