Skip to content
Snippets Groups Projects
Select Git revision
  • 8ba665213f8c45dfbc44c862b3760fe51c24d5b6
  • master default protected
  • v1.15.0
  • v1.14.7
  • v1.14.6
  • v1.14.5
  • v1.14.4
  • v1.14.3
  • v1.14.2
  • v1.14.1
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.1
  • v1.12.0
  • v1.11.1
  • v1.11.0
  • v1.10.0
  • v1.9.2
  • v1.9.1
  • v1.9.0
22 results

new_module

Blame
  • main.go 3.61 KiB
    package main
    
    import (
    	"fmt"
    	"os"
    	"os/signal"
    	"syscall"
    
    	"github.com/Sirupsen/logrus"
    	"github.com/pkg/errors"
    	"github.com/urfave/cli"
    
    	pvController "github.com/kubernetes-incubator/external-storage/lib/controller"
    	clientset "k8s.io/client-go/kubernetes"
    	"k8s.io/client-go/rest"
    )
    
    var (
    	VERSION = "0.0.1"
    
    	FlagConfigFile         = "config"
    	FlagProvisionerName    = "provisioner-name"
    	EnvProvisionerName     = "PROVISIONER_NAME"
    	DefaultProvisionerName = "rancher.io/local-path"
    	FlagNamespace          = "namespace"
    	EnvNamespace           = "NAMESPACE"
    	DefaultNamespace       = "local-path-storage"
    )
    
    func cmdNotFound(c *cli.Context, command string) {
    	panic(fmt.Errorf("Unrecognized command: %s", command))
    }
    
    func onUsageError(c *cli.Context, err error, isSubcommand bool) error {
    	panic(fmt.Errorf("Usage error, please check your command"))
    }
    
    func RegisterShutdownChannel(done chan struct{}) {
    	sigs := make(chan os.Signal, 1)
    	signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
    	go func() {
    		sig := <-sigs
    		logrus.Infof("Receive %v to exit", sig)
    		close(done)
    	}()
    }
    
    func StartCmd() cli.Command {
    	return cli.Command{
    		Name: "start",
    		Flags: []cli.Flag{
    			cli.StringFlag{
    				Name:  FlagConfigFile,
    				Usage: "Required. Provisioner configuration file.",
    				Value: "",
    			},
    			cli.StringFlag{
    				Name:   FlagProvisionerName,
    				Usage:  "Required. Specify Provisioner name.",
    				EnvVar: EnvProvisionerName,
    				Value:  DefaultProvisionerName,
    			},
    			cli.StringFlag{
    				Name:   FlagNamespace,
    				Usage:  "Required. The namespace that Provisioner is running in",
    				EnvVar: EnvNamespace,
    				Value:  DefaultNamespace,
    			},
    		},
    		Action: func(c *cli.Context) {