blob: 3ae7854e119acb11d600a981956b8a852898d82b [file] [log] [blame]
// Package manager, itself a part of BMaaS project, provides implementation
// governing Equinix bare metal server lifecycle according to conditions set by
// Bare Metal Database (BMDB).
//
// The implementation will attempt to provide as many machines as possible and
// register them with BMDB. This is limited by the count of Hardware
// Reservations available in the Equinix Metal project used. The BMaaS agent
// will then be started on these machines as soon as they become ready.
//
// The implementation is provided in the form of a library, to which interface is
// exported through Provisioner and Initializer types, each taking servers
// through a single stage of their lifecycle.
//
// See the included test code for usage examples.
//
// The terms "device" and "machine" are used interchangeably throughout this
// package due to differences in Equinix Metal and BMDB nomenclature.
package manager