Skip to main content

IOC Builder for EPICS and Kubernetes

Project description

Code CI Docs CI Test Coverage Latest PyPI version black Apache License

This tool supports building container images for Generic EPICS IOCs and generating IOC Instances from those Generic IOCs at container runtime. It is targetted at running IOCs in Kubernetes, but the images it creates can execute in any container runtime, such as docker or podman.

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

The documentation is still under construction. For the moment the best pages to read are the following:

The command line interface for ibek is as follows. The most up to date version of this can be found by running ibek --help.

[container][~]$ ibek --help
Usage: ibek [OPTIONS] COMMAND [ARGS]...

  IOC Builder for EPICS and Kubernetes

  Provides support for building generic EPICS IOC container images and for
  running IOC instances in a Kubernetes cluster.

Options:
  --version                       Print the version of ibek and exit
  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.
  --help                          Show this message and exit.

Commands:
  support  Commands for building support modules during container build
  ioc      Commands for building generic IOCs during container build
  runtime  Commands for building IOC instance startup files at container...
[container][~]$ ibek support --help
Usage: ibek support [OPTIONS] COMMAND [ARGS]...

  Commands for building support modules during container build

Options:
  --help  Show this message and exit.

Commands:
  apt-install         Install debian packages into the container.
  git-clone           clone a support module from a remote repository
  register            prepare the configure RELEASE files to build a...
  add-libs            declare the libraries for this support module for...
  add-dbds            declare the dbd files for this support module for...
  add-release-macro   add or replace a macro the global RELEASE file
  add-config-macro    add or replace a macro in...
  add-to-config-site  add some text to a support module's CONFIG_SITE file
  compile             compile a support module after preparation with...
  generate-links      generate symlinks to the bob, pvi and support YAML...
  generate-schema     Produce JSON global schema for all...
[container][~]$ ibek ioc --help
Usage: ibek ioc [OPTIONS] COMMAND [ARGS]...

  Commands for building generic IOCs during container build

Options:
  --help  Show this message and exit.

Commands:
  build-docker            EXPERIMENTAL: Attempt to interpret the...
  generate-schema         Create a json schema from a number of...
  extract-runtime-assets  Find all the runtime assets in an EPICS...
  make-source-template    Create a new IOC boilerplate source tree in the...
  generate-makefile       get the dbd and lib files from all support...
  compile                 Compile a generic IOC after support modules are...
  build                   A convenience function that calls...
[container][~]$ ibek runtime --help
Usage: ibek runtime [OPTIONS] COMMAND [ARGS]...

  Commands for building IOC instance startup files at container runtime

Options:
  --help  Show this message and exit.

Commands:
  generate  Build a startup script for an IOC instance

See https://epics-containers.github.io/ibek for current 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-1.4.1b1.tar.gz (92.7 kB view details)

Uploaded Source

Built Distribution

ibek-1.4.1b1-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ibek-1.4.1b1.tar.gz
  • Upload date:
  • Size: 92.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ibek-1.4.1b1.tar.gz
Algorithm Hash digest
SHA256 3908c601e1fe94198d8af0cad54bbd0733068fef22cb46c7eb494c2c0f1e2732
MD5 50673a991ac47e36cafa3152a6c26109
BLAKE2b-256 0a2976d3b3d0a5378e3b0b0b19780d36b319f8b794494e542760c954cb896a03

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ibek-1.4.1b1-py3-none-any.whl
  • Upload date:
  • Size: 43.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ibek-1.4.1b1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f72a30655aa9a9dfd412f878902fea577d85d59912a618af32500b07a1c83ed
MD5 feaad788b4eab2e283505d0dff05acc4
BLAKE2b-256 7180b551bd30cb81cf4b91ca48f5f20ae57c444705f660be4481e438e05396bd

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