Merge pull request #5889 from dokku/5855-properly-disable-dashboard

Respect dashboard disabling properties in traefik
This commit is contained in:
josegonzalez
2023-05-28 16:04:05 -04:00
committed by GitHub
2 changed files with 57 additions and 1 deletions

View File

@@ -24,7 +24,7 @@ services:
{{ end }}
labels:
{{ if $.TRAEFIK_API_ENABLED }}
{{ if eq $.TRAEFIK_API_ENABLED "true" }}
# Dashboard
- "traefik.http.routers.api.rule=Host(`{{ $.TRAEFIK_API_VHOST }}`)"
- "traefik.http.routers.api.service=api@internal"

View File

@@ -7,6 +7,7 @@ setup() {
dokku nginx:stop
dokku traefik:set --global letsencrypt-server https://acme-staging-v02.api.letsencrypt.org/directory
dokku traefik:set --global letsencrypt-email
dokku traefik:set --global api-enabled
dokku traefik:start
create_app
}
@@ -84,6 +85,61 @@ teardown() {
assert_output "python/http.server"
}
@test "(traefik) traefik:set api" {
run /bin/bash -c "dokku proxy:set $TEST_APP traefik"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "docker inspect traefik-traefik-1 --format '{{ index .Config.Labels \"traefik.http.routers.api.rule\" }}'"
echo "output: $output"
echo "status: $status"
assert_output_not_exists
assert_success
run /bin/bash -c "dokku traefik:set --global api-enabled false"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku traefik:stop"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku traefik:start"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "docker inspect traefik-traefik-1 --format '{{ index .Config.Labels \"traefik.http.routers.api.rule\" }}'"
echo "output: $output"
echo "status: $status"
assert_output_not_exists
assert_success
run /bin/bash -c "dokku traefik:set --global api-enabled true"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku traefik:stop"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku traefik:start"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "docker inspect traefik-traefik-1 --format '{{ index .Config.Labels \"traefik.http.routers.api.rule\" }}'"
echo "output: $output"
echo "status: $status"
assert_output "Host(\`traefik.dokku.me\`)"
assert_success
}
@test "(traefik) traefik:set priority" {
run /bin/bash -c "dokku proxy:set $TEST_APP traefik"
echo "output: $output"