Documentation
¶
Index ¶
- Constants
- Variables
- func ModelTypeToYamlType(t string) string
- func ValidateConsoleContent(panels []ConsolePanel, layout []ConsoleLayoutItem) error
- func VersionToCanvasYAML(name string, description string, canvasVersion *models.CanvasVersion) (string, error)
- func VersionToConsoleYML(canvasName string, canvasVersion *models.CanvasVersion) (string, error)
- type Canvas
- type CanvasMetadata
- type CanvasSpec
- type Console
- type ConsoleLayoutItem
- type ConsoleMetadata
- type ConsolePanel
- type ConsoleSpec
- type Edge
- type IntegrationRef
- type Node
- type Position
Constants ¶
const ( // // Using the previously defined API types // for backwards compatibility. // NodeTypeTrigger = "TYPE_TRIGGER" NodeTypeWidget = "TYPE_WIDGET" NodeTypeAction = "TYPE_ACTION" )
const ( ConsolePanelTypeMarkdown = "markdown" ConsolePanelTypeHTML = "html" ConsolePanelTypeNode = "node" ConsolePanelTypeNodes = "nodes" ConsolePanelTypeTable = "table" ConsolePanelTypeChart = "chart" ConsolePanelTypeNumber = "number" ConsolePanelTypeScorecard = "scorecard" MaxConsolePanels = 50 MaxConsolePayloadBytes = 1024 * 1024 )
const ( KindCanvas = "Canvas" KindConsole = "Console" APIVersion = "v1" )
Variables ¶
var AllowedConsolePanelTypes = []string{ ConsolePanelTypeMarkdown, ConsolePanelTypeHTML, ConsolePanelTypeNode, ConsolePanelTypeNodes, ConsolePanelTypeTable, ConsolePanelTypeChart, ConsolePanelTypeNumber, ConsolePanelTypeScorecard, }
AllowedConsolePanelTypes lists the panel `type` values accepted on import. Keep this list in lockstep with `web_src/src/pages/app/console/panelTypes.ts` — the frontend validators and per-type form editors rely on the same set.
var AllowedMarkdownRunSelects = []string{"latest", "latest_passed", "latest_failed"}
AllowedMarkdownRunSelects mirrors `MARKDOWN_RUN_SELECTS` on the FE.
var AllowedMarkdownVariableDirections = []string{"asc", "desc"}
AllowedMarkdownVariableDirections mirrors `MARKDOWN_VARIABLE_DIRECTIONS` on the FE.
var AllowedMarkdownVariableModes = []string{"single", "list"}
AllowedMarkdownVariableModes mirrors `MARKDOWN_VARIABLE_MODES` on the FE. `single` keeps the existing first-row behavior; `list` resolves the variable to every matching row so authors can use CEL list macros.
var AllowedRunStatusFilters = []string{"running", "passed", "failed", "cancelled"}
AllowedRunStatusFilters mirrors `RUN_STATUS_FILTER_OPTIONS` on the FE. Shared by the widget runs datasource and markdown/html run variables so the accepted vocabulary cannot drift between kinds.
Functions ¶
func ModelTypeToYamlType ¶
func ValidateConsoleContent ¶
func ValidateConsoleContent(panels []ConsolePanel, layout []ConsoleLayoutItem) error
func VersionToCanvasYAML ¶
func VersionToConsoleYML ¶
func VersionToConsoleYML(canvasName string, canvasVersion *models.CanvasVersion) (string, error)
Types ¶
type Canvas ¶
type Canvas struct {
APIVersion string `json:"apiVersion" yaml:"apiVersion"`
Kind string `json:"kind" yaml:"kind"`
Metadata *CanvasMetadata `json:"metadata" yaml:"metadata"`
Spec *CanvasSpec `json:"spec" yaml:"spec"`
}
func CanvasFromYAML ¶
func (*Canvas) FindShadowedNameWarnings ¶
FindShadowedNameWarnings detects nodes with duplicate names within connected components. Only nodes that are connected (directly or transitively) and share the same name will be flagged. Returns a map of node ID -> warning message.
type CanvasMetadata ¶
type CanvasSpec ¶
type Console ¶
type Console struct {
APIVersion string `json:"apiVersion" yaml:"apiVersion"`
Kind string `json:"kind" yaml:"kind"`
Metadata ConsoleMetadata `json:"metadata" yaml:"metadata"`
Spec ConsoleSpec `json:"spec" yaml:"spec"`
}
func ConsoleFromYML ¶
func (*Console) Layout ¶
func (c *Console) Layout() []models.ConsoleLayoutItem
func (*Console) Panels ¶
func (c *Console) Panels() []models.ConsolePanel
type ConsoleLayoutItem ¶
type ConsoleMetadata ¶
type ConsolePanel ¶
type ConsoleSpec ¶
type ConsoleSpec struct {
Panels []ConsolePanel `json:"panels" yaml:"panels"`
Layout []ConsoleLayoutItem `json:"layout" yaml:"layout"`
}
type Edge ¶
type IntegrationRef ¶
type Node ¶
type Node struct {
ID string `json:"id" yaml:"id"`
Name string `json:"name" yaml:"name"`
Type string `json:"type" yaml:"type"`
Component string `json:"component" yaml:"component"`
Configuration map[string]any `json:"configuration" yaml:"configuration"`
Position Position `json:"position" yaml:"position"`
IsCollapsed bool `json:"isCollapsed" yaml:"isCollapsed"`
Metadata map[string]any `json:"metadata,omitempty" yaml:"metadata,omitempty"`
Integration *IntegrationRef `json:"integration,omitempty" yaml:"integration,omitempty"`
ErrorMessage *string `json:"errorMessage,omitempty" yaml:"errorMessage,omitempty"`
WarningMessage *string `json:"warningMessage,omitempty" yaml:"warningMessage,omitempty"`
}