ConfigureSettingsAnnotations
All available annotations for StormForge configuration
You're viewing the 2.x documentation. For the most recent release, see the latest StormForge documentation.
The purpose of this topic is to describe how to use annotations to configure optimization settings.
Topics:
To configure settings an individual workload, edit the resource definition or run kubectl annotate.
Workload optimization settings are defined by annotations in the metadata.annotations section of a Deployment, StatefulSet, or other supported workload resource type.
Workload optimization settings:
Open the workload definition in your favorite editor. This is commonly done using commands like these (remember to replace DEPLOYMENT and FILENAME with your own values):
kubectl get deployment DEPLOYMENT -o yaml > FILENAME && $EDITOR FILENAME
or:
kubectl edit deployment DEPLOYMENT
Edit the metadata.annotations section to include the annotations you need. For a complete list of annotations for StormForge settings, see the Optimization settings and descriptions topic.
Your file will look something like this:
apiVersion: apps/v1 # ⎡ just an example; represents any ⎤
kind: Deployment # ⎣ supported workload resource type ⎦
metadata:
name: example-workload-name
annotations:
live.stormforge.io/schedule: "@daily"
live.stormforge.io/auto-deploy: "Enabled"
...
To save time, you can copy the complete list of annotations from the sample Deployment YAML excerpt on the Workload tab in the Copy a template section of the configuration topic.
Save your changes.
If you chose to run the kubectl get deployment DEPLOYMENT -o yaml > FILENAME ... command in step 1, apply your changes.
kubectl apply -f FILENAME
Optional: Confirm your changes by running the following command and then reviewing the annotations in the metadata.annotations section of the output:
kubectl get deployment DEPLOYMENT -o yaml
kubectl annotate commandRun the kubectl annotate command and include the annotation=value pairs you want to set.
The Kubernetes object you annotate should be the workload resource itself, such as a Deployment or StatefulSet.
As an example, a kubectl annotate for a Deployment workload might look something like this (remember to replace NAME with your appropriate value):
kubectl annotate deployment NAME \
live.stormforge.io/schedule="@daily" \
live.stormforge.io/auto-deploy="Enabled" \
live.stormforge.io/containers.cpu.requests.min="20m" \
live.stormforge.io/containers.cpu.requests.max="16000m"
To save time, you can copy the pairs you need from the sample Namespace YAML excerpt on the Namespace tab in the Copy a template section of the configuration topic. Be sure to replace the : separator from the template with = as shown in the sample command above.
Optional: To confirm your changes, run the following command and review the annotations in the .metadata.annotations section of the output:
kubectl get deployment NAME -o yaml