mirror of
https://github.com/containers/podman.git
synced 2025-10-19 20:23:08 +08:00
Update containers/common to main branch
Want to add support for Machine.Volumes Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
4
vendor/github.com/containers/common/pkg/config/config.go
generated
vendored
4
vendor/github.com/containers/common/pkg/config/config.go
generated
vendored
@ -558,8 +558,10 @@ type MachineConfig struct {
|
||||
Image string `toml:"image,omitempty"`
|
||||
// Memory in MB a machine is created with.
|
||||
Memory uint64 `toml:"memory,omitempty,omitzero"`
|
||||
// Username to use for rootless podman when init-ing a podman machine VM
|
||||
// User to use for rootless podman when init-ing a podman machine VM
|
||||
User string `toml:"user,omitempty"`
|
||||
// Volumes are host directories mounted into the VM by default.
|
||||
Volumes []string `toml:"volumes"`
|
||||
}
|
||||
|
||||
// Destination represents destination for remote service
|
||||
|
9
vendor/github.com/containers/common/pkg/config/containers.conf
generated
vendored
9
vendor/github.com/containers/common/pkg/config/containers.conf
generated
vendored
@ -627,6 +627,15 @@ default_sysctls = [
|
||||
#
|
||||
#user = "core"
|
||||
|
||||
# Host directories to be mounted as volumes into the VM by default.
|
||||
# Environment variables like $HOME as well as complete paths are supported for
|
||||
# the source and destination. An optional third field `:ro` can be used to
|
||||
# tell the container engines to mount the volume readonly.
|
||||
#
|
||||
# volumes = [
|
||||
# "$HOME:$HOME",
|
||||
#]
|
||||
|
||||
# The [machine] table MUST be the last entry in this file.
|
||||
# (Unless another table is added)
|
||||
# TOML does not provide a way to end a table other than a further table being
|
||||
|
23
vendor/github.com/containers/common/pkg/config/default.go
generated
vendored
23
vendor/github.com/containers/common/pkg/config/default.go
generated
vendored
@ -9,6 +9,7 @@ import (
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
nettypes "github.com/containers/common/libnetwork/types"
|
||||
"github.com/containers/common/pkg/apparmor"
|
||||
@ -246,6 +247,7 @@ func defaultMachineConfig() MachineConfig {
|
||||
Image: getDefaultMachineImage(),
|
||||
Memory: 2048,
|
||||
User: getDefaultMachineUser(),
|
||||
Volumes: []string{"$HOME:$HOME"},
|
||||
}
|
||||
}
|
||||
|
||||
@ -593,3 +595,24 @@ func (c *Config) LogDriver() string {
|
||||
func (c *Config) MachineEnabled() bool {
|
||||
return c.Engine.MachineEnabled
|
||||
}
|
||||
|
||||
// MachineVolumes returns volumes to mount into the VM
|
||||
func (c *Config) MachineVolumes() ([]string, error) {
|
||||
return machineVolumes(c.Machine.Volumes)
|
||||
}
|
||||
|
||||
func machineVolumes(volumes []string) ([]string, error) {
|
||||
translatedVolumes := []string{}
|
||||
for _, v := range volumes {
|
||||
vol := os.ExpandEnv(v)
|
||||
split := strings.Split(vol, ":")
|
||||
if len(split) < 2 || len(split) > 3 {
|
||||
return nil, errors.Errorf("invalid machine volume %s, 2 or 3 fields required", v)
|
||||
}
|
||||
if split[0] == "" || split[1] == "" {
|
||||
return nil, errors.Errorf("invalid machine volume %s, fields must container data", v)
|
||||
}
|
||||
translatedVolumes = append(translatedVolumes, vol)
|
||||
}
|
||||
return translatedVolumes, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user