mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# 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](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](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.
|