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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ibek-0.9.5.tar.gz
Algorithm Hash digest
SHA256 96ef0d437975a55e6a6b097b9802add549c89f7d14a76ec9ed447e6437c461a0
MD5 fec8f1082e673884de6453610c832af1
BLAKE2b-256 22e540306ad0d451b6d708f6831307d8c299053d0c807202e31ac3b4ea2b0f47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ibek-0.9.5-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.3

File hashes

Hashes for ibek-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a2376aa0d5e51c87e8c2607a7caa43a20fd49aa2d2e8002526a1db022ce956e2
MD5 cd001994c64c1843ab80575187ef151b
BLAKE2b-256 60cfff6b5f052b8b699602484fb6fdbc1fd2d5540a7832d9e5dc264d71bfe8a4

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