This Puppet module manages widely used components of the Experimental Physics and Industrial Control System (EPICS). It installs the required software, configures it and brings up services like control-system servers (called "Input-Output Controllers", short IOCs, in the EPICS universe) and the Channel Access Repeater (a service relaying certain messages sent by EPICS' network protocol to multiple clients running on the same machine).
This module is used for a wide variety of use cases ranging from configuring simple test environments in virtual machines to managing hundreds of IOCs for large particle accelerator facilities. The goal behind this module is to make simple things simple while at the same time providing enough flexibility to accommodate one-off requirements. To achieve this, the classes in this module come with a large number of parameters allowing behavior to be tweaked flexibly but wherever possible these attributes come with a sensible default inspired by community best practices so you only need to modify them when you are straying off the beaten path. Defaults can also be overridden using Hiera which allows large-scale users to set their own facility-wide default behavior.
Pull requests are welcome! Here are some steps you can take to avoid regressions:
pdk validate
pdk test unit --parallel
puppet strings generate --format markdown