{"level":"info","timestamp":"2026-05-29T13:54:27.233Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-05-29T13:54:27.246Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-05-29T13:54:27.246Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-05-29T13:54:27.384Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":3} {"level":"info","timestamp":"2026-05-29T13:54:27.384Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-05-29T13:54:27.488Z","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-05-29T13:54:27.522Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/05/29 - 13:54:33 | 200 | 50.971µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:54:38 | 200 | 31.446µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:54:43 | 200 | 33.586µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:54:48 | 200 | 37.179µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:54:53 | 200 | 43.667µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:54:58 | 200 | 38.102µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:03 | 200 | 60.588µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:05 | 200 | 34.808µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:08 | 200 | 32.136µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:13 | 200 | 33.662µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:15 | 200 | 36.547µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:18 | 200 | 32.331µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:23 | 200 | 32.564µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:25 | 200 | 34.288µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:28 | 200 | 38.461µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:33 | 200 | 34.729µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:35 | 200 | 30.452µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:38 | 200 | 38.727µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:43 | 200 | 31.241µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:45 | 200 | 36.29µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:48 | 200 | 34.486µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:53 | 200 | 31.994µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:55 | 200 | 34.134µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:55:58 | 200 | 32.365µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:03 | 200 | 37.615µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:05 | 200 | 34.245µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:08 | 200 | 32.436µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:13 | 200 | 33.224µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:15 | 200 | 33.87µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:18 | 200 | 32.32µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:23 | 200 | 37.841µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:25 | 200 | 31.58µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:28 | 200 | 37.603µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:33 | 200 | 42.747µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:35 | 200 | 39.493µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:38 | 200 | 40.63µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:43 | 200 | 42.814µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:45 | 200 | 39.622µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:48 | 200 | 37.729µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:53 | 200 | 39.464µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:55 | 200 | 36.013µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:56:58 | 200 | 39.244µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:03 | 200 | 41.7µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:05 | 200 | 37.219µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:08 | 200 | 38.54µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:13 | 200 | 39.042µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:15 | 200 | 39.289µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:18 | 200 | 39.093µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:23 | 200 | 37.829µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:25 | 200 | 41.068µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:28 | 200 | 41.872µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:33 | 200 | 47.321µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:35 | 200 | 38.09µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:38 | 200 | 42.355µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:43 | 200 | 38.406µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:45 | 200 | 37.16µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:48 | 200 | 34.286µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:53 | 200 | 37.414µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:55 | 200 | 36.791µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:57:58 | 200 | 32.045µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:03 | 200 | 40.125µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:05 | 200 | 38.844µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:08 | 200 | 42.322µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:13 | 200 | 39.536µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:15 | 200 | 42.744µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:18 | 200 | 39.7µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:23 | 200 | 41.305µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:25 | 200 | 39.801µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:28 | 200 | 164.153µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:33 | 200 | 38.285µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:35 | 200 | 47.203µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:38 | 200 | 37.729µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:43 | 200 | 41.031µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:45 | 200 | 38.502µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:48 | 200 | 39.746µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:53 | 200 | 43.023µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:55 | 200 | 39.607µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:58:58 | 200 | 38.59µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:03 | 200 | 64.004µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:05 | 200 | 39.262µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:08 | 200 | 45.556µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:13 | 200 | 40.794µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:15 | 200 | 36.291µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:18 | 200 | 43.577µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:23 | 200 | 43.352µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:25 | 200 | 58.229µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:28 | 200 | 37.923µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:33 | 200 | 38.07µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:35 | 200 | 45.104µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:38 | 200 | 46.256µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:43 | 200 | 40.909µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:45 | 200 | 39.075µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:48 | 200 | 43.998µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:53 | 200 | 37.543µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:55 | 200 | 39.247µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 13:59:58 | 200 | 39.036µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:03 | 200 | 43.728µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:05 | 200 | 42.833µs | 10.132.0.2 | GET "/health" {"level":"info","timestamp":"2026-05-29T14:00:05.530Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/05/29 - 14:00:05 | 200 | 9.897537ms | 10.133.0.49 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/05/29 - 14:00:08 | 200 | 38.345µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:13 | 200 | 36.98µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:15 | 200 | 39.775µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:18 | 200 | 39.792µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:23 | 200 | 42.205µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:25 | 200 | 39.334µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:28 | 200 | 33.264µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:33 | 200 | 35.258µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:35 | 200 | 33.204µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:38 | 200 | 37.88µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:43 | 200 | 34.294µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:45 | 200 | 42.576µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:48 | 200 | 37.328µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:53 | 200 | 32.522µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:55 | 200 | 31.702µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:00:58 | 200 | 34.53µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:03 | 200 | 33.453µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:05 | 200 | 33.141µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:08 | 200 | 57.365µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:13 | 200 | 31.334µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:15 | 200 | 33.339µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:18 | 200 | 33.477µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:23 | 200 | 32.55µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:25 | 200 | 34.099µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:28 | 200 | 31.903µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:33 | 200 | 35.431µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:35 | 200 | 32.16µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:38 | 200 | 31.738µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:43 | 200 | 32.661µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:45 | 200 | 31.88µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:48 | 200 | 34.663µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:53 | 200 | 31.867µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:55 | 200 | 32.104µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:01:58 | 200 | 60.103µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:03 | 200 | 36.812µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:05 | 200 | 33.226µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:08 | 200 | 31.986µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:13 | 200 | 32.216µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:15 | 200 | 33.612µs | 10.132.0.2 | GET "/health" [GIN] 2026/05/29 - 14:02:18 | 200 | 32.887µs | 10.132.0.2 | GET "/health"