{"level":"info","timestamp":"2026-05-20T21:12:23.224Z","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":"a23f4301-94fc-4e0c-9bb7-a29ced7bfa44","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:12:23.224Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"a23f4301-94fc-4e0c-9bb7-a29ced7bfa44","keyPrefix":"sk-oai-yFotePxuX1fX...","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 - 21:12:23 | 201 | 2.186837ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:12:23.262Z","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":"9a951eaf-7fa0-4bb6-9876-64452e9fe591","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:12:23.262Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"9a951eaf-7fa0-4bb6-9876-64452e9fe591","keyPrefix":"sk-oai-a3MmO256WL8q...","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 - 21:12:23 | 201 | 1.951086ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:12:23 | 200 | 522.467µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:12:23 | 200 | 154.032µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:12:23 | 200 | 517.869µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:12:23 | 200 | 163.185µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:12:23 | 200 | 35.439µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:24 | 200 | 33.259µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:28 | 200 | 44.63µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:33 | 200 | 35.135µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:34 | 200 | 36.18µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:38 | 200 | 47.17µs | 10.133.0.2 | GET "/health" {"level":"warn","timestamp":"2026-05-20T21:12:40.912Z","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-20T21:12:40.912Z","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 - 21:12:40 | 400 | 289.098µs | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:12:43 | 200 | 34.918µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:44 | 200 | 34.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:48 | 200 | 36.904µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:53 | 200 | 45.463µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:12:54 | 200 | 43.842µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:12:58.302Z","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":"cf3baa86-122e-4b88-9c5b-9f99da56312b","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:12:58.302Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"cf3baa86-122e-4b88-9c5b-9f99da56312b","keyPrefix":"sk-oai-cqaxWj4nrq9r...","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 - 21:12:58 | 201 | 10.977044ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:12:58 | 200 | 1.575717ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:12:58 | 200 | 146.664µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:12:58 | 200 | 45.029µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:03 | 200 | 35.269µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:04 | 200 | 35.709µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:13:07.350Z","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":"1ee7ce5d-28eb-4d99-b44a-77df04926cb3","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:13:07.350Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"1ee7ce5d-28eb-4d99-b44a-77df04926cb3","keyPrefix":"sk-oai-rlW7ODa7bB4U...","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 - 21:13:07 | 201 | 2.029791ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:13:08 | 200 | 403.337µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:13 | 200 | 33.34µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:14 | 200 | 60.708µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:15 | 200 | 846.046µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:13:15 | 200 | 153.695µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:13:18 | 200 | 32.91µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:23 | 200 | 42.755µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:24 | 200 | 50.475µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:28 | 200 | 33.582µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:13:32.924Z","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":"e71564ac-03a9-4b7a-aa48-11221aeb4348","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:13:32.924Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e71564ac-03a9-4b7a-aa48-11221aeb4348","keyPrefix":"sk-oai-MpL4TBxYvS6e...","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 - 21:13:32 | 201 | 1.794589ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:13:32 | 200 | 684.524µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:13:32 | 200 | 175.174µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:13:33 | 200 | 34.202µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:34 | 200 | 33.933µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:38 | 200 | 50.459µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:43 | 200 | 38.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:44 | 200 | 35.958µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:48 | 200 | 42.772µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:53 | 200 | 36.273µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:54 | 200 | 33.944µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:13:58 | 200 | 37.262µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:03 | 200 | 39.319µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:04 | 200 | 33.413µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:08 | 200 | 34.862µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:13 | 200 | 38.017µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:14 | 200 | 34.305µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:18 | 200 | 39.819µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:23 | 200 | 38.379µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:24 | 200 | 34.542µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:28 | 200 | 41.37µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:33 | 200 | 34.171µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:34 | 200 | 34.941µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:38 | 200 | 36.161µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:43 | 200 | 38.496µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:44 | 200 | 36.102µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:48 | 200 | 34.263µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:53 | 200 | 34.785µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:54 | 200 | 37.245µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:14:58 | 200 | 34.226µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:03 | 200 | 40.071µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:15:03.861Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/05/20 - 21:15:03 | 200 | 3.112678ms | 10.134.0.62 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/05/20 - 21:15:04 | 200 | 33.511µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:08 | 200 | 35.178µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:13 | 200 | 39.304µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:14 | 200 | 34.979µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:18 | 200 | 37.792µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:23 | 200 | 39.537µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:24 | 200 | 39.175µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:28 | 200 | 45.499µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:15:32.333Z","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":"c38ff035-4ab2-4c15-8706-7d71fbe62f78","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:15:32.333Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c38ff035-4ab2-4c15-8706-7d71fbe62f78","keyPrefix":"sk-oai-6bihz8jbYrMP...","username":"system:serviceaccount:llm:e2e-trlp-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:15:32 | 201 | 2.055819ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:15:33 | 200 | 48.9µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:34 | 200 | 41.744µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:38 | 200 | 41.912µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:43 | 200 | 46.336µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:44 | 200 | 38.669µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:48 | 200 | 53.647µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:53 | 200 | 50.875µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:54 | 200 | 45.846µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:15:55 | 200 | 779.423µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:15:55 | 200 | 152.236µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:15:56 | 404 | 890.869µs | 100.64.0.4 | DELETE "/v1/api-keys/e2e-trlp-test-key" [GIN] 2026/05/20 - 21:15:58 | 200 | 46.26µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:03 | 200 | 48.255µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:04 | 200 | 44.516µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:08 | 200 | 39.252µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:13 | 200 | 51.28µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:14 | 200 | 42.318µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:18 | 200 | 43.51µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:23 | 200 | 41.94µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:24 | 200 | 43.275µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:28 | 200 | 44.009µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:33 | 200 | 55.841µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:34 | 200 | 40.048µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:38 | 200 | 44.179µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:43 | 200 | 52.037µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:44 | 200 | 43.711µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:16:48.530Z","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":"8274dfab-bed3-4ccd-8ca9-4ee1e0efec18","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:16:48.530Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"8274dfab-bed3-4ccd-8ca9-4ee1e0efec18","keyPrefix":"sk-oai-1O4tVz8iQOyZ...","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 - 21:16:48 | 201 | 2.144839ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:16:48 | 200 | 639.874µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:16:48 | 200 | 176.995µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:16:48 | 200 | 42.989µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:53 | 200 | 40.656µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:54 | 200 | 45.213µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:16:58 | 200 | 56.589µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:03 | 200 | 51.821µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:04 | 200 | 43.813µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:17:07.738Z","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":"5f96c684-d731-4cc3-b6b2-19e5bd73c8a0","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:17:07.738Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5f96c684-d731-4cc3-b6b2-19e5bd73c8a0","keyPrefix":"sk-oai-1D57aYqAc9YS...","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 - 21:17:07 | 201 | 2.056306ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:17:07 | 200 | 676.389µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:17:07 | 200 | 269.191µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:17:08 | 200 | 549.239µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:17:08 | 200 | 244.496µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:17:08 | 200 | 40.848µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:13 | 200 | 39.276µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:14 | 200 | 43.163µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:18 | 200 | 33.559µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:23 | 200 | 34.165µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:24 | 200 | 35.402µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:17:27.167Z","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":"b6f31c6b-7dfb-44b6-bc88-d3f77882130d","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:17:27.167Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b6f31c6b-7dfb-44b6-bc88-d3f77882130d","keyPrefix":"sk-oai-1NI7gPSaUsZD...","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 - 21:17:27 | 201 | 2.153063ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:17:27 | 200 | 722.671µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:17:27 | 200 | 730.065µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:17:27 | 200 | 383.416µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:17:27 | 200 | 25.152118ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:17:28 | 200 | 40.24µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:33 | 200 | 37.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:34 | 200 | 51.322µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:38 | 200 | 63.307µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:43 | 200 | 34.178µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:44 | 200 | 39.016µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:46 | 200 | 192.072µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:17:46 | 200 | 265.115µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:17:46 | 200 | 26.02371ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:17:48 | 200 | 35.483µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:53 | 200 | 36.113µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:54 | 200 | 39.674µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:17:58 | 200 | 33.526µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:18:00.477Z","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":"e327badc-9a94-4819-880c-7ece2ec6a1b3","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:18:00.477Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e327badc-9a94-4819-880c-7ece2ec6a1b3","keyPrefix":"sk-oai-1BwF5LyQLaG4...","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 - 21:18:00 | 201 | 11.038838ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:18:03 | 200 | 34.222µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:04 | 200 | 42.981µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:08 | 200 | 36.103µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:13 | 200 | 32.161µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:14 | 200 | 33.655µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:18 | 200 | 34.803µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:23 | 200 | 33.476µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:24 | 200 | 40.137µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:28 | 200 | 36.034µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:30 | 200 | 1.552776ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:18:30 | 200 | 172.814µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:18:30 | 200 | 607.001µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:18:30 | 200 | 541.021µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:18:30 | 200 | 177.034µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:18:30 | 200 | 13.172383ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:18:33 | 200 | 34.76µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:34 | 200 | 33.044µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:38 | 200 | 44.469µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:43 | 200 | 34.155µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:44 | 200 | 34.438µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:47 | 200 | 151.642µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:18:47 | 200 | 13.935171ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:18:48 | 200 | 34.79µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:53 | 200 | 38.239µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:18:54 | 200 | 43.114µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:18:56.299Z","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":"496c65a9-d367-4838-a36f-d50fcccb1fe3","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:18:56.299Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"496c65a9-d367-4838-a36f-d50fcccb1fe3","keyPrefix":"sk-oai-FBK3msvR6bxX...","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 - 21:18:56 | 201 | 2.070265ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:18:58 | 200 | 35.058µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:03 | 200 | 40.265µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:04 | 200 | 998.494µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:04 | 200 | 579.857µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:04 | 200 | 438.003µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:04 | 200 | 11.028646ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:04 | 200 | 41.069µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:19:04.849Z","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":"9a93be47-6b08-4414-afae-b5b185524a3d","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:19:04.849Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"9a93be47-6b08-4414-afae-b5b185524a3d","keyPrefix":"sk-oai-9ELQTBnHu4sB...","username":"system:serviceaccount:default:e2e-models-filtered-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:19:04 | 201 | 1.906861ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:19:08 | 200 | 40.254µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:12 | 200 | 935.277µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:12 | 200 | 468.399µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:12 | 200 | 211.427µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:12 | 200 | 7.492965ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:12 | 200 | 505.673µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:12 | 200 | 448.768µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:12 | 200 | 171.37µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:12 | 200 | 7.454453ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:13 | 200 | 42.714µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:19:13.844Z","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":"e3503977-1de6-4091-987b-ef12bc015625","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:19:13.844Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e3503977-1de6-4091-987b-ef12bc015625","keyPrefix":"sk-oai-Whh0rcX1htOH...","username":"system:serviceaccount:default:e2e-models-dedup-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:19:13 | 201 | 1.975406ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:19:14 | 200 | 63.773µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:18 | 200 | 49.682µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:21 | 200 | 753.787µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:21 | 200 | 453.132µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:21 | 200 | 189.842µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:21 | 200 | 10.78936ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:23 | 200 | 47.88µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:24 | 200 | 70.081µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:28 | 200 | 53.054µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:19:31.045Z","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":"c7c28aab-3cf3-46ef-a4c2-5e39d7bec4d3","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:19:31.045Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c7c28aab-3cf3-46ef-a4c2-5e39d7bec4d3","keyPrefix":"sk-oai-AU762bI0hEFs...","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 - 21:19:31 | 201 | 1.978322ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:19:33 | 200 | 39.837µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:34 | 200 | 43.542µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:38 | 200 | 41.362µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:39 | 200 | 806.233µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:39 | 200 | 471.41µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:39 | 200 | 194.258µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:39 | 200 | 568.228µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:39 | 200 | 210.923µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:39 | 200 | 21.649053ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:43 | 200 | 47.02µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:44 | 200 | 41.886µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:48 | 200 | 40.994µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:19:50.374Z","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":"f01b01a4-4752-47d3-a9ee-4dc6d94c0c72","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:19:50.374Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f01b01a4-4752-47d3-a9ee-4dc6d94c0c72","keyPrefix":"sk-oai-R3JmcDJ39tcI...","username":"system:serviceaccount:default:e2e-models-distinct-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:19:50 | 201 | 2.008975ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:19:53 | 200 | 46.299µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:54 | 200 | 45.088µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:19:58 | 200 | 786.427µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:58 | 200 | 482.418µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:58 | 200 | 179.521µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:58 | 200 | 10.786949ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:19:58 | 200 | 151.248µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:19:58 | 200 | 34.889603ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:19:58 | 200 | 50.8µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:03 | 200 | 42.04µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:04 | 200 | 44.496µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:08 | 200 | 41.428µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:13 | 200 | 42.298µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:14 | 200 | 70.038µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:14 | 200 | 190.984µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:20:14 | 200 | 179.941µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:20:14 | 200 | 183.004µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:20:14 | 200 | 39.701261ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:20:18 | 200 | 47.727µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:23 | 200 | 51.074µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:24 | 200 | 40.973µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:28 | 200 | 80.785µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:32 | 200 | 152.379µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:20:32 | 200 | 12.94093ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:20:33 | 200 | 40.231µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:34 | 200 | 40.953µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:38 | 200 | 40.897µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:20:43.159Z","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":"37e18120-9eeb-4178-93ce-f5125dc30667","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:20:43.160Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"37e18120-9eeb-4178-93ce-f5125dc30667","keyPrefix":"sk-oai-1VMtfwo9bss3...","username":"system:serviceaccount:default:e2e-empty-models-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:20:43 | 201 | 3.607496ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:20:43 | 200 | 42.546µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:44 | 200 | 41.626µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:48 | 200 | 44.559µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:51 | 200 | 850.213µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:20:51 | 200 | 194.436µs | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T21:20:51.806Z","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":"9cf4a159-f287-4b15-815f-c6c9821f896e","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:20:51.807Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"9cf4a159-f287-4b15-815f-c6c9821f896e","keyPrefix":"sk-oai-M1CbbT7UJjDM...","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 - 21:20:51 | 201 | 1.85158ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:20:53 | 200 | 47.034µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:54 | 200 | 40.577µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:58 | 200 | 44.641µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:20:59 | 200 | 996.035µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:20:59 | 200 | 528.966µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:20:59 | 200 | 135.776µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:20:59 | 200 | 11.062543ms | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T21:21:00.223Z","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":"93da461a-a582-48f7-8b12-23f16d3ec4a0","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:21:00.223Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"93da461a-a582-48f7-8b12-23f16d3ec4a0","keyPrefix":"sk-oai-aaDeaGDhjQB0...","username":"system:serviceaccount:default:e2e-models-metadata-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:21:00 | 201 | 1.875084ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:21:03 | 200 | 41.299µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:04 | 200 | 40.049µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:08 | 200 | 968.443µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:21:08 | 200 | 517.49µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:21:08 | 200 | 123.695µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:21:08 | 200 | 10.496262ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:21:08 | 200 | 41.141µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:21:09.018Z","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":"735c8daf-ca02-442c-8b23-778f481ac6eb","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:21:09.018Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"735c8daf-ca02-442c-8b23-778f481ac6eb","keyPrefix":"sk-oai-VXMSIvCHeCSC...","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 - 21:21:09 | 201 | 1.842455ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:21:13 | 200 | 47.375µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:14 | 200 | 42.724µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:17 | 200 | 808.911µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:21:17 | 200 | 465.986µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:21:17 | 200 | 149.073µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:21:17 | 200 | 10.023362ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:21:18 | 200 | 47.218µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:23 | 200 | 44.535µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:24 | 200 | 39.967µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:21:26.237Z","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":"17dff890-b7d2-48e8-a0e5-eb446c2d2a07","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:21:26.237Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"17dff890-b7d2-48e8-a0e5-eb446c2d2a07","keyPrefix":"sk-oai-1Z5dolYGfpyJ...","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 - 21:21:26 | 201 | 1.997404ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:21:28 | 200 | 42.797µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:33 | 200 | 45.435µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:34 | 200 | 38.362µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:38 | 200 | 41.066µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:42 | 200 | 777.992µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:21:42 | 403 | 104.369µs | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:21:43 | 200 | 42.958µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:44 | 200 | 43.379µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:48 | 200 | 41.798µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:53 | 200 | 52.956µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:54 | 200 | 54.471µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:58 | 200 | 41.337µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:21:59 | 403 | 117.602µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:22:03 | 200 | 52.039µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:04 | 200 | 43.631µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:08 | 200 | 55.288µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:13 | 200 | 43.939µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:14 | 200 | 50.168µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:16 | 403 | 245.82µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:22:18 | 200 | 41.946µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:23 | 200 | 51.39µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:24 | 200 | 41.7µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:28 | 200 | 45.261µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:33 | 200 | 48.711µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:34 | 403 | 177.845µs | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:22:34 | 200 | 45.577µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:38 | 200 | 41.221µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:43 | 200 | 40.782µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:44 | 200 | 41.497µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:22:46.280Z","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":"c00db898-c6db-4d21-9cd7-898d2dc88886","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:22:46.281Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c00db898-c6db-4d21-9cd7-898d2dc88886","keyPrefix":"sk-oai-K5ReSf3xGg7i...","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 - 21:22:46 | 201 | 2.283714ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:22:48 | 200 | 47.732µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:53 | 200 | 42.852µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:54 | 200 | 1.078709ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:22:54 | 200 | 520.526µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:22:54 | 200 | 282.296µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:22:54 | 200 | 19.738534ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:22:54 | 200 | 40.042µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:22:58 | 200 | 51.985µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:03 | 200 | 39.123µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:04 | 200 | 42.477µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:23:08.617Z","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":"90946e36-c1c9-40c8-bc95-8c358e1743b6","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:23:08.617Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"90946e36-c1c9-40c8-bc95-8c358e1743b6","keyPrefix":"sk-oai-1IZwuDcpSSZN...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:23:08 | 201 | 1.966843ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:23:08.663Z","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":"d9276da0-b8dd-41f7-a297-ac7d4307ae14","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:23:08.663Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d9276da0-b8dd-41f7-a297-ac7d4307ae14","keyPrefix":"sk-oai-MaqSKwEUWm9C...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:23:08 | 201 | 1.851965ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:23:08 | 200 | 48.335µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:13 | 200 | 44.798µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:14 | 200 | 45.786µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:16 | 200 | 886.093µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:23:16 | 200 | 451.531µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:23:16 | 200 | 274.9µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:16 | 200 | 10.701268ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:23:16 | 200 | 595.838µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:23:16 | 200 | 442.931µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:23:16 | 200 | 254.168µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:16 | 200 | 21.696358ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:23:18 | 200 | 45.696µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:23 | 200 | 38.38µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:24 | 200 | 42.431µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:28 | 200 | 61.013µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:33 | 200 | 384.344µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:33 | 200 | 330.378µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:33 | 200 | 401.282µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:33 | 200 | 47.145575ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:23:33 | 200 | 41.408µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:34 | 200 | 39.684µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:38 | 200 | 44.18µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:43 | 200 | 42.482µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:44 | 200 | 37.519µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:48 | 200 | 43.352µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:49 | 200 | 211.677µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:49 | 200 | 14.977376ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:23:49 | 200 | 214.643µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:23:49 | 200 | 13.905144ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:23:53 | 200 | 42.27µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:54 | 200 | 60.165µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:23:58 | 200 | 39.466µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:03 | 200 | 41.946µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:04 | 200 | 52.344µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:08 | 200 | 45.059µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:13 | 200 | 44.127µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:14 | 200 | 42.721µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:24:15.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":"59bcec29-0cee-4f48-a561-88a9793e0c60","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:24:15.630Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"59bcec29-0cee-4f48-a561-88a9793e0c60","keyPrefix":"sk-oai-1TtU7WN7p3kI...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:24:15 | 201 | 2.819697ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:24:15 | 200 | 743.161µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:15 | 200 | 378.927µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:24:15 | 200 | 572.462µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:15 | 200 | 272.535µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:24:15 | 200 | 721.082µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:15 | 200 | 294.708µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:24:15 | 200 | 531.971µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:15 | 200 | 543.465µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:15 | 200 | 248.348µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:24:15 | 200 | 10.558793ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:24:18 | 200 | 53.322µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:23 | 200 | 41.935µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:24 | 200 | 47.352µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:28 | 200 | 43µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:24:31.439Z","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":"03909f6c-5fe9-454c-8381-f0338a08ae57","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:24:31.439Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"03909f6c-5fe9-454c-8381-f0338a08ae57","keyPrefix":"sk-oai-PszyWWqx3nal...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 21:24:31 | 201 | 2.183567ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:24:31 | 200 | 579.444µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:24:31 | 200 | 259.991µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:24:33 | 200 | 43.918µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:34 | 200 | 38.79µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:38 | 200 | 41.468µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:43 | 200 | 42.051µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:44 | 200 | 52.96µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:48 | 200 | 46.287µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:53 | 200 | 41.814µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:54 | 200 | 39.683µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:24:58 | 200 | 43.387µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:25:03 | 200 | 44.329µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:25:04 | 200 | 39.498µs | 10.133.0.2 | GET "/health" [GIN] 2026/05/20 - 21:25:08 | 200 | 42.008µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:25:09.748Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"554224eb-48dc-45b0-8bd0-60085a80c4b8","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:09.748Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"554224eb-48dc-45b0-8bd0-60085a80c4b8","keyPrefix":"sk-oai-eiJmqCqFDEPy...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:09 | 201 | 11.425429ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:10.295Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"ed9f15e6-3a51-43f1-b401-b952acdf32bc","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:10.295Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"ed9f15e6-3a51-43f1-b401-b952acdf32bc","keyPrefix":"sk-oai-3hpkpYRV2m2A...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:10 | 201 | 1.990177ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:10.529Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"6842cf78-ecc3-484c-8aaa-b7f3db33832a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:10.529Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"6842cf78-ecc3-484c-8aaa-b7f3db33832a","keyPrefix":"sk-oai-r5I2qV9dvY0T...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:10 | 201 | 1.922209ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:25:10 | 200 | 1.296609ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:10 | 200 | 495.241µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:10 | 200 | 255.724µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:25:10 | 200 | 10.002954ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:25:10 | 200 | 690.507µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:10 | 200 | 242.437µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-05-20T21:25:10.688Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"63c14c11-d471-4a78-ba38-4ec24ecd2ec7","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:10.688Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"63c14c11-d471-4a78-ba38-4ec24ecd2ec7","keyPrefix":"sk-oai-M3eC0hEYn3uj...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:10 | 201 | 1.842839ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:10.714Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"63c14c11-d471-4a78-ba38-4ec24ecd2ec7"} {"level":"info","timestamp":"2026-05-20T21:25:10.714Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"63c14c11-d471-4a78-ba38-4ec24ecd2ec7","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 21:25:10 | 200 | 2.910554ms | 100.64.0.3 | DELETE "/v1/api-keys/63c14c11-d471-4a78-ba38-4ec24ecd2ec7" [GIN] 2026/05/20 - 21:25:13 | 200 | 1.101221ms | 10.132.0.37 | POST "/internal/v1/api-keys/validate" {"level":"error","timestamp":"2026-05-20T21:25:13.742Z","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 - 21:25:13 | 500 | 129.875µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 21:25:13 | 200 | 45.201µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:25:14.032Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"c1673330-44e1-4383-97ec-4f4861162c05","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.032Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c1673330-44e1-4383-97ec-4f4861162c05","keyPrefix":"sk-oai-JGyWGTsCGKk8...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.805294ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:14.054Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"2c2dd7c4-0305-424c-879c-198bcafa150a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.054Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2c2dd7c4-0305-424c-879c-198bcafa150a","keyPrefix":"sk-oai-flc6dWwwmqEh...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.669401ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:14.137Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"c29dc78d-93de-4b93-b412-e4135c243450","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.137Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c29dc78d-93de-4b93-b412-e4135c243450","keyPrefix":"sk-oai-jAimYZDYN2eC...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.800865ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T21:25:14.160Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"c29dc78d-93de-4b93-b412-e4135c243450"} {"level":"info","timestamp":"2026-05-20T21:25:14.160Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"c29dc78d-93de-4b93-b412-e4135c243450","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 21:25:14 | 200 | 2.256475ms | 100.64.0.2 | DELETE "/v1/api-keys/c29dc78d-93de-4b93-b412-e4135c243450" [GIN] 2026/05/20 - 21:25:14 | 404 | 828.612µs | 100.64.0.2 | DELETE "/v1/api-keys/c29dc78d-93de-4b93-b412-e4135c243450" {"level":"info","timestamp":"2026-05-20T21:25:14.264Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"6e28a787-c884-4c11-a164-d15bd777fa98","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.264Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"6e28a787-c884-4c11-a164-d15bd777fa98","keyPrefix":"sk-oai-56fBnp3Vm6OZ...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.815677ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:25:14 | 200 | 579.583µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 576.437µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 213.481µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:25:14 | 200 | 10.027783ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T21:25:14.377Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"0cf11950-0526-4d84-ae76-4d688318aaec","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.377Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"0cf11950-0526-4d84-ae76-4d688318aaec","keyPrefix":"sk-oai-1QKwZAhc380x...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.689108ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:25:14 | 200 | 541.732µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 403 | 102.09µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:25:14 | 200 | 544.53µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 478.209µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 216.999µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:25:14 | 200 | 9.174287ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 21:25:14 | 200 | 39.548µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T21:25:14.520Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"e2bdac42-b2f7-4fb3-8463-bb86b36c54ea","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.520Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e2bdac42-b2f7-4fb3-8463-bb86b36c54ea","keyPrefix":"sk-oai-JAZYRYlK7175...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.828597ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:25:14 | 200 | 514.307µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 460.467µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 261.349µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:25:14 | 200 | 9.418745ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 21:25:14 | 200 | 503.29µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 467.509µs | 10.132.0.37 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 21:25:14 | 200 | 197.054µs | 10.132.0.37 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 21:25:14 | 200 | 9.958151ms | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T21:25:14.688Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"c963afed-52e8-41f5-b72c-0f6c8eba259c","ephemeral":false} {"level":"info","timestamp":"2026-05-20T21:25:14.688Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c963afed-52e8-41f5-b72c-0f6c8eba259c","keyPrefix":"sk-oai-BunhhnQdzakx...","username":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 21:25:14 | 201 | 1.698361ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 21:25:18 | 200 | 39.493µs | 10.133.0.2 | GET "/health"