diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2021-04-06 01:58:30 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-06 01:58:30 -0700 |
| commit | e1fc78ed46960ed4915b14bba4c927535353e1b7 (patch) | |
| tree | 00ccc6e6b3b8e7e2d8a7461e454726f46d16816a /weed/command/filer.go | |
| parent | 100ed773870b8826352f25e0cd72f60a591ecfa8 (diff) | |
| parent | f5f8eec8e2f75045d7cc8685dc5fb86508700d2b (diff) | |
| download | seaweedfs-e1fc78ed46960ed4915b14bba4c927535353e1b7.tar.xz seaweedfs-e1fc78ed46960ed4915b14bba4c927535353e1b7.zip | |
Merge pull request #1969 from kmlebedev/iamapipr
Iam Api Server
Diffstat (limited to 'weed/command/filer.go')
| -rw-r--r-- | weed/command/filer.go | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/weed/command/filer.go b/weed/command/filer.go index 1b31dbcc7..08385e62c 100644 --- a/weed/command/filer.go +++ b/weed/command/filer.go @@ -25,6 +25,8 @@ var ( filerS3Options S3Options filerStartWebDav *bool filerWebDavOptions WebDavOption + filerStartIam *bool + filerIamOptions IamOptions ) type FilerOptions struct { @@ -91,6 +93,10 @@ func init() { filerWebDavOptions.tlsCertificate = cmdFiler.Flag.String("webdav.cert.file", "", "path to the TLS certificate file") filerWebDavOptions.cacheDir = cmdFiler.Flag.String("webdav.cacheDir", os.TempDir(), "local cache directory for file chunks") filerWebDavOptions.cacheSizeMB = cmdFiler.Flag.Int64("webdav.cacheCapacityMB", 1000, "local cache capacity in MB") + + // start iam on filer + filerStartIam = cmdFiler.Flag.Bool("iam", false, "whether to start IAM service") + filerIamOptions.port = cmdFiler.Flag.Int("iam.port", 8111, "iam server http listen port") } var cmdFiler = &Command{ @@ -121,22 +127,33 @@ func runFiler(cmd *Command, args []string) bool { go stats_collect.StartMetricsServer(*f.metricsHttpPort) + filerAddress := fmt.Sprintf("%s:%d", *f.ip, *f.port) + startDelay := time.Duration(2) if *filerStartS3 { - filerAddress := fmt.Sprintf("%s:%d", *f.ip, *f.port) filerS3Options.filer = &filerAddress go func() { - time.Sleep(2 * time.Second) + time.Sleep(startDelay * time.Second) filerS3Options.startS3Server() }() + startDelay++ } if *filerStartWebDav { - filerAddress := fmt.Sprintf("%s:%d", *f.ip, *f.port) filerWebDavOptions.filer = &filerAddress go func() { - time.Sleep(2 * time.Second) + time.Sleep(startDelay * time.Second) filerWebDavOptions.startWebDav() }() + startDelay++ + } + + if *filerStartIam { + filerIamOptions.filer = &filerAddress + filerIamOptions.masters = f.masters + go func() { + time.Sleep(startDelay * time.Second) + filerIamOptions.startIamServer() + }() } f.startFiler() |
