Server debugging support for vscode.
All checks were successful
Linting and tests / Linting (push) Successful in 5s

This commit is contained in:
2025-09-14 12:38:45 +05:00
parent 3cfc74affa
commit 466b58b41d
9 changed files with 128 additions and 17 deletions

View File

@@ -13,6 +13,4 @@ RUN apt-get update && \
COPY --from=build /bunkerd/_build/bunkerd /bunkerd
COPY --from=build /usr/local/bin/dlv /dlv
COPY server/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/bunkerd"]

16
server/Dockerfile.debug Normal file
View File

@@ -0,0 +1,16 @@
FROM code.pztrn.name/containers/go-toolbox:v8 AS build
WORKDIR /bunkerd
COPY . /bunkerd
RUN --mount=type=cache,target="/home/container/go" task server:cmd:bunkerd:build --force
FROM debian:13-slim
RUN apt-get update && \
apt-get install -y ca-certificates iputils-ping coreutils && \
rm -rf /var/lib/apt/* /var/cache/apt/*
COPY --from=build /bunkerd/_build/bunkerd /bunkerd
COPY --from=build /usr/local/bin/dlv /dlv
ENTRYPOINT ["/dlv", "--listen=:4000", "--headless=true", "--log=true", "--accept-multiclient", "--api-version=2", "exec", "/bunkerd"]

View File

@@ -1,8 +0,0 @@
#!/bin/sh
echo "* Starting bunkerd..."
if [ -n "${BUNKERD_DEBUG}" ]; then
exec /dlv --listen=:4000 --headless=true --log=true --accept-multiclient --api-version=2 exec /bunkerd --continue
else
exec /bunkerd
fi

View File

@@ -10,10 +10,7 @@ import (
"time"
)
var (
errApplication = errors.New("application")
errNoMainWindow = errors.New("no main window service registered")
)
var errApplication = errors.New("application")
// Application is a lifecycle controlling structure for application.
type Application struct {

View File

@@ -8,36 +8,72 @@ tasks:
cmds:
- docker compose -p bunkerd -f docker-compose.yaml build
build-debug:
desc: "Builds bunkerd's debug build container."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml build
down:
desc: "Deletes all bunkerd's data (down)."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml down --volumes
down-debug:
desc: "Deletes all bunkerd's debug build data (down)."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml down --volumes
logs:
desc: "Show bunkerd logs."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml logs -f
logs-debug:
desc: "Show bunkerd debug build logs."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml logs -f
restart:
desc: "Restart bunkerd."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml restart
restart-debug:
desc: "Restart bunkerd debug build."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml restart
start:
desc: "Start bunkerd."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml start
start-debug:
desc: "Start bunkerd debug build."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml start
stop:
desc: "Stop bunkerd without deleting it's data."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd -f docker-compose.yaml stop
stop-debug:
desc: "Stop bunkerd debug build without deleting it's data."
dir: "./server/localdevzone/bunkerd"
cmds:
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml stop
up:
desc: "Start bunkerd (up -d)."
dir: "./server/localdevzone/bunkerd"
@@ -45,3 +81,11 @@ tasks:
- task: :common:network-up
- task: build
- docker compose -p bunkerd -f docker-compose.yaml up -d
up-debug:
desc: "Start bunkerd debug build (up -d)."
dir: "./server/localdevzone/bunkerd"
cmds:
- task: :common:network-up
- task: build
- docker compose -p bunkerd-debug -f docker-compose.debug.yaml up -d

View File

@@ -0,0 +1,23 @@
---
services:
bunkerd-debug:
container_name: "bunkerd-debug"
build:
context: ../../../
dockerfile: server/Dockerfile.debug
ports:
- "54400:54400"
- "54401:4000"
volumes:
- "./data:/data"
networks:
bunkerd:
ipv4_address: 247.247.0.3
environment:
BUNKERD_DATABASE_DSN: " "
cap_add:
- SYS_PTRACE
networks:
bunkerd:
external: true

View File

@@ -7,14 +7,12 @@ services:
dockerfile: server/Dockerfile
ports:
- "53400:53400"
- "54000:4000"
volumes:
- "./data:/data"
networks:
bunkerd:
ipv4_address: 247.247.0.2
environment:
BUNKERD_DEBUG: "true"
BUNKERD_DATABASE_DSN: " "
cap_add:
- SYS_PTRACE