Files
kustomize/functions/examples/validator-resource-requests
Sebastiaan van Stijn 2867f353c2 downgrade go-difflib and go-spew to tagged releases (#5830)
* workspace sync

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

* downgrade go-difflib and go-spew to tagged releases

commit d35edbf80d updated these dependencies
to untagged versions. The diff in both dependencies show that there's no
code changes, and it's unlikely for those modules to do new releases.

Unfortunate, because of that change all projects depending on kubernetes
or any of it's modules now had to upgrade to unreleased versions of
these.

This patch reverts those updates (but it may take some time before
all other projects can be reverted).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

---------

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-07 03:48:28 +01:00
..

Validation

This is an example of implementing a validation function.

This example is written in go and uses the kyaml libraries for parsing the input and writing the output. Writing in go is not a requirement.

Function implementation

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

The template is implemented as a go program, which reads a collection of input Resource configuration, and looks for invalid configuration.

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 there is an error.

Running the Example

Run the validator with:

kustomize fn run local-resource/

This will return an error:

cpu-requests missing for container nginx

Now uncomment the resource reservations and run again:

kustomize fn run local-resource/

This will return success