Skip to content

NO-JIRA: Add linked repository for cross-repo CodeRabbit reviews#1120

Open
sg00dwin wants to merge 1 commit intoopenshift:mainfrom
sg00dwin:NO-JIRA-linked-repo-console-coderabbit
Open

NO-JIRA: Add linked repository for cross-repo CodeRabbit reviews#1120
sg00dwin wants to merge 1 commit intoopenshift:mainfrom
sg00dwin:NO-JIRA-linked-repo-console-coderabbit

Conversation

@sg00dwin
Copy link
Member

@sg00dwin sg00dwin commented Mar 3, 2026

Summary

  • Add openshift/console as a linked repository for cross-repo CodeRabbit reviews
  • Enable review_details so cross-repo findings are visible in PR reviews

This completes the bidirectional link — openshift/console already links back to openshift/console-operator.
Together, CodeRabbit can detect breaking changes across the shared types boundary
(pkg/console/subresource/consoleserver/types.gopkg/serverconfig/types.go), ConsolePlugin CRD lifecycle,
and operator-managed configuration that console reads at runtime.

Additional changes:

  • Required by org - Added inheritance: true at the top level. This ensures repo-level config inherits from the org-level settings, so organizational safety checks aren't bypassed.

  • Add schema reference

    Test plan

    • Verify CodeRabbit reviews a PR on this repo and shows "Review details > Additional context used" when
      changes touch shared boundaries

Summary by CodeRabbit

  • Chores
    • Declared a YAML configuration schema for editor validation.
    • Enabled detailed review metadata and added path filters to exclude vendor and test files from reviews.
    • Enabled knowledge-base file pattern handling and added linked-repository synchronization instructions for console integration.
    • Minor formatting cleanup and removal of a duplicate trailing path filter.

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

@sg00dwin: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

  • Add openshift/console as a linked repository for cross-repo CodeRabbit reviews
  • Enable review_details so cross-repo findings are visible in PR reviews

This completes the bidirectional link — openshift/console already links back to openshift/console-operator.
Together, CodeRabbit can detect breaking changes across the shared types boundary
(pkg/console/subresource/consoleserver/types.gopkg/serverconfig/types.go), ConsolePlugin CRD lifecycle,
and operator-managed configuration that console reads at runtime.

Test plan

  • Verify CodeRabbit reviews a PR on this repo and shows "Review details > Additional context used" when
    changes touch shared boundaries

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.

@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between d8b6ad9 and 2b625b0.

📒 Files selected for processing (1)
  • .coderabbit.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .coderabbit.yaml
📜 Recent review details
🧰 Additional context used
🔀 Multi-repo context openshift/console

openshift/console [::openshift/console::]

  • Shared server config copy:

    • pkg/serverconfig/types.go — top comment explicitly says it's a copy of console-operator's types (link and sync requirement). Changes to console-operator shared types will need corresponding updates here. [::openshift/console::pkg/serverconfig/types.go]
  • Canonical ConsolePlugin API:

    • vendor/github.com/openshift/api/console/v1/types_console_plugin.go — definitive ConsolePlugin CRD types (Spec, Backend, Proxy, CSP, etc.). Any operator changes to the ConsolePlugin schema or field names/types may require updates here or in consumers. [::openshift/console::vendor/github.com/openshift/api/console/v1/types_console_plugin.go]
  • Backend consumers of operator-managed config / shared types:

    • pkg/server/server.go — constructs server config (ConsolePlugins, EnabledPluginsOrder) from operator-provided data. [::openshift/console::pkg/server/server.go]
    • pkg/serverconfig/metrics.go — polls/reads ConsolePlugin CRs and reports metrics; relies on plugin fields. [::openshift/console::pkg/serverconfig/metrics.go]
    • pkg/serverconfig/metrics_test.go — tests create ConsolePlugin fixtures; will need updates if ConsolePlugin schema changes. [::openshift/console::pkg/serverconfig/metrics_test.go]
    • pkg/plugins/handlers.go — parses plugin proxy config and references Proxy/ProxyService fields. [::openshift/console::pkg/plugins/handlers.go]
  • Frontend consumers / UX that depend on ConsolePlugin and operator config:

    • frontend/public/module/k8s/types.ts & frontend/public/models/index.ts — ConsolePluginKind and ConsolePluginModel used across UI. [::openshift/console::frontend/public/module/k8s/types.ts] [::openshift/console::frontend/public/models/index.ts]
    • frontend/public/plugins.ts and dynamic-plugin-sdk runtime — initialize plugin runtime using operator-provided console config/manifest. [::openshift/console::frontend/public/plugins.ts] [::openshift/console::frontend/packages/console-dynamic-plugin-sdk/src/runtime/plugin-init.ts]
    • frontend/packages/console-app/src/components/console-operator/ConsoleOperatorConfig.tsx — renders and watches ConsolePlugin resources and operator config (uses ConsolePluginModel, ConsoleOperatorConfigModel). [::openshift/console::frontend/packages/console-app/src/components/console-operator/ConsoleOperatorConfig.tsx]
    • frontend/packages/console-app/src/components/console-operator/ConsolePluginBackendDetail.tsx and many other UI components/pages reference ConsolePlugin fields (CSP, proxy, backend, manifest pages, status components). [::openshift/console::frontend/packages/console-app/src/components/console-operator/ConsolePluginBackendDetail.tsx] [::openshift/console::frontend/packages/console-app/src/components/console-operator/ConsolePluginCSPStatusDetail.tsx]
    • frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts — integration tests exercise ConsolePlugin flows; will break if schema/behavior changes. [::openshift/console::frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts]
  • Other notable references:

    • scripts and SDK code in frontend/packages/console-dynamic-plugin-sdk reference ConsolePlugin manifests, build metadata, and manifest schema generation. Changes in operator-managed manifest fields or Plugin manifest expectations can affect these. [::openshift/console::frontend/packages/console-dynamic-plugin-sdk/src/schema/plugin-manifest.ts] [::openshift/console::frontend/packages/console-dynamic-plugin-sdk/src/build-types.ts]

Conclusion

  • There are multiple backend and frontend consumers of (a) the shared console server config types and (b) the ConsolePlugin CRD/schema. The PR’s addition of openshift/console as a linked repository for CodeRabbit cross-repo reviews is warranted: modifications in console-operator’s shared types, ConsolePlugin lifecycle/schema, or operator-managed configuration are likely to require coordinated updates in the files listed above.

Walkthrough

Updated .coderabbit.yaml: replaced header metadata with a YAML schema declaration; enabled reviews.review_details: true; added path_filters exclusions (!vendor/**, !**/*_test.go) and removed a trailing duplicate block; added knowledge_base.linked_repositories for openshift/console with sync instructions; minor formatting tweaks.

Changes

Cohort / File(s) Summary
CodeRabbit Configuration
​.coderabbit.yaml
Replaced header metadata with "$schema": "https://coderabbit.ai/integrations/schema.v2.json"; enabled reviews.review_details: true; introduced path_filters with exclusions !vendor/** and !**/*_test.go and removed a trailing duplicate path_filters block; added knowledge_base.linked_repositories entry for openshift/console containing multi-line synchronization instructions; minor formatting/whitespace adjustments in knowledge_base.code_guidelines.filePatterns.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding a linked repository configuration to enable cross-repo CodeRabbit reviews, which is directly reflected in the .coderabbit.yaml modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Stable And Deterministic Test Names ✅ Passed PR only modifies .coderabbit.yaml configuration file, not test files. No test definitions or dynamic test names present.
Test Structure And Quality ✅ Passed PR modifies only .coderabbit.yaml configuration file with no test code changes, so test quality check is not applicable.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@openshift-ci openshift-ci bot requested review from jhadvig and spadgett March 3, 2026 16:35
@sg00dwin sg00dwin force-pushed the NO-JIRA-linked-repo-console-coderabbit branch from 5a232f1 to d8b6ad9 Compare March 3, 2026 17:50
@sg00dwin
Copy link
Member Author

sg00dwin commented Mar 3, 2026

/retest

@sg00dwin
Copy link
Member Author

sg00dwin commented Mar 3, 2026

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@sg00dwin
Copy link
Member Author

sg00dwin commented Mar 3, 2026

@coderabbitai full review

@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

✅ Actions performed

Full review triggered.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.coderabbit.yaml (1)

14-17: Consider narrowing the test-file exclusion filter.

Line 17 excludes every *_test.go file from review. That can suppress useful signals for boundary/contract changes. Prefer keeping tests in scope (or excluding only generated/known-noisy test paths).

Suggested adjustment
   path_filters:
   - "!vendor/**"
-  - "!**/*_test.go"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml around lines 14 - 17, The current path_filters entry
"!**/*_test.go" indiscriminately excludes all test files from review; update the
.coderabbit.yaml path_filters so tests are not globally ignored—either remove
the "!**/*_test.go" pattern or replace it with a narrower exclusion (e.g.,
specific generated-test directories or known noisy paths) and keep test files
(or only generated tests) in scope; target the path_filters mapping and the
exact pattern string "!**/*_test.go" when making the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.coderabbit.yaml:
- Around line 14-17: The current path_filters entry "!**/*_test.go"
indiscriminately excludes all test files from review; update the
.coderabbit.yaml path_filters so tests are not globally ignored—either remove
the "!**/*_test.go" pattern or replace it with a narrower exclusion (e.g.,
specific generated-test directories or known noisy paths) and keep test files
(or only generated tests) in scope; target the path_filters mapping and the
exact pattern string "!**/*_test.go" when making the change.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 0ec9d85 and d8b6ad9.

📒 Files selected for processing (1)
  • .coderabbit.yaml
📜 Review details
🧰 Additional context used
🔀 Multi-repo context openshift/console

Findings for openshift/console [::openshift/console::]

  • serverconfig types / shared-copy

    • pkg/serverconfig/types.go contains Config structs that mirror console-operator types and top-line comment linking to operator. [::openshift/console::pkg/serverconfig/types.go]
  • Backend consumers of operator-managed config / ConsolePlugin CRD

    • pkg/server/server.go — builds serverconfig.Config (ConsolePlugins, EnabledPluginsOrder). [::openshift/console::pkg/server/server.go]
    • pkg/serverconfig/metrics.go and pkg/serverconfig/metrics_test.go — poll/read ConsolePlugin CRs and report metrics; tests construct ConsolePlugin objects. [::openshift/console::pkg/serverconfig/metrics.go] [::openshift/console::pkg/serverconfig/metrics_test.go]
    • pkg/plugins/handlers.go — parses plugin proxy config and uses Proxy/ProxyService types. [::openshift/console::pkg/plugins/handlers.go]
  • CRD/type definitions (vendor)

    • vendor/github.com/openshift/api/console/v1/types_console_plugin.go and generated artifacts provide the definitive ConsolePlugin types (ConsolePlugin, Spec, CSP, Proxy, Backend, Service, etc.). [::openshift/console::vendor/github.com/openshift/api/console/v1/types_console_plugin.go] [::openshift/console::vendor/github.com/openshift/api/console/v1/zz_generated.swagger_doc_generated.go] [::openshift/console::vendor/github.com/openshift/api/console/v1/zz_generated.deepcopy.go] [::openshift/console::vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml]
  • Frontend consumers and runtime

    • frontend/public/module/k8s/types.ts and frontend/public/models/index.ts — ConsolePluginKind and ConsolePluginModel used across UI. [::openshift/console::frontend/public/module/k8s/types.ts] [::openshift/console::frontend/public/models/index.ts]
    • frontend/public/plugins.ts and dynamic-plugin-sdk init — plugin runtime depends on operator-provided console config/manifest. [::openshift/console::frontend/public/plugins.ts] [::openshift/console::frontend/packages/console-dynamic-plugin-sdk/src/runtime/plugin-init.ts]
    • Multiple UI components reference ConsolePlugin/ConsoleOperatorConfig (examples: ConsolePluginBackendDetail.tsx, ConsoleOperatorConfig.tsx and related components). [::openshift/console::frontend/packages/console-app/src/components/console-operator/ConsolePluginBackendDetail.tsx] [::openshift/console::frontend/packages/console-app/src/components/console-operator/ConsoleOperatorConfig.tsx]
    • Integration tests reference ConsolePlugin manifests and pages (demo-dynamic-plugin.cy.ts). [::openshift/console::frontend/packages/integration-tests-cypress/tests/app/demo-dynamic-plugin.cy.ts]

Assessment

  • The console repo actively consumes the ConsolePlugin CRD and the serverconfig types that are maintained in console-operator. Changes in console-operator’s shared types (pkg/console/subresource/consoleserver/types.go), ConsolePlugin schema/lifecycle, or operator-managed console config are likely to require updates in the files listed above. The PR’s addition of openshift/console as a linked repository for cross-repo reviews is appropriate.
🔇 Additional comments (3)
.coderabbit.yaml (3)

1-1: Schema hint addition is a solid improvement.

This enables schema-aware validation/autocomplete for .coderabbit.yaml and helps catch config mistakes early.


47-47: filePatterns usage looks correct.

The key name and structure align with the expected schema and keep guideline sources explicit.


53-61: Linked-repository guidance is well targeted.

The repository mapping and instructions clearly capture the shared-type and runtime-config boundaries, which should improve cross-repo breakage detection quality.

Added inheritance: true at the top level. This ensures repo-level config inherits from the org-level settings, so organizational safety checks aren't bypassed.
Move path_filters: Property should not be at root level, belongs under: reviews.path_filters
Add schema reference
@sg00dwin sg00dwin force-pushed the NO-JIRA-linked-repo-console-coderabbit branch from d8b6ad9 to 2b625b0 Compare March 4, 2026 00:14
@jhadvig
Copy link
Member

jhadvig commented Mar 4, 2026

/override ci/prow/okd-scos-images

@jhadvig
Copy link
Member

jhadvig commented Mar 4, 2026

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 4, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 4, 2026

@jhadvig: Overrode contexts on behalf of jhadvig: ci/prow/okd-scos-images

Details

In response to this:

/override ci/prow/okd-scos-images

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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 4, 2026

@sg00dwin: 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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 4, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jhadvig, sg00dwin

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

The pull request process is described 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. 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