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
/dbgwith suitably transformed command-line in the entrypoint and arguments
Current language runtimes:
go: provides Delvepython: providesptvsd, a debug adapter that can be used for VS Code and more, for Python 2.7 and 3.5+nodejs: provides anodewrapper that propagates--inspectargs to the application invokationnetcore: providesvsdbgfor .NET Core
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>
See CONTRIBUTING for how to contribute!