Commit Graph

67 Commits

Author SHA1 Message Date
Jake Hyde 99ad1f7b0a
[52223] Validate RKEConfig for provisioning cluster (#1137)
* Validate RKEConfig for provisioning cluster

* Wait for azure config crd in testing

* go generate
2025-10-13 14:58:11 -04:00
Jake Hyde ff31a0075a
Fix crash when rancherd patches local cluster (#1100) (#1105)
Fix crash when rancherd patches local cluster
2025-09-19 11:44:30 -04:00
Jonathan Crowther 863afa796c
Extend the username uniqueness check to updates as well as creates (#1053)
* Add the check and tests

* Update docs
2025-09-03 13:00:26 -04:00
Raul Cabello Martin 97b8962de8
validate password for local users (#1015)
- hash password
- check username does not exists
- user can't delete himself
- user can't deactivate himself
2025-08-11 18:00:16 +02:00
Jack Luo a25920ab95
[2.13] add validation for etcd s3 cloud credential (#985) 2025-08-08 09:17:38 -07:00
Jonathan Crowther fb2a59c99c
Add update validation for User.UserName (#943)
* Add update validation for User.UserName

* Fix unit test
2025-07-18 09:08:13 -04:00
Harrison 326880feb8
Identify and block malformed NO_PROXY values (#962) 2025-07-02 18:52:04 -04:00
Josh Meranda aea1b7c94d
[main] Validate auditlog (#960)
* add AuditPolicy to codegen

* go generate

* add validation checks and tests

* use external dependencies
2025-06-30 11:43:20 -04:00
Peter Matseykanets 475183c7a9
Don't require certificate if tls is on for ldap/ad authconfigs (#927)
Ref: https://github.com/rancher/rancher/issues/50470
2025-05-28 14:22:14 -04:00
Jonathan Crowther cdbe1c198c
Use backing namespace for projects (#869)
* Use backing namespace for projects

* Move to caches in project mutator

* Fix error message

* Switch client names to cache
2025-04-09 12:38:58 -04:00
Jonathan Crowther 2618ee01f1
Add new User validation webhook (#786)
* Add new User validation

* Fix linter errors
2025-03-10 12:01:31 -04:00
Harrison a2575c439b
bump rancher type updates (#744) 2025-02-28 16:11:29 -05:00
Peter Matseykanets c61e597ef5
Validate LDAP/AD authconfigs (#682)
https://github.com/rancher/rancher/issues/48071
2025-02-24 13:37:28 -05:00
Kevin McDermott 126920f167
Validate userPrincipalName or userName and groupName
This adds support for the change in Rancher to support the userNamePrincipal in GRBs.
2025-02-24 08:44:40 +00:00
Alessio Greggi 51421a72f3
feat(setting): add validation for auth-user-session-idle-ttl-minutes (#510)
* feat(setting): add validation for auth-user-session-idle-ttl-minutes

Signed-off-by: Alessio Greggi <alessio.greggi@suse.com>

* docs: add auth-user-session-idle-ttl-minutes attribute

Signed-off-by: Alessio Greggi <alessio.greggi@suse.com>

---------

Signed-off-by: Alessio Greggi <alessio.greggi@suse.com>
2025-02-21 13:38:40 -05:00
Harrison a7fb974ea6
cluster agent pdb and pc validation (#702) 2025-02-21 10:06:14 -05:00
Jack Luo a948ce4ffe
Support for Version Management on Imported RKE2/K3s Clusters (#669) 2025-02-18 14:37:30 -07:00
Chad Roberts dfd30a4901
[main/2.10.2] Add resource request and limit validation when creating a namespace (#550)
* Add resource request and limit validation when creating a namespace

* Update test for number of namespace admitters

* cleaning up lint errors

* Allow for empty resource limit annotation to be present

* Update to allow for partial request/limits
2024-12-06 15:23:31 -08:00
Jonathan Crowther 80672e48bc
[0.6] Revert backing namespace changes (#539)
* Revert "[0.6] Make sure to update the name in the mutator (#535)"

This reverts commit 7e0627b265.

* Revert "[v0.6] Populate backing namespace field for projects (#532)"

This reverts commit b17444735b.
2024-11-05 09:54:39 -05:00
Jonathan Crowther b17444735b
[v0.6] Populate backing namespace field for projects (#532)
* Populate backing namespace field for projects

* Address comments
2024-10-30 13:41:38 -04:00
Jacob Lindgren 42b3f0d471
Merge pull request #316 from thatmidwesterncoder/toleration_validation (#459)
Add validation to Toleration and Affinitys Keys
2024-10-24 15:27:09 -05:00
Peter Matseykanets 7faaa6262b
Validate LastUsedAt for Token and ClusterAuthToken (#520)
Ref: https://github.com/rancher/rancher/issues/45732
2024-10-09 09:36:46 -04:00
Jonathan Crowther be481b7632
Add checks for annotation to opt out of cluster owner RBAC (#511)
* Move common annotations to resources/common

* Add new annotation to opt out of creatorID

* Add comments and unit tests

* Fix integration test

* Update annotation name

* Add annotation check to project and cluster

* Move annotation check to create

* Fix unit tests
2024-10-04 10:18:01 -04:00
Peter Matseykanets 6b74a9a900
Validate creatorId and creator-principal-name annotations for cluster/project (#501)
Ref: https://github.com/rancher/rancher/issues/46828
2024-09-19 15:40:04 -04:00
Peter Matseykanets 46f1698b49
Check that {disable|delete}-inactive-user-after setting is not less than auth-user-session-ttl-minutes (#471)
Ref: https://github.com/rancher/rancher/issues/46648
2024-09-09 15:24:39 -04:00
Jake Hyde acb58843ba
go generate 2024-08-20 11:57:14 -04:00
Sakala Venkata Krishna Rohit 40e8eae329
Add validation for ClusterRepo (#470)
* Add clusterrepo validations

* Add docs

* unit tests
2024-08-12 14:03:54 -04:00
Max Sokolovsky 5fa648def0
Add a check for the agent-tls-mode setting (#416) 2024-07-05 13:02:42 -04:00
Jake Hyde 70f1273ce3
Data dir rfc (#410)
Add validator for data directories
2024-07-01 19:20:11 -04:00
Jake Hyde 276b2b9534
Dynamic schema rfc (#368)
Add support for allow-dynamic-schema-drop annotation
2024-06-28 20:01:06 -04:00
Raul Cabello Martin f5cfd9821f
[v0.5] s4: Fixes 374 (#409)
* Verify ExternalRules in RoleTemplates

If the feature flag external-rules is enabled, the validation for RT follows this sequence:
- 1) Reject if externalRules are provided and the user doesn’t have escalate permissions on RoleTemplates.
- 2) Validate the policy rules defined in externalRules the same way as the already existing rules field. This validation leverages Kubernetes’ upstream validation. Webhook will validate this only if external is set to true.
- 3) Use externalRules for resolving rules if provided.
- 4) Use backing ClusterRole in the local cluster if externalRules are not provided.
- 5) Reject if externalRules are not provided and there is no backing ClusterRole in the local cluster.

For PRTB or CRTB:
- 1) Use externalRules for resolving rules if provided.
- 2) Use backing ClusterRole in the local cluster if externalRules are not provided.

The previous verification process applies if the external-rules feature flag is disabled.

* Allow Restricted Admin to update external-rules feature flag (#102)

---------
Co-authored-by: Raul Cabello Martin <raulcabm@gmail.com>
Co-authored-by: Jonathan Crowther <jonathan.crowther@suse.com>

* bump rancher to be able to use ExternalRules

* fix test conflict

---------

Co-authored-by: Peter Matseykanets <peter.matseykanets@suse.com>
2024-06-25 10:34:38 +02:00
Raul Cabello Martin af2d8bd5d2
Fleet RBAC - InheritedFleetWorkspacePermissions validation (#348)
- Validate the user have enough permission to create/update the rules defined in InheritedFleetWorkspacePermissions.ResourceRules
- Validate the user have enough permission to create/update the rules that are generated based on the InheritedFleetWorkspacePermissions.WorkspaceVerbs

---------

Co-authored-by: Michael Bolot <michael.bolot@suse.com>
2024-06-24 09:49:31 +02:00
Peter Matseykanets b3bccd2707
[v0.5] s4: Fixes 227 (#404)
* Validate user retention userattribute fields and settings (#90)
* [v0.4.s4] Don't allow empty lastLogin user attribute (#97)
2024-06-18 07:26:38 -04:00
Chad Roberts 8e3d96998f
Add validator for clusterproxyconfigs to make sure only one is ever created for a given cluster (#327)
* Add validator for clusterproxyconfigs to make sure only one is ever created for a given cluster
* Add integration test for clusterProxyConfigs
2024-04-03 12:02:30 -04:00
Vatsal Parekh 89f65970b4 Update docs for cluster context
Signed-off-by: Vatsal Parekh <vatsalparekh@outlook.com>
2024-04-01 17:52:21 +05:30
Max Sokolovsky 75e382d09c
Merge pull request #326 from maxsokolovsky/2.9-validate-container-default-resource-limit
Validate container default resource limit on projects
2024-02-13 09:33:52 -05:00
Max Sokolovsky 41ae77d524 Validate container default resource limit on projects 2024-02-12 14:24:54 -05:00
Andreas Kupries aa922f09d0 chore: updated roletemplae, globalrole documentation
chore: regenerated main documentation file
2024-01-29 13:22:36 +01:00
Jonathan Crowther b18c38740a
Add webhook checks for NamespacedRules (#309)
* Add role and rolebinding webhook validation. Add NamespacedRules escalation checks for GlobalRoles

* Update rancher/pkg/apis

* Fix linting issue

* Log error and add test for it
2024-01-15 17:17:15 -05:00
Michael Bolot 75cf0e58ca Adding support for bind verb to globalRoles
Adds support for the bind verb on globalRoles, which follows upstream
behavior and allows users to create/update a binding to a globalRole
that has >= permissions than their own.
2023-10-03 09:35:14 -05:00
Michael Bolot ffba7246e8 Adding support for "escalate" for globalRoles
Adds support for the escalate verb, like upstream, when checking for
escalation in global roles. This will allow users to change a global
role even if they don't have >= permissions of the target role
2023-10-03 09:22:36 -05:00
Michael Bolot 9692e02704 Revert "Adding SA exceptions to gr escalation"
This reverts commit fc3f4d171c.
2023-10-02 10:45:44 -05:00
Michael Bolot 23cc28881a
Merge pull request #301 from MbolotSuse/projects-deleting
Make project.spec.ClusterName immutable
2023-09-29 16:34:38 -05:00
Michael Bolot afd79ef81f
Merge pull request #298 from MbolotSuse/gr-inherited-roles-sa-allow
Adding SA exceptions to gr escalation
2023-09-29 11:42:27 -05:00
Michael Bolot 4015d3ef48 Make project.spec.ClusterName immutable
The clusterName field of projects was already immutable in effect since
it needed to match the namespace, which is immutable. This makes it
explcitly immutable, and changes the check for cluster existence to only
occur on create requests
2023-09-29 09:56:13 -05:00
Michael Bolot fc3f4d171c Adding SA exceptions to gr escalation
Adds an exception for the fleet/backup-restore for the
inheritedClusterRoles escalation check
2023-09-28 12:25:47 -05:00
Michael Bolot 749b8bd5fc Adding clusterName validation to crtbs
Adds a check to ensure the cluster referred to by clusterName exists
2023-09-25 13:56:35 -05:00
Michael Bolot 707f7876c7 Adding validation for cluster/projectName for prtb
Adds validation on clusterName and projectName for prtbs to make sure
they refer to existing projects/clusters and that the project refers to
the cluster in the spec
2023-09-25 13:56:30 -05:00
Michael Bolot 9d4951c711 Adding validation for clusterName to projects
Adds validation for the clusterName field for projects, and fixes and
unrelated error where error messages for globalRoleBindings indicated
their own name as the missing resource instead of the target GlobalRole
2023-09-22 16:35:31 -05:00
Kevin Joiner aaf253732b
Merge pull request #260 from raulcabello/namespace-exists
Reject workspace creation if namespace already exists
2023-09-18 11:13:28 -04:00