summaryrefslogtreecommitdiff
path: root/vendor/github.com
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2022-04-13 17:05:32 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2022-04-13 17:05:34 -0400
commit2f4874eb073b80da0bff16e2ab5bf09d1194bc89 (patch)
tree46f047709c11598ffa2296e054dc013ed28097e9 /vendor/github.com
parent480bc83b804467086e0878653d87bf51a4791980 (diff)
downloadpodman-2f4874eb073b80da0bff16e2ab5bf09d1194bc89.tar.gz
podman-2f4874eb073b80da0bff16e2ab5bf09d1194bc89.tar.bz2
podman-2f4874eb073b80da0bff16e2ab5bf09d1194bc89.zip
Update containers/common to main branch
Want to add support for Machine.Volumes Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'vendor/github.com')
-rw-r--r--vendor/github.com/containers/common/pkg/config/config.go4
-rw-r--r--vendor/github.com/containers/common/pkg/config/containers.conf9
-rw-r--r--vendor/github.com/containers/common/pkg/config/default.go23
3 files changed, 35 insertions, 1 deletions
diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
index 2c556c1bb..77654406a 100644
--- a/vendor/github.com/containers/common/pkg/config/config.go
+++ b/vendor/github.com/containers/common/pkg/config/config.go
@@ -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
diff --git a/vendor/github.com/containers/common/pkg/config/containers.conf b/vendor/github.com/containers/common/pkg/config/containers.conf
index 48ea8263b..923b668bb 100644
--- a/vendor/github.com/containers/common/pkg/config/containers.conf
+++ b/vendor/github.com/containers/common/pkg/config/containers.conf
@@ -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
diff --git a/vendor/github.com/containers/common/pkg/config/default.go b/vendor/github.com/containers/common/pkg/config/default.go
index 14858e967..1a1da3fcd 100644
--- a/vendor/github.com/containers/common/pkg/config/default.go
+++ b/vendor/github.com/containers/common/pkg/config/default.go
@@ -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
+}