-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
129 lines (117 loc) · 3.99 KB
/
Makefile
File metadata and controls
129 lines (117 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
DOCKER_REGISTRY ?= dogex-wallet
DOCKERFILE = Dockerfile
SERVICES = gateway userrpc walletrpc transactionrpc turnkeyrpc
GATEWAY_PORT = 8000
GATEWAY_TYPE = http
GATEWAY_DEV_PORT = 8090
USERRPC_PORT = 9001
USERRPC_TYPE = grpc
USERRPC_DEV_PORT = 9091
WALLETRPC_PORT = 9002
WALLETRPC_TYPE = grpc
WALLETRPC_DEV_PORT = 9092
TRANSACTIONRPC_PORT = 9003
TRANSACTIONRPC_TYPE = grpc
TRANSACTIONRPC_DEV_PORT = 9093
TURNKEYRPC_PORT = 9004
TURNKEYRPC_TYPE = grpc
TURNKEYRPC_DEV_PORT = 9094
.PHONY: help
help:
@echo "Available targets:"
@echo " all - Build all services"
@echo " list - List all services"
@echo " gateway - Build gateway service"
@echo " user - Build userrpc service"
@echo " wallet - Build walletrpc service"
@echo " transaction - Build transactionrpc service"
@echo " turnkey - Build turnkeyrpc service"
@echo " clean - Remove all built images"
@echo " push-all - Push all images to registry"
.PHONY: all
all: gateway user wallet transaction turnkey
@echo "All services built successfully"
.PHONY: list
list:
@echo "Available services:"
@echo " - gateway (port: $(GATEWAY_PORT), type: $(GATEWAY_TYPE))"
@echo " - userrpc (port: $(USERRPC_PORT), type: $(USERRPC_TYPE))"
@echo " - walletrpc (port: $(WALLETRPC_PORT), type: $(WALLETRPC_TYPE))"
@echo " - transactionrpc (port: $(TRANSACTIONRPC_PORT), type: $(TRANSACTIONRPC_TYPE))"
@echo " - turnkeyrpc (port: $(TURNKEYRPC_PORT), type: $(TURNKEYRPC_TYPE))"
.PHONY: gateway
gateway:
@echo "Building gateway service..."
docker build \
--build-arg SERVICE_NAME=gateway \
--build-arg SERVICE_PATH=gateway \
--build-arg SERVICE_TYPE=$(GATEWAY_TYPE) \
--build-arg SERVICE_PORT=$(GATEWAY_PORT) \
-t $(DOCKER_REGISTRY)-gateway:latest \
-f $(DOCKERFILE) .
.PHONY: user
user:
@echo "Building userrpc service..."
docker build \
--build-arg SERVICE_NAME=userrpc \
--build-arg SERVICE_PATH=user \
--build-arg SERVICE_TYPE=$(USERRPC_TYPE) \
--build-arg SERVICE_PORT=$(USERRPC_PORT) \
--build-arg SERVICE_DEV_PORT=$(USERRPC_DEV_PORT) \
-t $(DOCKER_REGISTRY)-userrpc:latest \
-f $(DOCKERFILE) .
.PHONY: wallet
wallet:
@echo "Building walletrpc service..."
docker build \
--build-arg SERVICE_NAME=walletrpc \
--build-arg SERVICE_PATH=wallet \
--build-arg SERVICE_TYPE=$(WALLETRPC_TYPE) \
--build-arg SERVICE_PORT=$(WALLETRPC_PORT) \
--build-arg SERVICE_DEV_PORT=$(WALLETRPC_DEV_PORT) \
-t $(DOCKER_REGISTRY)-walletrpc:latest \
-f $(DOCKERFILE) .
.PHONY: transaction
transaction:
@echo "Building transactionrpc service..."
docker build \
--build-arg SERVICE_NAME=transactionrpc \
--build-arg SERVICE_PATH=transaction \
--build-arg SERVICE_TYPE=$(TRANSACTIONRPC_TYPE) \
--build-arg SERVICE_PORT=$(TRANSACTIONRPC_PORT) \
--build-arg SERVICE_DEV_PORT=$(TRANSACTIONRPC_DEV_PORT) \
-t $(DOCKER_REGISTRY)-transactionrpc:latest \
-f $(DOCKERFILE) .
.PHONY: turnkey
turnkey:
@echo "Building turnkeyrpc service..."
docker build \
--build-arg SERVICE_NAME=turnkeyrpc \
--build-arg SERVICE_PATH=turnkey \
--build-arg SERVICE_TYPE=$(TURNKEYRPC_TYPE) \
--build-arg SERVICE_PORT=$(TURNKEYRPC_PORT) \
--build-arg SERVICE_DEV_PORT=$(TURNKEYRPC_DEV_PORT) \
-t $(DOCKER_REGISTRY)-turnkeyrpc:latest \
-f $(DOCKERFILE) .
.PHONY: clean
clean:
@echo "Removing all built images..."
-docker rmi $(DOCKER_REGISTRY)-gateway:latest
-docker rmi $(DOCKER_REGISTRY)-userrpc:latest
-docker rmi $(DOCKER_REGISTRY)-walletrpc:latest
-docker rmi $(DOCKER_REGISTRY)-transactionrpc:latest
-docker rmi $(DOCKER_REGISTRY)-turnkeyrpc:latest
@echo "Images removed"
.PHONY: push-all
push-all: all
@echo "Pushing all images..."
docker push $(DOCKER_REGISTRY)-gateway:latest
docker push $(DOCKER_REGISTRY)-userrpc:latest
docker push $(DOCKER_REGISTRY)-walletrpc:latest
docker push $(DOCKER_REGISTRY)-transactionrpc:latest
docker push $(DOCKER_REGISTRY)-turnkeyrpc:latest
.PHONY: debug
debug:
@echo "Docker Registry: $(DOCKER_REGISTRY)"
@echo "Dockerfile: $(DOCKERFILE)"
@echo "Services: $(SERVICES)"