tests: end-to-end suite scaffold + stream-mode scenario

Add tests/e2e/ structure with shared bash helpers and the first
scenario (stream-mode): spin up real Traefik + Crowdsec via docker
compose, mount the repo as a local plugin, add a ban via cscli, verify
the bouncer blocks the matching X-Forwarded-For, then delete the
decision and verify pass-through.

Adds .github/workflows/e2e.yml with one matrix job per scenario
(stream-mode for now), and Makefile targets `e2e` and `e2e_<scenario>`
for local runs.

Refs #328
This commit is contained in:
mhx
2026-06-06 12:03:19 +02:00
parent 71d845faae
commit 900c7ebdc2
7 changed files with 287 additions and 1 deletions
+8 -1
View File
@@ -1,7 +1,9 @@
.PHONY: lint test vendor clean
.PHONY: lint test vendor clean e2e
export GO111MODULE=on
E2E_SCENARIOS := stream-mode
default: lint test
lint:
@@ -13,6 +15,11 @@ test:
yaegi_test:
yaegi test -v .
e2e: $(addprefix e2e_,$(E2E_SCENARIOS))
e2e_%:
./tests/e2e/scenarios/$*/run.sh
vendor:
go mod vendor