{"level":"info","timestamp":"2026-06-10T20:00:03.701Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-10T20:00:03.714Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-10T20:00:03.714Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-10T20:00:03.854Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-10T20:00:03.854Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-10T20:00:03.959Z","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-10T20:00:03.988Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/10 - 20:00:09 | 200 | 54.789µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:14 | 200 | 39.197µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:19 | 200 | 34.17µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:24 | 200 | 31.634µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:29 | 200 | 34.041µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:34 | 200 | 45.2µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:39 | 200 | 33.441µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:41 | 200 | 35.241µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:44 | 200 | 33.162µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:49 | 200 | 35.853µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:51 | 200 | 33.239µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:54 | 200 | 37.178µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:00:59 | 200 | 44.422µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:01 | 200 | 46.628µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:04 | 200 | 33.951µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:09 | 200 | 34.519µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:11 | 200 | 44.561µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:14 | 200 | 35.762µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:19 | 200 | 32.794µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:21 | 200 | 35.818µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:24 | 200 | 32.691µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:29 | 200 | 35.364µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:31 | 200 | 31.379µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:34 | 200 | 30.841µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:39 | 200 | 32.058µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:41 | 200 | 33.947µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:44 | 200 | 34.311µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:49 | 200 | 36.363µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:51 | 200 | 34.531µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:54 | 200 | 32.979µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:01:59 | 200 | 37.084µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:01 | 200 | 34.889µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:04 | 200 | 45.26µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:09 | 200 | 34.328µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:11 | 200 | 33.278µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:14 | 200 | 32.935µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:19 | 200 | 33.703µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:21 | 200 | 32.584µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:24 | 200 | 33.813µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:29 | 200 | 30.095µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:31 | 200 | 34.734µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:34 | 200 | 31.106µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:39 | 200 | 33.234µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:41 | 200 | 31.815µs | 10.133.0.2 | GET "/health" {"level":"error","timestamp":"2026-06-10T20:02:43.740Z","caller":"token/handler.go:111","message":"Missing or empty tenant header","header":"X-MaaS-Tenant","stacktrace":"main.registerHandlers.(*Handler).ExtractUserInfo.func4\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/token/handler.go:111\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.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.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.(*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/06/10 - 20:02:43 | 500 | 131.363µs | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/10 - 20:02:44 | 200 | 33.247µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:49 | 200 | 33.606µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:51 | 200 | 34.794µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:54 | 200 | 37.532µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:02:59 | 200 | 36.009µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:03:01 | 200 | 32.613µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:03:04 | 200 | 32.948µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:03:09 | 200 | 32.912µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:03:11 | 200 | 31.682µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/10 - 20:03:14 | 200 | 32.456µs | 10.133.0.2 | GET "/health" {"level":"error","timestamp":"2026-06-10T20:03:16.048Z","caller":"token/handler.go:111","message":"Missing or empty tenant header","header":"X-MaaS-Tenant","stacktrace":"main.registerHandlers.(*Handler).ExtractUserInfo.func4\n\tgithub.com/opendatahub-io/models-as-a-service/maas-api/internal/token/handler.go:111\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.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.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.(*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/06/10 - 20:03:16 | 500 | 88.612µs | 100.64.0.4 | POST "/v1/api-keys" | Authorization=present X-Api-Key=absent Cookie=absent Set-Cookie=absent [GIN] 2026/06/10 - 20:03:19 | 200 | 39.58µs | 10.133.0.2 | GET "/health"