/s3gw

Container able to run on a Kubernetes cluster, providing S3-compatible endpoints to applications.

Primary LanguagePythonApache License 2.0Apache-2.0

s3gw-logo

s3gw

License Documentation Issues Lint Release Artifact Hub Slack

s3gw is an S3-compatible service focused on deployments in a Kubernetes environment backed by any PVC, including Longhorn. Since its inception, the primary focus has been on cloud native deployments. However, the s3gw can be deployed in a myriad of scenarios, provided some form of storage is attached.

Quickstart

Helm Chart An easy way to deploy the S3 Gateway on your Kubernetes cluster is via a Helm chart:
helm repo add s3gw https://s3gw-tech.github.io/s3gw-charts/
helm install s3gw s3gw/s3gw --namespace s3gw-system --create-namespace \
    --set publicDomain=YOUR_DOMAIN_NAME \
    --set ui.publicDomain=YOUR_DOMAIN_NAME

Helm is the preferred deployment method, and will automatically use your cluster's default storage class for the backing store. If you have Longhorn installed already, s3gw will thus use a Longhorn PV. The above assumes cert-manager and traefik are available, but these and other settings can be overridden via values.yaml.

Check out the documentation for details and configuration options.

Podman
podman run --replace --name=s3gw -it -p 7480:7480 quay.io/s3gw/s3gw:latest

Podman deployments will use ephemeral storage inside the container by default, which should only be used for testing purposes. To use a directory on the host system for storage, pass -v/host-path:/data.

Docker
docker pull quay.io/s3gw/s3gw:latest

In order to run the Docker container:

docker run -p 7480:7480 quay.io/s3gw/s3gw:latest

Docker deployments will use ephemeral storage inside the container by default, which should only be used for testing purposes. To use a directory on the host system for storage, pass -v/host-path:/data.

Documentation

You can access our documentation here.

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use licensed files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

or the LICENSE file in this repository.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.