From 5f834b4f271c79d5def17a4aba1ce46006c7b9dc Mon Sep 17 00:00:00 2001 From: "Wachter, Julian" Date: Wed, 26 Nov 2025 12:28:07 +0100 Subject: [PATCH 1/2] feat(validator): use jsonschema Draft2020 --- pkg/validator/validator.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkg/validator/validator.go b/pkg/validator/validator.go index 3c9d6f6..7327271 100644 --- a/pkg/validator/validator.go +++ b/pkg/validator/validator.go @@ -5,6 +5,11 @@ import ( "context" "errors" "fmt" + "io" + "os" + "strings" + "time" + jsonschema "github.com/santhosh-tekuri/jsonschema/v6" "github.com/yannh/kubeconform/pkg/cache" "github.com/yannh/kubeconform/pkg/loader" @@ -12,11 +17,7 @@ import ( "github.com/yannh/kubeconform/pkg/resource" "golang.org/x/text/language" "golang.org/x/text/message" - "io" - "os" "sigs.k8s.io/yaml" - "strings" - "time" ) // Different types of validation results @@ -375,7 +376,7 @@ func downloadSchema(registries []registry.Registry, l jsonschema.SchemeURLLoader c := jsonschema.NewCompiler() c.RegisterFormat(&jsonschema.Format{"duration", validateDuration}) c.UseLoader(l) - c.DefaultDraft(jsonschema.Draft4) + c.DefaultDraft(jsonschema.Draft2020) if err := c.AddResource(path, s); err != nil { continue } From 49066ce3657acbfe6d8f1e95da9e0fb1d4d668f8 Mon Sep 17 00:00:00 2001 From: "Wachter, Julian" Date: Wed, 26 Nov 2025 12:40:13 +0100 Subject: [PATCH 2/2] feat(validator): add c.AssertFormat() to fix tests --- pkg/validator/validator.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/validator/validator.go b/pkg/validator/validator.go index 7327271..9aa516c 100644 --- a/pkg/validator/validator.go +++ b/pkg/validator/validator.go @@ -377,6 +377,7 @@ func downloadSchema(registries []registry.Registry, l jsonschema.SchemeURLLoader c.RegisterFormat(&jsonschema.Format{"duration", validateDuration}) c.UseLoader(l) c.DefaultDraft(jsonschema.Draft2020) + c.AssertFormat() if err := c.AddResource(path, s); err != nil { continue }