Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Architecture

Code Block
languagebash
titleBeamLine Tree
── README.md
├── config
│   ├── applications
│   ├── iocs
│   └── services
├── deploy
│   ├── Chart.yaml
│   ├── templates
│   └── values.yaml
├── opi
│   ├── Launcher.bob
│   ├── README.md
│   ├── deploy
│   ├── env.sh
│   ├── phoebus_mrf_interface
│   ├── ptts
│   ├── rp-opi
│   ├── settings.ini
│   ├── settings_template.ini
│   └── start.sh
└── sparc-deploy.yaml

Each beamline in EPIK8S has a GIT project associated. This GIT project has:

  1. opi directory that points to a OPI git project that contains the interface of the given beamline
  2. deploy directory that has the format of an helm chart and contains instruction on what deploy on k8s
  3. config directory that contains initialisations and configurations for:
    1. iocs: iocs of your beamline
    2. services: epics services (cagateway, archivers...)
    3. applications: things that are not iocs nor services, typically support applications for importing, simulation, cronjobs.

This structure allows:

...

├── README.md
├── config
│   ├── applications
│   │   ├── flame-state-import
│   │   └── icpdastemp01
│   ├── iocs
│   │   ├── mrf01
│   │   ├── pitaya
│   │   ├── temp01
│   │   └── yag-screens
│   └── services
│       └── cagateway
├── deploy
│   ├── Chart.yaml
│   ├── templates
│   │   └── epik8.yaml
│   └── values.yaml
├── opi
│   ├── Launcher.bob
│   ├── README.md
│   ├── deploy
│   │   └── update-opi.yaml
│   ├── env.sh
│   ├── phoebus_mrf_interface
│   │   ├── MRFIOC_EVG.bob
│   │   ├── MRFIOC_EVR0.bob
│   │   ├── MRFIOC_EVR1.bob
│   │   ├── README.md
│   │   ├── _evg_mxc.opi
│   │   ├── _evg_trigevt.opi
│   │   ├── _evrdlygen.opi
│   │   ├── _evrinput.opi
│   │   ├── _evroutput.opi
│   │   ├── evg
│   │   ├── evm-fct.opi
│   │   ├── evr
│   │   ├── evr-expert.opi
│   │   └── settings.ini
│   ├── ptts
│   │   ├── Timing.bob
│   │   ├── Timing_EVR.bob
│   │   ├── Timing_EVR_Main.bob
│   │   ├── Timing_Output.bob
│   │   ├── Timing_Output.opi
│   │   ├── external$py.class
│   │   ├── scripts
│   │   └── support
│   ├── rp-opi
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── RedPitayaSup
│   │   ├── RedPitayaTestApp
│   │   ├── configure
│   │   ├── iocBoot
│   │   └── opi
│   ├── settings.ini
│   ├── settings_template.ini
│   └── start.sh
└── sparc-deploy.yaml