Merged
Conversation
Add support for securely providing the GOOGLE_API_KEY to the Obol Agent via Kubernetes secrets instead of plaintext values in YAML. Changes: - Add --google-api-key flag (short: -g) to 'obol stack up' command - Accept GOOGLE_API_KEY environment variable as alternative input - Create 'agent' namespace and 'obol-agent-google-api-key' secret automatically - Update obol-agent.yaml to consume secret via secretKeyRef - Provide clear warnings when API key is not supplied The implementation uses kubectl dry-run + apply pattern for idempotent secret creation, matching the error handling style of existing code. Usage: obol stack up --google-api-key="your-key" obol stack up -g "your-key" GOOGLE_API_KEY="your-key" obol stack up
Addresses review feedback to separate agent initialization from stack lifecycle. Changes: - Create new internal/agent package with Init() function for Google API key secret management - Add 'obol agent init' command with --google-api-key flag (-g) and GOOGLE_API_KEY env var support - Remove Google API key parameter from 'obol stack up' command - Remove Google API key secret creation logic from syncDefaults in internal/stack/stack.go - Update CLI help text to include new agent command section Usage: obol stack up # Start stack (no API key needed) obol agent init --google-api-key="key" # Initialize agent with API key obol agent init -g "key" # Short form GOOGLE_API_KEY="key" obol agent init # Via environment variable The agent init command requires the stack to be running and will create: - agent namespace (if it doesn't exist) - obol-agent-google-api-key secret in the agent namespace This separation allows users to manage agent secrets independently of the stack lifecycle, making it clearer when and how to provide sensitive credentials.
Add Google API key secret management for Obol Agent
Padraic-O-Mhuiris
approved these changes
Nov 17, 2025
internal/embed/defaults/obol-stack-defaults/templates/obol-agent.yaml
Outdated
Show resolved
Hide resolved
OisinKyne
approved these changes
Dec 5, 2025
Contributor
There was a problem hiding this comment.
Mostly LGTM except lets remove google from the customer facing interface at a minimum if not all the internals. I stopped making suggestions after a while when the idea is communicated. Suggestion for @agaskrobot around allowing the Agent component to auto-show if e.g. an anchor is in the url like obol.stack#agent.
I made a ticket #117 for us to make this command work with stdin as well, for users who need to be guided through it. TBH, it might end up with us doing an oauth flow for the users between google and our CLI command.
internal/embed/defaults/obol-stack-defaults/templates/obol-agent.yaml
Outdated
Show resolved
Hide resolved
internal/embed/defaults/obol-stack-defaults/templates/obol-agent.yaml
Outdated
Show resolved
Hide resolved
internal/embed/defaults/obol-stack-defaults/templates/obol-agent.yaml
Outdated
Show resolved
Hide resolved
Remove Google-specific branding from agent initialization to allow for future flexibility in API key providers. Changes include: - Rename CLI flag: --google-api-key → --agent-api-key - Update environment variable: GOOGLE_API_KEY → AGENT_API_KEY - Rename Kubernetes secret: obol-agent-google-api-key → obol-agent-api-key - Remove resource requests to lighten agent deployment for infrequent users - Remove l1 namespace RBAC (no longer exists with dynamic namespaces) - Add helpful link to Google AI Studio in error messages - Update all user-facing text to be provider-agnostic Addresses PR #84 review feedback.
Signed-off-by: JeanDaniel Bussy <jd@obol.tech>
Padraic-O-Mhuiris
requested changes
Dec 9, 2025
internal/embed/defaults/obol-stack-defaults/templates/obol-agent.yaml
Outdated
Show resolved
Hide resolved
- Refactored agent permissions to use dynamic RoleBindings per network namespace - Added stdin support for agent init command
- Relocated obol-agent manifests from defaults to infrastructure/obol-agent - Added local Chart.yaml for obol-agent - Registered obol-agent release in infrastructure helmfile - Removed legacy defaults directory
This commit applies the necessary change to cmd/obol/main.go to align with the agent.Init refactor, removing direct logging and executor calls from the action function.
- Moved obol-agent.yaml to base/templates/ - Added Namespace definition to obol-agent.yaml - Removed separate obol-agent release from helmfile - Removed separate obol-agent chart directory
Feature/obol agent refinements
Padraic-O-Mhuiris
approved these changes
Dec 11, 2025
Signed-off-by: JeanDaniel Bussy <jd@obol.tech>
OisinKyne
approved these changes
Dec 11, 2025
…agement - Add renovate.json with custom regex manager for obol-stack-front-end GitHub releases - Configure automatic PR creation for version updates - Add major version update approval requirement - Update obol-frontend.yaml.gotmpl to use semantic version tag (v0.1.1) instead of 'latest' - Enable hourly Renovate checks for frontend updates - Replace custom GitHub Actions workflow with Renovate automation
…on-management Renovate frontend version management
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.