in images/controller/cmd/reservation_broker/reservation_broker.go [514:552]
func updatePodForUser(app broker.AppConfigSpec, user, sessionKey, pod string, objectTypes []string) error {
// Remove label from the pod that releases it from the K8S Deployment controller.
cmd := exec.Command("sh", "-c", fmt.Sprintf("kubectl label pod -n %s %s app.kubernetes.io/managed-by=reservation-broker --overwrite=true 1>&2", app.Name, pod))
stdoutStderr, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("%s\n%v", stdoutStderr, err)
}
// Add broker user annotation
cmd = exec.Command("sh", "-c", fmt.Sprintf("kubectl annotate pod --overwrite=true -n %s %s 'app.broker/user=%s' 1>&2", app.Name, pod, user))
stdoutStderr, err = cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("%s\n%v", stdoutStderr, err)
}
// Add session key annotation
cmd = exec.Command("sh", "-c", fmt.Sprintf("kubectl annotate pod --overwrite=true -n %s %s 'app.broker/session-key=%s' 1>&2", app.Name, pod, sessionKey))
stdoutStderr, err = cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("%s\n%v", stdoutStderr, err)
}
// Add annotation with found object types
cmd = exec.Command("sh", "-c", fmt.Sprintf("kubectl annotate pod --overwrite=true -n %s %s 'app.broker/last-applied-object-types=%s' 1>&2", app.Name, pod, strings.Join(objectTypes, ",")))
stdoutStderr, err = cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("%s\n%v", stdoutStderr, err)
}
// Add label for instance ID
instanceID := fmt.Sprintf("%s-%s", app.Name, broker.MakePodID(user))
cmd = exec.Command("sh", "-c", fmt.Sprintf("kubectl label pod -n %s %s app.kubernetes.io/instance=%s --overwrite=true 1>&2", app.Name, pod, instanceID))
stdoutStderr, err = cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("%s\n%v", stdoutStderr, err)
}
return nil
}