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:

CategoryTagShort Description
Conditional Displayx-ui-visible-ifConditionally display this field only if another field has a specific value. For example, show replicaCount only if deploymentType is set to "ReplicaSet".
Dynamic Data Sourcesx-ui-dynamic-enumPopulates 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 Sourcesx-ui-output-typeMarks 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 Sourcesx-ui-secret-refAllows 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 Sourcesx-ui-variable-refAllows the field value to reference a variable defined at the project level. For example, reuse a common region or environment name.
Environment Managementx-ui-overrides-onlyShow 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 Managementx-ui-override-disablePrevents a field from being modified by the user for any environment - ensuring that a blueprinted or default value remains intact.
Form Layout & Presentationx-ui-orderSpecify the rendering order of fields.
Form Layout & Presentationx-ui-placeholderProvide example input placeholder text.
Form Layout & Presentationx-ui-toggleRenders 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 & Presentationx-ui-yaml-editorEnables a YAML editor for complex object fields. For example, custom values.yaml for a Helm chart deployment.
Validation & Error Handlingx-ui-error-messageDefines 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."