ibek#
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
fileBuild 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 containWrite an
ioc.yaml
file against that schema listing instances of the entities with argumentsUse
ibek
to generate a startup script and database that runs up the IOC contained in the image with them
PyPI |
|
Source code |
|
Documentation |
|
Releases |
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: