Skip to content

multipass

A set of tasks to manage Multipass VM

List of tasks

Tasks Description
multipass:create-from-config Create instances from a config file. Arguments: [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)
multipass:create-instance Create an instance. Arguments: NAME|N=instance_name [U_USER|U=ubuntu] [CPU|C=1] [MEM|M=1G] [DISK|D=5G] [IMG|I=jammy] (*)
multipass:delete Delete instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] [FORCE|F=y|Y] (*)
multipass:list List instances.
multipass:mount Mount a local directory inside an instance. Arguments: HOST|H=docker [SOURCE|S=] (*)
multipass:mount-all Mount all local directories declared in the multipass config file. Arguments: HOST|H=docker (*)
multipass:reset Restart multipass daemon and kill all hyperkit instances
multipass:ssh ssh connection. Arguments: NAME|N=docker [U_USER|U=ubuntu] (*)
multipass:start Start instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)
multipass:stop Stop instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)
multipass:umount Unmount a directory from an instance. Arguments: HOST|H=docker [SOURCE|S=] (*)
multipass:umount-all Unmount all directories from an instance. Arguments: HOST|H=docker (*)

global variables

Variables Description Default value
DEFAULT_CONFIG - `---
instances:
- name: {{.DEFAULT_NAME}}
user: {{.DEFAULT_UUSER}}
image: {{.DEFAULT_IMG}}
cpu: {{.DEFAULT_CPU}}
mem: {{.DEFAULT_MEM}}
disk: {{.DEFAULT_DISK}}
mounts:
- /users/my_home_dir
metadata:
- metadata1: "my metadata"
`
DEFAULT_CONFIG_PATH Default configuration file relative path {{.DIR_CONFIG}}/multipass.yml
DEFAULT_CPU Instance default CPU -
DEFAULT_DISK Instance default disk size 5G
DEFAULT_IMG Instance default image lts
DEFAULT_MEM Instance default memory size 1G
DEFAULT_NAME Default Multipass instance name multipass-default
DEFAULT_UUSER Instance default username ubuntu
DIR_CONFIG Configuration directory relative path config
DIR_SSH ssh key directory relative path .ssh

multipass:create-from-config

Create instances from a config file. Arguments: [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)

[MULTIPASS] Create instances from a config file.
A default multipass.yml file is created, if it does not exist.
Usage: task multipass:create-from-config [CONFIG|C={{.DEFAULT_CONFIG_PATH}}]
Arguments Description
CONFIG | C Config file path (optional, by default {{.DEFAULT_CONFIG_PATH}})

Requirements:

  • None

multipass:create-instance

Create an instance. Arguments: NAME|N=instance_name [U_USER|U=ubuntu] [CPU|C=1] [MEM|M=1G] [DISK|D=5G] [IMG|I=jammy] (*)

[MULTIPASS] Create an instance.
A key pair k-<instance_name>-1.pem is generated for every instance in {{.DIR_SSH}}/ directory.
A default cloud-init file will be used except if a file named cloud-init-<instance_name>.yml
exists in the {{.DIR_CONFIG}}/ directory.
Usage: task multipass:create-instance NAME|N=<instance_name> [U_USER|U=ubuntu] [CPU|C=1] [MEM|M=1G] [DISK|D=5G] [IMG|I=jammy]
Arguments Description
NAME | N Name for the instance (required)
U_USER | U Username (optional, by default {{.DEFAULT_USER}})
CPU | C Number of CPUs to allocate (optional, by default {{.DEFAULT_CPU}})
MEM | M Amount of memory to allocate (optional, by default {{.DEFAULT_MEM}})
DISK | D Disk space to allocate (optional, by default {{.DEFAULT_DISK}})
IMG | I Image to launch (optional, by default {{.DEFAULT_IMG}})

Requirements:

  • None

multipass:delete

Delete instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] [FORCE|F=y|Y] (*)

[MULTIPASS] Stop an instance by its name or delete all instances of the config file if NAME is not set.
Usage: task multipass:stop [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] [FORCE|F=y|Y]
Arguments Description
NAME | N Name for the instance (optional)
CONFIG | C Config file path (optional, by default {{.DEFAULT_CONFIG_PATH}})
FORCE | F Delete instances without confirmation (optional, by default no)

Requirements:

  • None

multipass:list

List instances.


Arguments Description
- -

Requirements:

  • None

multipass:mount

Mount a local directory inside an instance. Arguments: HOST|H=docker [SOURCE|S=] (*)

[MULTIPASS] Mount a local directory inside an instance.
Usage: task multipass:mount HOST|H=<hostname> [SOURCE|S=<path>]
Arguments Description
HOST | H Hostname (required)
SOURCE | S Path of the local directory to mount (optional, by default current directory)

Requirements:

  • None

multipass:mount-all

Mount all local directories declared in the multipass config file. Arguments: HOST|H=docker (*)

[MULTIPASS] Mount all local directories declared in the multipass config file.
Usage: task multipass:mount-all HOST|H=<hostname>
Arguments Description
HOST | H Hostname (optional, by default mount declared directories for all declared hosts)

Requirements:

  • None

multipass:reset

Restart multipass daemon and kill all hyperkit instances


Arguments Description
- -

Requirements:

  • None

multipass:ssh

ssh connection. Arguments: NAME|N=docker [U_USER|U=ubuntu] (*)

[SYSTEM] ssh connection.
Usage: task multipass:ssh NAME|N=<hostname> [U_USER|U=<username>]
Arguments Description
NAME | N Name of the instance (required)
U_USER | U Username (optional, by default {{.DEFAULT_UUSER}})

Requirements:

  • None

multipass:start

Start instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)

[MULTIPASS] Start an instance by its name or start all instances of the config file if NAME is not set.
Usage: task multipass:start [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}]
Arguments Description
NAME | N Name for the instance (optional)
CONFIG | C Config file path (optional, by default {{.DEFAULT_CONFIG_PATH}})

Requirements:

  • None

multipass:stop

Stop instances. Arguments: [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)

[MULTIPASS] Stop an instance by its name or stop all instances of the config file if NAME is not set.
Usage: task multipass:stop [NAME|N=instance_name] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}]
Arguments Description
NAME | N Name for the instance (optional)
CONFIG | C Config file path (optional, by default {{.DEFAULT_CONFIG_PATH}})

Requirements:

  • None

multipass:umount

Unmount a directory from an instance. Arguments: HOST|H=docker [SOURCE|S=] (*)

[MULTIPASS] Unmount a directory from an instance.
Usage: task multipass:umount HOST|H=<hostname> [SOURCE|S=<path>]
Arguments Description
HOST | H Hostname (required)
SOURCE | S Path of the local directory to umount (optional, by default current directory)

Requirements:

  • None

multipass:umount-all

Unmount all directories from an instance. Arguments: HOST|H=docker (*)

[MULTIPASS] Unmount all directories from an instance.
Usage: task multipass:umount-all HOST|H=<hostname>
Arguments Description
HOST | H Hostname (required)

Requirements:

  • None