RunJob: allow volumes to be created using Cloud Storage FUSE #2756
Description
Checklist
- I did not find a related open enhancement request.
- I understand that enhancement requests filed in the GitHub repository are by default low priority.
- If this request is time-sensitive, I have submitted a corresponding issue with GCP support.
Describe the feature or resource
Add support for defining RunJob to define volumes using Google Cloud Storage buckets. This is already supported in both the UI and the gcloud CLI.
Additional information
API Docs: https://cloud.google.com/run/docs/configuring/services/cloud-storage-volume-mounts#yaml
Through YAML
volumes:
- name: VOLUME_NAME
csi:
driver: gcsfuse.run.googleapis.com
readOnly: IS_READ_ONLY
volumeAttributes:
bucketName: BUCKET_NAME
Through gcloud
gcloud run services update SERVICE \
--add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
--add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH
Importance
We use Flux to automatically deploy new versions of Cloud Run Services/Jobs.
One of our Jobs is mounting a GCS Bucket to read and write files too, we now have to exempt this container from automatic deployment and manually update the container configuration, causing drift because all other containers are able to run the latest version.
If you are open to look at a PR for this on short-term, I will be able to create a design proposal and add these additional fields to the CRD (as these fields should already be available in the gRPC API).