# Which Problems Are Solved
When Postgres was not ready when the API was started, the API failed
immediately.
This made task orchestration hard, especially in a platform agnostic
way:
- The current health check in the Nx target `@zitadel/api:prod` uses the
timeout command, which is not installed on all platforms and behaves
unpredictably
- The current health check in the Nx target `@zitadel/api:prod` requires
the DB to have been started using `@zitadel/zitadel:db`
# How the Problems Are Solved
- Additional configuration option `Database.Postgres.AwaitInitialConn`
is added and defaults to *0m* for backwards compatibility.
- If a duration is configured, the API retries to ping the database
until it succeeds
- The API sleeps for a second between each ping.
- It emits an info-level log with the error on each try.
- When the configured duration times out before the ping is successful,
the error is returned and the command exits with a failure code.
- When the ping succeeds within the configured duration, the API goes on
with the init, setup or start phase.
# Additional Context
- Relates to internally reported problems with the current DB health
check command
[here](https://zitadel.slack.com/archives/C07EUL5H83A/p1759915009839269?thread_ts=1759912259.410789&cid=C07EUL5H83A)
and
[here](https://zitadel.slack.com/archives/C07EUL5H83A/p1759918324246249?thread_ts=1759912259.410789&cid=C07EUL5H83A).
(cherry picked from commit 7ba6870baf)
ZITADEL-Docs
This website is built using Docusaurus 2, a modern static website generator.
The documentation is part of the ZITADEL monorepo and uses pnpm and Nx for development and build processes.
Quick Start
Run the following commands from the repositorys root directory to install all dependencies needed. Using Corepack makes sure you have the pnpm version intalled that is declared in .
corepack enable
pnpm install
Start a docs server
# Start development server with live-reloading
pnpm nx run @zitadel/docs:dev
# Or serve a production build
pnpm nx run @zitadel/docs:start
The site will be available at http://localhost:3100
Add new Sites to existing Topics
To add a new site to the already existing structure simply save the md file into the corresponding folder and append the sites id int the file sidebars.js.
If you are introducing new APIs (gRPC), you need to add a new entry to docusaurus.config.js under the plugins section.
Build Process
The documentation build process automatically:
- Downloads required protoc plugins - Ensures
protoc-gen-connect-openapiis available - Generates gRPC documentation - Creates API docs from proto files
- Generates API documentation - Creates OpenAPI specification docs
- Copies configuration files - Includes configuration examples
- Builds the Docusaurus site - Generates the final static site