Skip to main content
Resource providers automatically discover and sync your infrastructure into Ctrlplane’s resource inventory. This enables dynamic environment targeting based on resource metadata.

How It Works

  1. Resource providers scan your infrastructure
  2. Resources are created/updated in Ctrlplane’s inventory
  3. Environments use selectors to dynamically match resources
  4. 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

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:
When resources are added or updated, environments automatically re-evaluate their selectors.

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:
  1. Updates the resource in the inventory
  2. Re-evaluates environment selectors
  3. Updates release targets if needed

Deleting Resources

When a resource is deleted:
  1. It’s removed from all environments
  2. Active releases are marked as orphaned
  3. Jobs are not automatically canceled (handle gracefully)

Best Practices

Use Consistent Naming

Include Essential Metadata

Keep Config Minimal

Only include config needed for deployments:

Sync Frequently

Run resource sync on a schedule to keep inventory current: