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==--