63 lines
1.5 KiB
HCL
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 节点部署状态"
|
|
} |