mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01: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