@@ -14,20 +14,16 @@ services:
1414 ports :
1515 - 8551:8551
1616 depends_on :
17- - vault-manager
18- - mongodb
19- - vault
2017 - coredns
2118 environment :
2219 - OTEL_EXPORTER_JAEGER_ENDPOINT=${OTEL_EXPORTER_JAEGER_ENDPOINT:-jaeger:4318}
2320 - OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-jaeger:4318}
2421 - PERSYS_VAULT_ADDR=${PERSYS_GATEWAY_VAULT_ADDR:-http://vault:8200}
2522 - PERSYS_VAULT_AUTH_METHOD=${PERSYS_GATEWAY_VAULT_AUTH_METHOD:-approle}
26- - PERSYS_VAULT_TOKEN=${PERSYS_GATEWAY_VAULT_TOKEN:-}
2723 - PERSYS_GATEWAY_VAULT_ADDR=${PERSYS_GATEWAY_VAULT_ADDR:-http://vault:8200}
28- - PERSYS_GATEWAY_VAULT_ROLE_ID =${PERSYS_GATEWAY_VAULT_ROLE_ID:- }
29- - PERSYS_GATEWAY_VAULT_SECRET_ID =${PERSYS_GATEWAY_VAULT_SECRET_ID:- }
30- - PERSYS_GATEWAY_MONGO_URI =${PERSYS_GATEWAY_MONGO_URI:-mongodb://admin:admin@mongodb:27017/persys-gateway?authSource=admin }
24+ - PERSYS_GATEWAY_DEPLOYMENT_MODE =${PERSYS_GATEWAY_DEPLOYMENT_MODE:-self-hosted }
25+ - PERSYS_GATEWAY_JWT_SECRET =${PERSYS_GATEWAY_JWT_SECRET }
26+ - PERSYS_GATEWAY_POSTGRES_DSN =${PERSYS_GATEWAY_POSTGRES_DSN }
3127 - PERSYS_GATEWAY_GITHUB_WEBHOOK_SECRET=${PERSYS_GATEWAY_GITHUB_WEBHOOK_SECRET:-}
3228 - PERSYS_GATEWAY_GITHUB_WEBHOOK_SECRET_FILE=${PERSYS_GATEWAY_GITHUB_WEBHOOK_SECRET_FILE:-}
3329 - PERSYS_GATEWAY_GITHUB_CLIENT_ID=${PERSYS_GATEWAY_GITHUB_CLIENT_ID:-}
@@ -40,7 +36,7 @@ services:
4036 - /etc/localtime:/etc/localtime:ro
4137 networks :
4238 - persys-cloud-net
43-
39+
4440 # --- Persys Scheduler (Workload scheduler and reconciler) ---
4541 persys-scheduler :
4642 build :
@@ -51,7 +47,6 @@ services:
5147 - 8085:8085 # gRPC + mTLS API
5248 depends_on :
5349 - etcd
54- - vault-manager
5550 - coredns
5651 - redis
5752 environment :
@@ -65,9 +60,6 @@ services:
6560 - PERSYS_EXTERNAL_IP=${PERSYS_EXTERNAL_IP}
6661 - PERSYS_VAULT_ADDR=${PERSYS_SCHEDULER_VAULT_ADDR:-http://vault:8200}
6762 - PERSYS_VAULT_AUTH_METHOD=${PERSYS_SCHEDULER_VAULT_AUTH_METHOD:-approle}
68- - PERSYS_VAULT_TOKEN=${PERSYS_SCHEDULER_VAULT_TOKEN}
69- - PERSYS_VAULT_APPROLE_ROLE_ID=${PERSYS_SCHEDULER_VAULT_ROLE_ID}
70- - PERSYS_VAULT_APPROLE_SECRET_ID=${PERSYS_SCHEDULER_VAULT_SECRET_ID}
7163 - PERSYS_VAULT_PKI_MOUNT=${PERSYS_VAULT_PKI_MOUNT:-pki}
7264 - REDIS_ADDR=redis:6379
7365 - REDIS_PASSWORD=
@@ -85,7 +77,6 @@ services:
8577 ports :
8678 - 8087:8087
8779 depends_on :
88- - vault-manager
8980 - mysql
9081 - redis
9182 environment :
@@ -98,10 +89,6 @@ services:
9889 - PERSYS_FORGERY_PIPELINE_STATUS_KEY=${PERSYS_FORGERY_PIPELINE_STATUS_KEY:-pipeline_status}
9990 - PERSYS_FORGERY_VAULT_ADDR=${PERSYS_FORGERY_VAULT_ADDR:-http://vault:8200}
10091 - PERSYS_FORGERY_VAULT_AUTH_METHOD=${PERSYS_FORGERY_VAULT_AUTH_METHOD:-approle}
101- - PERSYS_FORGERY_VAULT_TOKEN=${PERSYS_FORGERY_VAULT_TOKEN:-}
102- - PERSYS_FORGERY_VAULT_TOKEN_FILE=${PERSYS_FORGERY_VAULT_TOKEN_FILE:-}
103- - PERSYS_FORGERY_VAULT_ROLE_ID=${PERSYS_FORGERY_VAULT_ROLE_ID:-}
104- - PERSYS_FORGERY_VAULT_SECRET_ID=${PERSYS_FORGERY_VAULT_SECRET_ID:-}
10592 - PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET:-}
10693 - PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE:-}
10794 volumes :
@@ -139,9 +126,6 @@ services:
139126 - AUTOMATION_VAULT_ENABLED=${AUTOMATION_VAULT_ENABLED:-false}
140127 - AUTOMATION_VAULT_ADDR=${AUTOMATION_VAULT_ADDR:-http://vault:8200}
141128 - AUTOMATION_VAULT_AUTH_METHOD=${AUTOMATION_VAULT_AUTH_METHOD:-approle}
142- - AUTOMATION_VAULT_TOKEN=${AUTOMATION_VAULT_TOKEN:-}
143- - AUTOMATION_VAULT_APPROLE_ROLE_ID=${AUTOMATION_VAULT_APPROLE_ROLE_ID:-}
144- - AUTOMATION_VAULT_APPROLE_SECRET_ID=${AUTOMATION_VAULT_APPROLE_SECRET_ID:-}
145129 - AUTOMATION_VAULT_PKI_MOUNT=${AUTOMATION_VAULT_PKI_MOUNT:-pki}
146130 - AUTOMATION_VAULT_PKI_ROLE=${AUTOMATION_VAULT_PKI_ROLE:-persys-automation}
147131 - AUTOMATION_VAULT_CERT_TTL=${AUTOMATION_VAULT_CERT_TTL:-24h}
@@ -154,7 +138,7 @@ services:
154138 - AUTOMATION_FORGERY_REDIS_DB=${AUTOMATION_FORGERY_REDIS_DB:-0}
155139 - AUTOMATION_FORGERY_PIPELINE_KEY=${AUTOMATION_FORGERY_PIPELINE_KEY:-pipeline_status}
156140 - AUTOMATION_STORE_BACKEND=${AUTOMATION_STORE_BACKEND:-postgres}
157- - AUTOMATION_POSTGRES_DSN=${AUTOMATION_POSTGRES_DSN:-postgres://automation:automation@automation- postgres:5432/persys_automation?sslmode=disable}
141+ - AUTOMATION_POSTGRES_DSN=${AUTOMATION_POSTGRES_DSN:-postgres://automation:automation@postgres:5432/persys_automation?sslmode=disable}
158142 - AUTOMATION_LEADER_ELECTION_ENABLED=${AUTOMATION_LEADER_ELECTION_ENABLED:-true}
159143 - AUTOMATION_LEADER_ELECTION_LOCK_ID=${AUTOMATION_LEADER_ELECTION_LOCK_ID:-771001}
160144 - AUTOMATION_LEADER_ELECTION_POLL_INTERVAL=${AUTOMATION_LEADER_ELECTION_POLL_INTERVAL:-5s}
@@ -192,9 +176,6 @@ services:
192176 - INTELLIGENCE_VAULT_ENABLED=${INTELLIGENCE_VAULT_ENABLED:-false}
193177 - INTELLIGENCE_VAULT_ADDR=${INTELLIGENCE_VAULT_ADDR:-http://vault:8200}
194178 - INTELLIGENCE_VAULT_AUTH_METHOD=${INTELLIGENCE_VAULT_AUTH_METHOD:-approle}
195- - INTELLIGENCE_VAULT_TOKEN=${INTELLIGENCE_VAULT_TOKEN:-}
196- - INTELLIGENCE_VAULT_APPROLE_ROLE_ID=${INTELLIGENCE_VAULT_APPROLE_ROLE_ID:-}
197- - INTELLIGENCE_VAULT_APPROLE_SECRET_ID=${INTELLIGENCE_VAULT_APPROLE_SECRET_ID:-}
198179 - INTELLIGENCE_VAULT_PKI_MOUNT=${INTELLIGENCE_VAULT_PKI_MOUNT:-pki}
199180 - INTELLIGENCE_VAULT_PKI_ROLE=${INTELLIGENCE_VAULT_PKI_ROLE:-persys-intelligence}
200181 - INTELLIGENCE_VAULT_CERT_TTL=${INTELLIGENCE_VAULT_CERT_TTL:-24h}
@@ -208,40 +189,6 @@ services:
208189 - /etc/localtime:/etc/localtime:ro
209190 networks :
210191 - persys-cloud-net
211-
212- compute-agent :
213- build :
214- context : ../..
215- dockerfile : compute-agent/Dockerfile
216- environment :
217- - OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-jaeger:4318}
218- - OTEL_SERVICE_NAME=${COMPUTE_AGENT_OTEL_SERVICE_NAME:-compute-agent}
219- - PERSYS_VAULT_ENABLED=true
220- - PERSYS_VAULT_ADDR=${COMPUTE_AGENT_VAULT_ADDR:-http://vault:8200}
221- - PERSYS_VAULT_AUTH_METHOD=${COMPUTE_AGENT_VAULT_AUTH_METHOD:-approle}
222- - PERSYS_VAULT_TOKEN=${COMPUTE_AGENT_VAULT_TOKEN:-}
223- - PERSYS_VAULT_APPROLE_ROLE_ID=${COMPUTE_AGENT_VAULT_ROLE_ID:-}
224- - PERSYS_VAULT_APPROLE_SECRET_ID=${COMPUTE_AGENT_VAULT_SECRET_ID:-}
225- - PERSYS_VAULT_SERVICE_NAME=${COMPUTE_AGENT_VAULT_SERVICE_NAME:-compute-agent}
226- - PERSYS_TLS_ENABLED=${PERSYS_TLS_ENABLED:-true}
227- - PERSYS_GRPC_PORT=${PERSYS_GRPC_PORT:-50051}
228- - PERSYS_LOG_LEVEL=${PERSYS_LOG_LEVEL:-info}
229- - PERSYS_RECONCILE_ENABLED=${PERSYS_RECONCILE_ENABLED:-true}
230- - PERSYS_VM_ENABLED=${PERSYS_VM_ENABLED:-false}
231- - PERSYS_SCHEDULER_INSECURE=${PERSYS_SCHEDULER_INSECURE:-false}
232- - PERSYS_SCHEDULER_ADDR=${PERSYS_SCHEDULER_ADDR:-persys-scheduler:8085}
233- user : " 0:0"
234- volumes :
235- - /etc/localtime:/etc/localtime:ro
236- - ${DOCKER_SOCK_PATH:-/var/run/docker.sock}:/var/run/docker.sock
237- depends_on :
238- - vault-manager
239- - persys-scheduler
240- ports :
241- - " 50051:50051"
242- - " 8089:8089"
243- networks :
244- - persys-cloud-net
245192
246193 # --- Certificate Authority / Secret Manager ---
247194 vault :
@@ -325,7 +272,7 @@ services:
325272 networks :
326273 - persys-cloud-net
327274
328- # --- Postgres (Automation policy and audit store) ---
275+ # --- Postgres (Automation policy and audit store/ Gateway Auth Store ) ---
329276 postgres :
330277 image : postgres:17-alpine
331278 restart : unless-stopped
@@ -337,25 +284,10 @@ services:
337284 - " 5432:5432"
338285 volumes :
339286 - /etc/localtime:/etc/localtime:ro
340- - automation_postgres_data :/var/lib/postgresql/data
287+ - postgres_data :/var/lib/postgresql/data
341288 networks :
342289 - persys-cloud-net
343290
344- # --- MongoDB (Database for Persys Gateway) ---
345- mongodb :
346- image : mongo:latest
347- restart : always
348- environment :
349- MONGO_INITDB_ROOT_USERNAME : " ${MONGO_INITDB_ROOT_USERNAME:-admin}"
350- MONGO_INITDB_ROOT_PASSWORD : " ${MONGO_INITDB_ROOT_PASSWORD:-admin}"
351- MONGODB_DATABASE : " ${MONGODB_DATABASE:-persys-gateway}"
352- ports :
353- - 27017:27017
354- volumes :
355- - /etc/localtime:/etc/localtime:ro
356- - mongodb_data_container:/data/db
357- networks :
358- - persys-cloud-net
359291
360292 # --- etcd (Key-value store for Persys Scheduler and CoreDNS) ---
361293 etcd :
@@ -374,7 +306,7 @@ services:
374306
375307# --- Volumes for persistent data ---
376308volumes :
377- mongodb_data_container :
309+ postgres_data :
378310 mysql_data :
379311 redis_data :
380312 automation_postgres_data :
0 commit comments