How to manage images
MAAS deploys machines from a repository of operating system images called a SimpleStreams source. There are two image streams:
- Stable – fully tested, production-ready (default).
 - Candidate – newer, less tested; use when you need support for a newer OS not yet in stable.
 
Each image includes Ubuntu or CentOS, a bootloader, an initramfs, and release notifications.
- Images sync hourly at the region level.
 - Rack controllers cache files as needed for deployment.
 
Switch image streams
You can change streams at any time.
UI
- Images > Change source > Custom
 - Set URL to:
- Stable: 
http://images.maas.io/ephemeral-v3/stable - Candidate: 
http://images.maas.io/ephemeral-v3/candidate 
 - Stable: 
 
CLI
BOOT_SOURCE_ID=$(maas $PROFILE boot-sources read)
Manage images
Images must be downloaded before deployment. Choose which ones to keep locally.
UI
- Main menu > Images > Select/Unselect > Save selection
 
CLI
maas $PROFILE boot-sources read  # list boot sources
maas $PROFILE boot-source-selections create $SOURCE_ID     os="ubuntu" release="$SERIES" arches="$ARCH"     subarches="$KERNEL" labels="*" # select boot sources
maas $PROFILE boot-resources read # list images
maas $PROFILE boot-resources import # select images
Additional CLI management
Delete a boot source
maas $PROFILE boot-source delete $SOURCE_ID
Update a boot source
maas $PROFILE boot-source update $SOURCE_ID     url=$URL keyring_filename=$KEYRING_FILE
Add a new boot source
maas $PROFILE boot-sources create     url=$URL keyring_filename=$KEYRING_FILE
 Use /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg if the new source mirrors the official streams.
Use a custom mirror
UI
- Images > Change source > Custom > enter URL > Connect
 - For advanced settings, choose Show advanced options
 - Use a local mirror (see below) for faster imports
 
Use a local mirror
A local SimpleStreams mirror improves sync performance.
Install SimpleStreams
sudo apt install simplestreams
Define helper variables
KEYRING_FILE=/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
IMAGE_SRC=https://images.maas.io/ephemeral-v3/stable
IMAGE_DIR=/var/www/html/maas/images/ephemeral-v3/stable
Mirror kernels
sudo sstream-mirror --keyring=$KEYRING_FILE $IMAGE_SRC $IMAGE_DIR 'arch=amd64' 'release~(bionic|focal)' --max=1 --progress
sudo sstream-mirror --keyring=$KEYRING_FILE $IMAGE_SRC $IMAGE_DIR 'os~(grub*|pxelinux)' --max=1 --progress
- Use 
--dry-runto preview. - Images save to 
$IMAGE_DIR. - New boot source URL: 
http://<myserver>/maas/images/ephemeral-v3/stable/. 
Verify and update
- Open the URL above to confirm access.
 - Schedule regular updates with 
cron. 
Configure MAAS to use your mirror
URL=https://$MIRROR/maas/images/ephemeral-v3/stable/
KEYRING_FILE=/usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
Replace $MIRROR with your mirror server hostname.
Safety nets
- Production use: stick to the stable stream.
 - Candidate images may contain bugs — only use if you need newer OS support.
 - Check mirrors after setup to confirm availability.
 
Next steps
- Learn About MAAS images
 - Discover How to build custom images
 - Find out How to deploy a real-time kernel