Skip to content
Snippets Groups Projects
Select Git revision
  • de7dd11d970249d5ef92f7dc9850a963a63cb665
  • main default protected
2 results

rsync-sync.excludes

Blame
  • main.go 5.96 KiB
    package main
    
    import (
    	"fmt"
    	"os"
    	"os/signal"
    	"path/filepath"
    	"syscall"
    
    	"github.com/Sirupsen/logrus"
    	"github.com/pkg/errors"
    	"github.com/urfave/cli"
    
    	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    	clientset "k8s.io/client-go/kubernetes"
    	"k8s.io/client-go/rest"
    	"k8s.io/client-go/tools/clientcmd"
    	pvController "sigs.k8s.io/sig-storage-lib-external-provisioner/controller"
    )
    
    var (
    	VERSION = "0.0.1"
    
    	FlagConfigFile            = "config"
    	FlagProvisionerName       = "provisioner-name"
    	EnvProvisionerName        = "PROVISIONER_NAME"
    	DefaultProvisionerName    = "rancher.io/local-path"
    	FlagNamespace             = "namespace"
    	EnvNamespace              = "POD_NAMESPACE"
    	DefaultNamespace          = "local-path-storage"
    	FlagHelperImage           = "helper-image"
    	EnvHelperImage            = "HELPER_IMAGE"
    	DefaultHelperImage        = "busybox"
    	FlagKubeconfig            = "kubeconfig"
    	DefaultKubeConfigFilePath = ".kube/config"
    	DefaultConfigFileKey      = "config.json"
    	DefaultConfigMapName      = "local-path-config"
    	FlagConfigMapName         = "configmap-name"
    )
    
    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.",