From b74e15b2efd5afe33007c8b3b8e363efaaa6a340 Mon Sep 17 00:00:00 2001 From: Hannes Gustafsson Date: Wed, 8 Jul 2026 20:51:38 +0200 Subject: [PATCH 1/2] fix: drop MinIO tmpfs cap for OOM proof tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #117 added a 4g tmpfs limit on compose MinIO for integration shards, but OOM tests upload 5GB+ in a single case (20×256MB PUTs). Use a compose override for make test-oom so MinIO falls back to disk-backed storage. Co-authored-by: Cursor --- Makefile | 7 ++++--- tests/docker-compose.oom.yml | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 tests/docker-compose.oom.yml diff --git a/Makefile b/Makefile index 5718daa..0fa418f 100644 --- a/Makefile +++ b/Makefile @@ -101,14 +101,15 @@ test-run: exit $$EXIT_CODE # OOM proof test: runs s3proxy in a 256MB container and hammers it +OOM_COMPOSE = -f tests/docker-compose.yml -f tests/docker-compose.oom.yml --profile oom test-oom: - @docker compose -f tests/docker-compose.yml --profile oom down 2>/dev/null || true - @docker compose -f tests/docker-compose.yml --profile oom up -d --build + @docker compose $(OOM_COMPOSE) down 2>/dev/null || true + @docker compose $(OOM_COMPOSE) up -d --build @sleep 5 @AWS_ACCESS_KEY_ID=minioadmin AWS_SECRET_ACCESS_KEY=minioadmin \ uv run pytest -v tests/integration/test_memory_leak.py; \ EXIT_CODE=$$?; \ - docker compose -f tests/docker-compose.yml --profile oom down; \ + docker compose $(OOM_COMPOSE) down; \ exit $$EXIT_CODE # E2E cluster commands diff --git a/tests/docker-compose.oom.yml b/tests/docker-compose.oom.yml new file mode 100644 index 0000000..6397005 --- /dev/null +++ b/tests/docker-compose.oom.yml @@ -0,0 +1,6 @@ +# OOM tests upload 5GB+ into MinIO (e.g. 20 concurrent 256MB PUTs). +# The default compose caps MinIO at 4g tmpfs for integration shards; drop +# that cap here so MinIO uses disk-backed storage like before #117. +services: + minio: + tmpfs: !reset null From 39dd45961b65ee57bb5848f951c6b574dfab424f Mon Sep 17 00:00:00 2001 From: Hannes Gustafsson Date: Wed, 8 Jul 2026 20:51:44 +0200 Subject: [PATCH 2/2] fix: disable ServiceMonitor in Helm install CI Kind clusters used by helm-install-test do not ship Prometheus Operator CRDs, so installing with frontproxy enabled fails on the ServiceMonitor resource. Disable only the ServiceMonitor; HAProxy metrics stay enabled. Co-authored-by: Cursor --- .github/workflows/helm-install-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/helm-install-test.yml b/.github/workflows/helm-install-test.yml index 48e764e..d0571d6 100644 --- a/.github/workflows/helm-install-test.yml +++ b/.github/workflows/helm-install-test.yml @@ -107,6 +107,7 @@ jobs: --set dashboard.frontend.image.tag=latest \ --set dashboard.frontend.image.pullPolicy=Always \ --set frontproxy.enabled=true \ + --set frontproxy.metrics.serviceMonitor.enabled=false \ --set replicaCount=3 \ --set resources.limits.cpu=100m \ --set resources.requests.cpu=50m \