{"level":"info","timestamp":"2026-05-29T14:57:17.532Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-05-29T14:57:17.618Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-05-29T14:57:17.619Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-05-29T14:57:17.691Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-05-29T14:57:17.691Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-05-29T14:57:17.795Z","caller":"cmd/main.go:193","message":"Resolved gateway internal host for access probes","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local"} {"level":"info","timestamp":"2026-05-29T14:57:17.818Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/05/29 - 14:57:24 | 200 | 59.535µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:29 | 200 | 31.75µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:34 | 200 | 41.366µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:39 | 200 | 42.948µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:44 | 200 | 40.309µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:49 | 200 | 41.034µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:54 | 200 | 30.834µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:54 | 200 | 36.089µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:57:59 | 200 | 33.105µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:04 | 200 | 34.607µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:04 | 200 | 32.491µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:09 | 200 | 35.144µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:14 | 200 | 34.343µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:14 | 200 | 43.107µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:19 | 200 | 43.437µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:24 | 200 | 41.121µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:24 | 200 | 34.868µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:29 | 200 | 30.964µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:34 | 200 | 32.189µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:34 | 200 | 30.98µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:39 | 200 | 36.237µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:44 | 200 | 31.975µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:44 | 200 | 34.328µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:49 | 200 | 36.873µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:54 | 200 | 32.343µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:54 | 200 | 31.77µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:58:59 | 200 | 31.367µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:04 | 200 | 34.14µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:04 | 200 | 34.809µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:09 | 200 | 32.314µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:14 | 200 | 31.742µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:14 | 200 | 31.026µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:19 | 200 | 44.353µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:24 | 200 | 36.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:24 | 200 | 38.488µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:29 | 200 | 33.082µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:34 | 200 | 34.614µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:34 | 200 | 33.512µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:39 | 200 | 34.175µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:44 | 200 | 33.962µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:44 | 200 | 32.3µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:49 | 200 | 31.384µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:54 | 200 | 34.557µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:54 | 200 | 31.492µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 14:59:59 | 200 | 37.675µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:04 | 200 | 35.507µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:04 | 200 | 33.304µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-29T15:00:04.850Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/05/29 - 15:00:04 | 200 | 10.794813ms | 10.132.0.54 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/05/29 - 15:00:09 | 200 | 32.925µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:14 | 200 | 34.999µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:14 | 200 | 33.985µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:19 | 200 | 36.973µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:24 | 200 | 33.589µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:24 | 200 | 33.764µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:29 | 200 | 33.91µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:34 | 200 | 33.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:34 | 200 | 31.716µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:39 | 200 | 33.291µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:44 | 200 | 50.456µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:44 | 200 | 33.464µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/29 - 15:00:49 | 200 | 31.414µs | 10.133.0.2 | GET "/health"