76 lines
1.9 KiB
Plaintext
76 lines
1.9 KiB
Plaintext
|
|
# Docker Compose Platform Stack - CI/CD Mode
|
||
|
|
# API-driven, ephemeral, optimized for pipeline integration
|
||
|
|
# Minimal UI, focus on automation and performance
|
||
|
|
|
||
|
|
{
|
||
|
|
version = "3.8",
|
||
|
|
|
||
|
|
services = {
|
||
|
|
orchestrator = {
|
||
|
|
image = "provisioning-orchestrator:latest",
|
||
|
|
container_name = "orchestrator-cicd",
|
||
|
|
ports = [
|
||
|
|
"9090:9090",
|
||
|
|
],
|
||
|
|
environment = {
|
||
|
|
ORCHESTRATOR_MODE = "cicd",
|
||
|
|
ORCHESTRATOR_SERVER_HOST = "0.0.0.0",
|
||
|
|
ORCHESTRATOR_SERVER_PORT = "9090",
|
||
|
|
ORCHESTRATOR_STORAGE_BACKEND = "filesystem",
|
||
|
|
ORCHESTRATOR_STORAGE_PATH = "/tmp/orchestrator",
|
||
|
|
ORCHESTRATOR_QUEUE_MAX_CONCURRENT_TASKS = "20",
|
||
|
|
ORCHESTRATOR_BATCH_PARALLEL_LIMIT = "10",
|
||
|
|
ORCHESTRATOR_LOG_LEVEL = "warn",
|
||
|
|
RUST_LOG = "warn",
|
||
|
|
},
|
||
|
|
tmpfs = [
|
||
|
|
"/tmp/orchestrator",
|
||
|
|
],
|
||
|
|
networks = ["provisioning"],
|
||
|
|
restart = "no",
|
||
|
|
healthcheck = {
|
||
|
|
test = ["CMD", "curl", "-f", "http://localhost:9090/health"],
|
||
|
|
interval = "10s",
|
||
|
|
timeout = "5s",
|
||
|
|
retries = 3,
|
||
|
|
start_period = "20s",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
api-gateway = {
|
||
|
|
image = "provisioning-api-gateway:latest",
|
||
|
|
container_name = "api-gateway",
|
||
|
|
ports = [
|
||
|
|
"8000:8000",
|
||
|
|
],
|
||
|
|
environment = {
|
||
|
|
API_GATEWAY_MODE = "cicd",
|
||
|
|
API_GATEWAY_HOST = "0.0.0.0",
|
||
|
|
API_GATEWAY_PORT = "8000",
|
||
|
|
API_GATEWAY_ORCHESTRATOR_URL = "http://orchestrator:9090",
|
||
|
|
API_GATEWAY_LOG_LEVEL = "warn",
|
||
|
|
},
|
||
|
|
networks = ["provisioning"],
|
||
|
|
restart = "no",
|
||
|
|
depends_on = {
|
||
|
|
orchestrator = {
|
||
|
|
condition = "service_healthy",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
healthcheck = {
|
||
|
|
test = ["CMD", "curl", "-f", "http://localhost:8000/health"],
|
||
|
|
interval = "10s",
|
||
|
|
timeout = "5s",
|
||
|
|
retries = 3,
|
||
|
|
start_period = "20s",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
networks = {
|
||
|
|
provisioning = {
|
||
|
|
driver = "bridge",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}
|