frostfs-dev-env/services/storage/docker-compose.yml
Evgenii Stratonikov 47b4917e7b
All checks were successful
DCO action / DCO (pull_request) Successful in 5m24s
[#65] services: Fix docker-compose warnings
There were multiple warning like this one.
```
WARN[0000] /secret/services/rest_gate/docker-compose.yml: `version` is obsolete
```

According to docker-compose spec, the parameter is indeed purely informative:
https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-and-name-top-level-elements

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-04 11:47:33 +03:00

197 lines
6.4 KiB
YAML

---
services:
storage01:
image: ${NODE_IMAGE}:${NODE_VERSION}
domainname: ${LOCAL_DOMAIN}
hostname: s01
container_name: s01
restart: on-failure
networks:
storage_int:
internet:
ipv4_address: ${IPV4_PREFIX}.71
volumes:
- ./wallet01.json:/wallet.json
- ./../../vendor/hosts:/etc/hosts
- storage_s01:/storage
- ./../../vendor/frostfs-cli:/frostfs-cli
- ./cli-cfg.yml:/cli-cfg.yml
- ./healthcheck.sh:/healthcheck.sh
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
- ./cfg:/etc/frostfs/storage
stop_signal: SIGTERM
stop_grace_period: 15s
env_file: [ ".env", ".storage.env", ".int_test.env" ]
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
environment:
- FROSTFS_NODE_WALLET_PATH=./wallet.json
- FROSTFS_NODE_WALLET_PASSWORD=
- FROSTFS_NODE_ADDRESSES=s01.${LOCAL_DOMAIN}:8080
- FROSTFS_GRPC_0_ENDPOINT=s01.${LOCAL_DOMAIN}:8080
- FROSTFS_CONTROL_GRPC_ENDPOINT=s01.${LOCAL_DOMAIN}:8081
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU MOW
- FROSTFS_NODE_ATTRIBUTE_2=Price:22
healthcheck:
test: ["CMD-SHELL", "/healthcheck.sh"]
interval: 2s
timeout: 1s
retries: 5
start_period: 10s
storage02:
image: ${NODE_IMAGE}:${NODE_VERSION}
domainname: ${LOCAL_DOMAIN}
hostname: s02
container_name: s02
restart: on-failure
networks:
storage_int:
internet:
ipv4_address: ${IPV4_PREFIX}.72
volumes:
- ./wallet02.json:/wallet.json
- ./../../vendor/hosts:/etc/hosts
- storage_s02:/storage
- ./../../vendor/frostfs-cli:/frostfs-cli
- ./cli-cfg.yml:/cli-cfg.yml
- ./healthcheck.sh:/healthcheck.sh
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
- ./cfg:/etc/frostfs/storage
stop_signal: SIGTERM
stop_grace_period: 15s
env_file: [ ".env", ".storage.env", ".int_test.env" ]
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
environment:
- FROSTFS_NODE_WALLET_PATH=./wallet.json
- FROSTFS_NODE_WALLET_PASSWORD=
- FROSTFS_NODE_ADDRESSES=s02.${LOCAL_DOMAIN}:8080
- FROSTFS_GRPC_0_ENDPOINT=s02.${LOCAL_DOMAIN}:8080
- FROSTFS_CONTROL_GRPC_ENDPOINT=s02.${LOCAL_DOMAIN}:8081
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU LED
- FROSTFS_NODE_ATTRIBUTE_2=Price:33
healthcheck:
test: ["CMD-SHELL", "/healthcheck.sh"]
interval: 2s
timeout: 1s
retries: 5
start_period: 10s
storage03:
image: ${NODE_IMAGE}:${NODE_VERSION}
domainname: ${LOCAL_DOMAIN}
hostname: s03
container_name: s03
restart: on-failure
networks:
storage_int:
internet:
ipv4_address: ${IPV4_PREFIX}.73
volumes:
- ./wallet03.json:/wallet.json
- ./../../vendor/hosts:/etc/hosts
- storage_s03:/storage
- ./../../vendor/frostfs-cli:/frostfs-cli
- ./cli-cfg.yml:/cli-cfg.yml
- ./healthcheck.sh:/healthcheck.sh
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
- ./cfg:/etc/frostfs/storage
stop_signal: SIGTERM
stop_grace_period: 15s
env_file: [ ".env", ".storage.env", ".int_test.env" ]
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
environment:
- FROSTFS_NODE_WALLET_PATH=./wallet.json
- FROSTFS_NODE_WALLET_PASSWORD=
- FROSTFS_NODE_ADDRESSES=s03.${LOCAL_DOMAIN}:8080
- FROSTFS_GRPC_0_ENDPOINT=s03.${LOCAL_DOMAIN}:8080
- FROSTFS_CONTROL_GRPC_ENDPOINT=s03.${LOCAL_DOMAIN}:8081
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:SE STO
- FROSTFS_NODE_ATTRIBUTE_2=Price:11
healthcheck:
test: ["CMD-SHELL", "/healthcheck.sh"]
interval: 2s
timeout: 1s
retries: 5
start_period: 10s
storage04:
image: ${NODE_IMAGE}:${NODE_VERSION}
domainname: ${LOCAL_DOMAIN}
hostname: s04
container_name: s04
restart: on-failure
networks:
storage_int:
internet:
ipv4_address: ${IPV4_PREFIX}.74
volumes:
- ./wallet04.json:/wallet.json
- ./../../vendor/hosts:/etc/hosts
- storage_s04:/storage
- ./../../vendor/frostfs-cli:/frostfs-cli
- ./cli-cfg.yml:/cli-cfg.yml
- ./healthcheck.sh:/healthcheck.sh
- ./s04tls.crt:/tls.crt
- ./s04tls.key:/tls.key
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
- ./cfg:/etc/frostfs/storage
stop_signal: SIGTERM
stop_grace_period: 15s
env_file: [ ".env", ".storage.env", ".int_test.env" ]
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
environment:
- FROSTFS_NODE_WALLET_PATH=./wallet.json
- FROSTFS_NODE_WALLET_PASSWORD=
- FROSTFS_NODE_ADDRESSES=s04.${LOCAL_DOMAIN}:8080 grpcs://s04.${LOCAL_DOMAIN}:8082
- FROSTFS_CONTROL_GRPC_ENDPOINT=s04.${LOCAL_DOMAIN}:8081
- FROSTFS_GRPC_NUM=2
- FROSTFS_GRPC_0_ENDPOINT=s04.${LOCAL_DOMAIN}:8080
- FROSTFS_GRPC_1_ENDPOINT=s04.${LOCAL_DOMAIN}:8082
- FROSTFS_GRPC_1_TLS_ENABLED=true
- FROSTFS_GRPC_1_TLS_CERTIFICATE=/tls.crt
- FROSTFS_GRPC_1_TLS_KEY=/tls.key
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:FI HEL
- FROSTFS_NODE_ATTRIBUTE_2=Price:44
healthcheck:
test: ["CMD-SHELL", "/healthcheck.sh"]
interval: 2s
timeout: 1s
retries: 5
start_period: 10s
sn-healthcheck:
container_name: sn-healthcheck
image: debian:10
depends_on:
storage01:
condition: service_healthy
storage02:
condition: service_healthy
storage03:
condition: service_healthy
storage04:
condition: service_healthy
volumes:
storage_s01:
storage_s02:
storage_s03:
storage_s04:
networks:
storage_int:
internet:
external: true
name: basenet_internet