Skip to content

Commit 401a6b8

Browse files
committed
Chore: Update Docker Compose + Integrate new services
1 parent f45a3a6 commit 401a6b8

1 file changed

Lines changed: 34 additions & 35 deletions

File tree

infra/docker/docker-compose.yml

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# Persys Cloud Full Stack Docker Compose
22
#
33
# This file defines all core services for local development and integration:
4-
# - API Gateway, Prow Scheduler, CoreDNS, CFSSL, MongoDB, Prometheus, Grafana, Jaeger, etcd, Node Exporter
5-
# - All services are connected via the 'milx-cloud-net' bridge network
6-
# - Certificates are shared via the 'certs' volume
4+
# - Persys Gateway, Persys Scheduler, Persys Automation, Persys Forgery, Persys Federation, Persys Intelligence,CoreDNS, Hashicorp Vault, MongoDB, MySQL, Postgres, Prometheus, Grafana, Jaeger, etcd, Node Exporter
5+
# - All services are connected via the 'persys-cloud-net' bridge network
76

87
services:
98

@@ -38,34 +37,6 @@ services:
3837
networks:
3938
- persys-cloud-net
4039

41-
# --- Persys Forgery (Internal build orchestration only) ---
42-
persys-forgery:
43-
build: ../../persys-forgery
44-
ports:
45-
- 8087:8087
46-
depends_on:
47-
- vault
48-
- mysql
49-
- redis
50-
environment:
51-
- OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-jaeger:4318}
52-
- OTEL_SERVICE_NAME=${PERSYS_FORGERY_OTEL_SERVICE_NAME:-persys-forgery}
53-
- PERSYS_FORGERY_MYSQL_DSN=${PERSYS_FORGERY_MYSQL_DSN:-forgery:password@tcp(mysql:3306)/forgery_db?parseTime=true}
54-
- PERSYS_FORGERY_REDIS_ADDR=${PERSYS_FORGERY_REDIS_ADDR:-redis:6379}
55-
- PERSYS_FORGERY_REDIS_PASSWORD=${PERSYS_FORGERY_REDIS_PASSWORD:-}
56-
- PERSYS_FORGERY_REDIS_PASSWORD_FILE=${PERSYS_FORGERY_REDIS_PASSWORD_FILE:-}
57-
- PERSYS_FORGERY_PIPELINE_STATUS_KEY=${PERSYS_FORGERY_PIPELINE_STATUS_KEY:-pipeline_status}
58-
- PERSYS_FORGERY_VAULT_ADDR=${PERSYS_FORGERY_VAULT_ADDR:-http://vault:8200}
59-
- PERSYS_FORGERY_VAULT_AUTH_METHOD=${PERSYS_FORGERY_VAULT_AUTH_METHOD:-approle}
60-
- PERSYS_FORGERY_VAULT_TOKEN=${PERSYS_FORGERY_VAULT_TOKEN:-}
61-
- PERSYS_FORGERY_VAULT_TOKEN_FILE=${PERSYS_FORGERY_VAULT_TOKEN_FILE:-}
62-
- PERSYS_FORGERY_VAULT_ROLE_ID=${PERSYS_FORGERY_VAULT_ROLE_ID:-}
63-
- PERSYS_FORGERY_VAULT_SECRET_ID=${PERSYS_FORGERY_VAULT_SECRET_ID:-}
64-
- PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET:-}
65-
- PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE:-}
66-
networks:
67-
- persys-cloud-net
68-
6940
# --- Persys Scheduler (Workload scheduler and reconciler) ---
7041
persys-scheduler:
7142
build: ../../persys-scheduler
@@ -99,6 +70,34 @@ services:
9970
networks:
10071
- persys-cloud-net
10172

73+
# --- Persys Forgery (Internal build orchestration only) ---
74+
persys-forgery:
75+
build: ../../persys-forgery
76+
ports:
77+
- 8087:8087
78+
depends_on:
79+
- vault
80+
- mysql
81+
- redis
82+
environment:
83+
- OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-jaeger:4318}
84+
- OTEL_SERVICE_NAME=${PERSYS_FORGERY_OTEL_SERVICE_NAME:-persys-forgery}
85+
- PERSYS_FORGERY_MYSQL_DSN=${PERSYS_FORGERY_MYSQL_DSN:-forgery:password@tcp(mysql:3306)/forgery_db?parseTime=true}
86+
- PERSYS_FORGERY_REDIS_ADDR=${PERSYS_FORGERY_REDIS_ADDR:-redis:6379}
87+
- PERSYS_FORGERY_REDIS_PASSWORD=${PERSYS_FORGERY_REDIS_PASSWORD:-}
88+
- PERSYS_FORGERY_REDIS_PASSWORD_FILE=${PERSYS_FORGERY_REDIS_PASSWORD_FILE:-}
89+
- PERSYS_FORGERY_PIPELINE_STATUS_KEY=${PERSYS_FORGERY_PIPELINE_STATUS_KEY:-pipeline_status}
90+
- PERSYS_FORGERY_VAULT_ADDR=${PERSYS_FORGERY_VAULT_ADDR:-http://vault:8200}
91+
- PERSYS_FORGERY_VAULT_AUTH_METHOD=${PERSYS_FORGERY_VAULT_AUTH_METHOD:-approle}
92+
- PERSYS_FORGERY_VAULT_TOKEN=${PERSYS_FORGERY_VAULT_TOKEN:-}
93+
- PERSYS_FORGERY_VAULT_TOKEN_FILE=${PERSYS_FORGERY_VAULT_TOKEN_FILE:-}
94+
- PERSYS_FORGERY_VAULT_ROLE_ID=${PERSYS_FORGERY_VAULT_ROLE_ID:-}
95+
- PERSYS_FORGERY_VAULT_SECRET_ID=${PERSYS_FORGERY_VAULT_SECRET_ID:-}
96+
- PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET:-}
97+
- PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE=${PERSYS_FORGERY_GITHUB_WEBHOOK_SECRET_FILE:-}
98+
networks:
99+
- persys-cloud-net
100+
102101
# --- Persys Automation (policy engine and control-plane automation) ---
103102
persys-automation:
104103
build: ../../persys-automation
@@ -357,7 +356,7 @@ services:
357356
networks:
358357
- persys-cloud-net
359358

360-
# --- Redis (Forgery internal queues) ---
359+
# --- Redis (Persys Scheduler/Forgery internal queues) ---
361360
redis:
362361
image: redis:7-alpine
363362
restart: unless-stopped
@@ -370,8 +369,8 @@ services:
370369
- persys-cloud-net
371370

372371
# --- Postgres (Automation policy and audit store) ---
373-
automation-postgres:
374-
image: postgres:16-alpine
372+
postgres:
373+
image: postgres:17-alpine
375374
restart: unless-stopped
376375
environment:
377376
- POSTGRES_DB=${AUTOMATION_POSTGRES_DB:-persys_automation}
@@ -399,7 +398,7 @@ services:
399398
networks:
400399
- persys-cloud-net
401400

402-
# --- etcd (Key-value store for Prow and CoreDNS) ---
401+
# --- etcd (Key-value store for Persys Scheduler and CoreDNS) ---
403402
etcd:
404403
image: quay.io/coreos/etcd:v3.5.0
405404
command: etcd --advertise-client-urls http://etcd:2379 --listen-client-urls http://0.0.0.0:2379 --auto-compaction-retention=1h

0 commit comments

Comments
 (0)