Skip to main content
Ctrlplane’s inventory system provides a centralized view of all your infrastructure resources with custom relationships and dynamic grouping.

What is the Inventory?

The inventory is a real-time database of your deployment targets — Kubernetes clusters, cloud functions, VMs, databases, or any custom infrastructure. It enables:
  • Unified visibility across providers (AWS, GCP, Kubernetes, custom)
  • Dynamic environments that automatically include matching resources
  • Custom relationships to model dependencies and ownership
  • Rich metadata for filtering, grouping, and automation

Core Concepts

How It Works

1. Resources are Synced

Resources are synced into Ctrlplane via resource providers or API:
type: Resource
name: production-cluster-us-east
kind: Kubernetes/Cluster
identifier: k8s-prod-useast1
metadata:
  environment: production
  region: us-east-1
  team: platform
config:
  server: https://k8s.example.com
  namespace: default

2. Environments Match Resources

Environments use selectors to dynamically include resources:
type: Environment
name: Production US-East
resourceSelector: |
  resource.metadata["environment"] == "production" &&
  resource.metadata["region"] == "us-east-1"
When new resources are added that match the selector, they’re automatically included in the environment.

3. Deployments Target Environments

Deployments create release targets for each resource in each environment:
Deployment × Environment × Resource = Release Target

Key Benefits

BenefitDescription
Single source of truthAll resources visible in one place
Dynamic targetingEnvironments auto-update as infrastructure changes
Rich metadataFilter and group by any attribute
Cross-providerKubernetes, cloud, and custom in one view

Next Steps