forked from TrueCloudLab/frostfs-dev-env
Compare commits
52 commits
Author | SHA1 | Date | |
---|---|---|---|
d0c32731f2 | |||
7538bd9b17 | |||
2e67acbcb2 | |||
439a9e71cf | |||
dd382f8ce0 | |||
044cf99e8d | |||
ae658469a5 | |||
155042343b | |||
f94fa284ec | |||
d03be14312 | |||
0be22a9375 | |||
2b6122192a | |||
773ea2339b | |||
47b4917e7b | |||
|
8edfcb364d | ||
19e5cec49f | |||
0f6f2722c2 | |||
9654b77236 | |||
dfad34fdea | |||
1077c9d358 | |||
40454b5507 | |||
9c9ec639f0 | |||
de8b58911e | |||
c2e2b6442c | |||
4413251994 | |||
e254eba6a8 | |||
90bd39d717 | |||
fdcf71d5b6 | |||
f0c3c02943 | |||
4a6b481618 | |||
42e6349276 | |||
eba763ff79 | |||
b7ac6f30cf | |||
6eedab3d83 | |||
731976cc57 | |||
51053e3317 | |||
04260ad0d8 | |||
9bb0385b85 | |||
b6f47cb2c2 | |||
d8df46b4d1 | |||
cc963b78b5 | |||
acd32cb877 | |||
0231b2bbf0 | |||
1408558631 | |||
8218440525 | |||
201855e729 | |||
74d43f48f2 | |||
d76cc2e48a | |||
d5ee290740 | |||
4f9285251f | |||
f749581c4e | |||
2efc0442f1 |
39 changed files with 124 additions and 81 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.101.1
|
NEOGO_VERSION=0.104.0
|
||||||
NEOGO_IMAGE=nspccdev/neo-go
|
NEOGO_IMAGE=nspccdev/neo-go
|
||||||
|
|
||||||
# FrostFS InnerRing nodes
|
# FrostFS InnerRing nodes
|
||||||
IR_VERSION=365a7ca0
|
IR_VERSION=0.42.9
|
||||||
IR_IMAGE=truecloudlab/frostfs-ir
|
IR_IMAGE=git.frostfs.info/truecloudlab/frostfs-ir
|
||||||
|
|
||||||
# FrostFS Storage nodes
|
# FrostFS Storage nodes
|
||||||
NODE_VERSION=365a7ca0
|
NODE_VERSION=0.42.9
|
||||||
NODE_IMAGE=truecloudlab/frostfs-storage
|
NODE_IMAGE=git.frostfs.info/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.27.0-rc.1-15-g1776db28
|
HTTP_GW_VERSION=0.30.2
|
||||||
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.27.0-rc.1-30-gce929468
|
S3_GW_VERSION=0.30.4
|
||||||
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://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/BbngJDdRJEDJTJk7qptq3SxKqrJqtvVYWU6R5AaFGbtG
|
FROSTFS_CLI_URL=https://git.frostfs.info/TrueCloudLab/frostfs-node/releases/download/v${NODE_VERSION}/frostfs-cli
|
||||||
#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=eca5c210
|
FROSTFS_ADM_VERSION=498f9955ea
|
||||||
FROSTFS_ADM_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/2GxarAjGUb3RevxvqFGYT3hDQxNNaHzK6aFxhJCAMehq
|
FROSTFS_ADM_URL=https://git.frostfs.info/TrueCloudLab/frostfs-node/releases/download/v${NODE_VERSION}/frostfs-adm
|
||||||
#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=8537293e
|
FROSTFS_CONTRACTS_VERSION=694daebb19
|
||||||
FROSTFS_CONTRACTS_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/6ccZoj4HxoN1G1qvJAX2Qw9p2D6qdyzAjNMaNkEKYQpA
|
FROSTFS_CONTRACTS_URL=https://git.frostfs.info/TrueCloudLab/frostfs-contract/releases/download/v0.19.2/frostfs-contract-v0.19.2.tar.gz
|
||||||
#FROSTFS_CONTRACTS_PATH=/path/to/unpacked/frostfs-contracts-dir
|
#FROSTFS_CONTRACTS_PATH=/path/to/unpacked/frostfs-contracts-dir
|
||||||
|
|
||||||
# Jaeger tracing
|
# Jaeger tracing
|
||||||
|
@ -64,3 +64,7 @@ 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,3 +1,4 @@
|
||||||
|
name: DCO action
|
||||||
on: [pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -12,9 +13,9 @@ jobs:
|
||||||
- name: Setup Go
|
- name: Setup Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
go-version: '1.20'
|
go-version: '1.21'
|
||||||
|
|
||||||
- name: Run commit format checker
|
- name: Run commit format checker
|
||||||
uses: https://git.alexvan.in/alexvanin/dco-go@v1
|
uses: https://git.frostfs.info/TrueCloudLab/dco-go@v2
|
||||||
with:
|
with:
|
||||||
from: dca6ff62
|
from: 'origin/${{ github.event.pull_request.base.ref }}'
|
||||||
|
|
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/services/grafana/provisioning/dashboards/* -diff -merge
|
15
Makefile
15
Makefile
|
@ -76,12 +76,25 @@ 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 "FrostFS sidechain environment is deployed"
|
@echo "Create frostfsid subject for ./wallets/wallet.json"; \
|
||||||
|
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/%
|
||||||
|
|
4
configs/s01-cli.yml
Normal file
4
configs/s01-cli.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
wallet: services/storage/wallet01.json
|
||||||
|
password: ""
|
||||||
|
rpc-endpoint: s01.frostfs.devenv:8080
|
||||||
|
endpoint: s01.frostfs.devenv:8081
|
4
configs/s02-cli.yml
Normal file
4
configs/s02-cli.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
wallet: services/storage/wallet02.json
|
||||||
|
password: ""
|
||||||
|
rpc-endpoint: s02.frostfs.devenv:8080
|
||||||
|
endpoint: s02.frostfs.devenv:8081
|
4
configs/s03-cli.yml
Normal file
4
configs/s03-cli.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
wallet: services/storage/wallet03.json
|
||||||
|
password: ""
|
||||||
|
rpc-endpoint: s03.frostfs.devenv:8080
|
||||||
|
endpoint: s03.frostfs.devenv:8081
|
4
configs/s04-cli.yml
Normal file
4
configs/s04-cli.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
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 \
|
||||||
--key wallets/wallet.key \
|
--wallet wallets/wallet.key \
|
||||||
container create --basic-acl readonly --await \
|
container create --basic-acl private --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 \
|
||||||
--key wallets/wallet.key \
|
--wallet 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,6 +5,7 @@ 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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
basenet:
|
basenet:
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
IPV4_PREFIX.122 grafana.LOCAL_DOMAIN
|
IPV4_PREFIX.122 grafana.LOCAL_DOMAIN
|
||||||
|
IPV4_PREFIX.123 loki.LOCAL_DOMAIN
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
version: '2.4'
|
|
||||||
services:
|
services:
|
||||||
grafana:
|
grafana:
|
||||||
image: ${GRAFANA_IMAGE}:${GRAFANA_VERSION}
|
image: ${GRAFANA_IMAGE}:${GRAFANA_VERSION}
|
||||||
|
@ -14,11 +13,17 @@ 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.
BIN
services/grafana/provisioning/dashboards/engine-buckets.json
Normal file
BIN
services/grafana/provisioning/dashboards/engine-buckets.json
Normal file
Binary file not shown.
BIN
services/grafana/provisioning/dashboards/fstree-buckets.json
Normal file
BIN
services/grafana/provisioning/dashboards/fstree-buckets.json
Normal file
Binary file not shown.
BIN
services/grafana/provisioning/dashboards/grpc-buckets.json
Normal file
BIN
services/grafana/provisioning/dashboards/grpc-buckets.json
Normal file
Binary file not shown.
BIN
services/grafana/provisioning/dashboards/metabase-buckets.json
Normal file
BIN
services/grafana/provisioning/dashboards/metabase-buckets.json
Normal file
Binary file not shown.
BIN
services/grafana/provisioning/dashboards/storage-node-logs.json
Normal file
BIN
services/grafana/provisioning/dashboards/storage-node-logs.json
Normal file
Binary file not shown.
Binary file not shown.
BIN
services/grafana/provisioning/dashboards/writecache-buckets.json
Normal file
BIN
services/grafana/provisioning/dashboards/writecache-buckets.json
Normal file
Binary file not shown.
|
@ -6,3 +6,8 @@ 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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
http_gate:
|
http_gate:
|
||||||
image: ${HTTP_GW_IMAGE}:${HTTP_GW_VERSION}
|
image: ${HTTP_GW_IMAGE}:${HTTP_GW_VERSION}
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
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,7 +25,6 @@ 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
|
||||||
|
@ -34,10 +33,8 @@ 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_ARCHIVE_FILE}
|
-o ${FROSTFS_CLI_FILE}
|
||||||
@tar -xvf ${FROSTFS_CLI_ARCHIVE_FILE} -C ./vendor | xargs -I {} \
|
@chmod +x ${FROSTFS_CLI_FILE}
|
||||||
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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
ir01:
|
ir01:
|
||||||
|
@ -13,19 +12,19 @@ services:
|
||||||
ir_int:
|
ir_int:
|
||||||
internet:
|
internet:
|
||||||
ipv4_address: ${IPV4_PREFIX}.61
|
ipv4_address: ${IPV4_PREFIX}.61
|
||||||
stop_signal: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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", "/healthcheck.sh"]
|
test: ["CMD-SHELL", "/frostfs-cli control ir healthcheck -q --wallet /wallet01.key --endpoint \"$$FROSTFS_IR_CONTROL_GRPC_ENDPOINT\""]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
/frostfs-cli control healthcheck \
|
|
||||||
--endpoint "$FROSTFS_IR_CONTROL_GRPC_ENDPOINT" \
|
|
||||||
--wallet /wallet01.key --ir |
|
|
||||||
grep "Health status: READY"
|
|
|
@ -1,4 +1,3 @@
|
||||||
version: '2.4'
|
|
||||||
services:
|
services:
|
||||||
jaeger:
|
jaeger:
|
||||||
image: ${JAEGER_IMAGE}:${JAEGER_VERSION}
|
image: ${JAEGER_IMAGE}:${JAEGER_VERSION}
|
||||||
|
|
|
@ -20,15 +20,12 @@ 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_ARCHIVE}
|
@curl -skSL ${FROSTFS_ADM_URL} -o ${FROSTFS_ADM_DEST}
|
||||||
@tar -xvf ${FROSTFS_ADM_ARCHIVE} -C ./vendor | xargs -I {} \
|
@chmod +x ${FROSTFS_ADM_DEST}
|
||||||
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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
frostfs_morph_chain:
|
frostfs_morph_chain:
|
||||||
image: ${NEOGO_IMAGE}:${NEOGO_VERSION}
|
image: ${NEOGO_IMAGE}:${NEOGO_VERSION}
|
||||||
|
@ -20,9 +19,13 @@ 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: "./db/morph.bolt"
|
FilePath: "/chains/morph.bolt"
|
||||||
P2P:
|
P2P:
|
||||||
Addresses:
|
Addresses:
|
||||||
- ":20333"
|
- ":20333"
|
||||||
|
@ -29,9 +29,14 @@ 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:
|
||||||
- "192.168.130.90:30333"
|
- ":30333"
|
||||||
Enabled: true
|
Enabled: true
|
||||||
SessionEnabled: true
|
SessionEnabled: true
|
||||||
EnableCORSWorkaround: false
|
EnableCORSWorkaround: false
|
||||||
|
@ -49,6 +54,3 @@ ApplicationConfiguration:
|
||||||
Addresses:
|
Addresses:
|
||||||
- ":20011"
|
- ":20011"
|
||||||
Enabled: true
|
Enabled: true
|
||||||
UnlockWallet:
|
|
||||||
Path: "./wallets/node-wallet.json"
|
|
||||||
Password: "one"
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
nats:
|
nats:
|
||||||
image: ${NATS_IMAGE}:${NATS_VERSION}
|
image: ${NATS_IMAGE}:${NATS_VERSION}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
version: '2.4'
|
|
||||||
services:
|
services:
|
||||||
prometheus:
|
prometheus:
|
||||||
image: ${PROMETHEUS_IMAGE}:${PROMETHEUS_VERSION}
|
image: ${PROMETHEUS_IMAGE}:${PROMETHEUS_VERSION}
|
||||||
|
@ -15,8 +14,6 @@ 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" ]
|
||||||
|
|
||||||
|
@ -24,4 +21,4 @@ networks:
|
||||||
prometheus_int:
|
prometheus_int:
|
||||||
internet:
|
internet:
|
||||||
external: true
|
external: true
|
||||||
name: basenet_internet
|
name: basenet_internet
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
rest_gate:
|
rest_gate:
|
||||||
image: ${REST_GW_IMAGE}:${REST_GW_VERSION}
|
image: ${REST_GW_IMAGE}:${REST_GW_VERSION}
|
||||||
|
@ -16,7 +15,8 @@ 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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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,3 +33,17 @@ 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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
s3_gate:
|
s3_gate:
|
||||||
image: ${S3_GW_IMAGE}:${S3_GW_VERSION}
|
image: ${S3_GW_IMAGE}:${S3_GW_VERSION}
|
||||||
|
@ -18,7 +17,8 @@ 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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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,6 +1,11 @@
|
||||||
# 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:
|
||||||
|
@ -14,7 +19,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,6 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
version: "2.4"
|
|
||||||
services:
|
services:
|
||||||
storage01:
|
storage01:
|
||||||
image: ${NODE_IMAGE}:${NODE_VERSION}
|
image: ${NODE_IMAGE}:${NODE_VERSION}
|
||||||
|
@ -18,13 +17,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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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:
|
||||||
|
@ -36,7 +35,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", "/healthcheck.sh"]
|
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -58,13 +57,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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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:
|
||||||
|
@ -76,7 +75,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", "/healthcheck.sh"]
|
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -98,13 +97,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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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:
|
||||||
|
@ -116,7 +115,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", "/healthcheck.sh"]
|
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
@ -138,14 +137,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: SIGKILL
|
stop_signal: SIGTERM
|
||||||
|
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:
|
||||||
|
@ -162,7 +161,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", "/healthcheck.sh"]
|
test: ["CMD-SHELL", "/frostfs-cli control healthcheck -q -c /cli-cfg.yml --endpoint \"$$FROSTFS_CONTROL_GRPC_ENDPOINT\""]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
timeout: 1s
|
timeout: 1s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/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