options

package
v0.0.0-...-3511abf Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApptainerContainerRuntime   = "apptainer"
	SingularityContainerRuntime = "singularity"
	DockerContainerRuntime      = "docker"
	PodmanContainerRuntime      = "podman"
)

Available container runtimes.

Variables

View Source
var DefaultFluentOptions = FluentOptions{
	ContainerName: "",
	Port:          0,
	Image:         "",
}

DefaultFluentOptions stores defaults for Agent FluentBit options, deprecated.

Functions

This section is empty.

Types

type ContainerRuntime

type ContainerRuntime string

ContainerRuntime configures which container runtime to use.

type FluentOptions

type FluentOptions struct {
	Image         string `json:"image"`
	Port          int    `json:"port"`
	ContainerName string `json:"container_name"`
}

FluentOptions stores configurable Fluent Bit-related options, deprecated no longer in use.

type HooksOptions

type HooksOptions struct {
	OnConnectionLost []string `json:"on_connection_lost"`
}

HooksOptions contains external commands to be run when specific things happen.

type Options

type Options struct {
	ConfigFile string `json:"config_file"`

	MasterHost      string `json:"master_host"`
	MasterPort      int    `json:"master_port"`
	AgentID         string `json:"agent_id"`
	ArtificialSlots int    `json:"artificial_slots"`
	SlotType        string `json:"slot_type"`

	ContainerMasterHost string `json:"container_master_host"`
	ContainerMasterPort int    `json:"container_master_port"`

	Label        string `json:"label"`
	ResourcePool string `json:"resource_pool"`

	APIEnabled bool   `json:"api_enabled"`
	BindIP     string `json:"bind_ip"`
	BindPort   int    `json:"bind_port"`

	VisibleGPUs string `json:"visible_gpus"`

	TLS      bool   `json:"tls"`
	CertFile string `json:"cert_file"`
	KeyFile  string `json:"key_file"`

	HTTPProxy  string `json:"http_proxy"`
	HTTPSProxy string `json:"https_proxy"`
	FTPProxy   string `json:"ftp_proxy"`
	NoProxy    string `json:"no_proxy"`

	Security SecurityOptions `json:"security"`

	// The Fluent docker image to use, deprecated.
	Fluent FluentOptions `json:"fluent"`

	ContainerAutoRemoveDisabled bool `json:"container_auto_remove_disabled"`

	AgentReconnectAttempts int `json:"agent_reconnect_attempts"`
	// TODO(ilia): switch this to better parsing with `model.Duration` similar to
	// master config.
	AgentReconnectBackoff int `json:"agent_reconnect_backoff"`

	Hooks HooksOptions `json:"hooks"`

	ContainerRuntime   string             `json:"container_runtime"`
	ImageRoot          string             `json:"image_root"`
	SingularityOptions SingularityOptions `json:"singularity_options"`
	PodmanOptions      PodmanOptions      `json:"podman_options"`

	Debug bool `json:"debug"`
}

Options stores all the configurable options for the Determined agent.

func (Options) Deprecations

func (o Options) Deprecations() (errs []error)

Deprecations describe fields which were recently or will soon be removed.

func (Options) Printable

func (o Options) Printable() ([]byte, error)

Printable returns a printable string.

func (*Options) Resolve

func (o *Options) Resolve()

Resolve fully resolves the agent configuration, handling dynamic defaults.

func (Options) Validate

func (o Options) Validate() []error

Validate validates the state of the Options struct.

type PodmanOptions

type PodmanOptions struct {
	AllowNetworkCreation bool `json:"allow_network_creation"` // review
}

PodmanOptions configures how we interact with podman.

type SecurityOptions

type SecurityOptions struct {
	TLS TLSOptions `json:"tls"`
}

SecurityOptions stores configurable security-related options.

type SingularityOptions

type SingularityOptions struct {
	// AllowNetworkCreation allows the agent to use `singularity run`'s `--net` option, which sets
	// up and launches containers into a new network namespace. Disabled by default since this
	// requires root or a suid installation with /etc/subuid --fakeroot.
	AllowNetworkCreation bool `json:"allow_network_creation"`
}

SingularityOptions configures how we interact with Singularity.

type TLSOptions

type TLSOptions struct {
	Enabled        bool   `json:"enabled"`
	SkipVerify     bool   `json:"skip_verify"`
	MasterCert     string `json:"master_cert"`
	MasterCertName string `json:"master_cert_name"`
	ClientCert     string `json:"client_cert"`
	ClientKey      string `json:"client_key"`
}

TLSOptions is the TLS connection configuration for the agent.

func (TLSOptions) ReadClientCertificate

func (t TLSOptions) ReadClientCertificate() (*tls.Certificate, error)

ReadClientCertificate returns the client certificate described by this configuration (nil if it does not allow TLS to be enabled).

func (TLSOptions) Validate

func (t TLSOptions) Validate() []error

Validate implements the check.Validatable interface.

Jump to

Keyboard shortcuts

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