Commit Graph

634 Commits

Author SHA1 Message Date
GitHub Actions
807112de71 chore(ci): auto-sync development to nightly before build
Update nightly-build.yml to automatically merge changes from development
branch to nightly before running the build. This enables a workflow where
PRs only need to target development, and nightly builds propagate
automatically.

Add sync-development-to-nightly job that runs first
Remove push trigger on nightly branch (sync handles updates)
All jobs now explicitly checkout nightly branch after sync
Uses fast-forward merge or hard reset if diverged
2026-01-24 22:22:40 +00:00
GitHub Actions
b77c9b53b5 fix(ci): use lowercase image name for GHCR in nightly build
GHCR stores images with lowercase names only. The SBOM action was using
the mixed-case github.repository value which caused Syft to fail when
trying to pull the image.

Add IMAGE_NAME_LC environment variable with lowercase image name
Update SBOM action, Trivy scan, and docker commands to use lowercase
Applied to all jobs: build-and-push-nightly, test-nightly-image,
verify-nightly-supply-chain
Fixes nightly-build.yml workflow failure in "Generate SBOM" step
2026-01-24 22:22:40 +00:00
GitHub Actions
4d816f1e47 chore(workflow): add inputs for manual trigger reason and skip tests in nightly build 2026-01-24 22:22:40 +00:00
GitHub Actions
99faac0b6a fix(security): implement security module toggle actions
Complete Phase 4 implementation enabling ACL, WAF, and Rate Limiting
toggle functionality in the Security Dashboard UI.

Backend:

Add 60-second TTL settings cache layer to Cerberus middleware
Trigger async Caddy config reload on security.* setting changes
Query runtime settings in Caddy manager before config generation
Wire SettingsHandler with CaddyManager and Cerberus dependencies
Frontend:

Fix optimistic update logic to preserve mode field for WAF/rate_limit
Replace onChange with onCheckedChange for all Switch components
Add unit tests for mode preservation and rollback behavior
Test Fixes:

Fix CrowdSec startup test assertions (cfg.Enabled is global Cerberus flag)
Fix security service test UUID uniqueness for UNIQUE constraint
Add .first() to toast locator in wait-helpers.ts for multiple toasts
Documentation:

Add Security Dashboard Toggles section to features.md
Mark phase4_security_toggles_spec.md as IMPLEMENTED
Add E2E coverage mode (Docker vs Vite) documentation
Enables 8 previously skipped E2E tests in security-dashboard.spec.ts
and rate-limiting.spec.ts.
2026-01-24 22:22:40 +00:00
GitHub Actions
1ac3e5a444 chore: enable Cerberus security by default and fix 31 skipped E2E tests
Phase 1 of skipped Playwright tests remediation:

Changed Cerberus default from disabled to enabled in backend code
Deprecated FEATURE_CERBERUS_ENABLED env var (no longer needed)
Added data-testid and a11y attributes to LanguageSelector component
Fixed keyboard navigation timing in account-settings and user-management tests
Simplified security dashboard toggle tests with waitForToast pattern
Test results: 668 passed, 11 failed, 67 skipped (reduced from 98)
Backend coverage: 87.0% (exceeds 85% threshold)
2026-01-24 22:22:40 +00:00
GitHub Actions
029bd490ef fix: update Vite port to 5173 and enhance Playwright coverage reporting 2026-01-24 22:22:40 +00:00
GitHub Actions
84224ceef9 chore: Remove provenance-main.json file as it is no longer needed for the build process. 2026-01-24 22:22:40 +00:00
GitHub Actions
8bb4bb7c4b chore: add execution constraints to prevent output truncation in Playwright tests 2026-01-24 22:22:39 +00:00
GitHub Actions
710d729022 chore: replace wget with curl in various scripts for consistency and reliability
- Updated WafConfig.tsx to correct regex for common bad bots.
- Modified cerberus_integration.sh to use curl instead of wget for backend readiness check.
- Changed coraza_integration.sh to utilize curl for checking httpbin backend status.
- Updated crowdsec_startup_test.sh to use curl for LAPI health check.
- Replaced wget with curl in install-go-1.25.5.sh for downloading Go.
- Modified rate_limit_integration.sh to use curl for backend readiness check.
- Updated waf_integration.sh to replace wget with curl for checking httpbin backend status.
2026-01-24 22:22:39 +00:00
GitHub Actions
d6b68ce81a chore(e2e): implement Phase 6 integration testing with agent skills
Complete Phase 6 of Playwright E2E testing plan with comprehensive
integration tests covering cross-feature workflows and system integration.

Integration Tests Added:

proxy-acl-integration.spec.ts - ACL with proxy host integration
proxy-certificate.spec.ts - SSL certificate lifecycle tests
proxy-dns-integration.spec.ts - DNS challenge provider integration
security-suite-integration.spec.ts - Cerberus security suite tests
backup-restore-e2e.spec.ts - Full backup/restore workflow
import-to-production.spec.ts - Caddyfile/CrowdSec import flows
multi-feature-workflows.spec.ts - Complex multi-step scenarios
Agent Skills Created:

docker-rebuild-e2e.SKILL.md - Rebuild E2E Docker environment
test-e2e-playwright-debug.SKILL.md - Run/debug Playwright tests
Supporting scripts for skill execution
Test Infrastructure Improvements:

TestDataManager for namespace-based test isolation
Fixed route paths: /backups → /tasks/backups
Domain uniqueness via UUID namespacing
Improved selector reliability with role-based queries
Results: 648 tests passing, 98 skipped, 97.5% statement coverage
2026-01-24 22:22:39 +00:00
GitHub Actions
154c43145d chore: add Playwright E2E coverage with Codecov integration
Integrate @bgotink/playwright-coverage for E2E test coverage tracking:

Install @bgotink/playwright-coverage package
Update playwright.config.js with coverage reporter
Update test file imports to use coverage-enabled test function
Add e2e-tests.yml coverage artifact upload and merge job
Create codecov.yml with e2e flag configuration
Add E2E coverage skill and VS Code task
Coverage outputs: HTML, LCOV, JSON to coverage/e2e/
CI uploads merged coverage to Codecov with 'e2e' flag

Enables unified coverage view across unit and E2E tests
2026-01-20 06:11:59 +00:00
GitHub Actions
e0a39518ba chore: migrate Docker base images from Alpine to Debian Trixie
Migrated all Docker stages from Alpine 3.23 to Debian Trixie (13) to
address critical CVE in Alpine's gosu package and improve security
update frequency.

Key changes:

Updated CADDY_IMAGE to debian:trixie-slim
Added gosu-builder stage to compile gosu 1.17 from source with Go 1.25.6
Migrated all builder stages to golang:1.25-trixie
Updated package manager from apk to apt-get
Updated user/group creation to use groupadd/useradd
Changed nologin path from /sbin/nologin to /usr/sbin/nologin
Security impact:

Resolved gosu Critical CVE (built from source eliminates vulnerable Go stdlib)
Reduced overall CVE count from 6 (bookworm) to 2 (trixie)
Remaining 2 CVEs are glibc-related with no upstream fix available
All Go binaries verified vulnerability-free by Trivy and govulncheck
Verification:

E2E tests: 243 passed (5 pre-existing failures unrelated to migration)
Backend coverage: 87.2%
Frontend coverage: 85.89%
Pre-commit hooks: 13/13 passed
TypeScript: 0 errors
Refs: CVE-2026-0861 (glibc, no upstream fix - accepted risk)
2026-01-20 06:11:59 +00:00
GitHub Actions
00ff546495 chore(e2e): implement Phase 0 E2E testing infrastructure
Add comprehensive E2E testing infrastructure including:

docker-compose.playwright.yml for test environment orchestration
TestDataManager utility for per-test namespace isolation
Wait helpers for flaky test prevention
Role-based auth fixtures for admin/user/guest testing
GitHub Actions e2e-tests.yml with 4-shard parallelization
Health check utility for service readiness validation
Phase 0 of 10-week E2E testing plan (Supervisor approved 9.2/10)
All 52 existing E2E tests pass with new infrastructure
2026-01-20 06:11:59 +00:00
renovate[bot]
82e02482ce chore(deps): update weekly-non-major-updates 2026-01-19 21:16:19 +00:00
renovate[bot]
962d933601 fix(deps): update weekly-non-major-updates 2026-01-16 21:39:53 +00:00
GitHub Actions
d9c56d2e6b fix: update semantic versioning rules to prevent automated major bumps 2026-01-16 04:28:50 +00:00
GitHub Actions
b395610158 feat: enhance auto-versioning and docker build workflows with improved semantic versioning patterns 2026-01-16 04:13:07 +00:00
GitHub Actions
0ddb3aabb6 fix: update Go version from 1.25.5 to 1.25.6 in workflow files 2026-01-16 03:43:13 +00:00
GitHub Actions
8d954c3b29 fix: update Go version to 1.25.6 and modify build step in CodeQL workflow 2026-01-16 03:41:10 +00:00
GitHub Actions
261676f65d fix Add Quality Assurance & Security Audit Report for Nightly Workflow Implementation
- Created a comprehensive QA report detailing the audit of three GitHub Actions workflows: propagate-changes.yml, nightly-build.yml, and supply-chain-verify.yml.
- Included sections on pre-commit hooks, YAML syntax validation, security audit findings, logic review, best practices compliance, and specific workflow analysis.
- Highlighted strengths, minor improvements, and recommendations for enhancing security and operational efficiency.
- Documented compliance with SLSA Level 2 and OWASP security best practices.
- Generated report date: 2026-01-13, with a next review scheduled after Phase 3 implementation or 90 days from deployment.
2026-01-16 03:30:53 +00:00
GitHub Actions
cbd9bb48f5 chore: remove unused pull-requests permission from auto-versioning workflow
Remove unused pull-requests: write permission from auto-versioning workflow.
The workflow uses GitHub Release API which only requires contents: write
permission. This follows the principle of least privilege.

Changes:
- Removed unused pull-requests: write permission
- Added documentation for cancel-in-progress: false setting
- Created backup of original workflow file
- QA verification complete with all security checks passing

Security Impact:
- Reduces attack surface by removing unnecessary permission
- Maintains functionality (no breaking changes)
- Follows OWASP and CIS security best practices

Related Issues:
- Fixes GH013 repository rule violation on tag creation
- CVE-2024-45337 in build cache (fix available, not in production)
- CVE-2025-68156 in CrowdSec awaiting upstream fix

QA Report: docs/reports/qa_report.md
2026-01-16 02:34:44 +00:00
GitHub Actions
add4e8e8a5 chore: fix CI/CD workflow linter config and documentation
Linter Configuration Updates:

Add version: 2 to .golangci.yml for golangci-lint v2 compatibility
Scope errcheck exclusions to test files only via path-based rules
Maintain production code error checking while allowing test flexibility
CI/CD Documentation:

Fix CodeQL action version comment in security-pr.yml (v3.28.10 → v4)
Create workflow modularization specification (docs/plans/workflow_modularization_spec.md)
Document GitHub environment protection setup for releases
Verification:

Validated linter runs successfully with properly scoped rules
Confirmed all three workflows (playwright, security-pr, supply-chain-pr) are properly modularized
2026-01-15 20:35:43 +00:00
GitHub Actions
21d6b71d8f fix(ci): remove environment configuration from goreleaser job 2026-01-15 19:49:20 +00:00
GitHub Actions
753b694dbd fix(ci): skip SBOM/Trivy in docker-build for feature branch pushes 2026-01-15 19:44:52 +00:00
GitHub Actions
cd0385d770 fix(ci): load docker image locally for feature branch pushes
Feature branch pushes were failing to save artifacts because the image
was pushed to GHCR but not loaded locally. Multi-platform builds
cannot use load:true, so feature branch pushes now build single-platform.
2026-01-15 16:50:46 +00:00
Jeremy
e31a20d498 Merge branch 'main' into feature/beta-release 2026-01-15 11:50:07 -05:00
Jeremy
3b9502ebc5 Merge pull request #539 from Wikid82/renovate/feature/beta-release-github-codeql-action-4.x
chore(deps): update github/codeql-action action to v4 (feature/beta-release)
2026-01-15 11:49:32 -05:00
Jeremy
14f8d0f91b Merge branch 'feature/beta-release' into renovate/feature/beta-release-node-24.x 2026-01-15 11:48:49 -05:00
Jeremy
6cf7aecec3 Merge pull request #537 from Wikid82/renovate/feature/beta-release-node-22.x
chore(deps): update dependency node to v22 (feature/beta-release)
2026-01-15 11:48:18 -05:00
Jeremy
1f51bd718f Merge branch 'feature/beta-release' into renovate/feature/beta-release-anchore-scan-action-7.x 2026-01-15 11:47:46 -05:00
Jeremy
30e5cc8e98 Merge branch 'feature/beta-release' into renovate/feature/beta-release-anchore-scan-action-6.x 2026-01-15 11:47:07 -05:00
Jeremy
2b94cd99fd Merge pull request #534 from Wikid82/renovate/feature/beta-release-anchore-scan-action-5.x
chore(deps): update anchore/scan-action action to v5 (feature/beta-release)
2026-01-15 11:46:43 -05:00
Jeremy
ae33cffb1a Merge branch 'feature/beta-release' into renovate/feature/beta-release-actions-setup-node-6.x 2026-01-15 11:46:08 -05:00
Jeremy
6f8d345e5b Merge branch 'feature/beta-release' into renovate/feature/beta-release-actions-setup-node-5.x 2026-01-15 11:45:11 -05:00
Jeremy
6447901820 Merge pull request #531 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-15 11:44:38 -05:00
renovate[bot]
b27134dacc chore(deps): update actions/download-artifact action to v7 2026-01-15 16:43:26 +00:00
Jeremy
ef1f10b082 Merge pull request #528 from Wikid82/renovate/feature/beta-release-major-5-github-artifact-actions
chore(deps): update actions/download-artifact action to v5 (feature/beta-release)
2026-01-15 11:41:57 -05:00
renovate[bot]
29e577b976 chore(deps): update github/codeql-action action to v4 2026-01-15 16:40:59 +00:00
renovate[bot]
c6064f9bc0 chore(deps): update dependency node to v24 2026-01-15 16:40:53 +00:00
renovate[bot]
04b76329c4 chore(deps): update dependency node to v22 2026-01-15 16:40:48 +00:00
renovate[bot]
08bebd5f6f chore(deps): update actions/setup-node action to v6 2026-01-15 16:40:41 +00:00
renovate[bot]
3e50b26a1f chore(deps): update actions/setup-node action to v5 2026-01-15 16:40:35 +00:00
renovate[bot]
1497336d11 chore(deps): update actions/setup-go action to v6 2026-01-15 16:40:29 +00:00
renovate[bot]
79a5f27272 chore(deps): update actions/download-artifact action to v5 2026-01-15 16:40:10 +00:00
renovate[bot]
d31a5fd3b8 chore(deps): update actions/checkout action to v6 2026-01-15 16:40:03 +00:00
renovate[bot]
e1c6c6dcf9 chore(deps): update anchore/scan-action action to v7 2026-01-15 16:35:55 +00:00
renovate[bot]
028233f378 chore(deps): update anchore/scan-action action to v6 2026-01-15 16:35:48 +00:00
renovate[bot]
e9648ca058 chore(deps): update anchore/scan-action action to v5 2026-01-15 16:35:41 +00:00
renovate[bot]
7a55cb0be9 fix(deps): update weekly-non-major-updates 2026-01-15 16:34:35 +00:00
Jeremy
2cd47a125b Fix branch name format in renovate configuration 2026-01-15 11:28:01 -05:00