in spinnaker/spinnaker.go [384:429]
func (s Spinnaker) clusters(appName string) spinnakerClusters {
url := s.clustersURL(appName)
resp, err := s.client.Get(url)
if err != nil {
log.Println("Error connecting to spinnaker clusters endpoint")
log.Println(url)
log.Fatalln(err)
}
defer func() {
if err := resp.Body.Close(); err != nil {
log.Printf("Error closing response body of %s: %v", url, err)
}
}()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println("Error retrieving spinnaker clusters for app", appName)
log.Println(url)
log.Println(string(body))
log.Fatalln(err)
}
// Example cluster output:
/*
{
"prod": [
"abc-prod"
],
"test": [
"abc-beta"
]
}
*/
var m spinnakerClusters
err = json.Unmarshal(body, &m)
if err != nil {
log.Println("Error parsing body when retrieving cluster info for", appName)
log.Println(url)
log.Println(string(body))
log.Fatalln(err)
}
return m
}