mirror of
https://github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin.git
synced 2026-07-21 03:28:59 +02:00
🔧 e2e mock: address review — clarify backend flag, move ignore to root
- Document the --backend-addr flag: it is the stub upstream service Traefik proxies allowed requests to (the traefik/whoami equivalent), not AppSec. - Move the .cache/ ignore rule from the per-suite .gitignore to the repo root .gitignore, and make the wording accurate: the cache persists across local runs but is recreated on every (fresh-runner) CI run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -5,3 +5,7 @@ conf
|
|||||||
db
|
db
|
||||||
logs
|
logs
|
||||||
docker-compose.dev.yml
|
docker-compose.dev.yml
|
||||||
|
|
||||||
|
# Binary e2e suite working cache: Traefik binary + compiled mock. Persisted
|
||||||
|
# across local runs; CI runs on fresh runners so it is recreated every time.
|
||||||
|
tests/e2e/mock/.cache/
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
# Cached Traefik binary and compiled mock, produced on first run.
|
|
||||||
.cache/
|
|
||||||
@@ -28,7 +28,7 @@ returns whatever decisions the test tells it to.
|
|||||||
|
|
||||||
| Component | How |
|
| Component | How |
|
||||||
|-----------|-----|
|
|-----------|-----|
|
||||||
| Traefik | Binary `v3.7.1`, downloaded once and cached under `.cache/` |
|
| Traefik | Binary `v3.7.1`, downloaded into `.cache/` (reused across local runs; re-downloaded on fresh CI runners) |
|
||||||
| Plugin | Loaded via `experimental.localPlugins` from the repo root (symlinked into `plugins-local/`) |
|
| Plugin | Loaded via `experimental.localPlugins` from the repo root (symlinked into `plugins-local/`) |
|
||||||
| LAPI | `mocklapi` — a stdlib-only Go command (its own nested module), compiled and cached under `.cache/`, driven through `/admin` endpoints instead of `cscli` |
|
| LAPI | `mocklapi` — a stdlib-only Go command (its own nested module), compiled and cached under `.cache/`, driven through `/admin` endpoints instead of `cscli` |
|
||||||
| Backend | A plain HTTP responder built into the mock |
|
| Backend | A plain HTTP responder built into the mock |
|
||||||
@@ -38,8 +38,9 @@ backend `8091`.
|
|||||||
|
|
||||||
## Running locally
|
## Running locally
|
||||||
|
|
||||||
Prerequisites: `bash`, `curl`, `go`, `tar`. The Traefik binary is fetched and
|
Prerequisites: `bash`, `curl`, `go`, `tar`. On first use the Traefik binary is
|
||||||
the mock is compiled automatically on first run (both cached under `.cache/`).
|
fetched and the mock is compiled into `.cache/`. That cache is reused across
|
||||||
|
local runs; CI runs on fresh runners, so both are recreated on every CI run.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# one scenario
|
# one scenario
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
# IPs, ban / captcha rendering), NOT Crowdsec or AppSec correctness.
|
# IPs, ban / captcha rendering), NOT Crowdsec or AppSec correctness.
|
||||||
#
|
#
|
||||||
# Dependencies: bash, curl, go, tar. The Traefik binary is downloaded and the
|
# Dependencies: bash, curl, go, tar. The Traefik binary is downloaded and the
|
||||||
# mock is compiled on first run (both cached), so local and CI behave the same.
|
# mock is compiled into .cache/ on first use. That cache persists across local
|
||||||
|
# runs; CI runs on fresh runners, so both are recreated on every CI run.
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
|||||||
@@ -213,7 +213,9 @@ func backendHandler() http.Handler {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
lapiAddr := flag.String("lapi-addr", "127.0.0.1:8090", "address for the LAPI mock")
|
lapiAddr := flag.String("lapi-addr", "127.0.0.1:8090", "address for the LAPI mock")
|
||||||
backendAddr := flag.String("backend-addr", "127.0.0.1:8091", "address for the backend responder")
|
// The stub upstream service Traefik proxies allowed requests to — the
|
||||||
|
// binary-suite equivalent of the traefik/whoami container. Not AppSec.
|
||||||
|
backendAddr := flag.String("backend-addr", "127.0.0.1:8091", "address of the stub upstream service Traefik proxies allowed requests to")
|
||||||
apiKey := flag.String("api-key", "e2e-mock-key", "expected X-Api-Key value")
|
apiKey := flag.String("api-key", "e2e-mock-key", "expected X-Api-Key value")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user