This section is empty.


This section is empty.


func NewManager

func NewManager(binPath, cfgPath, generatePath, backupPath, templatePath string) conf.Manager

NewManager create haproxy config file manager


type Manager

type Manager struct {
	// contains filtered or unexported fields

Manager implements TemplateManager interface, control nginx config file generating, validation, backup and reloading

func (*Manager) CheckDifference

func (m *Manager) CheckDifference(oldFile, curFile string) bool

CheckDifference two file are difference, true is difference

func (*Manager) Collect

func (m *Manager) Collect(ch chan<- prometheus.Metric)

Collect implements collector interface

func (*Manager) Create

func (m *Manager) Create(tmpData *types.TemplateData) (string, error)

Create config file with tmpData,

func (*Manager) Describe

func (m *Manager) Describe(ch chan<- *prometheus.Desc)

Describe implements collector interface

func (*Manager) GetStatusFunction

func (m *Manager) GetStatusFunction() restful.RouteFunction

GetStatusFunction get status function

func (*Manager) Reload

func (m *Manager) Reload(cfgFile string) error

Reload haproxy with new config file

func (*Manager) Replace

func (m *Manager) Replace(oldFile, curFile string) error

Replace old cfg file with cur one, return old file backup

func (*Manager) Start

func (m *Manager) Start() error

Start point, do not block

func (*Manager) Stop

func (m *Manager) Stop()

Stop stop

func (*Manager) TryUpdateWithoutReload

func (m *Manager) TryUpdateWithoutReload(tmpData *types.TemplateData) (needReload bool)

TryUpdateWithoutReload update haproxy config without reloading needReload: true for reload

func (*Manager) Validate

func (m *Manager) Validate(newFile string) bool

Validate new cfg file grammar is OK