48 lines
1.2 KiB
Go
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
|
|
}
|