68 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HCL
		
	
	
	
| job "traefik-simple" {
 | |
|   datacenters = ["dc1"]
 | |
|   type = "service"
 | |
| 
 | |
|   group "traefik" {
 | |
|     count = 1
 | |
| 
 | |
|     constraint {
 | |
|       attribute = "${node.unique.name}"
 | |
|       value     = "hcp1"
 | |
|     }
 | |
| 
 | |
|     network {
 | |
|       mode = "host"
 | |
|       port "http" {
 | |
|         static = 80
 | |
|         host_network = "tailscale0"
 | |
|       }
 | |
|       port "traefik" {
 | |
|         static = 8080
 | |
|         host_network = "tailscale0"
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     task "traefik" {
 | |
|       driver = "exec"
 | |
|       
 | |
|       config {
 | |
|         command = "/usr/local/bin/traefik"
 | |
|         args = [
 | |
|           "--configfile=/local/traefik.yml"
 | |
|         ]
 | |
|       }
 | |
| 
 | |
|       template {
 | |
|         data = <<EOF
 | |
| api:
 | |
|   dashboard: true
 | |
|   insecure: true
 | |
| 
 | |
| entryPoints:
 | |
|   web:
 | |
|     address: "0.0.0.0:80"
 | |
|   traefik:
 | |
|     address: "0.0.0.0:8080"
 | |
| 
 | |
| providers:
 | |
|   consulCatalog:
 | |
|     endpoint:
 | |
|       address: "warden.tailnet-68f9.ts.net:8500"
 | |
|       scheme: "http"
 | |
|     watch: true
 | |
|     exposedByDefault: false
 | |
|     prefix: "traefik"
 | |
| 
 | |
| log:
 | |
|   level: INFO
 | |
| EOF
 | |
|         destination = "local/traefik.yml"
 | |
|       }
 | |
| 
 | |
|       resources {
 | |
|         cpu = 500
 | |
|         memory = 512
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| } |