Support default-storage-class config for user volume PVCs - #163
Conversation
Allow hatchery to pin the user volume PersistentVolumeClaims to a configured StorageClass via a new 'default-storage-class' config option in hatchery.json. When the option is empty (the default), claims are created without a storageClassName so the cluster-default StorageClass is used, preserving existing behavior.
aws-sdk-go v1 was deprecated by AWS (end of support 2025-07-31) and staticcheck now flags every v1 import as SA1019. The codebase still depends on v1 across ~20 files; migrating to aws-sdk-go-v2 is a separate effort. Until then, exclude these diagnostics so CI reflects newly introduced issues only.
Integration TestsTest summary after running integration tests
Test summary after rerunning failed integration tests
Please find the detailed integration test report here Please find the detailed integration test report after rerunning failed tests here Please find the Github Action logs here |
|
We applied this patch manually, built a custom hatchery docker image locally, and deployed the custom hatchery in our Gen3 stack. This PR works for us! |
|
I need to update my previous comment. I was so excited to get this working that I forgot to mention an additional change we needed to make. I may not have solved this the best way, so perhaps someone can suggest a better solution. The final change needed was adding this line in In many cases, there will be some way to map from the username within the Gen3 application to the username for the home directory being mounted. For us, we split the gen3 username on |
Allow hatchery to pin the user volume PersistentVolumeClaims to a configured StorageClass via a new 'default-storage-class' config option in hatchery.json. When the option is empty (the default), claims are created without a storageClassName so the cluster-default StorageClass is used, preserving existing behavior.
Paired with:
uc-cdis/gen3-helm#685