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#
Resource Table View#
Overview Information#
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:
-
First, ensure you have the MCP actions backend plugin installed and configured. See the MCP Actions Backend Plugin documentation for setup instructions.
-
Add the plugin to your actions configuration in
app-config.yaml
:
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:
- Install and configure the Kubernetes Ingestor plugin
- Set up the permissions backend (optional but recommended)
- Install the frontend components
- Configure the plugins according to your needs
- Configure MCP actions in your app-config.yaml
For detailed installation and configuration instructions, refer to the individual plugin documentation: