{"level":"info","timestamp":"2026-04-20T23:28:03.148Z","caller":"cmd/main.go:60","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-04-20T23:28:03.161Z","caller":"cmd/main.go:136","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-04-20T23:28:03.248Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-04-20T23:28:03.248Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-04-20T23:28:03.349Z","caller":"cmd/main.go:104","message":"Server starting","address":":8443","secure":true} [GIN] 2026/04/20 - 23:28:09 | 200 | 409.686µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:14 | 200 | 31.695µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:19 | 200 | 29.064µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:24 | 200 | 24.853µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:29 | 200 | 29.827µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:34 | 200 | 30.138µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:39 | 200 | 25.707µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:41 | 200 | 26.459µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:44 | 200 | 25.127µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:49 | 200 | 26.791µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:51 | 200 | 27.864µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:54 | 200 | 26.719µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:28:59 | 200 | 32.014µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:01 | 200 | 35.791µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:04 | 200 | 36.76µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:09 | 200 | 34.528µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:11 | 200 | 30.645µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:14 | 200 | 47.64µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:19 | 200 | 54.261µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:21 | 200 | 33.867µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:24 | 200 | 34.656µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:29 | 200 | 34.172µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:31 | 200 | 33.439µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:34 | 200 | 37.538µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:39 | 200 | 58.529µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:41 | 200 | 36.606µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:44 | 200 | 31.445µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:44 | 200 | 10.905µs | 100.64.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:29:44.949Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"0d1d293f-97a3-43d7-9a6a-30261c4cb806","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:44.949Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"0d1d293f-97a3-43d7-9a6a-30261c4cb806","keyPrefix":"sk-oai-GorvxF48ILko...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:44 | 201 | 9.741117ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:44 | 200 | 928.242µs | 100.64.0.3 | GET "/v1/api-keys/0d1d293f-97a3-43d7-9a6a-30261c4cb806" {"level":"info","timestamp":"2026-04-20T23:29:45.019Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"c312e05e-0eef-42ab-b7fd-32201fd40926","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.019Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"c312e05e-0eef-42ab-b7fd-32201fd40926","keyPrefix":"sk-oai-CBuRustv3JPE...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.41817ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.047Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"d13d8c54-7cbc-4caf-ad2a-74193a69a753","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.047Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"d13d8c54-7cbc-4caf-ad2a-74193a69a753","keyPrefix":"sk-oai-1Dgx20l2CjkO...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.40602ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:45 | 200 | 4.33509ms | 100.64.0.3 | POST "/v1/api-keys/search" [GIN] 2026/04/20 - 23:29:45 | 200 | 2.993558ms | 100.64.0.2 | POST "/v1/api-keys/search" {"level":"info","timestamp":"2026-04-20T23:29:45.142Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"7b96cb5c-83a3-4360-976b-97f93bae22ba","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.142Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"7b96cb5c-83a3-4360-976b-97f93bae22ba","keyPrefix":"sk-oai-1dts5cizUTtF...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.350999ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.168Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"7b96cb5c-83a3-4360-976b-97f93bae22ba"} {"level":"info","timestamp":"2026-04-20T23:29:45.168Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"7b96cb5c-83a3-4360-976b-97f93bae22ba","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:45 | 200 | 1.864814ms | 100.64.0.4 | DELETE "/v1/api-keys/7b96cb5c-83a3-4360-976b-97f93bae22ba" [GIN] 2026/04/20 - 23:29:45 | 200 | 253.791µs | 100.64.0.3 | GET "/v1/api-keys/7b96cb5c-83a3-4360-976b-97f93bae22ba" {"level":"info","timestamp":"2026-04-20T23:29:45.232Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"ee3e38d7-5f2b-4284-89b2-ad5feabe55f2","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.232Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"ee3e38d7-5f2b-4284-89b2-ad5feabe55f2","keyPrefix":"sk-oai-zh13dDgFI742...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.438917ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:45 | 200 | 241.123µs | 100.64.0.2 | GET "/v1/api-keys/ee3e38d7-5f2b-4284-89b2-ad5feabe55f2" [GIN] 2026/04/20 - 23:29:45 | 200 | 3.33123ms | 100.64.0.2 | POST "/v1/api-keys/search" {"level":"info","timestamp":"2026-04-20T23:29:45.327Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"ee3e38d7-5f2b-4284-89b2-ad5feabe55f2"} {"level":"info","timestamp":"2026-04-20T23:29:45.327Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"ee3e38d7-5f2b-4284-89b2-ad5feabe55f2","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/04/20 - 23:29:45 | 200 | 4.12484ms | 100.64.0.4 | DELETE "/v1/api-keys/ee3e38d7-5f2b-4284-89b2-ad5feabe55f2" {"level":"info","timestamp":"2026-04-20T23:29:45.371Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"id":"f37ad9b5-456f-49df-8a2c-3178ee4996d3","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.371Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"f37ad9b5-456f-49df-8a2c-3178ee4996d3","keyPrefix":"sk-oai-OKdJvdt5jPbT...","username":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.584697ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"warn","timestamp":"2026-04-20T23:29:45.403Z","caller":"api_keys/handler.go:121","message":"Unauthorized API key access attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"f37ad9b5-456f-49df-8a2c-3178ee4996d3"} [GIN] 2026/04/20 - 23:29:45 | 404 | 3.355448ms | 100.64.0.2 | GET "/v1/api-keys/f37ad9b5-456f-49df-8a2c-3178ee4996d3" {"level":"warn","timestamp":"2026-04-20T23:29:45.436Z","caller":"api_keys/handler.go:296","message":"Unauthorized API key revocation attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"f37ad9b5-456f-49df-8a2c-3178ee4996d3"} [GIN] 2026/04/20 - 23:29:45 | 404 | 3.405455ms | 100.64.0.4 | DELETE "/v1/api-keys/f37ad9b5-456f-49df-8a2c-3178ee4996d3" {"level":"info","timestamp":"2026-04-20T23:29:45.469Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"cd68d9f8-880b-4d1c-8db6-7620641ea20f","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.469Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"cd68d9f8-880b-4d1c-8db6-7620641ea20f","keyPrefix":"sk-oai-WyTXY1JPTwte...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 3.146723ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.495Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2ea8d25c-433f-4778-96b7-70a0f6d0ed3f","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.495Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"2ea8d25c-433f-4778-96b7-70a0f6d0ed3f","keyPrefix":"sk-oai-14oqCHcnNop0...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.30754ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.523Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"145bed18-2483-43d4-a555-f25aa2894551","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.523Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"145bed18-2483-43d4-a555-f25aa2894551","keyPrefix":"sk-oai-JY0HZVXh2mcX...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.517695ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:45 | 200 | 210.167µs | 100.64.0.4 | GET "/v1/api-keys/cd68d9f8-880b-4d1c-8db6-7620641ea20f" {"level":"info","timestamp":"2026-04-20T23:29:45.580Z","caller":"api_keys/store_postgres.go:440","message":"Revoked all keys for user","count":6,"user":"system:serviceaccount:default:tester-regular-user"} {"level":"info","timestamp":"2026-04-20T23:29:45.580Z","caller":"api_keys/handler.go:509","message":"Bulk revoked API keys","count":6,"targetUser":"system:serviceaccount:default:tester-regular-user","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:45 | 200 | 1.657692ms | 100.64.0.4 | POST "/v1/api-keys/bulk-revoke" [GIN] 2026/04/20 - 23:29:45 | 200 | 187.445µs | 100.64.0.3 | GET "/v1/api-keys/cd68d9f8-880b-4d1c-8db6-7620641ea20f" [GIN] 2026/04/20 - 23:29:45 | 200 | 191.193µs | 100.64.0.2 | GET "/v1/api-keys/2ea8d25c-433f-4778-96b7-70a0f6d0ed3f" [GIN] 2026/04/20 - 23:29:45 | 200 | 173.172µs | 100.64.0.2 | GET "/v1/api-keys/145bed18-2483-43d4-a555-f25aa2894551" {"level":"warn","timestamp":"2026-04-20T23:29:45.692Z","caller":"api_keys/handler.go:487","message":"Unauthorized bulk revoke attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","targetUser":"someotheruser"} [GIN] 2026/04/20 - 23:29:45 | 403 | 2.812135ms | 100.64.0.4 | POST "/v1/api-keys/bulk-revoke" {"level":"info","timestamp":"2026-04-20T23:29:45.724Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"39863b60-0485-4a81-9178-5f95ab8e77cb","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.724Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"39863b60-0485-4a81-9178-5f95ab8e77cb","keyPrefix":"sk-oai-rhqo3Y7kVMkx...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.464489ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:45 | 200 | 202.939µs | 100.64.0.2 | GET "/v1/api-keys/39863b60-0485-4a81-9178-5f95ab8e77cb" {"level":"info","timestamp":"2026-04-20T23:29:45.787Z","caller":"api_keys/store_postgres.go:440","message":"Revoked all keys for user","count":1,"user":"system:serviceaccount:default:tester-regular-user"} {"level":"info","timestamp":"2026-04-20T23:29:45.787Z","caller":"api_keys/handler.go:509","message":"Bulk revoked API keys","count":1,"targetUser":"system:serviceaccount:default:tester-regular-user","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/04/20 - 23:29:45 | 200 | 4.541379ms | 100.64.0.3 | POST "/v1/api-keys/bulk-revoke" {"level":"info","timestamp":"2026-04-20T23:29:45.819Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"2c66ec00-249c-45a8-801e-b5c269034a20","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.819Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"2c66ec00-249c-45a8-801e-b5c269034a20","keyPrefix":"sk-oai-AvGk7c5w4mrK...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.396559ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.850Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"e271d811-bbff-4d7c-ae9f-6fc98dc5bb7f","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.850Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"e271d811-bbff-4d7c-ae9f-6fc98dc5bb7f","keyPrefix":"sk-oai-12rjVqdAh26y...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.371594ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"error","timestamp":"2026-04-20T23:29:45.877Z","caller":"api_keys/handler.go:189","message":"Failed to create API key","error":"requested expiration (4320h0m0s) exceeds maximum allowed (90 days): expiration exceeds maximum allowed","stacktrace":"github.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys.(*Handler).CreateAPIKey\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys/handler.go:189\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\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\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/04/20 - 23:29:45 | 400 | 110.506µs | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.909Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"8f8e42d9-bbfd-40fe-a555-989bec690d20","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.909Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"8f8e42d9-bbfd-40fe-a555-989bec690d20","keyPrefix":"sk-oai-u85Yyi9ZeaBO...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.326159ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.937Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"82c43f59-7c1e-4436-9d96-6fd4fe9eb9b1","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.937Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"82c43f59-7c1e-4436-9d96-6fd4fe9eb9b1","keyPrefix":"sk-oai-mEKKLMq7vPsp...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.638731ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:45.966Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"37454e0f-02df-4521-845e-4b8a194f67d3","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:45.966Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"37454e0f-02df-4521-845e-4b8a194f67d3","keyPrefix":"sk-oai-M3qIc5eErwVN...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:45 | 201 | 1.333227ms | 100.64.0.2 | POST "/v1/api-keys" 2026/04/20 23:29:46 http: TLS handshake error from 10.134.0.41:47442: remote error: tls: bad certificate [GIN] 2026/04/20 - 23:29:46 | 200 | 44.687669ms | 100.64.0.3 | GET "/v1/models" 2026/04/20 23:29:46 http: TLS handshake error from 10.134.0.41:47456: remote error: tls: bad certificate 2026/04/20 23:29:46 http: TLS handshake error from 10.134.0.41:47462: remote error: tls: bad certificate {"level":"info","timestamp":"2026-04-20T23:29:46.193Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"b78846c1-5394-41d9-9c41-0f97c6d2daf1","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:46.193Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"b78846c1-5394-41d9-9c41-0f97c6d2daf1","keyPrefix":"sk-oai-1H7PENYG9MCt...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:46 | 201 | 1.603273ms | 100.64.0.3 | POST "/v1/api-keys" 2026/04/20 23:29:46 http: TLS handshake error from 10.134.0.41:47476: remote error: tls: bad certificate {"level":"info","timestamp":"2026-04-20T23:29:46.248Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"b78846c1-5394-41d9-9c41-0f97c6d2daf1"} {"level":"info","timestamp":"2026-04-20T23:29:46.248Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"b78846c1-5394-41d9-9c41-0f97c6d2daf1","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:46 | 200 | 1.719484ms | 100.64.0.4 | DELETE "/v1/api-keys/b78846c1-5394-41d9-9c41-0f97c6d2daf1" 2026/04/20 23:29:48 http: TLS handshake error from 10.134.0.41:56798: remote error: tls: bad certificate 2026/04/20 23:29:48 http: TLS handshake error from 10.134.0.41:56812: remote error: tls: bad certificate {"level":"info","timestamp":"2026-04-20T23:29:48.342Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"6a39c2b6-9bad-4eec-bafd-c8c79494df44","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.342Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"6a39c2b6-9bad-4eec-bafd-c8c79494df44","keyPrefix":"sk-oai-13USLhIEQ4zQ...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.643002ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.375Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"6a39c2b6-9bad-4eec-bafd-c8c79494df44"} {"level":"info","timestamp":"2026-04-20T23:29:48.375Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"6a39c2b6-9bad-4eec-bafd-c8c79494df44","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:48 | 200 | 1.586587ms | 100.64.0.4 | DELETE "/v1/api-keys/6a39c2b6-9bad-4eec-bafd-c8c79494df44" [GIN] 2026/04/20 - 23:29:48 | 404 | 370.73µs | 100.64.0.2 | DELETE "/v1/api-keys/6a39c2b6-9bad-4eec-bafd-c8c79494df44" [GIN] 2026/04/20 - 23:29:48 | 404 | 182.131µs | 100.64.0.3 | DELETE "/v1/api-keys/nonexistent-uuid-12345" {"level":"info","timestamp":"2026-04-20T23:29:48.476Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"a5881018-b311-45f9-9635-b8964db069da","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.476Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"a5881018-b311-45f9-9635-b8964db069da","keyPrefix":"sk-oai-1T986g6TZZnQ...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.385452ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.502Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"a5881018-b311-45f9-9635-b8964db069da"} {"level":"info","timestamp":"2026-04-20T23:29:48.502Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"a5881018-b311-45f9-9635-b8964db069da","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:48 | 200 | 1.577956ms | 100.64.0.4 | DELETE "/v1/api-keys/a5881018-b311-45f9-9635-b8964db069da" {"level":"info","timestamp":"2026-04-20T23:29:48.530Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"cb03c02b-07fa-40aa-b7dd-c1247c8ad3c5","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.530Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"cb03c02b-07fa-40aa-b7dd-c1247c8ad3c5","keyPrefix":"sk-oai-1JjawiyCg9bU...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.454784ms | 100.64.0.4 | POST "/v1/api-keys" 2026/04/20 23:29:48 http: TLS handshake error from 10.134.0.41:56826: remote error: tls: bad certificate 2026/04/20 23:29:48 http: TLS handshake error from 10.134.0.41:56830: remote error: tls: bad certificate {"level":"info","timestamp":"2026-04-20T23:29:48.640Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"f35fc37b-b3f8-4f46-8c61-458db7b9ce5c","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.640Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"f35fc37b-b3f8-4f46-8c61-458db7b9ce5c","keyPrefix":"sk-oai-1OyPtFpie6mk...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.341782ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.667Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"4e2b747e-3d77-4a1c-a3b7-a00c65ff5cd3","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.667Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"4e2b747e-3d77-4a1c-a3b7-a00c65ff5cd3","keyPrefix":"sk-oai-ogmXNb9Atxsx...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.342941ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.695Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"52c60024-01e7-460f-8d17-577ba6d28106","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.695Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"52c60024-01e7-460f-8d17-577ba6d28106","keyPrefix":"sk-oai-GYEjleeibmje...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.426115ms | 100.64.0.4 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.723Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"f35fc37b-b3f8-4f46-8c61-458db7b9ce5c"} {"level":"info","timestamp":"2026-04-20T23:29:48.723Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"f35fc37b-b3f8-4f46-8c61-458db7b9ce5c","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:48 | 200 | 1.426532ms | 100.64.0.4 | DELETE "/v1/api-keys/f35fc37b-b3f8-4f46-8c61-458db7b9ce5c" {"level":"info","timestamp":"2026-04-20T23:29:48.752Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"4e2b747e-3d77-4a1c-a3b7-a00c65ff5cd3"} {"level":"info","timestamp":"2026-04-20T23:29:48.752Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"4e2b747e-3d77-4a1c-a3b7-a00c65ff5cd3","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:48 | 200 | 1.686243ms | 100.64.0.2 | DELETE "/v1/api-keys/4e2b747e-3d77-4a1c-a3b7-a00c65ff5cd3" {"level":"info","timestamp":"2026-04-20T23:29:48.782Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"52c60024-01e7-460f-8d17-577ba6d28106"} {"level":"info","timestamp":"2026-04-20T23:29:48.782Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"52c60024-01e7-460f-8d17-577ba6d28106","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:29:48 | 200 | 1.691367ms | 100.64.0.3 | DELETE "/v1/api-keys/52c60024-01e7-460f-8d17-577ba6d28106" {"level":"info","timestamp":"2026-04-20T23:29:48.814Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"eb7c5b2b-8843-4919-b26d-21dc9ea02a38","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.814Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"eb7c5b2b-8843-4919-b26d-21dc9ea02a38","keyPrefix":"sk-oai-1WJfPzSotLGs...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.303504ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.841Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"353995b9-b2d2-4808-a763-50a547c5ad4c","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.841Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"353995b9-b2d2-4808-a763-50a547c5ad4c","keyPrefix":"sk-oai-18877a3HQfTG...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.349448ms | 100.64.0.2 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:48.867Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"35079a58-87d5-431a-9dd8-b309fbb06d14","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:48.867Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"35079a58-87d5-431a-9dd8-b309fbb06d14","keyPrefix":"sk-oai-kEkgLQduOHrh...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:48 | 201 | 1.448053ms | 100.64.0.4 | POST "/v1/api-keys" 2026/04/20 23:29:48 http: TLS handshake error from 10.134.0.41:56834: remote error: tls: bad certificate [GIN] 2026/04/20 - 23:29:49 | 200 | 27.873µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:29:49.196Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"e4a14ab2-6b9e-44fc-bb8b-cbfe7248d623","ephemeral":true} {"level":"info","timestamp":"2026-04-20T23:29:49.196Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"e4a14ab2-6b9e-44fc-bb8b-cbfe7248d623","keyPrefix":"sk-oai-9PG5hLjKWa2p...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":true} [GIN] 2026/04/20 - 23:29:49 | 201 | 1.523577ms | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:49 | 200 | 3.627075ms | 100.64.0.2 | POST "/v1/api-keys/search" [GIN] 2026/04/20 - 23:29:49 | 200 | 3.029486ms | 100.64.0.2 | POST "/v1/api-keys/search" {"level":"info","timestamp":"2026-04-20T23:29:49.287Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"b8fe3f85-3460-4ba0-902a-45835c3aba20","ephemeral":true} {"level":"info","timestamp":"2026-04-20T23:29:49.287Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"b8fe3f85-3460-4ba0-902a-45835c3aba20","keyPrefix":"sk-oai-1cEBFnFTDO1v...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":true} [GIN] 2026/04/20 - 23:29:49 | 201 | 1.676626ms | 100.64.0.3 | POST "/v1/api-keys" {"level":"info","timestamp":"2026-04-20T23:29:50.551Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-apikey-active-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"24c84096-470a-48a5-ab98-22516ff4d94d","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:29:50.551Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"24c84096-470a-48a5-ab98-22516ff4d94d","keyPrefix":"sk-oai-7b4ZaNh4xx0a...","username":"system:serviceaccount:default:e2e-apikey-active-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:29:50 | 201 | 1.5677ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:29:51 | 200 | 29.888µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:54 | 200 | 27.372µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:29:59 | 200 | 31.091µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:01 | 200 | 27.859µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:04 | 200 | 26.292µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:09 | 200 | 27.166µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:30:09.696Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-apikey-degraded-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"237c206e-cbda-4f20-963a-b84317136c74","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:30:09.696Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"237c206e-cbda-4f20-963a-b84317136c74","keyPrefix":"sk-oai-wyfoG5tDQE3z...","username":"system:serviceaccount:default:e2e-apikey-degraded-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:30:09 | 201 | 1.681766ms | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:30:11 | 200 | 26.547µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:14 | 200 | 26.341µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:19 | 200 | 27.82µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:21 | 200 | 34.618µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:24 | 200 | 32.375µs | 10.133.0.2 | GET "/health" {"level":"warn","timestamp":"2026-04-20T23:30:29.007Z","caller":"api_keys/service.go:130","message":"Subscription selection failed when creating API key","user":"system:serviceaccount:default:e2e-apikey-failed-sa","requestedSubscription":"e2e-apikey-failed-sub","error":"requested model is unhealthy in subscription"} {"level":"error","timestamp":"2026-04-20T23:30:29.007Z","caller":"api_keys/handler.go:189","message":"Failed to create API key","error":"requested model is unhealthy in subscription","stacktrace":"github.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys.(*Handler).CreateAPIKey\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys/handler.go:189\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\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\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/04/20 - 23:30:29 | 403 | 250.774µs | 100.64.0.3 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:30:29 | 200 | 29.262µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:31 | 200 | 32.19µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:34 | 200 | 35.589µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:39 | 200 | 39.932µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:41 | 200 | 28.284µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:44 | 200 | 29.47µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:30:48.295Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:e2e-apikey-pending-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"99c35918-c9ca-4cdb-b580-281393710bb4","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:30:48.295Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"99c35918-c9ca-4cdb-b580-281393710bb4","keyPrefix":"sk-oai-1OOtnBrGAcOX...","username":"system:serviceaccount:default:e2e-apikey-pending-sa","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:30:48 | 201 | 1.706358ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:30:49 | 200 | 34.487µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:51 | 200 | 31.23µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:30:54 | 200 | 31.081µs | 10.133.0.2 | GET "/health" {"level":"warn","timestamp":"2026-04-20T23:30:58.397Z","caller":"api_keys/service.go:130","message":"Subscription selection failed when creating API key","user":"system:serviceaccount:default:e2e-apikey-unreconciled-sa","requestedSubscription":"e2e-apikey-unreconciled-sub","error":"requested model is unhealthy in subscription"} {"level":"error","timestamp":"2026-04-20T23:30:58.397Z","caller":"api_keys/handler.go:189","message":"Failed to create API key","error":"requested model is unhealthy in subscription","stacktrace":"github.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys.(*Handler).CreateAPIKey\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/api_keys/handler.go:189\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\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\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/04/20 - 23:30:58 | 400 | 243.222µs | 100.64.0.2 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:30:59 | 200 | 25.415µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:01 | 200 | 24.744µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:04 | 200 | 25.994µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:09 | 200 | 29.842µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:11 | 200 | 24.883µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:14 | 200 | 39.711µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:19 | 200 | 30.464µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:31:19.233Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"id":"db7f7427-250f-40f6-b3dc-1a3d0bdfdb2d","ephemeral":false} {"level":"info","timestamp":"2026-04-20T23:31:19.233Z","caller":"api_keys/handler.go:222","message":"Created API key","keyId":"db7f7427-250f-40f6-b3dc-1a3d0bdfdb2d","keyPrefix":"sk-oai-yzji86wyTNYr...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/04/20 - 23:31:19 | 201 | 1.74657ms | 100.64.0.4 | POST "/v1/api-keys" [GIN] 2026/04/20 - 23:31:21 | 200 | 29.122µs | 10.133.0.2 | GET "/health" 2026/04/20 23:31:21 http: TLS handshake error from 10.134.0.41:47594: remote error: tls: bad certificate [GIN] 2026/04/20 - 23:31:24 | 200 | 35.205µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:29 | 200 | 25.414µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:31 | 200 | 30.488µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:34 | 200 | 26.638µs | 10.133.0.2 | GET "/health" 2026/04/20 23:31:38 http: TLS handshake error from 10.134.0.41:57364: remote error: tls: bad certificate [GIN] 2026/04/20 - 23:31:39 | 200 | 24.619µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:41 | 200 | 27.115µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:44 | 200 | 26.529µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:49 | 200 | 34.71µs | 10.133.0.2 | GET "/health" [GIN] 2026/04/20 - 23:31:51 | 200 | 26.969µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-04-20T23:31:52.449Z","caller":"api_keys/store_postgres.go:460","message":"Revoked API key","id":"db7f7427-250f-40f6-b3dc-1a3d0bdfdb2d"} {"level":"info","timestamp":"2026-04-20T23:31:52.449Z","caller":"api_keys/handler.go:317","message":"Revoked API key","keyId":"db7f7427-250f-40f6-b3dc-1a3d0bdfdb2d","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/04/20 - 23:31:52 | 200 | 1.909996ms | 100.64.0.4 | DELETE "/v1/api-keys/db7f7427-250f-40f6-b3dc-1a3d0bdfdb2d" [GIN] 2026/04/20 - 23:31:54 | 200 | 29.024µs | 10.133.0.2 | GET "/health"