Prefect

Prefect server startup fails with individual database configuration parameters

critical
configurationUpdated Jan 9, 2025(via Exa)
Technologies:
How to detect:

When using individual database configuration environment variables (PREFECT_API_DATABASE_DRIVER, PREFECT_API_DATABASE_HOST, PREFECT_API_DATABASE_PORT, PREFECT_API_DATABASE_NAME, PREFECT_API_DATABASE_USER, PREFECT_API_DATABASE_PASSWORD) in Prefect v3.1.11, the server fails to start during logging setup with a PydanticSerializationError about SecretStr serialization.

Recommended action:

Replace individual database configuration parameters with a single connection URL parameter. Set PREFECT_SERVER_DATABASE_CONNECTION_URL to a connection string in the format: postgresql+asyncpg://user:password@host:port/dbname. Remove the individual PREFECT_API_DATABASE_* parameters.