{"level":"info","timestamp":"2026-05-20T20:44:40.718Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f9df6b3b-c277-4455-80a8-e6c8a02bb4b8","keyPrefix":"sk-oai-1H0ZmERP9Wdb...","username":"system:serviceaccount:models-as-a-service:e2e-sa-multi-sub-valid","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:44:40 | 201 | 1.372531ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:44:40.746Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-sa-multi-sub-valid","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"b810501c-935f-491b-8b57-320640e7c933","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:44:40.746Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b810501c-935f-491b-8b57-320640e7c933","keyPrefix":"sk-oai-bscbhsXTlHz4...","username":"system:serviceaccount:models-as-a-service:e2e-sa-multi-sub-valid","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:44:40 | 201 | 1.028868ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:44:40 | 200 | 470.279µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:44:40 | 200 | 191.803µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:44:40 | 200 | 448.96µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:44:40 | 200 | 149.253µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:44:40 | 200 | 30.185µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:44:45 | 200 | 33.179µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:44:46 | 200 | 33.741µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:44:50 | 200 | 32.165µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:44:55 | 200 | 33.819µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:44:56 | 200 | 34.089µs | 10.133.0.2 | GET "/health" {"level":"warn","timestamp":"2026-05-20T20:44:58.377Z","caller":"api_keys/service.go:130","message":"Subscription selection failed when creating API key","user":"system:serviceaccount:models-as-a-service:e2e-sa-user","requestedSubscription":"e2e-test-other-subscription","error":"access denied to requested subscription"} {"level":"error","timestamp":"2026-05-20T20:44:58.377Z","caller":"api_keys/handler.go:192","message":"Failed to create API key","error":"access denied to requested 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.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.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.(*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/05/20 - 20:44:58 | 400 | 262.748µs | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:45:00 | 200 | 32.947µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:45:03.990Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/05/20 - 20:45:03 | 200 | 954.745µs | 10.132.0.50 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/05/20 - 20:45:05 | 200 | 32.596µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:06 | 200 | 32.832µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:10 | 200 | 34.334µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:45:15.766Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-sa-group","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"3a74e3c7-c8c9-40ab-92fa-43b7c5f0138a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:45:15.766Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"3a74e3c7-c8c9-40ab-92fa-43b7c5f0138a","keyPrefix":"sk-oai-YvUuVoQEEwWJ...","username":"system:serviceaccount:models-as-a-service:e2e-sa-group","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:45:15 | 201 | 11.070164ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:45:15 | 200 | 1.316434ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:45:15 | 200 | 153.201µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:45:15 | 200 | 31.999µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:16 | 200 | 32.598µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:20 | 200 | 33.765µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:45:24.827Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-sa-group-auth-only","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"b987869d-1473-4591-b41b-ff7bf6016fe8","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:45:24.827Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b987869d-1473-4591-b41b-ff7bf6016fe8","keyPrefix":"sk-oai-1WPmPENON7iz...","username":"system:serviceaccount:models-as-a-service:e2e-sa-group-auth-only","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:45:24 | 201 | 2.745781ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:45:25 | 200 | 33.71µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:26 | 200 | 32.974µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:30 | 200 | 32.384µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:33 | 200 | 1.020705ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:45:33 | 200 | 108.858µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:45:35 | 200 | 32.163µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:36 | 200 | 33.988µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:40 | 200 | 31.745µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:45 | 200 | 35.421µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:46 | 200 | 32.441µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:45:50.435Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-sa-group-sub-only","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"bce1402a-08e1-4875-b23f-1398b80e98bf","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:45:50.435Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"bce1402a-08e1-4875-b23f-1398b80e98bf","keyPrefix":"sk-oai-1dZ7bMFNDX8W...","username":"system:serviceaccount:models-as-a-service:e2e-sa-group-sub-only","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:45:50 | 201 | 2.078748ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:45:50 | 200 | 639.573µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:45:50 | 200 | 164.579µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:45:50 | 200 | 32.333µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:55 | 200 | 32.922µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:45:56 | 200 | 35.033µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:00 | 200 | 31.956µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:05 | 200 | 31.764µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:06 | 200 | 34.79µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:10 | 200 | 34.954µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:15 | 200 | 33.309µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:16 | 200 | 33.206µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:20 | 200 | 34.083µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:25 | 200 | 32.678µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:26 | 200 | 33.322µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:30 | 200 | 32.32µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:35 | 200 | 33.357µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:36 | 200 | 33.507µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:40 | 200 | 38.95µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:45 | 200 | 34.396µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:46 | 200 | 38.143µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:50 | 200 | 31.334µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:55 | 200 | 34.589µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:46:56 | 200 | 34.478µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:00 | 200 | 36.923µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:05 | 200 | 33.013µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:06 | 200 | 35.049µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:10 | 200 | 36.061µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:15 | 200 | 37.732µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:16 | 200 | 48.968µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:20 | 200 | 39.466µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:25 | 200 | 41.32µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:26 | 200 | 38.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:30 | 200 | 38.712µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:35 | 200 | 38.394µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:36 | 200 | 38.876µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:40 | 200 | 37.555µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:45 | 200 | 41.532µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:46 | 200 | 42.074µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:47:49.759Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-trlp-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"4275bb40-3aee-4dc6-b915-9c733c07f92c","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:47:49.759Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4275bb40-3aee-4dc6-b915-9c733c07f92c","keyPrefix":"sk-oai-iLbudsipreaL...","username":"system:serviceaccount:llm:e2e-trlp-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:47:49 | 201 | 2.358595ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:47:50 | 200 | 39.275µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:55 | 200 | 41.53µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:47:56 | 200 | 39.021µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:00 | 200 | 40.917µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:05 | 200 | 38.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:06 | 200 | 39.129µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:10 | 200 | 39.645µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:12 | 200 | 912.111µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:48:12 | 200 | 163.249µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:48:13 | 404 | 1.070578ms | 100.64.0.4 | DELETE "/v1/api-keys/e2e-trlp-test-key" [GIN] 2026/05/20 - 20:48:15 | 200 | 42.525µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:16 | 200 | 42.295µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:20 | 200 | 39.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:25 | 200 | 44.088µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:26 | 200 | 38.936µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:30 | 200 | 43.994µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:35 | 200 | 50.37µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:36 | 200 | 44.147µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:40 | 200 | 42.331µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:45 | 200 | 43.724µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:46 | 200 | 39.095µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:50 | 200 | 39.607µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:55 | 200 | 37.858µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:48:56 | 200 | 42.054µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:00 | 200 | 38.501µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:49:03.575Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-degraded-healthy-inf-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"a1d3428b-522b-4f3f-a62d-7f6d3eb74098","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:49:03.575Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"a1d3428b-522b-4f3f-a62d-7f6d3eb74098","keyPrefix":"sk-oai-1BIP5esCxjqZ...","username":"system:serviceaccount:llm:e2e-degraded-healthy-inf-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:49:03 | 201 | 2.054658ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:49:03 | 200 | 690.921µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:49:03 | 200 | 206.172µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:49:05 | 200 | 40.264µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:06 | 200 | 38.663µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:10 | 200 | 41.427µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:15 | 200 | 38.08µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:16 | 200 | 44.041µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:20 | 200 | 44.26µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:49:22.780Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-failed-sub-inf-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"21f49a18-475e-4842-a9a9-b7054f50066d","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:49:22.780Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"21f49a18-475e-4842-a9a9-b7054f50066d","keyPrefix":"sk-oai-1Oe2rNdI7tKg...","username":"system:serviceaccount:llm:e2e-failed-sub-inf-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:49:22 | 201 | 2.310265ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:49:22 | 200 | 607.417µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:49:22 | 200 | 201.302µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:49:23 | 200 | 574.18µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:49:23 | 200 | 151.294µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:49:25 | 200 | 41.714µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:26 | 200 | 40.081µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:30 | 200 | 40.651µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:35 | 200 | 38.811µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:36 | 200 | 38.534µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:40 | 200 | 40.185µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:49:42.259Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:llm:e2e-degraded-models-apikey-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"id":"06ca50ad-c831-4c55-801f-c4f31443610d","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:49:42.259Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"06ca50ad-c831-4c55-801f-c4f31443610d","keyPrefix":"sk-oai-Ir3TCNr7n84N...","username":"system:serviceaccount:llm:e2e-degraded-models-apikey-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:49:42 | 201 | 2.009347ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:49:42 | 200 | 549.131µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:49:42 | 200 | 429.451µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:49:42 | 200 | 163.737µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:49:42 | 200 | 18.917697ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:49:45 | 200 | 41.211µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:46 | 200 | 43.483µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:50 | 200 | 39.882µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:55 | 200 | 37.841µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:49:56 | 200 | 40.916µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:00 | 200 | 40.456µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:01 | 200 | 192.424µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:50:01 | 200 | 160.679µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:50:01 | 200 | 23.152978ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:50:05 | 200 | 38.563µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:06 | 200 | 36.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:10 | 200 | 40.511µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:50:15.566Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-single-sub-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"83e820f2-ff0c-4432-8025-e3feb23eb34e","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:50:15.566Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"83e820f2-ff0c-4432-8025-e3feb23eb34e","keyPrefix":"sk-oai-1IIhx4pwcfXh...","username":"system:serviceaccount:default:e2e-models-single-sub-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:50:15 | 201 | 1.914679ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:50:15 | 200 | 38.95µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:16 | 200 | 38.544µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:20 | 200 | 42.484µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:25 | 200 | 38.064µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:26 | 200 | 42.922µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:30 | 200 | 38.325µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:35 | 200 | 36.475µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:36 | 200 | 46.657µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:40 | 200 | 44.51µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:45 | 200 | 10.874996ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:50:45 | 200 | 361.465µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:50:45 | 200 | 723.019µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:50:45 | 200 | 642.714µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:50:45 | 200 | 383.013µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:50:45 | 200 | 12.872072ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:50:45 | 200 | 36.848µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:46 | 200 | 45.363µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:50 | 200 | 39.58µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:55 | 200 | 42.115µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:50:56 | 200 | 44.033µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:00 | 200 | 41.569µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:02 | 200 | 167.052µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:02 | 200 | 12.612346ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:51:05 | 200 | 44.58µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:06 | 200 | 41.402µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:10 | 200 | 50.117µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:51:11.342Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-empty-header-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"f2b392df-1bca-4551-9c73-fc141b539358","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:51:11.342Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f2b392df-1bca-4551-9c73-fc141b539358","keyPrefix":"sk-oai-HpSzfaUfhITr...","username":"system:serviceaccount:default:e2e-models-empty-header-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:51:11 | 201 | 2.915182ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:51:15 | 200 | 45.535µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:16 | 200 | 41.45µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:19 | 200 | 893.644µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:19 | 200 | 409.983µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:19 | 200 | 131.254µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:19 | 200 | 9.431079ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:51:19.864Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-filtered-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"10e3b2b6-0445-4163-9698-f6dca8774d6f","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:51:19.864Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"10e3b2b6-0445-4163-9698-f6dca8774d6f","keyPrefix":"sk-oai-1JMeRhux92wh...","username":"system:serviceaccount:default:e2e-models-filtered-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:51:19 | 201 | 1.595867ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:51:20 | 200 | 40.443µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:25 | 200 | 38.449µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:26 | 200 | 43.31µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:27 | 200 | 905.393µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:27 | 200 | 378.585µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:27 | 200 | 115.562µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:27 | 200 | 6.341579ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:51:27 | 200 | 483.737µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:27 | 200 | 326.35µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:27 | 200 | 117.808µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:27 | 200 | 6.021782ms | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:51:28.838Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-dedup-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"03d8f6c1-ff21-45b4-9206-ea713e178fb2","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:51:28.838Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"03d8f6c1-ff21-45b4-9206-ea713e178fb2","keyPrefix":"sk-oai-1a7CK8FrAHkl...","username":"system:serviceaccount:default:e2e-models-dedup-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:51:28 | 201 | 1.747297ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:51:30 | 200 | 38.683µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:35 | 200 | 46.056µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:36 | 200 | 42.855µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:36 | 200 | 848.757µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:36 | 200 | 379.296µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:36 | 200 | 112.568µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:36 | 200 | 9.156349ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:51:40 | 200 | 39.121µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:45 | 200 | 40.813µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:51:46.021Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-diff-refs-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2832ea97-410e-4a80-9120-495b6551aeeb","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:51:46.021Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2832ea97-410e-4a80-9120-495b6551aeeb","keyPrefix":"sk-oai-KoDR3vPzI0eE...","username":"system:serviceaccount:default:e2e-models-diff-refs-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:51:46 | 201 | 2.164277ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:51:46 | 200 | 40.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:50 | 200 | 50.465µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:54 | 200 | 867.799µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:54 | 200 | 488.035µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:54 | 200 | 362.067µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:54 | 200 | 511.687µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:51:54 | 200 | 287.454µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:51:54 | 200 | 19.045054ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:51:55 | 200 | 65.029µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:51:56 | 200 | 37.683µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:00 | 200 | 39.415µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:05 | 200 | 42.398µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:06 | 200 | 38.042µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:52:07.510Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-distinct-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"e90b92ed-33d0-41da-82d7-03adb9ef2428","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:52:07.510Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e90b92ed-33d0-41da-82d7-03adb9ef2428","keyPrefix":"sk-oai-sf1nue7Qb8jq...","username":"system:serviceaccount:default:e2e-models-distinct-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:52:07 | 201 | 2.583717ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:52:10 | 200 | 40.212µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:15 | 200 | 967.341µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:52:15 | 200 | 615.328µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:52:15 | 200 | 425.749µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:15 | 200 | 10.88334ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:52:15 | 200 | 370.556µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:15 | 200 | 25.457521ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:52:15 | 200 | 38.613µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:16 | 200 | 41.966µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:20 | 200 | 43.948µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:25 | 200 | 42.822µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:26 | 200 | 40.247µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:30 | 200 | 39.844µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:31 | 200 | 177.41µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:31 | 200 | 145.764µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:31 | 200 | 139.085µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:31 | 200 | 35.231896ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:52:35 | 200 | 38.587µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:36 | 200 | 41.371µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:40 | 200 | 53.768µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:45 | 200 | 39.952µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:46 | 200 | 43.128µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:49 | 200 | 168.292µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:52:49 | 200 | 13.519182ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:52:50 | 200 | 39.377µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:55 | 200 | 39.009µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:52:56 | 200 | 54.03µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:00 | 200 | 39.944µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:53:02.727Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-empty-models-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"0b6a92cf-3cc5-4a3a-848d-992bd0366808","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:53:02.727Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"0b6a92cf-3cc5-4a3a-848d-992bd0366808","keyPrefix":"sk-oai-1P1MQvNkC6WF...","username":"system:serviceaccount:default:e2e-empty-models-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:53:02 | 201 | 2.704339ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:53:05 | 200 | 36.595µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:06 | 200 | 38.626µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:10 | 200 | 1.095606ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:10 | 200 | 148.134µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:53:10 | 200 | 45.135µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:53:11.353Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-schema-test-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"e063b04a-e030-47ba-9bd4-a895d85d7441","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:53:11.353Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e063b04a-e030-47ba-9bd4-a895d85d7441","keyPrefix":"sk-oai-1HmuISNfyaQe...","username":"system:serviceaccount:default:e2e-models-schema-test-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:53:11 | 201 | 1.807913ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:53:15 | 200 | 37.024µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:16 | 200 | 38.832µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:19 | 200 | 799.654µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:19 | 200 | 465.838µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:19 | 200 | 209.312µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:53:19 | 200 | 9.782392ms | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:53:19.752Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-models-metadata-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"686b3d70-0649-4eea-93ac-938b0f15e575","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:53:19.752Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"686b3d70-0649-4eea-93ac-938b0f15e575","keyPrefix":"sk-oai-SfX5U4Wnz2MX...","username":"system:serviceaccount:default:e2e-models-metadata-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:53:19 | 201 | 1.952233ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:53:20 | 200 | 42.476µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:25 | 200 | 39.836µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:26 | 200 | 64.861µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:27 | 200 | 1.000985ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:27 | 200 | 632.227µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:27 | 200 | 350.921µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:53:27 | 200 | 9.362035ms | 100.64.0.3 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:53:28.497Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-api-key-scoped-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"d4c8d423-9ac8-4b7c-8b24-4bee6a108539","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:53:28.497Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d4c8d423-9ac8-4b7c-8b24-4bee6a108539","keyPrefix":"sk-oai-DzheM4bOQnlu...","username":"system:serviceaccount:models-as-a-service:e2e-api-key-scoped-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:53:28 | 201 | 1.788323ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:53:30 | 200 | 40.391µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:35 | 200 | 38.963µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:36 | 200 | 911.485µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:36 | 200 | 505.34µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:53:36 | 200 | 266.002µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:53:36 | 200 | 9.683475ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:53:36 | 200 | 39.022µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:40 | 200 | 40.856µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:53:45.707Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:models-as-a-service:e2e-api-key-deleted-sub-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"id":"48bf7518-c5f8-44a8-b7d7-8ac79e47c535","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:53:45.707Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"48bf7518-c5f8-44a8-b7d7-8ac79e47c535","keyPrefix":"sk-oai-1WOvFF0xQTqq...","username":"system:serviceaccount:models-as-a-service:e2e-api-key-deleted-sub-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:models-as-a-service","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:53:45 | 201 | 1.958584ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:53:45 | 200 | 41.049µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:46 | 200 | 37.071µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:50 | 200 | 40.317µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:55 | 200 | 38.856µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:53:56 | 200 | 40.413µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:00 | 200 | 55.552µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:01 | 200 | 863.919µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:54:01 | 403 | 97.29µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:54:05 | 200 | 38.415µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:06 | 200 | 48.622µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:10 | 200 | 39.924µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:15 | 200 | 37.56µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:16 | 200 | 46.894µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:18 | 403 | 149.031µs | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:54:20 | 200 | 38.568µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:25 | 200 | 45.159µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:26 | 200 | 38.72µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:30 | 200 | 41.057µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:35 | 200 | 38.889µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:36 | 403 | 121.102µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:54:36 | 200 | 65.613µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:40 | 200 | 41.247µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:45 | 200 | 40.869µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:46 | 200 | 60.472µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:50 | 200 | 50.45µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:53 | 403 | 127.659µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:54:55 | 200 | 58.945µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:54:56 | 200 | 40.707µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:00 | 200 | 44.306µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:05 | 200 | 38.869µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:06 | 200 | 38.168µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:55:07.618Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-api-key-ignores-header-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"5db43e6e-dfd6-460b-806e-49daf59c327a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:55:07.619Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5db43e6e-dfd6-460b-806e-49daf59c327a","keyPrefix":"sk-oai-LTdtbw1Y0k6G...","username":"system:serviceaccount:default:e2e-api-key-ignores-header-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:55:07 | 201 | 2.313593ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:55:10 | 200 | 38.885µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:15 | 200 | 819.005µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:15 | 200 | 658.101µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:15 | 200 | 372.129µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:15 | 200 | 17.851886ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:55:15 | 200 | 39.767µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:16 | 200 | 39.061µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:20 | 200 | 39.938µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:25 | 200 | 40.623µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:26 | 200 | 41.185µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:55:29.924Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2af0150e-8cfe-4ca0-83c0-76d1790cc050","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:55:29.924Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2af0150e-8cfe-4ca0-83c0-76d1790cc050","keyPrefix":"sk-oai-HGPQsKrSjYd6...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:55:29 | 201 | 1.889274ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:55:29.958Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"902e1d43-d057-4fd0-95d4-4a23d4c71adf","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:55:29.958Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"902e1d43-d057-4fd0-95d4-4a23d4c71adf","keyPrefix":"sk-oai-1X2BKcyTKrXw...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:55:29 | 201 | 1.71574ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:55:30 | 200 | 41.132µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:35 | 200 | 38.719µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:36 | 200 | 47.969µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:37 | 200 | 784.413µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:37 | 200 | 487.19µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:37 | 200 | 293.28µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:38 | 200 | 11.005797ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:55:38 | 200 | 428.527µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:38 | 200 | 555.976µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:55:38 | 200 | 234.41µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:38 | 200 | 9.91977ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 20:55:40 | 200 | 36.942µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:45 | 200 | 36.274µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:46 | 200 | 50.406µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:50 | 200 | 42.706µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:54 | 200 | 393.737µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:54 | 200 | 396.646µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:54 | 200 | 412.3µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:55:54 | 200 | 40.145748ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:55:55 | 200 | 47.203µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:55:56 | 200 | 42.076µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:00 | 200 | 50.672µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:05 | 200 | 42.109µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:06 | 200 | 51.074µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:10 | 200 | 41.462µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:11 | 200 | 380.419µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:11 | 200 | 13.997874ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:56:11 | 200 | 294.22µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:11 | 200 | 13.907799ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:56:15 | 200 | 43.842µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:16 | 200 | 38.355µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:20 | 200 | 42.191µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:25 | 200 | 44.599µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:26 | 200 | 39.638µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:30 | 200 | 42µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:35 | 200 | 37.83µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:36 | 200 | 37.774µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:56:36.949Z","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":"9566f01f-acf5-472a-9f5d-2aedbf153582","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:56:36.949Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"9566f01f-acf5-472a-9f5d-2aedbf153582","keyPrefix":"sk-oai-1eiu9MnR8OXn...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:56:36 | 201 | 2.785267ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:56:36 | 200 | 498.399µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:36 | 200 | 275.094µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:37 | 200 | 517.484µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:37 | 200 | 277.302µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:37 | 200 | 545.602µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:37 | 200 | 227.464µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:37 | 200 | 526.526µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:37 | 200 | 514.581µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:37 | 200 | 255.091µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:37 | 200 | 11.288059ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:56:40 | 200 | 38.755µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:45 | 200 | 37.175µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:46 | 200 | 39.531µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:50 | 200 | 42.377µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:56:52.684Z","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":"6d2015b2-2c88-47c7-979e-8b8bff1d1486","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:56:52.684Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"6d2015b2-2c88-47c7-979e-8b8bff1d1486","keyPrefix":"sk-oai-1VYmYFO8JH71...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 20:56:52 | 201 | 2.028354ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:56:53 | 200 | 605.403µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:56:53 | 200 | 249.223µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:56:55 | 200 | 45.313µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:56:56 | 200 | 39.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:00 | 200 | 39.748µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:05 | 200 | 48.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:06 | 200 | 47.258µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:10 | 200 | 42.596µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:15 | 200 | 42.996µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:16 | 200 | 38.726µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:20 | 200 | 39.718µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:25 | 200 | 43.558µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:26 | 200 | 40.985µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:57:30.768Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"99e27260-35ee-482a-8fdc-67ff6e02b925","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:30.768Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"99e27260-35ee-482a-8fdc-67ff6e02b925","keyPrefix":"sk-oai-1Y6itFhHxWfr...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:30 | 201 | 11.012505ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:30 | 200 | 39.156µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:57:31.647Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"7e0de0e5-5a8e-4d62-abe7-fb6c1d5db320","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:31.647Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"7e0de0e5-5a8e-4d62-abe7-fb6c1d5db320","keyPrefix":"sk-oai-SqiuCtW4bCdO...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:31 | 201 | 1.991951ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:57:32.023Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"65c6ec05-fbb3-4280-b148-0098fdec8f52","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:32.023Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"65c6ec05-fbb3-4280-b148-0098fdec8f52","keyPrefix":"sk-oai-1553kyEZSOTq...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:32 | 201 | 1.851092ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:32 | 200 | 1.283179ms | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:32 | 200 | 451.581µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:32 | 200 | 129.645µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:57:32 | 200 | 9.532735ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 20:57:32 | 200 | 636.269µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:32 | 200 | 146.148µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-05-20T20:57:32.246Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"34d84b24-ce4c-4b41-a4f3-c59c589364b9","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:32.246Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"34d84b24-ce4c-4b41-a4f3-c59c589364b9","keyPrefix":"sk-oai-nUibPAXNOl9h...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:32 | 201 | 1.76288ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:57:32.273Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"34d84b24-ce4c-4b41-a4f3-c59c589364b9"} {"level":"info","timestamp":"2026-05-20T20:57:32.273Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"34d84b24-ce4c-4b41-a4f3-c59c589364b9","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 20:57:32 | 200 | 2.90569ms | 100.64.0.4 | DELETE "/v1/api-keys/34d84b24-ce4c-4b41-a4f3-c59c589364b9" [GIN] 2026/05/20 - 20:57:35 | 200 | 881.483µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" {"level":"error","timestamp":"2026-05-20T20:57:35.298Z","caller":"token/handler.go:65","message":"Missing or empty username header","header":"X-MaaS-Username","stacktrace":"main.registerHandlers.(*Handler).ExtractUserInfo.func1\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/token/handler.go:65\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.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.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.(*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/05/20 - 20:57:35 | 500 | 101.878µs | 100.64.0.3 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:57:35.781Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"409cc86d-c656-477e-8467-d3245e33fadd","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:35.782Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"409cc86d-c656-477e-8467-d3245e33fadd","keyPrefix":"sk-oai-18PO4pT3nYx5...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:35 | 201 | 1.837972ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:57:35.814Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"be98133f-65b2-4c50-b9fe-1a463fe426d9","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:35.814Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"be98133f-65b2-4c50-b9fe-1a463fe426d9","keyPrefix":"sk-oai-19I35sq9i0RR...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:35 | 201 | 1.703341ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:35 | 200 | 40.636µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T20:57:35.965Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:35.965Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f","keyPrefix":"sk-oai-FA8EFe23MLzC...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:35 | 201 | 1.717276ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T20:57:35.986Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f"} {"level":"info","timestamp":"2026-05-20T20:57:35.986Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 20:57:35 | 200 | 2.194024ms | 100.64.0.4 | DELETE "/v1/api-keys/c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f" [GIN] 2026/05/20 - 20:57:36 | 404 | 705.119µs | 100.64.0.2 | DELETE "/v1/api-keys/c270fde5-4ffa-4a53-bbcc-7a6b1da37c5f" {"level":"info","timestamp":"2026-05-20T20:57:36.164Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"5074e652-a984-4b9c-be62-30b90c7f6c7c","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:36.164Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5074e652-a984-4b9c-be62-30b90c7f6c7c","keyPrefix":"sk-oai-JSgNeXSqAgCF...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:36 | 201 | 1.678633ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:36 | 200 | 616.028µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 447.329µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 138.115µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:57:36 | 200 | 9.815895ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:57:36.346Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"53354835-ae6f-42d8-a5c2-7b5ff1defaae","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:36.346Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"53354835-ae6f-42d8-a5c2-7b5ff1defaae","keyPrefix":"sk-oai-ARTw67CuWDtP...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:36 | 201 | 1.689673ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:36 | 200 | 500.734µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 403 | 102.965µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:57:36 | 200 | 496.837µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 456.945µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 175.181µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:57:36 | 200 | 11.125361ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:57:36.550Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"cbcfb88f-d1ab-43a7-b12d-cf48aa5ccd60","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:36.550Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"cbcfb88f-d1ab-43a7-b12d-cf48aa5ccd60","keyPrefix":"sk-oai-zPUV0Ui9u4lR...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:36 | 201 | 1.851353ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:36 | 200 | 691.487µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 425.161µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 156.874µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:57:36 | 200 | 9.348867ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 20:57:36 | 200 | 483.616µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 369.628µs | 10.134.0.28 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 20:57:36 | 200 | 126.491µs | 10.134.0.28 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 20:57:36 | 200 | 23.808686ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T20:57:36.773Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"b67ae50c-0a64-49f5-825e-7a5824d0d356","ephemeral":false} {"level":"info","timestamp":"2026-05-20T20:57:36.773Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b67ae50c-0a64-49f5-825e-7a5824d0d356","keyPrefix":"sk-oai-lfX7JbOwnV6g...","username":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 20:57:36 | 201 | 1.807266ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 20:57:36 | 200 | 37.77µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 20:57:40 | 200 | 43.501µs | 10.133.0.2 | GET "/health"