descope-terraform

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "descope-terraform" with this command: npx skills add descope/skills/descope-skills-descope-terraform

Descope Terraform Provider

Manage Descope authentication projects as infrastructure-as-code using the official Terraform provider.

Prerequisites

  • Terraform CLI installed
  • Paid Descope License (Pro +)
  • Management Key from Company Settings (https://app.descope.com/company)
  • Management Key must be scoped for all projects if creating new projects

Provider Setup

terraform {
  required_providers {
    descope = {
      source = "descope/descope"
    }
  }
}

provider "descope" {
  management_key = var.descope_management_key
}

variable "descope_management_key" {
  type      = string
  sensitive = true
}

Resources

ResourcePurpose
descope_projectFull project configuration (auth methods, roles, connectors, flows, settings)
descope_management_keyManagement keys with RBAC scoping
descope_descoperConsole user accounts with role assignments

See references/project-resource.md for the full descope_project schema. See references/other-resources.md for descope_management_key and descope_descoper schemas.

Quick Start - New Project

resource "descope_project" "myproject" {
  name = "my-project"
  tags = ["staging"]
}

Common Configurations

Authentication Methods

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
    }
  }
}

Roles & Permissions (RBAC)

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"]
      },
    ]
  }
}

Connectors

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"
    }]
  }
}

Project Settings

resource "descope_project" "myproject" {
  name = "my-project"

  project_settings = {
    refresh_token_expiration = "3 weeks"
    enable_inactivity        = true
    inactivity_time          = "1 hour"
  }
}

What Terraform Manages vs. What It Does NOT

Managed by Terraform:

  • Project settings, authentication methods, authorization (roles/permissions)
  • Connectors, applications (OIDC/SAML), flows, JWT templates
  • Custom attributes, styles, widgets

NOT managed by Terraform (use Console/SDK/API instead):

  • Individual users and tenants
  • SSO connections and SCIM configurations
  • Dynamic per-tenant settings

DO NOT

  • DO NOT hardcode management_key in .tf files - use variables or environment variables (DESCOPE_MANAGEMENT_KEY)
  • DO NOT commit .tfstate files to version control - they contain sensitive data
  • DO NOT skip terraform plan before terraform apply
  • DO NOT use the deprecated project_id provider argument

Workflow

terraform init      # Install provider
terraform plan      # Preview changes
terraform apply     # Apply changes
terraform destroy   # Remove managed resources

References

  • references/project-resource.md - Full descope_project schema and all nested blocks
  • references/other-resources.md - descope_management_key and descope_descoper schemas
  • references/connectors.md - All supported connector types and configuration

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

descope-auth

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

Self Updater

⭐ OPEN SOURCE! GitHub: github.com/GhostDragon124/openclaw-self-updater ⭐ ONLY skill with Cron-aware + Idle detection! Auto-updates OpenClaw core & skills, an...

Registry SourceRecently Updated
1221Profile unavailable
Coding

ClawHub CLI Assistant

Use the ClawHub CLI to publish, inspect, version, update, sync, and troubleshoot OpenClaw skills from the terminal.

Registry SourceRecently Updated
1.9K2Profile unavailable
Coding

SkillTree Learning Progress Tracker

Track learning across topics like an RPG skill tree. Prerequisites, milestones, suggested next steps. Gamified learning path.

Registry SourceRecently Updated
910Profile unavailable