Documentation ¶
Index ¶
- type BotInstance
- type BotState
- type KelpOS
- func (kos *KelpOS) AdvanceBotState(botName string, expectedCurrentState BotState) error
- func (kos *KelpOS) Background(namespace string, cmd string) (*Process, error)
- func (kos *KelpOS) Blocking(namespace string, cmd string) ([]byte, error)
- func (kos *KelpOS) GetBot(botName string) (*BotInstance, error)
- func (kos *KelpOS) GetProcess(namespace string) (*Process, bool)
- func (kos *KelpOS) Mkdir(dirPath string) error
- func (kos *KelpOS) QueryBotState(botName string) (BotState, error)
- func (kos *KelpOS) RegisterBot(bot *model2.Bot) error
- func (kos *KelpOS) RegisterBotWithState(bot *model2.Bot, state BotState) error
- func (kos *KelpOS) RegisterBotWithStateUpsert(bot *model2.Bot, state BotState)
- func (kos *KelpOS) RegisteredBots() []string
- func (kos *KelpOS) RegisteredProcesses() []string
- func (kos *KelpOS) SafeUnregister(namespace string)
- func (kos *KelpOS) SafeUnregisterBot(botName string)
- func (kos *KelpOS) SetSilentRegistrations()
- func (kos *KelpOS) Stop(namespace string) error
- func (kos *KelpOS) StreamOutput(command *exec.Cmd) error
- func (kos *KelpOS) Unregister(namespace string) error
- type Process
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BotInstance ¶
BotInstance is an instance of a given bot along with the metadata
type KelpOS ¶
type KelpOS struct {
// contains filtered or unexported fields
}
KelpOS is a struct that manages all subprocesses started by this Kelp process
func (*KelpOS) AdvanceBotState ¶
AdvanceBotState advances the state of the given bot atomically, ensuring the bot is currently at the expected state
func (*KelpOS) Background ¶
Background runs the provided bash command in the background and registers the command
func (*KelpOS) GetBot ¶
func (kos *KelpOS) GetBot(botName string) (*BotInstance, error)
GetBot fetches the bot state for the given name
func (*KelpOS) GetProcess ¶
GetProcess gets the process tied to the provided namespace
func (*KelpOS) QueryBotState ¶
QueryBotState checks to see if the bot is actually running and returns the state accordingly
func (*KelpOS) RegisterBot ¶
RegisterBot registers a new bot, returning an error if one already exists with the same name
func (*KelpOS) RegisterBotWithState ¶
RegisterBotWithState registers a new bot with a given state, returning an error if one already exists with the same name
func (*KelpOS) RegisterBotWithStateUpsert ¶
RegisterBotWithStateUpsert registers a new bot with a given state, it always registers the bot even if it is already registered, never returning an error
func (*KelpOS) RegisteredBots ¶
RegisteredBots returns the list of registered bots
func (*KelpOS) RegisteredProcesses ¶
RegisteredProcesses returns the list of registered processes
func (*KelpOS) SafeUnregister ¶
SafeUnregister ignores erros when unregistering the command at the provided namespace
func (*KelpOS) SafeUnregisterBot ¶
SafeUnregisterBot unregister a bot without any errors
func (*KelpOS) SetSilentRegistrations ¶
func (kos *KelpOS) SetSilentRegistrations()
SetSilentRegistrations does not log every time we register and unregister commands
func (*KelpOS) StreamOutput ¶
StreamOutput runs the provided command in a streaming fashion
func (*KelpOS) Unregister ¶
Unregister unregisters the command at the provided namespace, returning an error if needed