Skip to content

Commit

Permalink
Merge pull request #448 from Kong/revert-441-issue-421
Browse files Browse the repository at this point in the history
Revert "prevent user overwrite default configuration"
  • Loading branch information
ccfish2 committed Jun 23, 2021
2 parents af7c344 + f048561 commit 704b7ca
Showing 1 changed file with 0 additions and 68 deletions.
68 changes: 0 additions & 68 deletions file/validate.go
Original file line number Diff line number Diff line change
@@ -1,70 +1,13 @@
package file

import (
"encoding/json"
"fmt"
"strings"

ghodss "github.com/ghodss/yaml"
"github.com/kong/deck/utils"
"github.com/xeipuuv/gojsonschema"
)

func check(item string, t *string) string {
if t != nil || len(*t) > 0 {
return item
}
return ""
}

func checkDefaults(kd KongDefaults) error {
var invalid []string
if ret := check("Service.ID", kd.Service.ID); len(ret) > 0 {
invalid = append(invalid, "Service.ID")
}

if ret := check("Service.Host", kd.Service.Host); len(ret) > 0 {
invalid = append(invalid, "Service.Host")
}

if ret := check("Service.Name", kd.Service.Name); len(ret) > 0 {
invalid = append(invalid, "Service.Name")
}

if kd.Service.Port != nil {
invalid = append(invalid, "Service.Port")
}

if ret := check("Route.Name", kd.Route.Name); len(ret) > 0 {
invalid = append(invalid, "Route.Name")
}

if ret := check("Route.ID", kd.Route.ID); len(ret) > 0 {
invalid = append(invalid, "Route.ID")
}

if ret := check("Target.Target", kd.Target.Target); len(ret) > 0 {
invalid = append(invalid, "Target.Target")
}

if ret := check("Target.ID", kd.Target.ID); len(ret) > 0 {
invalid = append(invalid, "Target.ID")
}

if ret := check("Upstream.Name", kd.Upstream.Name); len(ret) > 0 {
invalid = append(invalid, "Upstream.Name")
}

if ret := check("Upstream.ID", kd.Upstream.ID); len(ret) > 0 {
invalid = append(invalid, "Upstream.ID")
}

if len(invalid) > 0 {
return fmt.Errorf("unacceptable fields in defaults: %s", strings.Join(invalid, ", "))
}
return nil
}

func validate(content []byte) error {
var c map[string]interface{}
err := ghodss.Unmarshal(content, &c)
Expand All @@ -86,16 +29,5 @@ func validate(content []byte) error {
err := fmt.Errorf(desc.String())
errs.Errors = append(errs.Errors, err)
}

var kongdefaults *KongDefaults
if err := json.Unmarshal(content, kongdefaults); err != nil {
return fmt.Errorf("unmarshaling file into KongDefaults: %w", err)
}
if kongdefaults != nil {
if err := checkDefaults(*kongdefaults); err != nil {
return fmt.Errorf("default values are not allowed for these fields: %w", err)
}
}

return errs
}

0 comments on commit 704b7ca

Please sign in to comment.