Remove config wrappers.
This commit is contained in:
@@ -52,7 +52,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for required configuration
|
# Check for required configuration
|
||||||
if [ -z "$(get_current_config "cluster.nodes.talos.version")" ] || [ -z "$(get_current_config "cluster.nodes.talos.schematicId")" ]; then
|
if [ -z "$(wild-config "cluster.nodes.talos.version")" ] || [ -z "$(wild-config "cluster.nodes.talos.schematicId")" ]; then
|
||||||
print_header "Talos Configuration Required"
|
print_header "Talos Configuration Required"
|
||||||
print_error "Missing required Talos configuration"
|
print_error "Missing required Talos configuration"
|
||||||
print_info "Please run 'wild-setup' first to configure your cluster"
|
print_info "Please run 'wild-setup' first to configure your cluster"
|
||||||
@@ -69,8 +69,8 @@ fi
|
|||||||
print_header "Talos Installer Image Generation and Asset Download"
|
print_header "Talos Installer Image Generation and Asset Download"
|
||||||
|
|
||||||
# Get Talos version and schematic ID from config
|
# Get Talos version and schematic ID from config
|
||||||
TALOS_VERSION=$(get_current_config cluster.nodes.talos.version)
|
TALOS_VERSION=$(wild-config cluster.nodes.talos.version)
|
||||||
SCHEMATIC_ID=$(get_current_config cluster.nodes.talos.schematicId)
|
SCHEMATIC_ID=$(wild-config cluster.nodes.talos.schematicId)
|
||||||
|
|
||||||
print_info "Creating custom Talos installer image..."
|
print_info "Creating custom Talos installer image..."
|
||||||
print_info "Talos version: $TALOS_VERSION"
|
print_info "Talos version: $TALOS_VERSION"
|
||||||
|
@@ -62,16 +62,18 @@ CONFIG_FILE="${WC_HOME}/config.yaml"
|
|||||||
|
|
||||||
if [ ! -f "${CONFIG_FILE}" ]; then
|
if [ ! -f "${CONFIG_FILE}" ]; then
|
||||||
echo "Error: config file not found at ${CONFIG_FILE}" >&2
|
echo "Error: config file not found at ${CONFIG_FILE}" >&2
|
||||||
exit 1
|
echo ""
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use yq to extract the value from the YAML file
|
# Use yq to extract the value from the YAML file
|
||||||
result=$(yq eval ".${KEY_PATH}" "${CONFIG_FILE}") 2>/dev/null
|
result=$(yq eval ".${KEY_PATH}" "${CONFIG_FILE}" 2>/dev/null || echo "null")
|
||||||
|
|
||||||
# Check if result is null (key not found)
|
# Check if result is null (key not found)
|
||||||
if [ "${result}" = "null" ]; then
|
if [ "${result}" = "null" ]; then
|
||||||
echo "Error: Key path '${KEY_PATH}' not found in ${CONFIG_FILE}" >&2
|
echo "Error: Key path '${KEY_PATH}' not found in ${CONFIG_FILE}" >&2
|
||||||
exit 1
|
echo ""
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${result}"
|
echo "${result}"
|
@@ -62,16 +62,18 @@ SECRETS_FILE="${WC_HOME}/secrets.yaml"
|
|||||||
|
|
||||||
if [ ! -f "${SECRETS_FILE}" ]; then
|
if [ ! -f "${SECRETS_FILE}" ]; then
|
||||||
echo "Error: secrets file not found at ${SECRETS_FILE}" >&2
|
echo "Error: secrets file not found at ${SECRETS_FILE}" >&2
|
||||||
exit 1
|
echo ""
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use yq to extract the value from the YAML file
|
# Use yq to extract the value from the YAML file
|
||||||
result=$(yq eval ".${KEY_PATH}" "${SECRETS_FILE}" 2>/dev/null)
|
result=$(yq eval ".${KEY_PATH}" "${SECRETS_FILE}" 2>/dev/null || echo "null")
|
||||||
|
|
||||||
# Check if result is null (key not found)
|
# Check if result is null (key not found)
|
||||||
if [ "${result}" = "null" ]; then
|
if [ "${result}" = "null" ]; then
|
||||||
echo "Error: Key path '${KEY_PATH}' not found in ${SECRETS_FILE}" >&2
|
echo "Error: Key path '${KEY_PATH}' not found in ${SECRETS_FILE}" >&2
|
||||||
exit 1
|
echo ""
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${result}"
|
echo "${result}"
|
@@ -123,7 +123,7 @@ prompt_if_unset_config "cluster.ipAddressPool" "MetalLB IP address pool" "${SUBN
|
|||||||
ip_pool=$(wild-config "cluster.ipAddressPool")
|
ip_pool=$(wild-config "cluster.ipAddressPool")
|
||||||
|
|
||||||
# Load balancer IP (automatically set to first address in the pool if not set)
|
# Load balancer IP (automatically set to first address in the pool if not set)
|
||||||
current_lb_ip=$(get_current_config "cluster.loadBalancerIp")
|
current_lb_ip=$(wild-config "cluster.loadBalancerIp")
|
||||||
if [ -z "$current_lb_ip" ] || [ "$current_lb_ip" = "null" ]; then
|
if [ -z "$current_lb_ip" ] || [ "$current_lb_ip" = "null" ]; then
|
||||||
lb_ip=$(echo "${ip_pool}" | cut -d'-' -f1)
|
lb_ip=$(echo "${ip_pool}" | cut -d'-' -f1)
|
||||||
wild-config-set "cluster.loadBalancerIp" "${lb_ip}"
|
wild-config-set "cluster.loadBalancerIp" "${lb_ip}"
|
||||||
@@ -135,14 +135,14 @@ prompt_if_unset_config "cluster.nodes.talos.version" "Talos version" "v1.10.4"
|
|||||||
talos_version=$(wild-config "cluster.nodes.talos.version")
|
talos_version=$(wild-config "cluster.nodes.talos.version")
|
||||||
|
|
||||||
# Talos schematic ID
|
# Talos schematic ID
|
||||||
current_schematic_id=$(get_current_config "cluster.nodes.talos.schematicId")
|
current_schematic_id=$(wild-config "cluster.nodes.talos.schematicId")
|
||||||
if [ -z "$current_schematic_id" ] || [ "$current_schematic_id" = "null" ]; then
|
if [ -z "$current_schematic_id" ] || [ "$current_schematic_id" = "null" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
print_info "Get your Talos schematic ID from: https://factory.talos.dev/"
|
print_info "Get your Talos schematic ID from: https://factory.talos.dev/"
|
||||||
print_info "This customizes Talos with the drivers needed for your hardware."
|
print_info "This customizes Talos with the drivers needed for your hardware."
|
||||||
|
|
||||||
# Use current schematic ID from config as default
|
# Use current schematic ID from config as default
|
||||||
default_schematic_id=$(get_current_config "cluster.nodes.talos.schematicId")
|
default_schematic_id=$(wild-config "cluster.nodes.talos.schematicId")
|
||||||
if [ -n "$default_schematic_id" ] && [ "$default_schematic_id" != "null" ]; then
|
if [ -n "$default_schematic_id" ] && [ "$default_schematic_id" != "null" ]; then
|
||||||
print_info "Using schematic ID from config for Talos $talos_version"
|
print_info "Using schematic ID from config for Talos $talos_version"
|
||||||
else
|
else
|
||||||
@@ -154,7 +154,7 @@ if [ -z "$current_schematic_id" ] || [ "$current_schematic_id" = "null" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# External DNS
|
# External DNS
|
||||||
cluster_name=$(get_current_config "cluster.name")
|
cluster_name=$(wild-config "cluster.name")
|
||||||
prompt_if_unset_config "cluster.externalDns.ownerId" "External DNS owner ID" "external-dns-${cluster_name}"
|
prompt_if_unset_config "cluster.externalDns.ownerId" "External DNS owner ID" "external-dns-${cluster_name}"
|
||||||
|
|
||||||
|
|
||||||
@@ -188,18 +188,18 @@ if [ "${SKIP_HARDWARE}" = false ]; then
|
|||||||
print_info "Registering control plane node: $NODE_NAME (IP: $TARGET_IP)"
|
print_info "Registering control plane node: $NODE_NAME (IP: $TARGET_IP)"
|
||||||
|
|
||||||
# Initialize the node in cluster.nodes.active if not already present
|
# Initialize the node in cluster.nodes.active if not already present
|
||||||
if [ -z "$(get_current_config "cluster.nodes.active.\"${NODE_NAME}\".role")" ]; then
|
if [ -z "$(wild-config "cluster.nodes.active.\"${NODE_NAME}\".role")" ]; then
|
||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".role" "controlplane"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".role" "controlplane"
|
||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".targetIp" "$TARGET_IP"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".targetIp" "$TARGET_IP"
|
||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".currentIp" "$TARGET_IP"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".currentIp" "$TARGET_IP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if node is already configured
|
# Check if node is already configured
|
||||||
existing_interface=$(get_current_config "cluster.nodes.active.\"${NODE_NAME}\".interface")
|
existing_interface=$(wild-config "cluster.nodes.active.\"${NODE_NAME}\".interface")
|
||||||
if [ -n "$existing_interface" ] && [ "$existing_interface" != "null" ]; then
|
if [ -n "$existing_interface" ] && [ "$existing_interface" != "null" ]; then
|
||||||
print_success "Node $NODE_NAME already configured"
|
print_success "Node $NODE_NAME already configured"
|
||||||
print_info " - Interface: $existing_interface"
|
print_info " - Interface: $existing_interface"
|
||||||
print_info " - Disk: $(get_current_config "cluster.nodes.active.\"${NODE_NAME}\".disk")"
|
print_info " - Disk: $(wild-config "cluster.nodes.active.\"${NODE_NAME}\".disk")"
|
||||||
|
|
||||||
# Generate machine config patch for this node if necessary.
|
# Generate machine config patch for this node if necessary.
|
||||||
NODE_SETUP_DIR="${WC_HOME}/setup/cluster-nodes"
|
NODE_SETUP_DIR="${WC_HOME}/setup/cluster-nodes"
|
||||||
@@ -288,8 +288,8 @@ if [ "${SKIP_HARDWARE}" = false ]; then
|
|||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".disk" "$SELECTED_DISK"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".disk" "$SELECTED_DISK"
|
||||||
|
|
||||||
# Copy current Talos version and schematic ID to this node
|
# Copy current Talos version and schematic ID to this node
|
||||||
current_talos_version=$(get_current_config "cluster.nodes.talos.version")
|
current_talos_version=$(wild-config "cluster.nodes.talos.version")
|
||||||
current_schematic_id=$(get_current_config "cluster.nodes.talos.schematicId")
|
current_schematic_id=$(wild-config "cluster.nodes.talos.schematicId")
|
||||||
if [ -n "$current_talos_version" ] && [ "$current_talos_version" != "null" ]; then
|
if [ -n "$current_talos_version" ] && [ "$current_talos_version" != "null" ]; then
|
||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".version" "$current_talos_version"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".version" "$current_talos_version"
|
||||||
fi
|
fi
|
||||||
@@ -420,8 +420,8 @@ if [ "${SKIP_HARDWARE}" = false ]; then
|
|||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".disk" "$SELECTED_DISK"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".disk" "$SELECTED_DISK"
|
||||||
|
|
||||||
# Copy current Talos version and schematic ID to this node
|
# Copy current Talos version and schematic ID to this node
|
||||||
current_talos_version=$(get_current_config "cluster.nodes.talos.version")
|
current_talos_version=$(wild-config "cluster.nodes.talos.version")
|
||||||
current_schematic_id=$(get_current_config "cluster.nodes.talos.schematicId")
|
current_schematic_id=$(wild-config "cluster.nodes.talos.schematicId")
|
||||||
if [ -n "$current_talos_version" ] && [ "$current_talos_version" != "null" ]; then
|
if [ -n "$current_talos_version" ] && [ "$current_talos_version" != "null" ]; then
|
||||||
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".version" "$current_talos_version"
|
wild-config-set "cluster.nodes.active.\"${NODE_NAME}\".version" "$current_talos_version"
|
||||||
fi
|
fi
|
||||||
|
@@ -59,7 +59,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check cluster configuration
|
# Check cluster configuration
|
||||||
if [ -z "$(get_current_config "cluster.name")" ]; then
|
if [ -z "$(wild-config "cluster.name")" ]; then
|
||||||
print_error "Cluster configuration is missing"
|
print_error "Cluster configuration is missing"
|
||||||
print_info "Run 'wild-setup-cluster' first to configure cluster settings"
|
print_info "Run 'wild-setup-cluster' first to configure cluster settings"
|
||||||
exit 1
|
exit 1
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
#
|
#
|
||||||
# AVAILABLE FUNCTIONS:
|
# AVAILABLE FUNCTIONS:
|
||||||
# - Print functions: print_header, print_info, print_warning, print_success, print_error
|
# - Print functions: print_header, print_info, print_warning, print_success, print_error
|
||||||
# - Config functions: get_current_config, get_current_secret, prompt_with_default
|
# - Config functions: prompt_with_default
|
||||||
# - Config helpers: prompt_if_unset_config, prompt_if_unset_secret
|
# - Config helpers: prompt_if_unset_config, prompt_if_unset_secret
|
||||||
# - Validation: check_wild_directory
|
# - Validation: check_wild_directory
|
||||||
# - Utilities: command_exists, file_readable, dir_writable, generate_random_string
|
# - Utilities: command_exists, file_readable, dir_writable, generate_random_string
|
||||||
@@ -64,31 +64,7 @@ print_error() {
|
|||||||
# CONFIGURATION UTILITIES
|
# CONFIGURATION UTILITIES
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
# Function to get current config value safely
|
|
||||||
get_current_config() {
|
|
||||||
local key="$1"
|
|
||||||
if [ -f "${WC_HOME}/config.yaml" ]; then
|
|
||||||
set +e
|
|
||||||
result=$(wild-config "${key}" 2>/dev/null)
|
|
||||||
set -e
|
|
||||||
echo "${result}"
|
|
||||||
else
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to get current secret value safely
|
|
||||||
get_current_secret() {
|
|
||||||
local key="$1"
|
|
||||||
if [ -f "${WC_HOME}/secrets.yaml" ]; then
|
|
||||||
set +e
|
|
||||||
result=$(wild-secret "${key}" 2>/dev/null)
|
|
||||||
set -e
|
|
||||||
echo "${result}"
|
|
||||||
else
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to prompt for input with default value
|
# Function to prompt for input with default value
|
||||||
prompt_with_default() {
|
prompt_with_default() {
|
||||||
@@ -134,7 +110,7 @@ prompt_if_unset_config() {
|
|||||||
local default="$3"
|
local default="$3"
|
||||||
|
|
||||||
local current_value
|
local current_value
|
||||||
current_value=$(get_current_config "${config_path}")
|
current_value=$(wild-config "${config_path}")
|
||||||
|
|
||||||
if [ -z "${current_value}" ] || [ "${current_value}" = "null" ]; then
|
if [ -z "${current_value}" ] || [ "${current_value}" = "null" ]; then
|
||||||
local new_value
|
local new_value
|
||||||
@@ -153,7 +129,7 @@ prompt_if_unset_secret() {
|
|||||||
local default="$3"
|
local default="$3"
|
||||||
|
|
||||||
local current_value
|
local current_value
|
||||||
current_value=$(get_current_secret "${secret_path}")
|
current_value=$(wild-secret "${secret_path}")
|
||||||
|
|
||||||
if [ -z "${current_value}" ] || [ "${current_value}" = "null" ]; then
|
if [ -z "${current_value}" ] || [ "${current_value}" = "null" ]; then
|
||||||
local new_value
|
local new_value
|
||||||
|
Reference in New Issue
Block a user