| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| vars | ||
| LICENSE | ||
| README.md | ||
| requirements.yml | ||
Ansible role bareos_sd
Install and configure Bareos Storage Daemon.
| GitHub | GitLab | Downloads | Version |
|---|---|---|---|
Example Playbook
This example is taken from molecule/default/converge.yml and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: yes
gather_facts: yes
roles:
- role: anry.roles.bareos_sd
bareos_sd_backup_configurations: yes
bareos_sd_install_debug_packages: yes
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: yes
random_access: yes
automatic_mount: yes
removable_media: no
always_open: no
maximum_concurrent_jobs: 1
- name: "disabled-device"
enabled: no
bareos_sd_directors:
- name: bareos-dir
password: "somepassword"
- name: "disabled-director"
enabled: no
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: no
bareos_sd_s3_profiles:
- name: exoscale
host: "sos.exo.io:443"
use_https: yes
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: yes
gather_facts: no
roles:
- role: anry.roles.bootstrap
- role: anry.roles.bareos_repository
bareos_repository_enable_tracebacks: yes
Also see a full explanation and example on how to use these roles.
Role Variables
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: no
# Install debug packages. This requires the debug repositories to be enabled.
bareos_sd_install_debug_packages: no
# 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: yes
# Verify the peer.
bareos_sd_tls_verify_peer: no
# 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: []
Requirements
- pip packages listed in requirements.txt.
State of used roles
The following roles are used to prepare a system. You can prepare your system in another way.
| Requirement | GitHub | GitLab |
|---|---|---|
| anry.bootstrap | ||
| anry.bareos_repository |
Context
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:

Compatibility
This role has been tested on these container images:
| container | tags |
|---|---|
| Debian | bookworm, bullseye, buster |
| EL | 7, 8, 9 |
| Fedora | 38, 39 |
| opensuse | all |
| Ubuntu | jammy, focal |
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.
License
Author Information
Please consider sponsoring me.