I am looking for the best available option for a Linux server deployment and configuration management. Unfortunately this is not a typical scenario with servers placed in a data center. Instead we have multiple remote servers with limited internet connection (on board vessels). A summary of the requirements based on importance:
- The configuration tool must use a pull model. Network connections to the remote servers are difficult or not allowed.
- The bandwidth is extremely limited and expensive. The internet connection is over satellite using a metered connection.
- The internet connection has a high latency and packet loss due to the satellite. The network connection can be unavailable for hours or even days. Configuration changes must be applied when internet connection is restored.
- Ability to run without internet connection. This is last based on importance and we can live without it. A possible implementation for this would be, for example in case of an update, to send the files needed by the configuration tool using a USB drive. The Linux server can use shell scripts to copy the USB data and update its configuration status.
All servers will use CentOS 7 as the operating system. Operating system updates will be handled using USB drives or local repositories.
All servers will be initially configured before leaving our premises and going to the remote locations.