Skip to main content

IOC Builder for EPICS and Kubernetes

Project description

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

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 st.cmd.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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibek-0.9.5.tar.gz (86.4 kB view hashes)

Uploaded Source

Built Distribution

ibek-0.9.5-py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page