-
Notifications
You must be signed in to change notification settings - Fork 7
feat(appProjectRBAC)[#36]: add support for managing AppProject RBAC #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…eBinding CRDs + APIs Signed-off-by: Georgy Khromov <[email protected]>
Signed-off-by: Georgy Khromov <[email protected]>
b325b1a to
6c0fead
Compare
…jectRoles Signed-off-by: Georgy Khromov <[email protected]>
…eBindings Signed-off-by: Georgy Khromov <[email protected]>
… ArgoCDProjectRoleBinding + updated docs Signed-off-by: Georgy Khromov <[email protected]>
…peline Signed-off-by: Georgy Khromov <[email protected]>
…peline Signed-off-by: Georgy Khromov <[email protected]>
… again Signed-off-by: Georgy Khromov <[email protected]>
Signed-off-by: Georgy Khromov <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds support for AppProject-scoped RBAC by introducing new CRDs, controllers, and documentation updates.
- Defines
ArgoCDProjectRoleandArgoCDProjectRoleBindingCRDs and base YAMLs - Registers and wires up two new controllers in
main.goand bumps operator version - Expands README with AppProject-scoped usage examples and bumps release tags
Reviewed Changes
Copilot reviewed 57 out of 57 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| config/crd/bases/rbac-operator.argoproj-labs.io_argocdprojectroles.yaml | New CRD for AppProject-scoped Role |
| config/crd/bases/rbac-operator.argoproj-labs.io_argocdprojectrolebindings.yaml | New CRD for AppProject-scoped RoleBinding |
| cmd/main.go | Imported and registered project role and binding reconcilers |
| api/v1alpha1/argocdprojectrolebinding_types.go | Go types for ArgoCDProjectRoleBinding |
| README.md | Documentation added for AppProject-scoped RBAC usage |
| Makefile & config/manager/kustomization.yaml | Version bump to v0.2.0 and kustomize update |
Comments suppressed due to low confidence (3)
api/v1alpha1/argocdprojectrolebinding_types.go:2
- Update the copyright year to 2025 to reflect the current release date.
Copyright 2024.
cmd/main.go:28
- [nitpick] Consider renaming the import alias to something more descriptive (e.g.
applicationv1alpha1) to clarify that this is the Argo CD application API group.
argocdv1alpha "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
api/v1alpha1/argocdrole_types.go:25
- [nitpick] For consistency and clarity, hyphenate “global-scoped” to “global-scoped Role” or reword to “globally scoped Role”.
// ArgoCDRoleSpec defines the desired state of global scoped Role (written to argocd-rbac-cm ConfigMap)
What type of PR is this?
/kind enhancement
What does this PR do / why we need it:
see #36 for more context.
This PR adds support for AppProject-scoped RBAC management utilizing k8s' native CRDs.
It adds two new CRDs + Controllers:
ArgoCDProjectRole: Defines the policies to be added to AppProject's RBACArgoCDProjectRoleBinding: Binds a specified role to a single or multiple AppProjects + defines Groups the role should be applied toExample usage can be seen in updated README.md.
Have you updated the necessary documentation?
Which issue(s) this PR fixes:
Fixes #36