1
0
Fork 0

Make the aggregator compute provider namespace for router's parentRefs

Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
This commit is contained in:
Romain 2025-11-07 15:56:04 +01:00 committed by GitHub
parent 83beb8a19c
commit 9e04dd6a3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 2 deletions

View file

@ -42,10 +42,10 @@
[http.routers.admin-router] [http.routers.admin-router]
rule = "Header(`X-User-Role`, `admin`)" rule = "Header(`X-User-Role`, `admin`)"
service = "admin-service" service = "admin-service"
parentRefs = ["parent-router@file"] parentRefs = ["parent-router"]
# Child router for developer role # Child router for developer role
[http.routers.developer-router] [http.routers.developer-router]
rule = "Header(`X-User-Role`, `developer`)" rule = "Header(`X-User-Role`, `developer`)"
service = "developer-service" service = "developer-service"
parentRefs = ["parent-router@file"] parentRefs = ["parent-router"]

View file

@ -65,6 +65,16 @@ func mergeConfiguration(configurations dynamic.Configurations, defaultEntryPoint
Msg("Router's `ruleSyntax` option is deprecated, please remove any usage of this option.") Msg("Router's `ruleSyntax` option is deprecated, please remove any usage of this option.")
} }
var qualifiedParentRefs []string
for _, parentRef := range router.ParentRefs {
if parts := strings.Split(parentRef, "@"); len(parts) == 1 {
parentRef = provider.MakeQualifiedName(pvd, parentRef)
}
qualifiedParentRefs = append(qualifiedParentRefs, parentRef)
}
router.ParentRefs = qualifiedParentRefs
conf.HTTP.Routers[provider.MakeQualifiedName(pvd, routerName)] = router conf.HTTP.Routers[provider.MakeQualifiedName(pvd, routerName)] = router
} }
for middlewareName, middleware := range configuration.HTTP.Middlewares { for middlewareName, middleware := range configuration.HTTP.Middlewares {