Form UI with (x-ui-* tags)
Facets modules support dynamic, user-friendly form rendering through x-ui extension fields in facets. YAML. These extensions control how inputs are displayed, validated, and interacted with, enabling smart defaults, conditional logic, API-driven dropdowns, YAML editors, and more.
This guide quickly references all supported x-ui fields, helping you build intuitive and robust configuration UIs for your modules.
Here is the table sorted alphabetically first by Category, then by Tag:
Category | Tag | Short Description |
---|---|---|
Conditional Display | x-ui-visible-if | Conditionally display this field only if another field has a specific value. For example, show replicaCount only if deploymentType is set to "ReplicaSet". |
Dynamic Data Sources | x-ui-dynamic-enum | Populates a dropdown based on values from another field. For example, allow selecting a port for a health check from the list of container ports defined in the same deployment. |
Dynamic Data Sources | x-ui-output-type | Marks the field as a special output type. For example, an Ingress upstream can be selected from available Services that export a compatible output interface. |
Dynamic Data Sources | x-ui-secret-ref | Allows the field value to reference a secret defined at the project level. For example, link to a stored API key without exposing its value. |
Dynamic Data Sources | x-ui-variable-ref | Allows the field value to reference a variable defined at the project level. For example, reuse a common region or environment name. |
Environment Management | x-ui-overrides-only | Show this field only when overriding for a specific environment. For example, a CIDR block must be set per environment and shouldn't have a default value. |
Environment Management | x-ui-override-disable | Prevents a field from being modified by the user for any environment - ensuring that a blueprinted or default value remains intact. |
Form Layout & Presentation | x-ui-order | Specify the rendering order of fields. |
Form Layout & Presentation | x-ui-placeholder | Provide example input placeholder text. |
Form Layout & Presentation | x-ui-toggle | Renders a group of fields as a collapsible section. For example, show health check settings inside a deployment only if the user chooses to enable health checks. |
Form Layout & Presentation | x-ui-yaml-editor | Enables a YAML editor for complex object fields. For example, custom values.yaml for a Helm chart deployment. |
Validation & Error Handling | x-ui-error-message | Defines a custom error message to show when validation fails. For example, “CIDR must be a valid private IP block” for a pattern mismatch. |
Detailed Examples
Conditional Display
x-ui-visible-if
: Conditionally shows fields based on another field’s value.
readiness_timeout:
type: integer
title: Readiness Timeout
default: 10
minimum: 0
maximum: 10000
x-ui-placeholder: "Enter readiness timeout for the Pod"
x-ui-error-message: "Value must be between 0 and 10000"
x-ui-visible-if:
field: spec.runtime.health_checks.readiness_check_type
values: ["PortCheck", "HttpCheck", "ExecCheck"]

Dynamic Data Sources
x-ui-dynamic-enum
: Dynamically populates enum values from a schema path.
readiness_port:
type: string
title: Readiness Port
x-ui-dynamic-enum: spec.runtime.ports.*.port
x-ui-disable-tooltip: "No Ports Added"

x-ui-output-type
: Lists down all the resources whose output is of type mentioned in "x-ui-output-type".
arn:
title: ARN
type: string
pattern: '^(arn:aws:iam::(\d{12}|aws):policy\/[A-Za-z0-9+=,.@\-_]+|\$\{[A-Za-z0-9._-]+\})$'
x-ui-error-message: "Value doesn't match pattern, accepted value pattern
x-ui-output-type: "iam_policy_arn"

x-ui-secret-ref
: Allows referencing or creating secrets.
db_password:
type: string
x-ui-secret-ref: true

x-ui-variable-ref
:Allows referencing or creating variables.
db_username:
type: string
x-ui-variable-ref: true

Environment Management
x-ui-overrides-only
: Only visible at the environment level and not visible at the blueprint level
cidr:
type: string
default: "defaultValue"
x-ui-overrides-only: true

x-ui-override-disable
:Only visible at the blueprint level and not visible at the environment level
restart_policy:
type: string
title: Restart Policy
description: Restart Policy- Always, OnFailure, Never
x-ui-override-disable: true
enum:
- Always
- OnFailure
- Never

Form Layout & Presentation
x-ui-order
: Controls the exact order of rendered fields.
x-ui-order:
- restart_policy
- db_password
- memory

x-ui-placeholder
memory:
type: string
title: Memory
x-ui-placeholder: "Enter Memory (e.g., 1Gi or 512Mi)"

x-ui-toggle
: Sets value for collapsible groups. If true, the group is collapsed by default every time the form is rendered.
cloud_permissions:
type: object
title: Cloud Permissions
description: Assign roles, define access levels
x-ui-toggle: false
properties:
aws:
type: object
title: AWS
x-ui-toggle: true

x-ui-yaml-editor
:YAML editor for object-type fields.
values:
type: object
title: Values
description: YAML Editor
x-ui-yaml-editor: true

Validation & Error Handling
x-ui-error-message
: Customises error messages on validation.
memory:
type: string
pattern: "^\\d+(Mi|Gi)$"
x-ui-error-message: "Invalid memory format. Use Gi or Mi."

Updated 4 days ago