How to Provision S3 Buckets in Kubernetes with COSI and VersityGW
Kubernetes has had CSI for block and file storage for years. But if your app needs an S3 bucket, you're on your own — script some API calls, create an IAM user, write a bucket policy, inject the cr...

Source: DEV Community
Kubernetes has had CSI for block and file storage for years. But if your app needs an S3 bucket, you're on your own — script some API calls, create an IAM user, write a bucket policy, inject the credentials. COSI changes that. What is COSI? COSI (Container Object Storage Interface) is a SIG-Storage project that adds two CRDs to Kubernetes: BucketClaim — like a PersistentVolumeClaim, but for S3 buckets. Apply one and the driver creates the bucket on your storage backend. BucketAccess — provisions a dedicated IAM user with a scoped bucket policy. The credentials are written to a Kubernetes Secret your app can mount. Delete the CRs and the bucket, user, and policy get cleaned up. The spec is at v1alpha1 — functional, but expect changes. What is VersityGW? VersityGW is an open-source (Apache 2.0) S3-compatible gateway written in Go. Its POSIX backend takes a directory and exposes it as an S3 endpoint — no erasure coding or custom data format. If you have a filesystem (local disk, NFS, ZFS)