mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-24 01:18:01 +02:00
Terraform provider docs (#8598)
This commit is contained in:
parent
a9195e25c5
commit
618cd09eac
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: '[Deprecated] How to add SSO with Google'
|
title: 'How to add SSO with Google'
|
||||||
---
|
---
|
||||||
|
|
||||||
:::caution Deprecation notice
|
:::caution Deprecation notice
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: '[Deprecated] Import & Export'
|
title: 'Import & Export'
|
||||||
---
|
---
|
||||||
import ApiRequest from '@site/src/components/ApiRequest'
|
import ApiRequest from '@site/src/components/ApiRequest'
|
||||||
|
|
||||||
|
76
website/docs/reference/terraform.mdx
Normal file
76
website/docs/reference/terraform.mdx
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
---
|
||||||
|
title: Using Unleash through Terraform
|
||||||
|
description: "Set up and configure your Unleash instance using infastructure as code."
|
||||||
|
---
|
||||||
|
|
||||||
|
:::note Availability
|
||||||
|
|
||||||
|
**Version**: `5.6+`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The [Unleash Terraform provider](https://github.com/Unleash/terraform-provider-unleash) 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](/topics/feature-flags/feature-flag-best-practices#7-make-flags-short-lived), we recommend managing them through the Unleash Admin UI.
|
||||||
|
|
||||||
|
For a detailed video tutorial, check out [Managing Unleash through Terraform](https://www.youtube.com/watch?v=B4OIBC1u1ns).
|
||||||
|
For more examples of specific resources and data sources, visit the [Terraform registry](https://registry.terraform.io/providers/Unleash/unleash/latest/docs/data-sources/permission).
|
||||||
|
|
||||||
|
## Manage Terraform access
|
||||||
|
|
||||||
|
The permissions of the API token you use with Terraform and your Unleash [plan](https://www.getunleash.io/pricing) determine which objects Terraform can manage:
|
||||||
|
- For [Open Source](https://www.getunleash.io/pricing) and [Pro](../availability#plans), use [personal access tokens](/reference/api-tokens-and-client-keys#personal-access-tokens).
|
||||||
|
- For [Enterprise](https://www.getunleash.io/pricing), use [service accounts](/reference/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:
|
||||||
|
```hcl
|
||||||
|
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. Use `send_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](../how-to/how-to-add-sso-open-id-connect).
|
||||||
|
- `unleash_saml`: Manage your [SAML configuration](../how-to/sso).
|
||||||
|
|
||||||
|
For example usage and schemas, visit the resources documentation of the [Unleash Terraform provider](https://github.com/Unleash/terraform-provider-unleash/tree/main/docs/resources).
|
||||||
|
|
||||||
|
## 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](https://github.com/Unleash/terraform-provider-unleash/tree/main/docs/data-sources).
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Email service
|
title: Email Service
|
||||||
---
|
---
|
||||||
|
|
||||||
:::note Availability
|
:::note Availability
|
||||||
|
@ -445,7 +445,7 @@ const sidebars: SidebarsConfig = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Integrations',
|
label: 'Integrations and automation',
|
||||||
type: 'category',
|
type: 'category',
|
||||||
link: { type: 'doc', id: 'reference/integrations/index' },
|
link: { type: 'doc', id: 'reference/integrations/index' },
|
||||||
items: [
|
items: [
|
||||||
@ -461,9 +461,100 @@ const sidebars: SidebarsConfig = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
'reference/integrations/slack-app',
|
'reference/integrations/slack-app',
|
||||||
'reference/integrations/slack',
|
|
||||||
'reference/integrations/teams',
|
'reference/integrations/teams',
|
||||||
'reference/integrations/webhook',
|
'reference/integrations/webhook',
|
||||||
|
{
|
||||||
|
type: 'doc',
|
||||||
|
label: 'Terraform',
|
||||||
|
id: 'reference/terraform',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
link: {
|
||||||
|
type: 'generated-index',
|
||||||
|
title: 'Self-Hosting Unleash',
|
||||||
|
description:
|
||||||
|
'All you need to learn how to deploy and manage your own Unleash instance.',
|
||||||
|
slug: '/using-unleash/deploy',
|
||||||
|
},
|
||||||
|
label: 'Self-hosting',
|
||||||
|
items: [
|
||||||
|
'using-unleash/deploy/getting-started',
|
||||||
|
'using-unleash/deploy/configuring-unleash',
|
||||||
|
'using-unleash/deploy/database-setup',
|
||||||
|
'using-unleash/deploy/database-backup',
|
||||||
|
'using-unleash/deploy/email-service',
|
||||||
|
'using-unleash/deploy/google-auth-hook',
|
||||||
|
'using-unleash/deploy/upgrading-unleash',
|
||||||
|
'using-unleash/deploy/securing-unleash',
|
||||||
|
'using-unleash/deploy/license-keys',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Single sign-on',
|
||||||
|
items: [
|
||||||
|
'how-to/how-to-add-sso-open-id-connect',
|
||||||
|
'how-to/how-to-add-sso-saml',
|
||||||
|
'how-to/how-to-add-sso-saml-keycloak',
|
||||||
|
'how-to/how-to-add-sso-azure-saml',
|
||||||
|
'how-to/how-to-setup-sso-keycloak-group-sync',
|
||||||
|
],
|
||||||
|
type: 'category',
|
||||||
|
link: {
|
||||||
|
type: 'generated-index',
|
||||||
|
title: 'How-to: Single sign-on',
|
||||||
|
description: 'Single sign-on guides.',
|
||||||
|
slug: '/how-to/sso',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Automatic provisioning',
|
||||||
|
items: [
|
||||||
|
'how-to/how-to-setup-provisioning-with-okta',
|
||||||
|
'how-to/how-to-setup-provisioning-with-entra',
|
||||||
|
],
|
||||||
|
type: 'category',
|
||||||
|
link: {
|
||||||
|
type: 'generated-index',
|
||||||
|
title: 'How to: Provisioning',
|
||||||
|
description: 'Provisioning how-to guides.',
|
||||||
|
slug: '/how-to/provisioning',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
label: 'Unleash Edge',
|
||||||
|
collapsed: true,
|
||||||
|
link: {
|
||||||
|
type: 'doc',
|
||||||
|
id: 'generated/unleash-edge',
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
'generated/unleash-edge/concepts',
|
||||||
|
'generated/unleash-edge/deploying',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'generated/unleash-proxy',
|
||||||
|
{
|
||||||
|
label: 'Troubleshooting',
|
||||||
|
type: 'category',
|
||||||
|
link: {
|
||||||
|
type: 'generated-index',
|
||||||
|
title: 'How-to: troubleshooting',
|
||||||
|
description:
|
||||||
|
'Troubleshooting common problems. If you want to suggest new items, please phrase the title as a concrete problem',
|
||||||
|
slug: '/using-unleash/troubleshooting',
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
'using-unleash/troubleshooting/cors',
|
||||||
|
'using-unleash/troubleshooting/https',
|
||||||
|
'using-unleash/troubleshooting/email-service',
|
||||||
|
'using-unleash/troubleshooting/feature-not-available',
|
||||||
|
'using-unleash/troubleshooting/flag-exposure',
|
||||||
|
'using-unleash/troubleshooting/flag-not-returned',
|
||||||
|
'using-unleash/troubleshooting/flag-abn-test-unexpected-result',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -539,7 +630,6 @@ const sidebars: SidebarsConfig = {
|
|||||||
slug: '/how-to/env',
|
slug: '/how-to/env',
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
'how-to/how-to-import-export',
|
|
||||||
'how-to/how-to-environment-import-export',
|
'how-to/how-to-environment-import-export',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -560,97 +650,9 @@ const sidebars: SidebarsConfig = {
|
|||||||
'Users and permission how-to guides.',
|
'Users and permission how-to guides.',
|
||||||
slug: '/how-to/users-and-permissions',
|
slug: '/how-to/users-and-permissions',
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
{
|
|
||||||
label: 'Single sign-on SSO',
|
|
||||||
items: [
|
|
||||||
'how-to/how-to-add-sso-open-id-connect',
|
|
||||||
'how-to/how-to-add-sso-saml',
|
|
||||||
'how-to/how-to-add-sso-saml-keycloak',
|
|
||||||
'how-to/how-to-add-sso-azure-saml',
|
|
||||||
'how-to/how-to-setup-sso-keycloak-group-sync',
|
|
||||||
'how-to/how-to-add-sso-google',
|
|
||||||
],
|
|
||||||
type: 'category',
|
|
||||||
link: {
|
|
||||||
type: 'generated-index',
|
|
||||||
title: 'How-to: Single sign-on',
|
|
||||||
description: 'Single sign-on guides.',
|
|
||||||
slug: '/how-to/sso',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Automatic provisioning',
|
|
||||||
items: [
|
|
||||||
'how-to/how-to-setup-provisioning-with-okta',
|
|
||||||
'how-to/how-to-setup-provisioning-with-entra',
|
|
||||||
],
|
|
||||||
type: 'category',
|
|
||||||
link: {
|
|
||||||
type: 'generated-index',
|
|
||||||
title: 'How to: Provisioning',
|
|
||||||
description: 'Provisioning how-to guides.',
|
|
||||||
slug: '/how-to/provisioning',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
link: {
|
|
||||||
type: 'generated-index',
|
|
||||||
title: 'Self-Hosting Unleash',
|
|
||||||
description:
|
|
||||||
'All you need to learn how to deploy and manage your own Unleash instance.',
|
|
||||||
slug: '/using-unleash/deploy',
|
|
||||||
},
|
|
||||||
label: 'Self-Hosting Unleash',
|
|
||||||
items: [
|
|
||||||
'using-unleash/deploy/getting-started',
|
|
||||||
'using-unleash/deploy/configuring-unleash',
|
|
||||||
'using-unleash/deploy/database-setup',
|
|
||||||
'using-unleash/deploy/database-backup',
|
|
||||||
'using-unleash/deploy/email-service',
|
|
||||||
'using-unleash/deploy/google-auth-hook',
|
|
||||||
'using-unleash/deploy/upgrading-unleash',
|
|
||||||
'using-unleash/deploy/securing-unleash',
|
|
||||||
'using-unleash/deploy/license-keys',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Troubleshooting',
|
|
||||||
type: 'category',
|
|
||||||
link: {
|
|
||||||
type: 'generated-index',
|
|
||||||
title: 'How-to: troubleshooting',
|
|
||||||
description:
|
|
||||||
'Troubleshooting common problems. If you want to suggest new items, please phrase the title as a concrete problem',
|
|
||||||
slug: '/using-unleash/troubleshooting',
|
|
||||||
},
|
|
||||||
items: [
|
|
||||||
'using-unleash/troubleshooting/cors',
|
|
||||||
'using-unleash/troubleshooting/https',
|
|
||||||
'using-unleash/troubleshooting/email-service',
|
|
||||||
'using-unleash/troubleshooting/feature-not-available',
|
|
||||||
'using-unleash/troubleshooting/flag-exposure',
|
|
||||||
'using-unleash/troubleshooting/flag-not-returned',
|
|
||||||
'using-unleash/troubleshooting/flag-abn-test-unexpected-result',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
label: 'Unleash Edge',
|
|
||||||
collapsed: true,
|
|
||||||
link: {
|
|
||||||
type: 'doc',
|
|
||||||
id: 'generated/unleash-edge',
|
|
||||||
},
|
|
||||||
items: [
|
|
||||||
'generated/unleash-edge/concepts',
|
|
||||||
'generated/unleash-edge/deploying',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'generated/unleash-proxy',
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user