This repository implements a COSI driver for Garage.
A working installation of Garage with accessible Admin API is required.
Install COSI as documented upstream. Customizing the installation could be done with kustomize:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://github.com/kubernetes-sigs/container-object-storage-interfaceInstall the driver and configure a Secret to provide required Garage settings. A kustomize definition could look like this:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: cosi-driver-garage
resources:
- config/overlays/default
# For Red Hat OpenShift:
#- config/overlays/openshift
secretGenerator:
- name: cosi-driver-garage
literals:
# Garage S3 endpoint.
- GARAGE_ENDPOINT=""
# Garage S3 region.
- GARAGE_REGION=""
# Garage Admin API endpoint.
- GARAGE_ADMIN_ENDPOINT=""
# Garage Admin API token.
- GARAGE_ADMIN_TOKEN=""The
kustomizeoverlay for Red Hat OpenShift configures an additional rolebinding for theanyuidSCC.
Configure and install BucketClass and BucketAccessClass resources:
kubectl apply -f examples/bucketclass.yaml
kubectl apply -f examples/bucketaccessclass.yamlA
BucketAccessClasshas to be explicitly configured with permission parameters. Generated access keys have no permissions by default.
Instantiate a BucketClaim and BucketAccess resource to create a bucket and corresponding secret:
kubectl apply -f examples/bucket.yaml