{"level":"info","timestamp":"2026-06-15T06:38:08.733Z","caller":"cmd/main.go:66","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-15T06:38:08.745Z","caller":"cmd/main.go:200","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-15T06:38:08.745Z","caller":"cmd/main.go:102","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-15T06:38:08.877Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-15T06:38:08.877Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-15T06:38:08.877Z","caller":"cmd/main.go:128","message":"Ephemeral key cleanup enabled","interval":15} {"level":"info","timestamp":"2026-06-15T06:38:08.981Z","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-15T06:38:09.026Z","caller":"cmd/main.go:162","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/15 - 06:38:14 | 200 | 61.242µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:19 | 200 | 56.536µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:24 | 200 | 34.877µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:29 | 200 | 45.482µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:34 | 200 | 44.285µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:39 | 200 | 46.761µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:44 | 200 | 40.937µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:47 | 200 | 34.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:49 | 200 | 33.622µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:54 | 200 | 45.633µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:57 | 200 | 36.054µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:38:59 | 200 | 41.963µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:04 | 200 | 33.96µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:07 | 200 | 44.643µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:09 | 200 | 41.501µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:14 | 200 | 42.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:17 | 200 | 35.678µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:19 | 200 | 38.215µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:24 | 200 | 33.844µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:27 | 200 | 33.372µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:29 | 200 | 33.785µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:34 | 200 | 40.254µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:37 | 200 | 36.805µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:39 | 200 | 34.806µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:44 | 200 | 44.997µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:47 | 200 | 36.728µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:49 | 200 | 37.085µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:54 | 200 | 38.355µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:57 | 200 | 37.003µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:39:59 | 200 | 43.708µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:04 | 200 | 35.167µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:07 | 200 | 35.824µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:09 | 200 | 34.851µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:14 | 200 | 42.739µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:17 | 200 | 37.202µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:19 | 200 | 35.083µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:24 | 200 | 32.658µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:27 | 200 | 37.336µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:29 | 200 | 34.454µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:34 | 200 | 40.112µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:37 | 200 | 31.714µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:39 | 200 | 33.681µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:44 | 200 | 41.982µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:47 | 200 | 34.276µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:49 | 200 | 44.632µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:54 | 200 | 37.549µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:57 | 200 | 48.498µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:40:59 | 200 | 34.288µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:04 | 200 | 36.011µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:07 | 200 | 37.269µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:09 | 200 | 47.822µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:14 | 200 | 35.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:17 | 200 | 32.593µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:19 | 200 | 35.506µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:24 | 200 | 34.94µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:27 | 200 | 35.19µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:29 | 200 | 35.398µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:34 | 200 | 33.534µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:37 | 200 | 36.082µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:39 | 200 | 34.647µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:44 | 200 | 34.707µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:47 | 200 | 34.631µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:49 | 200 | 47.801µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:54 | 200 | 32.881µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:57 | 200 | 49.048µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:41:59 | 200 | 33.118µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:04 | 200 | 34.888µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:07 | 200 | 53.001µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:09 | 200 | 34.232µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:14 | 200 | 38.585µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:17 | 200 | 39.383µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:19 | 200 | 40.182µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:24 | 200 | 51.657µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:27 | 200 | 42.57µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:29 | 200 | 45.74µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:34 | 200 | 50.295µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:37 | 200 | 42.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:39 | 200 | 57.043µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:44 | 200 | 49.13µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:47 | 200 | 42.406µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:49 | 200 | 42.314µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:54 | 200 | 38.912µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:57 | 200 | 43.433µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:42:59 | 200 | 44.218µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:04 | 200 | 39.469µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:07 | 200 | 42.316µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:09 | 200 | 40.425µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:14 | 200 | 51.786µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:17 | 200 | 40.722µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:19 | 200 | 40.3µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:24 | 200 | 41.998µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:27 | 200 | 41.979µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:29 | 200 | 40.807µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:34 | 200 | 46.557µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:37 | 200 | 40.795µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:39 | 200 | 42.389µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:44 | 200 | 41.675µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:47 | 200 | 55.39µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:49 | 200 | 39.7µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:54 | 200 | 43.094µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:57 | 200 | 42.337µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:43:59 | 200 | 41.231µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:04 | 200 | 42.207µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:07 | 200 | 42.866µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:09 | 200 | 49.981µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:14 | 200 | 41.565µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:17 | 200 | 40.61µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:19 | 200 | 37.081µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:24 | 200 | 35.337µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:27 | 200 | 38.685µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:29 | 200 | 35.629µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:34 | 200 | 54.142µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:37 | 200 | 35.826µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:39 | 200 | 33.659µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:44 | 200 | 34.697µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:47 | 200 | 33.974µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:49 | 200 | 34.946µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:54 | 200 | 50.516µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:57 | 200 | 38.773µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:44:59 | 200 | 38.823µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:04 | 200 | 37.938µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:07 | 200 | 35.019µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:09 | 200 | 34.981µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:14 | 200 | 40.257µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:17 | 200 | 35.37µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:19 | 200 | 33.19µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:24 | 200 | 37.872µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:27 | 200 | 38.364µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:29 | 200 | 36.303µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:34 | 200 | 37.379µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:37 | 200 | 35.518µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:39 | 200 | 36.975µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:44 | 200 | 37.022µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:47 | 200 | 32.546µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:49 | 200 | 32.201µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:54 | 200 | 33.656µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/15 - 06:45:57 | 200 | 32.126µs | 10.133.0.2 | GET "/health"