Bacula Mock Server — wire-compatible REST API simulator for development and testing

Dev Team via Bacula-users <[email protected]> Thu, 18 Jun 2026 17:28:12 +0300
Newsgroups gmane.comp.bacula.user
Message-ID <383ed543-8fda-4afc-a94d-e206bd5fdc67@Canary>
--===============8749573672633314094==
Content-Type: multipart/alternative; boundary="6a34007c_3352255a_a8a2"

--6a34007c_3352255a_a8a2
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi all,

we are happy to announce the availability of the Bacula Mock Server, an o=
pen-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 fr=
om generated client profiles. It speaks the same
endpoints, the same response envelope, and the same OAuth2/Basic Auth flo=
w as a real Director. Anything that works against the mock will
work against a real installation.

The mock server runs entirely standalone =E2=80=94 no Bacula Enterprise s=
ubscription is required to use it.

Who it is for

- Dashboard and UI developers who need a realistic API to build against w=
ithout production infrastructure
- CI/CD pipelines that need to test REST integrations in seconds, not min=
utes
- Trainers and evaluators demonstrating Bacula API behaviour
- QA engineers who need configurable failure scenarios (0=E2=80=93100% er=
ror rate)

Highlights

- 30+ client profiles =E2=80=94 mail servers, databases, VMware, Kubernet=
es, SAP HANA, IoT gateways, cloud storage (AWS, Azure, GCP), and more
- =46ull catalog, command, status, resource, BV=46S, and OAuth2 endpoint =
coverage
- Schedule-based job history with configurable interval, jitter, and hist=
ory depth
- bacula-mock CLI tool with 25+ subcommands
- Test suite of 320 tests across 13 groups =E2=80=94 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 Manage=
ment 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 =E2=80=94 we do not provide it.

What is not yet implemented

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

- Microsoft 365 / Office 365 backup =E2=80=94 client profiles exist but d=
edicated API endpoints for Exchange Online, SharePoint, OneDrive, and
Teams are not modelled
- Automation module =E2=80=94 the /automation endpoint group is not imple=
mented
- Tape library management =E2=80=94 autochanger slot operations and drive=
 allocation are stub responses only
- Deduplication statistics =E2=80=94 dedup ratios and savings figures are=
 not computed
- NDMP =E2=80=94 NAS/filer-specific backup attributes are not returned
- Plugin-specific metadata =E2=80=94 plugin fields are present in the sch=
ema 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-Serve=
r.git
cd Bacula-Mock-Server
sudo ./install.sh
bacula-mock init 100 0.25 =23 100 clients, 25% error rate
bacula-mock smoke-test =23 verify all 320 endpoints

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

=46eedback, bug reports, and pull requests are welcome.


--6a34007c_3352255a_a8a2
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<html><head> <title></title> <meta name=3D=22viewport=22 content=3D=22wid=
th=3Ddevice-width, initial-scale=3D1.0, user-scalable=3Dno=22> </head> <b=
ody style=3D=22font-family:Helvetica;color:=23000000;font-size:13px;=22><=
div id=3D=22CanaryBody=22>=C2=A0 Hi all,</div><div id=3D=22CanaryBody=22>=
<br></div><div id=3D=22CanaryBody=22>=C2=A0 we are happy to announce the =
availability of the Bacula Mock Server, an open-source tool that provides=
 a fully wire-compatible</div><div id=3D=22CanaryBody=22>=C2=A0 simulatio=
n of the Bacula REST API.</div><div id=3D=22CanaryBody=22><br></div><div =
id=3D=22CanaryBody=22>=C2=A0 What it is</div><div id=3D=22CanaryBody=22><=
br></div><div id=3D=22CanaryBody=22>=C2=A0 A drop-in stand-in for the Bac=
ula REST API that returns realistic data from generated client profiles. =
It speaks the same</div><div id=3D=22CanaryBody=22>=C2=A0 endpoints, the =
same response envelope, and the same OAuth2/Basic Auth flow as a real Dir=
ector. Anything that works against the mock will</div><div id=3D=22Canary=
Body=22>=C2=A0 work against a real installation.</div><div id=3D=22Canary=
Body=22><br></div><div id=3D=22CanaryBody=22>=C2=A0 The mock server runs =
entirely standalone =E2=80=94 no Bacula Enterprise subscription is requir=
ed to use it.</div><div id=3D=22CanaryBody=22><br></div><div id=3D=22Cana=
ryBody=22>=C2=A0 Who it is for</div><div id=3D=22CanaryBody=22><br></div>=
<div id=3D=22CanaryBody=22>=C2=A0 - Dashboard and UI developers who need =
a realistic API to build against without production infrastructure</div><=
div id=3D=22CanaryBody=22>=C2=A0 - CI/CD pipelines that need to test REST=
 integrations in seconds, not minutes</div><div id=3D=22CanaryBody=22>=C2=
=A0 - Trainers and evaluators demonstrating Bacula API behaviour</div><di=
v id=3D=22CanaryBody=22>=C2=A0 - QA engineers who need configurable failu=
re scenarios (0=E2=80=93100% error rate)</div><div id=3D=22CanaryBody=22>=
<br></div><div id=3D=22CanaryBody=22>=C2=A0 Highlights</div><div id=3D=22=
CanaryBody=22><br></div><div id=3D=22CanaryBody=22>=C2=A0 - 30+ client pr=
ofiles =E2=80=94 mail servers, databases, VMware, Kubernetes, SAP HANA, I=
oT gateways, cloud storage (AWS, Azure, GCP), and more</div><div id=3D=22=
CanaryBody=22>=C2=A0 - =46ull catalog, command, status, resource, BV=46S,=
 and OAuth2 endpoint coverage</div><div id=3D=22CanaryBody=22>=C2=A0 - Sc=
hedule-based job history with configurable interval, jitter, and history =
depth</div><div id=3D=22CanaryBody=22>=C2=A0 - bacula-mock CLI tool with =
25+ subcommands</div><div id=3D=22CanaryBody=22>=C2=A0 - Test suite of 32=
0 tests across 13 groups =E2=80=94 all runnable without any external depe=
ndency</div><div id=3D=22CanaryBody=22>=C2=A0 - One-command installer wit=
h optional TLS and systemd service</div><div id=3D=22CanaryBody=22>=C2=A0=
 - BSD 2-Clause license</div><div id=3D=22CanaryBody=22><br></div><div id=
=3D=22CanaryBody=22>=C2=A0 BWeb Management Suite integration</div><div id=
=3D=22CanaryBody=22><br></div><div id=3D=22CanaryBody=22>=C2=A0 The mock =
server can optionally be used as the API backend for BWeb Management Suit=
e. An automated installer (install-bweb-mock.sh) is</div><div id=3D=22Can=
aryBody=22>=C2=A0 included that handles the full setup via lighttpd rever=
se proxy.</div><div id=3D=22CanaryBody=22><br></div><div id=3D=22CanaryBo=
dy=22>=C2=A0 Using the mock server with BWeb requires a Bacula Enterprise=
 subscription to obtain the BWeb packages. This is a Bacula Systems comme=
rcial</div><div id=3D=22CanaryBody=22>=C2=A0 product =E2=80=94 we do not =
provide it.</div><div id=3D=22CanaryBody=22><br></div><div id=3D=22Canary=
Body=22>=C2=A0 What is not yet implemented</div><div id=3D=22CanaryBody=22=
><br></div><div id=3D=22CanaryBody=22>=C2=A0 The following areas return p=
lausible stub responses but are not fully simulated. Contributions and fe=
edback on priorities are welcome:</div><div id=3D=22CanaryBody=22><br></d=
iv><div id=3D=22CanaryBody=22>=C2=A0 - Microsoft 365 / Office 365 backup =
=E2=80=94 client profiles exist but dedicated API endpoints for Exchange =
Online, SharePoint, OneDrive, and</div><div id=3D=22CanaryBody=22>=C2=A0 =
Teams are not modelled</div><div id=3D=22CanaryBody=22>=C2=A0 - Automatio=
n module =E2=80=94 the /automation endpoint group is not implemented</div=
><div id=3D=22CanaryBody=22>=C2=A0 - Tape library management =E2=80=94 au=
tochanger slot operations and drive allocation are stub responses only</d=
iv><div id=3D=22CanaryBody=22>=C2=A0 - Deduplication statistics =E2=80=94=
 dedup ratios and savings figures are not computed</div><div id=3D=22Cana=
ryBody=22>=C2=A0 - NDMP =E2=80=94 NAS/filer-specific backup attributes ar=
e not returned</div><div id=3D=22CanaryBody=22>=C2=A0 - Plugin-specific m=
etadata =E2=80=94 plugin fields are present in the schema but not populat=
ed with realistic values</div><div id=3D=22CanaryBody=22><br></div><div i=
d=3D=22CanaryBody=22>=C2=A0 These areas may be addressed in future releas=
es depending on demand.</div><div id=3D=22CanaryBody=22><br></div><div id=
=3D=22CanaryBody=22>=C2=A0 Quick start</div><div id=3D=22CanaryBody=22><b=
r></div><div id=3D=22CanaryBody=22>=C2=A0 git clone https://git.faaleoleo=
.io/faaleoleo-dev-public/Bacula-Mock-Server.git</div><div id=3D=22CanaryB=
ody=22>=C2=A0 cd Bacula-Mock-Server</div><div id=3D=22CanaryBody=22>=C2=A0=
 sudo ./install.sh</div><div id=3D=22CanaryBody=22>=C2=A0 bacula-mock ini=
t 100 0.25 =C2=A0 =C2=A0=23 100 clients, 25% error rate</div><div id=3D=22=
CanaryBody=22>=C2=A0 bacula-mock smoke-test =C2=A0 =C2=A0 =C2=A0 =C2=A0=23=
 verify all 320 endpoints</div><div id=3D=22CanaryBody=22><br></div><div =
id=3D=22CanaryBody=22>=C2=A0 Repository</div><div id=3D=22CanaryBody=22>=C2=
=A0 https://git.faaleoleo.io/faaleoleo-dev-public/Bacula-Mock-Server.git<=
/div><div id=3D=22CanaryBody=22><br></div><div id=3D=22CanaryBody=22>=C2=A0=
 =46eedback, bug reports, and pull requests are welcome.</div><div><br></=
div><div id=3D=22CanaryBody=22> </div></body></html>
--6a34007c_3352255a_a8a2--



--===============8749573672633314094==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8749573672633314094==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============8749573672633314094==--