Skip to content

Commit

Permalink
Merge pull request #852 from n1hility/add-wsl-defaults
Browse files Browse the repository at this point in the history
Add image and repo defaults for podman machine
  • Loading branch information
openshift-merge-robot authored Dec 9, 2021
2 parents b1de78a + 7a82183 commit 24f3634
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 4 deletions.
12 changes: 10 additions & 2 deletions docs/containers.conf.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -621,15 +621,23 @@ Number of CPU's a machine is created with.

The size of the disk in GB created when init-ing a podman-machine VM

**image**="testing"
**image**=""

Default image used when creating a new VM using `podman machine init`.
Options: `testing`, `stable`, `next`, or a custom path or download URL to an image
Options: On Linux/Mac, `testing`, `stable`, `next`. On Windows, the major
version of the OS (e.g `35`). For all platforms you can alternatively specify
a custom path or download URL to an image. The default is `testing` on
Linux/Mac, and `35` on Windows.

**memory**=2048

Memory in MB a machine is created with.

**user**=""

Username to use and create on the podman machine OS for rootless container
access. The default value is `user`. On Linux/Mac the default is`core`.

# FILES

**containers.conf**
Expand Down
2 changes: 2 additions & 0 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,8 @@ 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 string `toml:"user,omitempty"`
}

// Destination represents destination for remote service
Expand Down
5 changes: 5 additions & 0 deletions pkg/config/containers.conf
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,11 @@ default_sysctls = [
#
#memory=2048

# The username to use and create on the podman machine OS for rootless
# container access.
#
#user = "core"

# 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
Expand Down
3 changes: 2 additions & 1 deletion pkg/config/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,9 @@ func defaultMachineConfig() MachineConfig {
return MachineConfig{
CPUs: 1,
DiskSize: 100,
Image: "testing",
Image: getDefaultMachineImage(),
Memory: 2048,
User: getDefaultMachineUser(),
}
}

Expand Down
11 changes: 11 additions & 0 deletions pkg/config/default_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ const (
oldMaxSize = uint64(1048576)
)

// getDefaultMachineImage returns the default machine image stream
// On Linux/Mac, this returns the FCOS stream
func getDefaultMachineImage() string {
return "testing"
}

// getDefaultMachineUser returns the user to use for rootless podman
func getDefaultMachineUser() string {
return "core"
}

// getDefaultRootlessNetwork returns the default rootless network configuration.
// It is "slirp4netns" for Linux.
func getDefaultRootlessNetwork() string {
Expand Down
13 changes: 12 additions & 1 deletion pkg/config/default_unsupported.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
// +build !linux
// +build !linux,!windows

package config

// getDefaultMachineImage returns the default machine image stream
// On Linux/Mac, this returns the FCOS stream
func getDefaultMachineImage() string {
return "testing"
}

// getDefaultMachineUser returns the user to use for rootless podman
func getDefaultMachineUser() string {
return "core"
}

// getDefaultRootlessNetwork returns the default rootless network configuration.
// It is "cni" for non-Linux OSes (to better support `podman-machine` usecases).
func getDefaultRootlessNetwork() string {
Expand Down
28 changes: 28 additions & 0 deletions pkg/config/default_windows.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package config

// getDefaultImage returns the default machine image stream
// On Windows this refers to the Fedora major release number
func getDefaultMachineImage() string {
return "35"
}

// getDefaultMachineUser returns the user to use for rootless podman
func getDefaultMachineUser() string {
return "user"
}

// getDefaultRootlessNetwork returns the default rootless network configuration.
// It is "cni" for non-Linux OSes (to better support `podman-machine` usecases).
func getDefaultRootlessNetwork() string {
return "cni"
}

// isCgroup2UnifiedMode returns whether we are running in cgroup2 mode.
func isCgroup2UnifiedMode() (isUnified bool, isUnifiedErr error) {
return false, nil
}

// getDefaultProcessLimits returns the nofile and nproc for the current process in ulimits format
func getDefaultProcessLimits() []string {
return []string{}
}

0 comments on commit 24f3634

Please sign in to comment.