ReFactor is the next generation of controller board software stack installation.
It is meant to simplify the lives of new users when they begin using a Thing-Printer controller board. Pre-built images of Ubuntu with ReFactor having run on them are available for users with less time or inclination to start from scratch.
ReFactor is a collection of desired states of the system image to include a printer firmware, a firmware control interface and optional additions.
ReFactor uses Ansible as the underlying framework to describe the desired system state. There are many reasons for this:
- Ansible describes the system's end state, not individual actions to perform, so it is relatively easy to port across platforms (i.e. debian, arch, BSD...)
- The ReFactor repository can be updated from the git repository and Ansible will only change what has been updated from the previous version, not needing a complete reinstallation of the system for upgrades.
- Description of components is modular, making it easy to pick and choose different components for the end goal desired, while keeping each component's setup independent and reliable, and independently updatable.