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