Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
122 lines (115 loc) · 3.44 KB
/
Copy pathdocker-compose.yml
File metadata and controls
122 lines (115 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
networks:
cli_net:
services:
registry:
container_name: cli_registry
restart: always
image: registry:2
ports:
- 5001:5000
server-index:
networks: [ cli_net ]
depends_on:
mongo_rs_initiate:
condition: service_started
s3-init:
condition: service_completed_successfully
image: ${KOSLI_SERVER_IMAGE}
platform: linux/amd64
command: /app/src/documentdb/wait_till_ready_or_raise.py
container_name: cli_kosli_server-index
read_only: true
env_file: [ "./mongo/mongo.env" ]
environment:
KOSLI_HOSTNAME: localhost
TEST_MODE: cli
SECRET_KEY: cli-integration-tests-only-not-a-secret
stop_signal: SIGINT
tmpfs:
- /tmp
server:
networks: [ cli_net ]
depends_on:
mongo_rs_initiate:
condition: service_started
minio:
condition: service_started
server-index:
condition: service_completed_successfully
image: ${KOSLI_SERVER_IMAGE}
platform: linux/amd64
env_file: [ "./mongo/mongo.env" ]
environment:
KOSLI_HOSTNAME: localhost
TEST_MODE: cli
SECRET_KEY: cli-integration-tests-only-not-a-secret
EVIDENCE_BUCKET_ENDPOINT_URL: http://minio:9000
EVIDENCE_BUCKET_NAME: cli-tests-evidence
LANDING_BUCKET_ENDPOINT_URL: http://minio:9000
LANDING_BUCKET_NAME: cli-tests-landing
# The signature covers Host, and the test process reaches RustFS through
# the published port, not the compose network name.
LANDING_BUCKET_SIGNING_ENDPOINT_URL: http://localhost:9010
AWS_ACCESS_KEY_ID: ROOTUSER
AWS_SECRET_ACCESS_KEY: ROOTUSER
container_name: cli_kosli_server
ports: ["8001:8001"]
volumes:
- ./server-scripts:/app/test:ro
tmpfs:
- /tmp
mongo_rs_initiate:
networks: [ cli_net ]
image: kosli-mongo-rs
container_name: cli_mongo_rs_initiate
init: true
depends_on: [ mongo-cli-1 ]
env_file: [ "./mongo/mongo.env" ]
command: "/mongo/rs_initiate.sh"
mongo-cli-1:
networks: [ cli_net ]
hostname: mongo1
image: kosli-mongo-rs
build:
context: ./mongo
container_name: mongo-cli-1
init: true
stop_signal: SIGINT
ports: ["27018:27017"]
env_file: [ "./mongo/mongo.env" ]
tmpfs: [ /tmp, /data/db ]
minio:
networks: [ cli_net ]
image: rustfs/rustfs:1.0.1
container_name: minio_cli
ports: ["9010:9000", "9099:9090"]
environment:
RUSTFS_ACCESS_KEY: ROOTUSER
RUSTFS_SECRET_KEY: ROOTUSER
RUSTFS_CONSOLE_ENABLE: "true"
RUSTFS_CONSOLE_ADDRESS: ":9090"
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:9000/health"]
interval: 1s
timeout: 2s
retries: 30
tmpfs:
- /tmp
# Object Lock can only be enabled when a bucket is created through the S3 API.
s3-init:
networks: [ cli_net ]
depends_on:
minio:
condition: service_healthy
image: rustfs/rustfs:1.0.1
container_name: cli_s3_init
entrypoint: ["/bin/sh", "-c"]
command:
- >-
curl -sS --fail-with-body --retry 5 --retry-delay 1 --max-time 30
--aws-sigv4 aws:amz:us-east-1:s3 --user ROOTUSER:ROOTUSER
-X PUT -H 'x-amz-bucket-object-lock-enabled: true'
http://minio:9000/cli-tests-evidence &&
curl -sS --fail-with-body --retry 5 --retry-delay 1 --max-time 30
--aws-sigv4 aws:amz:us-east-1:s3 --user ROOTUSER:ROOTUSER
-X PUT http://minio:9000/cli-tests-landing