Skip to content

OLS-3150: Add googleCloudVertex.modelProvider to LLMProvider CRD#14

Merged
onmete merged 2 commits into
openshift:mainfrom
onmete:ols-3150-vertex-runtime
Jun 1, 2026
Merged

OLS-3150: Add googleCloudVertex.modelProvider to LLMProvider CRD#14
onmete merged 2 commits into
openshift:mainfrom
onmete:ols-3150-vertex-runtime

Conversation

@onmete
Copy link
Copy Markdown
Contributor

@onmete onmete commented May 21, 2026

Summary

  • Add GoogleCloudVertexModelProvider enum (Anthropic, Google, OpenAI) to distinguish which model provider stack a Vertex LLMProvider uses
  • Add required googleCloudVertex.modelProvider field on LLMProvider (CRD validation enforces presence and enum values)
  • Update example manifest and test fixtures to set modelProvider: Anthropic

This PR is API/CRD only and should merge first. Operator routing that maps modelProvider to sandbox SDK env vars will land in OLS-3126 / PR #13, which consumes this field once the CRD is available.

Fixes OLS-3150 (CRD half).

modelProvider values

modelProvider Vertex stack (operator mapping in PR #13)
Anthropic Claude SDK (LIGHTSPEED_AGENT_PROVIDER=claude)
Google Google GenAI (LIGHTSPEED_AGENT_PROVIDER=gemini)
OpenAI OpenAI-compatible API (LIGHTSPEED_AGENT_PROVIDER=openai)

Example

spec:
  type: GoogleCloudVertex
  googleCloudVertex:
    credentialsSecret:
      name: llm-credentials
    projectID: my-gcp-project
    region: us-central1
    modelProvider: Anthropic

Test plan

  • make manifests
  • make test

Summary by CodeRabbit

Release Notes

  • New Features

    • Google Cloud Vertex AI configuration now requires specifying the model provider (Anthropic, Google, or OpenAI).
  • Documentation

    • Updated example configurations to include the new model provider selection requirement.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 21, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented May 21, 2026

@onmete: This pull request references OLS-3150 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Add GoogleCloudVertexRuntime enum (Claude, Gemini, OpenAI) to distinguish which SDK stack a Vertex LLMProvider uses
  • Add required googleCloudVertex.runtime field on LLMProvider (CRD validation enforces presence and enum values)
  • Update example manifest and test fixtures to set runtime: Claude

This is API/CRD only — no operator sandbox env patching. Operator routing is a separate follow-up after OLS-3126 / PR #13 lands.

Fixes OLS-3150 (CRD half).

Test plan

  • make manifests
  • make test

Made with Cursor

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested review from blublinsky and harche May 21, 2026 06:24
@onmete onmete changed the title OLS-3150: Add GoogleCloudVertex runtime to LLMProvider CRD OLS-3150: Add googleCloudVertex.modelProvider to LLMProvider CRD May 21, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 21, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign raptorsun for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@onmete
Copy link
Copy Markdown
Contributor Author

onmete commented Jun 1, 2026

/retest

onmete and others added 2 commits June 1, 2026 11:18
…LS-3150)

Introduce GoogleCloudVertexRuntime (Claude, Gemini, OpenAI) so Vertex providers
declare which SDK stack they use. Operator routing is a follow-up; this PR is
API and CRD only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use vendor-oriented values Anthropic, Google, and OpenAI instead of
Claude, Gemini, and OpenAI SDK names.

Co-authored-by: Cursor <cursoragent@cursor.com>
@onmete onmete force-pushed the ols-3150-vertex-runtime branch from 172226f to 1b86009 Compare June 1, 2026 09:20
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ab25d7c8-39d2-4f5b-9242-5e8b3c058448

📥 Commits

Reviewing files that changed from the base of the PR and between 036c902 and 1b86009.

⛔ Files ignored due to path filters (1)
  • config/crd/bases/agentic.openshift.io_llmproviders.yaml is excluded by !config/crd/bases/**
📒 Files selected for processing (4)
  • api/v1alpha1/llmprovider_types.go
  • controller/proposal/reconciler_test.go
  • examples/setup/00-llm-providers.yaml
  • test/e2e/helpers_test.go

📝 Walkthrough

Walkthrough

This PR adds a model provider discriminator field to Vertex AI configuration. A new GoogleCloudVertexModelProvider enum type with three values (Anthropic, Google, OpenAI) is introduced and integrated into the GoogleCloudVertexConfig struct. Test fixtures and example configurations are updated to supply the required field.

Changes

Vertex AI Model Provider Discriminator

Layer / File(s) Summary
Model provider enum and config field
api/v1alpha1/llmprovider_types.go
Introduces GoogleCloudVertexModelProvider enum with three exported constants (Anthropic, Google, OpenAI) and adds the corresponding ModelProvider field to GoogleCloudVertexConfig with kubebuilder validation. The in-file example documentation is updated to include the new field.
Test and example fixtures
controller/proposal/reconciler_test.go, examples/setup/00-llm-providers.yaml, test/e2e/helpers_test.go
Unit test, e2e test, and example YAML fixtures are updated to set ModelProvider to GoogleCloudVertexModelProviderAnthropic in the LLMProvider configuration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding a new required field googleCloudVertex.modelProvider to the LLMProvider CRD with the GoogleCloudVertexModelProvider enum.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Jun 1, 2026

@onmete: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@iNecas
Copy link
Copy Markdown

iNecas commented Jun 1, 2026

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 1, 2026
@onmete onmete merged commit 014eb39 into openshift:main Jun 1, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants