Charmed PostgreSQL Tutorial - Set up the environment

Set up the environment

This is part of the Charmed PostgreSQL VM Tutorial.

Please refer to the Overview for more information.

Minimum requirements

Before we start, make sure your machine meets the following requirements.

Multipass environment

Multipass is a quick and easy way to launch virtual machines running Ubuntu. It uses the cloud-init standard to install and configure all the necessary parts automatically.

Install Multipass from Snap:

sudo snap install multipass

Launch a new VM using the charm-dev cloud-init config:

multipass launch --cpus 4 --memory 8G --disk 30G --name my-vm charm-dev

Note: All ‘multipass launch’ parameters are described here.

The Multipass list of commands is short and self-explanatory. For example, to show all running VMs, just run the command multipass list.

As soon as a new VM has started, access it using

multipass shell my-vm

Note: If at any point you’d like to leave a Multipass VM, enter Ctrl+D or type exit.

All necessary components have been pre-installed inside VM already, like LXD and Juju. The files /var/log/cloud-init.log and /var/log/cloud-init-output.log contain all low-level installation details.

Let’s bootstrap Juju to use the local LXD controller:

juju bootstrap localhost overlord

A controller can work with different models. Set up a specific model for Charmed PostgreSQL VM named ‘tutorial’:

juju add-model tutorial

You can now view the model you created above by running the command juju status. You should see something similar to the following example output:

Model     Controller  Cloud/Region         Version  SLA          Timestamp
tutorial  overlord    localhost/localhost  2.9.42   unsupported  09:38:32+01:00

Model "admin/tutorial" is empty.