Skip to content
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

[controller] Add NFSStorageClass controller and validation webhook for StorageClasses with provisioner nfs.csi.k8s.io #4

Merged
merged 24 commits into from
May 13, 2024

Conversation

AleksZimin
Copy link
Member

@AleksZimin AleksZimin commented May 5, 2024

Description

This PR introduces the NFSStorageClass controller along with a validation webhook for StorageClasses that utilize the nfs.csi.k8s.io provisioner. The new controller is responsible for managing NFS-based StorageClasses, ensuring streamlined lifecycle management. The accompanying validation webhook is designed to enforce strict control over these StorageClasses, prohibiting any direct modifications, creations, or deletions. All changes to NFS StorageClasses must be made through the NFSStorageClass resource, ensuring compliance with defined standards and configurations.

Why do we need it, and what problem does it solve?

  • Controlled Management: The NFSStorageClass controller automates the management of NFS-based StorageClasses, ensuring that they are handled consistently. This automation simplifies the setup and ongoing management for users, providing a straightforward mechanism to manage NFS storage configurations without needing to handle complex manual processes.
  • Strict Validation: The validation webhook prevents unauthorized or accidental changes to NFS-based StorageClasses, enforcing that all modifications are made through the designated NFSStorageClass resource. This helps maintain system integrity and prevent configuration drift, while also simplifying compliance by funneling all changes through a controlled process.

What is the expected result?

  • A robust management system for NFS-based StorageClasses that centralizes control and enforces configuration standards.
  • Prevention of direct modifications to NFS StorageClasses, ensuring that all changes are vetted and managed through the NFSStorageClass resource.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

@AleksZimin AleksZimin self-assigned this May 5, 2024
@AleksZimin AleksZimin added the enhancement New feature or request label May 5, 2024
@AleksZimin AleksZimin changed the title [controller] add controller [controller] Add NFSStorageClass controller and validation webhook for StorageClasses with provisioner nfs.csi.k8s.io May 7, 2024
Aleksandr and others added 19 commits May 8, 2024 12:59
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
@AleksZimin AleksZimin force-pushed the add-nfs-sc-controller branch from 98781fe to 72e4fdd Compare May 8, 2024 10:00
AleksZimin added 4 commits May 8, 2024 13:09
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
Signed-off-by: Aleksandr Zimin <[email protected]>
@AleksZimin AleksZimin force-pushed the add-nfs-sc-controller branch 2 times, most recently from 8f538a6 to 0ed39d6 Compare May 13, 2024 07:18
@AleksZimin AleksZimin force-pushed the add-nfs-sc-controller branch 2 times, most recently from c1f1742 to 796bea4 Compare May 13, 2024 12:56
Signed-off-by: Aleksandr Zimin <[email protected]>
@AleksZimin AleksZimin force-pushed the add-nfs-sc-controller branch from 796bea4 to 1b28035 Compare May 13, 2024 12:58
@AleksZimin AleksZimin merged commit a81dead into main May 13, 2024
2 checks passed
@AleksZimin AleksZimin deleted the add-nfs-sc-controller branch May 13, 2024 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants