-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
193 lines (183 loc) · 5.39 KB
/
render.yaml
File metadata and controls
193 lines (183 loc) · 5.39 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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# Render Blueprint: SolAgent full stack (Postgres, Redis, 7 backends, api-gateway, dashboard).
# Apply in Render Dashboard (Connect repo → New Blueprint) and set secrets (OPENAI_API_KEY, etc.).
# See docs/DEPLOY.md for step-by-step and env table.
databases:
- name: solagent-db
plan: basic-256mb
databaseName: solagent
services:
# Redis-compatible Key Value (required by agent-runtime, wallet-engine, policy-engine, notification, etc.)
- type: keyvalue
name: solagent-redis
ipAllowList:
- source: 0.0.0.0/0
description: allow all
plan: free
# --- Backends (same Docker image; dockerCommand overrides per service) ---
- type: web
runtime: docker
name: agent-runtime
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/agent-runtime/src/index.ts
envVars:
- key: PORT
value: 3001
- key: DATABASE_URL
fromDatabase:
name: solagent-db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
- key: OPENAI_API_KEY
sync: false
- key: WALLET_ENGINE_URL
value: http://wallet-engine:3002
- key: POLICY_ENGINE_URL
value: http://policy-engine:3003
- key: TRANSACTION_ENGINE_URL
value: http://transaction-engine:3004
- key: DEFI_ENGINE_URL
value: http://defi-integration:3005
healthCheckPath: /health
- type: web
runtime: docker
name: wallet-engine
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/wallet-engine/src/index.ts
envVars:
- key: PORT
value: 3002
- key: DATABASE_URL
fromDatabase:
name: solagent-db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
- key: SOLANA_RPC_URL
sync: false
healthCheckPath: /health
- type: web
runtime: docker
name: policy-engine
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/policy-engine/src/index.ts
envVars:
- key: PORT
value: 3003
- key: DATABASE_URL
fromDatabase:
name: solagent-db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
healthCheckPath: /health
- type: web
runtime: docker
name: transaction-engine
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/transaction-engine/src/index.ts
envVars:
- key: PORT
value: 3004
- key: DATABASE_URL
fromDatabase:
name: solagent-db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
- key: WALLET_ENGINE_URL
value: http://wallet-engine:3002
- key: POLICY_ENGINE_URL
value: http://policy-engine:3003
- key: SOLANA_RPC_URL
sync: false
healthCheckPath: /health
- type: web
runtime: docker
name: defi-integration
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/defi-integration/src/index.ts
envVars:
- key: PORT
value: 3005
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
- key: TRANSACTION_ENGINE_URL
value: http://transaction-engine:3004
- key: WALLET_ENGINE_URL
value: http://wallet-engine:3002
- key: SOLANA_RPC_URL
sync: false
healthCheckPath: /health
- type: web
runtime: docker
name: notification
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run services/notification/src/index.ts
envVars:
- key: PORT
value: 3006
- key: REDIS_URL
fromService:
type: keyvalue
name: solagent-redis
property: connectionString
healthCheckPath: /health
# API Gateway (public); points to backends via internal URLs
- type: web
runtime: docker
name: api-gateway
dockerfilePath: docker/Dockerfile.backend
dockerContext: .
dockerCommand: bun run apps/api-gateway/src/index.ts
envVars:
- key: PORT
value: 8080
- key: AGENT_RUNTIME_URL
value: http://agent-runtime:3001
- key: WALLET_ENGINE_URL
value: http://wallet-engine:3002
- key: POLICY_ENGINE_URL
value: http://policy-engine:3003
- key: TRANSACTION_ENGINE_URL
value: http://transaction-engine:3004
- key: DEFI_ENGINE_URL
value: http://defi-integration:3005
- key: NOTIFICATION_URL
value: http://notification:3006
- key: API_KEYS
sync: false
healthCheckPath: /health
# Dashboard (Next.js). Set NEXT_PUBLIC_API_URL in Render Dashboard to api-gateway's public URL after deploy.
- type: web
runtime: docker
name: dashboard
dockerfilePath: docker/Dockerfile.dashboard
dockerContext: .
envVars:
- key: PORT
value: 3000
- key: NEXT_PUBLIC_API_URL
sync: false
healthCheckPath: /