Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var PackageMapping = map[string]map[string]string{
"tar": {
"ubuntu": "tar",
"debian": "tar",
"fedora": "tar",
"centos": "tar",
"opensuse": "tar",
"rocky": "tar",
"almalinux": "tar",
},
"iscsiadm": {
"ubuntu": "open-iscsi",
"debian": "open-iscsi",
"fedora": "iscsi-initiator-utils",
"centos": "iscsi-initiator-utils",
"opensuse": "open-iscsi",
"rocky": "iscsi-initiator-utils",
"almalinux": "iscsi-initiator-utils",
},
"git": {
"ubuntu": "git",
"debian": "git",
"fedora": "git",
"centos": "git",
"opensuse": "git",
"rocky": "git",
"almalinux": "git",
},
"curl": {
"ubuntu": "curl",
"debian": "curl",
"fedora": "curl",
"centos": "curl",
"opensuse": "curl",
"rocky": "curl",
"almalinux": "curl",
},
"wget": {
"ubuntu": "wget",
"debian": "wget",
"fedora": "wget",
"centos": "wget",
"opensuse": "wget",
"rocky": "wget",
"almalinux": "wget",
},
"ca-certificates": {
"ubuntu": "ca-certificates",
"debian": "ca-certificates",
"fedora": "ca-certificates",
"centos": "ca-certificates",
"opensuse": "ca-certificates",
"rocky": "ca-certificates",
"almalinux": "ca-certificates",
},
"apt-transport-https": {
"ubuntu": "apt-transport-https",
"debian": "apt-transport-https",
"fedora": "",
"centos": "",
"opensuse": "",
"rocky": "",
"almalinux": "",
},
"apache2-utils": {
"ubuntu": "apache2-utils",
"debian": "apache2-utils",
"fedora": "httpd-tools",
"centos": "httpd-tools",
"opensuse": "apache2-utils",
"rocky": "httpd-tools",
"almalinux": "httpd-tools",
},
}
PackageMapping defines the mapping of common package names to distribution-specific package names
Functions ¶
func GetDistributionPackages ¶
GetDistributionPackages returns all available packages for the specified distribution
Types ¶
type AptInstaller ¶
type AptInstaller struct {
// Channel to send log messages
LogChan chan<- string
}
AptInstaller for Debian-based systems
func NewAptInstaller ¶
func NewAptInstaller(logChan chan<- string) *AptInstaller
NewAptInstaller creates apt package manager
func (*AptInstaller) InstallPackages ¶
func (self *AptInstaller) InstallPackages(ctx context.Context, packages []string, progressFunc ProgressFunc) error
InstallPackages handles apt package installation
type DNFInstaller ¶
type DNFInstaller struct {
// Channel to send log messages
LogChan chan<- string
}
DNFInstaller handles installation of dnf packages
func NewDNFInstaller ¶
func NewDNFInstaller(logChan chan<- string) *DNFInstaller
NewDNFInstaller creates a new DNFInstaller
func (*DNFInstaller) InstallPackages ¶
func (self *DNFInstaller) InstallPackages(ctx context.Context, packages []string, progressFunc ProgressFunc) error
InstallPackages installs the specified packages using dnf
type PackageManager ¶
type PackageManager interface {
// InstallPackages installs the specified packages
// The operation can be cancelled using the provided context
InstallPackages(ctx context.Context, packages []string, progressFunc ProgressFunc) error
}
PackageManager common interface for diff pkg systems
func NewPackageManager ¶
func NewPackageManager(distribution string, logChan chan<- string) (PackageManager, error)
NewPackageManager factory based on distro type
type ProgressFunc ¶ added in v0.0.21
ProgressFunc callback for install progress updates
type ZypperInstaller ¶
type ZypperInstaller struct {
// Channel to send log messages
LogChan chan<- string
}
ZypperInstaller handles installation of zypper packages
func NewZypperInstaller ¶
func NewZypperInstaller(logChan chan<- string) *ZypperInstaller
NewZypperInstaller creates a new ZypperInstaller
func (*ZypperInstaller) InstallPackages ¶
func (self *ZypperInstaller) InstallPackages(ctx context.Context, packages []string, progressFunc ProgressFunc) error
InstallPackages installs the specified packages using zypper