2023-05-15 11:22:33 +00:00
|
|
|
#!/usr/bin/make -f
|
|
|
|
|
|
|
|
include .env
|
|
|
|
include help.mk
|
|
|
|
|
|
|
|
# Common variables
|
|
|
|
REPO=$(notdir $(shell pwd))
|
|
|
|
VERSION ?= "$(shell git describe --tags --match "v*" 2>/dev/null || git rev-parse --short HEAD | sed 's/^v//')"
|
|
|
|
|
|
|
|
# Variables for docker
|
|
|
|
AIO_IMAGE ?= "truecloudlab/frostfs-aio"
|
2024-08-16 06:08:11 +00:00
|
|
|
LOG_DIR ?= "/var/log"
|
2023-05-15 11:22:33 +00:00
|
|
|
|
2023-05-18 13:39:29 +00:00
|
|
|
# Variables for compose
|
2023-06-22 13:26:01 +00:00
|
|
|
COMPOSE_CMD_UP ?= docker-compose up -d
|
|
|
|
COMPOSE_CMD_DOWN ?= docker-compose down
|
|
|
|
|
2023-05-18 13:39:29 +00:00
|
|
|
COMPOSE_V2 = "$(shell docker compose version --short | grep -q '^2' && echo true)"
|
|
|
|
ifeq ($(COMPOSE_V2), "true")
|
2023-06-22 13:26:01 +00:00
|
|
|
COMPOSE_CMD_UP = docker compose up -d --wait
|
|
|
|
COMPOSE_CMD_DOWN = docker compose down
|
2023-05-18 13:39:29 +00:00
|
|
|
endif
|
|
|
|
|
2023-05-15 11:22:33 +00:00
|
|
|
# Variables for S3
|
|
|
|
S3_BEARER_RULES ?= "/config/bearer-rules.json"
|
|
|
|
S3_GATE_PUBLIC_KEY ?= "0312fe65b101565de74eedf477afb43417ff5f795732506cfddc8e044c5a030d76"
|
|
|
|
|
|
|
|
# Build aio Docker image
|
|
|
|
image-aio:
|
2023-07-17 14:34:13 +00:00
|
|
|
@echo "⇒ Build aio docker image"
|
2023-05-15 11:22:33 +00:00
|
|
|
@docker build \
|
|
|
|
--rm \
|
|
|
|
-f Dockerfile \
|
|
|
|
-t $(AIO_IMAGE):$(AIO_VERSION) .
|
|
|
|
|
2023-07-17 14:34:13 +00:00
|
|
|
# Build aio Docker image from all local pre-built binaries
|
|
|
|
image-aio-local:
|
|
|
|
@echo "⇒ Build aio docker image from all local pre-built binaries"
|
|
|
|
@docker build \
|
|
|
|
--rm \
|
|
|
|
-f Dockerfile.local \
|
|
|
|
-t $(AIO_IMAGE):$(AIO_VERSION) .
|
|
|
|
|
2023-08-21 13:51:32 +00:00
|
|
|
# Build aio Docker image with custom binaries
|
|
|
|
image-aio-custom:
|
|
|
|
@echo "⇒ Build aio Docker image with custom binaries"
|
|
|
|
@docker build \
|
|
|
|
--rm \
|
|
|
|
-f Dockerfile.custom \
|
|
|
|
-t $(AIO_IMAGE):$(AIO_VERSION) .
|
|
|
|
|
2023-05-15 11:22:33 +00:00
|
|
|
# Start AIO
|
|
|
|
up:
|
2023-06-22 13:26:01 +00:00
|
|
|
@$(COMPOSE_CMD_UP)
|
2023-05-15 11:22:33 +00:00
|
|
|
|
|
|
|
# Stop AIO
|
|
|
|
down:
|
2023-06-22 13:26:01 +00:00
|
|
|
@$(COMPOSE_CMD_DOWN)
|
2023-05-15 11:22:33 +00:00
|
|
|
|
|
|
|
# Clean up
|
2023-12-07 14:12:38 +00:00
|
|
|
clean: down
|
2023-06-22 13:26:01 +00:00
|
|
|
@$(COMPOSE_CMD_DOWN) --volumes
|
2023-05-15 11:22:33 +00:00
|
|
|
|
|
|
|
# Generate S3 credentials
|
|
|
|
s3cred:
|
2024-09-17 11:19:44 +00:00
|
|
|
@docker exec aio /usr/bin/issue-creds.sh s3
|
2023-07-27 16:41:23 +00:00
|
|
|
|
|
|
|
# Generate S3 credentials based on imported wallets
|
|
|
|
s3cred-custom:
|
2024-09-17 11:19:44 +00:00
|
|
|
@docker exec aio /usr/bin/issue-creds.sh s3 $(wallet)
|
|
|
|
|
|
|
|
# Register user-wallet.json in FrostFS ID contract
|
|
|
|
cred:
|
|
|
|
@docker exec aio /usr/bin/issue-creds.sh native
|
|
|
|
|
|
|
|
# Register custom wallet in FrostFS ID contract
|
|
|
|
cred-custom:
|
|
|
|
@docker exec aio /usr/bin/issue-creds.sh native $(wallet)
|
2023-07-27 16:41:23 +00:00
|
|
|
|
2023-10-30 15:00:07 +00:00
|
|
|
enable-oracle:
|
|
|
|
@docker exec aio neo-go contract invokefunction -r http://localhost:30333 \
|
|
|
|
--wallet-config /config/node-config.yaml \
|
|
|
|
--out /config/tx.json 49cf4e5378ffcd4dec034fd98a174c5491e395e2 designateAsRole \
|
|
|
|
int:8 [ bytes:02b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc2 ] \
|
|
|
|
-- NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP
|
|
|
|
@docker exec aio neo-go wallet sign --in /config/tx.json \
|
|
|
|
-r http://localhost:30333 \
|
|
|
|
--wallet-config /config/node-config.yaml \
|
|
|
|
-a NfgHwwTi3wHAS8aFAN243C5vGbkYDpqLHP
|
|
|
|
|
2023-05-15 11:22:33 +00:00
|
|
|
# Tick new epoch in side chain
|
|
|
|
tick.epoch:
|
|
|
|
@docker exec aio /usr/bin/frostfs-adm --config /config/frostfs-adm.yml morph force-new-epoch
|
|
|
|
|
|
|
|
# Show current version
|
|
|
|
version:
|
|
|
|
@echo $(VERSION)
|
|
|
|
@echo "frostfs-node: $(AIO_VERSION)"
|
|
|
|
@echo "neo-go: $(NEOGO_VERSION)"
|
2024-08-16 06:08:11 +00:00
|
|
|
|
|
|
|
# Show all logs of the FrostFS service
|
|
|
|
logs/%:
|
|
|
|
@docker exec aio cat ${LOG_DIR}/$*
|
|
|
|
|
|
|
|
# Streaming of the frostFS service logs
|
|
|
|
logs-stream/%:
|
|
|
|
@docker exec aio tail -f ${LOG_DIR}/$*
|