Loading...
Loading...
Set up and manage Descope projects with Terraform. Use when configuring authentication infrastructure as code, managing environments, creating roles/permissions, setting up connectors, or deploying Descope project configurations.
npx skill4agent add descope/skills descope-terraformterraform {
required_providers {
descope = {
source = "descope/descope"
}
}
}
provider "descope" {
management_key = var.descope_management_key
}
variable "descope_management_key" {
type = string
sensitive = true
}| Resource | Purpose |
|---|---|
| Full project configuration (auth methods, roles, connectors, flows, settings) |
| Management keys with RBAC scoping |
| Console user accounts with role assignments |
references/project-resource.mddescope_projectreferences/other-resources.mddescope_management_keydescope_descoperresource "descope_project" "myproject" {
name = "my-project"
tags = ["staging"]
}resource "descope_project" "myproject" {
name = "my-project"
authentication = {
magic_link = {
expiration_time = "1 hour"
}
password = {
lock = true
lock_attempts = 3
min_length = 8
}
sso = {
merge_users = true
redirect_url = var.descope_redirect_url
}
}
}resource "descope_project" "myproject" {
name = "my-project"
authorization = {
permissions = [
{ name = "read:data", description = "Read access" },
{ name = "write:data", description = "Write access" },
]
roles = [
{
name = "viewer"
permissions = ["read:data"]
},
{
name = "editor"
permissions = ["read:data", "write:data"]
},
]
}
}resource "descope_project" "myproject" {
name = "my-project"
connectors = {
http = [{
name = "My Webhook"
base_url = var.webhook_url
bearer_token = var.webhook_secret
}]
aws_s3 = [{
name = "Audit Logs"
role_arn = "arn:aws:iam::YOUR_ACCOUNT:role/connector-role"
region = "us-east-1"
bucket = "audit-logs-bucket"
}]
}
}resource "descope_project" "myproject" {
name = "my-project"
project_settings = {
refresh_token_expiration = "3 weeks"
enable_inactivity = true
inactivity_time = "1 hour"
}
}management_key.tfDESCOPE_MANAGEMENT_KEY.tfstateterraform planterraform applyproject_idterraform init # Install provider
terraform plan # Preview changes
terraform apply # Apply changes
terraform destroy # Remove managed resourcesreferences/project-resource.mdreferences/other-resources.mdreferences/connectors.md