From f154658d79682093d503496990d9f27650510201 Mon Sep 17 00:00:00 2001 From: Nikholas Pcenicni <82239765+nikpcenicni@users.noreply.github.com> Date: Sat, 28 Mar 2026 17:25:44 -0400 Subject: [PATCH] Add Versity S3 Gateway documentation to README.md, detailing configuration requirements and usage for shared object storage. This addition enhances clarity for users integrating S3-compatible APIs with POSIX directories. --- README.md | 6 +++++ komodo/s3/versitygw/.env.sample | 9 +++++++ komodo/s3/versitygw/compose.yaml | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 komodo/s3/versitygw/.env.sample create mode 100644 komodo/s3/versitygw/compose.yaml diff --git a/README.md b/README.md index 2da5c99..049e4ba 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,12 @@ Shared services used across multiple applications. **Configuration:** Requires Pangolin endpoint URL, Newt ID, and Newt secret. +### versitygw/ (`komodo/common/versitygw/`) + +- **[Versity S3 Gateway](https://github.com/versity/versitygw)** (Port: 10000 by default) - S3-compatible API over a POSIX directory (named Docker volumes). Use as shared object storage for apps that expect S3; pair with clients using path-style URLs and your LAN hostname or reverse proxy. + +**Configuration:** Requires `ROOT_ACCESS_KEY` and `ROOT_SECRET_KEY` for the bundled IAM directory mode. Optional `VERSITYGW_PORT` for the published host port. + --- ## 📊 Monitoring (`komodo/monitor/`) diff --git a/komodo/s3/versitygw/.env.sample b/komodo/s3/versitygw/.env.sample new file mode 100644 index 0000000..a0bceb4 --- /dev/null +++ b/komodo/s3/versitygw/.env.sample @@ -0,0 +1,9 @@ +# Versity S3 Gateway — root credentials for the flat-file IAM backend. +# Copy to `.env` and set strong values before `docker compose up -d`. +# https://github.com/versity/versitygw/wiki/Quickstart + +ROOT_ACCESS_KEY= +ROOT_SECRET_KEY= + +# Host port mapped to the gateway (container listens on 10000). +VERSITYGW_PORT=10000 diff --git a/komodo/s3/versitygw/compose.yaml b/komodo/s3/versitygw/compose.yaml new file mode 100644 index 0000000..1833ce4 --- /dev/null +++ b/komodo/s3/versitygw/compose.yaml @@ -0,0 +1,44 @@ +# Versity S3 Gateway — POSIX backend over Docker volumes. +# https://github.com/versity/versitygw +services: + versitygw: + image: versity/versitygw:v1.3.1 + container_name: versitygw + restart: unless-stopped + environment: + - ROOT_ACCESS_KEY=${ROOT_ACCESS_KEY} + - ROOT_SECRET_KEY=${ROOT_SECRET_KEY} + # Matches Helm chart default; enables `/_/health` for probes. + - VGW_HEALTH=/_/health + ports: + - "${VERSITYGW_PORT:-10000}:10000" + volumes: + - s3_data:/data/s3 + - iam:/data/iam + - versions:/data/versions + command: + - "--port" + - ":10000" + - "--iam-dir" + - "/data/iam" + - "posix" + - "--versioning-dir" + - "/data/versions" + - "/data/s3" + healthcheck: + test: + [ + "CMD", + "wget", + "-qO-", + "http://127.0.0.1:10000/_/health", + ] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + +volumes: + s3_data: + iam: + versions: