Files
apk-deploy-02/terraform/infra/dev/env.tf

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
}