mirror of
https://github.com/minio/minio.git
synced 2025-11-07 12:52:58 -05:00
Service a new WebUI server at port 8081.
It is provided to avoid the router clutter on the Object API end. This is just a first cut sample we are going to build on top of this the new management console UI. General interest comes from subsequently writing a small UI to generate `AccessKey` and `SecretKey` to build authorization layer.
This commit is contained in:
95
main.go
95
main.go
@@ -8,15 +8,70 @@ import (
|
||||
"github.com/minio-io/minio/pkg/server"
|
||||
)
|
||||
|
||||
func getStorageType(input string) server.StorageType {
|
||||
switch {
|
||||
case input == "file":
|
||||
return server.FileStorage
|
||||
case input == "inmemory":
|
||||
return server.InMemoryStorage
|
||||
default:
|
||||
{
|
||||
log.Println("Unknown storage type:", input)
|
||||
log.Println("Choosing default storage type as 'file'..")
|
||||
return server.FileStorage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func runCmd(c *cli.Context) {
|
||||
storageTypeStr := c.String("storage-type")
|
||||
apiaddress := c.String("api-address")
|
||||
webaddress := c.String("web-address")
|
||||
certFile := c.String("cert")
|
||||
keyFile := c.String("key")
|
||||
if (certFile != "" && keyFile == "") || (certFile == "" && keyFile != "") {
|
||||
log.Fatal("Both certificate and key must be provided to enable https")
|
||||
}
|
||||
tls := (certFile != "" && keyFile != "")
|
||||
storageType := getStorageType(storageTypeStr)
|
||||
var serverConfigs []server.ServerConfig
|
||||
apiServerConfig := server.ServerConfig{
|
||||
Address: apiaddress,
|
||||
Tls: tls,
|
||||
CertFile: certFile,
|
||||
KeyFile: keyFile,
|
||||
ApiType: server.MinioApi{
|
||||
StorageType: storageType,
|
||||
},
|
||||
}
|
||||
webUiServerConfig := server.ServerConfig{
|
||||
Address: webaddress,
|
||||
Tls: false,
|
||||
CertFile: "",
|
||||
KeyFile: "",
|
||||
ApiType: server.WebUIApi{
|
||||
Websocket: false,
|
||||
},
|
||||
}
|
||||
serverConfigs = append(serverConfigs, apiServerConfig)
|
||||
serverConfigs = append(serverConfigs, webUiServerConfig)
|
||||
server.Start(serverConfigs)
|
||||
}
|
||||
|
||||
func main() {
|
||||
app := cli.NewApp()
|
||||
app.Name = "minio"
|
||||
app.Usage = ""
|
||||
app.Flags = []cli.Flag{
|
||||
cli.StringFlag{
|
||||
Name: "http-address,a",
|
||||
Name: "api-address,a",
|
||||
Value: ":8080",
|
||||
Usage: "http address to listen on",
|
||||
Usage: "address for incoming API requests",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "web-address,w",
|
||||
Value: ":8081",
|
||||
Usage: "address for incoming Management UI requests",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "cert,c",
|
||||
@@ -34,40 +89,6 @@ func main() {
|
||||
Usage: "valid entries: file,inmemory",
|
||||
},
|
||||
}
|
||||
app.Action = func(c *cli.Context) {
|
||||
storageTypeStr := c.String("storage-type")
|
||||
address := c.String("http-address")
|
||||
log.Println(address)
|
||||
certFile := c.String("cert")
|
||||
keyFile := c.String("key")
|
||||
if (certFile != "" && keyFile == "") || (certFile == "" && keyFile != "") {
|
||||
log.Fatal("Both certificate and key must be provided to enable https")
|
||||
}
|
||||
tls := (certFile != "" && keyFile != "")
|
||||
storageType := getStorageType(storageTypeStr)
|
||||
serverConfig := server.ServerConfig{
|
||||
Address: address,
|
||||
Tls: tls,
|
||||
CertFile: certFile,
|
||||
KeyFile: keyFile,
|
||||
StorageType: storageType,
|
||||
}
|
||||
server.Start(serverConfig)
|
||||
}
|
||||
app.Action = runCmd
|
||||
app.Run(os.Args)
|
||||
}
|
||||
|
||||
func getStorageType(input string) server.StorageType {
|
||||
switch {
|
||||
case input == "file":
|
||||
return server.FileStorage
|
||||
case input == "inmemory":
|
||||
return server.InMemoryStorage
|
||||
default:
|
||||
{
|
||||
log.Println("Unknown storage type:", input)
|
||||
log.Println("Choosing default storage type as 'file'..")
|
||||
return server.FileStorage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user