Language packs
Language packs can be used to extend Knative Functions to support additional runtimes, function signatures, operating systems, and installed tooling for functions. Language Packs are distributed through Git repositories or as a directory on a disc.
For more information see the language pack documentation.
Using external Git repositories
When creating a new function, a Git repository can be specified as the source for the template files. The Knative Extensions maintains a set of example templates which can be used during project creation.
For example, you can run the following command to use the metacontroller template for Node.js:
func create myfunc -l nodejs -t metacontroller --repository https://github.com/knative-extensions/func-tastic
Installing language packs locally
Language packs can be installed locally by using the func repository command.
For example, to add the Knative Extensions example templates, you can run the following command:
func repository add knative https://github.com/knative-extensions/func-tastic
After the Knative Extensions example templates are installed, you can use the metacontroller
template by specifying the knative
prefix in the create
command:
func create -t knative/metacontroller -l nodejs my-controller-function