Skip to main content

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

Changelog

https://github.com/epics-containers/ibek/blob/master/CHANGELOG.rst

TODO

This project is incomplete. The following items are still to do:

  • Complete documentation in general

  • Break out Helm Chart generation and boot script generation into two separate commands:

    • build-helm will make a helm chart which just has the ioc instance yaml in its config folder. This is to be run outside of the container to make the helm chart

    • make-boot will generate an ioc.boot from an instance yaml and this will run inside the container at ioc startup and hence have access to all the needed <support>.ibek.yaml definition files.

    • this will require changes to start.sh to support converting yaml to ioc.boot but should also continue to support a native ioc.boot for non ibek users.

    • The CI will be responsible for making a schema file from all of the <support>.ibek.yaml definition files and publishing it as a repository artifact on github. This means that editors will be able to make use of the schema for preparing IOC instance entity files.

  • finally support for multiple support definition files is required at present the cli only takes a single support definition file. All these commands need to support multiple definition files for the whole container.

    • make-script

    • make-helm

    • ioc-schema

  • this will require an additional class to represent a container as a set of support modules.

  • 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

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

Metadata

Release files for ibek 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ibek 0.3
File Size Uploaded Provenance Actions
ibek-0.3.tar.gz 12.1 kB Without provenance Details for ibek-0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ibek 0.3
File Interpreter ABI Platform Actions
ibek-0.3-py3-none-any.whl Python 3 none any Details for ibek-0.3-py3-none-any.whl

Total release size: 28.6 kB

Release files / ibek-0.3.tar.gz

Download URL ibek-0.3.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c2687c593a506f3755358eeb0bf4d0efc8f3aa27891e5404801b6638e7dd547d
BLAKE2b-256 checksum
How to use checksums
1964b1e376b99b946564ef02533590deb8e11575b5e4d445720aaf0a1a9602cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Release files / ibek-0.3-py3-none-any.whl

Download URL ibek-0.3-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc07638efddaefcc7f823c04877b276dfaef698fb05c73dffae980747fdd1ba4
BLAKE2b-256 checksum
How to use checksums
5637c307c5848119967e4a7a16d6aee52e1b3bacd78e779da7199d0d44fedf5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Security for ibek 0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page