- Home
- Console Catalog
- Schema Guide
Schema Guide
How to author and maintain catalog entries.
File Organization
Section titled “File Organization”catalog/├── navigation/console-tree.yaml # One file — the full menu tree├── routes/<area>/<screen>.yaml # One file per console screen├── resources/<resource>.yaml # One file per API resource└── workflows/<resource>/<op>.yaml # One file per operation per resourceNaming convention: kebab-case for all file and directory names. Resource files match the resource id field. Workflow files match the operation name.
Authoring a New Resource
Section titled “Authoring a New Resource”1. Add to the navigation tree
Section titled “1. Add to the navigation tree”Edit catalog/navigation/console-tree.yaml and add a node under the appropriate parent:
- id: "example-resource" label: "My Resource" menu_path: ["Manage", "Section", "My Resource"] route: "/web/section/example-resource" route_file: "routes/section/example-resource.yaml"2. Create the route definition
Section titled “2. Create the route definition”Create catalog/routes/<area>/<resource>.yaml with the route schema:
schema: "urn:xcsh:console:route:v1"id: "example-resource"label: "My Resource"route: pattern: "/web/namespace/{namespace}/section/example-resource" params: namespace: required: true description: "F5 XC namespace" supports_direct_link: true breadcrumbs: ["Home", "Section", "My Resource"]context: requires_login: true requires_namespace: truescreen: type: "list" primary_resource: "example-resource"metadata: confidence: "draft" discovered_at: "2026-06-15" console_version: "2025.06"3. Create the resource mapping
Section titled “3. Create the resource mapping”Create catalog/resources/<resource>.yaml with the resource schema. Include:
apiblock withkind,group,crud_endpointsconsoleblock withlist_route,detail_route_patternworkflowsmap pointing to workflow filesform.sectionswith field definitions
4. Create workflow files
Section titled “4. Create workflow files”Create catalog/workflows/<resource>/<operation>.yaml for each operation. Each workflow needs:
preconditions— what must be true before startingparams— input parameters with types and descriptionssteps— ordered automation stepspostconditions— expected end state
Validation
Section titled “Validation”Run npm run validate to check all catalog entries against their schemas.
Confidence Levels
Section titled “Confidence Levels”Mark entries with an accurate confidence level:
| Level | Meaning | When to use |
|---|---|---|
draft | Unverified | Initial authoring, auto-discovered entries |
validated | Confirmed | Verified against live console at stated version |
stale | Outdated | Console has changed since last validation |
Update console_version and discovered_at whenever you re-validate an entry.
Selector Strategy
Section titled “Selector Strategy”Prefer selectors in this order:
data-testidattributes (most stable)- ARIA labels and roles
- CSS class selectors (least stable)
If no stable selector exists, use a descriptive CSS selector and set confidence: "draft".