Skip to main content
Version: main 🚧

Parameters

Template parameters​

Parameters let users customize specific parts of a template while keeping core settings consistent. When deploying resources from a parameterized template, the platform prompts users to enter values, which are injected into the Helm template using the .Values syntax.

For example:

property: {{ .Values.exampleVariable }}

This lets users modify exampleVariable during deployment.

Define parameters using the UI​

You can use the platform UI to add and organize parameters.

  1. Click Add parameter in the template editor.

  2. From the Section dropdown, choose or create a section (for example "Example Title") to group related parameters.

  3. Enter a unique Identifier (variable). This is used as the variable key in the template (for example, {{ .Values.variableName }}).

  4. Select a Type for the parameter. Options include String, Number, Boolean, Password, Multiline.

  5. Provide a Label that describes the parameter in a readable way for end users.

  6. Add a Description to explain what the parameter does.

  7. Toggle the Required option if this parameter must be filled before deployment.

  8. Use Allowed Options to limit user input to predefined values (e.g., some-value, another-value). Click + Add option to add more.

  9. Click Done to save the parameter.

Repeat these steps for each parameter. To delete a parameter, click the trash icon. To access advanced settings, use the Advanced... menu.

tip

Use sections to group related parameters and improve the user experience during deployment.

YAML parameter definition​

Optionally, you can also define parameters directly in YAML. This can be useful for templates shared using Git or automated deployment workflows.

dialog box for user input
- variable: mylabelvalue
label: StatefulSet Label
description: Please select the value for the statefulset "my-label" key
options:
- one
- two
section: Labels

The platform renders this as a user input dialog when deploying the resource.

You can also use regular expression based validation for free-form fields:

Free-form text field
- variable: anotherlabelvalue
label: AnImportantValue
description: Please enter this very important value
section: Important Values
required: true
validation: "^\w+{8,63}$"

Access parameter values in templates​

Access parameter values using Go template syntax:

accessing parameter values
labels:
my-label: "{{ .Values.mylabelvalue }}"

Platform-specific parameter values​

The platform also provides built-in parameter values based on the deployment context. These are available under the loft key:

Context ObjectKeyDescription
ProjectprojectName of the project that owns the deployment
SpacespaceName of the space (if applicable)
VirtualClustervirtualClusterNameName of the virtual cluster (if applicable)
ClusterclusterName of the physical Kubernetes cluster
VirtualClusterNamespacevirtualClusterNamespaceNamespace of the virtual cluster

You can use them in your template:

Accessing platform parameters
labels:
my-label: "{{ .Values.loft.virtualClusterName }}"