Using Unleash through Terraform
Version: 5.6+
Overview
The Unleash Terraform provider enables you to manage and configure Unleash programmatically, leveraging infrastructure as code (IaC) for automated and scalable configuration.
This provider is designed to help you with the initial setup and configuration of an instance. The provider does not support managing feature flags through Terraform. Since most feature flags are short-lived, we recommend managing them through the Unleash Admin UI.
For a detailed video tutorial, check out Managing Unleash through Terraform. For more examples of specific resources and data sources, visit the Terraform registry.
Manage Terraform access
The permissions of the API token you use with Terraform and your Unleash plan determine which objects Terraform can manage:
- For Open Source and Pro, use personal access tokens.
- For Enterprise, use service accounts. For larger teams, we recommend multiple service accounts with different permissions and separate Terraform repositories for each team under their respective projects.
Resources
API tokens
unleash_api_token
: Manage access and maintain secure communication with verified integrations.
Example usage:
resource "unleash_api_token" "client_token" {
token_name = "client_token"
type = "client"
expires_at = "2024-12-31T23:59:59Z"
project = "default"
environment = "development"
}
Projects
unleash_project
: Create and manage projects.unleash_project_access
: Assign access roles and users to specific project resources.
Users and roles
unleash_role
: Define permissions systematically.unleash_user
: Automate user management. Usesend_email = true
to generate an invitation link.
Service accounts
unleash_service_account
: Define and manage service accounts for secure automated access.unleash_service_account_token
: Generate tokens associated with service accounts.
Single sign-on protocols
unleash_oidc
: Manage your OpenID Connect configuration.unleash_saml
: Manage your SAML configuration.
For example usage and schemas, visit the resources documentation of the Unleash Terraform provider.
Data sources
You can use the following data sources to fetch resources from Unleash:
unleash_project
unleash_user
unleash_role
unleash_permission
For example usage and schemas, visit the data sources documentation of the Unleash Terraform provider.