frostfs-dev-env/services/storage/docker-compose.yml

195 lines
6.3 KiB
YAML

---
version: "2.4"
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: SIGKILL
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: SIGKILL
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: SIGKILL
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: SIGKILL
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