From 249b1eefd6b47f09b3a86aaacfe6dcc8eb63fd1a Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Fri, 1 Nov 2024 20:34:32 +0100 Subject: [PATCH 1/6] add local docker compose debugging --- .vscode/launch.json | 36 ++++++++++++++++++++++++--- docker/local/docker-compose.yml | 6 +++++ docker/worker/Dockerfile.dockerignore | 3 +++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 9f3c6f9da..a276374e0 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,7 +2,37 @@ "version": "0.2.0", "configurations": [ { - "name": "Attach to Worker", + "name": "Attach debugpy Worker", + "type": "debugpy", + "request": "attach", + "connect": { + "host": "localhost", + "port":10000 + }, + "pathMappings": [ + { + "localRoot": "${workspaceFolder}", + "remoteRoot": "/home/turbinia" + } + ] + }, + { + "name": "Attach debugpy Server", + "type": "debugpy", + "request": "attach", + "connect": { + "host": "localhost", + "port":20000 + }, + "pathMappings": [ + { + "localRoot": "${workspaceFolder}", + "remoteRoot": "/home/turbinia" + } + ] + }, + { + "name": "Attach k8s Worker", "type": "cloudcode.kubernetes", "request": "attach", "language": "Python", @@ -14,7 +44,7 @@ "remoteRoot": "/home/turbinia" }, { - "name": "Attach to Server", + "name": "Attach k8s Server", "type": "cloudcode.kubernetes", "request": "attach", "language": "Python", @@ -26,7 +56,7 @@ "remoteRoot": "/home/turbinia" }, { - "name": "Attach to API Server", + "name": "Attach k8s API Server", "type": "cloudcode.kubernetes", "request": "attach", "language": "Python", diff --git a/docker/local/docker-compose.yml b/docker/local/docker-compose.yml index 658c3ff60..8ce469037 100644 --- a/docker/local/docker-compose.yml +++ b/docker/local/docker-compose.yml @@ -25,6 +25,8 @@ services: - LC_ALL=C.UTF-8 - LANG=C.UTF-8 - TURBINIA_EXTRA_ARGS=${TURBINIA_EXTRA_ARGS} + ports: + - 20000:20000 turbinia-api-server: #image: "turbinia-api-server-dev" # Use this for local development and comment out below line @@ -41,6 +43,8 @@ services: - TURBINIA_EXTRA_ARGS=${TURBINIA_EXTRA_ARGS} expose: - "8000" + ports: + - 30000:30000 turbinia-worker: #image: "turbinia-worker-dev" # Use this for local development and comment out below line @@ -56,6 +60,8 @@ services: - LC_ALL=C.UTF-8 - LANG=C.UTF-8 - TURBINIA_EXTRA_ARGS=${TURBINIA_EXTRA_ARGS} + ports: + - 10000:10000 # Uncomment below in case you want to run a second worker on the same host. # turbinia-worker2: diff --git a/docker/worker/Dockerfile.dockerignore b/docker/worker/Dockerfile.dockerignore index 543d7dc2a..8d9dd33eb 100644 --- a/docker/worker/Dockerfile.dockerignore +++ b/docker/worker/Dockerfile.dockerignore @@ -16,3 +16,6 @@ charts __pycache__ .cache turbinia.egg-info +conf/ +redis-data/ +evidence/ From 8ae6491fec7827db9c57a1962a3844f7f8785fc9 Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Fri, 1 Nov 2024 20:38:19 +0100 Subject: [PATCH 2/6] add ignores to server/api-server --- docker/api_server/Dockerfile.dockerignore | 3 +++ docker/server/Dockerfile.dockerignore | 3 +++ 2 files changed, 6 insertions(+) diff --git a/docker/api_server/Dockerfile.dockerignore b/docker/api_server/Dockerfile.dockerignore index 58a28afbf..3f4935601 100644 --- a/docker/api_server/Dockerfile.dockerignore +++ b/docker/api_server/Dockerfile.dockerignore @@ -15,3 +15,6 @@ build __pycache__ .cache turbinia.egg-info +conf/ +redis-data/ +evidence/ diff --git a/docker/server/Dockerfile.dockerignore b/docker/server/Dockerfile.dockerignore index 543d7dc2a..8d9dd33eb 100644 --- a/docker/server/Dockerfile.dockerignore +++ b/docker/server/Dockerfile.dockerignore @@ -16,3 +16,6 @@ charts __pycache__ .cache turbinia.egg-info +conf/ +redis-data/ +evidence/ From 00561553a144ad47933f0ef8d3bc0f69eb23bb76 Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Fri, 1 Nov 2024 20:40:40 +0100 Subject: [PATCH 3/6] add helper setup.sh for local docker-compose --- docker/local/setup.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docker/local/setup.sh diff --git a/docker/local/setup.sh b/docker/local/setup.sh new file mode 100644 index 000000000..b6a415823 --- /dev/null +++ b/docker/local/setup.sh @@ -0,0 +1,6 @@ +#!/bin/bash +mkdir redis-data +mkdir evidence +mkdir conf +chmod 777 conf evidence redis-data +sed -f docker/local/local-config.sed turbinia/config/turbinia_config_tmpl.py > conf/turbinia.conf From 90b80e396c88032cb6d42544298ce2a16f4f3d96 Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Fri, 1 Nov 2024 21:27:11 +0100 Subject: [PATCH 4/6] ports onlly on localhost --- docker/local/docker-compose.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/local/docker-compose.yml b/docker/local/docker-compose.yml index 8ce469037..87f0a8d6e 100644 --- a/docker/local/docker-compose.yml +++ b/docker/local/docker-compose.yml @@ -26,7 +26,7 @@ services: - LANG=C.UTF-8 - TURBINIA_EXTRA_ARGS=${TURBINIA_EXTRA_ARGS} ports: - - 20000:20000 + - 127.0.0.1:20000:20000 turbinia-api-server: #image: "turbinia-api-server-dev" # Use this for local development and comment out below line @@ -44,7 +44,8 @@ services: expose: - "8000" ports: - - 30000:30000 + - 127.0.0.1:30000:30000 + - 127.0.0.1:8000:8000 turbinia-worker: #image: "turbinia-worker-dev" # Use this for local development and comment out below line @@ -61,7 +62,7 @@ services: - LANG=C.UTF-8 - TURBINIA_EXTRA_ARGS=${TURBINIA_EXTRA_ARGS} ports: - - 10000:10000 + - 127.0.0.1:10000:10000 # Uncomment below in case you want to run a second worker on the same host. # turbinia-worker2: From 4028af81b6c0e5a30f492a9d0e187232cd25d968 Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Sat, 2 Nov 2024 08:04:51 +0100 Subject: [PATCH 5/6] add client launch config --- .vscode/launch.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index a276374e0..807c0e6cc 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -31,6 +31,15 @@ } ] }, + { + "name": "Turbinia API Client", + "type": "debugpy", + "request": "launch", + "cwd": "${workspaceFolder}", + "program": "turbinia/api/cli/turbinia_client/turbiniacli_tool.py", + "args": "${input:apiClientCommand}", + "console": "integratedTerminal", + }, { "name": "Attach k8s Worker", "type": "cloudcode.kubernetes", @@ -67,5 +76,13 @@ "localRoot": "${workspaceFolder}", "remoteRoot": "/home/turbinia" } - ] + ], + "inputs": [ + { + "id": "apiClientCommand", + "type": "promptString", + "description": "API Client Command", + "default": "config list" + } + ] } \ No newline at end of file From 3abeba9047c851cdfefb7b0db0e060c69525d73d Mon Sep 17 00:00:00 2001 From: hacktobeer Date: Sun, 3 Nov 2024 17:29:41 +0100 Subject: [PATCH 6/6] add api server launch --- .vscode/launch.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.vscode/launch.json b/.vscode/launch.json index 807c0e6cc..067345e5c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -31,6 +31,21 @@ } ] }, + { + "name": "Attach debugpy API Server", + "type": "debugpy", + "request": "attach", + "connect": { + "host": "localhost", + "port":30000 + }, + "pathMappings": [ + { + "localRoot": "${workspaceFolder}", + "remoteRoot": "/home/turbinia" + } + ] + }, { "name": "Turbinia API Client", "type": "debugpy",