[GIN] 2026/05/20 - 22:12:45 | 200 | 36.126µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:12:46.984Z","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":"4f98bcc4-b660-4afd-99d8-5e543c4a388f","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:12:46.984Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4f98bcc4-b660-4afd-99d8-5e543c4a388f","keyPrefix":"sk-oai-9uTa5W5yNTER...","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 - 22:12:46 | 201 | 2.105803ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:12:47.018Z","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":"135d2986-e3b9-4999-895d-6ade1c03ab3a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:12:47.018Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"135d2986-e3b9-4999-895d-6ade1c03ab3a","keyPrefix":"sk-oai-qdTQDVkYnTgO...","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 - 22:12:47 | 201 | 1.672453ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:12:47 | 200 | 473.867µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:12:47 | 200 | 202.284µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:12:47 | 200 | 465.877µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:12:47 | 200 | 175.203µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:12:49 | 200 | 35.998µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:12:50 | 200 | 35.404µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:12:55 | 200 | 34.967µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:12:59 | 200 | 35.013µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:00 | 200 | 36.909µs | 10.134.0.2 | GET "/health" {"level":"warn","timestamp":"2026-05-20T22:13:04.616Z","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-20T22:13:04.616Z","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 - 22:13:04 | 400 | 290.83µs | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:13:05 | 200 | 34.878µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:09 | 200 | 33.45µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:10 | 200 | 37.101µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:15 | 200 | 34.452µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:19 | 200 | 35.197µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:20 | 200 | 34.856µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:13:22.015Z","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":"04d40dba-3d69-4679-8e7f-92995680dcbc","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:13:22.015Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"04d40dba-3d69-4679-8e7f-92995680dcbc","keyPrefix":"sk-oai-1GysBU6EqLq3...","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 - 22:13:22 | 201 | 10.400532ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:13:22 | 200 | 1.248871ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:13:22 | 200 | 148.584µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:13:25 | 200 | 36.36µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:29 | 200 | 32.866µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:30 | 200 | 41.252µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:13:31.050Z","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":"753901a2-7410-415e-953c-e904a6bf31b5","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:13:31.050Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"753901a2-7410-415e-953c-e904a6bf31b5","keyPrefix":"sk-oai-MUBJHVjzlSL8...","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 - 22:13:31 | 201 | 2.034033ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:13:35 | 200 | 34.788µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:39 | 200 | 941.607µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:13:39 | 200 | 113.372µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:13:39 | 200 | 31.382µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:40 | 200 | 35.54µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:45 | 200 | 32.156µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:49 | 200 | 38.96µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:50 | 200 | 34.265µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:13:55 | 200 | 37.669µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:13:56.586Z","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":"5c5e6a7c-31eb-4e0d-a069-952a125e38d4","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:13:56.586Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"5c5e6a7c-31eb-4e0d-a069-952a125e38d4","keyPrefix":"sk-oai-oibythSTkpPB...","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 - 22:13:56 | 201 | 2.083976ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:13:56 | 200 | 646.876µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:13:56 | 200 | 152.398µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:13:59 | 200 | 35.861µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:00 | 200 | 34.616µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:05 | 200 | 57.161µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:09 | 200 | 39.299µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:10 | 200 | 41.702µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:15 | 200 | 39.733µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:19 | 200 | 42.729µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:20 | 200 | 37.658µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:25 | 200 | 40.394µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:29 | 200 | 47.447µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:30 | 200 | 41.212µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:35 | 200 | 39.18µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:39 | 200 | 40.084µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:40 | 200 | 41.007µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:45 | 200 | 41.299µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:49 | 200 | 41.807µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:50 | 200 | 41.108µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:55 | 200 | 43.08µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:14:59 | 200 | 45.635µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:00 | 200 | 41.351µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:15:03.951Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/05/20 - 22:15:03 | 200 | 1.159725ms | 10.133.0.29 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/05/20 - 22:15:05 | 200 | 40.341µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:09 | 200 | 39.981µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:10 | 200 | 45.76µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:15 | 200 | 39.327µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:19 | 200 | 40.824µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:20 | 200 | 41.385µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:25 | 200 | 42.456µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:29 | 200 | 40.667µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:30 | 200 | 39.771µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:35 | 200 | 40.693µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:39 | 200 | 53.523µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:40 | 200 | 39.913µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:45 | 200 | 39.219µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:49 | 200 | 40.837µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:50 | 200 | 40.612µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:15:55 | 200 | 40.676µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:15:55.979Z","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":"4aa6b306-2f84-4b6a-ad19-9f199c054115","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:15:55.979Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4aa6b306-2f84-4b6a-ad19-9f199c054115","keyPrefix":"sk-oai-iiJQd9oD4vVY...","username":"system:serviceaccount:llm:e2e-trlp-degraded-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:llm","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:15:55 | 201 | 2.29247ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:15:59 | 200 | 45.781µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:00 | 200 | 69.074µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:05 | 200 | 39.999µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:09 | 200 | 39.125µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:10 | 200 | 40.936µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:15 | 200 | 41.037µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:19 | 200 | 39.122µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:20 | 200 | 39.611µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:20 | 200 | 812.73µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:16:20 | 200 | 145.548µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:16:21 | 404 | 934.1µs | 100.64.0.3 | DELETE "/v1/api-keys/e2e-trlp-test-key" [GIN] 2026/05/20 - 22:16:25 | 200 | 41.516µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:29 | 200 | 45.247µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:30 | 200 | 39.681µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:35 | 200 | 38.62µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:39 | 200 | 41.1µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:40 | 200 | 39.972µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:45 | 200 | 48.31µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:49 | 200 | 43.638µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:50 | 200 | 59.481µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:55 | 200 | 44.809µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:16:59 | 200 | 38.7µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:00 | 200 | 38.247µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:05 | 200 | 39.692µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:09 | 200 | 40.639µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:10 | 200 | 39.104µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:17:13.388Z","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":"d852c6bd-cc0a-42d9-a3a7-19893707c391","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:17:13.388Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d852c6bd-cc0a-42d9-a3a7-19893707c391","keyPrefix":"sk-oai-7oldkO00Qs4N...","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 - 22:17:13 | 201 | 2.131461ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:17:13 | 200 | 508.077µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:17:13 | 200 | 141.028µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:17:15 | 200 | 45.722µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:19 | 200 | 40.753µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:20 | 200 | 46.304µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:25 | 200 | 38.531µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:29 | 200 | 50.251µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:30 | 200 | 50.198µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:17:32.588Z","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":"bfa666f6-b536-44a6-a454-b67a1b6d3100","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:17:32.588Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"bfa666f6-b536-44a6-a454-b67a1b6d3100","keyPrefix":"sk-oai-eNQcgYHwI3Bj...","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 - 22:17:32 | 201 | 1.930403ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:17:32 | 200 | 565.647µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:17:32 | 200 | 139.19µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:17:32 | 200 | 470.092µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:17:32 | 200 | 142.563µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:17:35 | 200 | 44.623µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:39 | 200 | 39.175µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:40 | 200 | 38.506µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:45 | 200 | 41.69µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:49 | 200 | 38.492µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:50 | 200 | 38.438µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:17:52.078Z","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":"8df0a6f1-3bbe-4e6a-ad2e-706a2c915161","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:17:52.078Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"8df0a6f1-3bbe-4e6a-ad2e-706a2c915161","keyPrefix":"sk-oai-3j5R0LaxLB6r...","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 - 22:17:52 | 201 | 2.06041ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:17:52 | 200 | 449.753µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:17:52 | 200 | 355.672µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:17:52 | 200 | 132.049µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:17:52 | 200 | 17.683833ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:17:55 | 200 | 41.462µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:17:59 | 200 | 38.587µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:00 | 200 | 38.88µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:05 | 200 | 38.748µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:09 | 200 | 40.65µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:10 | 200 | 39.623µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:11 | 200 | 179.41µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:18:11 | 200 | 131.111µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:18:11 | 200 | 23.293416ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:18:15 | 200 | 43.538µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:19 | 200 | 39.909µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:20 | 200 | 43.707µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:18:23.252Z","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":"b0638ea2-2dd1-40f2-ab1d-8dcc71b90b57","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:18:23.252Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b0638ea2-2dd1-40f2-ab1d-8dcc71b90b57","keyPrefix":"sk-oai-1IhC6XUqcnaI...","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 - 22:18:23 | 201 | 10.376585ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:18:25 | 200 | 46.688µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:29 | 200 | 39.642µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:30 | 200 | 39.5µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:35 | 200 | 37.771µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:39 | 200 | 40.348µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:40 | 200 | 42.192µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:45 | 200 | 38.25µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:49 | 200 | 39.728µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:50 | 200 | 46.646µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:53 | 200 | 1.610461ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:18:53 | 200 | 135.679µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:18:53 | 200 | 499.911µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:18:53 | 200 | 400.067µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:18:53 | 200 | 117.965µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:18:53 | 200 | 9.385573ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:18:55 | 200 | 38.531µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:18:59 | 200 | 37.702µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:00 | 200 | 40.484µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:05 | 200 | 39.356µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:09 | 200 | 39.982µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:10 | 200 | 39.994µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:10 | 200 | 135.28µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:19:10 | 200 | 12.627124ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:19:15 | 200 | 54.134µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:19:19.029Z","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":"2e2f3461-617c-4f96-954b-b032cb61fb4a","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:19:19.029Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"2e2f3461-617c-4f96-954b-b032cb61fb4a","keyPrefix":"sk-oai-195jfM8XCKMT...","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 - 22:19:19 | 201 | 2.247453ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:19:19 | 200 | 37.215µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:20 | 200 | 39.21µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:25 | 200 | 43.395µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:27 | 200 | 897.84µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:27 | 200 | 399.762µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:27 | 200 | 111.92µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:19:27 | 200 | 9.343468ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:19:27.561Z","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":"28f68e10-fef0-42b1-80b6-9ede94afb49b","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:19:27.561Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"28f68e10-fef0-42b1-80b6-9ede94afb49b","keyPrefix":"sk-oai-17w1v5Wyx8ki...","username":"system:serviceaccount:default:e2e-models-filtered-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:19:27 | 201 | 1.633858ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:19:29 | 200 | 42.508µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:30 | 200 | 39.732µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:35 | 200 | 37.917µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:35 | 200 | 883.693µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:35 | 200 | 398.733µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:35 | 200 | 141.815µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:19:35 | 200 | 6.296286ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:19:35 | 200 | 421.608µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:35 | 200 | 316.657µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:35 | 200 | 107.769µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:19:35 | 200 | 5.976037ms | 100.64.0.3 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:19:36.545Z","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":"d2323ada-8526-41e9-ac68-ad069d823db5","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:19:36.545Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d2323ada-8526-41e9-ac68-ad069d823db5","keyPrefix":"sk-oai-d3D1LQh6YTvu...","username":"system:serviceaccount:default:e2e-models-dedup-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:19:36 | 201 | 1.752662ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:19:39 | 200 | 39.194µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:40 | 200 | 42.984µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:44 | 200 | 823.071µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:44 | 200 | 396.111µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:19:44 | 200 | 152.391µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:19:44 | 200 | 10.124987ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:19:45 | 200 | 38.622µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:49 | 200 | 37.672µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:50 | 200 | 38.281µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:19:53.724Z","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":"df9e8d1c-2311-44cc-bf0c-8ea84ffe38dd","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:19:53.724Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"df9e8d1c-2311-44cc-bf0c-8ea84ffe38dd","keyPrefix":"sk-oai-7Df4VdQIXKks...","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 - 22:19:53 | 201 | 2.011712ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:19:55 | 200 | 39.954µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:19:59 | 200 | 49.631µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:00 | 200 | 40.044µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:01 | 200 | 790.198µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:01 | 200 | 383.224µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:01 | 200 | 181.62µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:01 | 200 | 331.431µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:01 | 200 | 122.638µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:01 | 200 | 19.211885ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:20:05 | 200 | 52.32µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:09 | 200 | 53.094µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:10 | 200 | 40.001µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:20:15.185Z","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":"673ba6f3-7f43-4e8d-8170-975d1c3600a0","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:20:15.185Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"673ba6f3-7f43-4e8d-8170-975d1c3600a0","keyPrefix":"sk-oai-1AyjWDRkWQre...","username":"system:serviceaccount:default:e2e-models-distinct-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:20:15 | 201 | 3.480771ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:20:15 | 200 | 34.071µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:19 | 200 | 41.997µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:20 | 200 | 39.129µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:23 | 200 | 839.343µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:23 | 200 | 407.236µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:23 | 200 | 228.639µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:23 | 200 | 10.056188ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:20:23 | 200 | 156.668µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:23 | 200 | 35.210038ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:20:25 | 200 | 44.235µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:29 | 200 | 39.193µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:30 | 200 | 38.563µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:35 | 200 | 37.479µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:39 | 200 | 159.515µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:39 | 200 | 184.612µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:39 | 200 | 155.465µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:39 | 200 | 38.547641ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:20:39 | 200 | 32.46µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:40 | 200 | 38.535µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:45 | 200 | 47.184µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:49 | 200 | 38.281µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:50 | 200 | 43.233µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:55 | 200 | 37.984µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:20:56 | 200 | 165.651µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:20:56 | 200 | 22.508232ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:20:59 | 200 | 40.28µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:00 | 200 | 40.879µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:05 | 200 | 51.977µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:21:08.054Z","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":"71c83551-73f1-498f-92a5-3b3f2ec7007b","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:21:08.054Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"71c83551-73f1-498f-92a5-3b3f2ec7007b","keyPrefix":"sk-oai-sJfDKHOZie57...","username":"system:serviceaccount:default:e2e-empty-models-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:21:08 | 201 | 2.698322ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:21:09 | 200 | 41.934µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:10 | 200 | 64.622µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:15 | 200 | 42.59µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:16 | 200 | 1.129131ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:16 | 200 | 166.03µs | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:21:16.670Z","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":"f57a72ae-b158-492f-b0f2-74825034bf5e","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:21:16.670Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f57a72ae-b158-492f-b0f2-74825034bf5e","keyPrefix":"sk-oai-3YL14SRkmlHJ...","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 - 22:21:16 | 201 | 1.78767ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:21:19 | 200 | 37.494µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:20 | 200 | 43.735µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:24 | 200 | 882.827µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:24 | 200 | 459.028µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:24 | 200 | 129.107µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:21:24 | 200 | 10.534273ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:21:25.077Z","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":"4cce1a0a-56a2-4770-a23b-d2fe4ea6a538","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:21:25.077Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4cce1a0a-56a2-4770-a23b-d2fe4ea6a538","keyPrefix":"sk-oai-byqWiFSN3vRZ...","username":"system:serviceaccount:default:e2e-models-metadata-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:21:25 | 201 | 1.773128ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:21:25 | 200 | 38.59µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:29 | 200 | 44.815µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:30 | 200 | 40.012µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:33 | 200 | 1.011726ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:33 | 200 | 538.408µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:33 | 200 | 119.613µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:21:33 | 200 | 9.79469ms | 100.64.0.3 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:21:33.860Z","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":"d19919dd-1b72-4e61-8f94-7d579ef2280f","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:21:33.860Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d19919dd-1b72-4e61-8f94-7d579ef2280f","keyPrefix":"sk-oai-589RkmDEjJ2q...","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 - 22:21:33 | 201 | 1.732965ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:21:35 | 200 | 38.123µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:39 | 200 | 40.454µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:40 | 200 | 40.048µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:41 | 200 | 862.284µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:41 | 200 | 365.268µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:21:41 | 200 | 148.231µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:21:41 | 200 | 9.182685ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:21:45 | 200 | 39.286µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:49 | 200 | 37.57µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:50 | 200 | 38.518µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:21:51.042Z","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":"02d89bb4-625b-4f7a-a761-ad2313ce7842","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:21:51.042Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"02d89bb4-625b-4f7a-a761-ad2313ce7842","keyPrefix":"sk-oai-nt9cRzhE1MHT...","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 - 22:21:51 | 201 | 1.99252ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:21:55 | 200 | 39.3µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:21:59 | 200 | 51.449µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:00 | 200 | 41.455µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:05 | 200 | 43.685µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:07 | 200 | 728.703µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:22:07 | 403 | 95.861µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:22:09 | 200 | 39.882µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:10 | 200 | 40.251µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:15 | 200 | 38.006µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:19 | 200 | 40.274µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:20 | 200 | 47.819µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:24 | 403 | 143.297µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:22:25 | 200 | 39.935µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:29 | 200 | 41.878µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:30 | 200 | 37.55µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:35 | 200 | 50.924µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:39 | 200 | 41.229µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:40 | 200 | 39.692µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:41 | 403 | 124.559µs | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:22:45 | 200 | 42.508µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:49 | 200 | 38.806µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:50 | 200 | 43.829µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:55 | 200 | 39.252µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:22:58 | 403 | 145.81µs | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:22:59 | 200 | 40.602µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:00 | 200 | 37.812µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:05 | 200 | 38.913µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:09 | 200 | 45.493µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:10 | 200 | 37.887µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:23:12.948Z","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":"b22af830-7666-4115-b639-cf57528a8f87","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:23:12.948Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"b22af830-7666-4115-b639-cf57528a8f87","keyPrefix":"sk-oai-39eyP0agXyMb...","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 - 22:23:12 | 201 | 2.087923ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:23:15 | 200 | 33.307µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:19 | 200 | 33.263µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:20 | 200 | 36.491µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:20 | 200 | 746.991µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:21 | 200 | 378.515µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:21 | 200 | 139.749µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:21 | 200 | 16.714345ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:23:25 | 200 | 31.993µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:29 | 200 | 31.784µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:30 | 200 | 31.982µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:23:32.972Z","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":"ae46d0e2-4008-49b6-96b6-ac2ab7a9552b","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:23:32.972Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"ae46d0e2-4008-49b6-96b6-ac2ab7a9552b","keyPrefix":"sk-oai-lXKd0okPVo32...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:23:32 | 201 | 2.146764ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:23:33.004Z","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":"c3f78a45-f617-4dc2-9823-084110881242","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:23:33.004Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"c3f78a45-f617-4dc2-9823-084110881242","keyPrefix":"sk-oai-10RSCANB5eYj...","username":"system:serviceaccount:default:e2e-multi-keys-sa","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:23:33 | 201 | 1.58302ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:23:35 | 200 | 35.122µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:39 | 200 | 36.245µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:40 | 200 | 46.054µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:41 | 200 | 845.324µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:41 | 200 | 331.662µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:41 | 200 | 144.785µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:41 | 200 | 9.202698ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:23:41 | 200 | 405.228µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:41 | 200 | 355.261µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:23:41 | 200 | 135.656µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:41 | 200 | 12.872897ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:23:45 | 200 | 34.817µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:49 | 200 | 38.32µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:50 | 200 | 47.863µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:55 | 200 | 35.31µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:23:57 | 200 | 182.767µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:57 | 200 | 160.607µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:57 | 200 | 163.626µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:23:57 | 200 | 34.866444ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:23:59 | 200 | 32.241µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:00 | 200 | 35.122µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:05 | 200 | 38.56µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:09 | 200 | 30.741µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:10 | 200 | 35.922µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:14 | 200 | 157.253µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:14 | 200 | 12.712934ms | 100.64.0.4 | GET "/v1/models" [GIN] 2026/05/20 - 22:24:14 | 200 | 146.656µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:14 | 200 | 11.671336ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:24:15 | 200 | 34.352µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:19 | 200 | 36.09µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:20 | 200 | 36.632µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:25 | 200 | 37.869µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:29 | 200 | 39.217µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:30 | 200 | 40.87µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:35 | 200 | 39.924µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:39 | 200 | 39.279µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:24:39.880Z","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":"93ee2c67-4557-4104-810d-43735cdf7427","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:24:39.880Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"93ee2c67-4557-4104-810d-43735cdf7427","keyPrefix":"sk-oai-UI4Elb12rYCE...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:24:39 | 201 | 2.318891ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:24:39 | 200 | 531.307µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:39 | 200 | 166.732µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:39 | 200 | 500.568µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:39 | 200 | 162.102µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:39 | 200 | 500.177µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:39 | 200 | 163.925µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:39 | 200 | 468.983µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:39 | 200 | 377.681µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:39 | 200 | 138.129µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:40 | 200 | 9.798446ms | 100.64.0.2 | GET "/v1/models" [GIN] 2026/05/20 - 22:24:40 | 200 | 37.092µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:45 | 200 | 64.08µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:49 | 200 | 39.481µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:50 | 200 | 42.839µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:24:55 | 200 | 37.787µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:24:55.573Z","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":"1be4bda5-34b8-4cab-b911-15c709a31195","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:24:55.573Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"1be4bda5-34b8-4cab-b911-15c709a31195","keyPrefix":"sk-oai-TfepmXaHH6ge...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/05/20 - 22:24:55 | 201 | 1.744059ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:24:55 | 200 | 545.879µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:24:55 | 200 | 151.888µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:24:59 | 200 | 40.526µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:00 | 200 | 46.042µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:05 | 200 | 40.367µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:09 | 200 | 40.518µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:10 | 200 | 39.728µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:15 | 200 | 41.197µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:19 | 200 | 41.275µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:20 | 200 | 43.746µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:25 | 200 | 44.882µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:29 | 200 | 38.241µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:30 | 200 | 39.474µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-20T22:25:33.590Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"4d68f157-6bb5-4e6c-92b8-1f3bf7bc5930","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:33.590Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4d68f157-6bb5-4e6c-92b8-1f3bf7bc5930","keyPrefix":"sk-oai-bJLtmORIp8Cb...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:33 | 201 | 11.760437ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:34.085Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"4ed695d5-9434-4f35-8ce3-52337bc40c9f","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:34.085Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"4ed695d5-9434-4f35-8ce3-52337bc40c9f","keyPrefix":"sk-oai-1WLTuLvBCNun...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:34 | 201 | 2.23235ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:34.287Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"a3581b62-db35-47f5-8a3d-14b670a93d55","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:34.287Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"a3581b62-db35-47f5-8a3d-14b670a93d55","keyPrefix":"sk-oai-zsOXnYdemx70...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:34 | 201 | 1.750678ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:25:34 | 200 | 1.173201ms | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:34 | 200 | 433.182µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:34 | 200 | 122.71µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:25:34 | 200 | 9.354469ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:25:34 | 200 | 434.729µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:34 | 200 | 131.915µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-05-20T22:25:34.428Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"e349efaf-2cdf-4cce-aef7-84e5c5490579","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:34.428Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"e349efaf-2cdf-4cce-aef7-84e5c5490579","keyPrefix":"sk-oai-ABLKzqvjOZMt...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:34 | 201 | 1.763445ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:34.450Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"e349efaf-2cdf-4cce-aef7-84e5c5490579"} {"level":"info","timestamp":"2026-05-20T22:25:34.450Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"e349efaf-2cdf-4cce-aef7-84e5c5490579","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 22:25:34 | 200 | 2.977492ms | 100.64.0.3 | DELETE "/v1/api-keys/e349efaf-2cdf-4cce-aef7-84e5c5490579" [GIN] 2026/05/20 - 22:25:35 | 200 | 41.294µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:37 | 200 | 889.865µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" {"level":"error","timestamp":"2026-05-20T22:25:37.478Z","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 - 22:25:37 | 500 | 94.103µs | 100.64.0.3 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:25:37.772Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"557b1e25-9d69-4400-a8db-6cee34bfed01","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:37.772Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"557b1e25-9d69-4400-a8db-6cee34bfed01","keyPrefix":"sk-oai-WMWTd3hHMZtQ...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:37 | 201 | 1.837414ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:37.795Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Site-Reliability"],"id":"372c8679-d9f9-4540-809d-7c95b54c83ce","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:37.795Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"372c8679-d9f9-4540-809d-7c95b54c83ce","keyPrefix":"sk-oai-h4CXxZk0sKbQ...","username":"bob_sre","groups":["system:authenticated","Site-Reliability"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:37 | 201 | 1.637791ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:37.877Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"64b2b18a-6619-4842-9b0a-20ff1d3059dd","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:37.877Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"64b2b18a-6619-4842-9b0a-20ff1d3059dd","keyPrefix":"sk-oai-11ksZUYuH1IE...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:37 | 201 | 1.573457ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-05-20T22:25:37.899Z","caller":"api_keys/store_postgres.go:467","message":"Revoked API key","id":"64b2b18a-6619-4842-9b0a-20ff1d3059dd"} {"level":"info","timestamp":"2026-05-20T22:25:37.899Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"64b2b18a-6619-4842-9b0a-20ff1d3059dd","revokedBy":"alice_lead"} [GIN] 2026/05/20 - 22:25:37 | 200 | 2.104116ms | 100.64.0.2 | DELETE "/v1/api-keys/64b2b18a-6619-4842-9b0a-20ff1d3059dd" [GIN] 2026/05/20 - 22:25:37 | 404 | 690.641µs | 100.64.0.4 | DELETE "/v1/api-keys/64b2b18a-6619-4842-9b0a-20ff1d3059dd" {"level":"info","timestamp":"2026-05-20T22:25:38.003Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"dc17789e-b51b-48f2-be45-cb8180c66329","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:38.003Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"dc17789e-b51b-48f2-be45-cb8180c66329","keyPrefix":"sk-oai-1DbZe2K0IFis...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:38 | 201 | 1.607759ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:25:38 | 200 | 490.962µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 416.925µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 118.463µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:25:38 | 200 | 9.203943ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:25:38.120Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"d5879231-1ea0-446b-882c-368634061669","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:38.120Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"d5879231-1ea0-446b-882c-368634061669","keyPrefix":"sk-oai-LOMJNUadZFeQ...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:38 | 201 | 1.727839ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:25:38 | 200 | 466.988µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 403 | 90.975µs | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:25:38 | 200 | 378.462µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 381.589µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 122.634µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:25:38 | 200 | 8.869297ms | 100.64.0.2 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:25:38.259Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"81d107a3-62a1-43c3-b80b-9f872df71379","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:38.259Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"81d107a3-62a1-43c3-b80b-9f872df71379","keyPrefix":"sk-oai-117vVBZRJd3M...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:38 | 201 | 1.527301ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:25:38 | 200 | 443.216µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 367.063µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 120.423µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:25:38 | 200 | 8.891813ms | 100.64.0.3 | GET "/v1/models" [GIN] 2026/05/20 - 22:25:38 | 200 | 370.758µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 369.536µs | 10.134.0.31 | POST "/internal/v1/api-keys/validate" [GIN] 2026/05/20 - 22:25:38 | 200 | 111.21µs | 10.134.0.31 | POST "/internal/v1/subscriptions/select" [GIN] 2026/05/20 - 22:25:38 | 200 | 9.158242ms | 100.64.0.4 | GET "/v1/models" {"level":"info","timestamp":"2026-05-20T22:25:38.411Z","caller":"api_keys/service.go:150","message":"Created API key","user":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"f26be740-470c-44d9-ae88-e2bc9ac62ec7","ephemeral":false} {"level":"info","timestamp":"2026-05-20T22:25:38.411Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f26be740-470c-44d9-ae88-e2bc9ac62ec7","keyPrefix":"sk-oai-XpE18IHsPXA8...","username":"bob_sre","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/05/20 - 22:25:38 | 201 | 1.579709ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/05/20 - 22:25:39 | 200 | 43.392µs | 10.134.0.2 | GET "/health" [GIN] 2026/05/20 - 22:25:40 | 200 | 40.282µs | 10.134.0.2 | GET "/health"