Terraform модуль zitadel-deploy
выполняет следующие действия:
- Создаёт запрос на LE-сертификат для FQDN виртуальной машины (контейнера).
- Создаёт кластер БД PostgreSQL, БД в кластере и пользователя для доступа к БД.
- Резервирует статический публичный IP-адрес для Zitadel ВМ.
- Создаёт группу безопасности для Zitadel ВМ.
- Создаёт
Zitadel ВМ
. В процессе создания ВМ на неё устанавливаются инструментыDocker
и происходит сборкаконтейнера Zitadel
. - Внутри Zitadel создаётся сервисная учётная запись администратора, ключ от которой (jwt-key) копируется на компьютер на котором запускалось развёртывание решения. Этот ключ далее будет использоваться при запуске других модулей.
Параметр (переменная) | Описание |
---|---|
yc_infra.cloud_id |
Идентификатор облака. |
yc_infra.folder_name |
Имя каталога в облаке yc_infra.cloud_id . |
yc_infra.zone_id |
Идентификатор зоны доступности, где будут развёрнуты Zitadel ВМ и кластер PostgreSQL. |
yc_infra.dns_zone_name |
Имя зоны DNS в сервисе Yandex Cloud DNS. |
yc_infra.network |
Имя сети в каталоге yc_infra.folder_name к подсетям которой будут подключены развёртываемые ресурсы. |
yc_infra.subnet1 |
Имя подсети в сети yc_infra.network к которой будут подключены развёртываемые ресурсы. |
Параметр (переменная) | Описание |
---|---|
pg_cluster.name |
Имя кластера в сервисе Yandex Managed Service for PostgreSQL. |
pg_cluster.version |
Версия PostgreSQL которая будет развёрнута в кластере. |
pg_cluster.flavor |
Класс хостов в кластере PostgreSQL. |
pg_cluster.disk_size |
Размер дискового пространства в кластере (в гигабайтах). |
pg_cluster.db_port |
Номер порта на котором будет отвечать развёрнутый кластер БД. Например, 6432 . |
pg_cluster.db_name |
Имя базы данных (БД) для работы Zitadel ВМ. |
pg_cluster.db_user |
Имя учётной записи администратора для подключения к БД. |
pg_cluster.db_pass |
Пароль для учётной записи администратора БД. |
Параметр (переменная) | Описание |
---|---|
zitadel_cntr.name |
Имя образа который будет собираться, например, zitadel . |
zitadel_cntr.cr_name |
Имя Container Registry из которого будет загружаться базовый образ при сборке контейнера Zitadel, например, mirror.gcr.io . |
zitadel_cntr.cr_base_image |
Имя базового образа в Container Registry, который будет использоваться при сборке контейнера Zitadel,например, ubuntu:22.04 . |
zitadel_cntr.zitadel_source |
URL к дистрибутиву Zitadel, по-умолчанию ссылка на github.com . |
zitadel_cntr.zitadel_version |
Версия Zitadel, которую нужно развернуть, например, 2.53.2 . |
zitadel_cntr.zitadel_file |
Имя архива по пути, указанном в zitadel_source , который будет использоваться при сборке контейнера. |
zitadel_cntr.yq_source |
URL к дистрибутиу YQ, по-умолчанию ссылка на github.com . |
zitadel_cntr.yq_version |
Версия YQ, которую нужно установить при сборке контейнера, например, 2.44.2 . |
zitadel_cntr.yq_file |
Имя файла по пути, указанном в yq_source , который будет использоваться при сборке контейнера. |
Параметр (переменная) | Описание |
---|---|
zitadel_vm.name |
Имя виртуальной машины Zitadel ВМ. |
zitadel_vm.vcpu |
Количество ядер для Zitadel ВМ. |
zitadel_vm.ram |
Количество оперативной памяти (RAM) для Zitadel ВМ (в гигабайтах). |
zitadel_vm.disk_size |
Размер диска для Zitadel ВМ. Предполагается использование network-ssd диска для развёртывания ВМ (в гигабайтах). |
zitadel_vm.image_family |
Имя семейства базового образа для развёртывания Zitadel ВМ. Например, ubuntu-2204-lts . |
zitadel_vm.port |
Номер порта на котором будет отвечать Zitadel после развёртывания. Например, 8443 . |
zitadel_vm.jwt_path |
Путь в системе где запускается Terraform развёртывание по которому Zitadel в процессе своей инициализации создаст ключ сервисной учётной записи в виде файла в формате json. Имя файла с ключом будет иметь вид: <zitadel_vm.name>-sa.json , например, zitadel-vm-sa.json . Этот файл будет использоваться в дальнейшем для создания всех необходимых объектов в Zitadel. |
zitadel_vm.admin_user |
Имя администратора Zitadel ВМ. Используется только при подключении к ВМ по протоколу SSH. |
zitadel_vm.admin_key_file |
Путь к файлу с приватным SSH-ключом администратора Zitadel ВМ. Используется только при подключении к ВМ по протоколу SSH, например, ~/.ssh/id_ed25519 . |
После завершения своей работы модуль zitadel-deploy
возвращает следующие переменные:
Параметр (переменная) | Описание |
---|---|
zitadel_base_url |
URL с указанием FQDN развёрнутого IdP Zitadel, например, https://zitadel-vm.my-domain.net:8443 . |
jwt_key_full_path |
Полный путь к файлу с ключом сервисной учётной записи, например, ~/.ssh/zitadel-vm-sa.json . |