Skip to content

Instantly share code, notes, and snippets.

@dlorenc
Created April 2, 2018 16:40
Show Gist options
  • Save dlorenc/2ac000a25656447a0c06e79150407b4c to your computer and use it in GitHub Desktop.
Save dlorenc/2ac000a25656447a0c06e79150407b4c to your computer and use it in GitHub Desktop.
package main
import (
"bufio"
"fmt"
"io"
"log"
"strings"
"k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/client-go/kubernetes/scheme"
)
const y = `
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: baz
namespace: bat
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: foo
namespace: bar
`
func main() {
b := bufio.NewReader(strings.NewReader(y))
r := yaml.NewYAMLReader(b)
for {
doc, err := r.Read()
if err == io.EOF {
break
}
if err != nil {
log.Fatal(err)
}
d := scheme.Codecs.UniversalDeserializer()
obj, _, err := d.Decode(doc, nil, nil)
if err != nil {
log.Fatalf("could not decode yaml: %s\n%s", y, err)
}
fmt.Println(obj)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment