func setupAppConfig(f *clientcmd.Factory, c *cobra.Command, args []string, config *newcmd.AppConfig) error { namespace, err := f.DefaultNamespace() if err != nil { return err } dockerClient, _, err := dockerutil.NewHelper().GetClient() if err == nil { if err = dockerClient.Ping(); err == nil { config.SetDockerClient(dockerClient) } } if err != nil { glog.V(2).Infof("No local Docker daemon detected: %v", err) } osclient, _, err := f.Clients() if err != nil { return err } config.SetOpenShiftClient(osclient, namespace) unknown := config.AddArguments(args) if len(unknown) != 0 { return cmdutil.UsageError(c, "Did not recognize the following arguments: %v", unknown) } return nil }
func StartNode(nodeConfig configapi.NodeConfig) error { config, err := kubernetes.BuildKubernetesNodeConfig(nodeConfig) if err != nil { return err } RunSDNController(config, nodeConfig) config.EnsureVolumeDir() config.EnsureDocker(docker.NewHelper()) config.RunProxy() config.RunKubelet() return nil }
// run is responsible for preparing environment for actual build. // It accepts factoryFunc and an ordered array of SCMAuths. func run(builderFactory factoryFunc, scmAuths []scmauth.SCMAuth) { client, endpoint, err := dockerutil.NewHelper().GetClient() if err != nil { glog.Fatalf("Error obtaining docker client: %v", err) } buildStr := os.Getenv("BUILD") build := api.Build{} if err := latest.Codec.DecodeInto([]byte(buildStr), &build); err != nil { glog.Fatalf("Unable to parse build: %v", err) } var ( authcfg docker.AuthConfiguration authPresent bool ) output := true if len(build.Parameters.Output.DockerImageReference) == 0 { if build.Parameters.Output.To != nil { glog.Fatalf("Cannot determine an output image reference. Make sure a registry service is running.") } output = false } if output { authcfg, authPresent = dockercfg.NewHelper().GetDockerAuth( build.Parameters.Output.DockerImageReference, dockercfg.PullAuthType, ) } if build.Parameters.Source.SourceSecret != nil { if err := setupSourceSecret(build.Parameters.Source.SourceSecret.Name, scmAuths); err != nil { glog.Fatalf("Cannot setup secret file for accessing private repository: %v", err) } } b := builderFactory(client, endpoint, authcfg, authPresent, &build) if err = b.Build(); err != nil { glog.Fatalf("Build error: %v", err) } if !output { glog.Warning("Build does not have an Output defined, no output image was pushed to a registry.") } }