Hi all,

we are happy to announce the availability of the Bacula Mock Server, an 
open-source tool that provides a fully wire-compatible
simulation of the Bacula REST API.

What it is

A drop-in stand-in for the Bacula REST API that returns realistic data from 
generated client profiles. It speaks the same
endpoints, the same response envelope, and the same OAuth2/Basic Auth flow as a 
real Director. Anything that works against the mock will
work against a real installation.

The mock server runs entirely standalone — no Bacula Enterprise subscription is 
required to use it.

Who it is for

- Dashboard and UI developers who need a realistic API to build against without 
production infrastructure
- CI/CD pipelines that need to test REST integrations in seconds, not minutes
- Trainers and evaluators demonstrating Bacula API behaviour
- QA engineers who need configurable failure scenarios (0–100% error rate)

Highlights

- 30+ client profiles — mail servers, databases, VMware, Kubernetes, SAP HANA, 
IoT gateways, cloud storage (AWS, Azure, GCP), and more
- Full catalog, command, status, resource, BVFS, and OAuth2 endpoint coverage
- Schedule-based job history with configurable interval, jitter, and history 
depth
- bacula-mock CLI tool with 25+ subcommands
- Test suite of 320 tests across 13 groups — all runnable without any external 
dependency
- One-command installer with optional TLS and systemd service
- BSD 2-Clause license

BWeb Management Suite integration

The mock server can optionally be used as the API backend for BWeb Management 
Suite. An automated installer (install-bweb-mock.sh) is
included that handles the full setup via lighttpd reverse proxy.

Using the mock server with BWeb requires a Bacula Enterprise subscription to 
obtain the BWeb packages. This is a Bacula Systems commercial
product — we do not provide it.

What is not yet implemented

The following areas return plausible stub responses but are not fully 
simulated. Contributions and feedback on priorities are welcome:

- Microsoft 365 / Office 365 backup — client profiles exist but dedicated API 
endpoints for Exchange Online, SharePoint, OneDrive, and
Teams are not modelled
- Automation module — the /automation endpoint group is not implemented
- Tape library management — autochanger slot operations and drive allocation 
are stub responses only
- Deduplication statistics — dedup ratios and savings figures are not computed
- NDMP — NAS/filer-specific backup attributes are not returned
- Plugin-specific metadata — plugin fields are present in the schema but not 
populated with realistic values

These areas may be addressed in future releases depending on demand.

Quick start

git clone https://git.faaleoleo.io/faaleoleo-dev-public/Bacula-Mock-Server.git
cd Bacula-Mock-Server
sudo ./install.sh
bacula-mock init 100 0.25 # 100 clients, 25% error rate
bacula-mock smoke-test # verify all 320 endpoints

Repository
https://git.faaleoleo.io/faaleoleo-dev-public/Bacula-Mock-Server.git

Feedback, bug reports, and pull requests are welcome.

_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to