{"level":"info","timestamp":"2026-06-02T21:50:11.853Z","caller":"cmd/main.go:66","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-02T21:50:11.954Z","caller":"cmd/main.go:200","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-02T21:50:11.954Z","caller":"cmd/main.go:102","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-02T21:50:12.023Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-06-02T21:50:12.023Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-02T21:50:12.023Z","caller":"cmd/main.go:128","message":"Ephemeral key cleanup enabled","interval":15} {"level":"info","timestamp":"2026-06-02T21:50:12.127Z","caller":"cmd/main.go:221","message":"Resolved gateway internal host for access probes","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local"} {"level":"info","timestamp":"2026-06-02T21:50:12.145Z","caller":"cmd/main.go:162","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/02 - 21:50:18 | 200 | 77.82µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:23 | 200 | 45.611µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:28 | 200 | 42.436µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:33 | 200 | 44.03µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:38 | 200 | 43.353µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:43 | 200 | 40.84µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:48 | 200 | 71.554µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:50 | 200 | 40.267µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:53 | 200 | 41.525µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:50:58 | 200 | 65.22µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:00 | 200 | 41.856µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:03 | 200 | 44.888µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:08 | 200 | 34.686µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:10 | 200 | 43.244µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:13 | 200 | 41.274µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:18 | 200 | 45.364µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:20 | 200 | 45.98µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:23 | 200 | 40.026µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:28 | 200 | 52.413µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:30 | 200 | 43.093µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:33 | 200 | 42.677µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:38 | 200 | 45.612µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:40 | 200 | 34.86µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:43 | 200 | 42.4µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:48 | 200 | 41.722µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:50 | 200 | 36.697µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:53 | 200 | 47.996µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:51:58 | 200 | 79.024µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:00 | 200 | 38.378µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:03 | 200 | 37.626µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:08 | 200 | 46.949µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:10 | 200 | 58.81µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:13 | 200 | 44.97µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:18 | 200 | 39.159µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:20 | 200 | 39.475µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:23 | 200 | 38.244µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:28 | 200 | 35.187µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:30 | 200 | 43.164µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:33 | 200 | 33.466µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:38 | 200 | 35.986µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:40 | 200 | 37.026µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:43 | 200 | 35.546µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:48 | 200 | 37.781µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:50 | 200 | 36.87µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:53 | 200 | 36.156µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:52:58 | 200 | 34.033µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:00 | 200 | 34.995µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:03 | 200 | 36.444µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:08 | 200 | 35.453µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:10 | 200 | 36.026µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:13 | 200 | 35.134µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:18 | 200 | 35.477µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:20 | 200 | 38.072µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:23 | 200 | 38.212µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:28 | 200 | 34.713µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:30 | 200 | 36.827µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:33 | 200 | 35.098µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:38 | 200 | 35.026µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:40 | 200 | 35.48µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:43 | 200 | 35.969µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:48 | 200 | 33.548µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:50 | 200 | 34.674µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:53 | 200 | 35.182µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:53:58 | 200 | 43.615µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:00 | 200 | 35.5µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:03 | 200 | 33.849µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:08 | 200 | 41.89µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:10 | 200 | 40.204µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:13 | 200 | 47.51µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:18 | 200 | 39.782µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:20 | 200 | 37.351µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:23 | 200 | 53.953µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:28 | 200 | 39.504µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:30 | 200 | 34.159µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:33 | 200 | 35.817µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:38 | 200 | 41.355µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:40 | 200 | 36.218µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:43 | 200 | 37.701µs | 10.132.0.2 | GET "/health" [GIN] 2026/06/02 - 21:54:48 | 200 | 35.943µs | 10.132.0.2 | GET "/health"