Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions backend/tests/test_kamal_deploy_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,22 @@ def test_prd_postgres_backup_uses_local_mounted_storage():
assert "ENV.fetch('BACKUP_LOCAL_DIR', '/var/backups/btaa-geospatial-api')" in config_text


def test_prd_memory_profile_protects_service_headroom():
prd_config = _load_deploy_config("config/deploy.prd.yml")
config_text = (REPO_ROOT / "config/deploy.prd.yml").read_text()

assert prd_config["servers"]["web"]["options"]["memory"] == "5120m"
assert prd_config["servers"]["worker"]["options"]["memory"] == "4096m"

elasticsearch = prd_config["accessories"]["elasticsearch"]
assert elasticsearch["options"]["memory"] == "8g"
assert elasticsearch["env"]["clear"]["ES_JAVA_OPTS"] == "-Xms4g -Xmx4g"

redis = prd_config["accessories"]["redis"]
assert redis["options"]["memory"] == "18g"
assert "ENV.fetch('REDIS_MAXMEMORY', '16gb')" in config_text


def test_appsignal_prd_identity():
prd_env = _load_deploy_config("config/deploy.prd.yml")["env"]["clear"]
config_text = (REPO_ROOT / "config/deploy.prd.yml").read_text()
Expand Down
11 changes: 10 additions & 1 deletion config/deploy.prd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ servers:
cmd: bash -c "cd /app/backend && exec /opt/venv/bin/celery -A app.tasks.worker worker --loglevel=INFO"
options:
cpus: 1.75
memory: 2048m
memory: 4096m

cron:
hosts:
Expand Down Expand Up @@ -156,9 +156,18 @@ env:

accessories:
elasticsearch:
options:
memory: 8g
env:
clear:
ES_JAVA_OPTS: "-Xms4g -Xmx4g"
secret:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY

redis:
options:
memory: 18g
env:
clear:
REDIS_MAXMEMORY: "<%= ENV.fetch('REDIS_MAXMEMORY', '16gb') %>"
Loading