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 of the config file. Arguments: [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)
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] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)
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_UUSER}})
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] Delete an instance by its name or delete all instances of the config file if NAME is not set.
The deleted instances are purged, the other deleted instances of the host are left untouched.
Usage: task multipass:delete [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 of the config file. Arguments: [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)

[MULTIPASS] List the instances declared in the config file with their state, IP and mounts.
An instance declared but not created is shown as Missing.
Usage: task multipass:list [CONFIG|C={{.DEFAULT_CONFIG_PATH}}]
Arguments Description
CONFIG | C Config file path (optional, by default {{.DEFAULT_CONFIG_PATH}})

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] [CONFIG|C={{.DEFAULT_CONFIG_PATH}}] (*)

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

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