{"level":"info","timestamp":"2026-06-11T13:06:36.434Z","caller":"cmd/main.go:65","message":"Loading database connection URL from secret..."} {"level":"info","timestamp":"2026-06-11T13:06:36.448Z","caller":"cmd/main.go:172","message":"Connecting to PostgreSQL database..."} {"level":"info","timestamp":"2026-06-11T13:06:36.449Z","caller":"cmd/main.go:101","message":"Metrics server starting","address":":9090"} {"level":"info","timestamp":"2026-06-11T13:06:36.586Z","caller":"api_keys/db_driver.go:90","message":"Database schema applied","version":4} {"level":"info","timestamp":"2026-06-11T13:06:36.586Z","caller":"api_keys/db_driver.go:57","message":"Connected to PostgreSQL database (schema applied)"} {"level":"info","timestamp":"2026-06-11T13:06:36.691Z","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-11T13:06:36.714Z","caller":"cmd/main.go:134","message":"Server starting","address":":8443","secure":true} [GIN] 2026/06/11 - 13:06:43 | 200 | 64.368µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:06:48 | 200 | 50.32µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:06:53 | 200 | 33.319µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:06:58 | 200 | 32.377µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:03 | 200 | 32.236µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:08 | 200 | 37.825µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:13 | 200 | 36.658µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:13 | 200 | 32.697µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:18 | 200 | 32.847µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:23 | 200 | 34.331µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:23 | 200 | 34.479µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:28 | 200 | 33.353µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:33 | 200 | 33.768µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:33 | 200 | 37.554µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:38 | 200 | 31.226µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:43 | 200 | 32.104µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:43 | 200 | 45.404µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:48 | 200 | 36.102µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:53 | 200 | 38.476µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:53 | 200 | 33.097µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:07:58 | 200 | 35.031µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:03 | 200 | 37.905µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:03 | 200 | 32.891µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:08 | 200 | 32.376µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:13 | 200 | 40.568µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:13 | 200 | 37.625µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:18 | 200 | 31.707µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:23 | 200 | 32.033µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:23 | 200 | 34.499µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:28 | 200 | 35.534µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:33 | 200 | 32.76µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:33 | 200 | 32.789µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:38 | 200 | 37.413µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:43 | 200 | 34.821µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:43 | 200 | 43.693µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:48 | 200 | 37.97µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:53 | 200 | 42.1µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:53 | 200 | 40.885µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:08:58 | 200 | 80.97µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:03 | 200 | 36.596µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:03 | 200 | 39.635µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:08 | 200 | 39.684µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:13 | 200 | 38.942µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:13 | 200 | 44.043µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:18 | 200 | 34.62µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:23 | 200 | 34.424µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:23 | 200 | 33.331µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:28 | 200 | 32.48µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:33 | 200 | 32.028µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:33 | 200 | 31.575µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:38 | 200 | 33.141µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:43 | 200 | 37.436µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:43 | 200 | 44.001µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:48 | 200 | 33.585µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:53 | 200 | 32.229µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:53 | 200 | 32.414µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:09:58 | 200 | 60.221µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:03 | 200 | 32.562µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:03 | 200 | 38.38µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:08 | 200 | 33.6µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:13 | 200 | 33.343µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:13 | 200 | 38.323µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:18 | 200 | 36.247µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:23 | 200 | 36.11µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:23 | 200 | 52.295µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:28 | 200 | 32.725µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:33 | 200 | 32.456µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:33 | 200 | 34.339µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:38 | 200 | 32.648µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:43 | 200 | 35.051µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:43 | 200 | 39.081µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:48 | 200 | 43.215µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:53 | 200 | 36.216µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:53 | 200 | 34.128µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:10:58 | 200 | 32.626µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:03 | 200 | 36.352µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:03 | 200 | 34.015µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:08 | 200 | 33.757µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:13 | 200 | 35.686µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:13 | 200 | 47.258µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:18 | 200 | 38.042µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:23 | 200 | 33.004µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:23 | 200 | 32.685µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:28 | 200 | 35.185µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:33 | 200 | 34.944µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:33 | 200 | 36.888µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:38 | 200 | 33.647µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:43 | 200 | 34.654µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:43 | 200 | 36.422µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:48 | 200 | 37.326µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:53 | 200 | 37.45µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:53 | 200 | 33.986µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:11:58 | 200 | 35.385µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:03 | 200 | 33.499µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:03 | 200 | 37.047µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:08 | 200 | 33.635µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:13 | 200 | 32.81µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:13 | 200 | 43.799µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:18 | 200 | 31.823µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:23 | 200 | 31.919µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:23 | 200 | 38.48µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:28 | 200 | 32.114µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:33 | 200 | 34.62µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:33 | 200 | 35.65µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:38 | 200 | 34.004µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:43 | 200 | 32.076µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:43 | 200 | 55.988µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:48 | 200 | 32.742µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:53 | 200 | 33.534µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:53 | 200 | 32.754µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:12:58 | 200 | 32.712µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:03 | 200 | 34.045µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:03 | 200 | 33.653µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:08 | 200 | 32.77µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:13 | 200 | 33.565µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:13 | 200 | 34.19µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:18 | 200 | 34.721µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:23 | 200 | 39.284µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:23 | 200 | 32.765µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:28 | 200 | 53.86µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:33 | 200 | 34.855µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:33 | 200 | 34.164µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:38 | 200 | 36.071µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:43 | 200 | 37.106µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:43 | 200 | 44.659µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:48 | 200 | 31.515µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:53 | 200 | 41.657µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:53 | 200 | 38.605µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:13:58 | 200 | 31.953µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:03 | 200 | 34.012µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:03 | 200 | 33.719µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:08 | 200 | 33.901µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:13 | 200 | 31.46µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:13 | 200 | 41.17µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:18 | 200 | 31.816µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:23 | 200 | 40.585µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:23 | 200 | 31.927µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:28 | 200 | 34.04µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:33 | 200 | 32.145µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:33 | 200 | 34.869µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:38 | 200 | 42.101µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:43 | 200 | 41.606µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:43 | 200 | 41.692µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:48 | 200 | 38.627µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:53 | 200 | 61.395µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:53 | 200 | 40.674µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:14:58 | 200 | 40.445µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:03 | 200 | 40.375µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:03 | 200 | 46.441µs | 10.133.0.2 | GET "/health" {"level":"info","timestamp":"2026-06-11T13:15:04.066Z","caller":"api_keys/service.go:305","message":"Ephemeral key cleanup completed","deletedCount":0} [GIN] 2026/06/11 - 13:15:04 | 200 | 10.250562ms | 10.132.0.39 | POST "/internal/v1/api-keys/cleanup" [GIN] 2026/06/11 - 13:15:08 | 200 | 46.675µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:13 | 200 | 47.251µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:13 | 200 | 64.116µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:18 | 200 | 38.885µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:23 | 200 | 37.908µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:23 | 200 | 38.207µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:28 | 200 | 39.382µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:33 | 200 | 42.202µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:33 | 200 | 38.082µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:38 | 200 | 40.907µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:43 | 200 | 40.691µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:43 | 200 | 39.808µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:48 | 200 | 41.245µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:53 | 200 | 39.525µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:53 | 200 | 37.816µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:15:58 | 200 | 54.099µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:03 | 200 | 42.291µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:03 | 200 | 44.918µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:08 | 200 | 39.221µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:13 | 200 | 38.098µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:13 | 200 | 52.916µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:18 | 200 | 43.853µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:23 | 200 | 38.799µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:23 | 200 | 42.075µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:28 | 200 | 56.43µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:33 | 200 | 45.571µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:33 | 200 | 39.237µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:38 | 200 | 36.727µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:43 | 200 | 48.402µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:43 | 200 | 36.55µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:48 | 200 | 42.377µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:53 | 200 | 31.842µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:53 | 200 | 35.137µs | 10.133.0.2 | GET "/health" [GIN] 2026/06/11 - 13:16:58 | 200 | 32.033µs | 10.133.0.2 | GET "/health"