summaryrefslogtreecommitdiff
path: root/jobs/nginx.nomad.hcl
diff options
context:
space:
mode:
Diffstat (limited to 'jobs/nginx.nomad.hcl')
-rw-r--r--jobs/nginx.nomad.hcl123
1 files changed, 0 insertions, 123 deletions
diff --git a/jobs/nginx.nomad.hcl b/jobs/nginx.nomad.hcl
deleted file mode 100644
index 2ed377f..0000000
--- a/jobs/nginx.nomad.hcl
+++ /dev/null
@@ -1,123 +0,0 @@
-job "virtual-hosting" {
- group "nginx" {
- count = 1
-
- network {
- port "http" {
- static = 80
- }
- port "https" {
- static = 443
- }
- }
-
- volume "certs" {
- type = "host"
- source = "ca-certificates"
- read_only = true
- }
-
- task "nginx" {
- driver = "docker"
-
- resources {
- cpu = 50
- memory = 20
- }
-
- volume_mount {
- volume = "certs"
- destination = "/var/local/certs"
- }
-
- config {
- image = "nginx:1.25-alpine"
- ports = ["http", "https"]
-
- volumes = [
- "local:/etc/nginx/conf.d",
- ]
- }
-
- template {
- data = <<EOF
-{{- range nomadServices -}}
- {{- $hostname := "" -}}
- {{- $certname := "" -}}
- {{- $default := "" -}}
- {{- range $tag := .Tags -}}
- {{- if $tag | regexMatch "nginx.hostname=" -}}
- {{- $hostname = $tag | replaceAll "nginx.hostname=" "" -}}
- {{- end -}}
- {{- if $tag | regexMatch "nginx.certname=" -}}
- {{- $certname = $tag | replaceAll "nginx.certname=" "" -}}
- {{- end -}}
- {{- if $tag | regexMatch "nginx.default_server" -}}
- {{- $default = "default_server" -}}
- {{- end -}}
- {{- end -}}
- {{- if eq $hostname "" -}}
- {{- continue -}}
- {{- end -}}
-
- {{- $upstream := .Name | toLower | regexReplaceAll "[^a-z0-9\\-._]" "" -}}
-
-################################################
-upstream {{ $upstream }} {
- {{- range nomadService .Name }}
- server {{ .Address }}:{{ .Port }};
- {{- end }}
-}
-
-server {
- listen 80 {{ $default }};
- listen [::]:80 {{ $default }};
- http2 on;
- server_name {{ $hostname }};
-
- location / {
- proxy_pass http://{{ $upstream }};
-
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-Host $host;
- proxy_set_header X-Forwarded-Port $server_port;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
- proxy_set_header Upgrade $http_upgrade;
- }
-}
-
-{{ if ne $certname "" -}}
-server {
- listen 443 ssl {{ $default }};
- listen [::]:443 ssl {{ $default }};
- http2 on;
- server_name {{ $hostname }};
-
- ssl_certificate /var/local/certs/certificates/{{ $certname }}.crt;
- ssl_certificate_key /var/local/certs/certificates/{{ $certname }}.key;
- ssl_trusted_certificate /var/local/certs/certificates/{{ $certname }}.issuer.crt;
-
- location / {
- proxy_pass http://{{ $upstream }};
-
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-Host $host;
- proxy_set_header X-Forwarded-Port $server_port;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
- proxy_set_header Upgrade $http_upgrade;
- }
-}
-{{ end -}}
-
-{{ end -}}
-EOF
-
- destination = "local/virtual-hosting.conf"
- change_mode = "signal"
- change_signal = "SIGHUP"
- }
- }
- }
-}