-
v1.0.0
StableAll checks were successfulBuild and Publish Package / build-and-publish (push) Successful in 5sreleased this
2026-03-12 19:52:36 +00:00 | 24 commits to master since this releaseBacula Mock Server v1.0.0 — Release Notes
Release date: March 2026
License: BSD 2-Clause — Copyright © 2026 faaleoleo
Overview
We're excited to announce the first public release of Bacula Mock Server — a full, wire-compatible simulation of the Bacula Enterprise REST API. Build dashboards, run CI pipelines, train administrators, and demo Bacula workflows without needing a production Director.
Highlights
Wire-compatible API simulation — Every endpoint mirrors the real Bacula Enterprise REST API in structure, authentication, and response format. Swap out the base URL and your code works the same.
30+ realistic client profiles — The mock ships with pre-built profiles spanning mail servers, databases, NFS shares, web servers, Windows hosts, VMware, Kubernetes, SAP HANA, IoT devices, and more. Each profile generates plausible job histories, logs, and statistics.
OAuth2 and HTTP Basic authentication — Both auth flows match the real Bacula Enterprise behavior, including token issuance and expiry, so auth-related code gets exercised the same way it would in production.
HTTPS with auto-generated TLS certificates — The server generates self-signed certificates at startup for TLS testing out of the box.
Configurable error rates — Tune failure rates from 0% to 100% to test error-handling paths, alerting thresholds, and disaster-recovery dashboards. A single command like
bacula-mock init 100 0.25spins up 100 clients with a 25% job failure rate.Full CLI tool (
bacula-mock) — Manage the server, query data, export reports, and run smoke tests from the terminal. Key commands includeinit,reset,clients,jobs-failed,jobtotals,export-csv, andsmoke-test.86 automated tests across 13 groups — An external Go test client covers all API surface area and is ready to plug into any CI/CD pipeline.
BVFS browsing endpoints — File-level restore browsing is fully simulated, enabling development and testing of restore UIs.
CSV and JSON export — Pull job data out in structured formats for reporting, analysis, or integration with external tools.
Systemd service — Ships with a unit file supporting auto-start, auto-restart on failure, and log rotation.
BWeb integration — Can be placed behind a lighttpd reverse proxy for use with the BWeb Management Suite.
Supported API Surface
Category Endpoints Catalog /cat/Client,/cat/Job,/cat/JobTotals,/cat/JobLog,/cat/Pool,/cat/StorageCommands /cmd/run,/cmd/restore,/cmd/cancel,/cmd/estimate,/cmd/label,/cmd/purge,/cmd/pruneStatus /status/director,/status/client/Resources /res/director,/res/filedaemon,/res/storagedaemonAuth /oauth/tokenMock control /mock/health,/mock/initialize,/mock/resetSystem Requirements
Component Minimum OS Debian 11+, Ubuntu 20.04+, RHEL 8+, Fedora 35+, macOS 11+ Python 3.8+ Disk ~100 MB Memory 512 MB (1 GB recommended for 500+ clients) Port 9101 (configurable) All Python dependencies are installed automatically in a virtual environment during setup.
Installation
sudo ./install.sh sudo systemctl start bacula-mock bacula-mock init 100 0.25 bacula-mock smoke-testVerifying the Package
Release packages are GPG-signed. Import the public key, then verify with:
gpg --verify BaculaMockServer-v1.0.0.tar.gz.asc BaculaMockServer-v1.0.0.tar.gz sha256sum -c BaculaMockServer-v1.0.0.tar.gz.sha256See the README for full verification instructions and download URLs.
Documentation
- Implementation Guide —
Bacula-Mock-Server-Manual.md - End User Guide —
Bacula_Mock_EndUser_Guide.md - Usage Examples —
USAGE.md
Known Limitations
- This is a mock server — it does not perform actual backups or restores.
- Self-signed TLS certificates require clients to disable certificate verification or trust the generated CA.
- Very large client counts (1,000+) may require tuning memory allocation beyond the default 512 MB.
"Bacula" is a registered trademark of Bacula Systems SA. This software is not affiliated with or endorsed by Bacula Systems SA.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
- Implementation Guide —