{"level":"info","timestamp":"2026-06-09T10:03:52.794Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-09T10:03:52.891Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-09T10:03:52.891Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-09T10:03:52.957Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-09T10:03:52.957Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-09T10:03:53.062Z","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-09T10:03:53.181Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/09 - 10:03:59 | 200 | 70.571µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:04 | 200 | 43.852µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:09 | 200 | 45.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:14 | 200 | 45.974µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:19 | 200 | 45.19µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:24 | 200 | 47.597µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:29 | 200 | 43.836µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:30 | 200 | 43.797µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:34 | 200 | 35.389µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:39 | 200 | 52.717µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:40 | 200 | 36.34µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:44 | 200 | 34.899µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:49 | 200 | 33.375µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:50 | 200 | 34.169µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:54 | 200 | 36.291µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:04:59 | 200 | 35.804µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:00 | 200 | 38.697µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:04 | 200 | 38.428µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:09 | 200 | 33.772µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:10 | 200 | 40.423µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:14 | 200 | 35.677µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:19 | 200 | 39.851µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:20 | 200 | 45.996µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:24 | 200 | 33.61µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:29 | 200 | 33.808µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:30 | 200 | 43.615µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:34 | 200 | 33.646µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:39 | 200 | 34.717µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:40 | 200 | 40.358µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:44 | 200 | 36.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:49 | 200 | 43.843µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:50 | 200 | 42.578µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:54 | 200 | 39.29µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:05:59 | 200 | 42.617µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:00 | 200 | 37.931µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:04 | 200 | 49.948µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:09 | 200 | 39.366µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:10 | 200 | 37.085µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:14 | 200 | 41.822µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:19 | 200 | 38.573µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:20 | 200 | 46.123µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:24 | 200 | 42.636µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:29 | 200 | 36.617µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:30 | 200 | 40.105µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:34 | 200 | 38.558µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:39 | 200 | 37.165µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:40 | 200 | 38.824µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:44 | 200 | 37.979µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:49 | 200 | 50.29µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:50 | 200 | 37.267µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:54 | 200 | 38.329µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:06:59 | 200 | 40.245µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:00 | 200 | 47.554µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:04 | 200 | 42.136µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:09 | 200 | 57.133µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:10 | 200 | 39.914µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:14 | 200 | 39.808µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:19 | 200 | 38.922µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:20 | 200 | 36.528µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:24 | 200 | 40.613µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:29 | 200 | 38.148µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:30 | 200 | 42.803µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:34 | 200 | 47.155µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:39 | 200 | 38.741µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:40 | 200 | 38.703µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:44 | 200 | 43.459µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:49 | 200 | 56.706µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:50 | 200 | 36.509µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:54 | 200 | 39.785µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:07:59 | 200 | 43.093µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:00 | 200 | 36.284µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:04 | 200 | 41.84µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:09 | 200 | 35.081µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:10 | 200 | 35.147µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:14 | 200 | 33.105µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:19 | 200 | 32.327µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:20 | 200 | 31.917µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:24 | 200 | 31.894µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:29 | 200 | 34.35µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:30 | 200 | 35.718µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:34 | 200 | 45.525µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:39 | 200 | 37.983µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:40 | 200 | 32.239µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:44 | 200 | 40.663µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-09T10:08:45.684Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"id":"fa606f3c-1f8d-4556-b696-e73bfaa756c4","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:45.684Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"fa606f3c-1f8d-4556-b696-e73bfaa756c4","keyPrefix":"sk-oai-MBljTSW4lrDY...","username":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:45 | 201 | 10.253808ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:45 | 200 | 1.315575ms | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 527.91µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 314.103µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:45 | 200 | 29.554464ms | 100.64.0.4 | GET "/v1/models" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:45 | 200 | 467.518µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 284.089µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:45 | 200 | 526.251µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 128.997µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:45 | 200 | 532.328µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 254.767µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:45 | 200 | 547.914µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:45 | 200 | 257.137µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 610.562µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 387.583µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 399.165µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 369.312µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 617.332µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 383.304µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 580.373µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 378.161µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 584.483µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 385.824µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 577.512µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 339.611µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:46 | 200 | 386.155µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:46 | 200 | 358.221µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T10:08:46.303Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"fa606f3c-1f8d-4556-b696-e73bfaa756c4"} {"level":"info","timestamp":"2026-06-09T10:08:46.303Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"fa606f3c-1f8d-4556-b696-e73bfaa756c4","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/06/09 - 10:08:46 | 200 | 2.200758ms | 100.64.0.3 | DELETE "/v1/api-keys/fa606f3c-1f8d-4556-b696-e73bfaa756c4" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:49 | 200 | 33.367µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:50 | 200 | 34.871µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:53 | 200 | 21.777µs | 100.64.0.3 | GET "/health" [GIN] 2026/06/09 - 10:08:53 | 200 | 371.731µs | 100.64.0.4 | GET "/v1/subscriptions" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:53.616Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"13c2ddfc-7acc-4e68-87af-48fc6102d8d3","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:53.616Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"13c2ddfc-7acc-4e68-87af-48fc6102d8d3","keyPrefix":"sk-oai-1cISdgaqLQLI...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:53 | 201 | 1.539587ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:54 | 200 | 34.671µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-09T10:08:56.276Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"87c4425e-2b7b-491b-b63b-efafe2c9a41d","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.276Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"87c4425e-2b7b-491b-b63b-efafe2c9a41d","keyPrefix":"sk-oai-NmglGU4gL3oN...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.582879ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.317Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"0889f36d-c734-4bad-8120-0b28a0b0aee2","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.317Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"0889f36d-c734-4bad-8120-0b28a0b0aee2","keyPrefix":"sk-oai-17NU8B9IxC3U...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.135952ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 547.046µs | 100.64.0.4 | GET "/v1/api-keys/0889f36d-c734-4bad-8120-0b28a0b0aee2" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.390Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"b5356f25-b09a-4ccc-90cc-1019c738c4f0","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.390Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b5356f25-b09a-4ccc-90cc-1019c738c4f0","keyPrefix":"sk-oai-ZDu61hshzUoD...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.259134ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.425Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"dab463e8-c752-438c-8cb9-d6765d979a2d","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.425Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"dab463e8-c752-438c-8cb9-d6765d979a2d","keyPrefix":"sk-oai-1HoBAuGl53Li...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.169943ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 4.461533ms | 100.64.0.2 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 610.868µs | 100.64.0.3 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.532Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2e41f32c-0857-41a0-8411-33eaf596288c","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.532Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2e41f32c-0857-41a0-8411-33eaf596288c","keyPrefix":"sk-oai-doCNqGozq4Zs...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.138462ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.564Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"2e41f32c-0857-41a0-8411-33eaf596288c"} {"level":"info","timestamp":"2026-06-09T10:08:56.564Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"2e41f32c-0857-41a0-8411-33eaf596288c","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:08:56 | 200 | 1.629958ms | 100.64.0.4 | DELETE "/v1/api-keys/2e41f32c-0857-41a0-8411-33eaf596288c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 498.98µs | 100.64.0.2 | GET "/v1/api-keys/2e41f32c-0857-41a0-8411-33eaf596288c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.630Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"16b54eae-713a-422e-9c9f-56f5c7d5f153","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.631Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"16b54eae-713a-422e-9c9f-56f5c7d5f153","keyPrefix":"sk-oai-1LQ7bVFktcie...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.061872ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 389.238µs | 100.64.0.4 | GET "/v1/api-keys/16b54eae-713a-422e-9c9f-56f5c7d5f153" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 3.359977ms | 100.64.0.2 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.732Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"16b54eae-713a-422e-9c9f-56f5c7d5f153"} {"level":"info","timestamp":"2026-06-09T10:08:56.732Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"16b54eae-713a-422e-9c9f-56f5c7d5f153","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/06/09 - 10:08:56 | 200 | 1.557442ms | 100.64.0.2 | DELETE "/v1/api-keys/16b54eae-713a-422e-9c9f-56f5c7d5f153" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.769Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"id":"3c107182-fabc-4b26-a2a2-7d500666406c","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.769Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"3c107182-fabc-4b26-a2a2-7d500666406c","keyPrefix":"sk-oai-Iaq51nVJgwjS...","username":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.315743ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"warn","timestamp":"2026-06-09T10:08:56.802Z","caller":"api_keys/handler.go:124","message":"Unauthorized API key access attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"3c107182-fabc-4b26-a2a2-7d500666406c"} [GIN] 2026/06/09 - 10:08:56 | 404 | 548.856µs | 100.64.0.4 | GET "/v1/api-keys/3c107182-fabc-4b26-a2a2-7d500666406c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"warn","timestamp":"2026-06-09T10:08:56.836Z","caller":"api_keys/handler.go:305","message":"Unauthorized API key revocation attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"3c107182-fabc-4b26-a2a2-7d500666406c"} [GIN] 2026/06/09 - 10:08:56 | 404 | 476.497µs | 100.64.0.3 | DELETE "/v1/api-keys/3c107182-fabc-4b26-a2a2-7d500666406c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.871Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"15c2978f-1e63-4eb0-80ae-19e0bcda79a6","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.871Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"15c2978f-1e63-4eb0-80ae-19e0bcda79a6","keyPrefix":"sk-oai-jTxAlf80VUkI...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.1733ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.903Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"1ffd4322-01f7-40fc-ac49-10cc8bf32e06","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.903Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"1ffd4322-01f7-40fc-ac49-10cc8bf32e06","keyPrefix":"sk-oai-1HOB0BOYLKxc...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.119244ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:56.937Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"5619c27a-2959-4d87-8a68-04f27eb54dfd","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:56.937Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5619c27a-2959-4d87-8a68-04f27eb54dfd","keyPrefix":"sk-oai-Xhn0I8YMbrIL...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:56 | 201 | 1.175962ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:56 | 200 | 407.776µs | 100.64.0.3 | GET "/v1/api-keys/15c2978f-1e63-4eb0-80ae-19e0bcda79a6" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.002Z","caller":"api_keys/store_postgres.go:448","message":"Revoked all keys for user","count":7,"user":"system:serviceaccount:default:tester-regular-user"} {"level":"info","timestamp":"2026-06-09T10:08:57.002Z","caller":"api_keys/handler.go:531","message":"Bulk revoked API keys","count":7,"targetUser":"system:serviceaccount:default:tester-regular-user","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:08:57 | 200 | 1.72804ms | 100.64.0.4 | POST "/v1/api-keys/bulk-revoke" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 404.953µs | 100.64.0.2 | GET "/v1/api-keys/15c2978f-1e63-4eb0-80ae-19e0bcda79a6" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 387.887µs | 100.64.0.3 | GET "/v1/api-keys/1ffd4322-01f7-40fc-ac49-10cc8bf32e06" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 357.694µs | 100.64.0.4 | GET "/v1/api-keys/5619c27a-2959-4d87-8a68-04f27eb54dfd" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"warn","timestamp":"2026-06-09T10:08:57.132Z","caller":"api_keys/handler.go:508","message":"Unauthorized bulk revoke attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","targetUser":"someotheruser"} [GIN] 2026/06/09 - 10:08:57 | 403 | 130.671µs | 100.64.0.3 | POST "/v1/api-keys/bulk-revoke" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.166Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"3c3a778f-78c8-4a5c-9ca2-b9c098bb27f3","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.166Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"3c3a778f-78c8-4a5c-9ca2-b9c098bb27f3","keyPrefix":"sk-oai-1Ud8P3pImIch...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.233319ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 415.349µs | 100.64.0.2 | GET "/v1/api-keys/3c3a778f-78c8-4a5c-9ca2-b9c098bb27f3" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.232Z","caller":"api_keys/store_postgres.go:448","message":"Revoked all keys for user","count":1,"user":"system:serviceaccount:default:tester-regular-user"} {"level":"info","timestamp":"2026-06-09T10:08:57.232Z","caller":"api_keys/handler.go:531","message":"Bulk revoked API keys","count":1,"targetUser":"system:serviceaccount:default:tester-regular-user","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/06/09 - 10:08:57 | 200 | 1.263117ms | 100.64.0.3 | POST "/v1/api-keys/bulk-revoke" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.270Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"02adde36-9fd0-4f7c-a9d3-3bf0ff2d384b","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.270Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"02adde36-9fd0-4f7c-a9d3-3bf0ff2d384b","keyPrefix":"sk-oai-gqNwSathYR3S...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.203798ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.303Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"a57dfd5d-5c6a-4295-9c48-85d82436fc72","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.303Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"a57dfd5d-5c6a-4295-9c48-85d82436fc72","keyPrefix":"sk-oai-kCdeKjFTBJUz...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.299759ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"error","timestamp":"2026-06-09T10:08:57.338Z","caller":"api_keys/handler.go:192","message":"Failed to create API key","error":"requested expiration (4320h0m0s) exceeds maximum allowed (90 days): expiration exceeds maximum allowed","stacktrace":"github.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys.(*Handler).CreateAPIKey\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys/handler.go:192\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.registerHandlers.(*Handler).ExtractUserInfo.func4\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/token/handler.go:121\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.serve.NewMiddleware.func8\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/metrics/middleware.go:20\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.LoggerWithConfig.func1\n\tgithub.com/gin-gonic/gin@v1.10.1/logger.go:249\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.serve.RequestID.func7\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/middleware/request_id.go:57\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.CustomRecoveryWithWriter.func1\n\tgithub.com/gin-gonic/gin@v1.10.1/recovery.go:102\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\tgithub.com/gin-gonic/gin@v1.10.1/gin.go:644\ngithub.com/gin-gonic/gin.(*Engine).ServeHTTP\n\tgithub.com/gin-gonic/gin@v1.10.1/gin.go:600\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:3340\nnet/http.(*conn).serve\n\tnet/http/server.go:2109"} [GIN] 2026/06/09 - 10:08:57 | 400 | 145.299µs | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.373Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"6ad5e2a7-ec74-4717-8e59-7c392fbb164b","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.373Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"6ad5e2a7-ec74-4717-8e59-7c392fbb164b","keyPrefix":"sk-oai-1Zm3SwQB8icE...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.409438ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.406Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"4c2f0c96-d32c-4222-b47d-80c8153ee980","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.406Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4c2f0c96-d32c-4222-b47d-80c8153ee980","keyPrefix":"sk-oai-1976eeuQL7wm...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.292717ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:57.440Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"1878c84e-98d8-4e30-9c92-de3d5bac8bd1","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.440Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"1878c84e-98d8-4e30-9c92-de3d5bac8bd1","keyPrefix":"sk-oai-gTfERi8c31ks...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.120826ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 181.118µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:57 | 200 | 15.169815ms | 100.64.0.4 | GET "/v1/models" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 2.223543ms | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:57 | 200 | 145.928µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 10:08:57 | 200 | 269.301µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" {"level":"info","timestamp":"2026-06-09T10:08:57.605Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"099c3f02-c6bd-4b5a-8e7f-58cecd609927","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:57.605Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"099c3f02-c6bd-4b5a-8e7f-58cecd609927","keyPrefix":"sk-oai-EuN148j9LBwz...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:57 | 201 | 1.219447ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:57 | 200 | 613.994µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:57 | 200 | 406.139µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T10:08:57.669Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"099c3f02-c6bd-4b5a-8e7f-58cecd609927"} {"level":"info","timestamp":"2026-06-09T10:08:57.669Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"099c3f02-c6bd-4b5a-8e7f-58cecd609927","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:08:57 | 200 | 1.560813ms | 100.64.0.3 | DELETE "/v1/api-keys/099c3f02-c6bd-4b5a-8e7f-58cecd609927" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:59 | 200 | 37.563µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:08:59 | 200 | 968.4µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:59 | 200 | 642.465µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:08:59 | 200 | 389.061µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T10:08:59.771Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"908a6837-c214-401f-98b5-cf18aa5c6aa7","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:59.771Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"908a6837-c214-401f-98b5-cf18aa5c6aa7","keyPrefix":"sk-oai-hYTFFWAju1EW...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:59 | 201 | 1.287701ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:59.805Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"908a6837-c214-401f-98b5-cf18aa5c6aa7"} {"level":"info","timestamp":"2026-06-09T10:08:59.805Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"908a6837-c214-401f-98b5-cf18aa5c6aa7","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:08:59 | 200 | 1.747439ms | 100.64.0.3 | DELETE "/v1/api-keys/908a6837-c214-401f-98b5-cf18aa5c6aa7" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:59 | 404 | 711.994µs | 100.64.0.4 | DELETE "/v1/api-keys/908a6837-c214-401f-98b5-cf18aa5c6aa7" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:59 | 404 | 408.601µs | 100.64.0.2 | DELETE "/v1/api-keys/nonexistent-uuid-12345" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:59.910Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"5d3d6e1d-37af-46c9-aaa4-c3e7178174ab","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:59.910Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5d3d6e1d-37af-46c9-aaa4-c3e7178174ab","keyPrefix":"sk-oai-Lh89MDII17Jt...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:59 | 201 | 1.44326ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:59.942Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"5d3d6e1d-37af-46c9-aaa4-c3e7178174ab"} {"level":"info","timestamp":"2026-06-09T10:08:59.942Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"5d3d6e1d-37af-46c9-aaa4-c3e7178174ab","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:08:59 | 200 | 1.674329ms | 100.64.0.4 | DELETE "/v1/api-keys/5d3d6e1d-37af-46c9-aaa4-c3e7178174ab" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:08:59.977Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2388b2df-1fa9-479e-9461-9903b18244c9","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:08:59.977Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2388b2df-1fa9-479e-9461-9903b18244c9","keyPrefix":"sk-oai-bIqrJrxQtBaE...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:08:59 | 201 | 1.320316ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:08:59 | 200 | 609.193µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:09:00 | 200 | 30.096µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:00 | 200 | 629.038µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:09:00 | 200 | 382.624µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T10:09:00.076Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"4504247f-bcba-4b11-ae67-6f24bf4b02b4","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.076Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4504247f-bcba-4b11-ae67-6f24bf4b02b4","keyPrefix":"sk-oai-1dZGZ89zk7u4...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.125648ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.110Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"1e085fce-c975-487e-92a4-0457011152e4","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.110Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"1e085fce-c975-487e-92a4-0457011152e4","keyPrefix":"sk-oai-AmRBRAdovfKd...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.219795ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.151Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"6e0f6f37-b354-40c3-ba36-a8ce50b306a7","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.151Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"6e0f6f37-b354-40c3-ba36-a8ce50b306a7","keyPrefix":"sk-oai-1Gebwzx1yjB3...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.255853ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.181Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"4504247f-bcba-4b11-ae67-6f24bf4b02b4"} {"level":"info","timestamp":"2026-06-09T10:09:00.181Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"4504247f-bcba-4b11-ae67-6f24bf4b02b4","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.494048ms | 100.64.0.3 | DELETE "/v1/api-keys/4504247f-bcba-4b11-ae67-6f24bf4b02b4" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.215Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"1e085fce-c975-487e-92a4-0457011152e4"} {"level":"info","timestamp":"2026-06-09T10:09:00.215Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"1e085fce-c975-487e-92a4-0457011152e4","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.466612ms | 100.64.0.3 | DELETE "/v1/api-keys/1e085fce-c975-487e-92a4-0457011152e4" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.249Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"6e0f6f37-b354-40c3-ba36-a8ce50b306a7"} {"level":"info","timestamp":"2026-06-09T10:09:00.249Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"6e0f6f37-b354-40c3-ba36-a8ce50b306a7","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.485367ms | 100.64.0.4 | DELETE "/v1/api-keys/6e0f6f37-b354-40c3-ba36-a8ce50b306a7" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.285Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"0aa575c4-b4e4-4d14-a25e-f491245e402a","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.285Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"0aa575c4-b4e4-4d14-a25e-f491245e402a","keyPrefix":"sk-oai-V6A01PeEz6Z5...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.166542ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.318Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"410e24cb-fcaf-445e-83f6-b59c03b5567c","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.318Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"410e24cb-fcaf-445e-83f6-b59c03b5567c","keyPrefix":"sk-oai-ak6GYMmByGLr...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.342299ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.353Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"30b2ffba-9032-4f0a-8d1e-e3d770cf178b","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:00.353Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"30b2ffba-9032-4f0a-8d1e-e3d770cf178b","keyPrefix":"sk-oai-l7dQctp1gffL...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.12821ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:00 | 200 | 635.795µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:09:00 | 200 | 123.98µs | 10.132.0.39 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T10:09:00.420Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"0aa575c4-b4e4-4d14-a25e-f491245e402a"} {"level":"info","timestamp":"2026-06-09T10:09:00.420Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"0aa575c4-b4e4-4d14-a25e-f491245e402a","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.537438ms | 100.64.0.2 | DELETE "/v1/api-keys/0aa575c4-b4e4-4d14-a25e-f491245e402a" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.452Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"410e24cb-fcaf-445e-83f6-b59c03b5567c"} {"level":"info","timestamp":"2026-06-09T10:09:00.452Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"410e24cb-fcaf-445e-83f6-b59c03b5567c","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.628059ms | 100.64.0.3 | DELETE "/v1/api-keys/410e24cb-fcaf-445e-83f6-b59c03b5567c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.486Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"30b2ffba-9032-4f0a-8d1e-e3d770cf178b"} {"level":"info","timestamp":"2026-06-09T10:09:00.486Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"30b2ffba-9032-4f0a-8d1e-e3d770cf178b","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 10:09:00 | 200 | 1.461992ms | 100.64.0.4 | DELETE "/v1/api-keys/30b2ffba-9032-4f0a-8d1e-e3d770cf178b" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:00 | 200 | 615.256µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:09:00 | 200 | 605.865µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 10:09:00 | 200 | 602.499µs | 10.132.0.39 | POST "/internal/v1/api-keys/validate" {"level":"info","timestamp":"2026-06-09T10:09:00.827Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"29b68ee5-56dc-4919-8c3d-648ff9488b27","ephemeral":true} {"level":"info","timestamp":"2026-06-09T10:09:00.827Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"29b68ee5-56dc-4919-8c3d-648ff9488b27","keyPrefix":"sk-oai-KwGAKuoSEeAc...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":true} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.320994ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:00 | 200 | 4.43395ms | 100.64.0.3 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:00 | 200 | 1.044506ms | 100.64.0.2 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:00.936Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"781dac95-3833-46d7-92f2-2edf8a4a4d3c","ephemeral":true} {"level":"info","timestamp":"2026-06-09T10:09:00.936Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"781dac95-3833-46d7-92f2-2edf8a4a4d3c","keyPrefix":"sk-oai-VMWUPofMEYer...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":true} [GIN] 2026/06/09 - 10:09:00 | 201 | 1.307564ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:01.372Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/09 - 10:09:01 | 200 | 828.153µs | ::1 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/09 - 10:09:01 | 200 | 498.47µs | 100.64.0.2 | GET "/v1/api-keys/781dac95-3833-46d7-92f2-2edf8a4a4d3c" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T10:09:02.197Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-apikey-active-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"3f7dd68d-0519-418a-8dfe-dcfbac72509a","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:02.198Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"3f7dd68d-0519-418a-8dfe-dcfbac72509a","keyPrefix":"sk-oai-vlVmi8BEpIg9...","username":"system:serviceaccount:llm:e2e-apikey-active-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:02 | 201 | 1.568045ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:04 | 200 | 34.801µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:09 | 200 | 42.054µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:10 | 200 | 42.926µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:14 | 200 | 42.51µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:19 | 200 | 39.583µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:20 | 200 | 39.524µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-09T10:09:21.385Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-apikey-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"c2263063-a070-4e74-9e57-88fa47edd5dc","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:09:21.385Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c2263063-a070-4e74-9e57-88fa47edd5dc","keyPrefix":"sk-oai-14d7INeL7epH...","username":"system:serviceaccount:llm:e2e-apikey-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:09:21 | 201 | 2.101228ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:24 | 200 | 38.846µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:29 | 200 | 40.728µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:30 | 200 | 50.646µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:34 | 200 | 41.575µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:39 | 200 | 40.101µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:40 | 200 | 42.19µs | 10.133.0.2 | GET "/health" {"level":"warn","timestamp":"2026-06-09T10:09:40.739Z","caller":"api_keys/service.go:130","message":"Subscription selection failed when creating API key","user":"system:serviceaccount:llm:e2e-apikey-failed-sa","requestedSubscription":"e2e-apikey-failed-sub","error":"requested model is unhealthy in subscription"} {"level":"error","timestamp":"2026-06-09T10:09:40.739Z","caller":"api_keys/handler.go:192","message":"Failed to create API key","error":"requested model is unhealthy in subscription","stacktrace":"github.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys.(*Handler).CreateAPIKey\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys/handler.go:192\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.registerHandlers.(*Handler).ExtractUserInfo.func4\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/token/handler.go:121\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.serve.NewMiddleware.func8\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/metrics/middleware.go:20\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.LoggerWithConfig.func1\n\tgithub.com/gin-gonic/gin@v1.10.1/logger.go:249\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\nmain.serve.RequestID.func7\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/middleware/request_id.go:57\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.CustomRecoveryWithWriter.func1\n\tgithub.com/gin-gonic/gin@v1.10.1/recovery.go:102\ngithub.com/gin-gonic/gin.(*Context).Next\n\tgithub.com/gin-gonic/gin@v1.10.1/context.go:185\ngithub.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\tgithub.com/gin-gonic/gin@v1.10.1/gin.go:644\ngithub.com/gin-gonic/gin.(*Engine).ServeHTTP\n\tgithub.com/gin-gonic/gin@v1.10.1/gin.go:600\nnet/http.serverHandler.ServeHTTP\n\tnet/http/server.go:3340\nnet/http.(*conn).serve\n\tnet/http/server.go:2109"} [GIN] 2026/06/09 - 10:09:40 | 403 | 285.581µs | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:09:44 | 200 | 56.759µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:49 | 200 | 40.801µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:50 | 200 | 51.279µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:54 | 200 | 41.062µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:09:59 | 200 | 38.926µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:00 | 200 | 56.242µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-09T10:10:00.087Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-apikey-pending-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"7163802b-f44e-4ba8-9730-19d4aff70b9e","ephemeral":false} {"level":"info","timestamp":"2026-06-09T10:10:00.087Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"7163802b-f44e-4ba8-9730-19d4aff70b9e","keyPrefix":"sk-oai-2p2QVPOdAYbU...","username":"system:serviceaccount:llm:e2e-apikey-pending-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 10:10:00 | 201 | 1.672689ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 10:10:04 | 200 | 39.155µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:09 | 200 | 41.906µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:10 | 200 | 44.507µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:14 | 200 | 41.091µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:19 | 200 | 38.831µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:20 | 200 | 40.751µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:24 | 200 | 65.83µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:29 | 200 | 44.74µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:30 | 200 | 46.373µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:34 | 200 | 45.868µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:39 | 200 | 41.693µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:40 | 200 | 40.26µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/09 - 10:10:44 | 200 | 47.858µs | 10.133.0.2 | GET "/health"