From b9a86da515edf1bb35d38e4dd59dea9eeb9bfbf3 Mon Sep 17 00:00:00 2001 From: 98001yash Date: Fri, 6 Nov 2026 11:32:59 +0530 Subject: [PATCH] Add configurable Docker resource limits --- .env.example | 8 ++++++++ README.md | Bin 53136 -> 55464 bytes docker-compose.yml | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/.env.example b/.env.example index 11a4bc7..6ee97dc 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,15 @@ # Defaults are set in docker-compose.yml if these are unset. # Copy to .env and adjust if you need a different reviewed version. +# Image versions REDIS_VERSION=7.4 JAEGER_VERSION=2.22.0 PROMETHEUS_VERSION=v3.13.4 GRAFANA_VERSION=13.2.4 + +# Gateway resource limits (applied independently to each gateway) +GATEWAY_CPUS=1.0 +GATEWAY_MEMORY=512M + +# Redis resource limits +REDIS_MEMORY=256M diff --git a/README.md b/README.md index 01be8d7b9847457bc07dd67c6287d6b6ed3a1181..646f7c5e3f0e9eae533d96bb0d92544f3418d567 100644 GIT binary patch delta 1442 zcma)6OHUJF6ulL(AW$o%k|7}ux*$=DmISq87nKr&I%0Ulm}tm!Iux`I?6kxhVg(Z8 zf`#G!02VInQsT}H?)(G(1QRzVhJWC>-%RU(nviB5z4xB`IOl%zZl|rW+x9VJb)~69 z7Cj@I$~-g|?aI?K6>wF^;f3lrcklI`(#fP1{KRL&9!NynGx%o<;N+x(y(kMflT=O`p&mM^t~9)huvby5f(-sjH(F6^@XR8z zOslA8;Y}y8P0$0HKY()W1|kYn3IkB{yE!$l@t4gI|J>{dOmZrxotHFmG<3z6PHbba zj^b(1E#CX81;utBgPV8y>rMLHVxx$?>PF(e)@oYlaX@_)UAQg#htpv*sR%?yjbkCs z5o(n*FJa5VSD_`KB}Wc#I;=%na=!jF<8J|5+B zAA0$CVu0_x3D>jeRnVAAF?X9%G)I&45YI=n;7L47NlztNoWn5&;tiUn86c9La)!z_ z15X492HW(*Z^@ORvqn^M6!ipIg1~dO~(@phwtgA^CY=C=g?F zD{@wJmfi3^T)_Sn+3EHIhIu~|<=4p*+n+l$|M$d|LIwt$3vac$kSYf+56l0E76PT& iqa09|7|FE^k`_@(s{Kna$yefFqMsYD`aXrMjr?z*WFtKQ delta 14 VcmZ3nk$J*=<_&zwo7HlfasVyg1>*n! diff --git a/docker-compose.yml b/docker-compose.yml index 5766c68..5ac0e41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,10 @@ services: redis: image: redis:${REDIS_VERSION:-7.4}-alpine container_name: traffic-control-redis + deploy: + resources: + limits: + memory: "${REDIS_MEMORY:-256M}" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s @@ -23,6 +27,11 @@ services: gateway-1: image: distributed-traffic-control:latest container_name: traffic-control-gateway-1 + deploy: + resources: + limits: + cpus: "${GATEWAY_CPUS:-1.0}" + memory: "${GATEWAY_MEMORY:-512M}" depends_on: redis: condition: service_healthy @@ -49,6 +58,11 @@ services: gateway-2: image: distributed-traffic-control:latest container_name: traffic-control-gateway-2 + deploy: + resources: + limits: + cpus: "${GATEWAY_CPUS:-1.0}" + memory: "${GATEWAY_MEMORY:-512M}" depends_on: redis: condition: service_healthy @@ -75,6 +89,11 @@ services: gateway-3: image: distributed-traffic-control:latest container_name: traffic-control-gateway-3 + deploy: + resources: + limits: + cpus: "${GATEWAY_CPUS:-1.0}" + memory: "${GATEWAY_MEMORY:-512M}" depends_on: redis: condition: service_healthy