- Remove all ZITADEL_FIRSTINSTANCE_* environment variables - Fixes migration error: duplicate key constraint violation - Root cause: Bug in Zitadel v2.63.7 FirstInstance migration - Workaround: Complete initial setup via web UI - Upstream issue: https://github.com/zitadel/zitadel/issues/8791 Changes: - Clean up obsolete documentation (OIDC_AUTOMATION.md, SETUP_GUIDE.md, COLLABORA_SETUP.md) - Add PROJECT_REFERENCE.md for essential configuration info - Add force recreate functionality with clean database volumes - Update bootstrap instructions for web UI setup - Document one-time manual setup requirement for OIDC automation Zitadel now deploys successfully and is accessible at: https://zitadel.test.vrije.cloud 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
---
|
|
# Bootstrap tasks for initial Zitadel configuration
|
|
|
|
- name: Check if bootstrap already completed
|
|
stat:
|
|
path: "{{ zitadel_config_dir }}/.bootstrap_complete"
|
|
register: bootstrap_flag
|
|
|
|
- name: Bootstrap Zitadel instance
|
|
when: not bootstrap_flag.stat.exists
|
|
block:
|
|
- name: Wait for Zitadel to be fully ready
|
|
uri:
|
|
url: "https://{{ zitadel_domain }}/debug/ready"
|
|
validate_certs: yes
|
|
status_code: 200
|
|
register: zitadel_ready
|
|
until: zitadel_ready.status == 200
|
|
retries: 30
|
|
delay: 10
|
|
|
|
- name: Display bootstrap instructions
|
|
debug:
|
|
msg: |
|
|
========================================
|
|
Zitadel is running!
|
|
========================================
|
|
|
|
URL: https://{{ zitadel_domain }}
|
|
|
|
⚠️ FIRST-TIME SETUP REQUIRED
|
|
|
|
Due to migration bugs in Zitadel v2.63.7, FirstInstance environment
|
|
variables cannot be used. You must complete initial setup via web UI.
|
|
|
|
Visit: https://{{ zitadel_domain }}
|
|
|
|
Next steps:
|
|
1. Complete web UI setup wizard (create admin account)
|
|
2. Create a service user for API automation
|
|
3. Generate JWT key for the service user
|
|
4. Store JWT key for automated OIDC app provisioning
|
|
|
|
See: https://github.com/zitadel/zitadel/issues/8791
|
|
|
|
- name: Mark bootstrap as complete
|
|
file:
|
|
path: "{{ zitadel_config_dir }}/.bootstrap_complete"
|
|
state: touch
|
|
mode: '0600'
|
|
|
|
- name: Bootstrap already completed
|
|
debug:
|
|
msg: "Zitadel bootstrap already completed, skipping initialization"
|
|
when: bootstrap_flag.stat.exists
|