Skip to content

KRO (Kubernetes Resource Orchestrator) Plugins#

The KRO plugins for Backstage provide a comprehensive solution for managing and visualizing KRO resources within your Backstage instance. These plugins enable teams to effectively monitor and control their Kubernetes resources provisioned through KRO.

Plugin Suite Components#

The KRO plugin suite consists of several components:

  • Frontend Plugin (@terasky/backstage-plugin-kro-resources-frontend):
  • Provides visualization and management capabilities for KRO resources
  • Displays resource graphs and relationships
  • Shows YAML configurations and events
  • Integrates with Backstage's permission framework

  • Backend Plugin (@terasky/backstage-plugin-kro-resources-backend):

  • Handles API integration with Kubernetes clusters
  • Manages resource data retrieval and processing
  • Provides endpoints for resource operations
  • Implements permission management and access control
  • Exposes MCP actions for programmatic access

  • Common Library (@terasky/backstage-plugin-kro-common):

  • Shared utilities and types
  • Permission definitions
  • Common interfaces for frontend and backend
  • Resource type definitions

Key Features#

  • Resource Visualization: View KRO RGDs, instances, and managed resources
  • YAML Management: Access and manage YAML configurations for all resource types
  • Event Monitoring: Track events related to your KRO resources
  • Resource Graph: Visual representation of resource relationships
  • Permission Controls: Granular access control for different resource types and actions
  • Overview Cards: Quick insights into resource status and relationships

Screenshots#

Resource Graph View#

Graph View

Resource Table View#

Table YAML Viewer Events View

Overview Information#

Overview

Available Permissions#

The plugin suite provides granular permission controls for:

  • KRO RGDs (list, view YAML, show events)
  • KRO Instances (list, view YAML, show events)
  • Managed Resources (list, view YAML, show events)
  • Additional Resources like CRDs (list, view YAML, show events)
  • Resource Graph visualization

MCP Actions Integration#

The KRO plugin provides MCP (Model Control Protocol) actions for interacting with KRO resources. To enable these actions:

  1. First, ensure you have the MCP actions backend plugin installed and configured. See the MCP Actions Backend Plugin documentation for setup instructions.

  2. Add the plugin to your actions configuration in app-config.yaml:

backend:
  actions:
    pluginSources:
      - 'catalog'
      - 'kro'
      # ... other action sources

Available MCP Actions#

The plugin provides the following MCP actions:

  • get_kro_resources: Get all resources for a KRO instance
  • Input: Cluster name, namespace, RGD details, and instance information
  • Output: List of resources and their relationships

  • get_kro_resource_events: Get events for a Kubernetes resource managed by KRO

  • Input: Cluster name, namespace, resource name, and kind
  • Output: List of events with timestamps and details

  • get_kro_resource_graph: Get the resource graph for a KRO instance

  • Input: Cluster name, namespace, RGD details, and instance information
  • Output: Resource graph data showing relationships between resources

Getting Started#

To get started with the KRO plugins, you'll need to:

  1. Install and configure the Kubernetes Ingestor plugin
  2. Set up the permissions backend (optional but recommended)
  3. Install the frontend components
  4. Configure the plugins according to your needs
  5. Configure MCP actions in your app-config.yaml

For detailed installation and configuration instructions, refer to the individual plugin documentation: