Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split the installation and configuration of Bareos by services #17

Open
1 of 7 tasks
btravouillon opened this issue Aug 21, 2023 · 0 comments
Open
1 of 7 tasks
Assignees

Comments

@btravouillon
Copy link

btravouillon commented Aug 21, 2023

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
@btravouillon btravouillon self-assigned this Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant