• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / inference-perf / 36037540510
81%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2026 06:00PM UTC
Jobs 1
Files 125
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Sep 2026 05:54PM UTC coverage: 80.584% (+0.001%) from 80.583%
36037540510

push

github

web-flow
feat(metrics): add bearer_token and verify_ssl to Prometheus client (#819)

## Summary
Auth half of kubernetes-sigs/inference-perf#810: the Prometheus client
can now query auth-gated servers (e.g. OpenShift Thanos) via
`metrics.prometheus.bearer_token`, `verify_ssl`, and custom `headers`.
This unblocks time-series collection against secured Prometheus.

Part of kubernetes-sigs/inference-perf#810. Fixes #816.

## Root cause
- `PrometheusClientConfig` had no auth/TLS options
(`inference_perf/config/client/server_metrics/config.py:20`)
- `execute_query` never passed `verify=` and `get_headers()` always
returned `{}`
(`inference_perf/client/server_metrics/prometheus_client/base.py:154,209`)

## Fix
- New config fields: `bearer_token` (SecretStr, auto-redacted like
`server.api_key`), `verify_ssl` (default `True`), `headers` (same
pattern as `api.headers`)
- `get_headers()` merges custom headers + bearer token; explicit
`Authorization` (case-insensitive) wins
- `execute_query` forwards `verify=self.verify_ssl`; Google-managed
client merges custom headers under its own token
- Docs synced: `docs/cli_flags.md`, `docs/config.md` credentials section

Out of scope (blocked on #489/#740): range queries, `raw_metrics/` dump,
BR0.2 `components[].time_series` mapping.

## How it was tested
- 11 new tests: auth header happy path, header merge, explicit-auth
precedence (+lowercase edge), `verify` forwarding, TLS-on/empty-headers
regression, config defaults
- Targeted + related suites: 78/78 pass (prometheus client,
server-metrics config, redaction, session+prometheus reports, query
goldens)
- Full `pytest tests`: no new failures (7 pre-existing env failures —
tkinter, Windows signals, tokenizer downloads — fail identically on
clean tree)
- `ruff format`, `ruff check`, `mypy --strict`, `sync_cli_flags_doc
--check`, `sync_runtime_metrics_doc --check`: all clean

13 of 16 new or added lines in 3 files covered. (81.25%)

10463 of 12984 relevant lines covered (80.58%)

0.81 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
42.31
-3.53% inference_perf/client/server_metrics/prometheus_client/google_managed_prometheus_client.py
Jobs
ID Job ID Ran Files Coverage
1 36037540510.1 24 Sep 2026 06:00PM UTC 125
80.58
GitHub Action Run
Source Files on build 36037540510
  • Tree
  • List 125
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36037540510
  • ec7d3d10 on github
  • Prev Build on main (#36037073528)
  • Next Build on main (#36052411127)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc