-
Notifications
You must be signed in to change notification settings - Fork 3
Add dfs-shared-pvc: lifecycle management for sharing DFS PVCs across namespaces #29
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
base: main
Are you sure you want to change the base?
Conversation
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
This PR introduces the dfs-shared-pvc project, providing a comprehensive lifecycle management solution for sharing distributed file storage (DFS) persistent volumes across Kubernetes namespaces using the VAST CSI driver.
Key changes:
- Full-featured bash script (share-pvc.sh) with 5 subcommands: apply, list, validate, delete, and reconcile
- Comprehensive test suite with 28 test scenarios covering core functionality, YAML manifests, and production readiness
- Complete documentation including main README, test README, examples README, and 5 example manifest files
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| storage/dfs-shared-pvc/share-pvc.sh | Main script implementing PVC sharing lifecycle management (1362 lines) with YAML parsing, validation, and resource creation |
| storage/dfs-shared-pvc/tests/test-share-pvc.sh | Comprehensive test suite (2412 lines) validating all script functionality across 28 test scenarios |
| storage/dfs-shared-pvc/tests/README.md | Test documentation covering requirements, usage, test coverage matrix, and troubleshooting |
| storage/dfs-shared-pvc/README.md | Main documentation with installation, usage, command reference, manifest format, and troubleshooting |
| storage/dfs-shared-pvc/examples/README.md | Examples documentation with quick start guide, common patterns, operations, and best practices |
| storage/dfs-shared-pvc/examples/customer-example.yaml | Comprehensive customer template with detailed inline comments and multiple example configurations |
| storage/dfs-shared-pvc/examples/manifest-example.yaml | Basic manifest example for ML dataset sharing |
| storage/dfs-shared-pvc/examples/multi-environment-share.yaml | Example showing multi-environment sharing pattern |
| storage/dfs-shared-pvc/examples/complete-example.yaml | Full Kubernetes resource example including namespaces, PVCs, and pods |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| **Remove shares:** | ||
| ```bash | ||
| ../share-pvc.sh delete -f my-shares.yaml |
Copilot
AI
Jan 8, 2026
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.
The example commands reference "-f" flag for list and delete operations, but reviewing the script's usage documentation shows these commands don't support the "-f" flag. The list command only supports --source, --target, and --output flags, while delete supports --source, --target, --all, --force, and --dry-run. This documentation inconsistency could confuse users.
| ../share-pvc.sh delete -f my-shares.yaml | |
| ../share-pvc.sh delete --source <source-namespace>/<source-pvc> --target <target-namespace> |
| # Test Suite for share-pvc.sh | ||
| # Comprehensive testing of DFS shared PVC functionality | ||
| # Tests distributed file storage (DFS) volume sharing using VAST CSI driver |
Copilot
AI
Jan 8, 2026
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.
The comment states "Tests distributed file storage (DFS) volume sharing using VAST CSI driver" but this appears to be a generic statement. The test suite actually validates script functionality across various scenarios. Consider clarifying that these tests validate the share-pvc.sh script's functionality for DFS volume sharing.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Introduces dfs-shared-pvc project under storage, providing full lifecycle management script and examples for sharing distributed file storage (DFS) persistent volumes (PVs) across Kubernetes namespaces using the VAST CSI driver.