[GH-ISSUE #3104] Blueprint Docker Label Configuration: Region Rule Value Parsing Fails #23607

Closed
opened 2026-06-05 06:34:20 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @gnullme on GitHub (May 18, 2026).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/3104

Originally assigned to: @oschwartz10612 on GitHub.

Describe the Bug

Since switching to Blueprints with Docker labels for configuration, I encounter an issue when creating a rule for a region. The value parsing fails with the following error:

WARN: 2026/05/12 18:23:36 Blueprint application failed: Failed to apply blueprint from config: Error: Validation error: Invalid input: expected string, received number at "public-resources.my-app.rules[0].value"

Docker labels used:

  • pangolin.public-resources.my-app.name=My App
  • pangolin.public-resources.my-app.full-domain=my-app.example.org
  • pangolin.public-resources.my-app.protocol=http
  • pangolin.public-resources.my-app.targets[0].method=http
  • pangolin.public-resources.my-app.targets[0].hostname=my-app
  • pangolin.public-resources.my-app.targets[0].port=8080
  • pangolin.public-resources.my-app.targets[0].healthcheck.path=/
  • pangolin.public-resources.my-app.targets[0].healthcheck.hostname=my-app
  • pangolin.public-resources.my-app.targets[0].healthcheck.port=8080
  • pangolin.public-resources.my-app.targets[0].healthcheck.unhealthy-threshold=3
  • pangolin.public-resources.my-app.auth.sso-enabled=true
  • pangolin.public-resources.my-app.auth.sso-roles[0]=Member
  • pangolin.public-resources.my-app.rules[0].action=pass
  • pangolin.public-resources.my-app.rules[0].match=region
  • pangolin.public-resources.my-app.rules[0].value=150

When setting the value to a string (pangolin.public-resources.my-app.rules[0].value="150"), the blueprint application fails with the following error:

WARN: 2026/05/12 18:23:59 Blueprint application failed: Failed to apply blueprint from config: Error: Validation error: Value must be a valid UN M.49 region or subregion ID when match is 'region' at "public-resources.my-app.rules[0].value"

Environment

  • OS Type & Version: (e.g., Ubuntu 22.04) Debian 13
  • Pangolin Version: 1.18.4
  • Gerbil Version: 1.4.0
  • Traefik Version: 3.7.1
  • Newt Version: 1.12.5
  • Olm Version: (if applicable)

To Reproduce

  1. Create a docker compose service with rule container labels:
    • pangolin.public-resources.my-app.rules[0].action=pass
    • pangolin.public-resources.my-app.rules[0].match=region
    • pangolin.public-resources.my-app.rules[0].value=150
  2. The blueprint application fails.

Expected Behavior

I can use region values for blueprint rules as docker container labels.

Originally created by @gnullme on GitHub (May 18, 2026). Original GitHub issue: https://github.com/fosrl/pangolin/issues/3104 Originally assigned to: @oschwartz10612 on GitHub. ### Describe the Bug Since switching to Blueprints with Docker labels for configuration, I encounter an issue when creating a rule for a region. The value parsing fails with the following error: `WARN: 2026/05/12 18:23:36 Blueprint application failed: Failed to apply blueprint from config: Error: Validation error: Invalid input: expected string, received number at "public-resources.my-app.rules[0].value"` Docker labels used: - pangolin.public-resources.my-app.name=My App - pangolin.public-resources.my-app.full-domain=my-app.example.org - pangolin.public-resources.my-app.protocol=http - pangolin.public-resources.my-app.targets[0].method=http - pangolin.public-resources.my-app.targets[0].hostname=my-app - pangolin.public-resources.my-app.targets[0].port=8080 - pangolin.public-resources.my-app.targets[0].healthcheck.path=/ - pangolin.public-resources.my-app.targets[0].healthcheck.hostname=my-app - pangolin.public-resources.my-app.targets[0].healthcheck.port=8080 - pangolin.public-resources.my-app.targets[0].healthcheck.unhealthy-threshold=3 - pangolin.public-resources.my-app.auth.sso-enabled=true - pangolin.public-resources.my-app.auth.sso-roles[0]=Member - pangolin.public-resources.my-app.rules[0].action=pass - pangolin.public-resources.my-app.rules[0].match=region - pangolin.public-resources.my-app.rules[0].value=150 When setting the value to a string (pangolin.public-resources.my-app.rules[0].value="150"), the blueprint application fails with the following error: `WARN: 2026/05/12 18:23:59 Blueprint application failed: Failed to apply blueprint from config: Error: Validation error: Value must be a valid UN M.49 region or subregion ID when match is 'region' at "public-resources.my-app.rules[0].value"` ### Environment - OS Type & Version: (e.g., Ubuntu 22.04) Debian 13 - Pangolin Version: 1.18.4 - Gerbil Version: 1.4.0 - Traefik Version: 3.7.1 - Newt Version: 1.12.5 - Olm Version: (if applicable) ### To Reproduce 1. Create a docker compose service with rule container labels: - pangolin.public-resources.my-app.rules[0].action=pass - pangolin.public-resources.my-app.rules[0].match=region - pangolin.public-resources.my-app.rules[0].value=150 2. The blueprint application fails. ### Expected Behavior I can use region values for blueprint rules as docker container labels.
GiteaMirror added the bug label 2026-06-05 06:34:20 -05:00
Author
Owner

@oschwartz10612 commented on GitHub (May 20, 2026):

Will be released in the next patch or minor release in a couple of days

<!-- gh-comment-id:4503401622 --> @oschwartz10612 commented on GitHub (May 20, 2026): Will be released in the next patch or minor release in a couple of days
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#23607