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 | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| --- | ||||
| title: '[Deprecated] Import & Export' | ||||
| title: 'Import & Export' | ||||
| --- | ||||
| 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 | ||||
|  | ||||
| @ -445,7 +445,7 @@ const sidebars: SidebarsConfig = { | ||||
|                     ], | ||||
|                 }, | ||||
|                 { | ||||
|                     label: 'Integrations', | ||||
|                     label: 'Integrations and automation', | ||||
|                     type: 'category', | ||||
|                     link: { type: 'doc', id: 'reference/integrations/index' }, | ||||
|                     items: [ | ||||
| @ -461,9 +461,100 @@ const sidebars: SidebarsConfig = { | ||||
|                             ], | ||||
|                         }, | ||||
|                         'reference/integrations/slack-app', | ||||
|                         'reference/integrations/slack', | ||||
|                         'reference/integrations/teams', | ||||
|                         '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', | ||||
|                             }, | ||||
|                             items: [ | ||||
|                                 'how-to/how-to-import-export', | ||||
|                                 'how-to/how-to-environment-import-export', | ||||
|                             ], | ||||
|                         }, | ||||
| @ -560,97 +650,9 @@ const sidebars: SidebarsConfig = { | ||||
|                                     'Users and permission how-to guides.', | ||||
|                                 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