Files
kustomize/functions/examples/injection-tshirt-sizes
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

Injection

This is an example of implementing an injection 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 build --enable-alpha-plugins local-resource/

This exits non-zero if there is an error.

Running the Example

Run the validator with:

kustomize build --enable-alpha-plugins local-resource/

This will add resource reservations to the Deployment. Change the tshirt-size annotation from medium to small and rerun:

kustomize build --enable-alpha-plugins local-resource/

Observe that the reservations have changed.