seaweedfs/weed/command/shell.go

48 lines
1.2 KiB
Go
Raw Normal View History

package command
2012-08-24 03:56:09 +00:00
import (
2019-10-25 14:44:37 +00:00
"fmt"
"github.com/chrislusf/seaweedfs/weed/security"
"github.com/chrislusf/seaweedfs/weed/shell"
"github.com/chrislusf/seaweedfs/weed/util"
"github.com/spf13/viper"
)
var (
2019-10-25 14:45:12 +00:00
shellOptions shell.ShellOptions
2019-10-25 14:44:37 +00:00
shellInitialFilerUrl *string
2012-08-24 03:56:09 +00:00
)
func init() {
2013-01-17 08:56:56 +00:00
cmdShell.Run = runShell // break init cycle
shellOptions.Masters = cmdShell.Flag.String("master", "localhost:9333", "comma-separated master servers")
2019-10-25 14:44:37 +00:00
shellInitialFilerUrl = cmdShell.Flag.String("filer.url", "http://localhost:8888/", "initial filer url")
2012-08-24 03:56:09 +00:00
}
var cmdShell = &Command{
2013-01-17 08:56:56 +00:00
UsageLine: "shell",
Short: "run interactive administrative commands",
Long: `run interactive administrative commands.
2012-08-24 03:56:09 +00:00
`,
}
func runShell(command *Command, args []string) bool {
util.LoadConfiguration("security", false)
shellOptions.GrpcDialOption = security.LoadClientTLS(viper.Sub("grpc"), "client")
2019-10-25 14:44:37 +00:00
var filerPwdErr error
shellOptions.FilerHost, shellOptions.FilerPort, shellOptions.Directory, filerPwdErr = util.ParseFilerUrl(*shellInitialFilerUrl)
2019-10-25 14:44:37 +00:00
if filerPwdErr != nil {
fmt.Printf("failed to parse url filer.url=%s : %v\n", *shellInitialFilerUrl, filerPwdErr)
return false
}
shell.RunShell(shellOptions)
return true
2019-10-25 14:44:37 +00:00
}