{"level":"info","timestamp":"2026-06-12T21:40:30.410Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-12T21:40:30.430Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database...","tenant":"models-as-a-service"} {"level":"info","timestamp":"2026-06-12T21:40:30.430Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-12T21:40:30.562Z","caller":"api_keys/db_driver.go:91","message":"Database schema applied","version":5} {"level":"info","timestamp":"2026-06-12T21:40:30.562Z","caller":"api_keys/db_driver.go:58","message":"Connected to PostgreSQL database (schema applied)","tenant":"models-as-a-service"} {"level":"info","timestamp":"2026-06-12T21:40:30.666Z","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-12T21:40:30.681Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/12 - 21:40:36 | 200 | 62.046µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:40:41 | 200 | 41.49µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:40:46 | 200 | 37.575µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:40:51 | 200 | 33.256µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:40:56 | 200 | 32.983µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:01 | 200 | 35.061µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:06 | 200 | 32.335µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:08 | 200 | 44.106µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:11 | 200 | 36.648µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:16 | 200 | 41.463µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:18 | 200 | 34.284µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:21 | 200 | 32.617µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:26 | 200 | 33.38µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:28 | 200 | 33.682µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:31 | 200 | 35.641µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:36 | 200 | 37.435µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:38 | 200 | 46.739µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:41 | 200 | 37.646µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:46 | 200 | 42.356µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:48 | 200 | 44.937µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:51 | 200 | 37.336µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:56 | 200 | 40.691µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:41:58 | 200 | 38.963µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:01 | 200 | 39.309µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:06 | 200 | 37.876µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:08 | 200 | 38.149µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:11 | 200 | 37.292µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:16 | 200 | 38.095µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:18 | 200 | 31.78µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:21 | 200 | 39.135µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:26 | 200 | 37.374µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:28 | 200 | 41.129µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:31 | 200 | 37.71µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:36 | 200 | 41.593µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:38 | 200 | 37.328µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:41 | 200 | 39.789µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:46 | 200 | 38.544µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:48 | 200 | 41.366µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:51 | 200 | 39.956µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:56 | 200 | 45.407µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:42:58 | 200 | 36.006µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:01 | 200 | 43.921µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:06 | 200 | 38.216µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:08 | 200 | 42.508µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:11 | 200 | 37.599µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:16 | 200 | 37.899µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:18 | 200 | 39.016µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:21 | 200 | 42.248µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:26 | 200 | 39.578µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:28 | 200 | 49.507µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:31 | 200 | 40.212µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:36 | 200 | 38.09µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:38 | 200 | 32.748µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:41 | 200 | 33.4µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:46 | 200 | 34.103µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:48 | 200 | 42.62µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:51 | 200 | 32.255µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:56 | 200 | 40.649µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:43:58 | 200 | 31.639µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:01 | 200 | 31.611µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:06 | 200 | 31.313µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:08 | 200 | 32.714µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:11 | 200 | 33.002µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:16 | 200 | 32.429µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:18 | 200 | 32.742µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:21 | 200 | 41.703µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:26 | 200 | 33.131µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:28 | 200 | 33.662µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:31 | 200 | 32.17µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:36 | 200 | 32.075µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:38 | 200 | 32.95µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:41 | 200 | 34.391µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:46 | 200 | 36.109µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:48 | 200 | 34.303µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:51 | 200 | 32.925µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:56 | 200 | 37.438µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:44:58 | 200 | 32.255µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:01 | 200 | 38.176µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-12T21:45:03.560Z","caller":"api_keys/service.go:307","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/12 - 21:45:03 | 200 | 13.001307ms | 10.134.0.31 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/12 - 21:45:06 | 200 | 40.639µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:08 | 200 | 33.853µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:11 | 200 | 32.014µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:16 | 200 | 32.999µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:18 | 200 | 35.593µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:21 | 200 | 34.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:26 | 200 | 35.942µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:28 | 200 | 32.214µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:31 | 200 | 31.568µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:36 | 200 | 35.115µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:38 | 200 | 32.624µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:41 | 200 | 32.445µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:46 | 200 | 32.576µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:48 | 200 | 35.608µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:51 | 200 | 34.626µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:56 | 200 | 31.312µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:45:58 | 200 | 36.61µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:01 | 200 | 32.242µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:06 | 200 | 34.619µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:08 | 200 | 31.605µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:11 | 200 | 33.065µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:16 | 200 | 34.8µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:18 | 200 | 39.367µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:21 | 200 | 35.141µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:26 | 200 | 32.319µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:28 | 200 | 49.212µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:31 | 200 | 31.512µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:36 | 200 | 32.396µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:38 | 200 | 32.217µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:41 | 200 | 31.441µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:46 | 200 | 32.332µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:48 | 200 | 39.774µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:51 | 200 | 46.929µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:56 | 200 | 32.716µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:46:58 | 200 | 40.118µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:01 | 200 | 32.411µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:06 | 200 | 34.129µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:08 | 200 | 33.728µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:11 | 200 | 35.293µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:16 | 200 | 37.535µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:18 | 200 | 31.695µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:21 | 200 | 33.167µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:26 | 200 | 42.377µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:28 | 200 | 32.399µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:31 | 200 | 38.256µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:36 | 200 | 39.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:38 | 200 | 37.28µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:41 | 200 | 41.597µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:46 | 200 | 38.637µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:48 | 200 | 35.071µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:51 | 200 | 33.132µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:56 | 200 | 33.113µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:47:58 | 200 | 34.431µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:01 | 200 | 72.537µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:06 | 200 | 38.499µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:08 | 200 | 42.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:11 | 200 | 38.229µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:16 | 200 | 41.503µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:18 | 200 | 35.236µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:21 | 200 | 37.654µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:26 | 200 | 36.45µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:28 | 200 | 37.976µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:31 | 200 | 39.311µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:36 | 200 | 39.406µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:38 | 200 | 37.688µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:41 | 200 | 38.5µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:46 | 200 | 41.828µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:48 | 200 | 43.811µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:51 | 200 | 39.45µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:56 | 200 | 42.595µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:48:58 | 200 | 42.69µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:01 | 200 | 39.611µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:06 | 200 | 39.076µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:08 | 200 | 42.625µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:11 | 200 | 41.412µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:16 | 200 | 54.094µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:18 | 200 | 43.223µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:21 | 200 | 42.389µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:26 | 200 | 38.102µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:28 | 200 | 32.055µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:31 | 200 | 35.475µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:36 | 200 | 35.932µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:38 | 200 | 31.977µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:41 | 200 | 33.543µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:46 | 200 | 31.859µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:48 | 200 | 39.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:51 | 200 | 33.669µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:56 | 200 | 41.007µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:49:58 | 200 | 33.849µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:01 | 200 | 32.767µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:06 | 200 | 39.035µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:08 | 200 | 34.423µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:11 | 200 | 33.195µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:16 | 200 | 32.667µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/12 - 21:50:18 | 200 | 33.292µs | 10.133.0.2 | GET "/health"