Caution: this is work-in-progress
This repository gathers additional dependencies required to debug
particular language runtimes with skaffold debug
.
These dependencies are packaged as a set of container images suitable
for use as initContainer
s on a pod. When executed, a 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
- mount a volume on
/dbg
to hold the debugging support files - run one or more of these
initContainer
s to populate the volume - mount the volume on the applicable containers as
/dbg
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.7netcore
: providesvsdbg
for .NET Core
This directory includes a skaffold.yaml
for development of the
these duct-tape
initContainer images. Each image is expected to
be standalone and not require downloading content across the network.
To add support for a new language runtime, an image definition
should download the necessary files into the container image. The
image's entrypoint should then copy those files into place at
/dbg/<runtime>
. The image should be added to the skaffold.yaml
and referenced within test/k8s-test-installation.yaml
.