Skip to content

feat(evalhub): make EvalHub a cluster-scoped singleton deployed in operator namespace#655

Open
ruivieira wants to merge 1 commit intotrustyai-explainability:dev/evalhub-multi-tenancyfrom
ruivieira:dev/evalhub-multi-tenancy/initial
Open

feat(evalhub): make EvalHub a cluster-scoped singleton deployed in operator namespace#655
ruivieira wants to merge 1 commit intotrustyai-explainability:dev/evalhub-multi-tenancyfrom
ruivieira:dev/evalhub-multi-tenancy/initial

Conversation

@ruivieira
Copy link
Member

Phase 1 of the multitenancy design. EvalHub is now a cluster-scoped CRD with singleton enforcement (name must be 'evalhub'), and all namespace-scoped resources (Deployment, Service, ConfigMaps, Route, ServiceAccounts, Roles, RoleBindings) are deployed in the operator namespace via a new targetNamespace() helper.

  • Add +kubebuilder:resource:scope=Cluster and XValidation markers
  • Add targetNamespace() returning r.Namespace for all sub-resources
  • Replace all instance.Namespace references with r.targetNamespace()
  • Update generateAuthReviewerClusterRoleBindingName to take explicit namespace parameter
  • Update sample CR: remove namespace, rename to 'evalhub'
  • Update unit and integration tests for cluster-scoped CR

…erator namespace

Phase 1 of the multitenancy design. EvalHub is now a cluster-scoped CRD with singleton enforcement (name must be 'evalhub'), and all namespace-scoped resources (Deployment, Service, ConfigMaps, Route, ServiceAccounts, Roles, RoleBindings) are deployed in the operator namespace via a new targetNamespace() helper.

- Add +kubebuilder:resource:scope=Cluster and XValidation markers
- Add targetNamespace() returning r.Namespace for all sub-resources
- Replace all instance.Namespace references with r.targetNamespace()
- Update generateAuthReviewerClusterRoleBindingName to take explicit namespace parameter
- Update sample CR: remove namespace, rename to 'evalhub'
- Update unit and integration tests for cluster-scoped CR
@ruivieira ruivieira requested review from julpayne and tarilabs March 3, 2026 08:55
@ruivieira ruivieira self-assigned this Mar 3, 2026
@ruivieira ruivieira added the kind/enhancement New feature or request label Mar 3, 2026
@openshift-ci
Copy link

openshift-ci bot commented Mar 3, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

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

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant