|
|
# ELT Containers on Podman
|
|
|
|
|
|
## Why?
|
|
|
|
|
|
* Native performance
|
|
|
* Quick setup of specific versions of software
|
|
|
|
|
|
## When not to use
|
|
|
|
|
|
* When using redis/oldb, elastics search, nomad, etc. Containers are not meant to have multiple processes running. Though it can be achieved, it requires extra work.
|
|
|
|
|
|
## Existing images
|
|
|
|
|
|
Linus Karl has provided a DevEnv 4.5 and 4.6 image at https://quay.io/repository/recreate0674/esodevenv
|
|
|
|
|
|
You can use this image as a base, but it is quite empty.
|
|
|
|
|
|
If you have podman in your machine, you can easily expand on an existing one:
|
|
|
|
|
|
```Containerfile
|
|
|
FROM quay.io/recreate0674/esodevenv:latest
|
|
|
RUN dnf -y check-upgrade
|
|
|
RUN dnf -y install \
|
|
|
git \
|
|
|
Lmod \
|
|
|
waf \
|
|
|
elt-wtools \
|
|
|
elt-ciisrv-common \
|
|
|
elt-common-tools \
|
|
|
elt-common-system \
|
|
|
elt-ciisrv-oldb-client-devel.x86_64 \
|
|
|
elt-ciisrv-config-ng-devel.x86_64 \
|
|
|
elt-etr \
|
|
|
elt-mal* \
|
|
|
gcc \
|
|
|
g++ \
|
|
|
protobuf-devel \
|
|
|
qt5-qtbase-devel \
|
|
|
qt5-qtsvg-devel \
|
|
|
python3-pyside2-devel \
|
|
|
qt5-linguist \
|
|
|
fast-dds-gen \
|
|
|
czmq-devel \
|
|
|
open62541-devel \
|
|
|
log4cplus-devel \
|
|
|
opentelemetry-cpp-devel \
|
|
|
boost-devel \
|
|
|
python3-devel \
|
|
|
pytest \
|
|
|
gtest-devel \
|
|
|
gmock-devel \
|
|
|
python3-pytest \
|
|
|
python3-pytest-qt \
|
|
|
cli11-devel \
|
|
|
xerces-c-devel \
|
|
|
CCfits-devel \
|
|
|
yaml-cpp-devel \
|
|
|
libbacktrace-devel \
|
|
|
numactl-devel \
|
|
|
hiredis-devel \
|
|
|
azmq-devel \
|
|
|
gsl-pc \
|
|
|
elt-ciisrv-client-api-devel \
|
|
|
elt-trs-common-devel \
|
|
|
pybind11-devel \
|
|
|
python3-protobuf \
|
|
|
python3-jinja2 \
|
|
|
python3-jsonschema \
|
|
|
python3-psutil \
|
|
|
python3-robotframework \
|
|
|
python3-robotframework-redislibrary \
|
|
|
elt-ciisrv-robot-library \
|
|
|
python3-pyyaml \
|
|
|
python3-zmq \
|
|
|
rt-pc \
|
|
|
fmt-devel \
|
|
|
google-benchmark-devel \
|
|
|
nlohmann-json \
|
|
|
openblas-devel \
|
|
|
openblas-devel-pc \
|
|
|
libpcap-devel \
|
|
|
guidelines-support-library-pc \
|
|
|
libppconsul-devel \
|
|
|
pybind11-devel-pc.noarch \
|
|
|
python3-pybind11.x86_64 \
|
|
|
python3-click \
|
|
|
elt-taiclock-devel \
|
|
|
elt-cut-devel \
|
|
|
python3-lxml \
|
|
|
elt-ddt-devel \
|
|
|
python3-taurus \
|
|
|
libatomic
|
|
|
RUN dnf -y install hostname python3-cookiecutter git-lfs python3-astropy python3-ipython qt5-qtwayland qt5-designer python3-mock psmisc python3-pytest-custom_exit_code
|
|
|
# m1lcs dependencies
|
|
|
RUN dnf -y install python3-asyncua net-snmp-devel libcurl-devel python3-snmpsim python3-netmiko
|
|
|
# elt-seq dependencies
|
|
|
RUN dnf -y install python3-async-timeout python3-flask python3-networkx python3-hashids tk python3-zope-interface
|
|
|
# m1 dependencies
|
|
|
RUN dnf -y install qt5-qt3d-devel clang qt5-qttools-devel libasan libtsan libubsan
|
|
|
# elt-seq dependency python3-networkx introduces gtk. We remove it.
|
|
|
#RUN dnf -y remove gtk\*
|
|
|
RUN mkdir /root/modulefiles
|
|
|
COPY private.lua /root/modulefiles/private.lua
|
|
|
VOLUME /root/volume
|
|
|
RUN chown root:root /root/volume
|
|
|
ENV WAYLAND_DISPLAY=/tmp/wayland-0
|
|
|
ENV DBUS_SESSION_BUS_ADDRESS="unix:path=/tmp/bus"
|
|
|
#ENV QT_QPA_PLATFORM=wayland
|
|
|
WORKDIR /root/volume
|
|
|
CMD ["bash"]
|
|
|
``` |
|
|
\ No newline at end of file |