Skip to content

Instantly share code, notes, and snippets.

@armandocerna
Created August 7, 2016 03:24
Show Gist options
  • Save armandocerna/27e40082da2b00f33a013ba96c8ce691 to your computer and use it in GitHub Desktop.
Save armandocerna/27e40082da2b00f33a013ba96c8ce691 to your computer and use it in GitHub Desktop.
package main
import (
"encoding/json"
"fmt"
flag "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/client/restclient"
client "k8s.io/kubernetes/pkg/client/unversioned"
kubectl_util "k8s.io/kubernetes/pkg/kubectl/cmd/util"
// "log"
// "net/http"
"os"
)
var (
flags = flag.NewFlagSet("", flag.ContinueOnError)
inCluster = flags.Bool("use-kubernetes-cluster-service", false, `If true, use the built in kubernetes
cluster for creating the client`)
host = flags.String("host", "",
`K8s host`)
insecure = flags.Bool("insecure", false,
`Enforce CA check for cert`)
)
type itemdata [][]string
func getPods() {
clientConfig := kubectl_util.DefaultClientConfig(flags)
// flags.Parse(os.Args)
config := &restclient.Config{
Host: *host,
Insecure: *insecure,
}
var err error
var datas itemdata
config, err = clientConfig.ClientConfig()
check(err)
kubeClient, err := client.New(config)
check(err)
podlist, err := kubeClient.Pods(api.NamespaceDefault).List(api.ListOptions{})
check(err)
json.Unmarshal(podlist, &datas)
fmt.Println("This prints")
for i := range datas {
fmt.Println(datas[i][1])
}
// fmt.Println(podlist[0])
// fmt.Fprintf(w, "Pods: %s\n", podlist.Items)
// fmt.Fprintf(w, "Connection: %s\n", html.EscapeString(r.kubeClient))
}
func check(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
func main() {
// http.HandleFunc("/", getPods) // set route to get pods
// err := http.ListenAndServe(":9090", nil)
// check(err)
getPods()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment