Skip to content

Commit 7f3ed64

Browse files
committed
Add an env var that allows excluding containers by name
Useful for containers that have memory spike that is too fast to be captured by krr (prometheus)
1 parent 97b49a5 commit 7f3ed64

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

enforcer/env_vars.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@
2121
SCAN_AGE_HOURS_THRESHOLD = int(os.environ.get("SCAN_AGE_HOURS_THRESHOLD", 360)) # 15 days
2222

2323
ENFORCER_SSL_KEY_FILE = os.environ.get("ENFORCER_SSL_KEY_FILE", "")
24-
ENFORCER_SSL_CERT_FILE = os.environ.get("ENFORCER_SSL_CERT_FILE", "")
24+
ENFORCER_SSL_CERT_FILE = os.environ.get("ENFORCER_SSL_CERT_FILE", "")
25+
26+
EXCLUDED_CONTAINERS = [container_name.strip() for container_name
27+
in os.environ.get("EXCLUDED_CONTAINERS", "").split(",") if container_name.strip()]

enforcer/patch_manager.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
import logging
33
from typing import Dict, Any, List, Optional
44
from enforcer.model import ContainerRecommendation
5-
from enforcer.env_vars import UPDATE_THRESHOLD
5+
from enforcer.env_vars import UPDATE_THRESHOLD, EXCLUDED_CONTAINERS
6+
67
logger = logging.getLogger()
78

89
REQ = "requests"
@@ -241,6 +242,11 @@ def patch_container_resources(
241242
if not recommendation:
242243
return patches
243244

245+
container_name = container.get("name")
246+
if container_name and container_name in EXCLUDED_CONTAINERS:
247+
logging.info(f"Skipping excluded container {container_name}")
248+
return patches
249+
244250
had_resources = "resources" in container
245251
resources = copy.deepcopy(container.get('resources', {}))
246252
updated_resources = get_updated_resources(container.get('resources', {}), recommendation)

0 commit comments

Comments
 (0)