mgmt/infrastructure/opentofu/modules/nomad-config/main.tf

63 lines
1.5 KiB
HCL

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 节点部署状态"
}