MCPcopy Index your code
hub / github.com/GoogleContainerTools/container-debug-support

github.com/GoogleContainerTools/container-debug-support @v1.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.7.0 ↗ · + Follow
93 symbols 270 edges 13 files 22 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

experimental

Container Runtime Debugging Support Images (aka Duct Tape)

This repository defines a set of container images that package the language runtime dependencies required to enable step-by-step debugging of apps with skaffold debug. These container images are suitable for use as initContainers on a pod. When executed, each container image copies these dependencies to /dbg/<runtimeId>.

The idea is that skaffold debug will transform k8s manifests to make available any support files required to debug specific language runtimes. For example, a Kubernetes podspec would be transformed to

  • create a volume to hold the debugging support files
  • run one or more of these images as initContainers to populate this volume, mounted as /dbg
  • mount this volume on the applicable containers as /dbg with suitably transformed command-line in the entrypoint and arguments

Current language runtimes:

  • go: provides Delve
  • python: provides ptvsd, a debug adapter that can be used for VS Code and more, for Python 2.7 and 3.5+
  • nodejs: provides a node wrapper that propagates --inspect args to the application invokation
  • netcore: provides vsdbg for .NET Core

Distribution

The latest released images, which are used by skaffold debug, are available at:

gcr.io/k8s-skaffold/skaffold-debug-support

Images from a particular release are available at:

gcr.io/k8s-skaffold/skaffold-debug-support/<release>

Images from the latest commit to HEAD are available at our staging repository:

us-central1-docker.pkg.dev/k8s-skaffold/skaffold-staging/skaffold-debug-support

You can configure Skaffold to use a specific release or the staging repository with the following:

skaffold config set --global debug-helpers-registry <repository>

Contributing

See CONTRIBUTING for how to contribute!

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Run
called by 25
python/helper-image/launcher/cmd.go
exec
called by 4
nodejs/helper-image/wrapper.go
AsPairs
called by 3
python/helper-image/launcher/env.go
pathExists
called by 3
python/helper-image/launcher/launcher.go
stripInspectArgs
called by 3
nodejs/helper-image/wrapper.go
stripInspectArg
called by 3
nodejs/helper-image/wrapper.go
EnvFromPairs
called by 2
python/helper-image/launcher/env.go
AppendFilepath
called by 2
python/helper-image/launcher/env.go

Shape

Function 57
Method 28
Struct 4
TypeAlias 2
Interface 1
Route 1

Languages

Go97%
Python2%
TypeScript1%

Modules by API surface

python/helper-image/launcher/launcher.go16 symbols
python/helper-image/launcher/cmd_test.go16 symbols
nodejs/helper-image/wrapper.go16 symbols
nodejs/helper-image/wrapper_test.go12 symbols
python/helper-image/launcher/launcher_test.go9 symbols
python/helper-image/launcher/cmd.go6 symbols
python/test/pydevconnect/pydevconnect.go5 symbols
python/helper-image/launcher/env.go5 symbols
python/helper-image/launcher/env_test.go3 symbols
python/test/pythonapp/src/app.py2 symbols
go/test/goapp/main.go2 symbols
nodejs/test/nodejsapp/src/utils/index.js1 symbols

For agents

$ claude mcp add container-debug-support \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact