Skip to main content

Config maps

Config maps define the structure, validation rules, and user interface elements for workflow setup forms using JSON Schema specification.

Schema structure

Config maps follow a standardized JSON structure with three main sections: identification, display information, and configuration definition.

{
"id": "string",
"name": "string",
"config": {
"properties": { ... },
"anyOf": [ ... ],
"steps": [ ... ]
}
}

Properties

The following properties define the root-level structure of config maps. Each property serves a specific purpose in form generation and user interface presentation.

idstring
Required

Unique identifier for the config map

namestring
Required

Display name shown to users in the workflow interface

configobject
Required

Configuration object containing properties, validation rules, and step definitions

propertiesobject
Required

Defines individual form fields and their configuration. Each property key becomes a form field name with schema definition, validation rules, and display options

anyOfarray
Optional

Conditional validation rules that apply based on user selections. Defines multiple validation schemas where at least one must be satisfied

stepsarray
Optional

Organizes fields into logical groups for multi-step forms. Defines the sequence and grouping of form fields across multiple pages or sections

Property types

Property types define the data structure and validation behavior for individual form fields. Each type supports specific UI widgets and validation patterns.

stringproperty type
Optional

Text-based properties for user input, selections, and credential references. Supports validation patterns, enumerated options, and various UI widgets

Example:database-name

booleanproperty type
Optional

Toggle properties for enabling or disabling features. Renders as checkboxes or toggle switches in the user interface

Example:enable-ssl

objectproperty type
Optional

Complex nested data structures containing multiple related properties. Allows grouping of related configuration options

Example:connection-params

arrayproperty type
Optional

Multiple value selections and lists. Supports various item types and can be rendered as multi-select dropdowns, checkboxes, or dynamic lists

Example:table-types

enumproperty constraint
Optional

Predefined option sets with optional display names. Restricts user input to specific values and can provide user-friendly labels for technical values

Examples:
  • direct
  • s3
  • file

See also

  • Setup forms - Understanding the purpose and architecture of setup forms
  • Build custom app - Step-by-step implementation of config maps in a complete application