oceanbase/tools/ob-configserver/config/configserver_config.go
2022-05-30 16:44:36 +08:00

48 lines
1.2 KiB
Go

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
package config
import (
"bytes"
"io/ioutil"
"os"
"gopkg.in/yaml.v3"
)
type ConfigServerConfig struct {
Log *LogConfig `yaml:"log"`
Server *ServerConfig `yaml:"server"`
Storage *StorageConfig `yaml:"storage"`
Vip *VipConfig `yaml:"vip"`
}
func ParseConfigServerConfig(configFilePath string) (*ConfigServerConfig, error) {
_, err := os.Stat(configFilePath)
if err != nil {
return nil, err
}
content, err := ioutil.ReadFile(configFilePath)
if err != nil {
return nil, err
}
config := new(ConfigServerConfig)
err = yaml.NewDecoder(bytes.NewReader(content)).Decode(config)
if err != nil {
return nil, err
}
return config, nil
}