Install and configure Bareos Storage Daemon.
GitHub | GitLab | Downloads | Version |
---|---|---|---|
This example is taken from molecule/default/converge.yml
and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: true
gather_facts: true
roles:
- role: robertdebock.bareos_sd
bareos_sd_backup_configurations: true
bareos_sd_install_debug_packages: true
bareos_sd_devices:
- name: "FileStorage"
description: "File device. A connecting Director must have the same Name and MediaType."
media_type: "File"
archive_device: "/var/lib/bareos/storage"
label_media: true
random_access: true
automatic_mount: true
removable_media: false
always_open: false
maximum_concurrent_jobs: 1
- name: "disabled-device"
enabled: false
bareos_sd_directors:
- name: bareos-dir
password: "somepassword"
- name: "disabled-director"
enabled: false
bareos_sd_messages:
- name: "Standard"
description: "Send relevant messages to the Director."
director:
server: bareos-dir
messages:
- all
- "!skipped"
- "!restored"
append:
file: "/var/log/bareos/bareos.log"
messages:
- all
- "!skipped"
- "!terminate"
console:
- all
- "!skipped"
- "!saved"
- name: "disabled-message"
enabled: false
bareos_sd_s3_profiles:
- name: exoscale
host: "sos.exo.io:443"
use_https: true
access_key: "SomeAPIKey"
secret_key: "SomeSecret"
pricing_dir: ""
backend: "s3"
aws_auth_sign_version: 4
aws_region: "ch-gva-2"
The machine needs to be prepared. In CI this is done using molecule/default/prepare.yml
:
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- role: robertdebock.bootstrap
- role: robertdebock.bareos_repository
bareos_repository_enable_tracebacks: true
Also see a full explanation and example on how to use these roles.
The default values for the variables are set in defaults/main.yml
:
---
# defaults file for bareos_sd
# The Storage Daemon has these configuration parameters.
# Backup the configuration files.
bareos_sd_backup_configurations: false
# Install debug packages. This requires the debug repositories to be enabled.
bareos_sd_install_debug_packages: false
# The hostname of the Storage Daemon.
bareos_sd_hostname: "{{ inventory_hostname }}"
# The messages configuration to use.
bareos_sd_message: "Standard"
# The amount of jobs to run concurrently.
bareos_sd_max_concurrent_jobs: 20
# Enable TLS.
bareos_sd_tls_enable: true
# Verify the peer.
bareos_sd_tls_verify_peer: false
# A list of autochangers to configure.
bareos_sd_autochangers: []
# A list of devices to configure.
bareos_sd_devices: []
# A list of directors to connect to.
bareos_sd_directors: []
# A list of messages to send to the director.
bareos_sd_messages: []
# A list of S3 profiles to configure.
bareos_sd_s3_profiles: []
- pip packages listed in requirements.txt.
The following roles are used to prepare a system. You can prepare your system in another way.
Requirement | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap | ||
robertdebock.bareos_repository |
This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.
Here is an overview of related roles:
This role has been tested on these container images:
container | tags |
---|---|
Debian | bookworm, bullseye, buster |
EL | 9 |
Fedora | 38, 39 |
Ubuntu | jammy |
The minimum version of Ansible required is 2.12, tests have been done to:
- The previous version.
- The current version.
- The development version.
If you find issues, please register them in GitHub.
Please consider sponsoring me.