explicit fee execution

This commit is contained in:
Stephan D
2026-03-11 14:20:50 +01:00
parent b4b9507e7e
commit 15b03b1bc8
10 changed files with 511 additions and 182 deletions

106
Makefile
View File

@@ -43,6 +43,7 @@ COMPOSE := docker compose -f docker-compose.dev.yml --env-file .env.dev
SERVICE ?=
BACKEND_GOCACHE ?= $(CURDIR)/.gocache
BACKEND_GOLANGCI_LINT_CACHE ?= $(CURDIR)/.golangci-cache
BACKEND_WAIT_TIMEOUT ?= 600
BACKEND_SERVICES := \
dev-discovery \
dev-fx-oracle \
@@ -64,6 +65,19 @@ BACKEND_SERVICES := \
dev-callbacks \
dev-bff-vault-agent \
dev-bff
BACKEND_STAGE_DISCOVERY := dev-discovery
BACKEND_STAGE_FX := dev-fx-oracle dev-fx-ingestor
BACKEND_STAGE_BILLING := dev-billing-fees dev-billing-documents
BACKEND_STAGE_GATEWAY_SIDECARS := dev-chain-gateway-vault-agent dev-tron-gateway-vault-agent
BACKEND_STAGE_GATEWAYS_LEDGER := dev-chain-gateway dev-tron-gateway dev-aurora-gateway dev-chsettle-gateway dev-ledger
BACKEND_STAGE_QUOTATION := dev-payments-quotation
BACKEND_STAGE_PAYMENTS_CORE := dev-payments-methods dev-payments-orchestrator
BACKEND_STAGE_CALLBACKS_AGENT := dev-callbacks-vault-agent
BACKEND_STAGE_CALLBACKS := dev-callbacks
BACKEND_STAGE_EDGE_FOUNDATION := dev-notification dev-bff-vault-agent
BACKEND_STAGE_EDGE := dev-bff
BACKEND_STAGE_EDGE_BUILD := dev-notification dev-bff
FRONTEND_SERVICE := dev-frontend
# Colors
GREEN := \033[0;32m
@@ -89,10 +103,10 @@ help:
@echo ""
@echo "$(YELLOW)Selective Operations:$(NC)"
@echo " make infra-up Start infrastructure only (mongo, nats, vault)"
@echo " make services-up Start application services only"
@echo " make backend-up Start backend services only (no infrastructure/frontend)"
@echo " make services-up Start application services only (ordered backend stages)"
@echo " make backend-up Start backend services only in ordered stages (no infrastructure/frontend)"
@echo " make backend-down Stop backend services only"
@echo " make backend-rebuild Rebuild and restart backend services only"
@echo " make backend-rebuild Rebuild and restart backend services in ordered stages"
@echo " make list-services List all available services"
@echo ""
@echo "$(YELLOW)Build Groups:$(NC)"
@@ -166,7 +180,8 @@ build:
# Start all services
up:
@echo "$(GREEN)Starting development environment...$(NC)"
@$(COMPOSE) up -d
@$(MAKE) --no-print-directory infra-up
@$(MAKE) --no-print-directory services-up
@echo ""
@echo "$(GREEN)✅ Development environment started!$(NC)"
@echo ""
@@ -272,39 +287,74 @@ infra-up:
# Services only (assumes infra is running)
services-up:
@echo "$(GREEN)Starting application services...$(NC)"
@$(COMPOSE) up -d \
dev-discovery \
dev-fx-oracle \
dev-fx-ingestor \
dev-billing-fees \
dev-billing-documents \
dev-ledger \
dev-payments-orchestrator \
dev-payments-quotation \
dev-payments-methods \
dev-chain-gateway \
dev-tron-gateway \
dev-aurora-gateway \
dev-chsettle-gateway \
dev-notification \
dev-callbacks \
dev-bff \
dev-frontend
@echo "$(GREEN)Starting application services with ordered backend stages...$(NC)"
@$(MAKE) --no-print-directory backend-up
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(FRONTEND_SERVICE)
# Backend services only (no infrastructure, no frontend)
backend-up:
@echo "$(GREEN)Starting backend services only (no infra changes)...$(NC)"
@$(COMPOSE) up -d --no-deps $(BACKEND_SERVICES)
@echo "$(GREEN)Starting backend services only (ordered build+start stages, no infra changes)...$(NC)"
@echo "$(YELLOW)[1/8] discovery$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_DISCOVERY)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_DISCOVERY)
@echo "$(YELLOW)[2/8] fx (oracle + ingestor)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_FX)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_FX)
@echo "$(YELLOW)[3/8] billing (fees + documents)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_BILLING)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_BILLING)
@echo "$(YELLOW)[4/8] gateways + ledger$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_GATEWAYS_LEDGER)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_GATEWAY_SIDECARS)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_GATEWAYS_LEDGER)
@echo "$(YELLOW)[5/8] quotation$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_QUOTATION)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_QUOTATION)
@echo "$(YELLOW)[6/8] orchestrator + methods$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_PAYMENTS_CORE)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_PAYMENTS_CORE)
@echo "$(YELLOW)[7/8] callbacks$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_CALLBACKS)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_CALLBACKS_AGENT)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_CALLBACKS)
@echo "$(YELLOW)[8/8] edge (notification + bff)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_EDGE_BUILD)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_EDGE_FOUNDATION)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_EDGE)
backend-down:
@echo "$(YELLOW)Stopping backend services only...$(NC)"
@$(COMPOSE) stop $(BACKEND_SERVICES)
backend-rebuild:
@echo "$(GREEN)Rebuilding backend services only (no infra changes)...$(NC)"
@$(COMPOSE) build $(BACKEND_SERVICES)
@$(COMPOSE) up -d --no-deps --force-recreate $(BACKEND_SERVICES)
@echo "$(GREEN)Rebuilding backend services only (ordered stages, no infra changes)...$(NC)"
@echo "$(YELLOW)[1/8] discovery$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_DISCOVERY)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_DISCOVERY)
@echo "$(YELLOW)[2/8] fx (oracle + ingestor)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_FX)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_FX)
@echo "$(YELLOW)[3/8] billing (fees + documents)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_BILLING)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_BILLING)
@echo "$(YELLOW)[4/8] gateways + ledger$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_GATEWAYS_LEDGER)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_GATEWAY_SIDECARS)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_GATEWAYS_LEDGER)
@echo "$(YELLOW)[5/8] quotation$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_QUOTATION)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_QUOTATION)
@echo "$(YELLOW)[6/8] orchestrator + methods$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_PAYMENTS_CORE)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_PAYMENTS_CORE)
@echo "$(YELLOW)[7/8] callbacks$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_CALLBACKS)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_CALLBACKS_AGENT)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_CALLBACKS)
@echo "$(YELLOW)[8/8] edge (notification + bff)$(NC)"
@$(COMPOSE) build $(BACKEND_STAGE_EDGE_BUILD)
@$(COMPOSE) up -d --no-deps --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_EDGE_FOUNDATION)
@$(COMPOSE) up -d --no-deps --force-recreate --wait --wait-timeout $(BACKEND_WAIT_TIMEOUT) $(BACKEND_STAGE_EDGE)
@echo "$(GREEN)✅ Backend services rebuilt$(NC)"
# Status check