{"level":"info","timestamp":"2026-04-17T15:27:20.521Z","caller":"cmd/main.go:60","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-04-17T15:27:20.618Z","caller":"cmd/main.go:136","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-04-17T15:27:20.690Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-04-17T15:27:20.690Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-04-17T15:27:20.791Z","caller":"cmd/main.go:104","message":"Server starting","address":":8443","secure":true} [GIN] 2026/04/17 - 15:27:27 | 200 | 48.924µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:32 | 200 | 28.866µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:37 | 200 | 36.54µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:42 | 200 | 41.911µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:47 | 200 | 32.544µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:52 | 200 | 33.398µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:57 | 200 | 37.363µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:27:58 | 200 | 28.776µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:02 | 200 | 59.343µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:07 | 200 | 25.679µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:08 | 200 | 29.786µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:12 | 200 | 25.148µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:17 | 200 | 29.079µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:18 | 200 | 25.508µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:22 | 200 | 25.619µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:27 | 200 | 24.363µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:28 | 200 | 32.163µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:32 | 200 | 24.945µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:37 | 200 | 27.971µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:38 | 200 | 35.092µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:42 | 200 | 47.18µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:47 | 200 | 25.985µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:48 | 200 | 24.007µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:52 | 200 | 25.301µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:57 | 200 | 32.322µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:28:58 | 200 | 25.753µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:02 | 200 | 33.037µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:07 | 200 | 24.942µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:08 | 200 | 26.007µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:12 | 200 | 35.158µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:17 | 200 | 33.709µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:18 | 200 | 46.164µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:22 | 200 | 36.932µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:27 | 200 | 39.707µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:28 | 200 | 34.606µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:32 | 200 | 31.762µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:37 | 200 | 32.948µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:38 | 200 | 34.049µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:42 | 200 | 33.604µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:47 | 200 | 43.579µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:48 | 200 | 32.168µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:52 | 200 | 33.065µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:57 | 200 | 34.364µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:29:58 | 200 | 46.404µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:02 | 200 | 27.823µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:07 | 200 | 27.883µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:08 | 200 | 25.245µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:12 | 200 | 27.036µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:17 | 200 | 32.495µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:18 | 200 | 49.39µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:22 | 200 | 30.306µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:27 | 200 | 30.954µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:28 | 200 | 31.447µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:32 | 200 | 37.52µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:37 | 200 | 33.064µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:38 | 200 | 42.137µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:42 | 200 | 33.291µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:47 | 200 | 33.823µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:48 | 200 | 32.345µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:52 | 200 | 35.955µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:57 | 200 | 30.842µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:30:58 | 200 | 33.387µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:02 | 200 | 30.278µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:07 | 200 | 31.094µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:08 | 200 | 35.063µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:12 | 200 | 33.333µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:17 | 200 | 36.781µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:18 | 200 | 34.592µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:22 | 200 | 57.691µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:27 | 200 | 34.458µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:28 | 200 | 31.671µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:32 | 200 | 36.421µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:37 | 200 | 36.955µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:38 | 200 | 31.504µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:42 | 200 | 34.57µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:47 | 200 | 41.541µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:48 | 200 | 34.248µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:52 | 200 | 25.268µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:57 | 200 | 31.479µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:31:58 | 200 | 31.431µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:02 | 200 | 26.718µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:07 | 200 | 30.813µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:08 | 200 | 33.781µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:12 | 200 | 32.581µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:17 | 200 | 36.312µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:18 | 200 | 30.445µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:22 | 200 | 26.036µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:27 | 200 | 48.57µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:28 | 200 | 33.806µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:32 | 200 | 29.995µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:37 | 200 | 31.213µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:38 | 200 | 32.755µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:42 | 200 | 35.855µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:47 | 200 | 32.059µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:48 | 200 | 48.018µs | 10.132.0.2 | GET "/health" [GIN] 2026/04/17 - 15:32:52 | 200 | 41.059µs | 10.132.0.2 | GET "/health"