ibek
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 |
|
Documentation |
|
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.