forked from Fediversity/Fediversity
35 lines
1.2 KiB
HCL
35 lines
1.2 KiB
HCL
locals {
|
|
disk_encryption_key_scripts = [for k in var.disk_encryption_key_scripts : "\"${k.path}\" \"${k.script}\""]
|
|
removed_phases = setunion(var.stop_after_disko ? ["install"] : [], (var.no_reboot ? ["reboot"] : []))
|
|
phases = setsubtract(var.phases, local.removed_phases)
|
|
arguments = jsonencode({
|
|
ssh_private_key = var.ssh_private_key
|
|
debug_logging = var.debug_logging
|
|
kexec_tarball_url = var.kexec_tarball_url
|
|
nixos_partitioner = var.nixos_partitioner
|
|
nixos_system = var.nixos_system
|
|
target_user = var.target_user
|
|
target_host = var.target_host
|
|
target_port = var.target_port
|
|
target_pass = var.target_pass
|
|
extra_files_script = var.extra_files_script
|
|
build_on_remote = var.build_on_remote
|
|
flake = var.flake
|
|
phases = join(",", local.phases)
|
|
nixos_generate_config_path = var.nixos_generate_config_path
|
|
nixos_facter_path = var.nixos_facter_path
|
|
})
|
|
}
|
|
|
|
resource "null_resource" "nixos-remote" {
|
|
triggers = {
|
|
instance_id = var.instance_id
|
|
}
|
|
provisioner "local-exec" {
|
|
environment = merge({
|
|
ARGUMENTS = local.arguments
|
|
}, var.extra_environment)
|
|
command = "${path.module}/run-nixos-anywhere.sh ${join(" ", local.disk_encryption_key_scripts)}"
|
|
quiet = var.debug_logging
|
|
}
|
|
}
|