blog: Managing AI Workload Egress with Kuadrant#90
blog: Managing AI Workload Egress with Kuadrant#90maksymvavilov wants to merge 1 commit intomainfrom
Conversation
✅ Deploy Preview for relaxed-faloodeh-7fa6f1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughA new blog post is added at src/blog/egress-gateway-ai-workloads.md explaining how to manage AI workload egress with Kuadrant, covering architecture, Access Control, Rate Limiting, Vault-backed Credential Injection, optional transparent DNS, setup steps for an egress gateway to OpenAI, test scenarios and references (approx. 445 new lines). ChangesAI Workload Egress Management with Kuadrant
Sequence Diagram(s)sequenceDiagram
participant Workload
participant Kubernetes_API
participant Kuadrant_Egress_Gateway
participant Vault
participant OpenAI
Workload->>Kuadrant_Egress_Gateway: HTTPS request (egress)
Kuadrant_Egress_Gateway->>Kubernetes_API: Validate identity (token review) / AuthPolicy
Kubernetes_API-->>Kuadrant_Egress_Gateway: Identity verified
Kuadrant_Egress_Gateway->>Vault: Request credentials for workload (if injection)
Vault-->>Kuadrant_Egress_Gateway: Return API key
Kuadrant_Egress_Gateway->>OpenAI: Forward request with injected credentials + rate limit check
OpenAI-->>Kuadrant_Egress_Gateway: Response
Kuadrant_Egress_Gateway-->>Workload: Response forwarded
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/blog/egress-gateway-ai-workloads.md (1)
176-176: ⚡ Quick winAvoid
:latestimage tags in tutorial stepsUsing
curlimages/curl:lateston Lines 176 and 420 makes the guide non-reproducible over time and can introduce unexpected behaviour changes.Proposed fix
- image: curlimages/curl:latest + image: curlimages/curl:8.8.0-kubectl run bad-client --image=curlimages/curl:latest -n default --restart=Never \ +kubectl run bad-client --image=curlimages/curl:8.8.0 -n default --restart=Never \Also applies to: 420-420
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/blog/egress-gateway-ai-workloads.md` at line 176, The tutorial uses an unpinned image "curlimages/curl:latest"; replace both occurrences of the string "curlimages/curl:latest" with a pinned image tag or digest (for example a specific version like "curlimages/curl:8.x.y" or a SHA256 image digest) so the steps are reproducible and stable—update every instance (both occurrences referenced) in the document where "curlimages/curl:latest" appears.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/blog/egress-gateway-ai-workloads.md`:
- Around line 187-188: The Vault kv write command in the kubectl exec invocation
(kubectl exec vault-0 -n vault -- vault kv put
secret/egress/ai-workloads/default) contains an unquoted placeholder
api_key=<your-openai-api-key> which the shell treats as input redirection;
update the argument to quote the value or use a variable expansion (e.g.,
api_key="<your-openai-api-key>" or api_key="$OPENAI_API_KEY") so the placeholder
is passed as a literal value to vault kv put rather than being interpreted by
the shell.
- Line 273: The CEL path used for TokenReview username is incorrect in two
places: replace the string "auth.identity.username" (currently at the occurrence
on line 273) and the string "auth.identity.user.username" (the other occurrence)
with the correct path "auth.identity.status.user.username" so both references
(the CEL expressions used for per-workload rate limiting) consistently use
auth.identity.status.user.username.
---
Nitpick comments:
In `@src/blog/egress-gateway-ai-workloads.md`:
- Line 176: The tutorial uses an unpinned image "curlimages/curl:latest";
replace both occurrences of the string "curlimages/curl:latest" with a pinned
image tag or digest (for example a specific version like "curlimages/curl:8.x.y"
or a SHA256 image digest) so the steps are reproducible and stable—update every
instance (both occurrences referenced) in the document where
"curlimages/curl:latest" appears.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 561c5f25-33ef-4796-96ff-18a3caf93af0
📒 Files selected for processing (1)
src/blog/egress-gateway-ai-workloads.md
Tutorial-style blog post covering egress gateway capabilities for AI workloads calling external APIs like OpenAI: access control via AuthPolicy, per-workload rate limiting, Vault-based credential injection, and transparent DNS routing with DNSPolicy. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Maskym Vavilov <mvavilov@redhat.com>
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Summary
Tutorial-style blog post covering Kuadrant's egress gateway capabilities for AI workloads calling external APIs (OpenAI as the example):
All code blocks are copy-paste bash commands. Includes three mermaid diagrams (overview topology, DNS routing flow, credential injection sequence).
Related: Kuadrant/architecture#145
Checklist
/dev/for egress guides not yet on/latest/)Summary by CodeRabbit