In the context of an "Industrial Internet" project, we realized a pipeline to remotely provision, configure and update a class of devices devoted to monitor and control industrial power plants.
These devices are embedded servers based on a Linux/x86 architecture. Our pipeline automates their production, test, release and updates as well. Once an operator connects a device to the internet, a provisioning step is automatically performed. The provisioning consists in installing a Linux distribution along with all the software needed.
The production step begins with a reboot and then a configuration manager automatically configures the device in order to keep it aligned to the "factory defaults" and to execute some auto-consistency tests.
Once the device is properly installed and configured, it will look for a second configuration manager through a secure connection (VPN). This system takes care of customizing the configurations on the device and updating the software, if required.
This pipeline is currently used in production environments and manages hundreds of devices on a global scale.