Files
zeekay 52354870f6 docker: benchmark and load-test this store with its own tools
The benchmark target installed warp and the two local compose stacks ran
warp and a second object server, all AGPL-3.0, inside an Apache-2.0 tree.
Nothing in CI called any of it.

Benchmarks now run `s3 benchmark`. The filer-backup stack writes its load
with `s3 filer.copy` under /buckets, which is the tree filer.backup watches,
so objects still reach the sink. The registry stack keeps the registry that
exercises this store and drops the one that only existed to compare.

Attribution in s3api (s3err, s3_constants, policy, chunked_reader,
auth_signature) is required by Apache-2.0 section 4 and stays.
2026-08-10 21:48:01 -07:00

68 lines
1.8 KiB
Makefile

.PHONY: test admin-generate admin-build admin-clean admin-dev admin-run admin-test admin-fmt admin-help s3-commands
BINARY = s3
ADMIN_DIR = s3/admin
SOURCE_DIR = .
debug ?= 0
all: install
install: admin-generate
cd s3; go install
s3-commands:
cd s3 && $(MAKE) s3-db s3-sql
full_install: admin-generate
cd s3; go install -tags "elastic sqlite"
server: install
s3 -v 0 server -s3 -filer -filer.maxMB=64 -volume.max=0 -master.volumeSizeLimitMB=100 -volume.preStopSeconds=1 -s3.port=8000 -s3.allowDeleteBucketNotEmpty=true -s3.config=./docker/compose/s3.json -metricsPort=9324
benchmark: install
pkill s3 || true
s3 server -debug=$(debug) -s3 -filer -volume.max=0 -master.volumeSizeLimitMB=100 -volume.preStopSeconds=1 -s3.port=8000 -s3.allowDeleteBucketNotEmpty=false -s3.config=./docker/compose/s3.json &
while ! nc -z localhost 8000 ; do sleep 1 ; done
s3 benchmark -master=localhost:9333
pkill s3
# curl -o profile "http://127.0.0.1:6060/debug/pprof/profile?debug=1"
benchmark_with_pprof: debug = 1
benchmark_with_pprof: benchmark
test: admin-generate
cd s3; go test -tags "elastic sqlite" -v ./...
# Admin component targets
admin-generate:
@cd $(ADMIN_DIR) && $(MAKE) generate
admin-build: admin-generate
@echo "Building admin component..."
@cd $(ADMIN_DIR) && $(MAKE) build
admin-clean:
@echo "Cleaning admin component..."
@cd $(ADMIN_DIR) && $(MAKE) clean
admin-dev:
@echo "Starting admin development server..."
@cd $(ADMIN_DIR) && $(MAKE) dev
admin-run:
@echo "Running admin server..."
@cd $(ADMIN_DIR) && $(MAKE) run
admin-test:
@echo "Testing admin component..."
@cd $(ADMIN_DIR) && $(MAKE) test
admin-fmt:
@echo "Formatting admin component..."
@cd $(ADMIN_DIR) && $(MAKE) fmt
admin-help:
@echo "Admin component help..."
@cd $(ADMIN_DIR) && $(MAKE) help