-
v1.2.1
StableAll checks were successfulBuild and Publish Package / build-and-publish (push) Successful in 5sreleased this
2026-03-24 22:42:21 +00:00 | 16 commits to master since this releaseOverview
v1.2.1 is a bug-fix release focused on TLS reliability. All components that previously hardcoded
http://or relied on an environment variable to detect TLS have been updated to readconfig.yamlas the single source of truth. The result is thatserver.tls.enabled: truenow works end-to-end across the server, CLI, client simulator, SQLite sync tool, and both startup scripts without any additional configuration. One unrelated fix ensuresinstall.shalways deploys bash completion, even when run from inside the install directory. No new features or breaking API changes.Highlights
End-to-end TLS support — Setting
server.tls.enabled: trueinconfig.yamlnow propagates automatically to every component. The CLI (bacula-mock),client_simulator.py, andsync_mock_to_sqlite.pyeach auto-detect TLS fromconfig.yamlwhen theBACULA_MOCK_TLSenvironment variable is not set. The startup scripts (start_server.sh,start_all.sh) also derive the protocol fromconfig.yamlrather than hard-codinghttp://.HTTPS health check in start_all.sh — The readiness loop that waits for the server to become available previously hard-coded
http://. It now readsconfig.yamlso the health check works correctly when the server starts with TLS enabled.SSL context for self-signed certificates —
sync_mock_to_sqlite.pynow constructs an SSL context with certificate verification disabled when connecting to a TLS-enabled mock server. Previously, Python's default SSL verification causedapi_fetch()calls to fail immediately against the self-signed certificate generated by the installer.TLS close_notify fix — Python's
http.serverdoes not send the TLSclose_notifyalert on connection close, which caused OpenSSL-based clients (includingcurl) to report "unexpected EOF" errors. Ahandle()override now callsconnection.unwrap()after each request to perform a clean TLS shutdown.install.sh bash completion — An early return in the installer skipped bash completion setup when the installer was executed from inside the install directory. The completion script is now always installed regardless of the working directory.
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(GET + POST),/status/client/,?jobs=scheduledResources /res/director,/res/filedaemon,/res/storagedaemonAuth /oauth/tokenMock control /mock/health,/mock/initialize,/mock/resetbconsole bconsole-mockwrapper (.api 2,.status dir scheduled,show schedule,show job)System Requirements
Component Minimum OS Latest Debian (other platforms untested) 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-testBWeb Next Jobs (optional):
sudo ./install-bweb-scheduled.shVerifying the Package
Release packages are GPG-signed. Import the public key, then verify with:
gpg --verify BaculaMockServer-v1.2.1.tar.gz.asc BaculaMockServer-v1.2.1.tar.gz sha256sum -c BaculaMockServer-v1.2.1.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
- BWeb Integration Guide — BWeb_Mock_Server_Integration_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.
bconsole-mockimplements the subset of bconsole commands used by BWeb; full bconsole emulation is out of scope.
"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)
0 downloads