本文整理汇总了Golang中github.com/spf13/pflag.Parse函数的典型用法代码示例。如果您正苦于以下问题:Golang Parse函数的具体用法?Golang Parse怎么用?Golang Parse使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Parse函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
var token = flag.String("token", "nil", "log token")
var logfile = flag.String("logfile", "/tmp/foo.txt", "log file to follow")
var seekInfoOnStart = &tail.SeekInfo{Offset: 0, Whence: os.SEEK_END}
flag.Parse()
fmt.Println("using token: ", *token)
if _, err := os.Stat(*logfile); os.IsNotExist(err) {
fmt.Printf("no such file or directory: %s\n", *logfile)
return
}
le, err := le_go.Connect(*token) // replace with token
if err != nil {
panic(err)
}
defer le.Close()
t, err := tail.TailFile(*logfile, tail.Config{Follow: true, ReOpen: true, Location: seekInfoOnStart, Logger: tail.DiscardingLogger})
if err == nil {
for line := range t.Lines {
le.Println(line.Text)
}
}
}
示例2: processVars
func processVars() {
flag.String("targetDirs", "", "Local directories to back up.")
flag.String("s3Host", "", "S3 host.")
flag.String("s3AccessKey", "", "S3 access key.")
flag.String("s3SecretKey", "", "S3 secret key.")
flag.String("s3BucketName", "", "S3 Bucket Name.")
flag.Int("remoteWorkerCount", 5, "Number of workers performing actions against S3 host.")
flag.Bool("dryRun", false, "Flag to indicate that this should be a dry run.")
flag.Parse()
viper.BindPFlag("targetDirs", flag.CommandLine.Lookup("targetDirs"))
viper.BindPFlag("s3Host", flag.CommandLine.Lookup("s3Host"))
viper.BindPFlag("s3AccessKey", flag.CommandLine.Lookup("s3AccessKey"))
viper.BindPFlag("s3SecretKey", flag.CommandLine.Lookup("s3SecretKey"))
viper.BindPFlag("s3BucketName", flag.CommandLine.Lookup("s3BucketName"))
viper.BindPFlag("remoteWorkerCount", flag.CommandLine.Lookup("remoteWorkerCount"))
viper.BindPFlag("dryRun", flag.CommandLine.Lookup("dryRun"))
viper.AutomaticEnv()
viper.SetEnvPrefix("PERSONAL_BACKUP")
viper.BindEnv("targetDirs")
viper.BindEnv("s3Host")
viper.BindEnv("s3AccessKey")
viper.BindEnv("s3SecretKey")
viper.BindEnv("s3BucketName")
viper.BindEnv("remoteWorkerCount")
viper.SetDefault("remoteWorkerCount", 5)
}
示例3: main
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
flag.Parse()
var out io.Writer
if *outputDest == "-" {
out = os.Stdout
} else {
file, err := os.Create(*outputDest)
if err != nil {
glog.Fatalf("Couldn't open %v: %v", *outputDest, err)
}
defer file.Close()
out = file
}
versionsForConversion := strings.Split(*versions, ",")
for _, version := range versionsForConversion {
generator := conversion.NewGenerator(api.Scheme.Raw())
// TODO(wojtek-t): Change the overwrites to a flag.
generator.OverwritePackage(version, "")
generator.OverwritePackage("api", "newer")
for _, knownType := range api.Scheme.KnownTypes(version) {
if err := generator.GenerateConversionsForType(version, knownType); err != nil {
glog.Errorf("error while generating conversion functions for %v: %v", knownType, err)
}
}
if err := generator.WriteConversionFunctions(out); err != nil {
glog.Fatalf("Error while writing conversion functions: %v", err)
}
}
}
示例4: main
func main() {
log.SetLevel(log.FatalLevel)
var coordinator, responseAddr, taskName string
var taskArgs []string
flags.StringVarP(&coordinator, "coordinator_url", "c", "", "url of the coordinator")
flags.StringVarP(&taskName, "task", "t", "", "task to run")
flags.StringSliceVarP(&taskArgs, "request_arg", "a", []string{}, fmt.Sprintf("task specific argument the form 'key%svalue'. can be set multiple times", argSep))
flags.StringVarP(&responseAddr, "response_addr", "r", ":4080", "address for response http handler to listen on")
flags.Parse()
args, err := parseTaskArgs(taskArgs)
dieOnError(err)
result, stream, respErr, err := startResponseServer(responseAddr)
dieOnError(err)
dieOnError(makeRequest(coordinator, taskName, responseAddr, args))
select {
case err := <-respErr:
dieOnError(err)
case result := <-result:
j, _ := json.Marshal(result)
fmt.Println(string(j))
case stream := <-stream:
dieOnError(acomm.Stream(os.Stdout, stream))
}
}
示例5: main
func main() {
arguments := args.Default()
flag.Parse()
dependencies := []string{
"k8s.io/kubernetes/pkg/fields",
"k8s.io/kubernetes/pkg/labels",
"k8s.io/kubernetes/pkg/watch",
"k8s.io/kubernetes/pkg/client/unversioned",
"k8s.io/kubernetes/pkg/client/testing/fake",
"k8s.io/kubernetes/pkg/apimachinery/registered",
}
if *test {
arguments.InputDirs = append(dependencies, []string{
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup",
}...)
// We may change the output path later.
arguments.OutputPackagePath = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput"
arguments.CustomArgs = generators.ClientGenArgs{
[]unversioned.GroupVersion{{"testgroup", ""}},
map[unversioned.GroupVersion]string{
unversioned.GroupVersion{"testgroup", ""}: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup",
},
"test_internalclientset",
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/",
false,
false,
}
} else {
inputPath, groupVersions, gvToPath, err := parseInputVersions()
if err != nil {
glog.Fatalf("Error: %v", err)
}
glog.Infof("going to generate clientset from these input paths: %v", inputPath)
arguments.InputDirs = append(inputPath, dependencies...)
// TODO: we need to make OutPackagePath a map[string]string. For example,
// we need clientset and the individual typed clients be output to different
// output path.
// We may change the output path later.
arguments.OutputPackagePath = "k8s.io/kubernetes/pkg/client/typed/generated"
arguments.CustomArgs = generators.ClientGenArgs{
groupVersions,
gvToPath,
*clientsetName,
*clientsetPath,
*clientsetOnly,
*fakeClient,
}
}
if err := arguments.Execute(
generators.NameSystems(),
generators.DefaultNameSystem(),
generators.Packages,
); err != nil {
glog.Fatalf("Error: %v", err)
}
}
示例6: Setup
func Setup() {
flag.Parse()
AppSettings.BindPFlag("port", flag.Lookup("port"))
AppSettings.BindPFlag("address", flag.Lookup("bind"))
AppSettings.BindPFlag("config", flag.Lookup("config"))
AppSettings.BindPFlag("env", flag.Lookup("env"))
S3Settings.BindPFlag("env", flag.Lookup("env"))
AppSettings.SetDefault("address", "0.0.0.0")
AppSettings.SetDefault("port", "5000")
AppSettings.SetDefault("env", "development")
AppSettings.SetDefault("config", "./config.yml")
S3Settings.SetDefault("env", "development")
configPath := filepath.Dir(AppSettings.GetString("config"))
configName := strings.Replace(filepath.Base(AppSettings.GetString("config")), filepath.Ext(AppSettings.GetString("config")), "", -1)
AppSettings.SetConfigName(configName)
AppSettings.AddConfigPath(configPath)
err := AppSettings.ReadInConfig()
if err != nil {
log.Fatal(fmt.Errorf("Fatal error config file: %s \n", err))
}
S3Settings.SetConfigName("s3")
S3Settings.AddConfigPath("./")
err = S3Settings.ReadInConfig()
if err != nil {
log.Fatal(fmt.Errorf("Fatal error config file: %s \n", err))
}
}
示例7: main
func main() {
// Set logging output to standard console out
log.SetOutput(os.Stdout)
pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
pflag.Parse()
flag.CommandLine.Parse(make([]string, 0)) // Init for glog calls in kubernetes packages
log.Printf("Starting HTTP server on port %d", *argPort)
apiserverClient, config, err := CreateApiserverClient(*argApiserverHost)
if err != nil {
handleFatalInitError(err)
}
versionInfo, err := apiserverClient.ServerVersion()
if err != nil {
handleFatalInitError(err)
}
log.Printf("Successful initial request to the apiserver, version: %s", versionInfo.String())
heapsterRESTClient, err := CreateHeapsterRESTClient(*argHeapsterHost, apiserverClient)
if err != nil {
log.Printf("Could not create heapster client: %s. Continuing.", err)
}
// Run a HTTP server that serves static public files from './public' and handles API calls.
// TODO(bryk): Disable directory listing.
http.Handle("/", MakeGzipHandler(CreateLocaleHandler()))
http.Handle("/api/", CreateHttpApiHandler(apiserverClient, heapsterRESTClient, config))
// TODO(maciaszczykm): Move to /appConfig.json as it was discussed in #640.
http.Handle("/api/appConfig.json", AppHandler(ConfigHandler))
log.Print(http.ListenAndServe(fmt.Sprintf(":%d", *argPort), nil))
}
示例8: main
func main() {
m := app.NewNetworkManager()
flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
m.AddFlags(flag.CommandLine)
flag.Parse()
m.Run(flag.CommandLine.Args())
}
示例9: init
func init() {
c := viper.New()
c.SetEnvPrefix("Q")
c.AutomaticEnv()
flag.StringVar(&configFile, "config", "", "")
flag.Parse()
c.BindPFlag("config", flag.Lookup("config"))
if c.GetString("config") == "" {
// Read from "default" configuration path
c.SetConfigName("config")
c.AddConfigPath("/etc/qurid")
c.AddConfigPath("$HOME/.quarid")
c.AddConfigPath(".")
} else {
c.SetConfigFile(c.GetString("config"))
}
if err := c.ReadInConfig(); err != nil {
panic(fmt.Errorf("Unable to read any configuration file: %s\n", err))
}
location, err := time.LoadLocation(c.GetString("timezone"))
if err == nil {
c.Set("timezone", location)
} else {
c.Set("timezone", time.UTC)
}
config = c
}
示例10: main
func main() {
pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
pflag.Parse()
log.Printf("Starting HTTP server on port %d", *argPort)
apiserverClient, config, err := CreateApiserverClient(*argApiserverHost)
if err != nil {
handleFatalInitError(err)
}
versionInfo, err := apiserverClient.ServerVersion()
if err != nil {
handleFatalInitError(err)
}
log.Printf("Successful initial request to the apiserver, version: %s", versionInfo.String())
heapsterRESTClient, err := CreateHeapsterRESTClient(*argHeapsterHost, apiserverClient)
if err != nil {
log.Print("Could not create heapster client: %s. Continuing.", err)
}
// Run a HTTP server that serves static public files from './public' and handles API calls.
// TODO(bryk): Disable directory listing.
http.Handle("/", http.FileServer(http.Dir("./public")))
http.Handle("/api/", CreateHttpApiHandler(apiserverClient, heapsterRESTClient, config))
// TODO(maciaszczykm): Move to /appConfig.json as it was discussed in #640.
http.Handle("/api/appConfig.json", AppHandler(configHandler))
log.Print(http.ListenAndServe(fmt.Sprintf(":%d", *argPort), nil))
}
示例11: AddFlags
// AddFlags adds flags for a specific LocalkubeServer
func AddFlags(s *localkube.LocalkubeServer) {
flag.BoolVar(&s.Containerized, "containerized", s.Containerized, "If kubelet should run in containerized mode")
flag.BoolVar(&s.EnableDNS, "enable-dns", s.EnableDNS, "If dns should be enabled")
flag.StringVar(&s.DNSDomain, "dns-domain", s.DNSDomain, "The cluster dns domain")
flag.IPVar(&s.DNSIP, "dns-ip", s.DNSIP, "The cluster dns IP")
flag.StringVar(&s.LocalkubeDirectory, "localkube-directory", s.LocalkubeDirectory, "The directory localkube will store files in")
flag.IPNetVar(&s.ServiceClusterIPRange, "service-cluster-ip-range", s.ServiceClusterIPRange, "The service-cluster-ip-range for the apiserver")
flag.IPVar(&s.APIServerAddress, "apiserver-address", s.APIServerAddress, "The address the apiserver will listen securely on")
flag.IntVar(&s.APIServerPort, "apiserver-port", s.APIServerPort, "The port the apiserver will listen securely on")
flag.IPVar(&s.APIServerInsecureAddress, "apiserver-insecure-address", s.APIServerInsecureAddress, "The address the apiserver will listen insecurely on")
flag.IntVar(&s.APIServerInsecurePort, "apiserver-insecure-port", s.APIServerInsecurePort, "The port the apiserver will listen insecurely on")
flag.BoolVar(&s.ShouldGenerateCerts, "generate-certs", s.ShouldGenerateCerts, "If localkube should generate it's own certificates")
flag.BoolVar(&s.ShowVersion, "version", s.ShowVersion, "If localkube should just print the version and exit.")
flag.Var(&s.RuntimeConfig, "runtime-config", "A set of key=value pairs that describe runtime configuration that may be passed to apiserver. apis/<groupVersion> key can be used to turn on/off specific api versions. apis/<groupVersion>/<resource> can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.")
flag.IPVar(&s.NodeIP, "node-ip", s.NodeIP, "IP address of the node. If set, kubelet will use this IP address for the node.")
flag.StringVar(&s.ContainerRuntime, "container-runtime", "", "The container runtime to be used")
flag.StringVar(&s.NetworkPlugin, "network-plugin", "", "The name of the network plugin")
// These two come from vendor/ packages that use flags. We should hide them
flag.CommandLine.MarkHidden("google-json-key")
flag.CommandLine.MarkHidden("log-flush-frequency")
// Parse them
flag.Parse()
}
示例12: main
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
flag.Parse()
var funcOut io.Writer
if *functionDest == "-" {
funcOut = os.Stdout
} else {
file, err := os.Create(*functionDest)
if err != nil {
glog.Fatalf("Couldn't open %v: %v", *functionDest, err)
}
defer file.Close()
funcOut = file
}
generator := pkg_runtime.NewConversionGenerator(api.Scheme.Raw())
// TODO(wojtek-t): Change the overwrites to a flag.
generator.OverwritePackage(*version, "")
for _, knownType := range api.Scheme.KnownTypes(*version) {
if err := generator.GenerateConversionsForType(*version, knownType); err != nil {
glog.Errorf("error while generating conversion functions for %v: %v", knownType, err)
}
}
if err := generator.WriteConversionFunctions(funcOut); err != nil {
glog.Fatalf("Error while writing conversion functions: %v", err)
}
if err := generator.RegisterConversionFunctions(funcOut); err != nil {
glog.Fatalf("Error while writing conversion functions: %v", err)
}
}
示例13: TestE2eNode
func TestE2eNode(t *testing.T) {
pflag.Parse()
if *runServicesMode {
// If run-services-mode is specified, only run services in current process.
services.RunE2EServices()
return
}
// If run-services-mode is not specified, run test.
rand.Seed(time.Now().UTC().UnixNano())
RegisterFailHandler(Fail)
reporters := []Reporter{}
reportDir := framework.TestContext.ReportDir
if reportDir != "" {
// Create the directory if it doesn't already exists
if err := os.MkdirAll(reportDir, 0755); err != nil {
glog.Errorf("Failed creating report directory: %v", err)
} else {
// Configure a junit reporter to write to the directory
junitFile := fmt.Sprintf("junit_%s%02d.xml", framework.TestContext.ReportPrefix, config.GinkgoConfig.ParallelNode)
junitPath := path.Join(reportDir, junitFile)
reporters = append(reporters, more_reporters.NewJUnitReporter(junitPath))
}
}
RunSpecsWithDefaultAndCustomReporters(t, "E2eNode Suite", reporters)
}
示例14: main
func main() {
flag.Parse()
if *version {
fmt.Printf("rabbit-herder %s\n", Version)
os.Exit(0)
}
apiHosts := herd.GetApiHosts(*apiPtr, *userPtr, *passwordPtr)
if len(apiHosts) > 1 {
fmt.Printf(
"API responded len(%d) with hosts: %s\n",
len(apiHosts),
strings.Trim(fmt.Sprint(apiHosts), "[]"),
)
fmt.Println("Already in a cluster!")
os.Exit(0)
}
ec2Hosts := herd.GetOtherHosts()
if len(ec2Hosts) == 0 {
fmt.Println("No hosts to join!")
} else {
fmt.Printf("Joining hosts: %s\n", ec2Hosts)
herd.JoinCluster(ec2Hosts, *dryRunP)
}
}
示例15: main
func main() {
flag.CommandLine.SetNormalizeFunc(util.WarnWordSepNormalizeFunc)
flag.Parse()
var err error
// TODO: Validate input flags.
domain := *argDomain
if !strings.HasSuffix(domain, ".") {
domain = fmt.Sprintf("%s.", domain)
}
ks := kube2sky{
domain: domain,
etcdMutationTimeout: *argEtcdMutationTimeout,
}
if ks.etcdClient, err = newEtcdClient(*argEtcdServer); err != nil {
glog.Fatalf("Failed to create etcd client - %v", err)
}
kubeClient, err := newKubeClient()
if err != nil {
glog.Fatalf("Failed to create a kubernetes client: %v", err)
}
ks.endpointsStore = watchEndpoints(kubeClient, &ks)
ks.servicesStore = watchForServices(kubeClient, &ks)
ks.podsStore = watchPods(kubeClient, &ks)
select {}
}