Server debugging support for vscode.
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Linting and tests / Linting (push) Successful in 5s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Linting and tests / Linting (push) Successful in 5s
				
			This commit is contained in:
		
							
								
								
									
										25
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| { | ||||
|     // Используйте IntelliSense, чтобы узнать о возможных атрибутах. | ||||
|     // Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов. | ||||
|     // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387 | ||||
|     "version": "0.2.0", | ||||
|     "configurations": [ | ||||
|         { | ||||
|             "name": "bunkerd docker debug", | ||||
|             "type": "go", | ||||
|             "debugAdapter": "dlv-dap", | ||||
|             "request": "attach", | ||||
|             "mode": "remote", | ||||
|             "port": 54401, | ||||
|             "host": "127.0.0.1", | ||||
|             "stopOnEntry": true, | ||||
|             "substitutePath": [ | ||||
|                 { | ||||
|                     "from": "${workspaceFolder}", | ||||
|                     "to": "bunker" | ||||
|                 } | ||||
|             ], | ||||
|             "preLaunchTask": "Run bunkerd debug build" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										18
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| { | ||||
|     "version": "2.0.0", | ||||
|     "tasks": [ | ||||
|         { | ||||
|             "label": "Run bunkerd debug build", | ||||
|             "type": "shell", | ||||
|             "command": "task server:localdev:bunkerd:build-debug && task server:localdev:bunkerd:restart-debug", | ||||
|             "group": { | ||||
|                 "kind": "test", | ||||
|                 "isDefault": true | ||||
|             }, | ||||
|             "presentation": { | ||||
|                 // Do not open terminal every time debug is launched. | ||||
|                 "reveal": "silent" | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| @@ -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
									
								
							
							
						
						
									
										16
									
								
								server/Dockerfile.debug
									
									
									
									
									
										Normal 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"] | ||||
| @@ -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 | ||||
| @@ -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 { | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
							
								
								
									
										23
									
								
								server/localdevzone/bunkerd/docker-compose.debug.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								server/localdevzone/bunkerd/docker-compose.debug.yaml
									
									
									
									
									
										Normal 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 | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user