mirror of
https://github.com/containers/podman
synced 2024-10-21 09:45:32 +00:00
c74f8f04fd
Switch default to rootless for mac and windows Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
79 lines
1.6 KiB
Go
79 lines
1.6 KiB
Go
//go:build amd64 || arm64
|
|
// +build amd64 arm64
|
|
|
|
package machine
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/containers/common/pkg/config"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
func AddConnection(uri fmt.Stringer, name, identity string, isDefault bool) error {
|
|
if len(identity) < 1 {
|
|
return errors.New("identity must be defined")
|
|
}
|
|
cfg, err := config.ReadCustomConfig()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if _, ok := cfg.Engine.ServiceDestinations[name]; ok {
|
|
return errors.New("cannot overwrite connection")
|
|
}
|
|
if isDefault {
|
|
cfg.Engine.ActiveService = name
|
|
}
|
|
dst := config.Destination{
|
|
URI: uri.String(),
|
|
}
|
|
dst.Identity = identity
|
|
if cfg.Engine.ServiceDestinations == nil {
|
|
cfg.Engine.ServiceDestinations = map[string]config.Destination{
|
|
name: dst,
|
|
}
|
|
cfg.Engine.ActiveService = name
|
|
} else {
|
|
cfg.Engine.ServiceDestinations[name] = dst
|
|
}
|
|
return cfg.Write()
|
|
}
|
|
|
|
func AnyConnectionDefault(name ...string) (bool, error) {
|
|
cfg, err := config.ReadCustomConfig()
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
for _, n := range name {
|
|
if n == cfg.Engine.ActiveService {
|
|
return true, nil
|
|
}
|
|
}
|
|
|
|
return false, nil
|
|
}
|
|
|
|
func ChangeDefault(name string) error {
|
|
cfg, err := config.ReadCustomConfig()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
cfg.Engine.ActiveService = name
|
|
|
|
return cfg.Write()
|
|
}
|
|
|
|
func RemoveConnection(name string) error {
|
|
cfg, err := config.ReadCustomConfig()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if _, ok := cfg.Engine.ServiceDestinations[name]; ok {
|
|
delete(cfg.Engine.ServiceDestinations, name)
|
|
} else {
|
|
return errors.Errorf("unable to find connection named %q", name)
|
|
}
|
|
return cfg.Write()
|
|
}
|