Skip to content

Split the installation and configuration of Bareos by services #17

@btravouillon

Description

@btravouillon

Description of the feature request

From https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html#bareos-components-or-services, the components and services are:

  • Bareos Director
  • Bareos Storage Daemon
  • Bareos File Daemon
  • Bareos Console
  • Catalog (PostgreSQL DB)
  • Bareos WebUI

The interactions between the services are represented in https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html#interactions-between-the-bareos-services.

The role should allow to configure a backup environment with:

  • 1 Director
  • 1 Catalog (can be installed on the same host than the Director, or on a different host)
  • x Storage Daemon (a single host could run the Director and the Storage Daemon)
  • y File Daemons
  • z Bareos Console (can be installed on the same host than the Director, or on a different host)
  • 1 Bareos WebUI (can be installed on the same host than the Director, or on a different host)

Important

Configuration of several isolated backup environments should be possilble as well, considering each environment has its own Ansible inventory or playbook.

Current Issue

Current version of this role (1.4.9) supports installation of either clients or servers, but does not support to split the installation by Bareos services.

If bareos_install_server=True, the role will install and configure the Catalog, the Director, the Storage and the Console on the same host. This means that any setup with more than one Storage Daemon cannot be implemented with this role.

Proposed implementation

Define which services should run on which hosts by their groups membership. Create one Ansible group per service or component:

  • Bareos Director -> bareos_director
  • Bareos Storage Daemon -> bareos_storage
  • Bareos File Daemon -> bareos_clients
  • Bareos Console -> bareos_console
  • Catalog (PostgreSQL DB) -> bareos_catalog
  • Bareos WebUI -> bareos_webui

For each member of a given group, install and configure the service.

Note

This change could be a good candidate to update this role to a collection, with one role per service.

Action items

  • Split Director configuration from tasks/bareos_server.yml
  • Split Storage Daemon configuration from tasks/bareos_server.yml (feat: Split Storage Daemon config from server #20)
  • Split Console configuration from tasks/bareos_server.yml
  • Split Catalog (PostgreSQL) configuration from tasks/bareos_server.yml
  • Split WebUI configuration from tasks/bareos_server.yml
  • Document the changes
  • Create a new major release 2.0.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions