storj/docker-compose.yaml
paul cannon e2c0dd437a
offer PostgreSQL storage for pointerdb (#440)
..although it ought to work for other storage.KeyValueStore needs as
well. it's just optimized to work pretty well for a largish hierarchy of
paths.

This includes the addition of "long benchmarks" for KeyValueStore
testing. These will only be run when -test-bench-long is added to the
test flags. In these benchmarks, a large corpus of paths matching a
natural ("real-life") hierarchy is read from paths.data.gz (which you
can get from https://github.com/storj/path-test-corpus) and imported
into a particular KeyValueStore. Recursive and non-recursive queries are
run on it to detect performance problems that arise only at scale.

This also includes alternate implementation of the postgreskv client,
which works in a less-bizarre way for non-recursive queries, but suffers
from poor performance in tests such as the long benchmarks. Once this
alternate impl is committed to the tree, we can remove it again; I just
want it to be available for future reference.
2018-10-25 12:11:28 -05:00

48 lines
1.1 KiB
YAML

version: '3'
services:
test:
build:
context: .
dockerfile: test/Dockerfile
network_mode: service:test-redis
depends_on:
- test-postgres-pointerdb
test-redis:
image: redis
test-postgres-pointerdb:
image: postgres
environment:
- POSTGRES_USER=pointerdb
- POSTGRES_PASSWORD=pg-secret-pass
storagenode:
image: storjlabs/storagenode:${VERSION}
environment:
- SATELLITE_ADDR=satellite:7777
- STORJ_LOG_LEVEL=info
links:
- satellite
satellite:
image: storjlabs/satellite:${VERSION}
environment:
- API_KEY=abc123
- BOOTSTRAP_ADDR=localhost:8080
- IDENTITY_ADDR=:7777
- STORJ_MOCK_OVERLAY_NODES=INTENTIONALLY:LEFT:BLANK
- STORJ_LOG_LEVEL=info
links:
- redis
depends_on:
- redis
redis:
image: redis
uplink:
image: storjlabs/uplink:${VERSION}
command: --min-threshold 1 --max-threshold 1 --repair-threshold 1 --success-threshold 1
environment:
- API_KEY=abc123
- SATELLITE_ADDR=satellite:7777
- STORJ_LOG_LEVEL=info
ports:
- 7777:7777