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.

idRequired

Unique identifier for the config map

Type: string

nameRequired

Display name shown to users in the workflow interface

Type: string

configRequired

Configuration object containing properties, validation rules, and step definitions

Type: object

propertiesRequired

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

Type: object

anyOfOptional

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

Type: array

stepsOptional

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

Type: array

Property types

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

stringOptional

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

Type: property type
Example:database-name

booleanOptional

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

Type: property type
Example:enable-ssl

objectOptional

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

Type: property type
Example:connection-params

arrayOptional

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

Type: property type
Example:table-types

enumOptional

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

Type: property constraint
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