{"level":"info","timestamp":"2026-06-03T00:31:46.140Z","caller":"cmd/main.go:66","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-03T00:31:46.226Z","caller":"cmd/main.go:200","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-03T00:31:46.226Z","caller":"cmd/main.go:102","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-03T00:31:46.302Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-06-03T00:31:46.302Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-03T00:31:46.302Z","caller":"cmd/main.go:128","message":"Ephemeral key cleanup enabled","interval":15} {"level":"info","timestamp":"2026-06-03T00:31:46.406Z","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-03T00:31:46.431Z","caller":"cmd/main.go:162","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/03 - 00:31:52 | 200 | 58.503µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:31:57 | 200 | 39.482µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:02 | 200 | 34.973µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:07 | 200 | 51.675µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:12 | 200 | 40.837µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:17 | 200 | 37.295µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:22 | 200 | 36.805µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:22 | 200 | 22.828µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:27 | 200 | 33.749µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:32 | 200 | 40.073µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:32 | 200 | 31.119µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:37 | 200 | 31.5µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:42 | 200 | 38.786µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:42 | 200 | 29.072µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:47 | 200 | 31.942µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:52 | 200 | 33.952µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:52 | 200 | 24.56µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:32:57 | 200 | 36.086µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:02 | 200 | 33.671µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:02 | 200 | 24.693µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:07 | 200 | 34.159µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:12 | 200 | 35.187µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:12 | 200 | 27.195µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:17 | 200 | 33.743µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:22 | 200 | 31.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:22 | 200 | 31.556µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:27 | 200 | 37.977µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:32 | 200 | 37.148µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:32 | 200 | 32.345µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:37 | 200 | 38.439µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:42 | 200 | 38.664µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:42 | 200 | 37.549µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:47 | 200 | 42.762µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:52 | 200 | 39.99µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:52 | 200 | 30.073µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:33:57 | 200 | 43.685µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:02 | 200 | 39.508µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:02 | 200 | 34.128µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:07 | 200 | 40.001µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:12 | 200 | 46.31µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:12 | 200 | 39.384µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:17 | 200 | 55.979µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:22 | 200 | 37.034µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:22 | 200 | 46.812µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:27 | 200 | 42.344µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:32 | 200 | 38.153µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:32 | 200 | 32.293µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:37 | 200 | 39.754µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:42 | 200 | 39.532µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:42 | 200 | 41.989µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:47 | 200 | 45.039µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:52 | 200 | 38.759µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:52 | 200 | 31.173µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:34:57 | 200 | 37.858µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:02 | 200 | 46.447µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:02 | 200 | 30.39µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:07 | 200 | 38.071µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:12 | 200 | 39.116µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:12 | 200 | 49.897µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:17 | 200 | 39.29µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:22 | 200 | 36.055µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:22 | 200 | 48.861µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:27 | 200 | 33.473µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:32 | 200 | 35.187µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:32 | 200 | 40.861µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:37 | 200 | 41.951µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:42 | 200 | 35.02µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:42 | 200 | 30.082µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:47 | 200 | 54.127µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:52 | 200 | 33.545µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:52 | 200 | 31.204µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:35:57 | 200 | 33.158µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:02 | 200 | 33.306µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:02 | 200 | 33.002µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:07 | 200 | 35.648µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:12 | 200 | 31.211µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:12 | 200 | 27.038µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:17 | 200 | 37.668µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:22 | 200 | 35.592µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:22 | 200 | 27.42µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:27 | 200 | 46.291µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:32 | 200 | 37.246µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:32 | 200 | 25.168µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:37 | 200 | 31.815µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:42 | 200 | 31.361µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:42 | 200 | 26.294µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:47 | 200 | 32.209µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:52 | 200 | 34.651µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:52 | 200 | 27.308µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:36:57 | 200 | 34.256µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:02 | 200 | 32.707µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:02 | 200 | 31.917µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:07 | 200 | 32.702µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:12 | 200 | 34.26µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:12 | 200 | 26.918µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:17 | 200 | 32.826µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:22 | 200 | 40.192µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:22 | 200 | 27.803µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:27 | 200 | 37.584µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:32 | 200 | 37.985µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:32 | 200 | 27.852µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:37 | 200 | 41.519µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:42 | 200 | 34.347µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:42 | 200 | 32.849µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:47 | 200 | 41.127µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:52 | 200 | 41.273µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:52 | 200 | 34.215µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:37:57 | 200 | 39.422µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:02 | 200 | 40.828µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:02 | 200 | 38.89µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:07 | 200 | 38.408µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:12 | 200 | 38.901µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:12 | 200 | 33.862µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:17 | 200 | 38.209µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:22 | 200 | 38.796µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:22 | 200 | 27.394µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:27 | 200 | 39.06µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:32 | 200 | 40.838µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:32 | 200 | 34.426µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:37 | 200 | 37.954µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:42 | 200 | 34.673µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:42 | 200 | 28.577µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:47 | 200 | 40.435µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:52 | 200 | 37.157µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:52 | 200 | 32.097µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:38:57 | 200 | 40.481µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:39:02 | 200 | 39.411µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:39:02 | 200 | 31.28µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:39:07 | 200 | 38.297µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:39:12 | 200 | 39.172µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 00:39:12 | 200 | 32.914µs | 10.133.0.2 | GET "/health"