debug

package
v0.0.0-...-298751d Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: AGPL-3.0 Imports: 13 Imported by: 16

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Base64HookArgs

func Base64HookArgs(match []string, debugAt string) string

Base64HookArgs returns the encoded arguments for defining debug-hook behavior. This is a base64 encoded yaml blob containing serialized arguments.

func ClientScript

func ClientScript(c *HooksContext, match []string, debugAt string) string

ClientScript returns a bash script suitable for executing on the unit system to intercept matching hooks or actions via tmux shell.

Types

type HooksContext

type HooksContext struct {
	Unit     string
	FlockDir string
}

func NewHooksContext

func NewHooksContext(unitName string) *HooksContext

func (*HooksContext) ClientExitFileLock

func (c *HooksContext) ClientExitFileLock() string

func (*HooksContext) ClientFileLock

func (c *HooksContext) ClientFileLock() string

func (*HooksContext) FindSession

func (c *HooksContext) FindSession() (*ServerSession, error)

FindSession attempts to find a debug hooks session for the unit specified in the context, and returns a new ServerSession structure for it.

type ServerSession

type ServerSession struct {
	*HooksContext
	// contains filtered or unexported fields
}

ServerSession represents a "juju debug-hooks" session.

func (*ServerSession) DebugAt

func (s *ServerSession) DebugAt() string

DebugAt returns the location for the charm to stop for debugging, if it is set.

func (*ServerSession) MatchHook

func (s *ServerSession) MatchHook(hookName string) bool

MatchHook returns true if the specified hook name matches the hook specified by the debug-hooks client.

func (*ServerSession) RunHook

func (s *ServerSession) RunHook(hookName, charmDir string, env []string, hookRunner string) error

RunHook "runs" the hook with the specified name via debug-hooks. The hookRunner parameters specifies the name of the binary that users can invoke to handle the hook. When using the legacy hook system, hookRunner will be equal to the hookName; otherwise, it will point to a script that acts as the dispatcher for all hooks/actions.

Jump to

Keyboard shortcuts

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