Skip to content

humpyard v0.13.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 02:50
· 9 commits to main since this release
bbec6bc

Highlights

Expiring runtime overrides. Take a target out of rotation, drain a provider, or pin a route to one target, right now, with no config edit and no reload. Every override expires (4 hours by default, 24 at most), is audited with the creating key's id, and can only remove options, never add them. If an override would leave a route with nothing to use, the request fails with a clear 503 instead of going somewhere you did not choose.

humpyard ctl overrides add --disable-target deep --reason "slow since 02:00" --for 2h
humpyard ctl overrides add --drain-provider groq --reason "rate limited"
humpyard ctl overrides add --pin auto=fast --reason "keep it local" --for 30m
humpyard ctl overrides list [--history]
humpyard ctl overrides remove 3

Overrides show up in decisions, explain, GET /v1/config and two metrics, with an alert (HumpyardOverrideLong) for one left in force too long. They need a ledger and a key with manage_overrides = true. See Runtime overrides.

Also new

  • humpyard init --out - prints the config to standard output (progress and the one-time key go to standard error), so it can be piped, for example into kubectl create configmap. (#160, @LuckTerence)
  • humpyard completions <shell> for bash, elvish, fish, PowerShell and zsh. (#161, @LuckTerence)
  • tokio updated to 1.54.1 for RUSTSEC-2026-0386.

Upgrading

The ledger moves to schema v10 the first time 0.13.0 starts on an existing database. Existing decisions and usage are kept. An older binary cannot open a v10 ledger, so copy the ledger first if you may want to go back.

Override state is per instance: with several gateways, apply an override to each one.

Pre-alpha. Apache-2.0.


What's Changed

  • Spec: expiring runtime overrides (disable a target, drain a provider, pin a route) by @gschaetz in #159
  • Add humpyard init --out - to print config to stdout by @LuckTerence in #160
  • Spec: init --out - prints the configuration to standard output by @gschaetz in #162
  • Ask for a star in the README header by @gschaetz in #167
  • Refresh the roadmap and architecture status by @gschaetz in #168
  • Runtime overrides, part 1: settings, key setting and the store by @gschaetz in #169
  • Runtime overrides, part 2a: the API and the planning step by @gschaetz in #170
  • Runtime overrides, part 2b: drain_provider by @gschaetz in #171
  • Runtime overrides, part 3: decisions, explain, config view and metrics by @gschaetz in #172
  • Runtime overrides, part 4a: humpyard ctl overrides by @gschaetz in #173
  • Runtime overrides, part 4b: property and architecture tests; archive the change by @gschaetz in #174
  • Bump tokio to 1.54.1 (RUSTSEC-2026-0386) by @gschaetz in #175
  • feat(cli): add humpyard completions for bash, zsh and fish by @LuckTerence in #161
  • Release 0.13.0 by @gschaetz in #176

New Contributors

Full Changelog: v0.12.0...v0.13.0