Configuration Management Database
The CMDB project grew out of the operational requirements of a small Linux lab. It discovers machines and deployed applications on a local network, maintains an inventory of the results, and provides tools for patching and backups.
Machine Discovery
CMDB scans the local area network (LAN) for machines and maintains a persistent inventory of the results. Subsequent scans refresh the observed status of inventoried devices. The default gateway is treated as a special device: it is named GATEWAY (it can be renamed) and automatically classified as PROD.
Application Discovery
CMDB is part of the Bear & Moose family of software, which includes BMForge, a software development life cycle (SDLC) framework that integrates AI into the development workflow. Applications built with BMForge can include CMDB_* declarations that make their deployments discoverable by CMDB.
Registering an application is straightforward: enter its name on the Applications page. CMDB checks the inventoried machines for an installed copy and, when one is detected, automatically records the deployment in its inventory.
Discovered application details include the name and version, along with any declared release codename, software classification, data components, and database references.
Application Ports
Applications can declare their default network listeners through CMDB_NETWORK. CMDB collects those declarations from deployed applications and displays the associated host, application, service name, and port number on the Network page.
The goal is to rationalize and report on application listener port numbers across machines.
These are declared listener defaults, not a live measurement of which ports are currently open.
Machine Classification
CMDB groups machines into four categories: PROD, QA, DEV, and Unclassified. Newly discovered machines begin as Unclassified, with the exception of the default gateway.
When CMDB finds an unclassified device, it performs a more intensive Nmap service scan and saves the raw output. The evidence is available from the device’s details pane on the Inventory page, helping administrators identify printers, tablets, phones, and other unfamiliar equipment before assigning a classification and/or hostname label.
Patching
CMDB includes a patching interface for Debian Linux. Discovered Debian machines automatically appear on the Patching page, where an administrator can run a patch job on demand or configure automatic, cron-scheduled patching for each host.
A patch job refreshes package information, installs available package upgrades, removes obsolete packages, and then reboots the machine. CMDB verifies that the host has returned after the reboot and records the outcome.
Backups
Machines with eligible backup targets appear on the Backups page. CMDB supports both on-demand backups and per-target, cron-scheduled backups with configurable retention.
- MariaDB: CMDB discovers MariaDB instances and their eligible user databases, which can be backed up individually.
- Application data: Applications declaring filesystem components and database references through
CMDB_COMPONENTSandCMDB_DATABASESmake those backup targets available for configuration. - Backup Vault: Successful database dumps and application directory archives are listed in the vault. Backup records and files remain available even after the associated machine is removed from the inventory.