diff --git a/weed/command/filer.go b/weed/command/filer.go index 98e243a09..90eb04bee 100644 --- a/weed/command/filer.go +++ b/weed/command/filer.go @@ -280,9 +280,6 @@ func runFiler(cmd *Command, args []string) bool { filerS3Options.bindIp = f.bindIp } filerS3Options.localFilerSocket = f.localSocket - if *f.dataCenter != "" && *filerS3Options.dataCenter == "" { - filerS3Options.dataCenter = f.dataCenter - } // Set S3 metrics IP based on bind IP if not explicitly set if *filerS3Options.metricsHttpIp == "" { *filerS3Options.metricsHttpIp = *filerS3Options.bindIp @@ -324,9 +321,6 @@ func runFiler(cmd *Command, args []string) bool { if *filerSftpOptions.bindIp == "" { filerSftpOptions.bindIp = f.bindIp } - if *f.dataCenter != "" && *filerSftpOptions.dataCenter == "" { - filerSftpOptions.dataCenter = f.dataCenter - } go func(delay time.Duration) { time.Sleep(delay * time.Second) filerSftpOptions.startSftpServer() diff --git a/weed/command/mini.go b/weed/command/mini.go index 99a525537..853c8e007 100644 --- a/weed/command/mini.go +++ b/weed/command/mini.go @@ -1407,7 +1407,6 @@ func runMini(cmd *Command, args []string) bool { miniFilerOptions.dataCenter = miniDataCenter miniFilerOptions.rack = miniRack - miniS3Options.dataCenter = miniDataCenter miniFilerOptions.disableHttp = miniDisableHttp miniMasterOptions.disableHttp = miniDisableHttp diff --git a/weed/command/server.go b/weed/command/server.go index 501534854..0e4ac169a 100644 --- a/weed/command/server.go +++ b/weed/command/server.go @@ -175,6 +175,7 @@ func init() { s3Options.icebergCredentialDuration = cmdServer.Flag.Int("s3.iceberg.credentialDurationSeconds", 3600, "lifetime of credentials vended by the Iceberg catalog") s3Options.domainName = cmdServer.Flag.String("s3.domainName", "", "suffix of the host name in comma separated list, {bucket}.{domainName}") s3Options.allowedOrigins = cmdServer.Flag.String("s3.allowedOrigins", "*", "comma separated list of allowed origins") + s3Options.dataCenter = cmdServer.Flag.String("s3.dataCenter", "", "prefer to read and write to volumes in this data center") s3Options.tlsPrivateKey = cmdServer.Flag.String("s3.key.file", "", "path to the TLS private key file") s3Options.tlsCertificate = cmdServer.Flag.String("s3.cert.file", "", "path to the TLS certificate file") s3Options.tlsCACertificate = cmdServer.Flag.String("s3.cacert.file", "", "path to the TLS CA certificate file") @@ -210,6 +211,7 @@ func init() { sftpOptions.clientAliveCountMax = cmdServer.Flag.Int("sftp.clientAliveCountMax", 3, "maximum number of missed keep-alive messages before disconnecting") sftpOptions.userStoreFile = cmdServer.Flag.String("sftp.userStoreFile", "", "path to JSON file containing user credentials and permissions") sftpOptions.trustedUserCAKeysFile = cmdServer.Flag.String("sftp.trustedUserCAKeysFile", "", "path to a file with trusted user CA public keys (OpenSSH authorized_keys format); required when 'certificate' is in -sftp.authMethods") + sftpOptions.dataCenter = cmdServer.Flag.String("sftp.dataCenter", "", "prefer to read and write to volumes in this data center") sftpOptions.localSocket = cmdServer.Flag.String("sftp.localSocket", "", "default to /tmp/seaweedfs-sftp-.sock") iamOptions.port = cmdServer.Flag.Int("iam.port", 8111, "iam server http listen port") @@ -337,8 +339,6 @@ func runServer(cmd *Command, args []string) bool { filerOptions.rack = serverRack mqBrokerOptions.dataCenter = serverDataCenter mqBrokerOptions.rack = serverRack - s3Options.dataCenter = serverDataCenter - sftpOptions.dataCenter = serverDataCenter *filerOptions.disableHttp = *filerOptions.disableHttp || *serverDisableHttp masterOptions.disableHttp = serverDisableHttp diff --git a/weed/command/server_test.go b/weed/command/server_test.go index 333e01dfc..1ad35e148 100644 --- a/weed/command/server_test.go +++ b/weed/command/server_test.go @@ -11,3 +11,15 @@ func TestServerFilerDisableHttpFlag(t *testing.T) { t.Fatalf("-filer.disableHttp default = %q, want false", flag.DefValue) } } + +func TestServerGatewayDataCenterFlags(t *testing.T) { + for _, name := range []string{"s3.dataCenter", "sftp.dataCenter"} { + flag := cmdServer.Flag.Lookup(name) + if flag == nil { + t.Fatalf("weed server does not expose -%s", name) + } + if flag.DefValue != "" { + t.Fatalf("-%s default = %q, want empty", name, flag.DefValue) + } + } +}