Bcfg2 – Construct Complex Change Management and Deployment Strategies


Bcfg2 is a configuration management system. It helps system administrators deploy complex changes across large numbers of systems in a coherent and transparent fashion.

Bcfg2 produces a consistent, reproducible, and verifiable description of their environment, and offers visualization and reporting tools to aid in day-to-day administrative tasks.

The software is based on a client / server architecture. The client is responsible for interpreting (but not processing) the configuration served by the server, and uses almost no client side processing. It renders a declarative configuration specification, provided by the Bcfg2 server, into a set of configuration operations which will, if executed, attempt to change the client’s state into that described by the configuration specification.

The Bcfg2 server is responsible for taking a network description and turning it into a series of configuration specifications for particular clients. It also manages probed data and tracks statistics for clients.

Features include:

  • Manages complete system configuration
  • Metadata based client configurations
  • Change detection
  • Improved server performance
  • 2 way configuration verification
  • Sparse configuration installation
  • Probes
  • Dry-run mode
  • Profiles
  • Configuration specifications are designed to be reusable
  • Machine functionality can be easily duplicated for testing or
  • Changes are made in a single location


Bcfg2 also runs on AIX, FreeBSD, OpenBSD, OpenSolaris, and Solaris. The software runs on a wide range of Linux distributions.

Homepage: bcfg2.org
Developer: Narayan Desai and contributors
License: GNU GPL v3
Written in: Python

Back to Configuration Management Software