Get started in less than 5 minInstall now
OSSEnterprise

Browsing the Catalog

Discover, search, and explore available ResourceGraphDefinitions (RGDs) in knodex

Overview

The RGD Catalog is a searchable collection of deployment templates:

  • Web Applications: Nginx, Apache, Node.js, Python, Go services
  • Databases: PostgreSQL, MySQL, MongoDB, Redis
  • Message Queues: RabbitMQ, Kafka, NATS
  • Monitoring: Prometheus, Grafana, Jaeger
  • Infrastructure: Ingress, Service Mesh, Storage

Accessing the Catalog

Via Sidebar

  1. Click Catalog in the left sidebar
  2. View grid of available RGDs
  3. Use filters and search to narrow results

Via Views

  1. Navigate to a View in the sidebar
  2. Click View All to open catalog

Catalog Layout

Card View (Default)

Each RGD displayed as a card with:

ElementDescription
IconVisual indicator of RGD type
NameRGD display name
DescriptionBrief summary (1-2 sentences)
VersionRGD schema version
LabelsTags (webapp, database, monitoring, etc.)
Deploy ButtonQuick deploy action

Example Card:

┌─────────────────────────────────────┐
│  🌐  Nginx Web Application          │
│                                     │
│  High-performance web server and    │
│  reverse proxy for serving static   │
│  content and applications.          │
│                                     │
│  Version: v1.2.0                    │
│  Labels: [webapp] [proxy]           │
│                                     │
│  [View Details]  [Deploy]          │
└─────────────────────────────────────┘

List View

Switch to list view for compact display:

NameTypeVersionUpdatedActions
Nginx Web AppWebAppv1.2.02 days ago[Details] [Deploy]
PostgreSQL DBDatabasev2.1.51 week ago[Details] [Deploy]

Toggle Views:

  • Card view: Click grid icon (☷) in toolbar
  • List view: Click list icon (☰) in toolbar

Search and Filtering

Location: Top of catalog page

Search by:

  • RGD name
  • Description keywords
  • Labels/tags
  • Version

Examples:

QueryResults
nginxAll RGDs with "nginx" in name or description
webappAll web application RGDs
database postgresqlPostgreSQL database RGDs
v1.2RGDs with version matching v1.2.*

Keyboard Shortcut: Press / to focus search

Filter Panel

Location: Left sidebar of catalog page

Filter Categories:

1. Type Filter

Filter by RGD category:

  • Web Applications (12)
  • Databases (8)
  • Message Queues (5)
  • Monitoring (7)
  • Infrastructure (4)

2. Labels Filter

Filter by tags:

  • webapp (12)
  • database (8)
  • proxy (4)
  • monitoring (7)
  • storage (6)

3. Source Filter

Filter by RGD source:

  • Organization RGDs (catalog specific to your org)
  • Shared RGDs (available to all organizations)
  • Repository: provops/kro-rgd-catalog (from GitHub)

4. Version Filter

  • Latest versions only
  • All versions

Combining Filters

Filters are cumulative (AND logic):

Example:

  • Type: "Databases" ✓
  • Labels: "postgres" ✓
  • Source: "Shared RGDs" ✓

Result: Only PostgreSQL database RGDs from shared catalog

Viewing RGD Details

Click RGD Card

  1. Click on any RGD card or name
  2. Opens detailed view with tabs:
    • Overview
    • Schema
    • Examples
    • Deployments

Overview Tab

RGD Information:

FieldExample
NameNginx Web Application
API Versionkro.run/v1alpha1
KindWebApplication
DescriptionHigh-performance web server and reverse proxy
Versionv1.2.0
Created2024-01-15
Updated2024-01-20
Namespacedefault (or organization namespace)

Quick Actions:

  • Deploy - Open deployment form
  • Copy YAML - Copy RGD spec to clipboard
  • Export - Download RGD YAML file

Schema Tab

Interactive Schema Viewer:

apiVersion: kro.run/v1alpha1
kind: ResourceGraphDefinition
metadata:
  name: nginx-webapp
spec:
  parameters:
    - name: name
      type: string
      description: "Application name"
      required: true
 
    - name: replicas
      type: integer
      description: "Number of replicas"
      default: 2
      minimum: 1
      maximum: 10
 
    - name: image
      type: string
      description: "Container image"
      default: "nginx:latest"
 
    - name: port
      type: integer
      description: "Container port"
      default: 80

Schema Features:

  • Syntax highlighting
  • Collapsible sections
  • Copy button for each section
  • Parameter descriptions and constraints

Examples Tab

Pre-configured Templates:

Example 1: Development Deployment

name: my-webapp-dev
replicas: 1
image: nginx:1.25
port: 80
resources:
  requests:
    cpu: 100m
    memory: 128Mi

[Copy] [Deploy with this config]

Example 2: Production Deployment

name: my-webapp-prod
replicas: 5
image: nginx:1.25
port: 80
resources:
  requests:
    cpu: 500m
    memory: 1Gi
  limits:
    cpu: 2000m
    memory: 4Gi
ingress:
  enabled: true
  host: webapp.example.com

[Copy] [Deploy with this config]

Deployments Tab

Active Instances:

List of instances deployed using this RGD:

Instance NameNamespaceStatusCreatedOwner
my-webapp-prodkro-engineeringRunning2 days agoalice@example.com
api-service-devkro-engineeringRunning1 week agobob@example.com

Actions:

  • Click instance name to view details
  • Deploy similar instance (uses same RGD)

Understanding RGD Parameters

Required vs Optional

Parameters marked as required must be provided:

- name: name
  type: string
  required: true # ← Must provide value

Optional parameters have defaults:

- name: replicas
  type: integer
  default: 2 # ← Used if not provided

Parameter Types

TypeExampleDescription
string"my-app"Text value
integer3Whole number
booleantrue / falseTrue/false flag
array["item1", "item2"]List of values
object{key: "value"}Nested configuration

Parameter Constraints

Minimum/Maximum:

- name: replicas
  type: integer
  minimum: 1 # ← Cannot be less than 1
  maximum: 10 # ← Cannot be more than 10

Pattern Matching:

- name: name
  type: string
  pattern: "^[a-z0-9-]+$" # ← Only lowercase, numbers, hyphens

Enum (Limited Choices):

- name: tier
  type: string
  enum: # ← Must be one of these values
    - "free"
    - "standard"
    - "premium"

Comparing RGDs

Side-by-Side Comparison

Compare multiple RGDs:

  1. Select RGDs using checkboxes
  2. Click Compare button (top right)
  3. View comparison table:
FeatureNginx Web AppApache Web App
Versionv1.2.0v2.0.1
Parameters812
Default Replicas23
Resource Requests100m CPU, 128Mi RAM250m CPU, 256Mi RAM
Ingress Support✅ Yes✅ Yes
Auto-scaling❌ No✅ Yes

Use Case: Deciding which RGD best fits requirements

Bookmarking Favorite RGDs

Add to Favorites

  1. Click ⭐ Star icon on RGD card
  2. RGD added to "Favorites" filter

View Favorites

  1. Open catalog
  2. Click Starred filter in sidebar
  3. See only bookmarked RGDs

Use Case: Quick access to frequently used RGDs

RGD Sources

Organization RGDs

RGDs specific to your organization (not visible to other orgs).

Indicator: Badge showing organization name

Example: [Engineering Org]

Shared RGDs

Available to all organizations in cluster.

Indicator: [Shared] badge

Use Case: Common templates (Nginx, PostgreSQL, Redis)

Repository RGDs

Synced from connected GitHub repositories.

Indicator: Shows repository source

Example: [provops/kro-rgd-catalog]

Auto-Updated: Synced every 5 minutes from GitHub

Search Syntax

AND operator (implicit):

webapp nginx  →  RGDs containing both "webapp" AND "nginx"

OR operator:

nginx | apache  →  RGDs containing "nginx" OR "apache"

Exclude:

database -mongo  →  Database RGDs excluding MongoDB

Exact phrase:

"web application"  →  Exact phrase match

Keyboard Shortcuts

ShortcutAction
/Focus search bar
EscClear search / close filters
Navigate RGD cards
EnterOpen selected RGD details
Ctrl+KOpen command palette

Tips and Tricks

Quick Deploy

Deploy without opening details:

  1. Hover over RGD card
  2. Click Deploy button
  3. Opens deployment form directly

Recent RGDs

See recently viewed RGDs:

  1. Click History in catalog toolbar
  2. View last 10 RGDs you accessed

Export Catalog

Download catalog as JSON or CSV:

  1. Click Export button (top right)
  2. Choose format (JSON, CSV, YAML)
  3. Save file

Use Case: Offline reference, documentation, inventory


Next: Deploying Instances