runtime

package
v2.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2020 License: Apache-2.0 Imports: 17 Imported by: 2

README

HAProxy runtime client

usage

package main

import (
	"log"

	"github.com/haproxytech/client-native/v2/runtime"
)

func main() {
	client := runtime.SingleRuntime{}
	err := client.Init("/var/run/haproxy-runtime-api.sock")

	response, err := client.GetStats()
	if err != nil {
		log.Println(err)
	}
	log.Println(response)

	result, err := client.GetInfo()
	if err != nil {
		log.Println(err)
	}
	log.Println(result)

	result, err = client.ExecuteRaw("show env")
	if err != nil {
		log.Println(err)
	}
	log.Println(result)
}

Documentation

Index

Constants

View Source
const (
	// DefaultSocketPath sane default for runtime API socket path
	DefaultSocketPath string = "/var/run/haproxy.sock"
)

Variables

This section is empty.

Functions

func CreateMap added in v2.0.1

func CreateMap(name string, file multipart.File) (models.MapEntries, error)

CreateMap creates a new map file with its entries. Returns an error if file already exists

func ParseMapEntries

func ParseMapEntries(output string, hasId bool) models.MapEntries

ParseMapEntries parses array of entries in one map file One line sample entry: ID Key Value 0x55d155c6fbf0 static.example.com be_static

func ServerHealthValid

func ServerHealthValid(health string) bool

ServerHealthValid checks if server health is valid

func ServerStateValid

func ServerStateValid(state string) bool

ServerStateValid checks if server state is valid

func ServerWeightValid

func ServerWeightValid(weight string) bool

ServerWeightValid checks if server state is valid

Types

type Client

type Client struct {
	ClientParams
	// contains filtered or unexported fields
}

Client handles multiple HAProxy clients

func DefaultClient

func DefaultClient() (*Client, error)

DefaultClient return runtime Client with sane defaults

func (*Client) AddMapEntry

func (c *Client) AddMapEntry(name, key, value string) error

AddMapEntry adds an entry into the map file

func (*Client) ClearMap

func (c *Client) ClearMap(name string, forceDelete bool) error

ClearMap removes all map entries from the map file. If forceDelete is true, deletes file from disk

func (*Client) CreateMap

func (c *Client) CreateMap(file multipart.File, header multipart.FileHeader) (models.MapEntries, error)

CreateMap creates a new map file with its entries

func (*Client) DeleteMapEntry

func (c *Client) DeleteMapEntry(name, id string) error

DeleteMapEntry deletes all the map entries from the map by its id

func (*Client) DisableAgentCheck

func (c *Client) DisableAgentCheck(backend, server string) error

DisableAgentCheck disable agent check for server

func (*Client) DisableServer

func (c *Client) DisableServer(backend, server string) error

DisableServer marks server as DOWN for maintenance

func (*Client) EnableAgentCheck

func (c *Client) EnableAgentCheck(backend, server string) error

EnableAgentCheck enable agent check for server

func (*Client) EnableServer

func (c *Client) EnableServer(backend, server string) error

EnableServer marks server as UP

func (*Client) ExecuteRaw

func (c *Client) ExecuteRaw(command string) ([]string, error)

ExecuteRaw does not procces response, just returns its values for all processes

func (*Client) GetInfo

func (c *Client) GetInfo() (models.ProcessInfos, error)

GetInfo returns info from the socket

func (*Client) GetMap

func (c *Client) GetMap(name string) (*models.Map, error)

GetMap returns one structured runtime map file

func (*Client) GetMapEntry

func (c *Client) GetMapEntry(name, id string) (*models.MapEntry, error)

GetMapEntry returns one map runtime setting

func (*Client) GetMapsPath

func (c *Client) GetMapsPath(name string) (string, error)

GetMapsPath returns runtime map file path or map id

func (*Client) GetServerState

func (c *Client) GetServerState(backend, server string) (*models.RuntimeServer, error)

GetServerState returns server runtime state

func (*Client) GetServersState

func (c *Client) GetServersState(backend string) (models.RuntimeServers, error)

GetServerState returns server runtime state

func (*Client) GetStats

func (c *Client) GetStats() models.NativeStats

GetStats returns stats from the socket

func (*Client) GetTableEntries

func (c *Client) GetTableEntries(name string, process int, filter []string, key string) (models.StickTableEntries, error)

GetTableEntries returns all entries for specified table in the given process with filters and a key

func (*Client) Init deprecated

func (c *Client) Init(socketPath []string, masterSocketPath string, nbproc int) error

Init must be given path to runtime socket and nbproc that is not 0 when in master worker mode

Deprecated: use InitWithSockets or InitWithMasterSocket instead

func (*Client) InitWithMasterSocket

func (c *Client) InitWithMasterSocket(masterSocketPath string, nbproc int) error

func (*Client) InitWithSockets

func (c *Client) InitWithSockets(socketPath map[int]string) error

func (*Client) ParseMapEntries

func (c *Client) ParseMapEntries(output string) models.MapEntries

func (*Client) SetFrontendMaxConn

func (c *Client) SetFrontendMaxConn(frontend string, maxconn int) error

SetFrontendMaxConn set maxconn for frontend

func (*Client) SetMapEntry

func (c *Client) SetMapEntry(name, id, value string) error

SetMapEntry replace the value corresponding to each id in a map

func (*Client) SetServerAddr

func (c *Client) SetServerAddr(backend, server string, ip string, port int) error

SetServerAddr set ip [port] for server

func (*Client) SetServerAgentAddr

func (c *Client) SetServerAgentAddr(backend, server string, addr string) error

SetServerAgentAddr set agent-addr for server

func (*Client) SetServerAgentSend

func (c *Client) SetServerAgentSend(backend, server string, send string) error

SetServerAgentSend set agent-send for server

func (*Client) SetServerCheckPort

func (c *Client) SetServerCheckPort(backend, server string, port int) error

SetServerCheckPort set health heck port for server

func (*Client) SetServerHealth

func (c *Client) SetServerHealth(backend, server string, health string) error

SetServerHealth set health for server

func (*Client) SetServerState

func (c *Client) SetServerState(backend, server string, state string) error

SetServerState set state for server

func (*Client) SetServerWeight

func (c *Client) SetServerWeight(backend, server string, weight string) error

SetServerWeight set weight for server

func (*Client) ShowMapEntries

func (c *Client) ShowMapEntries(name string) (models.MapEntries, error)

ShowMapEntries list all map entries by map file name

func (*Client) ShowMaps

func (c *Client) ShowMaps() (models.Maps, error)

ShowMaps returns structured unique map files

func (*Client) ShowTable

func (c *Client) ShowTable(name string, process int) (*models.StickTable, error)

Show table show tables {name} from runtime API associated with process id and return it structured

func (*Client) ShowTables

func (c *Client) ShowTables(process int) (models.StickTables, error)

Show tables show tables from runtime API and return it structured, if process is 0, return for all processes

type ClientParams

type ClientParams struct {
	MapsDir string
}

type SingleRuntime

type SingleRuntime struct {
	// contains filtered or unexported fields
}

SingleRuntime handles one runtime API

func (*SingleRuntime) AddMapEntry

func (s *SingleRuntime) AddMapEntry(name, key, value string) error

AddMapEntry adds an entry into the map file

func (*SingleRuntime) ClearMap

func (s *SingleRuntime) ClearMap(name string) error

ClearMap removes all map entries from the map file.

func (*SingleRuntime) DeleteMapEntry

func (s *SingleRuntime) DeleteMapEntry(name, id string) error

DeleteMapEntry deletes all the map entries from the map by its id

func (*SingleRuntime) DisableAgentCheck

func (s *SingleRuntime) DisableAgentCheck(backend, server string) error

DisableAgentCheck disable agent check for server

func (*SingleRuntime) DisableServer

func (s *SingleRuntime) DisableServer(backend, server string) error

DisableServer marks server as DOWN for maintenanc

func (*SingleRuntime) EnableAgentCheck

func (s *SingleRuntime) EnableAgentCheck(backend, server string) error

EnableAgentCheck enable agent check for server

func (*SingleRuntime) EnableServer

func (s *SingleRuntime) EnableServer(backend, server string) error

EnableServer marks server as UP

func (*SingleRuntime) Execute

func (s *SingleRuntime) Execute(command string) error

Execute executes command on runtime API

func (*SingleRuntime) ExecuteRaw

func (s *SingleRuntime) ExecuteRaw(command string) (string, error)

ExecuteRaw executes command on runtime API and returns raw result

func (*SingleRuntime) ExecuteWithResponse

func (s *SingleRuntime) ExecuteWithResponse(command string) (string, error)

func (*SingleRuntime) GetInfo

func (s *SingleRuntime) GetInfo() models.ProcessInfo

GetInfo fetches HAProxy info from runtime API

func (*SingleRuntime) GetMap

func (s *SingleRuntime) GetMap(name string) (*models.Map, error)

GetMap returns one structured runtime map file

func (*SingleRuntime) GetMapEntry

func (s *SingleRuntime) GetMapEntry(name, id string) (*models.MapEntry, error)

GetMapEntry returns one map runtime setting

func (*SingleRuntime) GetServerState

func (s *SingleRuntime) GetServerState(backend, server string) (*models.RuntimeServer, error)

GetServersState returns server runtime state

func (*SingleRuntime) GetServersState

func (s *SingleRuntime) GetServersState(backend string) (models.RuntimeServers, error)

GetServersState returns servers runtime state

func (*SingleRuntime) GetStats

func (s *SingleRuntime) GetStats() *models.NativeStatsCollection

GetStats fetches HAProxy stats from runtime API

func (*SingleRuntime) GetTableEntries

func (s *SingleRuntime) GetTableEntries(name string, filter []string, key string) (models.StickTableEntries, error)

GetTableEntries returns Stick Tables entries

func (*SingleRuntime) Init

func (s *SingleRuntime) Init(socketPath string, worker int, process int) error

Init must be given path to runtime socket and worker number. If in master-worker mode, give the path to the master socket path, and non 0 number for workers. Process is for nbproc > 1. In master-worker mode it's the same as the worker number, but when having multiple stats socket lines bound to processes then use the correct process number

func (*SingleRuntime) SetFrontendMaxConn

func (s *SingleRuntime) SetFrontendMaxConn(frontend string, maxconn int) error

SetFrontendMaxConn set maxconn for frontend

func (*SingleRuntime) SetMapEntry

func (s *SingleRuntime) SetMapEntry(name, id, value string) error

SetMapEntry replaces the value corresponding to each id in a map

func (*SingleRuntime) SetServerAddr

func (s *SingleRuntime) SetServerAddr(backend, server string, ip string, port int) error

SetServerAddr set ip [port] for server

func (*SingleRuntime) SetServerAgentAddr

func (s *SingleRuntime) SetServerAgentAddr(backend, server string, addr string) error

SetServerAgentAddr set agent-addr for server

func (*SingleRuntime) SetServerAgentSend

func (s *SingleRuntime) SetServerAgentSend(backend, server string, send string) error

SetServerAgentSend set agent-send for server

func (*SingleRuntime) SetServerCheckPort

func (s *SingleRuntime) SetServerCheckPort(backend, server string, port int) error

SetServerCheckPort set health heck port for server

func (*SingleRuntime) SetServerHealth

func (s *SingleRuntime) SetServerHealth(backend, server string, health string) error

SetServerHealth set health for server

func (*SingleRuntime) SetServerState

func (s *SingleRuntime) SetServerState(backend, server string, state string) error

SetServerState set state for server

func (*SingleRuntime) SetServerWeight

func (s *SingleRuntime) SetServerWeight(backend, server string, weight string) error

SetServerWeight set weight for server

func (*SingleRuntime) ShowMapEntries

func (s *SingleRuntime) ShowMapEntries(name string) (models.MapEntries, error)

ShowMapEntries returns one map runtime entries

func (*SingleRuntime) ShowMaps

func (s *SingleRuntime) ShowMaps() (models.Maps, error)

ShowMaps returns map files description from runtime

func (*SingleRuntime) ShowTable

func (s *SingleRuntime) ShowTable(name string) (*models.StickTable, error)

ShowTables returns one Stick Table descriptions from runtime

func (*SingleRuntime) ShowTables

func (s *SingleRuntime) ShowTables() (models.StickTables, error)

ShowTables returns Stick Tables descriptions from runtime

type Task

type Task struct {
	// contains filtered or unexported fields
}

Task has command to execute on runtime api, and response channel for result

type TaskResponse

type TaskResponse struct {
	// contains filtered or unexported fields
}

TaskResponse ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL