75 Commits

Author SHA1 Message Date
8515879448 Revert "temp: try uvicorn command in railway.json"
This reverts commit 45ec5c396c.
2024-11-01 20:48:18 -05:00
45ec5c396c temp: try uvicorn command in railway.json 2024-11-01 20:44:40 -05:00
1003fd3eed hotfix: re-add hypercorn with railway start cmd/logging.toml, restore internal uvicorn bindings to conditional ip-v4/v6 2024-11-01 20:21:56 -05:00
e2a47c1868 hotfix: listen on 0.0.0.0 IPv4 interface binding
I don't know sometimes.
2024-11-01 19:34:11 -05:00
f8d1edcf3b Bump project version to 0.2.2 2024-11-01 19:18:36 -05:00
43bf96e5c1 Add orjson JSON serializer for FastAPI & structlog performance 2024-11-01 19:17:57 -05:00
b561ec6998 Improve migrate, responses docs, require min length 9 migration name (validator) 2024-11-01 18:42:57 -05:00
75e875e61d Switch migrate.py to structlog, remove unused old testing code 2024-11-01 18:37:10 -05:00
3b3f3ba784 Fix unspecified IPv6 addresses from being malformed by hide_ip, fix double private get_database_url breaking 2024-11-01 18:24:06 -05:00
204be26201 Improve migrate.py docs, variable names 2024-11-01 18:17:38 -05:00
b7d9b256d9 Minor documentation improvement in utilities.py 2024-11-01 18:12:34 -05:00
01f6d348cd Improve models.py documentation, small DATABASE_URL check 2024-11-01 18:10:49 -05:00
cf7536a39b Add get_db utility function
- Minor changes in flush_ips log messages
2024-11-01 18:03:32 -05:00
85a2d82832 Remove deprecated utcnow() usage, pass UTC TzInfo instead 2024-11-01 17:54:36 -05:00
1ecab265ac Raise level for apscheduler.scheduler logger, add TODO for easier log configuration 2024-11-01 17:53:28 -05:00
b67272392a Improve logging.py documentation 2024-11-01 17:51:22 -05:00
52df0c571f Fix IPv4 interface bind in production, fix reloader enabled in production 2024-11-01 17:45:37 -05:00
65701b7178 Improve entrypoint documentation & debug logs 2024-11-01 17:45:07 -05:00
e61b2a7f60 Bump project version to 0.2.1 2024-11-01 17:11:01 -05:00
7a27175423 Remove development mode check for ip_pool generation
I just wanna see it run on the production serve once, I'll remove all of
this later.
2024-11-01 16:57:37 -05:00
e1bbeedaf2 Remove 'ms' suffix from 'duration' log key, re-enable X-Process-Time header in development mode 2024-11-01 16:38:20 -05:00
441ab00da3 Move is_development into utilities.py 2024-11-01 16:37:39 -05:00
40669b8f08 Fix human_readable not handling UTC dates properly, add types-pytz 2024-11-01 16:36:47 -05:00
daf9254596 Passthrough arguments for backend/run.sh 2024-11-01 16:23:23 -05:00
10b93d41d6 Reformat all python files, remove unused imports 2024-11-01 16:13:01 -05:00
57aa841871 Use datetime.utcnow instead, eliminate timezone consideration 2024-11-01 16:12:16 -05:00
796c28d72d Switch railway.json startCommand to module serve, use PORT variable 2024-11-01 16:02:40 -05:00
267abfe792 Remove old hypercorn command with unused logging.toml 2024-11-01 16:01:58 -05:00
6fe1a8b60f Use logger not logging, use keyword arguments for structured logging 2024-11-01 15:47:28 -05:00
9336fb5506 Set access logs to debug, millisecond process time, pluralize word option
I'm unsure if it's good to use string notation in the duration, maybe duration_ms to imply the unit would be better?
2024-11-01 15:47:28 -05:00
bcb1441251 Switch main app loggers to structlog, fix improper structlogs 2024-11-01 15:47:28 -05:00
f93df47b67 Disable X-Process-Time response header 2024-11-01 15:47:28 -05:00
3232e89d0a Bump project version to 0.2.0 2024-11-01 15:47:28 -05:00
a873c4785d Access environment variables directly in setup_logging 2024-11-01 15:47:28 -05:00
1741739310 Disable handlers, setup propagation with uvicorn log_config
Apparently this was what I have been chasing for the last few hours.
2024-11-01 15:47:28 -05:00
3a2ef75086 Add ASGI Request-Id correlation, add structlog LoggingMiddleware, overhaul all logging
- minor formatting details, type fixes.
2024-11-01 15:47:28 -05:00
a96631e81e Setup structlog, delete randomized IPs on startup
- minor formatting, type fixes
2024-11-01 15:47:28 -05:00
0816ddcdca Switch from hypercorn to uvicorn, structlog testing 2024-11-01 15:47:28 -05:00
91cc8e24b6 Remove deprecated startup/shutdown events into proper applicaiton Lifespan definition 2024-11-01 15:47:28 -05:00
f8b76c757c Initial logging improvements, switch run.sh to direct module 'serve' cmd 2024-11-01 15:47:28 -05:00
902eb74deb Add 'structlog' module 2024-11-01 15:47:28 -05:00
5a288cf87c Only import CORSMiddleware in development mode 2024-11-01 15:47:28 -05:00
5390fb57a7 Overhaul run.sh scripts
- Default environment variables through this, instead of .env
- Added some basic checks to ensure developers don't stub their toe
- Use `railway link`, injecting environment variables without insecure dotenv files
2024-11-01 15:47:28 -05:00
f034b41da1 Add .env.example in proper places 2024-11-01 15:47:28 -05:00
109e09df50 Add note on purpose of poetry version in Nixpacks config 2024-11-01 15:47:28 -05:00
1380ae5497 only hide ip if it's not the same as user_ip 2024-10-24 04:38:37 -05:00
bc0ef7728f reformat, add docs 2024-10-24 04:23:35 -05:00
c25e335fc9 Add psycopg2 (!!!) 2024-10-24 04:23:29 -05:00
4267d40611 development mode checks 2024-10-24 04:18:08 -05:00
c0d135d8a8 revamp ip address demo, buffered background IP submit with upsert, parameterized SQL with psycopg2 cursor & execute_values 2024-10-24 04:04:09 -05:00