allow configuring addtional proxy routes

Signed-off-by: jkoberg <jkoberg@owncloud.com>
This commit is contained in:
jkoberg
2023-11-16 15:41:27 +01:00
parent a9afb49bed
commit 69a2da889a
3 changed files with 25 additions and 1 deletions

View File

@@ -292,7 +292,7 @@ func EnsureDefaults(cfg *config.Config) {
// Sanitize sanitizes the configuration
func Sanitize(cfg *config.Config) {
if cfg.Policies == nil {
cfg.Policies = DefaultPolicies()
cfg.Policies = mergePolicies(DefaultPolicies(), cfg.AdditionalPolicies)
}
if cfg.PolicySelector == nil {
@@ -307,3 +307,21 @@ func Sanitize(cfg *config.Config) {
cfg.HTTP.Root = strings.TrimSuffix(cfg.HTTP.Root, "/")
}
}
func mergePolicies(policies []config.Policy, additionalPolicies []config.Policy) []config.Policy {
for _, p := range additionalPolicies {
found := false
for i, po := range policies {
if po.Name == p.Name {
po.Routes = append(po.Routes, p.Routes...)
policies[i] = po
found = true
break
}
}
if !found {
policies = append(policies, p)
}
}
return policies
}