Introduction
Juju-backup-all allows operators to perform backups across all juju controllers and models. It provides auto-discovery, backing up all applications of supported charms. The tool also includes options to exclude charms, select which juju controllers to backup, and backup local juju configs.
Supported charms:
Supported juju backups:
Installation
Install juju-backup-all from Snap Store with:
snap install juju-backup-all
Then, make sure the appropriate interfaces are plugged:
snap connect juju-backup-all:juju-client-observe
snap connect juju-backup-all:ssh-keys
Usage
This tool primarily auto-discovers controllers/charms that need backing up. To backup the current controller, simply run:
juju-backup-all
This will backup all apps of all models (in the current controller) of supported charms and output
them into juju-backups/
directory. It will also backup the local juju client config.
For a more complex command, here's an example that specifies an output directory, excludes certain charms, excludes the juju client config backup, and runs backups on all controllers.
juju-backup-all -o my/backups/ -e postgresql -e etcd --all-controllers
The following command will give all the possible arguments that can be passed to the tool:
juju-backup-all -h
Security
The exporter server is an HTTP server built with the prometheus_client library, and designed to work with charm-juju-backup-all. It collects the backup results from the charms and exposes them over the HTTP protocol. The exporter service currently only supports HTTP, so the communication is not encrypted.
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snap is available for Red Hat Enterprise Linux (RHEL) 8 and RHEL 7, from the 7.6 release onward.
The packages for RHEL 7, RHEL 8, and RHEL 9 are in each distribution’s respective Extra Packages for Enterprise Linux (EPEL) repository. The instructions for adding this repository diverge slightly between RHEL 7, RHEL 8 and RHEL 9, which is why they’re listed separately below.
The EPEL repository can be added to RHEL 9 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 8 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 7 with the following command:
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Adding the optional and extras repositories is also recommended:
sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
sudo yum update
Snap can now be installed as follows:
sudo yum install snapd
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again or restart your system to ensure snap’s paths are updated correctly.
To install juju-backup-all, simply use the following command:
sudo snap install juju-backup-all
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.