Files
kustomize/functions/examples/validator-kubeval
yugo kobayashi 87d0629bd1 update go 1.24.6 (#5959)
* update go 1.24.6

* fix non-constant format string error

* update golang.org/x/tools@v0.36.0 and github.com/golangci/golangci-lint@v1.64.8 to pass execute golangci-lint

* add a verpose diff output to prow test

* remove pluginator binary version from generated files
2025-08-17 13:05:12 -07:00
..
2025-08-17 13:05:12 -07:00

Validation

This is an example of implementing a validation function against kubeval.

Function implementation

The function is implemented as an image, and built using make image.

The function is implemented as a go program, which reads a collection of input Resource configuration, passing each to kubeval.

Function configuration

A number of settings can be modified for kubeval in the function spec. See the API struct definition in main.go for documentation.

Function invocation

The function is invoked by authoring a local Resource with metadata.annotations.[config.kubernetes.io/function] and running:

kustomize fn run local-resource/

This exists non-zero if kubeval detects an invalid Resource.

Running the Example

Run the validator with:

kustomize fn run local-resource/

This will return an error:

Resource invalid: (Kind: Service, Name: svc)
prots: Additional property prots is not allowed
Error: exit status 1

Now fix the typo in example-use.yaml and run:

kustomize fn run local-resource/

This will return success (no output).