config

package
v0.6.8 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const (
	AppName = "colima"
)
View Source
const ConfigFileName = "colima.yaml"

Variables

This section is empty.

Functions

func CacheDir

func CacheDir() string

CacheDir returns the cache directory.

func CtxKey added in v0.4.0

func CtxKey() any

CtxKey returns the context key for config.

func Dir

func Dir() string

Dir returns the configuration directory.

func File added in v0.4.0

func File() string

File returns the path to the config file.

func LimaDir added in v0.6.0

func LimaDir() string

TemplatesDir returns the templates' directory.

func SSHConfigFile added in v0.5.6

func SSHConfigFile() string

SSHConfigFile returns the path to generated ssh config.

func SetProfile

func SetProfile(profileName string)

SetProfile sets the profile name for the application. This is an avenue to test Colima without breaking an existing stable setup. Not perfect, but good enough for testing.

func TemplatesDir added in v0.4.0

func TemplatesDir() string

TemplatesDir returns the templates' directory.

Types

type Config

type Config struct {
	CPU          int               `yaml:"cpu,omitempty"`
	Disk         int               `yaml:"disk,omitempty"`
	Memory       int               `yaml:"memory,omitempty"`
	Arch         string            `yaml:"arch,omitempty"`
	CPUType      string            `yaml:"cpuType,omitempty"`
	ForwardAgent bool              `yaml:"forwardAgent,omitempty"`
	Network      Network           `yaml:"network,omitempty"`
	Env          map[string]string `yaml:"env,omitempty"` // environment variables
	Hostname     string            `yaml:"hostname"`

	// VM
	VMType    string `yaml:"vmType,omitempty"`
	VZRosetta bool   `yaml:"rosetta,omitempty"`

	// volume mounts
	Mounts       []Mount `yaml:"mounts,omitempty"`
	MountType    string  `yaml:"mountType,omitempty"`
	MountINotify bool    `yaml:"mountInotify,omitempty"`

	// Runtime is one of docker, containerd.
	Runtime         string `yaml:"runtime,omitempty"`
	ActivateRuntime *bool  `yaml:"autoActivate,omitempty"`

	// Kubernetes configuration
	Kubernetes Kubernetes `yaml:"kubernetes,omitempty"`

	// Docker configuration
	Docker map[string]any `yaml:"docker,omitempty"`

	// provision scripts
	Provision []Provision `yaml:"provision,omitempty"`

	// SSH config generation
	SSHConfig bool `yaml:"sshConfig,omitempty"`
}

Config is the application config.

func (Config) AutoActivate added in v0.4.5

func (c Config) AutoActivate() bool

AutoActivate returns if auto-activation of host client config is enabled.

func (Config) DriverLabel added in v0.5.0

func (c Config) DriverLabel() string

func (Config) Empty

func (c Config) Empty() bool

Empty checks if the configuration is empty.

func (Config) MountsOrDefault added in v0.4.3

func (c Config) MountsOrDefault() []Mount

type Kubernetes

type Kubernetes struct {
	Enabled bool     `yaml:"enabled"`
	Version string   `yaml:"version"`
	K3sArgs []string `yaml:"k3sArgs"`
}

Kubernetes is kubernetes configuration

type Mount added in v0.4.0

type Mount struct {
	Location   string `yaml:"location"`
	MountPoint string `yaml:"mountPoint,omitempty"`
	Writable   bool   `yaml:"writable"`
}

Mount is volume mount

type Network added in v0.4.0

type Network struct {
	Address      bool              `yaml:"address"`
	DNSResolvers []net.IP          `yaml:"dns"`
	DNSHosts     map[string]string `yaml:"dnsHosts"`
}

Network is VM network configuration

type ProfileInfo added in v0.3.0

type ProfileInfo struct {
	ID          string
	DisplayName string
	ShortName   string
}

ProfileInfo is information about the colima profile.

func CurrentProfile added in v0.4.2

func CurrentProfile() ProfileInfo

CurrentProfile returns the current application profile.

func Profile

func Profile(name string) ProfileInfo

Profile converts string to profile info.

type Provision added in v0.4.5

type Provision struct {
	Mode   string `yaml:"mode"`
	Script string `yaml:"script"`
}

type VersionInfo

type VersionInfo struct {
	Version  string
	Revision string
}

VersionInfo is the application version info.

func AppVersion

func AppVersion() VersionInfo

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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