agent

package
v1.1.9 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2025 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const EnrollmentV = "1"
View Source
const RegistryV = "2"

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessPrivateRequest added in v1.0.1

type AccessPrivateRequest struct {
	ShareToken      string   `json:"share_token"`
	BindAddress     string   `json:"bind_address"`
	AutoMode        bool     `json:"auto_mode"`
	AutoAddress     string   `json:"auto_address"`
	AutoStartPort   uint16   `json:"auto_start_port"`
	AutoEndPort     uint16   `json:"auto_end_port"`
	ResponseHeaders []string `json:"response_headers"`
}

type AccessRegistryEntry added in v1.1.9

type AccessRegistryEntry struct {
	Request *AccessPrivateRequest `json:"request"`
	Failure *FailureEntry         `json:"failure,omitempty"`
}

type Agent

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

func NewAgent

func NewAgent(cfg *AgentConfig, root env_core.Root) (*Agent, error)

func (*Agent) AccessPrivate added in v1.0.1

func (a *Agent) AccessPrivate(req *AccessPrivateRequest) (frontendToken string, err error)

func (*Agent) Config

func (a *Agent) Config() *AgentConfig

func (*Agent) ReleaseAccess added in v1.0.1

func (a *Agent) ReleaseAccess(frontendToken string) error

func (*Agent) ReleaseShare added in v1.0.1

func (a *Agent) ReleaseShare(shareToken string) error

func (*Agent) ReloadRegistry added in v1.0.1

func (a *Agent) ReloadRegistry() error

func (*Agent) Run

func (a *Agent) Run() error

func (*Agent) SaveRegistry added in v1.0.1

func (a *Agent) SaveRegistry() error

func (*Agent) ShareHttpHealthcheck added in v1.0.7

func (a *Agent) ShareHttpHealthcheck(shareToken, endpoint, httpVerb string, expectedHttpResponse, timeoutMs int) error

func (*Agent) SharePrivate added in v1.0.1

func (a *Agent) SharePrivate(req *SharePrivateRequest) (shareToken string, err error)

func (*Agent) SharePublic added in v1.0.1

func (a *Agent) SharePublic(req *SharePublicRequest) (shareToken string, frontendEndpoint []string, err error)

func (*Agent) Shutdown

func (a *Agent) Shutdown()

type AgentConfig

type AgentConfig struct {
	ConsoleAddress     string        `json:"console_address"`
	ConsoleStartPort   uint16        `json:"console_start_port"`
	ConsoleEndPort     uint16        `json:"console_end_port"`
	ConsoleEnabled     bool          `json:"console_enabled"`
	RequireRemoting    bool          `json:"require_remoting"`
	MaxRetries         int           `json:"max_retries,omitempty"`
	RetryInitialDelay  time.Duration `json:"retry_initial_delay,omitempty"`
	RetryMaxDelay      time.Duration `json:"retry_max_delay,omitempty"`
	RetryCheckInterval time.Duration `json:"retry_check_interval,omitempty"`
}

func DefaultConfig

func DefaultConfig() *AgentConfig

type BootHandlerConfig added in v1.1.9

type BootHandlerConfig struct {
	// StringFields maps message keys to functions that set string values
	StringFields map[string]func(string)
	// ArrayFields maps message keys to functions that set string array values
	ArrayFields map[string]func([]string)
	// OperationType for logging and debugging purposes
	OperationType string
}

BootHandlerConfig defines the field mappings for extracting values from boot messages

type CommandBuilder added in v1.1.9

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

CommandBuilder provides a fluent interface for building zrok commands eliminating repetitive command construction patterns across the agent

func NewAccessPrivateCommand added in v1.1.9

func NewAccessPrivateCommand() *CommandBuilder

NewAccessPrivateCommand creates a command builder for private access commands

func NewSharePrivateCommand added in v1.1.9

func NewSharePrivateCommand() *CommandBuilder

NewSharePrivateCommand creates a command builder for private share commands

func NewSharePublicCommand added in v1.1.9

func NewSharePublicCommand() *CommandBuilder

NewSharePublicCommand creates a command builder for public share commands

func (*CommandBuilder) AccessGrants added in v1.1.9

func (cb *CommandBuilder) AccessGrants(grants []string) *CommandBuilder

AccessGrants adds multiple --access-grant options

func (*CommandBuilder) AddConditionalFlag added in v1.1.9

func (cb *CommandBuilder) AddConditionalFlag(condition bool, flag string) *CommandBuilder

AddConditionalFlag adds a flag only if the condition is true

func (*CommandBuilder) AddFlag added in v1.1.9

func (cb *CommandBuilder) AddFlag(flag string) *CommandBuilder

AddFlag adds a simple flag (e.g., --insecure, --open)

func (*CommandBuilder) AddMultipleOptions added in v1.1.9

func (cb *CommandBuilder) AddMultipleOptions(option string, values []string) *CommandBuilder

AddMultipleOptions adds multiple instances of the same option

func (*CommandBuilder) AddOption added in v1.1.9

func (cb *CommandBuilder) AddOption(option, value string) *CommandBuilder

AddOption adds an option with a value (e.g., --option value)

func (*CommandBuilder) AutoMode added in v1.1.9

func (cb *CommandBuilder) AutoMode(auto bool, address string, startPort, endPort int) *CommandBuilder

AutoMode adds auto mode options for access commands

func (*CommandBuilder) BackendMode added in v1.1.9

func (cb *CommandBuilder) BackendMode(mode string) *CommandBuilder

BackendMode adds the backend mode option (-b)

func (*CommandBuilder) BasicAuth added in v1.1.9

func (cb *CommandBuilder) BasicAuth(auths []string) *CommandBuilder

BasicAuth adds multiple --basic-auth options

func (*CommandBuilder) BindAddress added in v1.1.9

func (cb *CommandBuilder) BindAddress(address string) *CommandBuilder

BindAddress adds the bind address as a positional argument for access commands

func (*CommandBuilder) Build added in v1.1.9

func (cb *CommandBuilder) Build() []string

Build returns the final command as a string slice

func (*CommandBuilder) Insecure added in v1.1.9

func (cb *CommandBuilder) Insecure(insecure bool) *CommandBuilder

Insecure adds the --insecure flag if true

func (*CommandBuilder) NameSelections added in v1.1.9

func (cb *CommandBuilder) NameSelections(selections []NameSelection) *CommandBuilder

NameSelections adds multiple --name-selection options with namespace:name format

func (*CommandBuilder) OauthEmailDomains added in v1.1.9

func (cb *CommandBuilder) OauthEmailDomains(domains []string) *CommandBuilder

OauthEmailDomains adds multiple --oauth-email-domain options

func (*CommandBuilder) OauthProvider added in v1.1.9

func (cb *CommandBuilder) OauthProvider(provider string) *CommandBuilder

OauthProvider adds the --oauth-provider option

func (*CommandBuilder) OauthRefreshInterval added in v1.1.9

func (cb *CommandBuilder) OauthRefreshInterval(interval string) *CommandBuilder

OauthRefreshInterval adds the --oauth-refresh-interval option

func (*CommandBuilder) Open added in v1.1.9

func (cb *CommandBuilder) Open(open bool) *CommandBuilder

Open adds the --open flag if true (note: inverted logic from Closed)

func (*CommandBuilder) ShareToken added in v1.1.9

func (cb *CommandBuilder) ShareToken(token string) *CommandBuilder

ShareToken adds the --share-token option for private shares

func (*CommandBuilder) String added in v1.1.9

func (cb *CommandBuilder) String() string

String returns a string representation of the command for debugging

func (*CommandBuilder) Target added in v1.1.9

func (cb *CommandBuilder) Target(target string) *CommandBuilder

Target adds the target as the final argument

type Enrollment added in v1.0.5

type Enrollment struct {
	V     string `json:"v"`
	Token string `json:"token"`
}

func LoadEnrollment added in v1.0.5

func LoadEnrollment(path string) (*Enrollment, error)

func NewEnrollment added in v1.0.5

func NewEnrollment(token string) *Enrollment

func (*Enrollment) Save added in v1.0.5

func (e *Enrollment) Save(path string) error

type FailureEntry added in v1.1.9

type FailureEntry struct {
	Count     int       `json:"count,omitempty"`
	LastError string    `json:"last_error,omitempty"`
	NextRetry time.Time `json:"next_retry,omitempty"`
}

type NameSelection added in v1.1.9

type NameSelection struct {
	NamespaceToken string `json:"namespace_token"`
	Name           string `json:"name"`
}

type PrivateShareRegistryEntry added in v1.1.9

type PrivateShareRegistryEntry struct {
	Request *SharePrivateRequest `json:"request"`
	Failure *FailureEntry        `json:"failure,omitempty"`
}

type PublicShareRegistryEntry added in v1.1.9

type PublicShareRegistryEntry struct {
	Request *SharePublicRequest `json:"request"`
	Failure *FailureEntry       `json:"failure,omitempty"`
}

type Registry added in v1.0.1

type Registry struct {
	V               string                       `json:"v"`
	PrivateAccesses []*AccessRegistryEntry       `json:"private_accesses,omitempty"`
	PublicShares    []*PublicShareRegistryEntry  `json:"public_shares,omitempty"`
	PrivateShares   []*PrivateShareRegistryEntry `json:"private_shares,omitempty"`
}

func LoadRegistry added in v1.0.1

func LoadRegistry(path string) (*Registry, error)

func (*Registry) Save added in v1.0.1

func (r *Registry) Save(path string) error

type SharePrivateRequest added in v1.0.1

type SharePrivateRequest struct {
	Target            string   `json:"target"`
	PrivateShareToken string   `json:"private_share_token"`
	BackendMode       string   `json:"backend_mode"`
	Insecure          bool     `json:"insecure"`
	Closed            bool     `json:"closed"`
	AccessGrants      []string `json:"access_grants"`
}

type SharePublicRequest added in v1.0.1

type SharePublicRequest struct {
	Target               string          `json:"target"`
	BasicAuth            []string        `json:"basic_auth"`
	NameSelections       []NameSelection `json:"name_selections"`
	BackendMode          string          `json:"backend_mode"`
	Insecure             bool            `json:"insecure"`
	OauthProvider        string          `json:"oauth_provider"`
	OauthEmailDomains    []string        `json:"oauth_email_domains"`
	OauthRefreshInterval string          `json:"oauth_refresh_interval"`
	Closed               bool            `json:"closed"`
	AccessGrants         []string        `json:"access_grants"`
}

type UnifiedBootHandler added in v1.1.9

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

UnifiedBootHandler provides centralized boot message processing eliminating duplication across share and access operations

func NewAccessBootHandler added in v1.1.9

func NewAccessBootHandler(acc *access, bootErr *error) *UnifiedBootHandler

NewAccessBootHandler creates a boot handler configured for access operations

func NewBootHandler added in v1.1.9

func NewBootHandler(config *BootHandlerConfig, bootErr *error) *UnifiedBootHandler

NewBootHandler creates a new unified boot handler with the specified configuration

func NewShareBootHandler added in v1.1.9

func NewShareBootHandler(shr *share, bootErr *error) *UnifiedBootHandler

NewShareBootHandler creates a boot handler configured for share operations

func (*UnifiedBootHandler) HandleBoot added in v1.1.9

func (ubh *UnifiedBootHandler) HandleBoot(msgType string, msg subordinate.Message)

HandleBoot processes boot and error messages from subordinate processes

func (*UnifiedBootHandler) HandleMalformed added in v1.1.9

func (ubh *UnifiedBootHandler) HandleMalformed(msg subordinate.Message)

HandleMalformed processes malformed messages from subordinate processes

Directories

Path Synopsis
Package agentGrpc is a reverse proxy.
Package agentGrpc is a reverse proxy.

Jump to

Keyboard shortcuts

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