{"level":"info","timestamp":"2026-06-03T15:52:07.765Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-03T15:52:07.833Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-03T15:52:07.842Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-03T15:52:08.000Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-06-03T15:52:08.001Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-03T15:52:08.106Z","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-03T15:52:08.157Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/03 - 15:52:14 | 200 | 51.478µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:19 | 200 | 36.055µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:24 | 200 | 38.716µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:29 | 200 | 34.611µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:34 | 200 | 38.6µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:39 | 200 | 36.771µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:44 | 200 | 35.329µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:45 | 200 | 48.971µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:49 | 200 | 33.478µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:54 | 200 | 38.373µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:55 | 200 | 46.611µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:52:59 | 200 | 38.287µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:04 | 200 | 32.681µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:05 | 200 | 32.872µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:09 | 200 | 34.088µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:14 | 200 | 33.26µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:15 | 200 | 42.077µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:19 | 200 | 45.934µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:24 | 200 | 37.159µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:25 | 200 | 33.059µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:29 | 200 | 33.511µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:34 | 200 | 33.417µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:35 | 200 | 34.907µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:39 | 200 | 32.883µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:44 | 200 | 32.466µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:45 | 200 | 33.216µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:49 | 200 | 33.536µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:54 | 200 | 31.093µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:55 | 200 | 34.412µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:53:59 | 200 | 32.896µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:04 | 200 | 33.215µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:05 | 200 | 33.759µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:09 | 200 | 41.482µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:14 | 200 | 32.566µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:15 | 200 | 34.306µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:19 | 200 | 32.384µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:24 | 200 | 33.009µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:25 | 200 | 33.387µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:29 | 200 | 33.105µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:34 | 200 | 32.257µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:35 | 200 | 33.605µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:39 | 200 | 32.055µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:44 | 200 | 35.366µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:45 | 200 | 36.33µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:49 | 200 | 36.584µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:54 | 200 | 31.961µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:55 | 200 | 33.221µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:54:59 | 200 | 32.287µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:04 | 200 | 33.16µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:05 | 200 | 32.388µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:09 | 200 | 33.661µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:14 | 200 | 32.202µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:15 | 200 | 33.021µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:19 | 200 | 32.375µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:24 | 200 | 31.268µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:25 | 200 | 31.393µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:29 | 200 | 34.447µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:34 | 200 | 34.551µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:35 | 200 | 38.04µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:39 | 200 | 43.585µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:44 | 200 | 33.064µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:45 | 200 | 32.745µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:49 | 200 | 32.866µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:54 | 200 | 38.514µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:55 | 200 | 33.686µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:55:59 | 200 | 49.312µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:04 | 200 | 42.137µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:05 | 200 | 39.118µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:09 | 200 | 39.397µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:14 | 200 | 41.141µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:15 | 200 | 41.56µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:19 | 200 | 54.874µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:24 | 200 | 37.899µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:25 | 200 | 49.117µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:29 | 200 | 40.788µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:34 | 200 | 39.853µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:35 | 200 | 39.045µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:39 | 200 | 41.312µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:44 | 200 | 39.004µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:45 | 200 | 38.863µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:49 | 200 | 44.809µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:54 | 200 | 39.644µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:55 | 200 | 61.385µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:56:59 | 200 | 41.304µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:04 | 200 | 40.008µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:05 | 200 | 40.833µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:09 | 200 | 49.355µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:14 | 200 | 45.919µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:15 | 200 | 49.104µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:19 | 200 | 38.798µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:24 | 200 | 41.082µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:25 | 200 | 42.485µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:29 | 200 | 50.364µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:34 | 200 | 40.253µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:35 | 200 | 41.852µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:39 | 200 | 38.593µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:44 | 200 | 38.472µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:45 | 200 | 40.751µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:49 | 200 | 39.276µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:54 | 200 | 38.608µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:55 | 200 | 38.782µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:57:59 | 200 | 39.661µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:04 | 200 | 47.628µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:05 | 200 | 41.78µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:09 | 200 | 38.489µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:14 | 200 | 49.985µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:15 | 200 | 41.244µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:19 | 200 | 43.49µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:24 | 200 | 40.157µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:25 | 200 | 40.232µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:29 | 200 | 36.309µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:34 | 200 | 38.032µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:35 | 200 | 39.551µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:39 | 200 | 40.408µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:44 | 200 | 43.424µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:45 | 200 | 51.215µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:49 | 200 | 42.709µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:54 | 200 | 40.57µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:55 | 200 | 38.11µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:58:59 | 200 | 38.884µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:04 | 200 | 43.337µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:05 | 200 | 39.917µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:09 | 200 | 39.466µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:14 | 200 | 39.362µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:15 | 200 | 40.8µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:19 | 200 | 41.569µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:24 | 200 | 51.401µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:25 | 200 | 38.147µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:29 | 200 | 37.746µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:34 | 200 | 42.863µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:35 | 200 | 41.554µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:39 | 200 | 39.264µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:44 | 200 | 40.212µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:45 | 200 | 41.654µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:49 | 200 | 41.243µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:54 | 200 | 46.036µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:55 | 200 | 44.749µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 15:59:59 | 200 | 40.836µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:04 | 200 | 45.478µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:05 | 200 | 38.264µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:09 | 200 | 34.67µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:14 | 200 | 31.384µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:15 | 200 | 35.026µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/03 - 16:00:19 | 200 | 31.744µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-03T16:00:19.996Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/03 - 16:00:19 | 200 | 9.656869ms | 10.132.0.56 | POST "/internal/v1/api-keys/cleanup"