OTA-1966: sync lightspeed agentic CRDs with upstream lightspeed-agentic-operator#1405
OTA-1966: sync lightspeed agentic CRDs with upstream lightspeed-agentic-operator#1405jrangelramos wants to merge 1 commit into
Conversation
…c-operator The CRDs in install/ were stale relative to the upstream definitions in openshift/lightspeed-agentic-operator (config/crd/bases). Sync all four CRDs to match the current upstream state. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@jrangelramos: This pull request references OTA-1966 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 story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
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. |
WalkthroughFour CRD YAML files are updated: the Proposal CRD replaces ChangesAgentic CRD Schema Updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jrangelramos The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@install/0000_00_cluster-version-operator_45_lightspeed-crd-proposals.yaml`:
- Around line 239-240: The CRD contains conflicting namespace semantics for the
`requiredSecrets` field. The item descriptions now correctly state that secrets
must be in the operator namespace where sandbox pods run, but the parent
`requiredSecrets` field descriptions at lines 233-236, 650-653, 1066-1069, and
1444-1447 still incorrectly state "same namespace as the Proposal". Update all
four parent-level descriptions of the `requiredSecrets` field to consistently
specify that secrets must exist in the operator namespace, not in the Proposal's
namespace, to align with the item-level descriptions that were already
corrected.
- Around line 38-39: Update all embedded Proposal examples that contain skills
entries to include the now-required SkillsSource.paths field alongside the
existing image field. For each skills block shown in the examples (at the
locations referenced), add the paths configuration to make the examples show
valid manifest definitions. Ensure that every example demonstrating skills
configuration includes both the image and paths fields so users see correct,
complete manifests.
🪄 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: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 65f589a5-69c5-4651-bb11-be66ed1948a2
📒 Files selected for processing (4)
install/0000_00_cluster-version-operator_45_lightspeed-crd-proposals.yamlinstall/0000_00_cluster-version-operator_46_lightspeed-crd-agents.yamlinstall/0000_00_cluster-version-operator_47_lightspeed-crd-analysisresults.yamlinstall/0000_00_cluster-version-operator_47_lightspeed-crd-llmproviders.yaml
| \ skills:\n\t - image: registry.redhat.io/acs/acs-agentic-skills:latest\n\t | ||
| \ analysis:\n\t agent: smart\n\nExample — full remediation (analyze → |
There was a problem hiding this comment.
Update top-level Proposal examples to include required skills.paths.
SkillsSource.paths is now required (Line 440, Line 857, Line 1271, Line 1651), but several embedded examples still show skills entries with only image. These examples now describe invalid manifests and will mislead users.
Also applies to: 44-45, 354-355, 770-772, 1181-1187, 1564-1566
🤖 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 `@install/0000_00_cluster-version-operator_45_lightspeed-crd-proposals.yaml`
around lines 38 - 39, Update all embedded Proposal examples that contain skills
entries to include the now-required SkillsSource.paths field alongside the
existing image field. For each skills block shown in the examples (at the
locations referenced), add the paths configuration to make the examples show
valid manifest definitions. Ensure that every example demonstrating skills
configuration includes both the image and paths fields so users see correct,
complete manifests.
| at runtime. The Secret must exist in the operator namespace (where | ||
| sandbox pods run), not in the Proposal's namespace. |
There was a problem hiding this comment.
Resolve namespace semantics contradiction for requiredSecrets.
The updated item descriptions say secrets must be in the operator namespace, but the parent requiredSecrets descriptions still say “same namespace as the Proposal” (Line 233-236, Line 650-653, Line 1066-1069, Line 1444-1447). This creates conflicting API guidance in the same CRD.
Also applies to: 656-657, 1073-1074, 1450-1451
🤖 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 `@install/0000_00_cluster-version-operator_45_lightspeed-crd-proposals.yaml`
around lines 239 - 240, The CRD contains conflicting namespace semantics for the
`requiredSecrets` field. The item descriptions now correctly state that secrets
must be in the operator namespace where sandbox pods run, but the parent
`requiredSecrets` field descriptions at lines 233-236, 650-653, 1066-1069, and
1444-1447 still incorrectly state "same namespace as the Proposal". Update all
four parent-level descriptions of the `requiredSecrets` field to consistently
specify that secrets must exist in the operator namespace, not in the Proposal's
namespace, to align with the item-level descriptions that were already
corrected.
|
@jrangelramos: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Summary
Sync lightspeed agentic CRDs with the upstream definitions from
openshift/lightspeed-agentic-operator
(
config/crd/bases). The CRDs in this repository had drifted from thecanonical source.
Key changes
LLMProviders (
_47_lightspeed-crd-llmproviders.yaml)modelfield from LLMProvider to Agent CR — one provider can now serve multiple agents with different modelsurlfrom top-level to per-provider config (anthropic, googleCloudVertex, openAI, azureOpenAI, awsBedrock)namespacefrom credential secret references — secrets must now exist in the operator namespacemodelProviderenum (Anthropic/Google/OpenAI) to Google Cloud Vertex configprojecttoprojectIDin Vertex config with stricter validation (6-30 chars)typefield description with per-value documentationAgents (
_46_lightspeed-crd-agents.yaml)modelfield (moved from LLMProvider) with validationproviderSettingsfreeform map with the explicitmodelfieldllmProvider.nameminProperties: 1on status,minItems: 1on status conditionsvertex-opus→vertex-ai+claude-opus-4-6)Proposals (
_45_lightspeed-crd-proposals.yaml)outputSchemawith structuredanalysisOutput(mode: Default/Minimal + schema)schemarequired when mode is Minimal; Minimal only for analysis-only proposalspathsrequired onSkillsSource— entire-image mounting no longer supportedacs-lightspeed-skillstoacs-agentic-skillsmaxItemsfrom 8 to 9AnalysisResults (
_47_lightspeed-crd-analysisresults.yaml)RemediationOption:diagnosisandproposalno longer unconditionally requiredcomponentsdescription to referenceanalysisOutput.schemainstead ofoutputSchemaAll CRDs
controller-gen.kubebuilder.io/versionannotation from v0.20.1 to v0.19.0Test plan
openshift/lightspeed-agentic-operatorconfig/crd/basesmake verify-yamlto validate YAML manifestsmake build🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
Summary by CodeRabbit
New Features
Bug Fixes
Documentation