35 lines
1.8 KiB
HCL
35 lines
1.8 KiB
HCL
# This file handles environment variable loading from .env file
|
|
|
|
locals {
|
|
# Parse .env file if it exists and make variables available
|
|
env_file_exists = fileexists("${path.module}/.env")
|
|
|
|
# Read and parse .env file content
|
|
env_file_content = local.env_file_exists ? file("${path.module}/.env") : ""
|
|
|
|
# Convert lines to key-value pairs
|
|
env_vars = local.env_file_exists ? {
|
|
for line in compact(split("\n", local.env_file_content)) :
|
|
trimspace(split("=", line)[0]) => trimspace(join("=", slice(split("=", line), 1, length(split("=", line)))))
|
|
if length(split("=", line)) > 1 && !startswith(trimspace(line), "#")
|
|
} : {}
|
|
|
|
# Environment variables that can override Terraform variables
|
|
server_ip_override = lookup(local.env_vars, "SERVER_IP", "")
|
|
worker_ips_override = lookup(local.env_vars, "WORKER_IPS", "")
|
|
ssh_user_override = lookup(local.env_vars, "SSH_USER", "")
|
|
ssh_private_key_override = lookup(local.env_vars, "SSH_PRIVATE_KEY", "")
|
|
domain_override = lookup(local.env_vars, "DOMAIN", "")
|
|
k3s_version_override = lookup(local.env_vars, "K3S_VERSION", "")
|
|
}
|
|
|
|
# Use environment variables if provided, otherwise use terraform.tfvars values
|
|
locals {
|
|
effective_server_ip = local.server_ip_override != "" ? local.server_ip_override : var.server_ip
|
|
effective_worker_ips = local.worker_ips_override != "" ? split(",", local.worker_ips_override) : var.worker_ips
|
|
effective_ssh_user = local.ssh_user_override != "" ? local.ssh_user_override : var.ssh_user
|
|
effective_ssh_private_key = local.ssh_private_key_override != "" ? local.ssh_private_key_override : var.ssh_private_key
|
|
effective_domain = local.domain_override != "" ? local.domain_override : var.domain
|
|
effective_k3s_version = local.k3s_version_override != "" ? local.k3s_version_override : var.k3s_version
|
|
}
|