How It Works
- Resource providers scan your infrastructure
- Resources are created/updated in Ctrlplane’s inventory
- Environments use selectors to dynamically match resources
- When resources change, environments automatically update
Built-in Providers
Kubernetes
Sync Kubernetes clusters as resources:AWS
Sync AWS resources:Custom Resource Providers
Create custom providers using the Ctrlplane API or SDK.Using the API
Using the Node.js SDK
Using a Script
Run a script periodically to sync resources:Resource Schema
| Field | Required | Description |
|---|---|---|
identifier | Yes | Unique identifier for the resource |
name | Yes | Human-readable name |
kind | Yes | Resource type (e.g., Kubernetes/Cluster) |
version | Yes | Resource version/schema version |
metadata | No | Key-value pairs for filtering |
config | No | Configuration data for job agents |
Metadata vs Config
- Metadata: Used for filtering and environment selectors
- Config: Passed to job agents for deployment execution
Environment Selectors
Environments use selectors to match resources:Resource Lifecycle
Creating Resources
Resources are created via the API. Duplicate identifiers update the existing resource.Updating Resources
When resource metadata or config changes, Ctrlplane:- Updates the resource in the inventory
- Re-evaluates environment selectors
- Updates release targets if needed
Deleting Resources
- It’s removed from all environments
- Active releases are marked as orphaned
- Jobs are not automatically canceled (handle gracefully)