-
Notifications
You must be signed in to change notification settings - Fork 12
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
[EPIC]: Blob-CSI implementation & Boathouse replacement #1001
Labels
Comments
cboin1996
changed the title
[EPIC]: Blob-CSI implementaion & Boathouse replacement
[EPIC]: Blob-CSI implementation & Boathouse replacement
Jun 14, 2022
This was referenced Jun 15, 2022
This was referenced Aug 31, 2022
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Based on PoC work here
https://github.com/blairdrummond/kind-blob-csi-mock-aaw
Architecture
The architecture has a nice split:
Create or Find Storage Containers, Create PVs (readwrite or readonly), and create PVCs in the user namespace
Automatically discover PVCs and bind them to Notebooks, Workflows, or S3Proxy pods. (Goofys Webhook)
Refreshes/Updates
Users will need to restart their notebooks to trigger refresh of mounts (in the situation where an FDI bucket gets added, for example).
Recommend that S3Proxy comes with a CronJob that rolls out a restart on an interval. (Similar to the AAD Pod refresher.)
TODO: What happens if the storage account credentials get rotated?
BlobCSI controller ✔️
The BlobCSI Profile Controller loops through profiles and AAW Storage accounts:
azure-blob-csi-system
FDI Submodule ❌
Use OPA sdk to check if a user has access to a given bucket, and determine what permissions they have. (We can only implement RW/RO)
Gatekeeper Policies ✔️
The PersistentVolumes are created with aThis is resolved using aprofile
label, matching the users profile. A Gatekeeper policy ensure thatpvc.metadata.namespace == pv.metadata.labels.profile
. So that users cannot bind other users volumes.claimRef
on the PV.Also, the classification of the PV and PVCs must match. (Still need to check this.)
Alternatively, prevent users from creating these PVCs themselves.
GoofysBlob CSI Injector ✔️The Goofys injector is repurposed:
blob.aaw.statcan.gc.ca/automount
label to select volumes to mount.unclassified
andprotected-b
PVCs, only mounting to the correct pods.Tasks
PoC
Setup
azure-blob-csi-system
) #1003Testing
Switch-over/Teardown
S3Proxy
FDI integration
Production Deployment
standard
andpremium
withunclassified
volume and removestandard
storage account #1309RMI
Docs
/en
,/fr
, and/docs
in here to include:UX
The text was updated successfully, but these errors were encountered: