Compare commits
1 commit
master
...
feat/grpc-
Author | SHA1 | Date | |
---|---|---|---|
6679ad81fe |
38 changed files with 81 additions and 123 deletions
28
.env
28
.env
|
@ -8,23 +8,23 @@ BASTION_VERSION=10
|
||||||
BASTION_IMAGE=debian
|
BASTION_IMAGE=debian
|
||||||
|
|
||||||
# NeoGo privnet
|
# NeoGo privnet
|
||||||
NEOGO_VERSION=0.104.0
|
NEOGO_VERSION=0.101.1
|
||||||
NEOGO_IMAGE=nspccdev/neo-go
|
NEOGO_IMAGE=nspccdev/neo-go
|
||||||
|
|
||||||
# FrostFS InnerRing nodes
|
# FrostFS InnerRing nodes
|
||||||
IR_VERSION=0.42.9
|
IR_VERSION=365a7ca0
|
||||||
IR_IMAGE=git.frostfs.info/truecloudlab/frostfs-ir
|
IR_IMAGE=truecloudlab/frostfs-ir
|
||||||
|
|
||||||
# FrostFS Storage nodes
|
# FrostFS Storage nodes
|
||||||
NODE_VERSION=0.42.9
|
NODE_VERSION=365a7ca0
|
||||||
NODE_IMAGE=git.frostfs.info/truecloudlab/frostfs-storage
|
NODE_IMAGE=truecloudlab/frostfs-storage
|
||||||
|
|
||||||
# NATS Server
|
# NATS Server
|
||||||
NATS_VERSION=2.7.2
|
NATS_VERSION=2.7.2
|
||||||
NATS_IMAGE=nats
|
NATS_IMAGE=nats
|
||||||
|
|
||||||
# HTTP Gate
|
# HTTP Gate
|
||||||
HTTP_GW_VERSION=0.30.2
|
HTTP_GW_VERSION=0.27.0-rc.1-15-g1776db28
|
||||||
HTTP_GW_IMAGE=truecloudlab/frostfs-http-gw
|
HTTP_GW_IMAGE=truecloudlab/frostfs-http-gw
|
||||||
|
|
||||||
# REST Gate
|
# REST Gate
|
||||||
|
@ -32,7 +32,7 @@ REST_GW_VERSION=c9c85e90
|
||||||
REST_GW_IMAGE=truecloudlab/frostfs-rest-gw
|
REST_GW_IMAGE=truecloudlab/frostfs-rest-gw
|
||||||
|
|
||||||
# S3 Gate
|
# S3 Gate
|
||||||
S3_GW_VERSION=0.30.4
|
S3_GW_VERSION=0.27.0-rc.1-30-gce929468
|
||||||
S3_GW_IMAGE=truecloudlab/frostfs-s3-gw
|
S3_GW_IMAGE=truecloudlab/frostfs-s3-gw
|
||||||
|
|
||||||
# FrostFS LOCODE database
|
# FrostFS LOCODE database
|
||||||
|
@ -40,17 +40,17 @@ LOCODE_DB_URL=https://git.frostfs.info/attachments/a2e8def7-52b6-49f1-89cd-a0567
|
||||||
#LOCODE_DB_PATH=/path/to/locode_db
|
#LOCODE_DB_PATH=/path/to/locode_db
|
||||||
|
|
||||||
# FrostFS CLI binary
|
# FrostFS CLI binary
|
||||||
FROSTFS_CLI_URL=https://git.frostfs.info/TrueCloudLab/frostfs-node/releases/download/v${NODE_VERSION}/frostfs-cli
|
FROSTFS_CLI_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/BbngJDdRJEDJTJk7qptq3SxKqrJqtvVYWU6R5AaFGbtG
|
||||||
#FROSTFS_CLI_PATH=/path/to/frostfs-cli-binary
|
#FROSTFS_CLI_PATH=/path/to/frostfs-cli-binary
|
||||||
|
|
||||||
# FrostFS ADM tool binary
|
# FrostFS ADM tool binary
|
||||||
FROSTFS_ADM_VERSION=498f9955ea
|
FROSTFS_ADM_VERSION=eca5c210
|
||||||
FROSTFS_ADM_URL=https://git.frostfs.info/TrueCloudLab/frostfs-node/releases/download/v${NODE_VERSION}/frostfs-adm
|
FROSTFS_ADM_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/2GxarAjGUb3RevxvqFGYT3hDQxNNaHzK6aFxhJCAMehq
|
||||||
#FROSTFS_ADM_PATH=/path/to/frostfs-adm-binary
|
#FROSTFS_ADM_PATH=/path/to/frostfs-adm-binary
|
||||||
|
|
||||||
# Compiled FrostFS Smart Contracts
|
# Compiled FrostFS Smart Contracts
|
||||||
FROSTFS_CONTRACTS_VERSION=694daebb19
|
FROSTFS_CONTRACTS_VERSION=8537293e
|
||||||
FROSTFS_CONTRACTS_URL=https://git.frostfs.info/TrueCloudLab/frostfs-contract/releases/download/v0.19.2/frostfs-contract-v0.19.2.tar.gz
|
FROSTFS_CONTRACTS_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/6ccZoj4HxoN1G1qvJAX2Qw9p2D6qdyzAjNMaNkEKYQpA
|
||||||
#FROSTFS_CONTRACTS_PATH=/path/to/unpacked/frostfs-contracts-dir
|
#FROSTFS_CONTRACTS_PATH=/path/to/unpacked/frostfs-contracts-dir
|
||||||
|
|
||||||
# Jaeger tracing
|
# Jaeger tracing
|
||||||
|
@ -64,7 +64,3 @@ PROMETHEUS_IMAGE=prom/prometheus
|
||||||
# Grafana versions
|
# Grafana versions
|
||||||
GRAFANA_VERSION=9.5.6
|
GRAFANA_VERSION=9.5.6
|
||||||
GRAFANA_IMAGE=grafana/grafana
|
GRAFANA_IMAGE=grafana/grafana
|
||||||
|
|
||||||
# Loki versions
|
|
||||||
LOKI_VERSION=2.9.1
|
|
||||||
LOKI_IMAGE=grafana/loki
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
name: DCO action
|
|
||||||
on: [pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -13,9 +12,9 @@ jobs:
|
||||||
- name: Setup Go
|
- name: Setup Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
go-version: '1.21'
|
go-version: '1.20'
|
||||||
|
|
||||||
- name: Run commit format checker
|
- name: Run commit format checker
|
||||||
uses: https://git.frostfs.info/TrueCloudLab/dco-go@v2
|
uses: https://git.alexvan.in/alexvanin/dco-go@v1
|
||||||
with:
|
with:
|
||||||
from: 'origin/${{ github.event.pull_request.base.ref }}'
|
from: dca6ff62
|
||||||
|
|
15
Makefile
15
Makefile
|
@ -76,25 +76,12 @@ up/bootstrap: get vendor/hosts
|
||||||
@$(foreach SVC, $(START_BOOTSTRAP), $(shell docker-compose -f services/$(SVC)/docker-compose.yml up -d))
|
@$(foreach SVC, $(START_BOOTSTRAP), $(shell docker-compose -f services/$(SVC)/docker-compose.yml up -d))
|
||||||
@source ./bin/helper.sh
|
@source ./bin/helper.sh
|
||||||
@./vendor/frostfs-adm --config frostfs-adm.yml morph init --contracts vendor/contracts
|
@./vendor/frostfs-adm --config frostfs-adm.yml morph init --contracts vendor/contracts
|
||||||
echo "Set rule chain to policy contract"
|
|
||||||
@./vendor/frostfs-adm --config frostfs-adm.yml morph \
|
|
||||||
ape add-rule-chain --target-type namespace --target-name "" \
|
|
||||||
--rule 'allow Container.* *' --chain-id "allow_container_ops"
|
|
||||||
@for f in ./services/storage/wallet*.json; do \
|
@for f in ./services/storage/wallet*.json; do \
|
||||||
echo "Transfer GAS to wallet $${f}" \
|
echo "Transfer GAS to wallet $${f}" \
|
||||||
&& ./vendor/frostfs-adm -c frostfs-adm.yml morph refill-gas --storage-wallet $${f} --gas 10.0 \
|
&& ./vendor/frostfs-adm -c frostfs-adm.yml morph refill-gas --storage-wallet $${f} --gas 10.0 \
|
||||||
|| die "Failed to transfer GAS to alphabet wallets"; \
|
|| die "Failed to transfer GAS to alphabet wallets"; \
|
||||||
done
|
done
|
||||||
@echo "Create frostfsid subject for ./wallets/wallet.json"; \
|
@echo "FrostFS sidechain environment is deployed"
|
||||||
if [ -n "$$(./vendor/frostfs-adm -c frostfs-adm.yml morph frostfsid list-subjects --namespace '')" ]; then \
|
|
||||||
echo "Subject already exists"; \
|
|
||||||
else \
|
|
||||||
subj_key=`docker container exec -it morph_chain neo-go wallet dump-keys -w /wallets/wallet.json | tail -1 | tr -d ' \r\n'` \
|
|
||||||
&& echo "Subject key: $${subj_key}" \
|
|
||||||
&& ./vendor/frostfs-adm -c frostfs-adm.yml morph frostfsid create-subject --namespace "" --subject-key $${subj_key} --subject-name walletsubject \
|
|
||||||
|| die "Failed to create subject for the wallet"; \
|
|
||||||
fi
|
|
||||||
echo "FrostFS sidechain environment is deployed"
|
|
||||||
|
|
||||||
# Build up certain service
|
# Build up certain service
|
||||||
.PHONY: up/%
|
.PHONY: up/%
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
wallet: services/storage/wallet01.json
|
|
||||||
password: ""
|
|
||||||
rpc-endpoint: s01.frostfs.devenv:8080
|
|
||||||
endpoint: s01.frostfs.devenv:8081
|
|
|
@ -1,4 +0,0 @@
|
||||||
wallet: services/storage/wallet02.json
|
|
||||||
password: ""
|
|
||||||
rpc-endpoint: s02.frostfs.devenv:8080
|
|
||||||
endpoint: s02.frostfs.devenv:8081
|
|
|
@ -1,4 +0,0 @@
|
||||||
wallet: services/storage/wallet03.json
|
|
||||||
password: ""
|
|
||||||
rpc-endpoint: s03.frostfs.devenv:8080
|
|
||||||
endpoint: s03.frostfs.devenv:8081
|
|
|
@ -1,4 +0,0 @@
|
||||||
wallet: services/storage/wallet04.json
|
|
||||||
password: ""
|
|
||||||
rpc-endpoint: s04.frostfs.devenv:8080
|
|
||||||
endpoint: s04.frostfs.devenv:8081
|
|
|
@ -22,8 +22,8 @@ Image label prefix to use for containers.
|
||||||
- Create a new container
|
- Create a new container
|
||||||
```
|
```
|
||||||
$ frostfs-cli --rpc-endpoint s01.frostfs.devenv:8080 \
|
$ frostfs-cli --rpc-endpoint s01.frostfs.devenv:8080 \
|
||||||
--wallet wallets/wallet.key \
|
--key wallets/wallet.key \
|
||||||
container create --basic-acl private --await \
|
container create --basic-acl readonly --await \
|
||||||
--policy "REP 1 SELECT 1 FROM *"
|
--policy "REP 1 SELECT 1 FROM *"
|
||||||
container ID: 4LfREK1cetL4PUji5fqj9SgRTSmaC5jExEDK9HKCDjdP
|
container ID: 4LfREK1cetL4PUji5fqj9SgRTSmaC5jExEDK9HKCDjdP
|
||||||
awaiting...
|
awaiting...
|
||||||
|
@ -33,7 +33,7 @@ container has been persisted on sidechain
|
||||||
- Put an object into the newly created container
|
- Put an object into the newly created container
|
||||||
```
|
```
|
||||||
$ frostfs-cli --rpc-endpoint s01.frostfs.devenv:8080 \
|
$ frostfs-cli --rpc-endpoint s01.frostfs.devenv:8080 \
|
||||||
--wallet wallets/wallet.key \
|
--key wallets/wallet.key \
|
||||||
object put --file /tmp/backup.jpeg \
|
object put --file /tmp/backup.jpeg \
|
||||||
--cid 4LfREK1cetL4PUji5fqj9SgRTSmaC5jExEDK9HKCDjdP
|
--cid 4LfREK1cetL4PUji5fqj9SgRTSmaC5jExEDK9HKCDjdP
|
||||||
[/tmp/backup.jpeg] Object successfully stored
|
[/tmp/backup.jpeg] Object successfully stored
|
||||||
|
|
|
@ -5,7 +5,6 @@ network:
|
||||||
epoch_duration: 240
|
epoch_duration: 240
|
||||||
basic_income_rate: 100000000
|
basic_income_rate: 100000000
|
||||||
homomorphic_hash_disabled: false
|
homomorphic_hash_disabled: false
|
||||||
maintenance_mode_allowed: true
|
|
||||||
fee:
|
fee:
|
||||||
audit: 10000
|
audit: 10000
|
||||||
candidate: 10000000000
|
candidate: 10000000000
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
|
|
||||||
basenet:
|
basenet:
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
IPV4_PREFIX.122 grafana.LOCAL_DOMAIN
|
IPV4_PREFIX.122 grafana.LOCAL_DOMAIN
|
||||||
IPV4_PREFIX.123 loki.LOCAL_DOMAIN
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
version: '2.4'
|
||||||
services:
|
services:
|
||||||
grafana:
|
grafana:
|
||||||
image: ${GRAFANA_IMAGE}:${GRAFANA_VERSION}
|
image: ${GRAFANA_IMAGE}:${GRAFANA_VERSION}
|
||||||
|
@ -13,17 +14,11 @@ services:
|
||||||
- ./../../vendor/hosts:/etc/hosts
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
- ./grafana.ini:/etc/grafana/grafana.ini
|
- ./grafana.ini:/etc/grafana/grafana.ini
|
||||||
- ./provisioning:/etc/grafana/provisioning
|
- ./provisioning:/etc/grafana/provisioning
|
||||||
|
ports:
|
||||||
|
- '3000:3000'
|
||||||
stop_signal: SIGKILL
|
stop_signal: SIGKILL
|
||||||
env_file: [ ".env", ".int_test.env" ]
|
env_file: [ ".env", ".int_test.env" ]
|
||||||
|
|
||||||
loki:
|
|
||||||
image: ${LOKI_IMAGE}:${LOKI_VERSION}
|
|
||||||
command: -config.file=/etc/loki/local-config.yaml
|
|
||||||
networks:
|
|
||||||
grafana_int:
|
|
||||||
internet:
|
|
||||||
ipv4_address: ${IPV4_PREFIX}.123
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
grafana_int:
|
grafana_int:
|
||||||
internet:
|
internet:
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -6,8 +6,3 @@ datasources:
|
||||||
access: proxy
|
access: proxy
|
||||||
orgId: 1
|
orgId: 1
|
||||||
url: http://prometheus:9090
|
url: http://prometheus:9090
|
||||||
- name: Loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
orgId: 1
|
|
||||||
url: http://loki:3100
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
http_gate:
|
http_gate:
|
||||||
image: ${HTTP_GW_IMAGE}:${HTTP_GW_VERSION}
|
image: ${HTTP_GW_IMAGE}:${HTTP_GW_VERSION}
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
|
FROSTFS_IR_CONTRACTS_FROSTFSID=27407c76feabc407908f3d09a3d845d45e7c981a
|
||||||
|
|
||||||
FROSTFS_IR_CONTROL_GRPC_ENDPOINT=127.0.0.1:16512
|
FROSTFS_IR_CONTROL_GRPC_ENDPOINT=127.0.0.1:16512
|
||||||
|
|
|
@ -25,6 +25,7 @@ endif
|
||||||
# Download FrostFS CLI
|
# Download FrostFS CLI
|
||||||
.ONESHELL:
|
.ONESHELL:
|
||||||
get.cli: FROSTFS_CLI_FILE=./vendor/frostfs-cli
|
get.cli: FROSTFS_CLI_FILE=./vendor/frostfs-cli
|
||||||
|
get.cli: FROSTFS_CLI_ARCHIVE_FILE=${FROSTFS_CLI_FILE}.tar.gz
|
||||||
get.cli: FROSTFS_CLI_PATH?=
|
get.cli: FROSTFS_CLI_PATH?=
|
||||||
get.cli:
|
get.cli:
|
||||||
@mkdir -p ./vendor
|
@mkdir -p ./vendor
|
||||||
|
@ -33,8 +34,10 @@ ifeq (${FROSTFS_CLI_PATH},)
|
||||||
@echo "⇒ Download FrostFS CLI binary from ${FROSTFS_CLI_URL}"
|
@echo "⇒ Download FrostFS CLI binary from ${FROSTFS_CLI_URL}"
|
||||||
@curl \
|
@curl \
|
||||||
-ksSL "${FROSTFS_CLI_URL}" \
|
-ksSL "${FROSTFS_CLI_URL}" \
|
||||||
-o ${FROSTFS_CLI_FILE}
|
-o ${FROSTFS_CLI_ARCHIVE_FILE}
|
||||||
@chmod +x ${FROSTFS_CLI_FILE}
|
@tar -xvf ${FROSTFS_CLI_ARCHIVE_FILE} -C ./vendor | xargs -I {} \
|
||||||
|
mv ./vendor/{} ${FROSTFS_CLI_FILE}
|
||||||
|
@rm ${FROSTFS_CLI_ARCHIVE_FILE}
|
||||||
else
|
else
|
||||||
@echo "⇒ Copy local binary from ${FROSTFS_CLI_PATH}"
|
@echo "⇒ Copy local binary from ${FROSTFS_CLI_PATH}"
|
||||||
@cp ${FROSTFS_CLI_PATH} ${FROSTFS_CLI_FILE}
|
@cp ${FROSTFS_CLI_PATH} ${FROSTFS_CLI_FILE}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
|
|
||||||
ir01:
|
ir01:
|
||||||
|
@ -12,19 +13,19 @@ services:
|
||||||
ir_int:
|
ir_int:
|
||||||
internet:
|
internet:
|
||||||
ipv4_address: ${IPV4_PREFIX}.61
|
ipv4_address: ${IPV4_PREFIX}.61
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./az.json:/wallet.json
|
- ./az.json:/wallet.json
|
||||||
- ./az.key:/wallet01.key
|
- ./az.key:/wallet01.key
|
||||||
- ./../../vendor/hosts:/etc/hosts
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
- ./../../vendor/locode_db:/locode/db
|
- ./../../vendor/locode_db:/locode/db
|
||||||
- ./../../vendor/frostfs-cli:/frostfs-cli
|
- ./../../vendor/frostfs-cli:/frostfs-cli
|
||||||
|
- ./healthcheck.sh:/healthcheck.sh
|
||||||
- ./cfg:/etc/frostfs/ir
|
- ./cfg:/etc/frostfs/ir
|
||||||
env_file: [ ".env", ".ir.env", ".int_test.env" ]
|
env_file: [ ".env", ".ir.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-ir", "--config", "/etc/frostfs/ir/config.yml" ]
|
command: [ "frostfs-ir", "--config", "/etc/frostfs/ir/config.yml" ]
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "/frostfs-cli control ir healthcheck -q --wallet /wallet01.key --endpoint \"$$FROSTFS_IR_CONTROL_GRPC_ENDPOINT\""]
|
test: ["CMD-SHELL", "/healthcheck.sh"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
6
services/ir/healthcheck.sh
Executable file
6
services/ir/healthcheck.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
/frostfs-cli control healthcheck \
|
||||||
|
--endpoint "$FROSTFS_IR_CONTROL_GRPC_ENDPOINT" \
|
||||||
|
--wallet /wallet01.key --ir |
|
||||||
|
grep "Health status: READY"
|
|
@ -1,3 +1,4 @@
|
||||||
|
version: '2.4'
|
||||||
services:
|
services:
|
||||||
jaeger:
|
jaeger:
|
||||||
image: ${JAEGER_IMAGE}:${JAEGER_VERSION}
|
image: ${JAEGER_IMAGE}:${JAEGER_VERSION}
|
||||||
|
|
|
@ -20,12 +20,15 @@ endif
|
||||||
|
|
||||||
# Download FrostFS ADM tool
|
# Download FrostFS ADM tool
|
||||||
get.adm: FROSTFS_ADM_DEST=./vendor/frostfs-adm
|
get.adm: FROSTFS_ADM_DEST=./vendor/frostfs-adm
|
||||||
|
get.adm: FROSTFS_ADM_ARCHIVE=frostfs-adm.tar.gz
|
||||||
get.adm:
|
get.adm:
|
||||||
|
|
||||||
ifeq (${FROSTFS_ADM_PATH},)
|
ifeq (${FROSTFS_ADM_PATH},)
|
||||||
@echo "⇒ Download FrostFS ADM binary from ${FROSTFS_ADM_URL}"
|
@echo "⇒ Download FrostFS ADM binary from ${FROSTFS_ADM_URL}"
|
||||||
@curl -skSL ${FROSTFS_ADM_URL} -o ${FROSTFS_ADM_DEST}
|
@curl -skSL ${FROSTFS_ADM_URL} -o ${FROSTFS_ADM_ARCHIVE}
|
||||||
@chmod +x ${FROSTFS_ADM_DEST}
|
@tar -xvf ${FROSTFS_ADM_ARCHIVE} -C ./vendor | xargs -I {} \
|
||||||
|
mv ./vendor/{} ${FROSTFS_ADM_DEST}
|
||||||
|
@rm ${FROSTFS_ADM_ARCHIVE}
|
||||||
else
|
else
|
||||||
@echo "⇒ Copy frostfs-adm binary from ${FROSTFS_ADM_PATH}"
|
@echo "⇒ Copy frostfs-adm binary from ${FROSTFS_ADM_PATH}"
|
||||||
@cp ${FROSTFS_ADM_PATH} ${FROSTFS_ADM_DEST}
|
@cp ${FROSTFS_ADM_PATH} ${FROSTFS_ADM_DEST}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
frostfs_morph_chain:
|
frostfs_morph_chain:
|
||||||
image: ${NEOGO_IMAGE}:${NEOGO_VERSION}
|
image: ${NEOGO_IMAGE}:${NEOGO_VERSION}
|
||||||
|
@ -19,13 +20,9 @@ services:
|
||||||
- ./config.yml:/wallets/config.yml
|
- ./config.yml:/wallets/config.yml
|
||||||
- ./../../vendor/hosts:/etc/hosts
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
- ./../../wallets/wallet.json:/wallets/wallet.json
|
- ./../../wallets/wallet.json:/wallets/wallet.json
|
||||||
- chains:/chains
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
chain_int:
|
chain_int:
|
||||||
internet:
|
internet:
|
||||||
external: true
|
external: true
|
||||||
name: basenet_internet
|
name: basenet_internet
|
||||||
|
|
||||||
volumes:
|
|
||||||
chains:
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ ApplicationConfiguration:
|
||||||
DBConfiguration:
|
DBConfiguration:
|
||||||
Type: "boltdb"
|
Type: "boltdb"
|
||||||
BoltDBOptions:
|
BoltDBOptions:
|
||||||
FilePath: "/chains/morph.bolt"
|
FilePath: "./db/morph.bolt"
|
||||||
P2P:
|
P2P:
|
||||||
Addresses:
|
Addresses:
|
||||||
- ":20333"
|
- ":20333"
|
||||||
|
@ -29,14 +29,9 @@ ApplicationConfiguration:
|
||||||
AttemptConnPeers: 5
|
AttemptConnPeers: 5
|
||||||
MinPeers: 0
|
MinPeers: 0
|
||||||
Relay: true
|
Relay: true
|
||||||
Consensus:
|
|
||||||
Enabled: true
|
|
||||||
UnlockWallet:
|
|
||||||
Path: "./wallets/node-wallet.json"
|
|
||||||
Password: "one"
|
|
||||||
RPC:
|
RPC:
|
||||||
Addresses:
|
Addresses:
|
||||||
- ":30333"
|
- "192.168.130.90:30333"
|
||||||
Enabled: true
|
Enabled: true
|
||||||
SessionEnabled: true
|
SessionEnabled: true
|
||||||
EnableCORSWorkaround: false
|
EnableCORSWorkaround: false
|
||||||
|
@ -54,3 +49,6 @@ ApplicationConfiguration:
|
||||||
Addresses:
|
Addresses:
|
||||||
- ":20011"
|
- ":20011"
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
UnlockWallet:
|
||||||
|
Path: "./wallets/node-wallet.json"
|
||||||
|
Password: "one"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
nats:
|
nats:
|
||||||
image: ${NATS_IMAGE}:${NATS_VERSION}
|
image: ${NATS_IMAGE}:${NATS_VERSION}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
version: '2.4'
|
||||||
services:
|
services:
|
||||||
prometheus:
|
prometheus:
|
||||||
image: ${PROMETHEUS_IMAGE}:${PROMETHEUS_VERSION}
|
image: ${PROMETHEUS_IMAGE}:${PROMETHEUS_VERSION}
|
||||||
|
@ -14,6 +15,8 @@ services:
|
||||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||||
command:
|
command:
|
||||||
- --config.file=/etc/prometheus/prometheus.yml
|
- --config.file=/etc/prometheus/prometheus.yml
|
||||||
|
ports:
|
||||||
|
- '9090:9090'
|
||||||
stop_signal: SIGKILL
|
stop_signal: SIGKILL
|
||||||
env_file: [ ".env", ".prometheus.env", ".int_test.env" ]
|
env_file: [ ".env", ".prometheus.env", ".int_test.env" ]
|
||||||
|
|
||||||
|
@ -21,4 +24,4 @@ networks:
|
||||||
prometheus_int:
|
prometheus_int:
|
||||||
internet:
|
internet:
|
||||||
external: true
|
external: true
|
||||||
name: basenet_internet
|
name: basenet_internet
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
rest_gate:
|
rest_gate:
|
||||||
image: ${REST_GW_IMAGE}:${REST_GW_VERSION}
|
image: ${REST_GW_IMAGE}:${REST_GW_VERSION}
|
||||||
|
@ -15,8 +16,7 @@ services:
|
||||||
- ./wallet.json:/wallet.json
|
- ./wallet.json:/wallet.json
|
||||||
- ./../../vendor/hosts:/etc/hosts
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
- ./cfg:/etc/frostfs/rest
|
- ./cfg:/etc/frostfs/rest
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".int_test.env" ]
|
env_file: [ ".env", ".int_test.env" ]
|
||||||
command: [ "frostfs-rest-gw", "--config", "/etc/frostfs/rest/config.yml" ]
|
command: [ "frostfs-rest-gw", "--config", "/etc/frostfs/rest/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -33,17 +33,3 @@ server:
|
||||||
wallet:
|
wallet:
|
||||||
path: /wallet.json # Path to wallet
|
path: /wallet.json # Path to wallet
|
||||||
passphrase: "s3" # Passphrase to decrypt wallet
|
passphrase: "s3" # Passphrase to decrypt wallet
|
||||||
|
|
||||||
features:
|
|
||||||
md5:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
control:
|
|
||||||
grpc:
|
|
||||||
endpoint: localhost:16515
|
|
||||||
|
|
||||||
frostfsid:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
policy:
|
|
||||||
enabled: false
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
s3_gate:
|
s3_gate:
|
||||||
image: ${S3_GW_IMAGE}:${S3_GW_VERSION}
|
image: ${S3_GW_IMAGE}:${S3_GW_VERSION}
|
||||||
|
@ -17,8 +18,7 @@ services:
|
||||||
- ./tls.crt:/tls.crt
|
- ./tls.crt:/tls.crt
|
||||||
- ./../../vendor/hosts:/etc/hosts
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
- ./cfg:/etc/frostfs/s3
|
- ./cfg:/etc/frostfs/s3
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".s3.env", ".int_test.env" ]
|
env_file: [ ".env", ".s3.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-s3-gw", "--config", "/etc/frostfs/s3/config.yml" ]
|
command: [ "frostfs-s3-gw", "--config", "/etc/frostfs/s3/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
# Logger section
|
# Logger section
|
||||||
logger:
|
logger:
|
||||||
level: debug # Minimum enabled logging level
|
level: debug # Minimum enabled logging level
|
||||||
loki:
|
|
||||||
enabled: true
|
|
||||||
endpoint: "loki.frostfs.devenv:3100/api/prom/push"
|
|
||||||
max_batch_delay: 1s
|
|
||||||
max_batch_size: 200
|
|
||||||
|
|
||||||
# Profiler section
|
# Profiler section
|
||||||
pprof:
|
pprof:
|
||||||
|
@ -19,7 +14,7 @@ prometheus:
|
||||||
address: :9090 # Server address
|
address: :9090 # Server address
|
||||||
shutdown_timeout: 15s # Timeout for metrics HTTP server graceful shutdown
|
shutdown_timeout: 15s # Timeout for metrics HTTP server graceful shutdown
|
||||||
|
|
||||||
# Application tracing section
|
# Application tracing section
|
||||||
tracing:
|
tracing:
|
||||||
enabled: true
|
enabled: true
|
||||||
exporter: otlp_grpc
|
exporter: otlp_grpc
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
services:
|
services:
|
||||||
storage01:
|
storage01:
|
||||||
image: ${NODE_IMAGE}:${NODE_VERSION}
|
image: ${NODE_IMAGE}:${NODE_VERSION}
|
||||||
|
@ -17,13 +18,13 @@ services:
|
||||||
- storage_s01:/storage
|
- storage_s01:/storage
|
||||||
- ./../../vendor/frostfs-cli:/frostfs-cli
|
- ./../../vendor/frostfs-cli:/frostfs-cli
|
||||||
- ./cli-cfg.yml:/cli-cfg.yml
|
- ./cli-cfg.yml:/cli-cfg.yml
|
||||||
|
- ./healthcheck.sh:/healthcheck.sh
|
||||||
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
||||||
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
||||||
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
||||||
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
||||||
- ./cfg:/etc/frostfs/storage
|
- ./cfg:/etc/frostfs/storage
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
@ -35,7 +36,7 @@ services:
|
||||||
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU MOW
|
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU MOW
|
||||||
- FROSTFS_NODE_ATTRIBUTE_2=Price:22
|
- FROSTFS_NODE_ATTRIBUTE_2=Price:22
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
test: ["CMD-SHELL", "/healthcheck.sh"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -57,13 +58,13 @@ services:
|
||||||
- storage_s02:/storage
|
- storage_s02:/storage
|
||||||
- ./../../vendor/frostfs-cli:/frostfs-cli
|
- ./../../vendor/frostfs-cli:/frostfs-cli
|
||||||
- ./cli-cfg.yml:/cli-cfg.yml
|
- ./cli-cfg.yml:/cli-cfg.yml
|
||||||
|
- ./healthcheck.sh:/healthcheck.sh
|
||||||
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
||||||
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
||||||
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
||||||
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
||||||
- ./cfg:/etc/frostfs/storage
|
- ./cfg:/etc/frostfs/storage
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
@ -75,7 +76,7 @@ services:
|
||||||
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU LED
|
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU LED
|
||||||
- FROSTFS_NODE_ATTRIBUTE_2=Price:33
|
- FROSTFS_NODE_ATTRIBUTE_2=Price:33
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
test: ["CMD-SHELL", "/healthcheck.sh"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -97,13 +98,13 @@ services:
|
||||||
- storage_s03:/storage
|
- storage_s03:/storage
|
||||||
- ./../../vendor/frostfs-cli:/frostfs-cli
|
- ./../../vendor/frostfs-cli:/frostfs-cli
|
||||||
- ./cli-cfg.yml:/cli-cfg.yml
|
- ./cli-cfg.yml:/cli-cfg.yml
|
||||||
|
- ./healthcheck.sh:/healthcheck.sh
|
||||||
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
- ./s04tls.crt:/etc/ssl/certs/s04tls.crt
|
||||||
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
||||||
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
||||||
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
||||||
- ./cfg:/etc/frostfs/storage
|
- ./cfg:/etc/frostfs/storage
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
@ -115,7 +116,7 @@ services:
|
||||||
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:SE STO
|
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:SE STO
|
||||||
- FROSTFS_NODE_ATTRIBUTE_2=Price:11
|
- FROSTFS_NODE_ATTRIBUTE_2=Price:11
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
test: ["CMD-SHELL", "/healthcheck.sh"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -137,14 +138,14 @@ services:
|
||||||
- storage_s04:/storage
|
- storage_s04:/storage
|
||||||
- ./../../vendor/frostfs-cli:/frostfs-cli
|
- ./../../vendor/frostfs-cli:/frostfs-cli
|
||||||
- ./cli-cfg.yml:/cli-cfg.yml
|
- ./cli-cfg.yml:/cli-cfg.yml
|
||||||
|
- ./healthcheck.sh:/healthcheck.sh
|
||||||
- ./s04tls.crt:/tls.crt
|
- ./s04tls.crt:/tls.crt
|
||||||
- ./s04tls.key:/tls.key
|
- ./s04tls.key:/tls.key
|
||||||
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
- ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert
|
||||||
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
- ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key
|
||||||
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
- ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt
|
||||||
- ./cfg:/etc/frostfs/storage
|
- ./cfg:/etc/frostfs/storage
|
||||||
stop_signal: SIGTERM
|
stop_signal: SIGKILL
|
||||||
stop_grace_period: 15s
|
|
||||||
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
env_file: [ ".env", ".storage.env", ".int_test.env" ]
|
||||||
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ]
|
||||||
environment:
|
environment:
|
||||||
|
@ -161,7 +162,7 @@ services:
|
||||||
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:FI HEL
|
- FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:FI HEL
|
||||||
- FROSTFS_NODE_ATTRIBUTE_2=Price:44
|
- FROSTFS_NODE_ATTRIBUTE_2=Price:44
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
test: ["CMD-SHELL", "/healthcheck.sh"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
5
services/storage/healthcheck.sh
Executable file
5
services/storage/healthcheck.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
/frostfs-cli control healthcheck -c /cli-cfg.yml \
|
||||||
|
--endpoint "$FROSTFS_CONTROL_GRPC_ENDPOINT" |
|
||||||
|
grep "Health status: READY"
|
Loading…
Reference in a new issue