Skip to content

epics-containers/ibek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6f9db5e · Nov 11, 2022
Nov 11, 2022
Nov 11, 2022
Sep 12, 2022
Nov 11, 2022
Sep 2, 2022
Sep 2, 2022
Nov 1, 2022
Jun 22, 2022
Sep 8, 2021
Mar 25, 2021
Feb 22, 2022
Nov 11, 2022
Sep 2, 2022
Nov 11, 2022

Repository files navigation

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, database and Helm chart that runs up the IOC contained in the image with them
PyPI pip install ibek
Source code https://github.com/epics-containers/ibek
Documentation https://epics-containers.github.io/ibek
Releases https://github.com/epics-containers/ibek/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 ioc.boot.yaml file in the startup directory. This change requires embedding ibek into the epics-base container image.

See https://epics-containers.github.io/ibek for more detailed documentation.