full-stack-fastapi-template icon indicating copy to clipboard operation
full-stack-fastapi-template copied to clipboard

use Pydantic to validate CLI for project setup

Open zevaverbach opened this issue 5 years ago • 2 comments

I gather this isn't currently happening? I mistakenly entered a Sentry key instead of a URL but this wasn't enforced until docker-compose up -d failed because I put in the wrong data.

Ø docker-compose logs backend
WARNING: Some services (backend, db, flower, frontend, pgadmin, proxy) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
Attaching to try_fastapi_batteries_included_backend_1
backend_1       | Checking for script in /app/prestart.sh
backend_1       | Running script /app/prestart.sh
backend_1       | Traceback (most recent call last):
backend_1       |   File "/app/app/backend_pre_start.py", line 5, in <module>
backend_1       |     from app.db.session import SessionLocal
backend_1       |   File "/app/app/db/session.py", line 4, in <module>
backend_1       |     from app.core.config import settings
backend_1       |   File "/app/app/core/config.py", line 89, in <module>
backend_1       |     settings = Settings()
backend_1       |   File "pydantic/env_settings.py", line 33, in pydantic.env_settings.BaseSettings.__init__
backend_1       |   File "pydantic/main.py", line 346, in pydantic.main.BaseModel.__init__
backend_1       | pydantic.error_wrappers.ValidationError: 1 validation error for Settings
backend_1       | SENTRY_DSN
backend_1       |   invalid or missing URL scheme (type=value_error.url.scheme)
backend_1       | Checking for script in /app/prestart.sh
backend_1       | Running script /app/prestart.sh
backend_1       | Traceback (most recent call last):
backend_1       |   File "/app/app/backend_pre_start.py", line 5, in <module>
backend_1       |     from app.db.session import SessionLocal
backend_1       |   File "/app/app/db/session.py", line 4, in <module>
backend_1       |     from app.core.config import settings
backend_1       |   File "/app/app/core/config.py", line 89, in <module>
backend_1       |     settings = Settings()
backend_1       |   File "pydantic/env_settings.py", line 33, in pydantic.env_settings.BaseSettings.__init__
backend_1       |   File "pydantic/main.py", line 346, in pydantic.main.BaseModel.__init__
backend_1       | pydantic.error_wrappers.ValidationError: 1 validation error for Settings
backend_1       | SENTRY_DSN
backend_1       |   invalid or missing URL scheme (type=value_error.url.scheme)

zevaverbach avatar Sep 11 '20 05:09 zevaverbach