proxyupdater

package
v0.0.0-...-0a271de Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2025 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NewWorker = func(config Config) (worker.Worker, error) {
	if err := config.Validate(); err != nil {
		return nil, err
	}
	envWorker := &proxyWorker{
		first:  true,
		config: config,
	}
	w, err := watcher.NewNotifyWorker(watcher.NotifyConfig{
		Handler: envWorker,
	})
	if err != nil {
		return nil, errors.Trace(err)
	}
	return w, nil
}

NewWorker returns a worker.Worker that updates proxy environment variables for the process and for the whole machine.

Functions

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a dependency manifold that runs a proxy updater worker, using the api connection resource named in the supplied config.

func RunWithStdIn

func RunWithStdIn(input string, command string, args ...string) (string, error)

RunWithStdIn executes the command specified with the args with optional stdin.

Types

type API

type API interface {
	ProxyConfig(context.Context) (proxyupdater.ProxyConfiguration, error)
	WatchForProxyConfigAndAPIHostPortChanges(context.Context) (watcher.NotifyWatcher, error)
}

API is an interface that is provided to New which can be used to fetch the API host ports

type Config

type Config struct {
	SupportLegacyValues bool
	EnvFiles            []string
	SystemdFiles        []string
	API                 API
	ExternalUpdate      func(proxy.Settings) error
	InProcessUpdate     func(proxy.Settings) error
	RunFunc             func(string, string, ...string) (string, error)
	Logger              logger.Logger
}

func (*Config) Validate

func (c *Config) Validate() error

Validate ensures that all the required fields have values.

type ManifoldConfig

type ManifoldConfig struct {
	AgentName           string
	APICallerName       string
	Logger              logger.Logger
	WorkerFunc          func(Config) (worker.Worker, error)
	SupportLegacyValues bool
	ExternalUpdate      func(proxy.Settings) error
	InProcessUpdate     func(proxy.Settings) error
	RunFunc             func(string, string, ...string) (string, error)
}

ManifoldConfig defines the names of the manifolds on which a Manifold will depend.

Jump to

Keyboard shortcuts

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