func main() { flag.Parse() var err error // TODO: Validate input flags. ks := Newkube2consul() if ks.consulClient, err = newConsulClient(*argConsulAgent); err != nil { glog.Fatalf("Failed to create Consul client - %v", err) } kubeClient, err := newKubeClient() if err != nil { glog.Fatalf("Failed to create a kubernetes client: %v", err) } glog.Info(kubeClient.ServerVersion()) glog.Info(kubeClient.Services(kapi.NamespaceAll).Get("sensu-core")) pods, err := kubeClient.Pods(api.NamespaceDefault).List(labels.Everything(), fields.Everything()) if err != nil { for pod := range pods.Items { glog.Info(pod) } } watchForServices(kubeClient, ks) watchForNodes(kubeClient, ks) glog.Info("Watchers running") select {} }
func init() { // TODO: caesarxuchao: rename this variable to validGroupVersions validAPIVersions := map[string]bool{ "v1": true, "extensions/v1beta1": true, } // The default list of supported api versions, in order of most preferred to the least. defaultSupportedVersions := "v1,extensions/v1beta1" // Env var KUBE_API_VERSIONS is a comma separated list of API versions that should be registered in the scheme. // The versions should be in the order of most preferred to the least. supportedVersions := os.Getenv("KUBE_API_VERSIONS") if supportedVersions == "" { supportedVersions = defaultSupportedVersions } versions := strings.Split(supportedVersions, ",") for _, version := range versions { // Verify that the version is valid. valid, ok := validAPIVersions[version] if !ok || !valid { // Not a valid API version. glog.Fatalf("invalid api version: %s in KUBE_API_VERSIONS: %s. List of valid API versions: %v", version, os.Getenv("KUBE_API_VERSIONS"), validAPIVersions) } RegisteredVersions = append(RegisteredVersions, version) } }
func GetHostname(hostnameOverride string) string { hostname := hostnameOverride if string(hostname) == "" { nodename, err := exec.Command("uname", "-n").Output() if err != nil { glog.Fatalf("Couldn't determine hostname: %v", err) } hostname = string(nodename) } return strings.ToLower(strings.TrimSpace(hostname)) }