Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WriteConfig ¶
Types ¶
type BackupConfig ¶
type BackupConfig struct {
// MUST: set in init
SSHHost string `json:"ssh-host"`
SSHUser string `json:"ssh-user"`
SSHPasswd string `json:"ssh-passwd"`
SSHPort int `json:"ssh-port"`
BackupDir string `json:"backupdir"`
XtrabackupBinDir string `json:"xtrabackup-bindir"`
BackupIOPSLimits int `json:"backup-iops-limits"`
UseMemory string `json:"backup-use-memory"`
Parallel int `json:"backup-parallel"`
MysqldMonitorInterval int `json:"mysqld-monitor-interval"`
// mysql admin
Admin string
// mysql passed
Passwd string
// mysql host
Host string
// mysql prot
Port int
// mysql basedir
Basedir string
// mysql default file
DefaultsFile string
}
func DefaultBackupConfig ¶
func DefaultBackupConfig() *BackupConfig
func (*BackupConfig) UnmarshalJSON ¶
func (c *BackupConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON interface on BackupConfig.
type Config ¶
type Config struct {
Server *ServerConfig `json:"server"`
Raft *RaftConfig `json:"raft"`
Mysql *MysqlConfig `json:"mysql"`
Replication *ReplicationConfig `json:"replication"`
Backup *BackupConfig `json:"backup"`
RPC *RPCConfig `json:"rpc"`
Log *LogConfig `json:"log"`
}
func DefaultConfig ¶
func DefaultConfig() *Config
func LoadConfig ¶
type LogConfig ¶
type LogConfig struct {
Level string `json:"level"`
}
func DefaultLogConfig ¶
func DefaultLogConfig() *LogConfig
func (*LogConfig) UnmarshalJSON ¶
UnmarshalJSON interface on LogConfig.
type MysqlConfig ¶
type MysqlConfig struct {
// mysql admin user
Admin string `json:"admin"`
// mysql admin passwd
Passwd string `json:"passwd"`
// mysql localhost
Host string `json:"host"`
// mysql local port
Port int `json:"port"`
// mysql basedir
Basedir string `json:"basedir"`
// mysql version
Version string `json:"version"`
// mysql default file path
DefaultsFile string `json:"defaults-file"`
// ping mysql interval(ms)
PingTimeout int `json:"ping-timeout"`
// admit defeat count for ping mysql
AdmitDefeatPingCnt int `json:"admit-defeat-ping-count"`
// master system variables configure(separated by ;)
MasterSysVars string `json:"master-sysvars"`
// slave system variables configure(separated by ;)
SlaveSysVars string `json:"slave-sysvars"`
// mysql intranet ip, other replicas Master_Host
ReplHost string
// mysql replication user
ReplUser string
// mysql replication user pwd
ReplPasswd string
}
func DefaultMysqlConfig ¶
func DefaultMysqlConfig() *MysqlConfig
func (*MysqlConfig) UnmarshalJSON ¶
func (c *MysqlConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON interface on MysqlConfig.
type RPCConfig ¶
type RPCConfig struct {
RequestTimeout int `json:"request-timeout"`
}
func DefaultRPCConfig ¶
func DefaultRPCConfig() *RPCConfig
func (*RPCConfig) UnmarshalJSON ¶
UnmarshalJSON interface on RPCConfig.
type RaftConfig ¶
type RaftConfig struct {
// raft meta datadir
MetaDatadir string `json:"meta-datadir"`
// leader heartbeat interval(ms)
HeartbeatTimeout int `json:"heartbeat-timeout"`
// admit defeat count for hearbeat
AdmitDefeatHtCnt int `json:"admit-defeat-hearbeat-count"`
// election timeout(ms)
ElectionTimeout int `json:"election-timeout"`
// purge binlog interval (ms)
PurgeBinlogInterval int `json:"purge-binlog-interval"`
// Super IDLE cant' change to FOLLOWER.
SuperIDLE bool `json:"super-idle"`
// MUST: set in init
// the shell command when leader start
LeaderStartCommand string `json:"leader-start-command"`
// MUST: set in init
// the shell command when leader stop
LeaderStopCommand string `json:"leader-stop-command"`
// if true, xenon binlog-purge will be skipped, default is false.
PurgeBinlogDisabled bool `json:"purge-binlog-disabled"`
// rpc client request tiemout(ms)
RequestTimeout int
// candicate wait timeout(ms) for 2 nodes.
CandidateWaitFor2Nodes int `json:"candidate-wait-for-2nodes"`
}
func DefaultRaftConfig ¶
func DefaultRaftConfig() *RaftConfig
func (*RaftConfig) UnmarshalJSON ¶
func (c *RaftConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON interface on RaftConfig.
type ReplicationConfig ¶
func DefaultReplicationConfig ¶
func DefaultReplicationConfig() *ReplicationConfig
func (*ReplicationConfig) UnmarshalJSON ¶
func (c *ReplicationConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON interface on ReplicationConfig.
type ServerConfig ¶
type ServerConfig struct {
// MUST: set in init
// connection string(format ip:port)
Endpoint string `json:"endpoint"`
}
func DefaultServerConfig ¶
func DefaultServerConfig() *ServerConfig
func (*ServerConfig) UnmarshalJSON ¶
func (c *ServerConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON interface on ServerConfig.
Click to show internal directories.
Click to hide internal directories.