groot 5658f779fe Refine singlenode
Signed-off-by: groot <yihua.mo@zilliz.com>
2021-02-04 18:57:21 +08:00

60 lines
2.1 KiB
Go

package main
import (
"flag"
"os"
"strings"
"github.com/zilliztech/milvus-distributed/cmd/distributed/roles"
)
func initRoles(roles *roles.MilvusRoles) {
flag.BoolVar(&roles.EnableMaster, "master-service", false, "start as master service")
flag.BoolVar(&roles.EnableProxyService, "proxy-service", false, "start as proxy service")
flag.BoolVar(&roles.EnableProxyNode, "proxy-node", false, "start as proxy node")
flag.BoolVar(&roles.EnableQueryService, "query-service", false, "start as query service")
flag.BoolVar(&roles.EnableQueryNode, "query-node", false, "start as query node")
flag.BoolVar(&roles.EnableDataService, "data-service", false, "start as data service")
flag.BoolVar(&roles.EnableDataNode, "data-node", false, "start as data node")
flag.BoolVar(&roles.EnableIndexService, "index-service", false, "start as index service")
flag.BoolVar(&roles.EnableIndexNode, "index-node", false, "start as index node")
flag.BoolVar(&roles.EnableMsgStreamService, "msg-stream", false, "start as msg stream service")
flag.Parse()
if !roles.HasAnyRole() {
for _, e := range os.Environ() {
pairs := strings.SplitN(e, "=", 2)
if len(pairs) == 2 {
switch pairs[0] {
case "ENABLE_MASTER":
roles.EnableMaster = roles.EnvValue(pairs[1])
case "ENABLE_PROXY_SERVICE":
roles.EnableProxyService = roles.EnvValue(pairs[1])
case "ENABLE_PROXY_NODE":
roles.EnableProxyNode = roles.EnvValue(pairs[1])
case "ENABLE_QUERY_SERVICE":
roles.EnableQueryService = roles.EnvValue(pairs[1])
case "ENABLE_QUERY_NODE":
roles.EnableQueryNode = roles.EnvValue(pairs[1])
case "ENABLE_DATA_SERVICE":
roles.EnableDataService = roles.EnvValue(pairs[1])
case "ENABLE_DATA_NODE":
roles.EnableDataNode = roles.EnvValue(pairs[1])
case "ENABLE_INDEX_SERVICE":
roles.EnableIndexService = roles.EnvValue(pairs[1])
case "ENABLE_INDEX_NODE":
roles.EnableIndexNode = roles.EnvValue(pairs[1])
case "ENABLE_MSGSTREAM_SERVICE":
roles.EnableMsgStreamService = roles.EnvValue(pairs[1])
}
}
}
}
}
func main() {
var roles roles.MilvusRoles
initRoles(&roles)
roles.Run()
}