chore(release): v0.2.0b22 — LiteLLM AI Gateway integration#270
Merged
Conversation
…teway in front of OCI Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
…& integration tests
- examples/notebook_71_litellm_gateway.py — runnable companion to
the how-to. Health-checks the gateway, builds an Agent around
OpenAIModel(base_url=...), runs blocking + streaming prompts.
Self-skips with a wiring banner when LITELLM_GATEWAY_URL /
LITELLM_GATEWAY_KEY aren't set.
- docs/img/litellm-gateway-architecture.svg — three-tier SVG flow
(Locus → LiteLLM Gateway → OCI Generative AI). The middle panel
itemises every gateway feature so reviewers can see what the
proxy carries that an in-process wrapper doesn't.
- docs/notebooks/notebook_71_litellm_gateway.md — notebook md stub
with the SVG embedded.
- mkdocs.yml — notebook nav entry next to notebook 70.
- docs/how-to/litellm-gateway.md — SVG embedded at the top.
- tests/unit/test_litellm_gateway_example.py — 20 tests, no network.
Parses config.yaml / docker-compose.yml / helm-values.yaml and
asserts the documented invariants: alias / docs parity, OCI_* env
wiring on every upstream entry, drop_params=True, master_key env
sourced, fallback chains reference declared aliases, compose uses
${VAR:?…} strict form, OCI key mounted read-only, helm Service is
ClusterIP-only, pod hardened (non-root, read-only root, caps
dropped), README cross-references the artifacts.
- tests/integration/test_litellm_gateway_live.py — drives the live
gateway end-to-end through Locus's OpenAIModel: /v1/models health
check, negative-path unauthenticated rejection, basic completion,
multi-turn with system message, streaming, tool calling, full
Agent loop. Auto-skipped when LITELLM_GATEWAY_URL /
LITELLM_GATEWAY_KEY aren't set; runs from the existing
_litellm_integration workflow.
Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
…Gateway' Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
… new Locus class' section Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
… fallback verified Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
… patterns Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
…ts as deployment-validation Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
The PR #268 work lands under [Unreleased] following the same shape as the b21 entries — leading summary paragraph, then enumerated detail of what ships + what's verified + what's tracked as follow-up in #269. No version bump in pyproject.toml — that's a release-manager call when b22 cuts. Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
One PR landed since b21 (#268): Locus is now documented + sampled + tested as a first-class consumer of the LiteLLM AI Gateway in front of Oracle Generative AI Infrastructure. Zero new Python code in Locus, no new dependency added to pyproject.toml — the integration is a deployment guide + working sample + tests. Live-verified against real OCI us-chicago-1 (LUIGI_FRA_API tenancy): - 7/7 live gateway integration tests - 7/7 cost-tracking deployment-validation tests - 29/29 unit tests over the shipped sample - Fallback chain validated with a broken-on-purpose primary - DCO sign-off on every commit - mkdocs --strict clean Four follow-up gateway capabilities (Langfuse observability, Redis cache, Lakera/Presidio guardrails, OKE helm install) are tracked in #269 — each becomes its own focused PR with its own live demo. See CHANGELOG.md for the full breakdown of what ships. Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
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.
Release: v0.2.0b22
Stacked on #268. This PR bumps the version + reshapes
CHANGELOG.mdto cut the next beta. The actual gateway contentships in #268; this is the release-manager mechanics:
pyproject.toml:0.2.0b21→0.2.0b22CHANGELOG.md:[Unreleased]content moves under[0.2.0b22] - 2026-05-25, with a one-paragraph release summary.What ships in this release
One PR (#268) — but a substantive one. Locus is now documented +
sampled + tested as a first-class consumer of the LiteLLM AI Gateway
in front of Oracle Generative AI Infrastructure.
Zero new Python code in Locus, no new dependency added to
pyproject.toml. The integration is:docs/how-to/litellm-gateway.md— deployment guide with scope,auth-boundary, virtual keys, cost tracking, enterprise patterns.
examples/litellm-gateway/— working sample (config + compose +helm + README).
cost tracking).
deployment-validation tests.
Live-verified against real OCI
All against
us-chicago-1, LUIGI_FRA_API tenancy:mkdocs --strictcleanMerge order
diff collapses to just the version bump + CHANGELOG reshape.
v0.2.0b22on the resulting main commit.release manager to publish post-tag).
Follow-ups tracked
Four gateway capabilities (Langfuse observability, Redis cache,
Lakera/Presidio guardrails, OKE
helm install) are tracked in#269 — one
PR per capability, each with its own live demo + integration test.
Test plan
pytest tests/unit/test_litellm_gateway_example.py— 29/29 passmkdocs build --strict— cleanv0.2.0b22