Files
Charon/docs/debugging-local-container.md
akanealw eec8c28fb3
Some checks failed
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
changed perms
2026-04-22 18:19:14 +00:00

1.3 KiB
Executable File

title, description
title description
Debugging the Local Docker Image Developer guide for attaching VS Code debuggers to Charon running in Docker containers.

Debugging the Local Docker Image

Use the charon:local image as the source of truth and attach VS Code debuggers directly to the running container. Backwards-compatibility: cpmp:local still works (fallback).

1. Enable the debugger

The image now ships with the Delve debugger. When you start the container, set CHARON_DEBUG=1 (and optionally CHARON_DEBUG_PORT) to enable Delve. For backward compatibility you may still use CPMP_DEBUG/CPMP_DEBUG_PORT.

docker run --rm -it \
  --name charon-debug \
  -p 8080:8080 \
  -p 2345:2345 \
  -e CHARON_ENV=development \
  -e CHARON_DEBUG=1 \
  charon:local

Delve will listen on localhost:2345, while the UI remains available at http://localhost:8080.

2. Attach VS Code

  • Use the Attach to Charon backend configuration in .vscode/launch.json to connect the Go debugger to Delve.
  • Use the Open Charon frontend configuration to launch Chrome against the management UI.

These launch configurations assume the ports above are exposed. If you need a different port, set CHARON_DEBUG_PORT (or CPMP_DEBUG_PORT for backward compatibility) when running the container and update the Go configuration's port field accordingly.