diff --git a/deployments/deploy/chat-config.yml b/deployments/deploy/chat-config.yml index 330d69122..012fdb4b2 100644 --- a/deployments/deploy/chat-config.yml +++ b/deployments/deploy/chat-config.yml @@ -116,7 +116,7 @@ data: listenIP: 0.0.0.0 # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. ports: [ 30300 ] - + verifyCode: validTime: 300 validCount: 5 @@ -125,7 +125,7 @@ data: superCode: "666666" len: 6 phone: - use: "" + use: "superCode" # superCode: user superCode; ali: use ali verify code; ali: endpoint: "" accessKeyId: "" @@ -133,16 +133,17 @@ data: signName: "" verificationCodeTemplateCode: "" mail: - enable: false + use: "superCode" # superCode: user superCode; mail: use mail verify code; title: "" senderMail: "" senderAuthorizationCode: "" smtpAddr: "" smtpPort: - + liveKit: url: "ws://127.0.0.1:7880" # LIVEKIT_URL, LiveKit server address and port key: "APIGPW3gnFTzqHH" secret: "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3" - + allowRegister: true + diff --git a/deployments/deploy/http-ingress.yml b/deployments/deploy/http-ingress.yml new file mode 100644 index 000000000..664656d75 --- /dev/null +++ b/deployments/deploy/http-ingress.yml @@ -0,0 +1,30 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: chat-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$1 +spec: + ingressClassName: nginx + rules: + - host: openim-api.localtest.me + http: + paths: + - path: /chat/(.*) + pathType: ImplementationSpecific + backend: + service: + name: chat-api-service + port: + number: 10008 + - host: openim-api.localtest.me + http: + paths: + - path: /chat_admin/(.*) + pathType: ImplementationSpecific + backend: + service: + name: admin-api-service + port: + number: 10009 + diff --git a/deployments/deploy/https-ingress.yml b/deployments/deploy/https-ingress.yml new file mode 100644 index 000000000..a950b3dd6 --- /dev/null +++ b/deployments/deploy/https-ingress.yml @@ -0,0 +1,37 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: chat-ingress + annotations: + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 + nginx.ingress.kubernetes.io/ssl-redirect: "true" + cert-manager.io/cluster-issuer: letsencrypt-prod +spec: + ingressClassName: nginx + tls: + - hosts: + - openim-api.localtest.me + secretName: openim-api-tls + rules: + - host: openim-api.localtest.me + http: + paths: + - path: /chat/(.*) + pathType: ImplementationSpecific + backend: + service: + name: chat-api-service + port: + number: 10008 + - host: openim-api.localtest.me + http: + paths: + - path: /chat_admin/(.*) + pathType: ImplementationSpecific + backend: + service: + name: admin-api-service + port: + number: 10009 + diff --git a/deployments/deploy/openim-admin-api-deployment.yml b/deployments/deploy/openim-admin-api-deployment.yml index 8f7baddfc..2a6c99523 100644 --- a/deployments/deploy/openim-admin-api-deployment.yml +++ b/deployments/deploy/openim-admin-api-deployment.yml @@ -14,14 +14,14 @@ spec: spec: containers: - name: openim-admin-api-container - image: openim/openim-admin-api:v3.8.3 + image: openim-admin-api:test env: - name: CONFIG_PATH value: "/config" - name: CHATENV_REDIS_PASSWORD valueFrom: secretKeyRef: - name: redis-secret + name: openim-redis-secret key: redis-password - name: IMENV_MONGODB_USERNAME valueFrom: @@ -31,7 +31,7 @@ spec: - name: CHATENV_MONGODB_PASSWORD valueFrom: secretKeyRef: - name: mongo-secret + name: openim-mongo-secret key: mongo_openim_password volumeMounts: diff --git a/deployments/deploy/openim-admin-rpc-deployment.yml b/deployments/deploy/openim-admin-rpc-deployment.yml index 3c7a30e57..06392c0e5 100644 --- a/deployments/deploy/openim-admin-rpc-deployment.yml +++ b/deployments/deploy/openim-admin-rpc-deployment.yml @@ -14,14 +14,14 @@ spec: spec: containers: - name: openim-admin-rpc-container - image: openim/openim-admin-rpc:v3.8.3 + image: openim-admin-rpc:test env: - name: CONFIG_PATH value: "/config" - name: CHATENV_REDIS_PASSWORD valueFrom: secretKeyRef: - name: redis-secret + name: openim-redis-secret key: redis-password - name: IMENV_MONGODB_USERNAME valueFrom: @@ -31,7 +31,7 @@ spec: - name: CHATENV_MONGODB_PASSWORD valueFrom: secretKeyRef: - name: mongo-secret + name: openim-mongo-secret key: mongo_openim_password volumeMounts: diff --git a/deployments/deploy/openim-chat-api-deployment.yml b/deployments/deploy/openim-chat-api-deployment.yml index 8465d862a..a504320d7 100644 --- a/deployments/deploy/openim-chat-api-deployment.yml +++ b/deployments/deploy/openim-chat-api-deployment.yml @@ -14,14 +14,14 @@ spec: spec: containers: - name: openim-chat-api-container - image: openim/openim-chat-api:v3.8.3 + image: openim-chat-api:test env: - name: CONFIG_PATH value: "/config" - name: CHATENV_REDIS_PASSWORD valueFrom: secretKeyRef: - name: redis-secret + name: openim-redis-secret key: redis-password - name: IMENV_MONGODB_USERNAME valueFrom: @@ -31,7 +31,7 @@ spec: - name: CHATENV_MONGODB_PASSWORD valueFrom: secretKeyRef: - name: mongo-secret + name: openim-mongo-secret key: mongo_openim_password volumeMounts: diff --git a/deployments/deploy/openim-chat-rpc-deployment.yml b/deployments/deploy/openim-chat-rpc-deployment.yml index 81ea3d67e..f42bc7229 100644 --- a/deployments/deploy/openim-chat-rpc-deployment.yml +++ b/deployments/deploy/openim-chat-rpc-deployment.yml @@ -14,14 +14,14 @@ spec: spec: containers: - name: openim-chat-rpc-container - image: openim/openim-chat-rpc:v3.8.3 + image: openim-chat-rpc:test env: - name: CONFIG_PATH value: "/config" - name: CHATENV_REDIS_PASSWORD valueFrom: secretKeyRef: - name: redis-secret + name: openim-redis-secret key: redis-password - name: IMENV_MONGODB_USERNAME valueFrom: @@ -31,7 +31,7 @@ spec: - name: CHATENV_MONGODB_PASSWORD valueFrom: secretKeyRef: - name: mongo-secret + name: openim-mongo-secret key: mongo_openim_password volumeMounts: diff --git a/go.mod b/go.mod index 8ef823dd0..cc35e02fd 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/gomake v0.0.14-alpha.5 github.com/openimsdk/protocol v0.0.73-alpha.5 - github.com/openimsdk/tools v0.0.50-alpha.65 + github.com/openimsdk/tools v0.0.50-alpha.89 github.com/redis/go-redis/v9 v9.5.1 github.com/sashabaranov/go-openai v1.38.1 github.com/spf13/cobra v1.8.0 diff --git a/go.sum b/go.sum index 60c80de74..f930273f6 100644 --- a/go.sum +++ b/go.sum @@ -217,8 +217,8 @@ github.com/openimsdk/gomake v0.0.14-alpha.5 h1:VY9c5x515lTfmdhhPjMvR3BBRrRquAUCF github.com/openimsdk/gomake v0.0.14-alpha.5/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.73-alpha.5 h1:SQ7aQRuMJTrUXAoLIu0EIsVU+oIRBvXc7JlA88lEZvw= github.com/openimsdk/protocol v0.0.73-alpha.5/go.mod h1:WF7EuE55vQvpyUAzDXcqg+B+446xQyEba0X35lTINmw= -github.com/openimsdk/tools v0.0.50-alpha.65 h1:BRtxkyWxDWPHuHphSwEyHZj7kJSR98am/fHOH84naK8= -github.com/openimsdk/tools v0.0.50-alpha.65/go.mod h1:B+oqV0zdewN7OiEHYJm+hW+8/Te7B8tHHgD8rK5ZLZk= +github.com/openimsdk/tools v0.0.50-alpha.89 h1:aAbWSc3gOI//+KQ70i7ilOTiLqQNotmp+bobg4Gu8qI= +github.com/openimsdk/tools v0.0.50-alpha.89/go.mod h1:n2poR3asX1e1XZce4O+MOWAp+X02QJRFvhcLCXZdzRo= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pion/datachannel v1.5.5 h1:10ef4kwdjije+M9d7Xm9im2Y3O6A6ccQb0zcqZcJew8= @@ -305,8 +305,6 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= diff --git a/internal/api/admin/config_manager.go b/internal/api/admin/config_manager.go index b9c5dba73..3a239de5d 100644 --- a/internal/api/admin/config_manager.go +++ b/internal/api/admin/config_manager.go @@ -63,7 +63,7 @@ func (cm *ConfigManager) GetConfig(c *gin.Context) { func (cm *ConfigManager) GetConfigList(c *gin.Context) { var resp apistruct.GetConfigListResp resp.ConfigNames = cm.config.GetConfigNames() - resp.Environment = runtimeenv.PrintRuntimeEnvironment() + resp.Environment = runtimeenv.RuntimeEnvironment() resp.Version = version.Version apiresp.GinSuccess(c, resp) diff --git a/internal/api/admin/start.go b/internal/api/admin/start.go index b8d23931c..7c2f04cf3 100644 --- a/internal/api/admin/start.go +++ b/internal/api/admin/start.go @@ -40,7 +40,7 @@ type Config struct { } func Start(ctx context.Context, index int, config *Config) error { - config.RuntimeEnv = runtimeenv.PrintRuntimeEnvironment() + config.RuntimeEnv = runtimeenv.RuntimeEnvironment() if len(config.Share.ChatAdmin) == 0 { return errs.New("share chat admin not configured") diff --git a/internal/api/bot/start.go b/internal/api/bot/start.go index b840d1139..0cacac31c 100644 --- a/internal/api/bot/start.go +++ b/internal/api/bot/start.go @@ -38,7 +38,7 @@ type Config struct { } func Start(ctx context.Context, index int, cfg *Config) error { - cfg.RuntimeEnv = runtimeenv.PrintRuntimeEnvironment() + cfg.RuntimeEnv = runtimeenv.RuntimeEnvironment() apiPort, err := datautil.GetElemByIndex(cfg.ApiConfig.Api.Ports, index) if err != nil { return err diff --git a/internal/api/chat/start.go b/internal/api/chat/start.go index feb32a051..d7c395906 100644 --- a/internal/api/chat/start.go +++ b/internal/api/chat/start.go @@ -40,7 +40,7 @@ type Config struct { } func Start(ctx context.Context, index int, cfg *Config) error { - cfg.RuntimeEnv = runtimeenv.PrintRuntimeEnvironment() + cfg.RuntimeEnv = runtimeenv.RuntimeEnvironment() if len(cfg.Share.ChatAdmin) == 0 { return errs.New("share chat admin not configured") diff --git a/internal/rpc/admin/start.go b/internal/rpc/admin/start.go index 9faf1bb16..da8536874 100644 --- a/internal/rpc/admin/start.go +++ b/internal/rpc/admin/start.go @@ -37,7 +37,7 @@ type Config struct { } func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error { - config.RuntimeEnv = runtimeenv.PrintRuntimeEnvironment() + config.RuntimeEnv = runtimeenv.RuntimeEnvironment() if len(config.Share.ChatAdmin) == 0 { return errs.New("share chat admin not configured") diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 291ebde8e..1f3bf1b70 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -92,7 +92,7 @@ func (r *RootCmd) initEtcd() error { return err } disConfig := config.Discovery{} - env := runtimeenv.PrintRuntimeEnvironment() + env := runtimeenv.RuntimeEnvironment() err = config.Load(configDirectory, config.DiscoveryConfigFileName, config.EnvPrefixMap[config.DiscoveryConfigFileName], env, &disConfig) if err != nil { @@ -119,8 +119,10 @@ func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) e if err := r.initializeLogger(cmdOpts); err != nil { return errs.WrapMsg(err, "failed to initialize logger") } - if err := r.etcdClient.Close(); err != nil { - return errs.WrapMsg(err, "failed to close etcd client") + if r.etcdClient != nil { + if err := r.etcdClient.Close(); err != nil { + return errs.WrapMsg(err, "failed to close etcd client") + } } return nil @@ -133,7 +135,7 @@ func (r *RootCmd) initializeConfiguration(cmd *cobra.Command, opts *CmdOpts) err } r.configPath = configDirectory - runtimeEnv := runtimeenv.PrintRuntimeEnvironment() + runtimeEnv := runtimeenv.RuntimeEnvironment() // Load common configuration file //opts.configMap[ShareFileName] = StructEnvPrefix{EnvPrefix: shareEnvPrefix, ConfigStruct: &r.share} diff --git a/pkg/common/kdisc/discoveryregister.go b/pkg/common/kdisc/discoveryregister.go index efb6d6db0..1c793cf1c 100644 --- a/pkg/common/kdisc/discoveryregister.go +++ b/pkg/common/kdisc/discoveryregister.go @@ -33,7 +33,7 @@ const ( // NewDiscoveryRegister creates a new service discovery and registry client based on the provided environment type. func NewDiscoveryRegister(discovery *config.Discovery, runtimeEnv string, watchNames []string) (discovery.SvcDiscoveryRegistry, error) { if runtimeEnv == KUBERNETESCONST { - return kubernetes.NewKubernetesConnManager(discovery.Kubernetes.Namespace) + return kubernetes.NewConnManager(discovery.Kubernetes.Namespace, watchNames) } switch discovery.Enable { diff --git a/pkg/common/startrpc/start.go b/pkg/common/startrpc/start.go index a2d1cbd1f..6358a81e7 100644 --- a/pkg/common/startrpc/start.go +++ b/pkg/common/startrpc/start.go @@ -34,7 +34,7 @@ func Start[T any](ctx context.Context, discovery *config.Discovery, listenIP, watchConfigNames []string, watchServiceNames []string, rpcFn func(ctx context.Context, config T, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error, options ...grpc.ServerOption) error { - runtimeEnv := runtimeenv.PrintRuntimeEnvironment() + runtimeEnv := runtimeenv.RuntimeEnvironment() rpcPort, err := datautil.GetElemByIndex(rpcPorts, index) if err != nil { @@ -74,7 +74,7 @@ func Start[T any](ctx context.Context, discovery *config.Discovery, listenIP, return err } - if err := client.Register(rpcRegisterName, registerIP, rpcPort, grpc.WithTransportCredentials(insecure.NewCredentials())); err != nil { + if err := client.Register(ctx, rpcRegisterName, registerIP, rpcPort, grpc.WithTransportCredentials(insecure.NewCredentials())); err != nil { return err } diff --git a/tools/attribute-to-credential/main.go b/tools/attribute-to-credential/main.go index 13d245756..c6dcca952 100644 --- a/tools/attribute-to-credential/main.go +++ b/tools/attribute-to-credential/main.go @@ -34,7 +34,7 @@ func initConfig(configDir string) (*config.Mongo, error) { mongoConfig = &config.Mongo{} ) - runtimeEnv := runtimeenv.PrintRuntimeEnvironment() + runtimeEnv := runtimeenv.RuntimeEnvironment() err := config.Load(configDir, config.MongodbConfigFileName, config.EnvPrefixMap[config.MongodbConfigFileName], runtimeEnv, mongoConfig) if err != nil { diff --git a/tools/check-component/main.go b/tools/check-component/main.go index 2433a9172..ad5924d01 100644 --- a/tools/check-component/main.go +++ b/tools/check-component/main.go @@ -68,7 +68,7 @@ func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Discove shareConfig = &config.Share{} ) - runtimeEnv := runtimeenv.PrintRuntimeEnvironment() + runtimeEnv := runtimeenv.RuntimeEnvironment() err := config.Load(configDir, config.MongodbConfigFileName, config.EnvPrefixMap[config.MongodbConfigFileName], runtimeEnv, mongoConfig) if err != nil {