diff --git a/.gitignore b/.gitignore index 373597d..b07d0d2 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,8 @@ rebar3.crashdump docker/.env /Mnesia.*/ /doc/ + +# Traefik TLS private keys (generated locally for dev/staging). +# Никогда не коммитим приватный ключ в репозиторий. +docker/traefik/certs/*.key +docker/traefik/certs/*.pem diff --git a/docker/traefik/dynamic_conf.yml b/docker/traefik/dynamic_conf.yml index e649074..e3a1633 100644 --- a/docker/traefik/dynamic_conf.yml +++ b/docker/traefik/dynamic_conf.yml @@ -53,6 +53,39 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] service: "api" + api-dev: + rule: "Host(`api.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-dev-secure: + rule: "Host(`api.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-ift: + rule: "Host(`api.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-ift-secure: + rule: "Host(`api.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-stage: + rule: "Host(`api.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-stage-secure: + rule: "Host(`api.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" api-secure: rule: "Host(`api.eventhub.local`)" entryPoints: ["websecure"] @@ -66,6 +99,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "ws" + ws-dev: + rule: "Host(`ws.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-dev-secure: + rule: "Host(`ws.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" + ws-ift: + rule: "Host(`ws.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-ift-secure: + rule: "Host(`ws.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" + ws-stage: + rule: "Host(`ws.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-stage-secure: + rule: "Host(`ws.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" ws-secure: rule: "Host(`ws.eventhub.local`)" entryPoints: ["websecure"] @@ -78,6 +141,39 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] service: "admin-api" + admin-api-dev: + rule: "Host(`admin-api.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-dev-secure: + rule: "Host(`admin-api.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-ift: + rule: "Host(`admin-api.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-ift-secure: + rule: "Host(`admin-api.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-stage: + rule: "Host(`admin-api.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-stage-secure: + rule: "Host(`admin-api.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" admin-api-secure: rule: "Host(`admin-api.eventhub.local`)" entryPoints: ["websecure"] @@ -91,6 +187,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "admin-ws" + admin-ws-dev: + rule: "Host(`admin-ws.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-dev-secure: + rule: "Host(`admin-ws.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" + admin-ws-ift: + rule: "Host(`admin-ws.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-ift-secure: + rule: "Host(`admin-ws.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" + admin-ws-stage: + rule: "Host(`admin-ws.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-stage-secure: + rule: "Host(`admin-ws.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" admin-ws-secure: rule: "Host(`admin-ws.eventhub.local`)" entryPoints: ["websecure"] @@ -103,6 +229,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "admin-ui-service" + admin-ui-dev: + rule: "Host(`admin-ui.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-dev-secure: + rule: "Host(`admin-ui.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" + admin-ui-ift: + rule: "Host(`admin-ui.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-ift-secure: + rule: "Host(`admin-ui.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" + admin-ui-stage: + rule: "Host(`admin-ui.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-stage-secure: + rule: "Host(`admin-ui.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" admin-ui-secure: rule: "Host(`admin-ui.eventhub.local`)" entryPoints: ["websecure"] @@ -115,6 +271,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "client-ui-service" + client-ui-dev: + rule: "Host(`ui.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-dev-secure: + rule: "Host(`ui.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" + client-ui-ift: + rule: "Host(`ui.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-ift-secure: + rule: "Host(`ui.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" + client-ui-stage: + rule: "Host(`ui.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-stage-secure: + rule: "Host(`ui.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" client-ui-secure: rule: "Host(`ui.eventhub.local`)" entryPoints: ["websecure"]