aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorchrislu <chrislu@roblox.com>2023-11-05 10:18:03 -0800
committerchrislu <chrislu@roblox.com>2023-11-05 10:18:03 -0800
commitad7f79db7cab8d13f65c2cdcf38f6b9c0415eecf (patch)
tree54d38e21031696ad36436288c8c56ca1901e3451 /cmd
parent82ab464ce0afb19ceafddbade6fcaaec433ffc0f (diff)
parent51468113a2b01b6826c2d72dcc30b2c567be03cb (diff)
downloadseaweedfs-csi-driver-ad7f79db7cab8d13f65c2cdcf38f6b9c0415eecf.tar.xz
seaweedfs-csi-driver-ad7f79db7cab8d13f65c2cdcf38f6b9c0415eecf.zip
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs-csi-driver
Diffstat (limited to 'cmd')
-rw-r--r--cmd/seaweedfs-csi-driver/main.go33
1 files changed, 27 insertions, 6 deletions
diff --git a/cmd/seaweedfs-csi-driver/main.go b/cmd/seaweedfs-csi-driver/main.go
index eac42ec..f749db6 100644
--- a/cmd/seaweedfs-csi-driver/main.go
+++ b/cmd/seaweedfs-csi-driver/main.go
@@ -4,6 +4,7 @@ import (
"fmt"
"log"
"os"
+ "strings"
"github.com/seaweedfs/seaweedfs-csi-driver/pkg/datalocality"
"github.com/seaweedfs/seaweedfs-csi-driver/pkg/driver"
@@ -12,9 +13,9 @@ import (
)
var (
- runNode = flag.Bool("node", false, "run node server")
- runController = flag.Bool("controller", false, "run controller server")
- enableAttacher = flag.Bool("attacher", false, "enable attacher")
+ components = flag.String("components", "controller,node", "components to run, by default both controller and node")
+ enableAttacher = flag.Bool("attacher", true, "enable attacher, by default enabled for backward compatibility")
+ driverName = flag.String("driverName", "seaweedfs-csi-driver", "CSI driver name, used by CSIDriver and StorageClass")
filer = flag.String("filer", "localhost:8888", "filer server")
endpoint = flag.String("endpoint", "unix://tmp/seaweedfs-csi.sock", "CSI endpoint to accept gRPC calls")
@@ -55,12 +56,32 @@ func main() {
os.Exit(1)
}
+ runNode := false
+ runController := false
+ for _, c := range strings.Split(*components, ",") {
+ switch c {
+ case "controller":
+ runController = true
+ case "node":
+ runNode = true
+ default:
+ glog.Errorf("invalid component: %s", c)
+ os.Exit(1)
+ }
+ }
+
+ glog.Infof("will run node: %v, controller: %v, attacher: %v", runNode, runController, *enableAttacher)
+ if !runNode && !runController {
+ glog.Errorf("at least one component should be enabled: either controller or node (use --components=...)")
+ os.Exit(1)
+ }
+
glog.Infof("connect to filer %s", *filer)
- drv := driver.NewSeaweedFsDriver(*filer, *nodeID, *endpoint, *enableAttacher)
+ drv := driver.NewSeaweedFsDriver(*driverName, *filer, *nodeID, *endpoint, *enableAttacher)
- drv.RunNode = *runNode
- drv.RunController = *runController
+ drv.RunNode = runNode
+ drv.RunController = runController
drv.ConcurrentWriters = *concurrentWriters
drv.CacheCapacityMB = *cacheCapacityMB