JoseSzycho
JoseSzycho6mo ago

Automating Zitadel Configuration Without Manual UI Interaction or API Calls

Hi, we are setting up our dev environment using docker, and need to configure some Zitadel settings without any manual interaction through the UI. Specifically, we need to set up pre-access token creation, Google and GitHub IdPs, and other configurations. What approach are you using? We want to automate these tasks but prefer not to rely on code to call the APIs.
2 Replies
Rajat Singh
Rajat Singh6mo ago
hi @JoseSzycho as of right now, there is a guide to deploy zitadel with a service user already created with docker compose https://zitadel.com/docs/self-hosting/deploy/compose#docker-compose-with-service-account on top of that you can configure your Zitadel instance with all these options with defaults.yaml that gives you more control over what all things you'd like to have when you start your instance. Few options that defaults.yaml provides are Logging,Metrics, Tracing, Profiler, etc. The list is long so you might have to read it to get a better understanding. Now if I talk specifics, altho there is no "direct" configuration option to setup IDP, but it enables the possibility of using external IDPs(check the flag in defaults.yaml AllowExternalIDP when set to true allows instances to configure and use external identity providers). As for the Pre Access token Creation, this is done via Actions in Zitadel. Here is the relevant doc for the same Once you read about Actions a bit you should be able to understand about it. Hope this helps and please feel free to ask me more questions there's any more questions.
ZITADEL Docs
This flow is executed during the creation of tokens and token introspection.
ZITADEL Docs
The setup is tested against Docker version 20.10.17 and Docker Compose version v2.2.3
ZITADEL Docs
This page describes the options you have when writing ZITADEL actions scripts.
ZITADEL Docs
This guide assumes you are familiar with running ZITADEL using the least amount of configuration possible.
Titouan-Joseph
Titouan-Joseph6mo ago
Hello, On my side, I have conbined the default options and terraform Here the configuration for the default with docker compose : https://gitlab.com/24-heures-insa/infra/-/blob/main/docker-compose-zitadel.yml?ref_type=heads#L11-36 And here is the terraform code ; https://gitlab.com/24-heures-insa/infra/-/tree/main/data/zitadel/terraform?ref_type=heads With terraform, I configure: - external IDP (google, giltab and GitHub) - the password policy - some UI configuration (logo, color, links, etc.) - additional actions - the project and application configuration with roles

Did you find this page helpful?