mirror of
https://github.com/hanzoai/s3.git
synced 2026-10-30 14:59:09 +00:00
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]>
59 lines
2.2 KiB
YAML
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 |