https://github.com/statcan/aaw-blob-csi-injector
Inject Blob-CSI PVCs into pods in Kubeflow Profile namespaces
https://github.com/statcan/aaw-blob-csi-injector
Last synced: about 1 year ago
JSON representation
Inject Blob-CSI PVCs into pods in Kubeflow Profile namespaces
- Host: GitHub
- URL: https://github.com/statcan/aaw-blob-csi-injector
- Owner: StatCan
- License: other
- Created: 2022-04-15T22:13:46.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-25T13:55:01.000Z (over 1 year ago)
- Last Synced: 2025-02-01T10:44:03.756Z (over 1 year ago)
- Language: Go
- Size: 94.7 KB
- Stars: 1
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Blob CSI Injector
A mutating webhook which injects `volumes` and `volumeMounts` into pods with the `data.statcan.gc.ca/inject-blob-volumes` label.
- Use the `blob.aaw.statcan.gc.ca/automount` label to select PVCs to inject.
- Differentiate between `protected-b` and `unclassified` PVCs/notebooks, and only inject if the classifications match between the Pod and PVC
- These specific PVCs are created by a profile controller which statically provisions the PVs for backing buckets.
*Technically nothing here is specific to blob-csi PVCs, it was simply designed with this purpose in mind.*
## References
- [Blob CSI Architecture](https://github.com/StatCan/aaw/issues/1001)
- [Mutating WebHook](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook)
- [The blob-csi profile controller](https://github.com/StatCan/aaw-kubeflow-profiles-controller/blob/main/cmd/blob-csi.go)