{"level":"info","timestamp":"2026-06-09T15:18:10.946Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-09T15:18:10.971Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-09T15:18:10.972Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-09T15:18:11.049Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-09T15:18:11.049Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-09T15:18:11.156Z","caller":"cmd/main.go:193","message":"Resolved gateway internal host for access probes","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local"} {"level":"info","timestamp":"2026-06-09T15:18:11.259Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/09 - 15:18:18 | 200 | 67.388µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:23 | 200 | 40.086µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:28 | 200 | 41.053µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:33 | 200 | 42.923µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:38 | 200 | 43.798µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:43 | 200 | 35.932µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:48 | 200 | 37.083µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:48 | 200 | 30.801µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:53 | 200 | 38.98µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:58 | 200 | 38.914µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:18:58 | 200 | 33.873µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:03 | 200 | 35.276µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:08 | 200 | 34.529µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:08 | 200 | 27.942µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:13 | 200 | 33.349µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:18 | 200 | 34.124µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:18 | 200 | 31.248µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:23 | 200 | 33.751µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:28 | 200 | 33.392µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:28 | 200 | 31.199µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:33 | 200 | 35.81µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:38 | 200 | 33.824µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:38 | 200 | 29.534µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:43 | 200 | 32.856µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:48 | 200 | 33.899µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:48 | 200 | 31.341µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:53 | 200 | 35.591µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:58 | 200 | 33.961µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:19:58 | 200 | 30.874µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:03 | 200 | 41.416µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:08 | 200 | 32.594µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:08 | 200 | 35.039µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:13 | 200 | 36.365µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:18 | 200 | 33.339µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:18 | 200 | 37.444µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:23 | 200 | 40.086µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:28 | 200 | 48.052µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:28 | 200 | 32.983µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:33 | 200 | 33.196µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:38 | 200 | 31.463µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:38 | 200 | 29.985µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:43 | 200 | 31.159µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:48 | 200 | 32.663µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:48 | 200 | 31.706µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:53 | 200 | 33.013µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:58 | 200 | 37.066µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:20:58 | 200 | 31.434µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:03 | 200 | 35.864µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:08 | 200 | 31.734µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:08 | 200 | 30.76µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:13 | 200 | 39.899µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:18 | 200 | 33.089µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:18 | 200 | 29.776µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:23 | 200 | 35.62µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:28 | 200 | 33.997µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:28 | 200 | 32.047µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:33 | 200 | 33.839µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:38 | 200 | 31.757µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:38 | 200 | 38.302µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:43 | 200 | 33.057µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:48 | 200 | 31.983µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:48 | 200 | 30.266µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:53 | 200 | 34.618µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:58 | 200 | 52.395µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:21:58 | 200 | 31.063µs | 10.134.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-09T15:22:00.388Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"id":"83855efa-5da7-4ab5-981f-4335181dfcd8","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:00.388Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"83855efa-5da7-4ab5-981f-4335181dfcd8","keyPrefix":"sk-oai-CYfE2IB64dQr...","username":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:00 | 201 | 12.408785ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:00 | 200 | 1.352232ms | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 483.07µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 257.253µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 28.741389ms | 100.64.0.4 | GET "/v1/models" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:00 | 200 | 495.014µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 129.281µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 446.46µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 166.962µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 470.596µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 128.538µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 491.66µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 139.318µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 389.965µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 113.16µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 408.535µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 152.097µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 504.309µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 135.158µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 464.558µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 118.964µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 480.082µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 148.598µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 485.429µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 124.08µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" [GIN] 2026/06/09 - 15:22:00 | 200 | 446.015µs | 10.132.0.30 | POST "/internal/v1/api-keys/validate" [GIN] 2026/06/09 - 15:22:00 | 200 | 180.065µs | 10.132.0.30 | POST "/internal/v1/subscriptions/select" {"level":"info","timestamp":"2026-06-09T15:22:01.022Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"83855efa-5da7-4ab5-981f-4335181dfcd8"} {"level":"info","timestamp":"2026-06-09T15:22:01.022Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"83855efa-5da7-4ab5-981f-4335181dfcd8","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/06/09 - 15:22:01 | 200 | 2.585548ms | 100.64.0.3 | DELETE "/v1/api-keys/83855efa-5da7-4ab5-981f-4335181dfcd8" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:03 | 200 | 32.753µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:22:08 | 200 | 33.145µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:22:08 | 200 | 30.255µs | 10.134.0.2 | GET "/health" [GIN] 2026/06/09 - 15:22:08 | 200 | 20.457µs | 100.64.0.4 | GET "/health" [GIN] 2026/06/09 - 15:22:08 | 200 | 133.128µs | 100.64.0.2 | GET "/v1/subscriptions" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:09.103Z","caller":"api_keys/service.go:150","message":"Created API key","user":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"id":"26422e3b-19ef-4997-a624-7c61e7724675","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:09.104Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"26422e3b-19ef-4997-a624-7c61e7724675","keyPrefix":"sk-oai-2d1CoRAb0apf...","username":"alice_lead","groups":["system:authenticated","Engineering","Project-Alpha"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:09 | 201 | 1.876048ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:09.890Z","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":"bdf67ad2-df1e-4244-a463-55c4fd77ebce","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:09.890Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"bdf67ad2-df1e-4244-a463-55c4fd77ebce","keyPrefix":"sk-oai-1RnDUOsOKc1G...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:09 | 201 | 1.427364ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:09.927Z","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":"9c5af48b-3224-4ed6-8ee4-ee9eacd6d37d","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:09.927Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"9c5af48b-3224-4ed6-8ee4-ee9eacd6d37d","keyPrefix":"sk-oai-1X1K1s26HpR0...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:09 | 201 | 1.212494ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:09 | 200 | 493.458µs | 100.64.0.4 | GET "/v1/api-keys/9c5af48b-3224-4ed6-8ee4-ee9eacd6d37d" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.011Z","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":"0788c387-bc7e-4780-95fa-49a999add1e9","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.011Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"0788c387-bc7e-4780-95fa-49a999add1e9","keyPrefix":"sk-oai-gSgn4VO1FIlW...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.222942ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.047Z","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":"bddfc101-9603-4e81-908d-e0555474f720","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.047Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"bddfc101-9603-4e81-908d-e0555474f720","keyPrefix":"sk-oai-1XuApxnqgNLH...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.232219ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 6.04762ms | 100.64.0.2 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 595.266µs | 100.64.0.4 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.162Z","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":"cd31b306-b114-4e13-ab0d-b14188d00549","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.162Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"cd31b306-b114-4e13-ab0d-b14188d00549","keyPrefix":"sk-oai-TgymjZWQcn01...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.24143ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.196Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"cd31b306-b114-4e13-ab0d-b14188d00549"} {"level":"info","timestamp":"2026-06-09T15:22:10.196Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"cd31b306-b114-4e13-ab0d-b14188d00549","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 15:22:10 | 200 | 1.865361ms | 100.64.0.3 | DELETE "/v1/api-keys/cd31b306-b114-4e13-ab0d-b14188d00549" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 437.155µs | 100.64.0.2 | GET "/v1/api-keys/cd31b306-b114-4e13-ab0d-b14188d00549" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.274Z","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":"17acd604-4ef9-46b2-893d-28fd5822cfdb","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.274Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"17acd604-4ef9-46b2-893d-28fd5822cfdb","keyPrefix":"sk-oai-15LUegd5K1xd...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.364249ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 376.268µs | 100.64.0.3 | GET "/v1/api-keys/17acd604-4ef9-46b2-893d-28fd5822cfdb" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 4.242617ms | 100.64.0.2 | POST "/v1/api-keys/search" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.379Z","caller":"api_keys/store_postgres.go:468","message":"Revoked API key","id":"17acd604-4ef9-46b2-893d-28fd5822cfdb"} {"level":"info","timestamp":"2026-06-09T15:22:10.379Z","caller":"api_keys/handler.go:326","message":"Revoked API key","keyId":"17acd604-4ef9-46b2-893d-28fd5822cfdb","revokedBy":"system:serviceaccount:maas-admin:tester-admin-user"} [GIN] 2026/06/09 - 15:22:10 | 200 | 1.578801ms | 100.64.0.4 | DELETE "/v1/api-keys/17acd604-4ef9-46b2-893d-28fd5822cfdb" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.421Z","caller":"api_keys/service.go:150","message":"Created API key","user":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"id":"f5ed817b-9ddd-4a59-9c56-00d4b318e866","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.421Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"f5ed817b-9ddd-4a59-9c56-00d4b318e866","keyPrefix":"sk-oai-Ea8bq6N0zbGe...","username":"system:serviceaccount:maas-admin:tester-admin-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:maas-admin","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.326467ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"warn","timestamp":"2026-06-09T15:22:10.455Z","caller":"api_keys/handler.go:124","message":"Unauthorized API key access attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"f5ed817b-9ddd-4a59-9c56-00d4b318e866"} [GIN] 2026/06/09 - 15:22:10 | 404 | 430.78µs | 100.64.0.2 | GET "/v1/api-keys/f5ed817b-9ddd-4a59-9c56-00d4b318e866" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"warn","timestamp":"2026-06-09T15:22:10.489Z","caller":"api_keys/handler.go:305","message":"Unauthorized API key revocation attempt","requestingUser":"system:serviceaccount:default:tester-regular-user","keyOwner":"system:serviceaccount:maas-admin:tester-admin-user","keyId":"f5ed817b-9ddd-4a59-9c56-00d4b318e866"} [GIN] 2026/06/09 - 15:22:10 | 404 | 407.14µs | 100.64.0.3 | DELETE "/v1/api-keys/f5ed817b-9ddd-4a59-9c56-00d4b318e866" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.530Z","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":"3e68f534-b7da-400a-9256-512e3bdd518f","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.530Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"3e68f534-b7da-400a-9256-512e3bdd518f","keyPrefix":"sk-oai-GZ02nhPI2vZl...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.122157ms | 100.64.0.2 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.565Z","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":"13d5d38b-5610-4002-bf5c-d672fd98b436","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.565Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"13d5d38b-5610-4002-bf5c-d672fd98b436","keyPrefix":"sk-oai-hERLCXDOzqxk...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.128468ms | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.600Z","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":"7ddec4f7-9a69-4bd9-a95f-a46932bd4e9c","ephemeral":false} {"level":"info","timestamp":"2026-06-09T15:22:10.600Z","caller":"api_keys/handler.go:225","message":"Created API key","keyId":"7ddec4f7-9a69-4bd9-a95f-a46932bd4e9c","keyPrefix":"sk-oai-kDMtrCuARIdo...","username":"system:serviceaccount:default:tester-regular-user","groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"ephemeral":false} [GIN] 2026/06/09 - 15:22:10 | 201 | 1.119125ms | 100.64.0.3 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 381.901µs | 100.64.0.2 | GET "/v1/api-keys/3e68f534-b7da-400a-9256-512e3bdd518f" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent {"level":"info","timestamp":"2026-06-09T15:22:10.671Z","caller":"api_keys/store_postgres.go:448","message":"Revoked all keys for user","count":7,"user":"system:serviceaccount:default:tester-regular-user"} {"level":"info","timestamp":"2026-06-09T15:22:10.671Z","caller":"api_keys/handler.go:531","message":"Bulk revoked API keys","count":7,"targetUser":"system:serviceaccount:default:tester-regular-user","revokedBy":"system:serviceaccount:default:tester-regular-user"} [GIN] 2026/06/09 - 15:22:10 | 200 | 1.655018ms | 100.64.0.3 | POST "/v1/api-keys/bulk-revoke" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:10 | 200 | 378.668µs | 100.64.0.4 | GET "/v1/api-keys/3e68f534-b7da-400a-9256-512e3bdd518f" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/09 - 15:22:13 | 200 | 34.998µs | 10.134.0.2 | GET "/health"