Files
s3/docker/compose/local-filer-backup-compose.yml
zeekayandHanzo Dev af0f387bbe Remove weed and SeaweedFS naming from the tree
The binary is s3 and the product is Hanzo S3; the rest of the tree now
says so too.

- Environment: WEED_* and SEAWEEDFS_* are S3_*, no aliases. fla9's flag
  prefix is S3, matching viper's existing "s3" prefix, so the S3_S3_SSE_*
  names mini.go exports are the ones viper reads (WEED_S3_SSE_KEK was never
  seen once viper moved to "s3").
- Java and Hadoop: packages, fs.hanzofs.* keys and the hanzofs:// scheme
  under the hanzofs namespace the protos already declare; classes take a
  neutral Filer prefix and file names match them again (the earlier pass left
  Seas3*.java holding Seaweed* classes). Client, hdfs3, examples, s3copier,
  random_access and the Spark tests compile.
- Helm chart: helpers are hanzo.*, values live under global.s3; the chart
  renders and lints, which it did not before.
- Terraform: the s3.service.tftpl reference matches the file; 12/12 render
  tests pass. Config paths point at /etc/hanzo, which the binary reads.
- loadtest.pb.go regenerated from loadtest.proto.
- Upstream logo, sponsor images and unreferenced diagrams removed from note/.

Kept: NOTICE attribution, LICENSE, the erasure-coding fixture
s3/storage/erasure_coding/1.dat (test bytes), and unmaintained/ and
third_party/ (vendored). No on-disk format, wire protocol or metadata key
changed.

Co-authored-by: Hanzo Dev <[email protected]>
2026-10-02 08:06:48 -07:00

59 lines
2.2 KiB
YAML

version: '3.9'
services:
server-left:
image: ghcr.io/hanzoai/s3:local
command: "-v=0 server -ip=server-left -filer -filer.maxMB 5 -s3 -s3.config=/etc/hanzo/s3.json -volume.max=0 -master.volumeSizeLimitMB=100 -volume.preStopSeconds=1"
volumes:
- ./s3.json:/etc/hanzo/s3.json
healthcheck:
test: [ "CMD", "curl", "--fail", "-I", "http://localhost:9333/cluster/healthz" ]
interval: 3s
start_period: 15s
timeout: 30s
server-right:
image: ghcr.io/hanzoai/s3:local
command: "-v=0 server -ip=server-right -filer -filer.maxMB 64 -s3 -s3.config=/etc/hanzo/s3.json -volume.max=0 -master.volumeSizeLimitMB=100 -volume.preStopSeconds=1"
volumes:
- ./s3.json:/etc/hanzo/s3.json
healthcheck:
test: [ "CMD", "curl", "--fail", "-I", "http://localhost:9333/cluster/healthz" ]
interval: 3s
start_period: 15s
timeout: 30s
filer-backup:
image: ghcr.io/hanzoai/s3:local
command: "-v=0 filer.backup -debug -doDeleteFiles=False -filer server-left:8888"
volumes:
- ./replication.toml:/etc/hanzo/replication.toml
environment:
S3_SINK_LOCAL_INCREMENTAL_ENABLED: "false"
S3_SINK_S3_ENABLED: "true"
S3_SINK_S3_BUCKET: "backup"
S3_SINK_S3_ENDPOINT: "http://server-right:8333"
S3_SINK_S3_DIRECTORY: "/"
S3_SINK_S3_AWS_ACCESS_KEY_ID: "some_access_key1"
S3_SINK_S3_AWS_SECRET_ACCESS_KEY: "some_secret_key1"
S3_SINK_S3_S3_DISABLE_CONTENT_MD5_VALIDATION: "false"
S3_SINK_S3_UPLOADER_PART_SIZE_MB: "5"
S3_SINK_S3_KEEP_PART_SIZE: "false"
depends_on:
server-left:
condition: service_healthy
server-right:
condition: service_healthy
# Writes 10x6MB under /buckets on server-left, which is the tree filer.backup
# watches, so every object lands on server-right through the S3 sink.
load:
image: ghcr.io/hanzoai/s3:local
entrypoint: >
/bin/sh -c "
mkdir -p /tmp/load;
i=0; while [ $$i -lt 10 ]; do
dd if=/dev/urandom of=/tmp/load/obj-$$i bs=1M count=6 2>/dev/null;
i=$$((i+1)); done;
s3 filer.copy /tmp/load http://server-left:8888/buckets/backup/;
"
restart: on-failure
depends_on:
- filer-backup