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.10.0.tar.gz (104.7 kB view details)

Uploaded Source

Built Distribution

ibek-0.10.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ibek-0.10.0.tar.gz
Algorithm Hash digest
SHA256 b5b8f7e5a106144e23064852fbb9171221b2d549e677c815cf0d795091670a95
MD5 f035cabb32db847af73ac4d42e00e8f5
BLAKE2b-256 a6cc17c482a1c9a676dc12042540429a3de037c5da4b614f229e00edfecc3260

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ibek-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 22.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.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e73b1ce93957910386a893bf725e8efabfd8bf8131b6f38c9aa5de042836ac1d
MD5 8a04621e9b77a681601a27e6112c76f7
BLAKE2b-256 67c00dad1e238db63a3dad796f7f5ee23f4b62f5b431fb835f9ea418513145d7

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