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.5b1.tar.gz (84.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ibek-0.9.5b1.tar.gz.

File metadata

  • Download URL: ibek-0.9.5b1.tar.gz
  • Upload date:
  • Size: 84.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for ibek-0.9.5b1.tar.gz
Algorithm Hash digest
SHA256 3a0737054dc407f836421f323e3dd882808142c04e0f4a8f8b8e3e94c9a55073
MD5 28226b699ba6c89b4cd4fae29be50685
BLAKE2b-256 ea84788852fc3424a2519604ebd8e5be394a5958215f2a932882112a54d71a1a

See more details on using hashes here.

File details

Details for the file ibek-0.9.5b1-py3-none-any.whl.

File metadata

  • Download URL: ibek-0.9.5b1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for ibek-0.9.5b1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfc696f3ad2d56d010f7046e45bd3180b19bd8da1578cbe7980c51114947fa4b
MD5 e03f7083baab51dc7acb845da2d5113a
BLAKE2b-256 ebf28660bf3134f28862a514064b0d066afb43ae8c7153f92dd68ecf1583255d

See more details on using hashes here.

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