#!/bin/bash

# Worker nodes
export NUM_NODES=2

# Pod Names
export POD1A_NAME="pod1a"
export POD1B_NAME="pod1b"
export POD2_NAME="pod2"

# Pod IPs
export POD1A_IP="192.168.1.10"
export POD1B_IP="192.168.1.20"
export POD2_IP="192.168.2.20"

# Network configuration
export POD1_SUBNET="192.168.1.0/24"
export POD2_SUBNET="192.168.2.0/24"
export BRIDGE_NAME="br0"

# Pod port
export POD_PORT=80

# ClusterIP configuration
export VIP="10.96.1.100"
export VIP_PORT=8080

# NodePort configuration
export NODE_PORT="30080"


function print_cluster_vars() {
    local BOLD=$'\033[1m'
    local CYAN=$'\033[0;36m'
    local GREEN=$'\033[0;32m'
    local NC=$'\033[0m'

    echo -e "\n${CYAN}${BOLD}Cluster Configuration${NC}"
    echo "---------------------"

    echo -e "${BOLD}Worker Nodes:${NC}"
    printf "  %-15s %s\n" "NUM_NODES:" "${GREEN}$NUM_NODES${NC}"
    echo ""

    echo -e "${BOLD}Pod Names:${NC}"
    printf "  %-15s %s\n" "POD1A_NAME:" "${GREEN}$POD1A_NAME${NC}"
    printf "  %-15s %s\n" "POD1B_NAME:" "${GREEN}$POD1B_NAME${NC}"
    printf "  %-15s %s\n" "POD2_NAME:" "${GREEN}$POD2_NAME${NC}"
    echo ""
    
    echo -e "${BOLD}Pod IP Addresses:${NC}"
    printf "  %-15s %s\n" "POD1A_IP:" "${GREEN}$POD1A_IP${NC}"
    printf "  %-15s %s\n" "POD1B_IP:" "${GREEN}$POD1B_IP${NC}"
    printf "  %-15s %s\n" "POD2_IP:" "${GREEN}$POD2_IP${NC}"
    printf "  %-15s %s\n" "POD_PORT:" "${GREEN}$POD_PORT${NC}"
    echo ""
    
    echo -e "${BOLD}Network Settings:${NC}"
    printf "  %-15s %s\n" "POD1_SUBNET:" "${GREEN}$POD1_SUBNET${NC}"
    printf "  %-15s %s\n" "POD2_SUBNET:" "${GREEN}$POD2_SUBNET${NC}"
    printf "  %-15s %s\n" "BRIDGE_NAME:" "${GREEN}$BRIDGE_NAME${NC}"
    echo ""

    echo -e "${BOLD}ClusterIP Configuration:${NC}"
    printf "  %-15s %s\n" "VIP:" "${GREEN}$VIP${NC}"
    printf "  %-15s %s\n" "VIP_PORT:" "${GREEN}$VIP_PORT${NC}"
    echo ""    

    echo -e "${BOLD}NodePort Configuration:${NC}"
    printf "  %-15s %s\n" "NODE_PORT:" "${GREEN}$NODE_PORT${NC}"
    echo ""
}

if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then
    print_cluster_vars
fi
