Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
32 lines
1.3 KiB
Markdown
Executable File
32 lines
1.3 KiB
Markdown
Executable File
---
|
|
title: Debugging the Local Docker Image
|
|
description: 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`.
|
|
|
|
```bash
|
|
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.
|