functions/examples/template-go-nginx/README.md
This is an example of implementing a template function using a go template.
This example uses a more sophisticated approach for building abstractions.
The function is implemented as an image, and built using make image.
The template is implemented as a go program with a go template. It parses the
functionConfig into a go struct and uses the kyaml module for parsing the
function input, and writing the function output.
NAME.yaml)The function is invoked by authoring a local Resource
with metadata.annotations.[config.kubernetes.io/function] and running:
kustomize fn run local-resource/
This generates the local-resource/config directory containing the template output.
runexample-use.yaml may be changed and rerunning run will update
only the parts changed in the template output.Run the config with:
kustomize build --enable-alpha-plugins local-resource/
This will create the directory
local-resource/config
Add an annotation to the Deployment Resource and change the replica count of the
kind: Nginx Resource in example-use.yaml. Rerun the template:
kustomize build --enable-alpha-plugins local-resource/
The replica count should be updated, but your annotation should remain.