https://github.com/awslabs/mountpoint-s3-csi-driver
Built on Mountpoint for Amazon S3, the Mountpoint CSI driver presents an Amazon S3 bucket as a storage volume accessible by containers in your Kubernetes cluster.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.7%) to scientific vocabulary
Keywords
Repository
Built on Mountpoint for Amazon S3, the Mountpoint CSI driver presents an Amazon S3 bucket as a storage volume accessible by containers in your Kubernetes cluster.
Basic Info
Statistics
- Stars: 329
- Watchers: 20
- Forks: 55
- Open Issues: 30
- Releases: 42
Topics
Metadata Files
README.md
Mountpoint for Amazon S3 CSI Driver
[!TIP] Mountpoint for Amazon S3 CSI Driver v2 is available!
The v2 introduces Mountpoint Pod sharing, EKS Pod Identity support, support for running on SELinux-enabled environments like ROSA, simplified caching configuration and more!
See Mountpoint for Amazon S3 CSI Driver v2 for new features, and Upgrading Mountpoint for Amazon S3 CSI Driver from v1 to v2 for more details on breaking changes and necessary steps for upgrading to v2.
Overview
The Mountpoint for Amazon S3 Container Storage Interface (CSI) Driver allows your Kubernetes applications to access Amazon S3 objects through a file system interface. Built on Mountpoint for Amazon S3, the Mountpoint CSI driver presents an Amazon S3 bucket as a storage volume accessible by containers in your Kubernetes cluster. The Mountpoint CSI driver implements the CSI specification for container orchestrators (CO) to manage storage volumes.
For Amazon EKS clusters, the Mountpoint for Amazon S3 CSI driver is also available as an EKS add-on to provide automatic installation and management.
Features
- Static Provisioning - Associate an existing S3 bucket with a PersistentVolume (PV) for consumption within Kubernetes.
- Mount Options - Mount options can be specified in the PersistentVolume (PV) resource to define how the volume should be mounted. For Mountpoint-specific options, take a look at the Mountpoint docs for configuration.
- Mountpoint Pod Sharing - Multiple workloads can share a single Mountpoint instance when appropriate, improving resource utilization. See Mountpoint Pod Sharing for more details.
- Managed Local Cache - Use an emptyDir or a generic ephemeral volume as a local cache with Mountpoint. See Caching Configuration for more details.
Mountpoint for Amazon S3 does not implement all the features of a POSIX file system, and there are some differences that may affect compatibility with your application. See Mountpoint file system behavior for a detailed description of Mountpoint's behavior and POSIX support and how they could affect your application.
Container Images
| Driver Version | ECR Public Image | |----------------|---------------------------------------------------------------------------------------------------| | v2.0.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v2.0.0 |
Previous Images
| Driver Version | [ECR Public](https://gallery.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver) Image | |----------------|---------------------------------------------------------------------------------------------------| | v1.15.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.15.0 | | v1.14.1 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.14.1 | | v1.14.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.14.0 | | v1.13.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.13.0 | | v1.12.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.12.0 | | v1.11.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.11.0 | | v1.10.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.10.0 | | v1.9.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.9.0 | | v1.8.1 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.8.1 | | v1.8.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.8.0 | | v1.7.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.7.0 | | v1.6.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.6.0 | | v1.5.1 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.5.1 | | v1.4.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.4.0 | | v1.3.1 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.3.1 | | v1.3.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.3.0 | | v1.2.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.2.0 | | v1.1.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.1.0 | | v1.0.0 | public.ecr.aws/mountpoint-s3-csi-driver/aws-mountpoint-s3-csi-driver:v1.0.0 |Releases
The Mountpoint for S3 CSI Driver follows semantic versioning. The version will be bumped following the rules below:
- Significant breaking changes will be released as a
MAJORupdate. - New features will be released as a
MINORupdate. - Bug or vulnerability fixes will be released as a
PATCHupdate.
Monthly releases will contain at minimum a MINOR version bump, even if the content would normally be treated as a PATCH version.
Unstable Releases
Unstable versions (i.e., beta, alpha, or rc) are for testing purposes only and should not be used in production environments or with valuable data. The security and correctness of these releases are not guaranteed. Use unstable versions at your own risk.
Support
Support will be provided for the latest version and one prior version. Bugs or vulnerabilities found in the latest version will be backported to the previous release in a new minor version.
This policy is non-binding and subject to change.
Compatibility
The Mountpoint for S3 CSI Driver is compatible with Kubernetes versions v1.25+ and implements the CSI Specification v1.9.0. The driver supports x86-64 and arm64 architectures.
Distros Support Matrix
The following table provides the support status for various distros with regards to CSI Driver version:
| Distro | Experimental | Stable | Deprecated | Removed | |-----------------------------------------|-------------:|-------:|-----------:|--------:| | Amazon Linux 2 | - | 1.0.0 | - | - | | Amazon Linux 2023 | - | 1.0.0 | - | - | | Ubuntu 20.04 | - | 1.0.0 | - | - | | Ubuntu 22.04 | - | 1.0.0 | - | - | | Bottlerocket >1.19.2 | - | 1.4.0 | - | - |
Documentation
- Driver Installation
- Configuring volumes and credentials
- Troubleshooting
- Kubernetes Static Provisioning Example
- Driver Uninstallation
- Development and Contributing
Contributing
We welcome contributions to the Mountpoint for Amazon S3 CSI driver! Please see CONTRIBUTING.md for more information on how to report bugs or submit pull requests.
Security
If you discover a potential security issue in this project we ask that you notify AWS Security via our vulnerability reporting page. Please do not create a public GitHub issue.
Code of conduct
This project has adopted the Amazon Open Source Code of Conduct. See CODEOFCONDUCT.md for more details.
License
This project is licensed under the Apache-2.0 License. It builds on a number of other awesome projects with open source licenses, and licenses for other projects can be found under the following locations in the CSI Driver's container image:
- Linux packages under
/usr/share/licenses/* - The CSI Driver's Go dependencies under
/LICENSES/*(starting from v1.15.0) - Mountpoint's Rust dependencies under
/mountpoint-s3/THIRD_PARTY_LICENSES
Owner
- Name: Amazon Web Services - Labs
- Login: awslabs
- Kind: organization
- Location: Seattle, WA
- Website: http://amazon.com/aws/
- Repositories: 914
- Profile: https://github.com/awslabs
AWS Labs
Issues and Pull Requests
Last synced: 5 months ago
All Time
- Total issues: 121
- Total pull requests: 412
- Average time to close issues: 2 months
- Average time to close pull requests: 6 days
- Total issue authors: 111
- Total pull request authors: 31
- Average comments per issue: 3.2
- Average comments per pull request: 0.27
- Merged pull requests: 302
- Bot issues: 0
- Bot pull requests: 18
Past Year
- Issues: 52
- Pull requests: 256
- Average time to close issues: 14 days
- Average time to close pull requests: 2 days
- Issue authors: 46
- Pull request authors: 19
- Average comments per issue: 2.12
- Average comments per pull request: 0.2
- Merged pull requests: 177
- Bot issues: 0
- Bot pull requests: 8
Top Authors
Issue Authors
- unexge (5)
- Ognian (2)
- jjkr (2)
- PaveLGIL (2)
- spynode (2)
- schlichtanders (2)
- jblee-muhayu (2)
- kfox1111 (1)
- kingFP (1)
- justinas-b (1)
- devkoriel (1)
- mcwm6 (1)
- cellux (1)
- oriolcx (1)
- miguelvidex (1)
Pull Request Authors
- unexge (176)
- muddyfish (51)
- jjkr (33)
- dlakhaws (25)
- yerzhan7 (21)
- renanmagagnin (20)
- dependabot[bot] (18)
- dannycjones (14)
- vladem (8)
- jiaeenie (6)
- passaro (6)
- truestory1 (4)
- Shellmode (4)
- vramahandry (2)
- discanto (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 20
proxy.golang.org: github.com/awslabs/mountpoint-s3-csi-driver
- Homepage: https://github.com/awslabs/mountpoint-s3-csi-driver
- Documentation: https://pkg.go.dev/github.com/awslabs/mountpoint-s3-csi-driver#section-documentation
- License: Apache-2.0
-
Latest release: v1.15.0
published 8 months ago
Rankings
Dependencies
- actions/checkout v4 composite
- actions/setup-go v4 composite
- aws-actions/amazon-ecr-login v2 composite
- aws-actions/configure-aws-credentials master composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- imjasonh/setup-crane v0.1 composite
- actions/checkout v4 composite
- actions/create-release v1 composite
- aws-actions/amazon-ecr-login v2 composite
- aws-actions/configure-aws-credentials master composite
- docker/setup-buildx-action v1 composite
- docker/setup-qemu-action v1 composite
- imjasonh/setup-crane v0.1 composite
- actions/checkout v4 composite
- actions/setup-go v4 composite
- public.ecr.aws/amazonlinux/amazonlinux 2 build
- public.ecr.aws/docker/library/golang 1.21-bullseye build
- public.ecr.aws/eks-distro-build-tooling/eks-distro-minimal-base-csi latest build
- github.com/container-storage-interface/spec v1.9.0
- github.com/coreos/go-systemd/v22 v22.5.0
- github.com/davecgh/go-spew v1.1.1
- github.com/fsnotify/fsnotify v1.4.9
- github.com/go-logr/logr v1.3.0
- github.com/godbus/dbus/v5 v5.1.0
- github.com/golang/mock v1.6.0
- github.com/golang/protobuf v1.5.3
- github.com/google/go-cmp v0.5.9
- github.com/google/uuid v1.4.0
- github.com/kr/text v0.2.0
- github.com/kubernetes-csi/csi-test v2.2.0+incompatible
- github.com/moby/sys/mountinfo v0.7.1
- github.com/nxadm/tail v1.4.8
- github.com/onsi/ginkgo v1.16.5
- github.com/onsi/gomega v1.27.6
- github.com/pmezard/go-difflib v1.0.0
- github.com/stretchr/testify v1.8.2
- golang.org/x/net v0.18.0
- golang.org/x/sys v0.14.0
- golang.org/x/text v0.14.0
- google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17
- google.golang.org/grpc v1.59.0
- google.golang.org/protobuf v1.31.0
- gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- k8s.io/apimachinery v0.28.4
- k8s.io/klog/v2 v2.110.1
- k8s.io/mount-utils v0.28.4
- k8s.io/utils v0.0.0-20230726121419-3b25d923346b
- 122 dependencies
- github.com/NYTimes/gziphandler v1.1.1
- github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df
- github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a
- github.com/aws/aws-sdk-go v1.46.1
- github.com/beorn7/perks v1.0.1
- github.com/blang/semver/v4 v4.0.0
- github.com/cenkalti/backoff/v4 v4.2.1
- github.com/cespare/xxhash/v2 v2.2.0
- github.com/coreos/go-semver v0.3.1
- github.com/coreos/go-systemd/v22 v22.5.0
- github.com/davecgh/go-spew v1.1.1
- github.com/docker/distribution v2.8.2+incompatible
- github.com/emicklei/go-restful/v3 v3.9.0
- github.com/evanphx/json-patch v4.12.0+incompatible
- github.com/felixge/httpsnoop v1.0.3
- github.com/fsnotify/fsnotify v1.6.0
- github.com/go-logr/logr v1.2.4
- github.com/go-logr/stdr v1.2.2
- github.com/go-openapi/jsonpointer v0.19.6
- github.com/go-openapi/jsonreference v0.20.2
- github.com/go-openapi/swag v0.22.3
- github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
- github.com/gogo/protobuf v1.3.2
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
- github.com/golang/protobuf v1.5.3
- github.com/google/cel-go v0.16.1
- github.com/google/gnostic-models v0.6.8
- github.com/google/go-cmp v0.5.9
- github.com/google/gofuzz v1.2.0
- github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1
- github.com/google/uuid v1.3.0
- github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
- github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0
- github.com/imdario/mergo v0.3.6
- github.com/inconshreveable/mousetrap v1.1.0
- github.com/jmespath/go-jmespath v0.4.0
- github.com/josharian/intern v1.0.0
- github.com/json-iterator/go v1.1.12
- github.com/mailru/easyjson v0.7.7
- github.com/matttproud/golang_protobuf_extensions v1.0.4
- github.com/moby/spdystream v0.2.0
- github.com/moby/sys/mountinfo v0.6.2
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
- github.com/modern-go/reflect2 v1.0.2
- github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
- github.com/onsi/ginkgo/v2 v2.9.4
- github.com/onsi/gomega v1.27.6
- github.com/opencontainers/go-digest v1.0.0
- github.com/opencontainers/selinux v1.10.0
- github.com/pkg/errors v0.9.1
- github.com/prometheus/client_golang v1.16.0
- github.com/prometheus/client_model v0.4.0
- github.com/prometheus/common v0.44.0
- github.com/prometheus/procfs v0.10.1
- github.com/spf13/cobra v1.7.0
- github.com/spf13/pflag v1.0.5
- github.com/stoewer/go-strcase v1.2.0
- go.etcd.io/etcd/api/v3 v3.5.9
- go.etcd.io/etcd/client/pkg/v3 v3.5.9
- go.etcd.io/etcd/client/v3 v3.5.9
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1
- go.opentelemetry.io/otel v1.10.0
- go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0
- go.opentelemetry.io/otel/metric v0.31.0
- go.opentelemetry.io/otel/sdk v1.10.0
- go.opentelemetry.io/otel/trace v1.10.0
- go.opentelemetry.io/proto/otlp v0.19.0
- go.uber.org/atomic v1.10.0
- go.uber.org/multierr v1.11.0
- go.uber.org/zap v1.19.0
- golang.org/x/crypto v0.14.0
- golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e
- golang.org/x/net v0.17.0
- golang.org/x/oauth2 v0.8.0
- golang.org/x/sync v0.2.0
- golang.org/x/sys v0.13.0
- golang.org/x/term v0.13.0
- golang.org/x/text v0.13.0
- golang.org/x/time v0.3.0
- golang.org/x/tools v0.8.0
- google.golang.org/appengine v1.6.7
- google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54
- google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19
- google.golang.org/grpc v1.54.0
- google.golang.org/protobuf v1.30.0
- gopkg.in/inf.v0 v0.9.1
- gopkg.in/natefinch/lumberjack.v2 v2.2.1
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- k8s.io/api v0.28.3
- k8s.io/api=>k8s.io/api v0.28.3
- k8s.io/apiextensions-apiserver v0.0.0
- k8s.io/apiextensions-apiserver=>k8s.io/apiextensions-apiserver v0.28.3
- k8s.io/apimachinery v0.28.3
- k8s.io/apimachinery=>k8s.io/apimachinery v0.28.3
- k8s.io/apiserver v0.28.3
- k8s.io/apiserver=>k8s.io/apiserver v0.28.3
- k8s.io/cli-runtime=>k8s.io/cli-runtime v0.28.3
- k8s.io/client-go v0.28.3
- k8s.io/client-go=>k8s.io/client-go v0.28.3
- k8s.io/cloud-provider v0.0.0
- k8s.io/cloud-provider=>k8s.io/cloud-provider v0.28.3
- k8s.io/cluster-bootstrap=>k8s.io/cluster-bootstrap v0.28.3
- k8s.io/code-generator=>k8s.io/code-generator v0.28.3
- k8s.io/component-base v0.28.3
- k8s.io/component-base=>k8s.io/component-base v0.28.3
- k8s.io/component-helpers v0.28.3
- k8s.io/component-helpers=>k8s.io/component-helpers v0.28.3
- k8s.io/controller-manager v0.28.3
- k8s.io/controller-manager=>k8s.io/controller-manager v0.28.3
- k8s.io/cri-api=>k8s.io/cri-api v0.28.3
- k8s.io/csi-translation-lib v0.0.0
- k8s.io/csi-translation-lib=>k8s.io/csi-translation-lib v0.28.3
- k8s.io/dynamic-resource-allocation=>k8s.io/dynamic-resource-allocation v0.28.3
- k8s.io/klog/v2 v2.100.1
- k8s.io/kms v0.28.3
- k8s.io/kms=>k8s.io/kms v0.28.3
- k8s.io/kube-aggregator=>k8s.io/kube-aggregator v0.28.3
- k8s.io/kube-controller-manager=>k8s.io/kube-controller-manager v0.28.3
- k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9
- k8s.io/kube-proxy=>k8s.io/kube-proxy v0.28.3
- k8s.io/kube-scheduler=>k8s.io/kube-scheduler v0.28.3
- k8s.io/kubectl v0.0.0
- k8s.io/kubectl=>k8s.io/kubectl v0.28.3
- k8s.io/kubelet v0.0.0
- k8s.io/kubelet=>k8s.io/kubelet v0.28.3
- k8s.io/kubernetes v1.28.3
- k8s.io/legacy-cloud-providers=>k8s.io/legacy-cloud-providers v0.28.3
- k8s.io/metrics=>k8s.io/metrics v0.28.3
- k8s.io/mount-utils v0.0.0
- k8s.io/mount-utils=>k8s.io/mount-utils v0.28.3
- k8s.io/pod-security-admission v0.0.0
- k8s.io/pod-security-admission=>k8s.io/pod-security-admission v0.28.3
- k8s.io/sample-apiserver=>k8s.io/sample-apiserver v0.28.3
- k8s.io/sample-cli-plugin=>k8s.io/sample-cli-plugin v0.28.3
- k8s.io/sample-controller=>k8s.io/sample-controller v0.28.3
- k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2
- sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
- sigs.k8s.io/structured-merge-diff/v4 v4.2.3
- sigs.k8s.io/yaml v1.3.0
- 592 dependencies