{"level":"info","timestamp":"2026-06-11T16:23:38.339Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-11T16:23:38.411Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-11T16:23:38.416Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-11T16:23:38.538Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-11T16:23:38.538Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-11T16:23:38.649Z","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-11T16:23:38.661Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/11 - 16:23:45 | 200 | 72.691µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:23:50 | 200 | 44.132µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:23:55 | 200 | 35.097µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:00 | 200 | 46.202µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:05 | 200 | 33.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:10 | 200 | 33.188µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:14 | 200 | 33.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:15 | 200 | 32.07µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:20 | 200 | 36.173µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:24 | 200 | 41.036µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:25 | 200 | 32.59µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:30 | 200 | 34.035µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:34 | 200 | 44.507µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:35 | 200 | 36.476µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:40 | 200 | 31.983µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:44 | 200 | 36.27µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:45 | 200 | 34.893µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:50 | 200 | 36.364µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:54 | 200 | 32.806µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:24:55 | 200 | 40.113µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:00 | 200 | 49.469µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:04 | 200 | 35.336µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:05 | 200 | 33.145µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:10 | 200 | 35.89µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:14 | 200 | 34.019µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:15 | 200 | 32.15µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:20 | 200 | 52.851µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:24 | 200 | 35.589µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:25 | 200 | 35.423µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:30 | 200 | 36.161µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:34 | 200 | 34.311µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:35 | 200 | 33.037µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:40 | 200 | 39.735µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:44 | 200 | 42.73µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:45 | 200 | 43.147µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:50 | 200 | 44.158µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:54 | 200 | 41.561µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:25:55 | 200 | 56.278µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:00 | 200 | 51.346µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:04 | 200 | 51.945µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:05 | 200 | 39.488µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:10 | 200 | 63.508µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:14 | 200 | 43.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:15 | 200 | 50.809µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:20 | 200 | 47.142µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:24 | 200 | 39.663µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:25 | 200 | 39.672µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:30 | 200 | 56.514µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:34 | 200 | 41.009µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:35 | 200 | 53.376µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:40 | 200 | 39.885µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:44 | 200 | 41.445µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:45 | 200 | 46.66µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:50 | 200 | 60.323µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:54 | 200 | 40.801µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:26:55 | 200 | 45.58µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:00 | 200 | 41.639µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:04 | 200 | 52.804µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:05 | 200 | 39.665µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:10 | 200 | 41.398µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:14 | 200 | 36.552µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:15 | 200 | 35.713µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:20 | 200 | 35.113µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:24 | 200 | 36.083µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:25 | 200 | 69.533µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:30 | 200 | 34.761µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:34 | 200 | 36.217µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:35 | 200 | 33.652µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:40 | 200 | 33.555µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:44 | 200 | 34.115µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:45 | 200 | 49.186µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:50 | 200 | 31.334µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:54 | 200 | 33.406µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:27:55 | 200 | 37.268µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:00 | 200 | 41.908µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:04 | 200 | 40.532µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:05 | 200 | 34.124µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:10 | 200 | 34.832µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:14 | 200 | 34.579µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:15 | 200 | 35.648µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:20 | 200 | 36.219µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:24 | 200 | 35.693µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:25 | 200 | 37.22µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:30 | 200 | 35.058µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:34 | 200 | 32.006µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:35 | 200 | 35.848µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:40 | 200 | 50.624µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:44 | 200 | 34.956µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:45 | 200 | 34.576µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:50 | 200 | 35.916µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:54 | 200 | 31.451µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:28:55 | 200 | 35.894µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:00 | 200 | 35.645µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:04 | 200 | 33.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:05 | 200 | 33.893µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:10 | 200 | 34.486µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:14 | 200 | 36.198µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:15 | 200 | 37.227µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:20 | 200 | 39.137µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:24 | 200 | 35.999µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:25 | 200 | 32.53µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:30 | 200 | 31.936µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:34 | 200 | 34.976µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:35 | 200 | 36.256µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:40 | 200 | 33.892µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:44 | 200 | 32.158µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:45 | 200 | 36.409µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:50 | 200 | 38.248µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:54 | 200 | 35.743µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:29:55 | 200 | 39.156µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:00 | 200 | 44.789µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:04 | 200 | 33.138µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:05 | 200 | 33.131µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:10 | 200 | 32.912µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-11T16:30:12.167Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/11 - 16:30:12 | 200 | 9.69516ms | 10.132.0.48 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/11 - 16:30:14 | 200 | 34.164µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:15 | 200 | 34.203µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:20 | 200 | 33.314µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:24 | 200 | 34.484µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:25 | 200 | 33.12µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:30 | 200 | 35.951µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:34 | 200 | 33.601µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:35 | 200 | 34.171µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:40 | 200 | 34.755µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:44 | 200 | 37.444µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:45 | 200 | 45.196µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:50 | 200 | 37.187µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:54 | 200 | 32.342µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:30:55 | 200 | 38.548µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:00 | 200 | 39.521µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:04 | 200 | 37.86µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:05 | 200 | 35.031µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:10 | 200 | 35.716µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:14 | 200 | 36.781µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:15 | 200 | 35.625µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:20 | 200 | 33.438µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:24 | 200 | 40.266µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:25 | 200 | 56.972µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:30 | 200 | 34.802µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:34 | 200 | 36.487µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:35 | 200 | 35.039µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:40 | 200 | 36.261µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:44 | 200 | 33.561µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:45 | 200 | 42.969µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:50 | 200 | 46.114µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:54 | 200 | 35.382µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:31:55 | 200 | 37.972µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:00 | 200 | 35.16µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:04 | 200 | 46.27µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:05 | 200 | 40.467µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:10 | 200 | 33.47µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:14 | 200 | 41.16µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:15 | 200 | 33.56µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:20 | 200 | 32.932µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:24 | 200 | 38.559µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:25 | 200 | 36.338µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:30 | 200 | 42.604µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:34 | 200 | 44.737µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:35 | 200 | 33.578µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:40 | 200 | 41.883µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:44 | 200 | 33.712µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:45 | 200 | 33.802µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:50 | 200 | 32.671µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:54 | 200 | 34.692µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:32:55 | 200 | 38.49µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:00 | 200 | 38.582µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:04 | 200 | 35.447µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:05 | 200 | 53.798µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:10 | 200 | 40.586µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:14 | 200 | 52.668µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:15 | 200 | 64.445µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:20 | 200 | 39.02µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:24 | 200 | 41.099µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 16:33:25 | 200 | 42.8µs | 10.133.0.2 | GET "/health"