func Init() { var err error dbc, err = dbus.New() if err != nil { glog.Fatalf("Failed to initialize dbus: %s", err) } hostname, err = os.Hostname() if err != nil { glog.Fatalf("Unable to retrieve hostname: %s", err) } packages.SetBucketName(*bucketName) loadResouces() }
func Init() { if *resourcesDir == "" { _, filename, _, _ := runtime.Caller(0) *resourcesDir = filepath.Join(filepath.Dir(filename), "../..") } loadTemplates() // Read toml config file. if _, err := toml.DecodeFile(*configFilename, &config); err != nil { glog.Fatalf("Failed to decode config file: %s", err) } serverNames = make([]string, 0, len(config.Servers)) for k, _ := range config.Servers { serverNames = append(serverNames, k) } var err error if client, err = auth.NewDefaultJWTServiceAccountClient(auth.SCOPE_FULL_CONTROL, auth.SCOPE_GCE); err != nil { glog.Fatalf("Failed to create authenticated HTTP client: %s", err) } fastClient = NewFastTimeoutClient() if store, err = storage.New(client); err != nil { glog.Fatalf("Failed to create storage service client: %s", err) } if comp, err = compute.New(client); err != nil { glog.Fatalf("Failed to create compute service client: %s", err) } ip, err = NewIPAddresses(comp) if err != nil { glog.Fatalf("Failed to load IP addresses at startup: %s", err) } packages.SetBucketName(*bucketName) packageInfo, err = packages.NewAllInfo(client, store, serverNames) if err != nil { glog.Fatalf("Failed to create packages.AllInfo at startup: %s", err) } }