1
0
mirror of https://github.com/lxc/incus.git synced 2026-02-05 09:46:19 +01:00
Files
incus/cmd/lxd-to-incus/sources_deb.go
Stéphane Graber 6a0bcd76ec global: Initial goimports run
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2024-11-19 17:32:18 +00:00

54 lines
1.2 KiB
Go

package main
import (
incus "github.com/lxc/incus/v6/client"
"github.com/lxc/incus/v6/shared/subprocess"
"github.com/lxc/incus/v6/shared/util"
)
type srcDeb struct{}
func (s *srcDeb) present() bool {
// Validate that the Debian package is installed.
if !util.PathExists("/var/lib/dpkg/info/lxd.list") {
return false
}
if !util.PathExists("/var/lib/lxd") {
return false
}
return true
}
func (s *srcDeb) name() string {
return ".deb package"
}
func (s *srcDeb) stop() error {
_, err := subprocess.RunCommand("systemctl", "stop", "lxd-containers.service", "lxd.service", "lxd.socket")
return err
}
func (s *srcDeb) start() error {
_, err := subprocess.RunCommand("systemctl", "start", "lxd.socket", "lxd-containers.service")
return err
}
func (s *srcDeb) purge() error {
_, err := subprocess.RunCommand("apt-get", "remove", "--yes", "--purge", "lxd", "lxd-client")
return err
}
func (s *srcDeb) connect() (incus.InstanceServer, error) {
return incus.ConnectIncusUnix("/var/lib/lxd/unix.socket", &incus.ConnectionArgs{SkipGetServer: true})
}
func (s *srcDeb) paths() (*daemonPaths, error) {
return &daemonPaths{
daemon: "/var/lib/lxd",
logs: "/var/log/lxd",
cache: "/var/cache/lxd",
}, nil
}