{"level":"info","timestamp":"2026-06-10T20:12:37.655Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-10T20:12:37.671Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-10T20:12:37.671Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-10T20:12:37.866Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-10T20:12:37.866Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-10T20:12:37.970Z","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-06-10T20:12:38.050Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/10 - 20:12:44 | 200 | 53.556µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:12:49 | 200 | 38.264µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:12:54 | 200 | 42.747µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:12:59 | 200 | 44.412µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:04 | 200 | 56.586µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:09 | 200 | 42.216µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:14 | 200 | 39.164µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:14 | 200 | 33.484µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:19 | 200 | 35.741µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:24 | 200 | 31.57µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:24 | 200 | 54.366µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:29 | 200 | 34.984µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:34 | 200 | 34.899µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:34 | 200 | 30.953µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:39 | 200 | 32.408µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:44 | 200 | 45.781µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:44 | 200 | 32.058µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:49 | 200 | 32.422µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:54 | 200 | 45.301µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:54 | 200 | 33.886µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:13:59 | 200 | 31.447µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:04 | 200 | 39.369µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:04 | 200 | 33.58µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:09 | 200 | 39.067µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:14 | 200 | 36.065µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:14 | 200 | 39.029µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:19 | 200 | 31.602µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:24 | 200 | 36.907µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:24 | 200 | 33.181µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:29 | 200 | 31.336µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:34 | 200 | 33.411µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:34 | 200 | 31.274µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:39 | 200 | 33.867µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:44 | 200 | 33.475µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:44 | 200 | 30.952µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:49 | 200 | 31.589µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:54 | 200 | 39.726µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:54 | 200 | 40.049µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:14:59 | 200 | 36.707µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:04 | 200 | 31.97µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:04 | 200 | 45.125µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-10T20:15:08.210Z","caller":"api_keys/service.go:307","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/10 - 20:15:08 | 200 | 10.801888ms | 10.133.0.37 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/10 - 20:15:09 | 200 | 38.139µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:14 | 200 | 33.451µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:14 | 200 | 32.54µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:19 | 200 | 31.18µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:24 | 200 | 34.339µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:24 | 200 | 44.355µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:29 | 200 | 60.777µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:34 | 200 | 32.615µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:34 | 200 | 35.912µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:39 | 200 | 32.762µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:44 | 200 | 31.809µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:44 | 200 | 34.355µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:49 | 200 | 31.68µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:54 | 200 | 63.802µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:54 | 200 | 39.172µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:15:59 | 200 | 31.376µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:04 | 200 | 32.801µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:04 | 200 | 31.009µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:09 | 200 | 34.639µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:14 | 200 | 33.854µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:14 | 200 | 32.092µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:19 | 200 | 55.853µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:24 | 200 | 40.734µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:24 | 200 | 31.289µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:29 | 200 | 32.204µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:34 | 200 | 33.14µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:34 | 200 | 30.647µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:39 | 200 | 36.733µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:44 | 200 | 33.88µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:44 | 200 | 33.282µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:49 | 200 | 47.753µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:54 | 200 | 33.33µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:54 | 200 | 34.697µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:16:59 | 200 | 32.776µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:04 | 200 | 39.345µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:04 | 200 | 38.669µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:09 | 200 | 30.794µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:14 | 200 | 32.362µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:14 | 200 | 33.168µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:19 | 200 | 31.639µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:24 | 200 | 33.343µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:24 | 200 | 33.228µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:29 | 200 | 33.47µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:34 | 200 | 32.274µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:34 | 200 | 35.006µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:39 | 200 | 36.188µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:44 | 200 | 31.429µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:44 | 200 | 34.76µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:49 | 200 | 34.103µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:54 | 200 | 30.956µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:54 | 200 | 35.203µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:17:59 | 200 | 32.971µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:04 | 200 | 30.859µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:04 | 200 | 30.506µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:09 | 200 | 31.639µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:14 | 200 | 42.619µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:14 | 200 | 37.224µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:19 | 200 | 33.403µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:24 | 200 | 33.796µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:24 | 200 | 32.155µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:29 | 200 | 40.407µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:34 | 200 | 37.55µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:34 | 200 | 44.448µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:39 | 200 | 37.481µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:44 | 200 | 36.131µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:44 | 200 | 42.322µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:49 | 200 | 38.619µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:54 | 200 | 44.886µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:54 | 200 | 42.624µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:18:59 | 200 | 41.364µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:04 | 200 | 33.781µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:04 | 200 | 34.674µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:09 | 200 | 33.998µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:14 | 200 | 40.037µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:14 | 200 | 34.583µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:19 | 200 | 43.201µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:24 | 200 | 44.275µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:24 | 200 | 40.058µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:29 | 200 | 48.811µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:34 | 200 | 44.735µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:34 | 200 | 41.916µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:39 | 200 | 49.303µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:44 | 200 | 41.315µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:44 | 200 | 38.88µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:49 | 200 | 40.531µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:54 | 200 | 37.632µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:54 | 200 | 39.667µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:19:59 | 200 | 55.78µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:04 | 200 | 51.461µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:04 | 200 | 53.849µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:09 | 200 | 43.735µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:14 | 200 | 37.819µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:14 | 200 | 44.172µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:19 | 200 | 41.572µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:24 | 200 | 37.998µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/10 - 20:20:24 | 200 | 38.572µs | 10.134.0.2 | GET "/health"