The Adaptive Terraform Provider enables you to manage your Adaptive infrastructure using Infrastructure as Code (IaC).
- 50+ Integrations - Connect to databases, cloud platforms, Kubernetes, identity providers, and more
- Fine-grained Access Control - Define authorizations with specific permissions per resource type
- Just-In-Time Access - Configure JIT access with approval workflows
- Group Management - Organize users and endpoints for simplified access management
- Terraform >= 1.0
- Adaptive CLI
# Login to Adaptive
adaptive login
# Generate a service token
adaptive service-token create --name terraform-provider
# Set the token as an environment variable
export ADAPTIVE_SVC_TOKEN="your-service-token"terraform {
required_providers {
adaptive = {
source = "adaptive-scale/adaptive"
version = "~> 1.0"
}
}
}
provider "adaptive" {}# Create a PostgreSQL resource
resource "adaptive_resource" "postgres" {
name = "my-database"
type = "postgres"
host = "postgres.example.com"
port = "5432"
username = "admin"
password = var.db_password
database_name = "myapp"
}
# Create an endpoint for access
resource "adaptive_endpoint" "postgres_access" {
name = "postgres-access"
resource = adaptive_resource.postgres.name
ttl = "8h"
users = ["developer@example.com"]
}terraform init
terraform plan
terraform apply| Category | Integrations |
|---|---|
| Databases | PostgreSQL, MySQL, MongoDB, CockroachDB, ClickHouse, Snowflake, SQL Server, YugabyteDB, Elasticsearch |
| Cloud | AWS, Azure, GCP |
| Container | Kubernetes |
| Identity | Okta, OneLogin, JumpCloud, Google |
| Monitoring | Datadog, Splunk, Coralogix |
| Network | SSH, ZeroTier, Cisco/Fortinet/Palo Alto NGFW |
| Messaging | RabbitMQ, Microsoft Teams |
See the examples directory for configuration examples of each integration.
The provider includes 5 resource types:
| Resource | Description |
|---|---|
adaptive_resource |
Connection to external services (databases, cloud platforms, etc.) |
adaptive_endpoint |
Secure access point with TTL, JIT, and user assignments |
adaptive_authorization |
Permission policy for fine-grained access control |
adaptive_group |
User and endpoint organization for access management |
adaptive_script |
Command execution on endpoints |
- Getting Started Guide
- Integration Guide
- Access Control Guide
- Provider Documentation
- Example Configurations
The examples directory contains working configurations for all supported integrations:
# Navigate to an example
cd examples/postgres
# Initialize and apply
terraform init
terraform planFor contributors and local development:
# Build and install locally
./scripts/build-install.sh
# Test examples
./scripts/test-all-examples.sh
./scripts/test-example.sh kubernetes
# Generate documentation
./scripts/generate-docs.sh
# Full development workflow
./scripts/dev-workflow.shSee scripts/README.md for detailed development documentation.
- Documentation: docs.adaptive.live
- Issues: GitHub Issues
- Email: support@adaptive.live
This provider is distributed under the Mozilla Public License 2.0.