Skip to content

briandealwis/container-debug-support

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

experimental

Container Runtime Debugging Support (aka Duct Tape)

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 initContainers 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 initContainers to populate the volume
  • mount the volume on the applicable containers as /dbg

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.7
  • netcore: provides vsdbg for .NET Core

Development

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.

About

Language-runtime support files for debugging

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 44.2%
  • Dockerfile 31.4%
  • Batchfile 24.4%