Skip to content

Kubernetes Ingestor Plugin#

The Kubernetes Ingestor plugin is a powerful backend plugin for Backstage that automatically creates catalog entities from Kubernetes resources. It provides comprehensive support for standard Kubernetes workloads, custom resources, and Crossplane resources, making it easy to maintain an up-to-date catalog of your infrastructure and applications.

Features#

  • Automatic Resource Discovery: Ingest standard Kubernetes workloads automatically
  • Custom Resource Support: Add custom GVKs for ingestion
  • Crossplane Integration: Auto-ingest Crossplane claims and XRDs
  • Template Generation: Create templates for Crossplane XRDs
  • API Entity Creation: Generate API entities for XRDs
  • Relationship Mapping: Track dependencies between claims and APIs
  • Flexible Configuration: Customize ingestion behavior and mapping
  • Annotation Support: Rich annotation system for entity customization

Plugin Components#

Backend Plugin#

The plugin provides backend functionality for:
- Resource discovery and ingestion
- Template generation
- API entity creation
- Relationship management

Learn more about the backend plugin

Resource Types#

Standard Workloads#

  • Deployments
  • StatefulSets
  • DaemonSets
  • Jobs
  • CronJobs
  • And more...

Crossplane Resources#

  • Claims (v1)
  • XRs (v2)
  • XRDs
  • APIs
  • Dependencies

Custom Resources#

  • User-defined GVKs
  • Custom workload types
  • Specific resource kinds

Documentation Structure#

Annotations#

The plugin supports a rich set of annotations for customizing entity creation:

General Annotations:
  terasky.backstage.io/add-to-catalog: true/false
  terasky.backstage.io/exclude-from-catalog: true/false
  terasky.backstage.io/system: string
  terasky.backstage.io/backstage-namespace: string
  terasky.backstage.io/owner: string

Namespace Annotations:
  terasky.backstage.io/system-type: string
  terasky.backstage.io/domain: string

Workload Resource Annotations:
  terasky.backstage.io/source-code-repo-url: string
  terasky.backstage.io/source-branch: string
  terasky.backstage.io/techdocs-path: string
  terasky.backstage.io/kubernetes-label-selector: string
  terasky.backstage.io/component-type: string
  terasky.backstage.io/lifecycle: string
  terasky.backstage.io/dependsOn: string
  terasky.backstage.io/providesApis: string
  terasky.backstage.io/consumesApis: string
  terasky.backstage.io/component-annotations: string
  terasky.backstage.io/links: string

Getting Started#

To get started with the Kubernetes Ingestor plugin:
1. Install the backend plugin
2. Configure RBAC settings
3. Set up ingestion rules
4. Configure template generation
5. Start discovering resources

For detailed installation and configuration instructions, refer to the backend documentation linked above.