#!/bin/bash
# Copyright (C) 2023 Rusbitech-Astra <support@rusbitech.ru>

if [[ $# -ne 1 ]]; then
    echo "Usage: $0 <cluster>
    Generates machines json file for cockpit"
fi

generate-machines-json-for-one-host() {
    COCKPIT_IP=$1
    COCKPIT_USER=$4

    echo "  '${COCKPIT_IP}' : {
    'visible' : true,
    'color' : '#67d300',
    'user' : '${COCKPIT_USER}',
    'address' : '${COCKPIT_IP}'
  }" >> "${USER_MACHINES_FILE}"
}

generate-machines-json-for-all-hosts() {
    local NOT_FIRST=false;
    echo "{" > "${USER_MACHINES_FILE}"
    for BR_IP in "${!BR_CONFIG[@]}"; do
        BR_HOST_ARGS=${BR_CONFIG[$BR_IP]}
        if [[ $NOT_FIRST == true ]]; then
            echo "," >> "${USER_MACHINES_FILE}";
        fi
        echo "Generate json for cockpit host ${BR_IP} ${BR_HOST_ARGS}"
        # shellcheck disable=SC2086
        generate-machines-json-for-one-host "${BR_IP}" ${BR_HOST_ARGS} || exit 1
        NOT_FIRST=true;
    done
    echo "}" >> "${USER_MACHINES_FILE}"
}

BR_CLUSTER=$1
# shellcheck disable=SC1091
source /var/lib/brest-kub/scripts/init-user-env.sh

generate-machines-json-for-all-hosts
