globalconfig

package
v1.17.2 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DdevSSHAgentContainer = "ddev-ssh-agent"
	DBAContainer          = "dba"
)

Container types used with ddev (duplicated from ddevapp, avoiding cross-package cycles)

View Source
const DdevGlobalConfigName = "global_config.yaml"

DdevGlobalConfigName is the name of the global config file.

Variables

View Source
var DdevDebug = (os.Getenv("DDEV_DEBUG") == "true")
View Source
var DdevNoInstrumentation = os.Getenv("DDEV_NO_INSTRUMENTATION") == "true"
View Source
var DdevVerbose = (os.Getenv("DDEV_VERBOSE") == "true")
View Source
var IsInternetActiveAlreadyChecked = false
View Source
var IsInternetActiveNetResolver interface {
	LookupHost(ctx context.Context, host string) (addrs []string, err error)
} = net.DefaultResolver

IsInternetActiveNetResolver wraps the standard DNS resolver. In order to override net.DefaultResolver with a stub, we have to define an interface on our own since there is none from the standard library.

View Source
var IsInternetActiveResult = false
View Source
var ValidOmitContainers = map[string]bool{
	DdevSSHAgentContainer: true,
	DBAContainer:          true,
}

Functions

func CheckHostPortsAvailable added in v1.7.0

func CheckHostPortsAvailable(projectName string, ports []string) error

Check GlobalDdev UsedHostPorts to see if requested ports are available.

func GetCAROOT added in v1.13.0

func GetCAROOT() string

GetCAROOT() is just a wrapper on global config

func GetFreePort added in v1.7.0

func GetFreePort(localIPAddr string) (string, error)

GetFreePort gets an ephemeral port currently available, but also not listed in DdevGlobalConfig.UsedHostPorts

func GetGlobalConfigPath

func GetGlobalConfigPath() string

GetGlobalConfigPath() gets the path to global config file

func GetGlobalDdevDir

func GetGlobalDdevDir() string

GetGlobalDdevDir returns ~/.ddev, the global caching directory

func GetGlobalProjectList added in v1.9.0

func GetGlobalProjectList() map[string]*ProjectInfo

GetGlobalProjectList() returns the global project list map

func GetValidOmitContainers

func GetValidOmitContainers() []string

GetValidOmitContainers is a helper function that returns a list of valid containers for OmitContainers.

func HostPostIsAllocated added in v1.7.0

func HostPostIsAllocated(port string) string

HostPortIsAllocated returns the project name that has allocated the port, or empty string.

func IsInternetActive added in v1.15.0

func IsInternetActive() bool

IsInternetActive() checks to see if we have a viable internet connection. It just tries a quick DNS query. This requires that the named record be query-able. This check will only be made once per command run.

func IsValidOmitContainers

func IsValidOmitContainers(containerList []string) bool

IsValidOmitContainers is a helper function to determine if a the OmitContainers array is valid

func ReadGlobalConfig

func ReadGlobalConfig() error

ReadGlobalConfig() reads the global config file into DdevGlobalConfig

func RemoveProjectInfo added in v1.8.0

func RemoveProjectInfo(projectName string) error

RemoveProjectInfo() removes the ProjectInfo line for a project

func ReservePorts added in v1.7.0

func ReservePorts(projectName string, ports []string) error

ReservePorts() adds the ProjectInfo if necessary and assigns the reserved ports

func SetProjectAppRoot added in v1.9.0

func SetProjectAppRoot(projectName string, appRoot string) error

SetProjectAppRoot() sets the approot in the ProjectInfo of global config

func ValidateGlobalConfig

func ValidateGlobalConfig() error

ValidateGlobalConfig validates global config

func WriteGlobalConfig

func WriteGlobalConfig(config GlobalConfig) error

WriteGlobalConfig writes the global config into ~/.ddev.

Types

type GlobalConfig

type GlobalConfig struct {
	OmitContainersGlobal     []string `yaml:"omit_containers,flow"`
	NFSMountEnabledGlobal    bool     `yaml:"nfs_mount_enabled"`
	InstrumentationOptIn     bool     `yaml:"instrumentation_opt_in"`
	RouterBindAllInterfaces  bool     `yaml:"router_bind_all_interfaces"`
	InternetDetectionTimeout int64    `yaml:"internet_detection_timeout_ms"`
	DeveloperMode            bool     `yaml:"developer_mode,omitempty"`
	InstrumentationUser      string   `yaml:"instrumentation_user,omitempty"`
	LastStartedVersion       string   `yaml:"last_started_version"`
	MkcertCARoot             string   `yaml:"mkcert_caroot"`
	UseHardenedImages        bool     `yaml:"use_hardened_images"`
	UseLetsEncrypt           bool     `yaml:"use_letsencrypt"`
	LetsEncryptEmail         string   `yaml:"letsencrypt_email"`
	AutoRestartContainers    bool     `yaml:"auto_restart_containers"`
	FailOnHookFailGlobal     bool     `yaml:"fail_on_hook_fail"`
	WebEnvironment           []string `yaml:"web_environment"`

	ProjectList map[string]*ProjectInfo `yaml:"project_info"`
}

GlobalConfig is the struct defining ddev's global config

var (
	// DdevGlobalConfig is the currently active global configuration struct
	DdevGlobalConfig GlobalConfig
)

type InvalidOmitContainers

type InvalidOmitContainers error

type ProjectInfo added in v1.7.0

type ProjectInfo struct {
	AppRoot       string   `yaml:"approot"`
	UsedHostPorts []string `yaml:"used_host_ports,omitempty,flow"`
}

func GetProject added in v1.9.0

func GetProject(projectName string) *ProjectInfo

GetProject returns a project given name provided, or nil if not found.

Jump to

Keyboard shortcuts

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