Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6.1-code-conventions

pull/2148/head
withchao 2 years ago
commit 809e3786c1

@ -593,11 +593,12 @@ linters-settings:
- name: exported - name: exported
severity: warning severity: warning
- name: var-naming - name: var-naming
arguments: [ ["ID", "HTTP", "URL", "URI", "URL", "URI", "API", "APIKey", "Token", "TokenID", "TokenSecret", "TokenKey", "TokenSecret", "JWT", "JWTToken", "JWTTokenID", "JWTTokenSecret", "JWTTokenKey", "JWTTokenSecret", "OAuth", "OAuthToken", "OAuth" ] ] arguments: [ [ "OpenIM"] ]
# arguments: [ ["ID", "HTTP", "URL", "URI", "API", "APIKey", "Token", "TokenID", "TokenSecret", "TokenKey", "TokenSecret", "JWT", "JWTToken", "JWTTokenID", "JWTTokenSecret", "JWTTokenKey", "JWTTokenSecret", "OAuth", "OAuthToken", "RPC" ] ]
- name: atomic - name: atomic
- name: line-length-limit - name: line-length-limit
severity: error severity: error
arguments: [80] arguments: [200]
- name: unhandled-error - name: unhandled-error
arguments : ["fmt.Printf", "myFunction"] arguments : ["fmt.Printf", "myFunction"]

@ -82,6 +82,7 @@ func (cli *K8sDR) GetUserIdHashGatewayHost(ctx context.Context, userId string) (
} }
return host, err return host, err
} }
func getSelfHost(ctx context.Context, gatewayName string) string { func getSelfHost(ctx context.Context, gatewayName string) string {
port := 88 port := 88
instance := "openimserver" instance := "openimserver"

@ -16,18 +16,9 @@
#FIXME This script is the startup script for multiple servers. #FIXME This script is the startup script for multiple servers.
#FIXME The full names of the shell scripts that need to be started are placed in the `need_to_start_server_shell` array. #FIXME The full names of the shell scripts that need to be started are placed in the `need_to_start_server_shell` array.
#!/bin/bash
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${OPENIM_ROOT}/scripts/install/common.sh" source "${OPENIM_ROOT}/scripts/install/common.sh"
# Function to execute the scripts. # Function to execute the scripts.
function execute_start_scripts() { function execute_start_scripts() {
for script_path in "${OPENIM_SERVER_SCRIPT_START_LIST[@]}"; do for script_path in "${OPENIM_SERVER_SCRIPT_START_LIST[@]}"; do
@ -58,37 +49,29 @@ function execute_start_scripts() {
done done
} }
if openim::util::is_running_in_container; then if openim::util::is_running_in_container; then
exec >> ${DOCKER_LOG_FILE} 2>&1 exec >> ${DOCKER_LOG_FILE} 2>&1
fi fi
openim::golang::check_openim_binaries openim::golang::check_openim_binaries
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
openim::log::error "OpenIM binaries are not found. Please run 'make build' to build binaries." openim::log::error "OpenIM binaries are not found. Please run 'make build' to build binaries."
"${OPENIM_ROOT}"/scripts/build-all-service.sh "${OPENIM_ROOT}"/scripts/build-all-service.sh
fi fi
"${OPENIM_ROOT}"/scripts/init-config.sh --skip "${OPENIM_ROOT}"/scripts/init-config.sh --skip
#openim::log::print_blue "Execute the following script in sequence: ${OPENIM_SERVER_SCRIPTARIES[@]}" #openim::log::print_blue "Execute the following script in sequence: ${OPENIM_SERVER_SCRIPTARIES[@]}"
# TODO Prelaunch tools, simple for now, can abstract functions later # TODO Prelaunch tools, simple for now, can abstract functions later
TOOLS_START_SCRIPTS_PATH=${START_SCRIPTS_PATH}/openim-tools.sh TOOLS_START_SCRIPTS_PATH=${START_SCRIPTS_PATH}/openim-tools.sh
openim::log::status "Start the pre-start tools:" openim::log::status "Start the pre-start tools:"
# if ! ${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start; then
if ! ${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start; then # openim::log::error "Start the pre-start tools, aborting!"
openim::log::error "Start the pre-start tools, aborting!" # exit 1
exit 1 # fi
fi
openim::log::colorless "pre-start has been successfully completed!" openim::log::colorless "pre-start has been successfully completed!"
@ -119,11 +102,8 @@ if [[ $? -ne 0 ]]; then
exit 1 exit 1
fi fi
openim::log::status "Start the post-start tools:" openim::log::status "Start the post-start tools:"
${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start # ${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start
openim::log::status "post-start has been successfully completed!" openim::log::status "post-start has been successfully completed!"
openim::util::find_ports_for_all_services ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]} openim::util::find_ports_for_all_services ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}
openim::util::find_ports_for_all_services ${OPENIM_MSGTRANSFER_BINARY[@]} openim::util::find_ports_for_all_services ${OPENIM_MSGTRANSFER_BINARY[@]}

@ -16,7 +16,6 @@ package main
import ( import (
"context" "context"
"flag"
"fmt" "fmt"
"os" "os"
"strconv" "strconv"
@ -25,53 +24,56 @@ import (
"github.com/openimsdk/open-im-server/v3/tools/component/checks" "github.com/openimsdk/open-im-server/v3/tools/component/checks"
"github.com/openimsdk/open-im-server/v3/tools/component/util" "github.com/openimsdk/open-im-server/v3/tools/component/util"
"github.com/openimsdk/tools/log" "github.com/openimsdk/tools/log"
"github.com/spf13/pflag"
"gopkg.in/yaml.v2" "github.com/spf13/viper"
"github.com/openimsdk/tools/errs"
"github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/config"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/s3/minio" "github.com/openimsdk/open-im-server/v3/pkg/common/db/s3/minio"
) )
const ( const defaultCfgPath = "./config.yaml"
// defaultCfgPath is the default path of the configuration file. const maxRetry = 100
defaultCfgPath = "../../../../../config/config.yaml"
maxRetry = 100
)
var ( func initConfig(cfgPath string) error {
cfgPath = flag.String("c", defaultCfgPath, "Path to the configuration file") viper.SetConfigType("yaml")
) viper.AddConfigPath(".")
viper.SetConfigName("config")
viper.AddConfigPath("../../../../../config")
func initCfg() (*config.GlobalConfig, error) { viper.SetEnvPrefix("openim")
data, err := os.ReadFile(*cfgPath) viper.AutomaticEnv()
if err != nil {
return nil, errs.WrapMsg(err, "ReadFile unmarshal failed") if cfgPath != "" {
viper.SetConfigFile(cfgPath)
} else if envPath, ok := os.LookupEnv("OPENIM_CONFIG"); ok && envPath != "" {
viper.SetConfigFile(envPath)
} }
conf := config.NewGlobalConfig() if err := viper.ReadInConfig(); err != nil {
err = yaml.Unmarshal(data, &conf) return err
if err != nil {
return nil, errs.WrapMsg(err, "InitConfig unmarshal failed")
} }
return conf, nil
fmt.Println("Using config file:", viper.ConfigFileUsed())
return nil
} }
func main() { func main() {
flag.Parse() var cfgFile string
pflag.StringVarP(&cfgFile, "config", "c", "", "config file (default is ./config.yaml)")
pflag.Parse()
ctx := context.Background() ctx := context.Background()
conf, err := initCfg()
if err != nil { if err := initConfig(cfgFile); err != nil {
fmt.Fprintf(os.Stderr, "Initialization failed: %v\n", err) fmt.Fprintf(os.Stderr, "Initialization failed: %v\n", err)
os.Exit(1) os.Exit(1)
} }
if err := util.ConfigGetEnv(conf); err != nil { // if err := util.ConfigGetEnv(conf); err != nil {
fmt.Fprintf(os.Stderr, "Environment variable override failed: %v\n", err) // fmt.Fprintf(os.Stderr, "Environment variable override failed: %v\n", err)
os.Exit(1) // os.Exit(1)
} // }
// Define a slice of functions to perform each service check // Define a slice of functions to perform each service check
serviceChecks := []func(context.Context, *config.GlobalConfig) error{ serviceChecks := []func(context.Context, *config.GlobalConfig) error{
@ -89,11 +91,11 @@ func main() {
}, },
} }
if conf.Object.Enable == "minio" { if viper.GetString("object.enable") == "minio" {
minioConfig := checks.MinioCheck{ minioConfig := checks.MinioCheck{
Config: minio.Config(conf.Object.Minio), Config: minio.Config(viper.GetString("object.minio")),
// UseSSL: conf.Minio.UseSSL, // UseSSL: conf.Minio.UseSSL,
ApiURL: conf.Object.ApiURL, ApiURL: viper.GetString("object.apiURL"),
} }
adjustUseSSL(&minioConfig) adjustUseSSL(&minioConfig)

Loading…
Cancel
Save