Skip to content

mark0n/mark0n-epics

Repository files navigation

mark0n-epics - Manage EPICS with Puppet

Build Status Coverage Status License Puppet Forge Puppet Forge - downloads

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.

Development

Pull requests are welcome! Here are some steps you can take to avoid regressions:

Validate Code and Metadata

pdk validate

Run Unit Tests

pdk test unit --parallel

Generate Reference Documentation

puppet strings generate --format markdown