Component Presentation Schema

Status: Under active development.

Availability: Behind the StackPacks 2.0 feature flag. Refer to Custom Integrations Overview on how to enable the feature.

This documentation describes the current design intent and high-level configuration surface.

Note: no behavior and capabilities have been implemented yet.

As this feature is under active development; behavior, schemas, and capabilities may change as the model evolves.

Overview

This page documents the configuration schema used by the UI Presentation model. It is intended as a reference for authors defining UI presentation behavior.

All schemas described here are part of StackPacks 2.0 and are under active development.

UI pages populated by ComponentPresentation

See the following screenshots to get an idea of which pages and UI elements on the respective pages the ComponentPresentation configuration pertains to.

Component Type Overview Page

In the schema reference below, see the overview section.

Overview page

Component Highlight Page

In the schema reference below, see the highlight section.

Highlight page

ComponentPresentation

A ComponentPresentation defines how matching components are presented in the UI for a given mode and context.

_type: ComponentPresentation
identifier: urn:...:component-presentation:<presentation-name>
mode: ["observability" | "security" | "all"]

binding:
  _type: ComponentPresentationQueryBinding
  query: string                       # Primitive STQL query used to match components

rank:
  specificity: number                 # Higher values indicate more specific definitions

presentation:
  icon: string                        # Optional icon (base64-encoded)
  name:                               # Optional naming configuration
    plural: string
    singular: string
    title: string

  mainMenu:                           # Optional main menu entry
    group: string                     # Name of an existing MainMenuGroup
    rank: number                      # Optional override within the group

  overview:                           # Optional overview page configuration
    columns:
      - _type: string                 # ViewTypeTableCol*

  highlight:                          # Optional highlight page configuration
    summary:
      ...
    fields:
      - _type: string                 # ComponentTypeField
        fieldId: string
        label:
          title: string
          helpBubbleText: string      # Optional
        valueExtractor:
          _type: string
        display:
          _type: string
    about:
      _type: ComponentTypeAbout
      fields:
        - string

  filter:                             # Optional overview filters
    - _type: FilterField
      name: string
      tagField: string

Identifier

Identifiers should follow the SUSE® Observability identifier (i.e., urn:…​) format. Refer to identifiers documentation for more information.

Binding

The binding determines which components a ComponentPresentation applies to.

Bindings are evaluated against component data and must be simple and efficient, as they are used during UI evaluation.

Currently supported binding type:

  • ComponentPresentationQueryBinding: an STQL query (refer to the STQL for more information)

Rank

The rank section controls how multiple matching ComponentPresentation definitions are combined.

Higher specificity values indicate more specialized definitions and take precedence over lower values when composing presentation behavior.

Presentation sections

All fields under presentation are optional. A ComponentPresentation may define only a subset of presentation aspects.

Presentation sections are composed when multiple definitions apply to the same component.

Icon and name

Defines iconography and naming used across the UI.

Main menu

Controls whether matching components appear in the main menu.

The referenced menu group must be defined separately using MainMenuGroup.

Overview

Defines columns shown in overview tables.

Columns may override or extend columns defined by other matching presentations.

Highlight

Defines fields and sections shown on highlight pages.

Summary

Fields

About

Defines fields shown in the about panel on the component highlights page.

Filter

Defines filters shown for overview pages.

Filters are shown when matching data exists for the bound components.