mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 23:47:24 +00:00
docs(manage): update terraform provider (#8102)
# Which Problems Are Solved Terraform provider docs without introcution and "here" links were hard to search for. # How the Problems Are Solved Updated docs page # Additional Changes changed the slug for more clarity and added a redirect
This commit is contained in:
parent
b055d1d9e6
commit
b42a3ad309
37
docs/docs/guides/manage/terraform-provider.md
Normal file
37
docs/docs/guides/manage/terraform-provider.md
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
title: ZITADEL Terraform Provider
|
||||
sidebar_label: Terraform Provider
|
||||
---
|
||||
|
||||
The [ZITADEL Terraform Provider](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs) is a tool that allows you to manage ZITADEL resources through Terraform.
|
||||
In other words, it lets you define and provision infrastructure for ZITADEL using Terraform configuration files.
|
||||
|
||||
This Terraform provider acts as a bridge, allowing you to manage various aspects of your ZITADEL instance directly through the [ZITADEL API](/docs/apis/introduction), using Terraform's declarative configuration language.
|
||||
It can be used to create, update, and delete ZITADEL resources, as well as to manage the relationships between those resources.
|
||||
|
||||
## Before you start
|
||||
|
||||
Make sure you create the following resources in ZITADEL and have [Terraform installed](https://learn.hashicorp.com/tutorials/terraform/install-cli):
|
||||
|
||||
- [A ZITADEL Instance](../start/quickstart)
|
||||
- [A service user](/docs/guides/integrate/service-users/authenticate-service-users) with [enough authorization](/docs/guides/manage/console/managers) to manage the desired resources
|
||||
|
||||
## Manage ZITADEL resources through terraform
|
||||
|
||||
The full documentation and examples are available on the [Terraform registry](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs).
|
||||
|
||||
To provide a small guide to where to start:
|
||||
|
||||
1. Create a folder where all the terraform files reside.
|
||||
2. Configure the provider to use the right domain, port and token, with for example a `main.tf`file [as shown in the example](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs).
|
||||
3. Add a `zitadel_org` resource to the `main.tf` file, to create and manage a new organization in the instance, [as shown in the example](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs/resources/org).
|
||||
4. Add any resources to the organization in the `main.tf` file, [as example a human user](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs/resources/human_user).
|
||||
5. (Optional) Use Terraform in the directory with the command `terraform plan`, to see which resources would be created and how.
|
||||
6. Apply the changes and start managing your resources with terraform with `terraform apply`.
|
||||
7. (Optional) Delete your created resources with `terraform destroy` to clean-up.
|
||||
|
||||
## References
|
||||
|
||||
- [Deploy ZITADEL in your infrastructure](/docs/self-hosting/deploy/overview)
|
||||
- [ZITADEL CLI](/docs/self-hosting/manage/cli/overview)
|
||||
- [Configuration Options in ZITADEL](/docs/self-hosting/manage/configure)
|
@ -1,28 +0,0 @@
|
||||
---
|
||||
title: ZITADEL Terraform Provider
|
||||
sidebar_label: Terraform Provider
|
||||
---
|
||||
|
||||
It covers how to:
|
||||
|
||||
- Manage ZITADEL resources through the ZITADEL Terraform provider
|
||||
|
||||
Prerequisites:
|
||||
|
||||
- A ZITADEL Instance, if not present follow [this guide](../../start/quickstart)
|
||||
- A user with enough authorization to manage the desired resources, if not present follow [this guide](/docs/guides/integrate/service-users/authenticate-service-users)
|
||||
- Installed Terraform, if not present follow [this guide](https://learn.hashicorp.com/tutorials/terraform/install-cli)
|
||||
|
||||
## Manage ZITADEL resources through terraform
|
||||
|
||||
The full documentation and examples are available [here](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs).
|
||||
|
||||
To provide a small guide to where to start:
|
||||
|
||||
1. Create a folder where all the terraform files reside.
|
||||
2. Configure the provider to use the right domain, port and token, with for example a `main.tf`file [as shown in the example](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs).
|
||||
3. Add a `zitadel_org` resource to the `main.tf` file, to create and manage a new organization in the instance, [as shown in the example](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs/resources/org).
|
||||
4. Add any resources to the organization in the `main.tf` file, [as example a human user](https://registry.terraform.io/providers/zitadel/zitadel/latest/docs/resources/human_user).
|
||||
5. (Optional) Use Terraform in the directory with the command `terraform plan`, to see which resources would be created and how.
|
||||
6. Apply the changes and start managing your resources with terraform with `terraform apply`.
|
||||
7. (Optional) Delete your created resources with `terraform destroy` to clean-up.
|
@ -56,7 +56,7 @@ docker compose up --detach
|
||||
mv ./machinekey/zitadel-admin-sa.json $HOME/zitadel-admin-sa.json
|
||||
```
|
||||
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform/basics.md).
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform-provider).
|
||||
|
||||
<Next components={props.components} />
|
||||
<Disclaimer components={props.components} />
|
||||
|
@ -59,7 +59,7 @@ ZITADEL_DATABASE_POSTGRES_HOST=localhost ZITADEL_DATABASE_POSTGRES_PORT=5432 ZIT
|
||||
mv /tmp/zitadel-admin-sa.json $HOME/zitadel-admin-sa.json
|
||||
```
|
||||
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform/basics.md).
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform-provider).
|
||||
|
||||
<Next components={props.components} />
|
||||
<Disclaimer components={props.components} />
|
||||
|
@ -61,7 +61,7 @@ ZITADEL_DATABASE_POSTGRES_HOST=localhost ZITADEL_DATABASE_POSTGRES_PORT=5432 ZIT
|
||||
mv /tmp/zitadel-admin-sa.json $HOME/zitadel-admin-sa.json
|
||||
```
|
||||
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform/basics.md).
|
||||
This key can be used to provision resources with for example [Terraform](/docs/guides/manage/terraform-provider).
|
||||
|
||||
<Next components={props.components} />
|
||||
<Disclaimer components={props.components} />
|
||||
|
@ -207,7 +207,7 @@ DefaultInstance:
|
||||
- If you don't want to use the DefaultInstance configuration for the first instance that ZITADEL automatically creates for you during the [setup phase](/self-hosting/manage/configure#database-initialization), you can provide a FirstInstance YAML section using the --steps argument.
|
||||
- Learn how to configure ZITADEL via the [Console user interface](/guides/manage/console/overview).
|
||||
- Probably, you also want to [apply your custom branding](/guides/manage/customize/branding), [hook into certain events](/guides/manage/customize/behavior), [customize texts](/guides/manage/customize/texts) or [add metadata to your users](/guides/manage/customize/user-metadata).
|
||||
- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/guides/manage/terraform/basics).
|
||||
- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/guides/manage/terraform-provider).
|
||||
|
||||
## Limits and Quotas
|
||||
|
||||
|
@ -154,11 +154,6 @@ module.exports = {
|
||||
"guides/manage/customize/restrictions",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Terraform",
|
||||
items: ["guides/manage/terraform/basics"],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Users",
|
||||
@ -168,6 +163,7 @@ module.exports = {
|
||||
"guides/manage/customize/user-schema",
|
||||
],
|
||||
},
|
||||
"guides/manage/terraform-provider"
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -39,6 +39,7 @@
|
||||
{ "source": "/docs/guides/integrate/event-api", "destination": "/docs/guides/integrate/zitadel-apis/event-api", "permanent": true },
|
||||
{ "source": "/docs/examples/call-zitadel-api/go", "destination": "/docs/guides/integrate/zitadel-apis/example-zitadel-api-with-go", "permanent": true },
|
||||
{ "source": "/docs/examples/call-zitadel-api/dot-net", "destination": "/docs/guides/integrate/zitadel-apis/example-zitadel-api-with-dot-net", "permanent": true },
|
||||
{ "source": "/docs/guides/manage/terraform/basics", "destination": "/docs/guides/manage/terraform-provider", "permanent": true },
|
||||
{ "source": "/docs/guides/integrate/identity-providers", "destination": "/docs/guides/integrate/identity-providers/introduction", "permanent": true }
|
||||
]
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user