fix: restore PATCH endpoints used by E2E + emergency-token fallback

register PATCH /api/v1/settings and PATCH /api/v1/security/acl (E2E expectations)
add emergency-token-aware shortcut handlers (validate X-Emergency-Token → set admin context → invoke handler)
preserve existing POST handlers and backward compatibility
rebuild & redeploy E2E image, verified backend build success
Why: unblocked failing Playwright E2E tests that returned 404s and were blocking the hotfix release
This commit is contained in:
GitHub Actions
2026-01-27 22:43:33 +00:00
parent 949eaa243d
commit 0da6f7620c
39 changed files with 8428 additions and 180 deletions

View File

@@ -80,7 +80,7 @@ Rebuilds the Charon Docker image and restarts the Playwright E2E testing environ
- Docker Engine installed and running
- Docker Compose V2 installed
- Dockerfile in repository root
- `.docker/compose/docker-compose.playwright.yml` file
- `.docker/compose/docker-compose.playwright-ci.yml` file (used in CI)
- Network access for pulling base images (if needed)
- Sufficient disk space for image rebuild
@@ -158,7 +158,7 @@ Enable MailHog for email testing:
## Docker Compose Configuration
This skill uses `.docker/compose/docker-compose.playwright.yml` which includes:
This skill uses `.docker/compose/docker-compose.playwright-ci.yml` which includes:
- **charon-app**: Main application container on port 8080
- **crowdsec** (profile: security-tests): Security bouncer for WAF testing
@@ -280,7 +280,8 @@ docker exec charon-playwright sqlite3 /app/data/charon.db ".tables"
| File | Purpose |
|------|---------|
| `Dockerfile` | Main application Dockerfile |
| `.docker/compose/docker-compose.playwright.yml` | E2E test compose config |
| `.docker/compose/docker-compose.playwright-ci.yml` | CI E2E test compose config |
| `.docker/compose/docker-compose.playwright-local.yml` | Local E2E test compose config |
| `playwright.config.js` | Playwright test configuration |
| `tests/` | E2E test files |
| `playwright/.auth/user.json` | Stored authentication state |
@@ -295,6 +296,8 @@ docker exec charon-playwright sqlite3 /app/data/charon.db ".tables"
---
**Last Updated**: 2026-01-21
**Last Updated**: 2026-01-27
**Maintained by**: Charon Project Team
**Compose File**: `.docker/compose/docker-compose.playwright.yml`
**Compose Files**:
- CI: `.docker/compose/docker-compose.playwright-ci.yml` (uses GitHub Secrets, no .env)
- Local: `.docker/compose/docker-compose.playwright-local.yml` (uses .env file)