Skip to content

Instantly share code, notes, and snippets.

@micoli
Created November 24, 2018 11:29
Show Gist options
  • Save micoli/50d0d159efa2f4effd60ba56ef099b30 to your computer and use it in GitHub Desktop.
Save micoli/50d0d159efa2f4effd60ba56ef099b30 to your computer and use it in GitHub Desktop.
package main
import (
"bytes"
"encoding/json"
"fmt"
"html/template"
"io/ioutil"
"log"
"os/exec"
)
func main() {
tpl, err := ioutil.ReadFile("services/deploy1.yaml")
if err != nil {
fmt.Print(err)
}
check := func(err error) {
if err != nil {
log.Fatal(err)
}
}
t, err := template.New("webpage").Parse(string(tpl))
check(err)
data := struct {
Port int32
Items []string
}{
Port: 8080,
Items: []string{
"My photos",
"My blog",
},
}
var buffer bytes.Buffer
err = t.Execute(&buffer, data)
check(err)
fmt.Printf("%s", buffer.String())
cmd := exec.Command("echo", "-n", `{"Name": "Bob", "Age": 32}`)
stdout, err := cmd.StdoutPipe()
if err != nil {
log.Fatal(err)
}
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
var person struct {
Name string
Age int
}
if err := json.NewDecoder(stdout).Decode(&person); err != nil {
log.Fatal(err)
}
if err := cmd.Wait(); err != nil {
log.Fatal(err)
}
fmt.Printf("%s is %d years old\n", person.Name, person.Age)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment