{{ env:ENV_VAR }}
The func.yaml
file contains the configuration for your function project. Values specified in func.yaml
are used when you execute a kn func
command. For example, when you run the kn func build
command, the value in the build
field is used. In some cases, you can override these values with command line flags or environment variables.
If you want to avoid storing sensitive information such as an API key in the function configuration, you can add a reference to an environment variable available in the local environment. You can do this by modifying the envs
field in the func.yaml
file.
You need to have the function project created.
The local environment needs to contain the variable that you want to reference.
To refer to a local environment variable, use the following syntax:
{{ env:ENV_VAR }}
Substitute ENV_VAR
with the name of the variable in the local environment that you want to use.
For example, you might have the API_KEY
variable available in the local environment. You can assign its value to the MY_API_KEY
variable, which you can then directly use within your function:
name: test
namespace: ""
runtime: go
...
envs:
- name: MY_API_KEY
value: '{{ env:API_KEY }}'
...
You can add Kubernetes annotations to a deployed Serverless function. Annotations enable you to attach arbitrary metadata to a function, for example, a note about the function’s purpose. Annotations are added to the annotations
section of the func.yaml
configuration file.
There are two limitations of the function annotation feature:
After a function annotation propagates to the corresponding Knative service on the cluster, it cannot be removed from the service by deleting it from the func.yaml
file. You must remove the annotation from the Knative service by modifying the YAML file of the service directly, or by using the OpenShift Container Platform web console.
You cannot set annotations that are set by Knative, for example, the autoscaling
annotations.
You can add annotations to a function. Similar to a label, an annotation is defined as a key-value map. Annotations are useful, for example, for providing metadata about a function, such as the function’s author.
The OpenShift Serverless Operator and Knative Serving are installed on the cluster.
You have installed the Knative (kn
) CLI.
You have created a function.
Open the func.yaml
file for your function.
For every annotation that you want to add, add the following YAML to the annotations
section:
name: test
namespace: ""
runtime: go
...
annotations:
<annotation_name>: "<annotation_value>" (1)
1 | Substitute <annotation_name>: "<annotation_value>" with your annotation. |
For example, to indicate that a function was authored by Alice, you might include the following annotation:
name: test
namespace: ""
runtime: go
...
annotations:
author: "alice@example.com"
Save the configuration.
The next time you deploy your function to the cluster, the annotations are added to the corresponding Knative service.