Commit Graph

1923 Commits

Author SHA1 Message Date
GitHub Actions 1f3af549cf fix(ci): add missing frontend dependency installation in E2E workflow
The E2E workflow was failing during "Build frontend" because npm ci
was only run at root level. The frontend directory has its own
package.json with React, Tailwind, and other dependencies that were
never installed.

Add "Install frontend dependencies" step before build
Update Node.js version from 18 to 20 (required by markdownlint-cli2)
Fixes failing E2E tests in PR #550
2026-01-25 22:33:56 +00:00
GitHub Actions 0cd93ceb79 fix(frontend): remove test types from base tsconfig for CI build
The base tsconfig.json had types: ["vitest/globals", "@testing-library/jest-dom/vitest"]
which are devDependencies only installed during development. CI production
builds with npm ci --production don't include these, causing TS2688 errors.

Solution:

Remove types array from tsconfig.json (let TS auto-discover available types)
Simplify tsconfig.build.json to only exclude test files
Add triple-slash type references to test setup file
Add typecheck config to vitest.config.ts
This ensures:

Production builds work without devDependencies
Test files still have proper type definitions
No JSX.IntrinsicElements errors from missing React types
2026-01-25 21:26:47 +00:00
GitHub Actions 8612aa52e1 ix(frontend): correct build config for types and test utils exclusion
Set types to ["node"] instead of [] to maintain module resolution
Add explicit include: ["src"] to override parent's test file patterns
Add src/test-utils/** to exclusions to prevent test utilities in build
Fixes TS7026 "no interface JSX.IntrinsicElements" and module resolution
errors in CI production build.
2026-01-25 20:25:24 +00:00
GitHub Actions 3ba2ddcfe4 fix(ci): use env var for Docker Hub token check in workflow conditions
GitHub Actions doesn't allow secrets context in step if expressions.
Add HAS_DOCKERHUB_TOKEN env var at job level that evaluates the secret
existence, then reference that env var in step conditions.

Fixes: "Unrecognized named-value: 'secrets'" workflow validation error
2026-01-25 20:19:57 +00:00
GitHub Actions 55ce7085d0 fix(frontend): exclude test types from production build config
Override the types array in tsconfig.build.json to prevent
vitest and testing-library type definitions from being required
during production builds. These are devDependencies only needed
for test compilation.

Fixes CI E2E workflow failure: TS2688 "Cannot find type definition file"
2026-01-25 20:16:01 +00:00
GitHub Actions 892b89fc9d feat: break-glass security reset
Implement dual-registry container publishing to both GHCR and Docker Hub
for maximum distribution reach. Add emergency security reset endpoint
("break-glass" mechanism) to recover from ACL lockout situations.

Key changes:

Docker Hub + GHCR dual publishing with Cosign signing and SBOM
Emergency reset endpoint POST /api/v1/emergency/security-reset
Token-based authentication bypasses Cerberus middleware
Rate limited (5/hour) with audit logging
30 new security enforcement E2E tests covering ACL, WAF, CrowdSec,
Rate Limiting, Security Headers, and Combined scenarios
Fixed container startup permission issue (tmpfs directory ownership)
Playwright config updated with testIgnore for browser projects
Security: Token via CHARON_EMERGENCY_TOKEN env var (32+ chars recommended)
Tests: 689 passed, 86% backend coverage, 85% frontend coverage
2026-01-25 20:14:06 +00:00
Jeremy e8f6812386 Merge branch 'main' into feature/beta-release 2026-01-25 12:15:05 -05:00
GitHub Actions 038561c602 chore(vscode): remove unnecessary YAML validation disable
Re-enable YAML validation to catch mistakes in workflow and compose
files. Remove empty exclude/association overrides that harm editor
performance.

Fixes review feedback on PR #550.
2026-01-25 16:13:10 +00:00
GitHub Actions f5e618a912 fix(docker): use actual tmpfs for E2E test data
Replace misleading named volume with real tmpfs mount. E2E test data is
now truly ephemeral and fresh on every container start, with no state
leakage between test runs.

Fixes review feedback on PR #550.
2026-01-25 16:09:22 +00:00
GitHub Actions 07d35dcc89 fix(docker): improve world-writable permission check robustness
Replace brittle stat/regex check with find -perm -0002 which correctly
handles directories with sticky/setgid bits (e.g., mode 1777).

Use chmod o-w instead of chmod 755 to preserve special bits when fixing
permissions, only removing the world-writable bit.

Fixes review feedback from Copilot on PR #550.
2026-01-25 16:07:10 +00:00
GitHub Actions ba900e20c5 chore(ci): add Docker Hub as secondary container registry
Publish Docker images to both Docker Hub (docker.io/wikid82/charon) and
GitHub Container Registry (ghcr.io/wikid82/charon) for maximum reach.

Add Docker Hub login with secret existence check for graceful fallback
Update docker/metadata-action to generate tags for both registries
Add Cosign keyless signing for both GHCR and Docker Hub images
Attach SBOM to Docker Hub via cosign attach sbom
Add Docker Hub signature verification to supply-chain-verify workflow
Update README with Docker Hub badges and dual registry examples
Update getting-started.md with both registry options
Supply chain security maintained: identical tags, signatures, and SBOMs
on both registries. PR images remain GHCR-only.
2026-01-25 16:04:42 +00:00
GitHub Actions 9a26fcaf88 fix: correct formatting in structured autonomy planning prompt 2026-01-25 15:16:45 +00:00
GitHub Actions b7620a2d1e fix: update tool reference for editing feature documentation 2026-01-25 15:14:01 +00:00
GitHub Actions 3e3539ed6c fix: remove duplicate entries in Supervisor agent tools list 2026-01-25 15:10:16 +00:00
GitHub Actions 9c32108ac7 fix: add resilience for CrowdSec Hub API unavailability
Add 404 status code to fallback conditions in hub_sync.go so the
integration gracefully falls back to GitHub mirror when primary
hub-data.crowdsec.net returns 404.

Add http.StatusNotFound to fetchIndexHTTPFromURL fallback
Add http.StatusNotFound to fetchWithLimitFromURL fallback
Update crowdsec_integration.sh to check hub availability
Skip hub preset tests gracefully when hub is unavailable
Fixes CI failure when CrowdSec Hub API is temporarily unavailable
2026-01-25 14:50:14 +00:00
Jeremy 2db1685b74 Merge pull request #561 from Wikid82/renovate/feature/beta-release-weekly-non-major-updates
fix(deps): update weekly-non-major-updates (feature/beta-release)
2026-01-25 09:43:47 -05:00
renovate[bot] dfffa66e36 fix(deps): update weekly-non-major-updates 2026-01-25 14:42:45 +00:00
Jeremy fb31f08979 Merge pull request #560 from Wikid82/renovate/feature/beta-release-pin-dependencies
chore(deps): pin dependencies (feature/beta-release)
2026-01-25 09:40:32 -05:00
Jeremy 2ce4334107 Merge branch 'feature/beta-release' into renovate/feature/beta-release-pin-dependencies 2026-01-25 09:40:20 -05:00
renovate[bot] 91ce338ac7 chore(deps): pin dependencies 2026-01-25 14:40:08 +00:00
GitHub Actions 55fe64b7ae fix(ci): sanitize branch names in Docker image tags
Fix "invalid reference format" error in GitHub Actions workflows when
branch names contain forward slashes (e.g., feature/beta-release).

Add sanitization step to playwright.yml converting / to -
Update supply-chain-verify.yml with dynamic branch sanitization
Add sanitization step to supply-chain-pr.yml for artifact names
Branch feature/beta-release → tag feature-beta-release
Fixes Playwright E2E and supply chain security scan workflow failures
2026-01-25 14:39:40 +00:00
Jeremy 23082c8aae Merge pull request #559 from Wikid82/renovate/feature/beta-release-actions-setup-go-6.x
chore(deps): update actions/setup-go action to v6 (feature/beta-release)
2026-01-25 09:39:05 -05:00
renovate[bot] dc94499617 chore(deps): update actions/setup-go action to v6 2026-01-25 14:37:29 +00:00
Jeremy 8e354aeb47 Merge pull request #558 from Wikid82/renovate/feature/beta-release-actions-github-script-8.x
chore(deps): update actions/github-script action to v8 (feature/beta-release)
2026-01-25 09:35:41 -05:00
Jeremy b144670c85 Merge pull request #557 from Wikid82/renovate/feature/beta-release-major-7-github-artifact-actions
chore(deps): update actions/download-artifact action to v7 (feature/beta-release)
2026-01-25 09:35:26 -05:00
Jeremy 92793df7f2 Merge pull request #556 from Wikid82/renovate/feature/beta-release-actions-checkout-6.x
chore(deps): update actions/checkout action to v6 (feature/beta-release)
2026-01-25 09:35:05 -05:00
renovate[bot] 39eab80d48 chore(deps): update actions/download-artifact action to v7 2026-01-25 14:35:01 +00:00
Jeremy f80932b0d0 Merge pull request #555 from Wikid82/renovate/feature/beta-release-actions-cache-5.x
chore(deps): update actions/cache action to v5 (feature/beta-release)
2026-01-25 09:34:47 -05:00
Jeremy 64e199a290 Merge pull request #554 from Wikid82/renovate/feature/beta-release-paulhatch-semantic-version-6.x
chore(deps): update paulhatch/semantic-version action to v6 (feature/beta-release)
2026-01-25 09:34:22 -05:00
Jeremy a434f84c3f Merge pull request #553 from Wikid82/renovate/feature/beta-release-major-6-github-artifact-actions
chore(deps): update github artifact actions to v6 (feature/beta-release) (major)
2026-01-25 09:33:57 -05:00
renovate[bot] 7391784a92 chore(deps): update actions/github-script action to v8 2026-01-25 14:33:34 +00:00
Jeremy 96d8cd710e Merge pull request #552 from Wikid82/renovate/feature/beta-release-actions-setup-node-6.x
chore(deps): update actions/setup-node action to v6 (feature/beta-release)
2026-01-25 09:33:29 -05:00
renovate[bot] ae69f654a5 chore(deps): update actions/checkout action to v6 2026-01-25 14:33:25 +00:00
renovate[bot] bec62cfd28 chore(deps): update actions/cache action to v5 2026-01-25 14:33:21 +00:00
renovate[bot] 13d39811fc chore(deps): update paulhatch/semantic-version action to v6 2026-01-25 14:32:06 +00:00
renovate[bot] ae969dd568 chore(deps): update github artifact actions to v6 2026-01-25 14:32:02 +00:00
renovate[bot] 94c3583917 chore(deps): update actions/setup-node action to v6 2026-01-25 14:31:56 +00:00
github-actions[bot] 82296c2509 chore: move processed issue files to created/ 2026-01-25 14:10:00 +00:00
GitHub Actions 103f0e0ae9 fix: resolve WAF integration failure and E2E ACL deadlock
Fix integration scripts using wget-style curl options after Alpine→Debian
migration (PR #550). Add Playwright security test helpers to prevent ACL
from blocking subsequent tests.

Fix curl syntax in 5 scripts: -q -O- → -sf
Create security-helpers.ts with state capture/restore
Add emergency ACL reset to global-setup.ts
Fix fixture reuse bug in security-dashboard.spec.ts
Add security-helpers.md usage guide
Resolves WAF workflow "httpbin backend failed to start" error
2026-01-25 14:09:38 +00:00
GitHub Actions a41cfaae10 fix(integration): migrate wget-style curl syntax for Debian compatibility
After migrating base image from Alpine to Debian Trixie (PR #550),
integration test scripts were using wget-style options with curl
that don't work correctly on Debian.

Changed curl -q -O- (wget syntax) to curl -sf (proper curl):

waf_integration.sh
cerberus_integration.sh
rate_limit_integration.sh
crowdsec_startup_test.sh
install-go-1.25.5.sh
Also added future phase to plan for Playwright security test helpers
to prevent ACL deadlock issues during E2E testing.

Refs: #550
2026-01-25 09:17:50 +00:00
GitHub Actions aa74d37a3a fix(workflow): update QA Security workflow to include mandatory e2e image rebuild step 2026-01-25 07:58:16 +00:00
GitHub Actions ac0746db31 fix(waf): correct invalid curl flags in coraza integration test
- Replace 'curl -q -O-' with 'curl -s' (valid silent mode flag)
- Remove redundant fallback since only one curl call is needed
- Fixes httpbin connectivity check failure in WAF tests
2026-01-25 06:39:52 +00:00
GitHub Actions 88ea0d567a fix: resolve merge conflicts and simplify branch strategy
Abort broken rebase (193 commits), use merge instead
Remove feature/beta-release from Renovate baseBranches
Simplify propagate workflow: main → development → feature/*
Fix duplicate lines in codeql.yml from corrupted merge
Fix duplicate entries in package.json
Resolve Dockerfile conflict (keep node:24.13.0-slim for Trixie)
Add .hadolint.yaml to ignore DL3008/DL3059 for Debian images
Refs: #550
2026-01-25 06:29:01 +00:00
GitHub Actions 47bb0a995a fix(workflow): enhance branch propagation by adding support for feature branches from development 2026-01-25 06:14:19 +00:00
GitHub Actions 80e37b4920 Merge branch 'development' into feature/beta-release 2026-01-25 06:11:29 +00:00
GitHub Actions b606e5c1ff fix(lint): update Hadolint configuration to enforce stricter error thresholds and add ignored rules 2026-01-25 05:46:14 +00:00
GitHub Actions 69da357613 fix(docker): switch frontend builder from node:24.13.0-alpine to node:24.13.0-slim for improved compatibility 2026-01-25 05:44:14 +00:00
renovate[bot] cf52054393 chore(deps): update weekly-non-major-updates 2026-01-25 05:42:39 +00:00
renovate[bot] 07d3f8bab4 chore(deps): update weekly-non-major-updates 2026-01-25 05:41:32 +00:00
renovate[bot] 55e88a861c fix(deps): update weekly-non-major-updates 2026-01-25 05:41:12 +00:00