terraform { required_providers { nomad = { source = "hashicorp/nomad" version = "~> 2.0" } null = { source = "hashicorp/null" version = "~> 3.0" } } } # 测试 onecloud1 服务器配置 resource "null_resource" "deploy_onecloud1_config" { provisioner "file" { source = "${path.root}/../../nomad-configs-tofu/onecloud1-server.hcl" destination = "/tmp/nomad.hcl" connection { type = "ssh" user = "ben" password = "3131" host = "onecloud1.tailnet-68f9.ts.net" timeout = "30s" } } provisioner "remote-exec" { inline = [ "echo '开始部署 onecloud1 服务器配置'", "sudo systemctl stop nomad || true", "sudo mkdir -p /etc/nomad.d", "sudo cp /tmp/nomad.hcl /etc/nomad.d/nomad.hcl", "sudo chown nomad:nomad /etc/nomad.d/nomad.hcl", "sudo systemctl start nomad", "sudo systemctl enable nomad", "sleep 15", "sudo systemctl status nomad --no-pager", "echo 'onecloud1 服务器配置部署完成'" ] connection { type = "ssh" user = "ben" password = "3131" host = "onecloud1.tailnet-68f9.ts.net" timeout = "30s" } } # 触发器:配置文件变化时重新部署 triggers = { config_hash = filemd5("${path.root}/../../nomad-configs-tofu/onecloud1-server.hcl") } } # 输出部署状态 output "onecloud1_deployment" { value = "onecloud1 服务器配置已部署" description = "onecloud1 节点部署状态" }