5.1. Repositories

5.1.1. Applications

Application Repository Description
on-tftp https://github.com/RackHD/on-tftp Node.js application provided TFTP service integrated with the workflow engine. TFTP is the common protocol used to initiate a PXE process, and on-tftp is tied into the workflow engine to be able to dynamically provide responses based on the state of the workflow engine, and to provide events to the workflow engine when servers request files via TFTP
on-http https://github.com/RackHD/on-http Node.js application provided HTTP service integrated with the workflow engine. RackHD commonly uses iPXE as its initial bootloader, loading remaining files for PXE booting via HTTP and using that communications path as a mechanism to control what a remote server will do when rebooting. on-http also serves as the communication channel for the microkernel to support deep hardware interrogation, firmware updates, and other actions that can only be invoked directly on the hardware and not through an out of band management channel.
on-syslog https://github.com/RackHD/on-syslog Syslog endpoint integrated to feed data to the workflow engine.
on-taskgraph https://github.com/RackHD/on-taskgraph Node.js application providing the workflow engine. It provides functionality for running encapsulated jobs/units of work via graph-based control flow mechanisms.
on-dhcp-proxy https://github.com/RackHD/on-dhcp-proxy Node.js application providing DHCP proxy support in the workflow engine. The DHCP protocol supports getting additional data specifically for the PXE process from a secondary service that also responds on the same network as the DHCP server. The DHCP proxy service provides that information, generated dynamically from the workflow engine.
on-wss https://github.com/RackHD/on-wss Node.js application providing websocket update support from RackHD for UI interations

5.1.2. Libraries

Library Repository Description
core https://github.com/RackHD/on-core Core libraries in use across Node.js applications.
tasks https://github.com/RackHD/on-tasks Node.js task library for the workflow engine. Tasks are loaded and run by taskgraphs as needed.
redfish-client-node https://github.com/RackHD/redfish-client-node Node.js client library for interacting with Redfish API endpoints.

5.1.3. Supplemental Code

Library Repository Description
Web user interface https://github.com/RackHD/on-web-ui Initial web interfaces to some of the APIs - multiple interfaces embedded into a single project.
statsd https://github.com/RackHD/on-statsd A local statsD implementation that makes it easy to deploy on a local machine for aggregating and summarizing application metrics.
ImageBuilder https://github.com/RackHD/on-imagebuilder Tooling to build RackHD binary files, including the microkernel, specific iPXE builds, and microkernel overlays
SKU Packs https://github.com/RackHD/on-skupack Example SKU pack definitions and example code
Build Config https://github.com/RackHD/on-build-config Scripts and tooling to support CI of RackHD

5.1.4. Documentation

Repository Description
https://github.com/RackHD/docs The RackHD documentation as published to http://rackhd.readthedocs.org/en/latest/.

5.1.5. Repositories Status

The following badges in the tables may take a while to load.

Repository Travis-Ci Build Code Climate Code Coverage
on-core Travis Build Code Climate GPA Test Coverage
on-dhcp-proxy Travis Build Code Climate GPA Test Coverage
on-http Travis Build Code Climate GPA Test Coverage
on-imagebuilder Travis Build N/A N/A
on-statsd Travis Build Code Climate GPA Test Coverage
on-syslog Travis Build Code Climate GPA Test Coverage
on-taskgraph Travis Build Code Climate GPA Test Coverage
on-tasks Travis Build Code Climate GPA Test Coverage
on-tftp Travis Build Code Climate GPA Test Coverage
on-web-ui Travis Build Code Climate GPA N/A
on-wss Travis Build Code Climate GPA N/A