Files
Charon/docs/implementation
GitHub Actions 928033ec37 chore(ci): implement "build once, test many" architecture
Restructures CI/CD pipeline to eliminate redundant Docker image builds
across parallel test workflows. Previously, every PR triggered 5 separate
builds of identical images, consuming compute resources unnecessarily and
contributing to registry storage bloat.

Registry storage was growing at 20GB/week due to unmanaged transient tags
from multiple parallel builds. While automated cleanup exists, preventing
the creation of redundant images is more efficient than cleaning them up.

Changes CI/CD orchestration so docker-build.yml is the single source of
truth for all Docker images. Integration tests (CrowdSec, Cerberus, WAF,
Rate Limiting) and E2E tests now wait for the build to complete via
workflow_run triggers, then pull the pre-built image from GHCR.

PR and feature branch images receive immutable tags that include commit
SHA (pr-123-abc1234, feature-dns-provider-def5678) to prevent race
conditions when branches are updated during test execution. Tag
sanitization handles special characters, slashes, and name length limits
to ensure Docker compatibility.

Adds retry logic for registry operations to handle transient GHCR
failures, with dual-source fallback to artifact downloads when registry
pulls fail. Preserves all existing functionality and backward
compatibility while reducing parallel build count from 5× to 1×.

Security scanning now covers all PR images (previously skipped),
blocking merges on CRITICAL/HIGH vulnerabilities. Concurrency groups
prevent stale test runs from consuming resources when PRs are updated
mid-execution.

Expected impact: 80% reduction in compute resources, 4× faster
total CI time (120min → 30min), prevention of uncontrolled registry
storage growth, and 100% consistency guarantee (all tests validate
the exact same image that would be deployed).

Closes #[issue-number-if-exists]
2026-02-04 04:42:42 +00:00
..

Implementation Documentation Archive

This directory contains archived implementation documentation and historical records of feature development in Charon.

Purpose

These documents serve as historical references for:

  • Feature implementation details and decisions
  • Migration summaries and upgrade paths
  • Investigation reports and debugging sessions
  • Phase completion records

Document Index

Documents will be organized here after migration from the project root:

Document Description
AGENT_SKILLS_MIGRATION_SUMMARY.md Agent skills system migration details
BULK_ACL_FEATURE.md Bulk ACL feature implementation
gorm_security_scanner_complete.md GORM Security Scanner implementation and usage
I18N_IMPLEMENTATION_SUMMARY.md Internationalization implementation
IMPLEMENTATION_SUMMARY.md General implementation summary
INVESTIGATION_SUMMARY.md Investigation and debugging records
ISSUE_16_ACL_IMPLEMENTATION.md Issue #16 ACL implementation details
PHASE_*_COMPLETE.md Phase completion documentation
QA_*.md QA audit and verification reports
SECURITY_*.md Security implementation records
WEBSOCKET_FIX_SUMMARY.md WebSocket fix implementation

Note

These are historical implementation records. For current documentation, refer to:

  • /docs/ - Main documentation
  • /README.md - Project overview
  • /CONTRIBUTING.md - Contribution guidelines
  • /CHANGELOG.md - Version history