Repository navigation
radar-hub: AI investigations on any OpenAI-compatible model - #65
Conversation
Add hub.agent.provider=openai-compatible (baseUrl, model, api, authHeader, reasoningEffort), optional per-model prices, and anthropic.baseUrl for a Claude gateway. Both need radar-hub 1.15.0; render fails below it. Claude provider installs render as before. Chart 1.15.0-rc.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
PR Summary by QodoSupport OpenAI-compatible investigations and Anthropic gateways
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
Code Review by Qodo
1. Old custom-tagged hubs accept new settings
|
- The agent sandbox tag now defaults to image.hub.tag, then appVersion, so pinning the hub also pins a matching sandbox. - Fail the render when openai-compatible or anthropic.baseUrl is used with a sandbox older than 1.15.0. - The gateway rejection test pins its hub tag, so it keeps working after the release job raises appVersion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An upgrade with --reuse-values from a chart that had no hub.agent.prices failed under openai-compatible with "index of untyped nil". The map now defaults to empty. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sets HUB_AGENT_OPENAI_COMPAT_MAX_OUTPUT_TOKENS for models whose output limit is below the hub's default of 32,000 (GPT-4o: 16,384). Empty keeps the default; the schema requires a positive integer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hub no longer reads HUB_AGENT_PRICE_*: a self-hosted hub meters nothing and nothing shows the figure. The schema now refuses hub.agent.prices. The README lists openaiCompatible.maxOutputTokens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
What this does
The radar-hub chart can now set up AI investigations on any model behind an OpenAI-compatible API (GPT on OpenAI or Azure, Kimi, DeepSeek or gpt-oss on Bedrock, Gemini, a company gateway, vLLM, Ollama), and can point the Claude
anthropicprovider at a company gateway. Both need radar-hub 1.15.0.Installs that use
anthropic,bedrockorvertexrender exactly as before.New values
hub.agent.provider: openai-compatible, with a newhub.agent.openaiCompatibleblock:baseUrlandmodel, both required;api:chat(default) orresponses;authHeader:bearer(default) orapi-keyfor Azure;reasoningEffort: empty,low,mediumorhigh;maxOutputTokens: empty (32,000) or a lower limit, for models such as GPT-4o (16,384) that refuse longer replies.hub.agent.credentials.apiKeymay be empty under this provider, for a keyless model server. AnexistingSecretcarriesHUB_AGENT_OPENAI_COMPAT_API_KEY, empty for keyless.hub.agent.anthropic.baseUrl: a Claude gateway in place ofapi.anthropic.com. Refused under other providers.image.agentSandbox.tagnow defaults toimage.hub.tag, then appVersion, so pinning the hub also pins a matching sandbox. Before, a pinned hub could run with a sandbox of a different version.extraEgressdocs now show a rule for a model endpoint off port 443, such as an in-cluster Ollama.Guards
openai-compatibleoranthropic.baseUrlis set with a hub image tag below 1.15.0. Render also fails when the sandbox image resolves below 1.15.0 under these settings. A pre-release counts only when it is the chart's own appVersion, the same rule as enrollment.Code pointers
charts/radar-hub/values.yaml,values.schema.jsontemplates/deployment-hub.yaml; Secret key name and sandbox tag:templates/_helpers.tpl(radar-hub.agentKeyName,radar-hub.agentSandboxImage)templates/secret.yaml.github/ci/agent-test.sh(render assertions, run withimage.hub.tag=1.15.0),charts/radar-hub/tests/render-matrix.sh(unknown keys)Tests
.github/ci/agent-test.sh: 104 assertions pass. An upgrade with--reuse-valuesfrom the current chart renders on every provider. They cover the new provider's env, keyless and existingSecret setups, every refusal (including an old sandbox), the sandbox following the hub tag, the gateway, and the Claude providers getting none of the new settings. The tests that expect a refusal pin their hub tag, so they keep passing after the release job raises appVersion; checked with appVersion set to 1.15.0.render-matrix.sh: the new unknown-key checks pass.render-matrix.shneeds PyYAML.helm lintpasses with everyci/values file.anthropic,bedrock,vertexand the default test values are byte-identical tomain, apart from the chart-version label.ci/*-values.yaml:ct installinstalls each one, and a hub 1.15.0 image doesn't exist yet.Release
Hub side: skyhook-dev/radar-hub#387 (private). Tested end to end on a self-hosted hub with this chart on the
bedrock,anthropicandopenai-compatibleproviders (vertexnot run).Chart version
1.15.0-rc.1, appVersion stays 1.14.1. Merge this after radar-hub 1.15.0 is released; the release job sets appVersion 1.15.0. Until then the new provider refuses to render with the default hub tag, which is intended.🤖 Generated with Claude Code