{"level":"info","timestamp":"2026-06-03T16:58:14.838Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-03T16:58:14.852Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-03T16:58:14.852Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-03T16:58:14.928Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-06-03T16:58:14.928Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-03T16:58:15.033Z","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-03T16:58:15.134Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/03 - 16:58:21 | 200 | 61.844µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:26 | 200 | 43.39µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:31 | 200 | 44.035µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:36 | 200 | 34.515µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:41 | 200 | 42.538µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:46 | 200 | 48.126µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:51 | 200 | 35.27µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:51 | 200 | 35.186µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:58:56 | 200 | 44.452µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:01 | 200 | 33.099µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:01 | 200 | 33.74µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:06 | 200 | 34.606µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:11 | 200 | 33.718µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:11 | 200 | 36.084µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:16 | 200 | 33.825µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:21 | 200 | 32.266µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:21 | 200 | 36.562µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:26 | 200 | 36.056µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:31 | 200 | 33.467µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:31 | 200 | 35.126µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:36 | 200 | 38.555µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:41 | 200 | 32.616µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:41 | 200 | 45.143µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:46 | 200 | 33.613µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:51 | 200 | 33.768µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:51 | 200 | 58.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 16:59:56 | 200 | 33.435µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:01 | 200 | 39.233µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:01 | 200 | 39.962µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:06 | 200 | 32.66µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:11 | 200 | 33.464µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:11 | 200 | 34.257µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:16 | 200 | 34.325µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:21 | 200 | 44.995µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:21 | 200 | 34.826µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-03T17:00:22.442Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/03 - 17:00:22 | 200 | 10.109425ms | 10.132.0.26 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/03 - 17:00:26 | 200 | 33.122µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:31 | 200 | 35.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:31 | 200 | 36.203µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:36 | 200 | 34.549µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:41 | 200 | 33.954µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:41 | 200 | 39.092µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:46 | 200 | 33.513µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:51 | 200 | 37.679µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:51 | 200 | 35.467µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:00:56 | 200 | 32.733µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:01 | 200 | 34.231µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:01 | 200 | 35.161µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:06 | 200 | 43.989µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:11 | 200 | 32.497µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:11 | 200 | 36.716µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:16 | 200 | 34.213µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:21 | 200 | 35.334µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:21 | 200 | 36.037µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:26 | 200 | 32.582µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:31 | 200 | 31.594µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:31 | 200 | 35.533µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:36 | 200 | 49.998µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:41 | 200 | 37.514µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:41 | 200 | 39.393µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:46 | 200 | 36.516µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:51 | 200 | 34.942µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:51 | 200 | 34.629µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:01:56 | 200 | 35.435µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:01 | 200 | 32.766µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:01 | 200 | 54.809µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:06 | 200 | 41.207µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:11 | 200 | 33.657µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:11 | 200 | 34.028µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:16 | 200 | 41.544µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:21 | 200 | 33.211µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:21 | 200 | 33.848µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:26 | 200 | 32.448µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:31 | 200 | 36.152µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:31 | 200 | 32.168µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:36 | 200 | 32.543µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:41 | 200 | 32.542µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:41 | 200 | 34.912µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:46 | 200 | 35.688µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:51 | 200 | 34.853µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:51 | 200 | 37.345µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:02:56 | 200 | 32.929µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:01 | 200 | 33.808µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:01 | 200 | 44.464µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:06 | 200 | 35.552µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:11 | 200 | 32.73µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:11 | 200 | 35.558µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:16 | 200 | 33.259µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:21 | 200 | 33.268µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:21 | 200 | 32.521µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:26 | 200 | 38.53µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:31 | 200 | 32.531µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:31 | 200 | 36.305µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:36 | 200 | 38.187µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:41 | 200 | 34.986µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:41 | 200 | 34.943µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:46 | 200 | 33.574µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:51 | 200 | 33.852µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:51 | 200 | 37.107µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:03:56 | 200 | 36.441µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:01 | 200 | 36.433µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:01 | 200 | 35.028µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:06 | 200 | 33.902µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:11 | 200 | 37.345µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:11 | 200 | 37.595µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:16 | 200 | 45.631µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:21 | 200 | 39.839µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:21 | 200 | 39.399µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:26 | 200 | 40.817µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:31 | 200 | 43.72µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:31 | 200 | 39.295µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:36 | 200 | 41.774µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:41 | 200 | 42.282µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:41 | 200 | 53.705µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:46 | 200 | 41.485µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:51 | 200 | 37.359µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:51 | 200 | 39.526µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:04:56 | 200 | 41.328µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:01 | 200 | 46.152µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:01 | 200 | 43.037µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:06 | 200 | 49.782µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:11 | 200 | 39.301µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:11 | 200 | 35.916µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:16 | 200 | 32.831µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:21 | 200 | 35.769µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:21 | 200 | 40.255µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:26 | 200 | 35.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:31 | 200 | 40.989µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:31 | 200 | 34.763µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:36 | 200 | 38.914µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:41 | 200 | 39.782µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:41 | 200 | 49.335µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:46 | 200 | 38.816µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:51 | 200 | 39.607µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:51 | 200 | 56.591µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:05:56 | 200 | 39.585µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:06:01 | 200 | 39.054µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:06:01 | 200 | 65.701µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:06:06 | 200 | 39.416µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:06:11 | 200 | 67.302µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/03 - 17:06:11 | 200 | 35.898µs | 10.133.0.2 | GET "/health"