Slide 20
Slide 20 text
// Run lists all available debugs on a user's KUBECONFIG or updates the
// current context based on a provided debug.
func (o *DebugOptions) Run() error {
(...)
err := r.Visit(func(info *resource.Info, err error) error {
(...)
pods := o.clientset.CoreV1().Pods(info.Namespace)
ec, err := pods.GetEphemeralContainers(info.Name, metav1.GetOptions{})
klog.V(2).Infof("existing ephemeral containers: %v", ec.EphemeralContainers)
ec.EphemeralContainers = append(ec.EphemeralContainers, o.debugContainer)
ec, err = pods.UpdateEphemeralContainers(info.Name, ec)
(...)
https://github.com/verb/kubectl-debug/blob/v0.1.1/pkg/cmd/debug.go