ibek#

Code CI Docs CI Test Coverage Latest PyPI version Apache License

IOC Builder for EPICS and Kubernetes:

  • In an EPICS support module describe what entities an IOC using it can create, what arguments they take, and what database and st.cmd snippets it should generate in a builder.yaml file

  • Build support modules together in a container image and use ibek in the image to create a JSON schema of what an IOC using that image can contain

  • Write an ioc.yaml file against that schema listing instances of the entities with arguments

  • Use ibek to generate a startup script and database that runs up the IOC contained in the image with them

PyPI

pip install ibek

Source code

epics-containers/ibek

Documentation

https://epics-containers.github.io/ibek

Releases

epics-containers/ibek

TODO#

This project is approaching completion. The following items are still to do:

  • Complete documentation in general

  • Add a diagram and more details. Use draw.io for image, and save as SVG with source embed in it, save as something.draw.io.svg

  • DONE: Add ability to define embedded objects e.g. AsynIp and AsynSerial would both be defined by embedding AsynPort (so similar to how original builder.py works)

  • Add support for enums where you define the possible values inline

  • DONE: update helm-template/config/start.sh to call ‘ibek build-startup’ when it sees a st.cmd.yaml file in the startup directory. This change requires embedding ibek into the epics-base container image.

How the documentation is structured#

The documentation is split into 2 sections:

The User Guide contains documentation on how to install and use python3-pip-skeleton.

The Developer Guide contains documentation on how to develop and contribute changes back to python3-pip-skeleton.