Files
open-im-server/pkg/getcdv3/getcd.go
T

45 lines
1.1 KiB
Go
Raw Normal View History

2023-01-30 16:47:58 +08:00
package getcdv3
import (
"Open_IM/pkg/common/config"
2023-01-30 16:47:58 +08:00
"Open_IM/pkg/utils"
2023-01-05 15:58:00 +08:00
"context"
2023-01-09 18:01:41 +08:00
"fmt"
"github.com/OpenIMSDK/getcdv3"
2023-01-09 18:01:41 +08:00
clientv3 "go.etcd.io/etcd/client/v3"
"time"
2023-01-05 15:58:00 +08:00
2023-01-09 18:01:41 +08:00
"gopkg.in/yaml.v3"
"strings"
)
2023-01-09 18:01:41 +08:00
func registerConf(key, conf string) {
etcdAddr := strings.Join(config.Config.Etcd.EtcdAddr, ",")
cli, err := clientv3.New(clientv3.Config{
Endpoints: strings.Split(etcdAddr, ","), DialTimeout: 5 * time.Second})
if err != nil {
panic(err.Error())
}
//lease
if _, err := cli.Put(context.Background(), key, conf); err != nil {
fmt.Println("panic, params: ")
panic(err.Error())
}
}
func RegisterConf() {
bytes, err := yaml.Marshal(config.Config)
if err != nil {
panic(err.Error())
}
2023-01-30 16:47:58 +08:00
secretMD5 := utils.Md5(config.Config.Etcd.Secret)
confBytes, err := utils.AesEncrypt(bytes, []byte(secretMD5[0:16]))
2023-01-09 18:01:41 +08:00
if err != nil {
panic(err.Error())
}
fmt.Println("start register", secretMD5, getcdv3.GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName))
registerConf(getcdv3.GetPrefix(config.Config.Etcd.EtcdSchema, config.ConfName), string(confBytes))
fmt.Println("etcd register conf ok")
}