Documentation
¶
Index ¶
Constants ¶
View Source
const ( OSLinux = "linux" OSWindows = "windows" OSMacOS = "macos" OSDarwin = "darwin" )
OS constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AptInstall ¶ added in v0.7.1
type AptInstall struct {
Packages []string `yaml:"packages" json:"packages"`
Update bool `yaml:"update,omitempty" json:"update,omitempty"`
}
AptInstall represents APT installation configuration
type BrewInstall ¶ added in v0.7.1
type BrewInstall struct {
Formula string `yaml:"formula" json:"formula"`
}
BrewInstall represents Homebrew installation configuration
type ChocoInstall ¶ added in v0.7.1
type ChocoInstall struct {
Packages []string `yaml:"packages" json:"packages"`
}
ChocoInstall represents Chocolatey installation configuration
type Command ¶
type Command struct {
Command string `json:"command"`
Args []string `json:"args"`
Description string `json:"description,omitempty"`
}
Command represents a shell command to execute
type HTTPClient ¶
type HTTPClient interface {
Name() string
SupportsOS(os string) bool
IsAvailable() bool
CheckURLCommand(url string, expectedStatus int, retries *Retries) Command
}
HTTPClient defines a simple interface for HTTP clients
type PackageManager ¶
type PackageManager interface {
Name() string
SupportsOS(os string) bool
InstallSelfCommand() Command
}
PackageManager defines base interface for all package managers
type Retries ¶
type Retries struct {
Attempts int `yaml:"attempts" json:"attempts"`
Backoff int `yaml:"backoff" json:"backoff"`
}
Retries represents retry configuration
type RuntimeManager ¶ added in v0.7.1
type RuntimeManager interface {
PackageManager
GetInstallCommands(runtime, version string) []Command
CheckInstalledCommand(runtime string) Command
}
RuntimeManager handles language runtime installations (asdf)
type ServiceManager ¶
type ServiceManager interface {
Name() string
SupportsOS(os string) bool
StartServiceCommand(service string) Command
StopServiceCommand(service string) Command
EnableServiceCommand(service string) Command
}
ServiceManager defines a simple interface for service managers
type SystemPackageManager ¶ added in v0.7.1
type SystemPackageManager interface {
PackageManager
InstallCommand(pkg, version string) Command
CheckInstalledCommand(pkg string) Command
ExtractToolInstallCommands(config interface{}) ([]Command, bool)
}
SystemPackageManager handles system-level tools (brew, apt, choco)
type ToolInstallConfig ¶ added in v0.7.1
type ToolInstallConfig struct {
Brew *BrewInstall `yaml:"brew,omitempty" json:"brew,omitempty"`
Apt *AptInstall `yaml:"apt,omitempty" json:"apt,omitempty"`
Choco *ChocoInstall `yaml:"choco,omitempty" json:"choco,omitempty"`
FallbackURL string `yaml:"fallback_url,omitempty" json:"fallback_url,omitempty"`
Checksum string `yaml:"checksum,omitempty" json:"checksum,omitempty"`
}
ToolInstallConfig represents installation configuration for tools
Click to show internal directories.
Click to hide internal directories.