Skip to content

Conversation

@j4ckstraw
Copy link

@j4ckstraw j4ckstraw commented Mar 12, 2025

kubernetes design user-facing roles: view/edit/admin. add aggregated clusterrole to support multi-tenant scenario

see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#default-roles-and-role-bindings

Why are these changes needed?

Related issue number

ray-project/kuberay-helm#48
ray-project/kuberay-helm#50

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(

- ray.io
resources:
- rayjobs
- rayjobs/status
Copy link
Author

Choose a reason for hiding this comment

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

only operator can update/patch status subresource. so viewer can get/list/watch xx/status, while editor not

metadata:
name: raycluster-viewer-role
labels:
rbac.authorization.k8s.io/aggregate-to-view: "true"
Copy link
Author

Choose a reason for hiding this comment

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

@kevin85421
Copy link
Member

cc @andrewsykim @MortalHappiness @rueian for review

@j4ckstraw j4ckstraw force-pushed the add-aggregate-labels-to-cluster-role branch from 857255b to 96eaed5 Compare March 18, 2025 02:05
Copy link
Member

@MortalHappiness MortalHappiness left a comment

Choose a reason for hiding this comment

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

Also, please fix the CI errors.

description: A Helm chart for Kubernetes
name: kuberay-operator
version: 1.1.0
version: 1.1.1
Copy link
Member

Choose a reason for hiding this comment

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

Why this line needs to be changed?

Copy link
Author

Choose a reason for hiding this comment

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

chart has changed, if version not update, users cannot distinguish between new and old versions.

Copy link
Member

@MortalHappiness MortalHappiness Mar 20, 2025

Choose a reason for hiding this comment

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

cc @kevin85421 Do you consider this only a patch version change, or do you think it is better to update the version to 1.2.0 or 2.0.0?

Copy link
Member

Choose a reason for hiding this comment

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

Oops, I wasn't aware that it's 1.1.0. We should change it to nightly instead. Typically, I only update version in the release branch. I don't know why I updated it before.

@j4ckstraw
Copy link
Author

Also, please fix the CI errors.

fixed. PTAL @MortalHappiness

- ray.io
resources:
- rayjobs
- rayjobs/status
Copy link
Member

@MortalHappiness MortalHappiness Mar 19, 2025

Choose a reason for hiding this comment

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

Why grant additional list and watch permissions for rayjobs/status?

Copy link
Author

Choose a reason for hiding this comment

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

I just refer to kubernetes default clusterrole system:aggregate-to-view https://github.com/kubernetes/kubernetes/blob/b4c6895d0b0a913e3461bdc78358aa9514604b8f/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go#L111, it grant */status to view clusterrole. If rayxxx/status is not appropriate to be here, I can remove it.

Copy link
Member

Choose a reason for hiding this comment

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

cc @kevin85421 Do you think it is okay to grant those additional permissions to status? Personally, I think it is fine to grant them.

Copy link
Member

Choose a reason for hiding this comment

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

It's fine with me. I plan to revisit all RBAC permissions soon and can decide whether to remove it at that time. We can leave it as is for this PR.

Copy link
Member

@Future-Outlier Future-Outlier left a comment

Choose a reason for hiding this comment

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

Hi, @j4ckstraw sorry for the late review, do you mind solve the merge conflict and ping me to do a final pass, thank you!

@j4ckstraw j4ckstraw force-pushed the add-aggregate-labels-to-cluster-role branch from 1e64622 to fb4f98f Compare December 8, 2025 13:24
@j4ckstraw j4ckstraw force-pushed the add-aggregate-labels-to-cluster-role branch from fb4f98f to e185cdd Compare December 9, 2025 01:28
Copy link
Member

@Future-Outlier Future-Outlier left a comment

Choose a reason for hiding this comment

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

cc @machichima @win5923 to do final pass, thank you!!

@j4ckstraw
Copy link
Author

@machichima @win5923 thank you very much. Every line matters 🫡

Copy link
Collaborator

@win5923 win5923 left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Collaborator

@machichima machichima left a comment

Choose a reason for hiding this comment

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

LGTM! Thank you

@win5923 win5923 requested a review from rueian December 12, 2025 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants