Leverage your infrastructure for object storage
The s3gw project is a lightweight, open source S3 service that's easy to deploy in a cloud native environment. It's useful for Kubernetes users who need object storage to back up their application data to a Longhorn PV.
Great For
Edge
IoT
CI
Why Use s3gw
S3 Semantics
S3 compatible semantics and APIs for on-premise object storage.
Lightweight
Easy to deploy and manage, with a light container footprint and Helm charts to get started.
Longhorn for object storage
Consume a Longhorn PVC, and expose it as S3 for applications.
UI
Easy to manage and administrate via graphical user interface.
How it Works
Get Started
# Helm chart
helm repo add s3gw https://aquarist-labs.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
# Docker
docker pull quay.io/s3gw/s3gw:latest
docker pull quay.io/s3gw/s3gw-ui:latest
docker run -p 7480:7480 quay.io/s3gw/s3gw:latest
docker run -p 8080:8080 -e S3GW_SERVICE_URL="http://<IPADDR>:7480" quay.io/s3gw/s3gw-ui:latest
# Podman
podman run --replace --name=s3gw -it -p 7480:7480 quay.io/s3gw/s3gw:latest
podman run --replace --name=s3gw-ui -it -p 8080:8080 -e S3GW_SERVICE_URL="http://<IPADDR>:7480" quay.io/s3gw/s3gw-ui:latest
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.
Docker and Podman deployments will use ephemeral storage inside the container by default, so should only be used for testing on a local system.
In all the above cases, the default Access Key and Secret Key are set to "test". Please see our documentation for more details on how to configure s3gw.
The same credentials can be used to access the UI to manage your buckets and objects. The UI also offers the possibility to manage additional users and credentials.