{"level":"info","timestamp":"2026-06-03T08:58:55.347Z","caller":"cmd/main.go:66","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-03T08:58:55.370Z","caller":"cmd/main.go:200","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-03T08:58:55.370Z","caller":"cmd/main.go:102","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-03T08:58:55.491Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-06-03T08:58:55.491Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-03T08:58:55.491Z","caller":"cmd/main.go:128","message":"Ephemeral key cleanup enabled","interval":15} {"level":"info","timestamp":"2026-06-03T08:58:55.597Z","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-03T08:58:55.645Z","caller":"cmd/main.go:162","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/03 - 08:59:01 | 200 | 51.987µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:06 | 200 | 41.386µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:11 | 200 | 34.102µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:16 | 200 | 35.607µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:21 | 200 | 34.379µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:26 | 200 | 37.337µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:31 | 200 | 35.615µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:32 | 200 | 33.104µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:36 | 200 | 36.511µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:41 | 200 | 34.61µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:42 | 200 | 32.906µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:46 | 200 | 35.81µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:51 | 200 | 34.832µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:52 | 200 | 34.075µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 08:59:56 | 200 | 33.173µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:01 | 200 | 49.585µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:02 | 200 | 35.384µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:06 | 200 | 46.007µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:11 | 200 | 33.055µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:12 | 200 | 32.748µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:16 | 200 | 42.065µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:21 | 200 | 33.007µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:22 | 200 | 32.735µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:26 | 200 | 35.837µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:31 | 200 | 32.69µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:32 | 200 | 32.524µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:36 | 200 | 60.118µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:41 | 200 | 50.747µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:42 | 200 | 34.495µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:46 | 200 | 39.831µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:51 | 200 | 31.625µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:52 | 200 | 38.97µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:00:56 | 200 | 42.893µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:01 | 200 | 41.967µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:02 | 200 | 39.398µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:06 | 200 | 41.451µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:11 | 200 | 40.938µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:12 | 200 | 41.606µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:16 | 200 | 41.396µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:21 | 200 | 37.72µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:22 | 200 | 40.156µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:26 | 200 | 40.328µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:31 | 200 | 38.753µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:32 | 200 | 41.846µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:36 | 200 | 39.575µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:41 | 200 | 38.458µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:42 | 200 | 41.559µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:46 | 200 | 42.824µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:51 | 200 | 41.355µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:52 | 200 | 41.123µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:01:56 | 200 | 45.177µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:01 | 200 | 50.458µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:02 | 200 | 39.309µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:06 | 200 | 39.215µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:11 | 200 | 45.927µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:12 | 200 | 41µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:16 | 200 | 38.819µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:21 | 200 | 41.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:22 | 200 | 37.417µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:26 | 200 | 41.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:31 | 200 | 39.829µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:32 | 200 | 38.51µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:36 | 200 | 37.742µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:41 | 200 | 49.23µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:42 | 200 | 41.301µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:46 | 200 | 39.892µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:51 | 200 | 41.145µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:52 | 200 | 39.985µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:02:56 | 200 | 35.762µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:01 | 200 | 32.974µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:02 | 200 | 32.291µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:06 | 200 | 32.744µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:11 | 200 | 33.788µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:12 | 200 | 35.368µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:16 | 200 | 36.428µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:21 | 200 | 35.85µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:22 | 200 | 37.412µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:26 | 200 | 36.191µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:31 | 200 | 33.986µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:32 | 200 | 38.306µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:36 | 200 | 32.95µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:41 | 200 | 35.472µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:42 | 200 | 32.81µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:46 | 200 | 32.824µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:51 | 200 | 34.803µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:52 | 200 | 34.416µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:03:56 | 200 | 33.572µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:01 | 200 | 32.741µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:02 | 200 | 32.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:06 | 200 | 32.348µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:11 | 200 | 31.74µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:12 | 200 | 32.914µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:16 | 200 | 36.868µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:21 | 200 | 35.642µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:22 | 200 | 37.608µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:26 | 200 | 36.774µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:31 | 200 | 32.828µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:32 | 200 | 37.97µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:36 | 200 | 45.889µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:41 | 200 | 34.616µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:42 | 200 | 32.559µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:46 | 200 | 35.597µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:51 | 200 | 36.921µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:52 | 200 | 34.723µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:04:56 | 200 | 44.105µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:01 | 200 | 37µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:02 | 200 | 34.47µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:06 | 200 | 36.484µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:11 | 200 | 34.24µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:12 | 200 | 35.964µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:16 | 200 | 36.574µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:21 | 200 | 32.874µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:22 | 200 | 36.33µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:26 | 200 | 33.591µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:31 | 200 | 32.849µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:32 | 200 | 32.62µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:36 | 200 | 56.88µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:41 | 200 | 35.309µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:42 | 200 | 44.274µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:46 | 200 | 35.671µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:51 | 200 | 35.581µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:52 | 200 | 34.723µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:05:56 | 200 | 34.584µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:01 | 200 | 37.07µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:02 | 200 | 37.959µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:06 | 200 | 35.384µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:11 | 200 | 36.471µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:12 | 200 | 44.148µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:16 | 200 | 44.432µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:21 | 200 | 32.693µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:22 | 200 | 32.421µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:26 | 200 | 39.323µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:31 | 200 | 36.768µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:32 | 200 | 33.11µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:36 | 200 | 39.378µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:41 | 200 | 38.92µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 09:06:42 | 200 | 32.233µs | 10.133.0.2 | GET "/health"