package render import ( "bytes" "fmt" "strings" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/yaml" ) func renderObjects(objs []runtime.Object) (string, error) { var buf bytes.Buffer for i, obj := range objs { if i > 0 { if _, err := fmt.Fprintln(&buf, "---"); err != nil { return "", err } } b, err := renderObjectYAML(obj) if err != nil { return "", err } if _, err := buf.Write(b); err != nil { return "", err } } return buf.String(), nil } func renderObjectYAML(obj runtime.Object) ([]byte, error) { b, err := yaml.Marshal(obj) if err != nil { return nil, err } var m map[string]any if err := yaml.Unmarshal(b, &m); err != nil { return nil, err } delete(m, "status") return yaml.Marshal(m) } func imagePullSecrets(names []string) []corev1.LocalObjectReference { if len(names) == 0 { return nil } refs := make([]corev1.LocalObjectReference, 0, len(names)) for _, name := range names { name = strings.TrimSpace(name) if name == "" { continue } refs = append(refs, corev1.LocalObjectReference{ Name: name, }) } if len(refs) == 0 { return nil } return refs }