Kubiya Control Plane Terraform Provider
The Kubiya Control Plane Terraform Provider enables you to manage your entire Kubiya platform infrastructure as code. This provider allows operators to declaratively define and manage agents, teams, projects, environments, skills, policies, workers, and jobs using Terraform.Why Use Terraform with Kubiya?
- Infrastructure as Code: Version control your Kubiya resources alongside your application infrastructure
- Repeatability: Deploy consistent configurations across multiple environments
- Automation: Integrate Kubiya resource provisioning into your CI/CD pipelines
- Collaboration: Enable team collaboration through code reviews and GitOps workflows
- Compliance: Track changes and maintain audit trails for your AI agent infrastructure
Supported Resources
The provider supports comprehensive management of all Kubiya Control Plane resources:Core Resources
| Resource | Description |
|---|---|
controlplane_environment | Execution environments for agents and workers |
controlplane_project | Projects for organizing resources |
controlplane_team | Teams with shared configuration and capabilities |
controlplane_agent | AI agents with custom LLM configurations |
Capabilities
| Resource | Description |
|---|---|
controlplane_skill | Skills (filesystem, shell, docker) for agent capabilities |
controlplane_policy | OPA Rego policies for governance and security |
controlplane_worker_queue | Worker queues for task execution within environments |
controlplane_job | Scheduled, webhook-triggered, and manual jobs |
Data Sources
All resources have corresponding data sources for read-only lookups:controlplane_environment- Look up a single environment by IDcontrolplane_project- Look up a single project by IDcontrolplane_team- Look up a single team by IDcontrolplane_agent- Look up a single agent by IDcontrolplane_skill- Look up a single skill by IDcontrolplane_policy- Look up a single policy by IDcontrolplane_job- Look up a single job by IDcontrolplane_jobs- List all jobscontrolplane_worker_queue- Look up a single worker queue by IDcontrolplane_worker_queues- List all worker queues in an environment
Deployment Options
The Kubiya Control Plane can be deployed in two ways:1. Hosted Control Plane (SaaS)
Use Kubiya’s managed control plane athttps://control-plane.kubiya.ai:
2. Self-Hosted Control Plane
Deploy the control plane in your own infrastructure:Quick Example
Provider Registry
The provider is published to the official Terraform Registry:- Source:
kubiya/control-plane - Registry: https://registry.terraform.io/providers/kubiya/control-plane
Key Features for Operators
Version Control
Track all changes to your Kubiya infrastructure in Git:Multi-Environment Management
Use Terraform workspaces or separate state files to manage multiple environments:Modular Configuration
Create reusable modules for common patterns:CI/CD Integration
Integrate with your existing deployment pipelines:Authentication & Security
The provider requires API key authentication:- Generate API Key: Create an API key from your Kubiya Control Plane dashboard
- Set Environment Variable: Export
KUBIYA_CONTROL_PLANE_API_KEY - Secure Storage: Use secrets management (Vault, AWS Secrets Manager, etc.)
- Environment variables
- Terraform Cloud/Enterprise variables
- CI/CD secret stores
- Secret management systems
Reusable Modules
The provider includes pre-built Terraform modules for common patterns:- engineering-org: Complete organization setup with environments, teams, agents, skills, policies, and jobs
Next Steps
- Getting Started Guide - Set up your first Terraform configuration
- Provider Configuration - Detailed configuration options
- Resources Documentation - Complete resource reference
- Modules - Reusable Terraform modules
- Data Sources - Query existing resources
- Operator Examples - End-to-end examples for common use cases
Support
- Issues: GitHub Issues
- Documentation: Kubiya Docs
- Provider Source: GitHub Repository