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