Skip to content
@epics-containers

EPICS Containers

EPICS IOCs in containers with Kubernetes orchestration

EPICS Containers Organization

Tools, container images, templates and documentation for building, deploying and managing containerised EPICS IOCs in a Kubernetes cluster.

Tools

Python packages used at build time, at runtime and on the developer's desktop.

Repository Description CI Version
Documentation epics-containers documentation and tutorials CI Release
ibek IOC Builder for EPICS and Kubernetes: generates IOC startup and database from YAML CI PyPI
pvi Process Variable Interface: define devices and generate their screens CI PyPI
ec-cli Command line tool for developers and users, run outside of containers CI PyPI
builder2ibek Converts legacy DLS builder IOCs and support modules to ibek CI PyPI
Kodman A Docker-like command line interface for Kubernetes operations CI PyPI
stdio-socket Exposes a process's stdio on a unix socket, used for IOC console access CI PyPI
podbench A container for debugging Kubernetes pods CI PyPI

Templates and charts

Copier templates for new repositories, and the Helm charts they deploy with.

Repository Description CI Version
ioc-template Template for Generic IOC container projects CI Release
services-template-helm Template for IOC instance repositories deployed with Helm CI Release
services-template-compose Template for IOC instance repositories deployed with docker compose no CI Release
deployment-template-argocd Template for continuous deployment with Argo CD no CI Release
ec-helm-charts Helm charts for IOC instances and other services CI Release

Base images and Generic IOCs

The base image every Generic IOC builds from, the ibek recipes for support modules, and general-purpose Generic IOCs.

Repository Description CI Version
epics-base Base container for all Generic IOCs, for linux-x86_64 and RTEMS CI Release
ibek-support Recipes for building support modules into Generic IOCs with ibek CI Release
ioc-generic A quick-to-load developer container IOC, for developing new support modules CI Release
ioc-streamdevice Generic IOC for serial and TCP devices using StreamDevice CI Release
ibek-runtime-streamdevice Library of StreamDevice protocols and templates for ioc-streamdevice CI Release

Services and RTEMS

Supporting services for a beamline, and the containers for RTEMS hard IOCs.

Repository Description CI Version
ec-phoebus The Phoebus OPI tool for EPICS, in a container CI Release
epics-gateways Channel Access and PV Access gateways, in a container CI Release
rtems-proxy Runs in Kubernetes to launch and monitor RTEMS hard IOCs CI PyPI
rtems-bsp Toolchain and Board Support Package for cross-compiling to RTEMS 6 CI Release

Reference implementations

Example beamlines and Generic IOCs that show the framework in use.

Repository Description CI Version
t11-services Simulation beamline IOC instances and services CI Release
t11-deployment Argo CD deployment for t11-services CI Release
p47-services Reference beamline for the BL47P training rig CI Release
p47-deployment Argo CD deployment for p47-services CI Release
example-services Simulation beamline deployed with docker compose CI Release
ioc-adsimdetector Generic IOC for the areaDetector simulator CI Release
ioc-adaravis Generic IOC for GigE cameras using ADAravis CI Release
ioc-aduvc Generic IOC for USB cameras using ADUVC CI Release
ioc-pmac Generic IOC for Delta Tau Turbo PMAC and Power PMAC controllers CI Release
ioc-motorsim Generic IOC for simulated motor controllers CI Release
ioc-python Generic IOC for simple Python scripts CI Release

Popular repositories Loading

  1. epics-containers.github.io epics-containers.github.io Public

    Kubernetes for EPICS IOCs. Documentation for the epics-containers organization

    Shell 19 10

  2. ibek ibek Public

    IOC Builder for EPICS and Kubernetes

    Python 14 5

  3. epics-base epics-base Public

    A container image for EPICS base libraries and tools built for linux-x86_64 and RTEMS

    Shell 11 7

  4. pvi pvi Public

    EPICS PV Interface described in YAML / Python

    Python 7 2

  5. edge-containers-cli edge-containers-cli Public

    command line shortcuts for epics containers developers

    Python 3 1

  6. Kodman Kodman Public

    A command-line tool that provides a Docker-like interface for Kubernetes operations

    Python 3

Repositories

Showing 10 of 88 repositories

Top languages

Loading…

Most used topics

Loading…