Documentation ¶
Index ¶
- Variables
- func AcquireAccessToken(publicToken string) (secretToken string, err error)
- func AttemptElection() (bool, error)
- func ContinuousRegistration(extraInfo string, command string)
- func ExpireAccessTokens() error
- func ExpireAvailableNodes()
- func ExpireNodesHistory() error
- func GenerateAccessToken(owner string) (publicToken string, err error)
- func GetHash(input []byte) string
- func GetRandomData() []byte
- func GrabElection() error
- func Reelect() error
- func RegisterNode(extraInfo string, command string, firstTime bool) (healthy bool, err error)
- func TokenBelongsToHealthyHttpService(token string) (result bool, err error)
- func TokenIsValid(publicToken string, secretToken string) (result bool, err error)
- type HealthStatus
- type NodeHealth
- type OrchestratorExecutionMode
- type Token
Constants ¶
This section is empty.
Variables ¶
var ThisHostname string
Functions ¶
func AcquireAccessToken ¶
AcquireAccessToken attempts to acquire a hopefully free token; returning in such case the secretToken as proof of ownership.
func AttemptElection ¶
AttemptElection tries to grab leadership (become active node)
func ContinuousRegistration ¶
ContinuousRegistration will continuously update the node_health table showing that the current process is still running.
func ExpireAccessTokens ¶
func ExpireAccessTokens() error
ExpireAccessTokens removes old, known to be uneligible tokens
func ExpireAvailableNodes ¶
func ExpireAvailableNodes()
ExpireAvailableNodes is an aggressive purging method to remove node entries who have skipped their keepalive for two times.
func ExpireNodesHistory ¶
func ExpireNodesHistory() error
ExpireNodesHistory cleans up the nodes history and is run by the orchestrator active node.
func GenerateAccessToken ¶
GenerateAccessToken attempts to generate a new access token and returns the public part of the token
func GetRandomData ¶
func GetRandomData() []byte
func GrabElection ¶
func GrabElection() error
GrabElection forcibly grabs leadership. Use with care!!
func Reelect ¶
func Reelect() error
Reelect clears the way for re-elections. Active node is immediately demoted.
func RegisterNode ¶
RegisterNode writes down this node in the node_health table
Types ¶
type HealthStatus ¶
type HealthStatus struct { Healthy bool Hostname string Token string IsActiveNode bool ActiveNode NodeHealth Error error AvailableNodes [](*NodeHealth) }
func HealthTest ¶
func HealthTest() (*HealthStatus, error)
HealthTest attempts to write to the backend database and get a result
func SimpleHealthTest ¶
func SimpleHealthTest() (*HealthStatus, error)
Just check to make sure we can connect to the database
type NodeHealth ¶
type NodeHealth struct { Hostname string Token string AppVersion string FirstSeenActive string LastSeenActive string }
func ElectedNode ¶
func ElectedNode() (node NodeHealth, isElected bool, err error)
ElectedNode returns the details of the elected node, as well as answering the question "is this process the elected one"?
func ReadAvailableNodes ¶
func ReadAvailableNodes(onlyHttpNodes bool) (nodes [](*NodeHealth), err error)
type OrchestratorExecutionMode ¶
type OrchestratorExecutionMode string
const ( OrchestratorExecutionCliMode OrchestratorExecutionMode = "CLIMode" OrchestratorExecutionHttpMode = "HttpMode" )