diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
deleted file mode 100644
index c3c18547..00000000
--- a/docker/docker-compose.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-version: "3.6"
-
-volumes:
- ocpp-db-data:
- external: false
- node-red-data:
- external: false
-
-networks:
- default:
- external: true
- name: infranet_network
-
-services:
- mqtt-server:
- image: eclipse-mosquitto:2.0.10
- ports:
- - 1883:1883
- - 9001:9001
- volumes:
- - ./mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf
-
- ocpp-db:
- image: mariadb:10.4.30 # pinned to patch-version because https://github.com/steve-community/steve/pull/1213
- volumes:
- - ocpp-db-data:/var/lib/mysql
- ports:
- - 13306:3306
- environment:
- MYSQL_RANDOM_ROOT_PASSWORD: "yes"
- MYSQL_DATABASE: ocpp-db
- MYSQL_USER: ocpp
- MYSQL_PASSWORD: ocpp
-
- steve:
- build: ./steve
- ports:
- - 8180:8180
- - 8443:8443
- depends_on:
- - ocpp-db
-
- nodered:
- image: nodered/node-red
- volumes:
- - node-red-data:/data
- depends_on:
- - mqtt-server
- ports:
- - 1880:1880
diff --git a/docker/everest-ci-env/Dockerfile b/docker/everest-ci-env/Dockerfile
deleted file mode 100644
index ef2adea7..00000000
--- a/docker/everest-ci-env/Dockerfile
+++ /dev/null
@@ -1,35 +0,0 @@
-ARG BASE_IMAGE=debian:11
-FROM ${BASE_IMAGE}
-
-RUN apt update && apt upgrade -y
-
-RUN apt install -y \
- python3-pip \
- git \
- doxygen \
- wget \
- nodejs \
- latexmk \
- texlive-xetex \
- texlive-latex-recommended \
- texlive-latex-extra \
- texlive-fonts-recommended \
- fonts-freefont-otf \
- librsvg2-bin
-
-RUN pip install -U sphinx
-RUN pip install \
- sphinxcontrib-youtube \
- sphinxcontrib-contentui \
- sphinxcontrib-svg2pdfconverter \
- sphinx-notfound-page \
- setproctitle \
- jsonschema \
- commentjson \
- coloredlogs \
- pyyaml
-
-ARG EV_DEV_TOOLS_VERSION=v0.1.0
-RUN pip install "$(echo "ev-dev-tools @ git+https://github.com/EVerest/everest-utils@${EV_DEV_TOOLS_VERSION}#subdirectory=ev-dev-tools")"
-ARG EDM_TOOL_VERSION=v0.5.4
-RUN pip install "$(echo "edm-tool @ git+https://github.com/EVerest/everest-dev-environment@${EDM_TOOL_VERSION}#subdirectory=dependency_manager")"
diff --git a/docker/everest-docu/.devcontainer/Dockerfile b/docker/everest-docu/.devcontainer/Dockerfile
deleted file mode 100644
index 63f7606a..00000000
--- a/docker/everest-docu/.devcontainer/Dockerfile
+++ /dev/null
@@ -1,50 +0,0 @@
-FROM debian:bullseye-slim
-
-ARG BASE_IMAGE
-ARG USERNAME=docker
-ARG USER_UID=1000
-
-# run update
-RUN apt-get update
-
-# install necessary packages
-RUN apt-get install --no-install-recommends -y \
- sudo \
- python3 \
- python3-pip \
- python-is-python3 \
- git \
- ssh \
- make
-
-# create user and add to sudoers
-RUN useradd -ms /bin/bash -u ${USER_UID} -U ${USERNAME} \
- && echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
- && chmod 0440 /etc/sudoers.d/${USERNAME}
-
-# install sphinx related
-RUN pip3 install \
- sphinx==5.3.0 \
- sphinx_rtd_theme==0.5.1 \
- doc8==1.0.0 \
- esbonio==0.14.3
-
-# install latex for sphinx
-RUN apt-get install --no-install-recommends -y \
- latexmk \
- texlive-latex-recommended \
- texlive-latex-extra \
- tex-gyre
-
-# clean up
-RUN apt-get clean
-
-# EVerest docu additions
-RUN pip3 install \
- sphinxcontrib-contentui==0.2.5 \
- PyYAML==6.0
-
-USER ${USERNAME}
-
-ENV PATH="/home/${USERNAME}/.local/bin:${PATH}"
-
diff --git a/docker/everest-docu/.devcontainer/devcontainer.json b/docker/everest-docu/.devcontainer/devcontainer.json
deleted file mode 100644
index 61d45033..00000000
--- a/docker/everest-docu/.devcontainer/devcontainer.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "everest documentation container",
- "build": {
- "dockerfile": "Dockerfile"
- },
- "extensions": [
- "ms-python.python",
- "stkb.rewrap",
- "lextudio.restructuredtext",
- "trond-snekvik.simple-rst",
- "ritwickdey.liveserver"
-
- ],
- // "mounts": [
- // {
- // "source": "/path/to/some/local/folder",
- // "target": "/ext_source/",
- // "type": "bind"
- // }
- // ],
- "settings": {
- "python.defaultInterpreterPath": "/usr/bin/python3",
- "editor.rulers": [
- 79,
- 120
- ],
- "esbonio.sphinx.buildDir": "${workspaceFolder}/build",
- "esbonio.sphinx.confDir": "${workspaceFolder}/source",
- "restructuredtext.preview.scrollEditorWithPreview": false,
- "restructuredtext.pythonRecommendation.disabled": true,
- "liveServer.settings.root": "build/html"
- }
-}
\ No newline at end of file
diff --git a/docker/everest-docu/.gitignore b/docker/everest-docu/.gitignore
deleted file mode 100644
index 1f58a02d..00000000
--- a/docker/everest-docu/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.vscode
-build/
-!build/Makefile
-source/ext_*
-ext/
diff --git a/docker/everest-docu/Makefile b/docker/everest-docu/Makefile
deleted file mode 100644
index 8d85e6fe..00000000
--- a/docker/everest-docu/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line, and also
-# from the environment for the first two.
-SPHINXOPTS ?=
-SPHINXBUILD ?= sphinx-build
-SOURCEDIR = source/
-BUILDDIR = build/
-
-# Put it first so that "make" without argument is like "make help".
-help:
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docker/everest-docu/readme.rst b/docker/everest-docu/readme.rst
deleted file mode 100644
index 91e2e1f0..00000000
--- a/docker/everest-docu/readme.rst
+++ /dev/null
@@ -1,83 +0,0 @@
-Documentation dev container
-===========================
-
-Setup
------
-
-#. Install `Docker `_, `Visual Studio Code
- `_ and the `Dev Container
- `_ plugin for Visual
- Studio Code.
-
-#.
- Clone the *everest-utils* repository::
-
- git clone https://github.com/EVerest/everest-utils.git
-
- Copy the folder ``docker/everest-docu`` to a place of your choice. For the
- remainder of this setup, we'll call that folder ``everest-doc``.
-
- .. note::
-
- Right now, there is no straight-forward way to keep this folder in sync with
- `git`.
-
-#. Start Visual Studio Code, press ``F1``, type ``devopen``, select `Dev
- Container: Open folder in Container...` and choose the ``everest-doc``
- folder. Two notifications, one recommending to "install Microsoft Python
- Extension", and one stating that `python` is missing, might appear - both
- can be ignored.
-
-#. On the left, select and open the file ``source/testpage.rst``. Press
- ``CTRL-K CTRL-R`` and a preview of the test page should appear.
-
-
-Usage
------
-
-* `Manually building the documentation`: Open a console in the dev container
- and type::
-
- make html # for html output
- make latexpdf # for pdf output
-
-* `Line wrapping`: It is good practice to keep the line-length of `rst`
- documents to 79 characters per line. There is a line rewrap plugin
- pre-installed in the dev container and rulers for 79 and 120 characters line
- length are preconfigured. To automatically line break some text, click on
- any place of that text in the editor and press ``ALT-Q``. If you press it
- multiple times, the text will be broken down according to the different line
- lengths.
-
-* `Editing and previewing rst files from external folders`: This is
- unfortunately a bit more complicated, because this whole setup runs in a `Dev
- Container` which can't reach the outside. One possibility is to copy the
- files in the ``everest-docu`` folder, so you can use them directly. This
- approach might not suit you, because you will need to put your folders into
- this project.
-
- Another possibility is to add an external folder as a mount point to this
- container. In order to do so, open the file
- ``.devcontainer/devcontainer.json`` and uncomment the mount configuration.
- There you can insert your local folder, which will then be mounted into this
- container at ``/ext_source``. Then create a symlink into this container's
- source folder by::
-
- # change into this containers source folder
- cd source
- ln -s /ext_source ./
-
- Now you can browse the rst files inside the symlinked ``source/ext_source``
- folder, edit and preview them.
-
- In case you have another complete ``Sphinx`` documentation source (which also
- contains a ``conf.py``), you can add/edit the following setting::
-
- "esbonio.sphinx.confDir": "${workspaceFolder}/source/ext_source"
-
- inside the ``.vscode/settings.json`` file.
-
-Useful resources
------------------
-
-* `Restructured text primer `_
diff --git a/docker/everest-docu/source/conf.py b/docker/everest-docu/source/conf.py
deleted file mode 100644
index 49bfd28b..00000000
--- a/docker/everest-docu/source/conf.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# For the full list of built-in configuration values, see the documentation:
-# https://www.sphinx-doc.org/en/master/usage/configuration.html
-
-# -- Project information -----------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
-
-project = 'everest documentation'
-project_copyright = '2022 Pionix GmbH and Contributors to EVerest'
-author = 'Pionix GmbH and Contributors'
-
-# -- General configuration ---------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
-
-extensions = []
-
-templates_path = ['_templates']
-exclude_patterns = []
-
-
-
-# -- Options for HTML output -------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
-
-html_theme = 'sphinx_rtd_theme'
-html_static_path = ['_static']
diff --git a/docker/everest-docu/source/index.rst b/docker/everest-docu/source/index.rst
deleted file mode 100644
index 1e955f5d..00000000
--- a/docker/everest-docu/source/index.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-Welcome to everest's documentation!
-===================================
-
-.. toctree::
- :maxdepth: 2
- :caption: Contents:
-
- testpage
-
-
-
-.. only:: html
-
- Indices and tables
- ==================
-
- * :ref:`genindex`
- * :ref:`modindex`
- * :ref:`search`
diff --git a/docker/everest-docu/source/testpage.rst b/docker/everest-docu/source/testpage.rst
deleted file mode 100644
index 7b4b47e0..00000000
--- a/docker/everest-docu/source/testpage.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Test page
-=========
-
-Some test content.
diff --git a/docker/everest-playground-opensuse-tumbleweed/.devcontainer.json b/docker/everest-playground-opensuse-tumbleweed/.devcontainer.json
deleted file mode 100644
index 0f1fdf1a..00000000
--- a/docker/everest-playground-opensuse-tumbleweed/.devcontainer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "EVerest playground openSUSE Tumbleweed",
- "build": {
- "dockerfile": "Dockerfile"
- },
- "containerEnv": {
- "MQTT_SERVER_ADDRESS": "mqtt-server",
- "MQTT_SERVER_PORT": "1883"
- },
- "extensions": [
- "ms-python.python",
- "ms-vscode.cpptools",
- "twxs.cmake",
- "ms-vscode.cmake-tools"
- ],
- "postCreateCommand": "",
- "remoteUser": "docker",
- "runArgs": [
- "--network=infranet_network"
- ],
- "workspaceFolder": "/workspace/everest-cpp",
- "workspaceMount": "source=${localWorkspaceFolder}/../../,target=/workspace,type=bind",
- "settings": {
- "terminal.integrated.profiles.linux": {
- "bash": {
- "path": "/bin/bash"
- }
- },
- "terminal.integrated.defaultProfile.linux": "bash",
- "python.pythonPath": "/usr/bin/python3"
- }
-}
diff --git a/docker/everest-playground-opensuse-tumbleweed/Dockerfile b/docker/everest-playground-opensuse-tumbleweed/Dockerfile
deleted file mode 100644
index b483681c..00000000
--- a/docker/everest-playground-opensuse-tumbleweed/Dockerfile
+++ /dev/null
@@ -1,64 +0,0 @@
-ARG BASE_IMAGE=opensuse/tumbleweed:latest
-FROM ${BASE_IMAGE}
-
-ARG BASE_IMAGE
-ARG USERNAME=docker
-ARG USER_UID=1000
-
-# create user and add to sudoers
-RUN zypper --non-interactive --gpg-auto-import-keys update \
- && zypper --non-interactive install sudo shadow \
- && useradd -ms /bin/bash -u ${USER_UID} -U ${USERNAME} \
- && echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
- && chmod 0440 /etc/sudoers.d/${USERNAME}
-
-RUN zypper --non-interactive install --type pattern devel_basis
-
-RUN zypper --non-interactive install \
- git \
- rsync \
- wget \
- cmake \
- doxygen \
- graphviz \
- clang-tools \
- cppcheck \
- boost-devel \
- libboost_filesystem-devel \
- libboost_log-devel \
- libboost_program_options-devel \
- libboost_system-devel \
- libboost_thread-devel \
- maven \
- java-11-openjdk \
- java-11-openjdk-devel \
- nodejs \
- nodejs-devel \
- npm \
- python3-pip \
- gcc-c++ \
- sqlite3-devel \
- libopenssl-devel \
- libcurl-devel \
- pkgconf-pkg-config \
- libpcap-devel \
- libevent-devel \
- python3-devel
-
-# create workdir and set access rights
-WORKDIR /workspace/everest-cpp
-RUN chown -R ${USERNAME}:${USERNAME} /workspace/everest-cpp
-
-USER ${USERNAME}
-
-# add github to known hosts
-RUN mkdir ~/.ssh
-RUN ssh-keyscan github.com > ~/.ssh/known_hosts
-
-ENV PATH="/home/$USERNAME/.local/bin:$PATH"
-ENV CPM_SOURCE_CACHE="/home/$USERNAME/cpm_source_cache"
-
-RUN echo "echo \"To initialize the EVerest workspace please run the following command:\"" >> /home/${USERNAME}/.bashrc
-RUN echo "echo \". init.sh\"" >> /home/${USERNAME}/.bashrc
-
-CMD [ "bash" ]
diff --git a/docker/everest-playground-ubuntu-22-04/.devcontainer.json b/docker/everest-playground-ubuntu-22-04/.devcontainer.json
deleted file mode 100644
index 0c302b51..00000000
--- a/docker/everest-playground-ubuntu-22-04/.devcontainer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "EVerest playground Ubuntu 22.04",
- "build": {
- "dockerfile": "Dockerfile"
- },
- "containerEnv": {
- "MQTT_SERVER_ADDRESS": "mqtt-server",
- "MQTT_SERVER_PORT": "1883"
- },
- "extensions": [
- "ms-python.python",
- "ms-vscode.cpptools",
- "twxs.cmake",
- "ms-vscode.cmake-tools"
- ],
- "postCreateCommand": "",
- "remoteUser": "docker",
- "runArgs": [
- "--network=infranet_network"
- ],
- "workspaceFolder": "/workspace/everest-cpp",
- "workspaceMount": "source=${localWorkspaceFolder}/../../,target=/workspace,type=bind",
- "settings": {
- "terminal.integrated.profiles.linux": {
- "bash": {
- "path": "/bin/bash"
- }
- },
- "terminal.integrated.defaultProfile.linux": "bash",
- "python.pythonPath": "/usr/bin/python3"
- }
-}
diff --git a/docker/everest-playground-ubuntu-22-04/Dockerfile b/docker/everest-playground-ubuntu-22-04/Dockerfile
deleted file mode 100644
index 54a435e9..00000000
--- a/docker/everest-playground-ubuntu-22-04/Dockerfile
+++ /dev/null
@@ -1,76 +0,0 @@
-ARG BASE_IMAGE=ubuntu
-ARG BASE_IMAGE_VERSION=22.04
-FROM ${BASE_IMAGE}:${BASE_IMAGE_VERSION}
-
-ARG USERNAME=docker
-ARG USER_UID=1000
-
-# configure timezone data
-ENV TIMEZONE=Europe/Berlin
-RUN ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime && echo $TIMEZONE > /etc/timezone
-
-# create user and add to sudoers
-RUN useradd -ms /bin/bash -u ${USER_UID} -U ${USERNAME}
-
-RUN apt-get update \
- && apt-get install --no-install-recommends -y sudo \
- && echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
- && chmod 0440 /etc/sudoers.d/${USERNAME} \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN apt-get update \
- && apt-get install --no-install-recommends -y \
- git \
- rsync \
- wget \
- cmake \
- doxygen \
- graphviz \
- build-essential \
- clang-format \
- clang-tidy \
- cppcheck \
- libboost-all-dev \
- maven \
- openjdk-17-jdk \
- libsqlite3-dev \
- python3-pip \
- libssl-dev \
- gpg \
- libcurl4-openssl-dev \
- pkg-config \
- libpcap-dev \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-# install a modern version of Node.js
-ENV NODE_VERSION=node_16.x
-ENV KEYRING=/usr/share/keyrings/nodesource.gpg
-RUN wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee "${KEYRING}" >/dev/null
-RUN gpg --no-default-keyring --keyring "${KEYRING}" --list-keys 9FD3B784BC1C6FC31A8A0A1C1655A0AB68576280
-RUN echo "deb [signed-by=${KEYRING}] https://deb.nodesource.com/${NODE_VERSION} focal main" | tee /etc/apt/sources.list.d/nodesource.list
-RUN echo "deb-src [signed-by=${KEYRING}] https://deb.nodesource.com/${NODE_VERSION} focal main" | tee -a /etc/apt/sources.list.d/nodesource.list
-RUN apt-get update \
- && apt-get install --no-install-recommends -y \
- nodejs \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-# create workdir and set access rights
-WORKDIR /workspace/everest-cpp
-RUN chown -R ${USERNAME}:${USERNAME} /workspace/everest-cpp
-
-USER ${USERNAME}
-
-# add github to known hosts
-RUN mkdir ~/.ssh
-RUN ssh-keyscan github.com > ~/.ssh/known_hosts
-
-ENV PATH="/home/$USERNAME/.local/bin:$PATH"
-ENV CPM_SOURCE_CACHE="/home/$USERNAME/cpm_source_cache"
-
-RUN echo "echo \"To initialize the EVerest workspace please run the following command:\"" >> /home/${USERNAME}/.bashrc
-RUN echo "echo \". init.sh\"" >> /home/${USERNAME}/.bashrc
-
-CMD [ "bash" ]
diff --git a/docker/everest-playground/.devcontainer.json b/docker/everest-playground/.devcontainer.json
deleted file mode 100644
index 249cb566..00000000
--- a/docker/everest-playground/.devcontainer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "EVerest playground",
- "build": {
- "dockerfile": "Dockerfile"
- },
- "containerEnv": {
- "MQTT_SERVER_ADDRESS": "mqtt-server",
- "MQTT_SERVER_PORT": "1883"
- },
- "extensions": [
- "ms-python.python",
- "ms-vscode.cpptools",
- "twxs.cmake",
- "ms-vscode.cmake-tools"
- ],
- "postCreateCommand": "",
- "remoteUser": "docker",
- "runArgs": [
- "--network=infranet_network"
- ],
- "workspaceFolder": "/workspace/everest-cpp",
- "workspaceMount": "source=${localWorkspaceFolder}/../../,target=/workspace,type=bind",
- "settings": {
- "terminal.integrated.profiles.linux": {
- "bash": {
- "path": "/bin/bash"
- }
- },
- "terminal.integrated.defaultProfile.linux": "bash",
- "python.pythonPath": "/usr/bin/python3"
- }
-}
diff --git a/docker/everest-playground/Dockerfile b/docker/everest-playground/Dockerfile
deleted file mode 100644
index 6b6c37be..00000000
--- a/docker/everest-playground/Dockerfile
+++ /dev/null
@@ -1,66 +0,0 @@
-ARG BASE_IMAGE=debian:12
-FROM ${BASE_IMAGE}
-
-ARG BASE_IMAGE
-ARG USERNAME=docker
-ARG USER_UID=1000
-
-# create user and add to sudoers
-RUN useradd -ms /bin/bash -u ${USER_UID} -U ${USERNAME}
-
-# Extend the timeout
-RUN mkdir -p /etc/apt/apt.conf.d/ \
- && echo 'Acquire::http::Timeout "100";' >> /etc/apt/apt.conf.d/99stahp_stahping \
- && echo 'Acquire::ftp::Timeout "100";' >> /etc/apt/apt.conf.d/99stahp_stahping \
- && echo 'Acquire::Retries "10";' >> /etc/apt/apt.conf.d/99stahp_stahping
-
-RUN apt-get update \
- && apt-get install --no-install-recommends -y sudo \
- && echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
- && chmod 0440 /etc/sudoers.d/${USERNAME} \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN apt-get update \
- && apt-get install --no-install-recommends -y \
- git \
- rsync \
- wget \
- cmake \
- doxygen \
- graphviz \
- build-essential \
- clang-format \
- clang-tidy \
- cppcheck \
- libboost-all-dev \
- maven \
- openjdk-17-jdk \
- nodejs \
- npm \
- libsqlite3-dev \
- python3-pip \
- libssl-dev \
- libcurl4-openssl-dev \
- pkg-config \
- libpcap-dev \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-# create workdir and set access rights
-WORKDIR /workspace/everest-cpp
-RUN chown -R ${USERNAME}:${USERNAME} /workspace/everest-cpp
-
-USER ${USERNAME}
-
-# add github to known hosts
-RUN mkdir ~/.ssh
-RUN ssh-keyscan github.com > ~/.ssh/known_hosts
-
-ENV PATH="/home/$USERNAME/.local/bin:$PATH"
-ENV CPM_SOURCE_CACHE="/home/$USERNAME/cpm_source_cache"
-
-RUN echo "echo \"To initialize the EVerest workspace please run the following command:\"" >> /home/${USERNAME}/.bashrc
-RUN echo "echo \". init.sh\"" >> /home/${USERNAME}/.bashrc
-
-CMD [ "bash" ]
diff --git a/docker/mosquitto/mosquitto.conf b/docker/mosquitto/mosquitto.conf
deleted file mode 100644
index 88ff4e30..00000000
--- a/docker/mosquitto/mosquitto.conf
+++ /dev/null
@@ -1,876 +0,0 @@
-# Config file for mosquitto
-#
-# See mosquitto.conf(5) for more information.
-#
-# Default values are shown, uncomment to change.
-#
-# Use the # character to indicate a comment, but only if it is the
-# very first character on the line.
-
-# =================================================================
-# General configuration
-# =================================================================
-
-# Use per listener security settings.
-#
-# It is recommended this option be set before any other options.
-#
-# If this option is set to true, then all authentication and access control
-# options are controlled on a per listener basis. The following options are
-# affected:
-#
-# password_file acl_file psk_file auth_plugin auth_opt_* allow_anonymous
-# auto_id_prefix allow_zero_length_clientid
-#
-# Note that if set to true, then a durable client (i.e. with clean session set
-# to false) that has disconnected will use the ACL settings defined for the
-# listener that it was most recently connected to.
-#
-# The default behaviour is for this to be set to false, which maintains the
-# setting behaviour from previous versions of mosquitto.
-#per_listener_settings false
-
-
-# This option controls whether a client is allowed to connect with a zero
-# length client id or not. This option only affects clients using MQTT v3.1.1
-# and later. If set to false, clients connecting with a zero length client id
-# are disconnected. If set to true, clients will be allocated a client id by
-# the broker. This means it is only useful for clients with clean session set
-# to true.
-#allow_zero_length_clientid true
-
-# If allow_zero_length_clientid is true, this option allows you to set a prefix
-# to automatically generated client ids to aid visibility in logs.
-# Defaults to 'auto-'
-#auto_id_prefix auto-
-
-# This option affects the scenario when a client subscribes to a topic that has
-# retained messages. It is possible that the client that published the retained
-# message to the topic had access at the time they published, but that access
-# has been subsequently removed. If check_retain_source is set to true, the
-# default, the source of a retained message will be checked for access rights
-# before it is republished. When set to false, no check will be made and the
-# retained message will always be published. This affects all listeners.
-#check_retain_source true
-
-# QoS 1 and 2 messages will be allowed inflight per client until this limit
-# is exceeded. Defaults to 0. (No maximum)
-# See also max_inflight_messages
-#max_inflight_bytes 0
-
-# The maximum number of QoS 1 and 2 messages currently inflight per
-# client.
-# This includes messages that are partway through handshakes and
-# those that are being retried. Defaults to 20. Set to 0 for no
-# maximum. Setting to 1 will guarantee in-order delivery of QoS 1
-# and 2 messages.
-#max_inflight_messages 20
-
-# For MQTT v5 clients, it is possible to have the server send a "server
-# keepalive" value that will override the keepalive value set by the client.
-# This is intended to be used as a mechanism to say that the server will
-# disconnect the client earlier than it anticipated, and that the client should
-# use the new keepalive value. The max_keepalive option allows you to specify
-# that clients may only connect with keepalive less than or equal to this
-# value, otherwise they will be sent a server keepalive telling them to use
-# max_keepalive. This only applies to MQTT v5 clients. The maximum value
-# allowable is 65535. Do not set below 10.
-#max_keepalive 65535
-
-# For MQTT v5 clients, it is possible to have the server send a "maximum packet
-# size" value that will instruct the client it will not accept MQTT packets
-# with size greater than max_packet_size bytes. This applies to the full MQTT
-# packet, not just the payload. Setting this option to a positive value will
-# set the maximum packet size to that number of bytes. If a client sends a
-# packet which is larger than this value, it will be disconnected. This applies
-# to all clients regardless of the protocol version they are using, but v3.1.1
-# and earlier clients will of course not have received the maximum packet size
-# information. Defaults to no limit. Setting below 20 bytes is forbidden
-# because it is likely to interfere with ordinary client operation, even with
-# very small payloads.
-#max_packet_size 0
-
-# QoS 1 and 2 messages above those currently in-flight will be queued per
-# client until this limit is exceeded. Defaults to 0. (No maximum)
-# See also max_queued_messages.
-# If both max_queued_messages and max_queued_bytes are specified, packets will
-# be queued until the first limit is reached.
-#max_queued_bytes 0
-
-# Set the maximum QoS supported. Clients publishing at a QoS higher than
-# specified here will be disconnected.
-#max_qos 2
-
-# The maximum number of QoS 1 and 2 messages to hold in a queue per client
-# above those that are currently in-flight. Defaults to 1000. Set
-# to 0 for no maximum (not recommended).
-# See also queue_qos0_messages.
-# See also max_queued_bytes.
-#max_queued_messages 1000
-#
-# This option sets the maximum number of heap memory bytes that the broker will
-# allocate, and hence sets a hard limit on memory use by the broker. Memory
-# requests that exceed this value will be denied. The effect will vary
-# depending on what has been denied. If an incoming message is being processed,
-# then the message will be dropped and the publishing client will be
-# disconnected. If an outgoing message is being sent, then the individual
-# message will be dropped and the receiving client will be disconnected.
-# Defaults to no limit.
-#memory_limit 0
-
-# This option sets the maximum publish payload size that the broker will allow.
-# Received messages that exceed this size will not be accepted by the broker.
-# The default value is 0, which means that all valid MQTT messages are
-# accepted. MQTT imposes a maximum payload size of 268435455 bytes.
-#message_size_limit 0
-
-# This option allows persistent clients (those with clean session set to false)
-# to be removed if they do not reconnect within a certain time frame.
-#
-# This is a non-standard option in MQTT V3.1 but allowed in MQTT v3.1.1.
-#
-# Badly designed clients may set clean session to false whilst using a randomly
-# generated client id. This leads to persistent clients that will never
-# reconnect. This option allows these clients to be removed.
-#
-# The expiration period should be an integer followed by one of h d w m y for
-# hour, day, week, month and year respectively. For example
-#
-# persistent_client_expiration 2m
-# persistent_client_expiration 14d
-# persistent_client_expiration 1y
-#
-# The default if not set is to never expire persistent clients.
-#persistent_client_expiration
-
-# Write process id to a file. Default is a blank string which means
-# a pid file shouldn't be written.
-# This should be set to /var/run/mosquitto/mosquitto.pid if mosquitto is
-# being run automatically on boot with an init script and
-# start-stop-daemon or similar.
-#pid_file
-
-# Set to true to queue messages with QoS 0 when a persistent client is
-# disconnected. These messages are included in the limit imposed by
-# max_queued_messages and max_queued_bytes
-# Defaults to false.
-# This is a non-standard option for the MQTT v3.1 spec but is allowed in
-# v3.1.1.
-#queue_qos0_messages false
-
-# Set to false to disable retained message support. If a client publishes a
-# message with the retain bit set, it will be disconnected if this is set to
-# false.
-#retain_available true
-
-# Disable Nagle's algorithm on client sockets. This has the effect of reducing
-# latency of individual messages at the potential cost of increasing the number
-# of packets being sent.
-#set_tcp_nodelay false
-
-# Time in seconds between updates of the $SYS tree.
-# Set to 0 to disable the publishing of the $SYS tree.
-#sys_interval 10
-
-# The MQTT specification requires that the QoS of a message delivered to a
-# subscriber is never upgraded to match the QoS of the subscription. Enabling
-# this option changes this behaviour. If upgrade_outgoing_qos is set true,
-# messages sent to a subscriber will always match the QoS of its subscription.
-# This is a non-standard option explicitly disallowed by the spec.
-#upgrade_outgoing_qos false
-
-# When run as root, drop privileges to this user and its primary
-# group.
-# Set to root to stay as root, but this is not recommended.
-# If set to "mosquitto", or left unset, and the "mosquitto" user does not exist
-# then it will drop privileges to the "nobody" user instead.
-# If run as a non-root user, this setting has no effect.
-# Note that on Windows this has no effect and so mosquitto should be started by
-# the user you wish it to run as.
-#user mosquitto
-
-# =================================================================
-# Listeners
-# =================================================================
-
-# Listen on a port/ip address combination. By using this variable
-# multiple times, mosquitto can listen on more than one port. If
-# this variable is used and neither bind_address nor port given,
-# then the default listener will not be started.
-# The port number to listen on must be given. Optionally, an ip
-# address or host name may be supplied as a second argument. In
-# this case, mosquitto will attempt to bind the listener to that
-# address and so restrict access to the associated network and
-# interface. By default, mosquitto will listen on all interfaces.
-# Note that for a websockets listener it is not possible to bind to a host
-# name.
-#
-# On systems that support Unix Domain Sockets, it is also possible
-# to create a # Unix socket rather than opening a TCP socket. In
-# this case, the port number should be set to 0 and a unix socket
-# path must be provided, e.g.
-# listener 0 /tmp/mosquitto.sock
-#
-# listener port-number [ip address/host name/unix socket path]
-listener 1883
-
-# By default, a listener will attempt to listen on all supported IP protocol
-# versions. If you do not have an IPv4 or IPv6 interface you may wish to
-# disable support for either of those protocol versions. In particular, note
-# that due to the limitations of the websockets library, it will only ever
-# attempt to open IPv6 sockets if IPv6 support is compiled in, and so will fail
-# if IPv6 is not available.
-#
-# Set to `ipv4` to force the listener to only use IPv4, or set to `ipv6` to
-# force the listener to only use IPv6. If you want support for both IPv4 and
-# IPv6, then do not use the socket_domain option.
-#
-#socket_domain
-
-# Bind the listener to a specific interface. This is similar to
-# the [ip address/host name] part of the listener definition, but is useful
-# when an interface has multiple addresses or the address may change. If used
-# with the [ip address/host name] part of the listener definition, then the
-# bind_interface option will take priority.
-# Not available on Windows.
-#
-# Example: bind_interface eth0
-#bind_interface
-
-# When a listener is using the websockets protocol, it is possible to serve
-# http data as well. Set http_dir to a directory which contains the files you
-# wish to serve. If this option is not specified, then no normal http
-# connections will be possible.
-#http_dir
-
-# The maximum number of client connections to allow. This is
-# a per listener setting.
-# Default is -1, which means unlimited connections.
-# Note that other process limits mean that unlimited connections
-# are not really possible. Typically the default maximum number of
-# connections possible is around 1024.
-#max_connections -1
-
-# The listener can be restricted to operating within a topic hierarchy using
-# the mount_point option. This is achieved be prefixing the mount_point string
-# to all topics for any clients connected to this listener. This prefixing only
-# happens internally to the broker; the client will not see the prefix.
-#mount_point
-
-# Choose the protocol to use when listening.
-# This can be either mqtt or websockets.
-# Certificate based TLS may be used with websockets, except that only the
-# cafile, certfile, keyfile, ciphers, and ciphers_tls13 options are supported.
-#protocol mqtt
-
-# Set use_username_as_clientid to true to replace the clientid that a client
-# connected with with its username. This allows authentication to be tied to
-# the clientid, which means that it is possible to prevent one client
-# disconnecting another by using the same clientid.
-# If a client connects with no username it will be disconnected as not
-# authorised when this option is set to true.
-# Do not use in conjunction with clientid_prefixes.
-# See also use_identity_as_username.
-#use_username_as_clientid
-
-# Change the websockets headers size. This is a global option, it is not
-# possible to set per listener. This option sets the size of the buffer used in
-# the libwebsockets library when reading HTTP headers. If you are passing large
-# header data such as cookies then you may need to increase this value. If left
-# unset, or set to 0, then the default of 1024 bytes will be used.
-#websockets_headers_size
-
-# -----------------------------------------------------------------
-# Certificate based SSL/TLS support
-# -----------------------------------------------------------------
-# The following options can be used to enable certificate based SSL/TLS support
-# for this listener. Note that the recommended port for MQTT over TLS is 8883,
-# but this must be set manually.
-#
-# See also the mosquitto-tls man page and the "Pre-shared-key based SSL/TLS
-# support" section. Only one of certificate or PSK encryption support can be
-# enabled for any listener.
-
-# Both of certfile and keyfile must be defined to enable certificate based
-# TLS encryption.
-
-# Path to the PEM encoded server certificate.
-#certfile
-
-# Path to the PEM encoded keyfile.
-#keyfile
-
-# If you wish to control which encryption ciphers are used, use the ciphers
-# option. The list of available ciphers can be optained using the "openssl
-# ciphers" command and should be provided in the same format as the output of
-# that command. This applies to TLS 1.2 and earlier versions only. Use
-# ciphers_tls1.3 for TLS v1.3.
-#ciphers
-
-# Choose which TLS v1.3 ciphersuites are used for this listener.
-# Defaults to "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256"
-#ciphers_tls1.3
-
-# If you have require_certificate set to true, you can create a certificate
-# revocation list file to revoke access to particular client certificates. If
-# you have done this, use crlfile to point to the PEM encoded revocation file.
-#crlfile
-
-# To allow the use of ephemeral DH key exchange, which provides forward
-# security, the listener must load DH parameters. This can be specified with
-# the dhparamfile option. The dhparamfile can be generated with the command
-# e.g. "openssl dhparam -out dhparam.pem 2048"
-#dhparamfile
-
-# By default an TLS enabled listener will operate in a similar fashion to a
-# https enabled web server, in that the server has a certificate signed by a CA
-# and the client will verify that it is a trusted certificate. The overall aim
-# is encryption of the network traffic. By setting require_certificate to true,
-# the client must provide a valid certificate in order for the network
-# connection to proceed. This allows access to the broker to be controlled
-# outside of the mechanisms provided by MQTT.
-#require_certificate false
-
-# cafile and capath define methods of accessing the PEM encoded
-# Certificate Authority certificates that will be considered trusted when
-# checking incoming client certificates.
-# cafile defines the path to a file containing the CA certificates.
-# capath defines a directory that will be searched for files
-# containing the CA certificates. For capath to work correctly, the
-# certificate files must have ".crt" as the file ending and you must run
-# "openssl rehash " each time you add/remove a certificate.
-#cafile
-#capath
-
-
-# If require_certificate is true, you may set use_identity_as_username to true
-# to use the CN value from the client certificate as a username. If this is
-# true, the password_file option will not be used for this listener.
-#use_identity_as_username false
-
-# -----------------------------------------------------------------
-# Pre-shared-key based SSL/TLS support
-# -----------------------------------------------------------------
-# The following options can be used to enable PSK based SSL/TLS support for
-# this listener. Note that the recommended port for MQTT over TLS is 8883, but
-# this must be set manually.
-#
-# See also the mosquitto-tls man page and the "Certificate based SSL/TLS
-# support" section. Only one of certificate or PSK encryption support can be
-# enabled for any listener.
-
-# The psk_hint option enables pre-shared-key support for this listener and also
-# acts as an identifier for this listener. The hint is sent to clients and may
-# be used locally to aid authentication. The hint is a free form string that
-# doesn't have much meaning in itself, so feel free to be creative.
-# If this option is provided, see psk_file to define the pre-shared keys to be
-# used or create a security plugin to handle them.
-#psk_hint
-
-# When using PSK, the encryption ciphers used will be chosen from the list of
-# available PSK ciphers. If you want to control which ciphers are available,
-# use the "ciphers" option. The list of available ciphers can be optained
-# using the "openssl ciphers" command and should be provided in the same format
-# as the output of that command.
-#ciphers
-
-# Set use_identity_as_username to have the psk identity sent by the client used
-# as its username. Authentication will be carried out using the PSK rather than
-# the MQTT username/password and so password_file will not be used for this
-# listener.
-#use_identity_as_username false
-
-listener 9001
-protocol websockets
-
-# =================================================================
-# Persistence
-# =================================================================
-
-# If persistence is enabled, save the in-memory database to disk
-# every autosave_interval seconds. If set to 0, the persistence
-# database will only be written when mosquitto exits. See also
-# autosave_on_changes.
-# Note that writing of the persistence database can be forced by
-# sending mosquitto a SIGUSR1 signal.
-#autosave_interval 1800
-
-# If true, mosquitto will count the number of subscription changes, retained
-# messages received and queued messages and if the total exceeds
-# autosave_interval then the in-memory database will be saved to disk.
-# If false, mosquitto will save the in-memory database to disk by treating
-# autosave_interval as a time in seconds.
-#autosave_on_changes false
-
-# Save persistent message data to disk (true/false).
-# This saves information about all messages, including
-# subscriptions, currently in-flight messages and retained
-# messages.
-# retained_persistence is a synonym for this option.
-#persistence false
-
-# The filename to use for the persistent database, not including
-# the path.
-#persistence_file mosquitto.db
-
-# Location for persistent database.
-# Default is an empty string (current directory).
-# Set to e.g. /var/lib/mosquitto if running as a proper service on Linux or
-# similar.
-#persistence_location
-
-
-# =================================================================
-# Logging
-# =================================================================
-
-# Places to log to. Use multiple log_dest lines for multiple
-# logging destinations.
-# Possible destinations are: stdout stderr syslog topic file dlt
-#
-# stdout and stderr log to the console on the named output.
-#
-# syslog uses the userspace syslog facility which usually ends up
-# in /var/log/messages or similar.
-#
-# topic logs to the broker topic '$SYS/broker/log/',
-# where severity is one of D, E, W, N, I, M which are debug, error,
-# warning, notice, information and message. Message type severity is used by
-# the subscribe/unsubscribe log_types and publishes log messages to
-# $SYS/broker/log/M/susbcribe or $SYS/broker/log/M/unsubscribe.
-#
-# The file destination requires an additional parameter which is the file to be
-# logged to, e.g. "log_dest file /var/log/mosquitto.log". The file will be
-# closed and reopened when the broker receives a HUP signal. Only a single file
-# destination may be configured.
-#
-# The dlt destination is for the automotive `Diagnostic Log and Trace` tool.
-# This requires that Mosquitto has been compiled with DLT support.
-#
-# Note that if the broker is running as a Windows service it will default to
-# "log_dest none" and neither stdout nor stderr logging is available.
-# Use "log_dest none" if you wish to disable logging.
-#log_dest stderr
-
-# Types of messages to log. Use multiple log_type lines for logging
-# multiple types of messages.
-# Possible types are: debug, error, warning, notice, information,
-# none, subscribe, unsubscribe, websockets, all.
-# Note that debug type messages are for decoding the incoming/outgoing
-# network packets. They are not logged in "topics".
-#log_type error
-#log_type warning
-#log_type notice
-#log_type information
-
-
-# If set to true, client connection and disconnection messages will be included
-# in the log.
-#connection_messages true
-
-# If using syslog logging (not on Windows), messages will be logged to the
-# "daemon" facility by default. Use the log_facility option to choose which of
-# local0 to local7 to log to instead. The option value should be an integer
-# value, e.g. "log_facility 5" to use local5.
-#log_facility
-
-# If set to true, add a timestamp value to each log message.
-#log_timestamp true
-
-# Set the format of the log timestamp. If left unset, this is the number of
-# seconds since the Unix epoch.
-# This is a free text string which will be passed to the strftime function. To
-# get an ISO 8601 datetime, for example:
-# log_timestamp_format %Y-%m-%dT%H:%M:%S
-#log_timestamp_format
-
-# Change the websockets logging level. This is a global option, it is not
-# possible to set per listener. This is an integer that is interpreted by
-# libwebsockets as a bit mask for its lws_log_levels enum. See the
-# libwebsockets documentation for more details. "log_type websockets" must also
-# be enabled.
-#websockets_log_level 0
-
-
-# =================================================================
-# Security
-# =================================================================
-
-# If set, only clients that have a matching prefix on their
-# clientid will be allowed to connect to the broker. By default,
-# all clients may connect.
-# For example, setting "secure-" here would mean a client "secure-
-# client" could connect but another with clientid "mqtt" couldn't.
-#clientid_prefixes
-
-# Boolean value that determines whether clients that connect
-# without providing a username are allowed to connect. If set to
-# false then a password file should be created (see the
-# password_file option) to control authenticated client access.
-#
-# Defaults to false, unless there are no listeners defined in the configuration
-# file, in which case it is set to true, but connections are only allowed from
-# the local machine.
-allow_anonymous true
-
-# -----------------------------------------------------------------
-# Default authentication and topic access control
-# -----------------------------------------------------------------
-
-# Control access to the broker using a password file. This file can be
-# generated using the mosquitto_passwd utility. If TLS support is not compiled
-# into mosquitto (it is recommended that TLS support should be included) then
-# plain text passwords are used, in which case the file should be a text file
-# with lines in the format:
-# username:password
-# The password (and colon) may be omitted if desired, although this
-# offers very little in the way of security.
-#
-# See the TLS client require_certificate and use_identity_as_username options
-# for alternative authentication options. If an auth_plugin is used as well as
-# password_file, the auth_plugin check will be made first.
-#password_file
-
-# Access may also be controlled using a pre-shared-key file. This requires
-# TLS-PSK support and a listener configured to use it. The file should be text
-# lines in the format:
-# identity:key
-# The key should be in hexadecimal format without a leading "0x".
-# If an auth_plugin is used as well, the auth_plugin check will be made first.
-#psk_file
-
-# Control access to topics on the broker using an access control list
-# file. If this parameter is defined then only the topics listed will
-# have access.
-# If the first character of a line of the ACL file is a # it is treated as a
-# comment.
-# Topic access is added with lines of the format:
-#
-# topic [read|write|readwrite|deny]
-#
-# The access type is controlled using "read", "write", "readwrite" or "deny".
-# This parameter is optional (unless contains a space character) - if
-# not given then the access is read/write. can contain the + or #
-# wildcards as in subscriptions.
-#
-# The "deny" option can used to explicity deny access to a topic that would
-# otherwise be granted by a broader read/write/readwrite statement. Any "deny"
-# topics are handled before topics that grant read/write access.
-#
-# The first set of topics are applied to anonymous clients, assuming
-# allow_anonymous is true. User specific topic ACLs are added after a
-# user line as follows:
-#
-# user
-#
-# The username referred to here is the same as in password_file. It is
-# not the clientid.
-#
-#
-# If is also possible to define ACLs based on pattern substitution within the
-# topic. The patterns available for substition are:
-#
-# %c to match the client id of the client
-# %u to match the username of the client
-#
-# The substitution pattern must be the only text for that level of hierarchy.
-#
-# The form is the same as for the topic keyword, but using pattern as the
-# keyword.
-# Pattern ACLs apply to all users even if the "user" keyword has previously
-# been given.
-#
-# If using bridges with usernames and ACLs, connection messages can be allowed
-# with the following pattern:
-# pattern write $SYS/broker/connection/%c/state
-#
-# pattern [read|write|readwrite]
-#
-# Example:
-#
-# pattern write sensor/%u/data
-#
-# If an auth_plugin is used as well as acl_file, the auth_plugin check will be
-# made first.
-#acl_file
-
-# -----------------------------------------------------------------
-# External authentication and topic access plugin options
-# -----------------------------------------------------------------
-
-# External authentication and access control can be supported with the
-# auth_plugin option. This is a path to a loadable plugin. See also the
-# auth_opt_* options described below.
-#
-# The auth_plugin option can be specified multiple times to load multiple
-# plugins. The plugins will be processed in the order that they are specified
-# here. If the auth_plugin option is specified alongside either of
-# password_file or acl_file then the plugin checks will be made first.
-#
-#auth_plugin
-
-# If the auth_plugin option above is used, define options to pass to the
-# plugin here as described by the plugin instructions. All options named
-# using the format auth_opt_* will be passed to the plugin, for example:
-#
-# auth_opt_db_host
-# auth_opt_db_port
-# auth_opt_db_username
-# auth_opt_db_password
-
-
-# =================================================================
-# Bridges
-# =================================================================
-
-# A bridge is a way of connecting multiple MQTT brokers together.
-# Create a new bridge using the "connection" option as described below. Set
-# options for the bridges using the remaining parameters. You must specify the
-# address and at least one topic to subscribe to.
-#
-# Each connection must have a unique name.
-#
-# The address line may have multiple host address and ports specified. See
-# below in the round_robin description for more details on bridge behaviour if
-# multiple addresses are used. Note that if you use an IPv6 address, then you
-# are required to specify a port.
-#
-# The direction that the topic will be shared can be chosen by
-# specifying out, in or both, where the default value is out.
-# The QoS level of the bridged communication can be specified with the next
-# topic option. The default QoS level is 0, to change the QoS the topic
-# direction must also be given.
-#
-# The local and remote prefix options allow a topic to be remapped when it is
-# bridged to/from the remote broker. This provides the ability to place a topic
-# tree in an appropriate location.
-#
-# For more details see the mosquitto.conf man page.
-#
-# Multiple topics can be specified per connection, but be careful
-# not to create any loops.
-#
-# If you are using bridges with cleansession set to false (the default), then
-# you may get unexpected behaviour from incoming topics if you change what
-# topics you are subscribing to. This is because the remote broker keeps the
-# subscription for the old topic. If you have this problem, connect your bridge
-# with cleansession set to true, then reconnect with cleansession set to false
-# as normal.
-#connection
-#address [:] [[:]]
-#topic [[[out | in | both] qos-level] local-prefix remote-prefix]
-
-# If you need to have the bridge connect over a particular network interface,
-# use bridge_bind_address to tell the bridge which local IP address the socket
-# should bind to, e.g. `bridge_bind_address 192.168.1.10`
-#bridge_bind_address
-
-# If a bridge has topics that have "out" direction, the default behaviour is to
-# send an unsubscribe request to the remote broker on that topic. This means
-# that changing a topic direction from "in" to "out" will not keep receiving
-# incoming messages. Sending these unsubscribe requests is not always
-# desirable, setting bridge_attempt_unsubscribe to false will disable sending
-# the unsubscribe request.
-#bridge_attempt_unsubscribe true
-
-# Set the version of the MQTT protocol to use with for this bridge. Can be one
-# of mqttv50, mqttv311 or mqttv31. Defaults to mqttv311.
-#bridge_protocol_version mqttv311
-
-# Set the clean session variable for this bridge.
-# When set to true, when the bridge disconnects for any reason, all
-# messages and subscriptions will be cleaned up on the remote
-# broker. Note that with cleansession set to true, there may be a
-# significant amount of retained messages sent when the bridge
-# reconnects after losing its connection.
-# When set to false, the subscriptions and messages are kept on the
-# remote broker, and delivered when the bridge reconnects.
-#cleansession false
-
-# Set the amount of time a bridge using the lazy start type must be idle before
-# it will be stopped. Defaults to 60 seconds.
-#idle_timeout 60
-
-# Set the keepalive interval for this bridge connection, in
-# seconds.
-#keepalive_interval 60
-
-# Set the clientid to use on the local broker. If not defined, this defaults to
-# 'local.'. If you are bridging a broker to itself, it is important
-# that local_clientid and clientid do not match.
-#local_clientid
-
-# If set to true, publish notification messages to the local and remote brokers
-# giving information about the state of the bridge connection. Retained
-# messages are published to the topic $SYS/broker/connection//state
-# unless the notification_topic option is used.
-# If the message is 1 then the connection is active, or 0 if the connection has
-# failed.
-# This uses the last will and testament feature.
-#notifications true
-
-# Choose the topic on which notification messages for this bridge are
-# published. If not set, messages are published on the topic
-# $SYS/broker/connection//state
-#notification_topic
-
-# Set the client id to use on the remote end of this bridge connection. If not
-# defined, this defaults to 'name.hostname' where name is the connection name
-# and hostname is the hostname of this computer.
-# This replaces the old "clientid" option to avoid confusion. "clientid"
-# remains valid for the time being.
-#remote_clientid
-
-# Set the password to use when connecting to a broker that requires
-# authentication. This option is only used if remote_username is also set.
-# This replaces the old "password" option to avoid confusion. "password"
-# remains valid for the time being.
-#remote_password
-
-# Set the username to use when connecting to a broker that requires
-# authentication.
-# This replaces the old "username" option to avoid confusion. "username"
-# remains valid for the time being.
-#remote_username
-
-# Set the amount of time a bridge using the automatic start type will wait
-# until attempting to reconnect.
-# This option can be configured to use a constant delay time in seconds, or to
-# use a backoff mechanism based on "Decorrelated Jitter", which adds a degree
-# of randomness to when the restart occurs.
-#
-# Set a constant timeout of 20 seconds:
-# restart_timeout 20
-#
-# Set backoff with a base (start value) of 10 seconds and a cap (upper limit) of
-# 60 seconds:
-# restart_timeout 10 30
-#
-# Defaults to jitter with a base of 5 and cap of 30
-#restart_timeout 5 30
-
-# If the bridge has more than one address given in the address/addresses
-# configuration, the round_robin option defines the behaviour of the bridge on
-# a failure of the bridge connection. If round_robin is false, the default
-# value, then the first address is treated as the main bridge connection. If
-# the connection fails, the other secondary addresses will be attempted in
-# turn. Whilst connected to a secondary bridge, the bridge will periodically
-# attempt to reconnect to the main bridge until successful.
-# If round_robin is true, then all addresses are treated as equals. If a
-# connection fails, the next address will be tried and if successful will
-# remain connected until it fails
-#round_robin false
-
-# Set the start type of the bridge. This controls how the bridge starts and
-# can be one of three types: automatic, lazy and once. Note that RSMB provides
-# a fourth start type "manual" which isn't currently supported by mosquitto.
-#
-# "automatic" is the default start type and means that the bridge connection
-# will be started automatically when the broker starts and also restarted
-# after a short delay (30 seconds) if the connection fails.
-#
-# Bridges using the "lazy" start type will be started automatically when the
-# number of queued messages exceeds the number set with the "threshold"
-# parameter. It will be stopped automatically after the time set by the
-# "idle_timeout" parameter. Use this start type if you wish the connection to
-# only be active when it is needed.
-#
-# A bridge using the "once" start type will be started automatically when the
-# broker starts but will not be restarted if the connection fails.
-#start_type automatic
-
-# Set the number of messages that need to be queued for a bridge with lazy
-# start type to be restarted. Defaults to 10 messages.
-# Must be less than max_queued_messages.
-#threshold 10
-
-# If try_private is set to true, the bridge will attempt to indicate to the
-# remote broker that it is a bridge not an ordinary client. If successful, this
-# means that loop detection will be more effective and that retained messages
-# will be propagated correctly. Not all brokers support this feature so it may
-# be necessary to set try_private to false if your bridge does not connect
-# properly.
-#try_private true
-
-# Some MQTT brokers do not allow retained messages. MQTT v5 gives a mechanism
-# for brokers to tell clients that they do not support retained messages, but
-# this is not possible for MQTT v3.1.1 or v3.1. If you need to bridge to a
-# v3.1.1 or v3.1 broker that does not support retained messages, set the
-# bridge_outgoing_retain option to false. This will remove the retain bit on
-# all outgoing messages to that bridge, regardless of any other setting.
-#bridge_outgoing_retain true
-
-# If you wish to restrict the size of messages sent to a remote bridge, use the
-# bridge_max_packet_size option. This sets the maximum number of bytes for
-# the total message, including headers and payload.
-# Note that MQTT v5 brokers may provide their own maximum-packet-size property.
-# In this case, the smaller of the two limits will be used.
-# Set to 0 for "unlimited".
-#bridge_max_packet_size 0
-
-
-# -----------------------------------------------------------------
-# Certificate based SSL/TLS support
-# -----------------------------------------------------------------
-# Either bridge_cafile or bridge_capath must be defined to enable TLS support
-# for this bridge.
-# bridge_cafile defines the path to a file containing the
-# Certificate Authority certificates that have signed the remote broker
-# certificate.
-# bridge_capath defines a directory that will be searched for files containing
-# the CA certificates. For bridge_capath to work correctly, the certificate
-# files must have ".crt" as the file ending and you must run "openssl rehash
-# " each time you add/remove a certificate.
-#bridge_cafile
-#bridge_capath
-
-
-# If the remote broker has more than one protocol available on its port, e.g.
-# MQTT and WebSockets, then use bridge_alpn to configure which protocol is
-# requested. Note that WebSockets support for bridges is not yet available.
-#bridge_alpn
-
-# When using certificate based encryption, bridge_insecure disables
-# verification of the server hostname in the server certificate. This can be
-# useful when testing initial server configurations, but makes it possible for
-# a malicious third party to impersonate your server through DNS spoofing, for
-# example. Use this option in testing only. If you need to resort to using this
-# option in a production environment, your setup is at fault and there is no
-# point using encryption.
-#bridge_insecure false
-
-# Path to the PEM encoded client certificate, if required by the remote broker.
-#bridge_certfile
-
-# Path to the PEM encoded client private key, if required by the remote broker.
-#bridge_keyfile
-
-# -----------------------------------------------------------------
-# PSK based SSL/TLS support
-# -----------------------------------------------------------------
-# Pre-shared-key encryption provides an alternative to certificate based
-# encryption. A bridge can be configured to use PSK with the bridge_identity
-# and bridge_psk options. These are the client PSK identity, and pre-shared-key
-# in hexadecimal format with no "0x". Only one of certificate and PSK based
-# encryption can be used on one
-# bridge at once.
-#bridge_identity
-#bridge_psk
-
-
-# =================================================================
-# External config files
-# =================================================================
-
-# External configuration files may be included by using the
-# include_dir option. This defines a directory that will be searched
-# for config files. All files that end in '.conf' will be loaded as
-# a configuration file. It is best to have this as the last option
-# in the main file. This option will only be processed from the main
-# configuration file. The directory specified must not contain the
-# main configuration file.
-# Files within include_dir will be loaded sorted in case-sensitive
-# alphabetical order, with capital letters ordered first. If this option is
-# given multiple times, all of the files from the first instance will be
-# processed before the next instance. See the man page for examples.
-#include_dir
diff --git a/docker/readme.rst b/docker/readme.rst
deleted file mode 100644
index 32b60220..00000000
--- a/docker/readme.rst
+++ /dev/null
@@ -1,92 +0,0 @@
-************
-Docker setup
-************
-
-You need to install docker_ and docker-compose_. Furthermore, `visual
-studio code`_ might be handy as a common integrated development
-environment.
-
-In order for custom or local containers to be able to talk to the
-services, provided by the *docker-compose* containers, we need to create
-a common docker network. It is called ``infranet_network`` and needs to
-be created by the following command (IPv6 is enabled for containers
-which might need it)::
-
- docker network create --driver bridge --ipv6 --subnet fd00::/80 infranet_network --attachable
-
-Start *vscode*, open the workspace *docker-mqtt.code-workspace* and
-install suggested extensions. Open a shell in sub-directory ``docker``
-and run (might take while for the first run)::
-
- docker-compose up -d
-
-Now, the following services should be running:
-
-- **Mosquitto MQTT broker** (service name: mqtt-server) with ports
-
- - ``1883``: mqtt tcp connection
- - ``9001``: mqtt websocket connection
-
-- **mariadb** (service name: ocpp-db), sql database needed by **SteVe**
-
- - ``3306``: sql tcp connection
-
-- **SteVe** (service name: steve) on port 8180 with endpoints
-
- - ``:8180/steve/manager/home``: web interface (login = admin:1234)
- - ``:8180/steve/services/CentralSystemService``: SOAP endpoint for
- OCPP
- - ``:8180/steve/websocket/CentralSystemService/(chargeBoxId)``:
- WebSocket/JSON endpoint for OCPP
-
-These three services are defined in ``docker/docker-compose.yml`` and
-they live inside the docker network ``docker_default`` with their
-respective ports. By default these ports are not directly accessible by
-using ``localhost:8080`` for example. The current configuration exposes
-all these ports to the local host with some port mapping, so the often
-used ports will not clash with other services already running on your
-host system. The mapping is as follows:
-
-- ``1883`` -> ``1883``, ``9001`` -> ``9001`` for
- **mosquitto**
-- ``13306`` -> ``3306`` for **mariadb**
-- ``8180`` -> ``8180`` for **SteVe**
-
-So, if you want to access the **mosquitto** default mqtt port via your
-local host, you need to access ``localhost:1883``. But if you want to
-access it from a service or container inside the *docker_default*
-network, you'll need to access ``mqtt-server:1883``. Using the docker
-extension in *vscode*, you can show the logs of these services or attach
-a shell to them by navigating to the docker tab and then right-clicking
-on the specific container.
-
-
-everest playground
-==================
-
-If you would like to get a pre-configured development setup using
-*vscode* for the *everest-cpp* framework, you need to start up the mqtt
-server with::
-
- docker-compose up -d mqtt-server
-
-Then, using *vscode*, open up a new window with *Ctrl+Shift+N* (or use
-the current), press *F1*, enter ``remopen``, select `Remote-Containers:
-Open Folder in Container...`, head to the directory
-``docker/everest-playground`` and open. This will build a docker image
-with a standard development environment and start `vscode`
-inside it. This image will also link to the ``infranet_network`` network,
-so it can access the mqtt service and possible other services.
-
-In order to build the *everest-cpp* framework, create a directory called
-``build`` and run::
-
- cmake PATH_TO_EVEREST_CPP
- make -j8
-
-inside it.
-
-
-.. _docker: https://docs.docker.com/engine/install/#server
-.. _docker-compose: https://docs.docker.com/compose/install/#install-compose)
-.. _visual studio code: https://code.visualstudio.com/docs/setup/linux
diff --git a/docker/steve/Dockerfile b/docker/steve/Dockerfile
deleted file mode 100644
index 040092e3..00000000
--- a/docker/steve/Dockerfile
+++ /dev/null
@@ -1,17 +0,0 @@
-FROM maven:3.6.1-jdk-11
-
-ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
-
-WORKDIR /steve
-
-ENV DOCKERIZE_VERSION v0.6.1
-RUN wget --no-verbose https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
- && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
- && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
-
-RUN wget -qO- https://github.com/steve-community/steve/archive/steve-3.6.0.tar.gz | tar xz --strip-components=1
-COPY main.properties src/main/resources/config/docker
-COPY init.sh .
-COPY keystore.jks .
-
-CMD /steve/init.sh
diff --git a/docker/steve/init.sh b/docker/steve/init.sh
deleted file mode 100755
index cd00a3c2..00000000
--- a/docker/steve/init.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-set -e # exit on any error
-dockerize -wait tcp://ocpp-db:3306 -timeout 60s
-
-if [ ! -f ".buildsuccess" ]; then
- mvn clean package -Pdocker -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2"
- touch .buildsuccess
-fi
-
-java -jar target/steve.jar
\ No newline at end of file
diff --git a/docker/steve/keystore.jks b/docker/steve/keystore.jks
deleted file mode 100644
index 39cd7610..00000000
Binary files a/docker/steve/keystore.jks and /dev/null differ
diff --git a/docker/steve/main.properties b/docker/steve/main.properties
deleted file mode 100644
index ba940075..00000000
--- a/docker/steve/main.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-# Just to be backwards compatible with previous versions, this is set to "steve",
-# since there might be already configured chargepoints expecting the older path.
-# Otherwise, might as well be changed to something else or be left empty.
-#
-context.path = steve
-
-# Database configuration
-#
-db.ip = ocpp-db
-db.port = 3306
-db.schema = ocpp-db
-db.user = ocpp
-db.password = ocpp
-
-# Credentials for Web interface access
-#
-auth.user = admin
-auth.password = 1234
-
-# Jetty configuration
-#
-server.host = 0.0.0.0
-server.gzip.enabled = false
-
-# Jetty HTTP configuration
-#
-http.enabled = true
-http.port = 8180
-
-# Jetty HTTPS configuration
-#
-https.enabled = true
-https.port = 8443
-keystore.path = /steve/keystore.jks
-keystore.password = 123456
-
-# When the WebSocket/Json charge point opens more than one WebSocket connection,
-# we need a mechanism/strategy to select one of them for outgoing requests.
-# For allowed values see de.rwth.idsg.steve.ocpp.ws.custom.WsSessionSelectStrategyEnum.
-#
-ws.session.select.strategy = ALWAYS_LAST
-
-# if BootNotification messages arrive (SOAP) or WebSocket connection attempts are made (JSON) from unknown charging
-# stations, we reject these charging stations, because stations with these chargeBoxIds were NOT inserted into database
-# beforehand. by setting this property to true, this behaviour can be modified to automatically insert unknown
-# stations into database and accept their requests.
-#
-# CAUTION: setting this property to true is very dangerous, because we will accept EVERY BootNotification or WebSocket
-# connection attempt from ANY sender as long as the sender knows the URL and sends a valid message.
-#
-auto.register.unknown.stations = false
-
-### DO NOT MODIFY ###
-steve.version = ${project.version}
-git.describe = ${git.commit.id.describe}
-db.sql.logging = false
-profile = prod
diff --git a/ev-dev-tools/src/ev_cli/templates/interface-Base.hpp.j2 b/ev-dev-tools/src/ev_cli/templates/interface-Base.hpp.j2
index 96eb3d5a..c253211d 100644
--- a/ev-dev-tools/src/ev_cli/templates/interface-Base.hpp.j2
+++ b/ev-dev-tools/src/ev_cli/templates/interface-Base.hpp.j2
@@ -107,7 +107,7 @@ private:
std::shared_ptr error_manager;
// helper function for getting all commands
- void _gather_cmds(std::vector& cmds) override {
+ void _gather_cmds([[maybe_unused]] std::vector& cmds) override {
{% if not cmds %}
// this interface does not offer any commands
{% else %}
diff --git a/everest-cpp/.gitignore b/everest-cpp/.gitignore
deleted file mode 100644
index 44ffac88..00000000
--- a/everest-cpp/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*
-!.gitignore
-!README.md
-!init.sh
diff --git a/everest-cpp/README.md b/everest-cpp/README.md
deleted file mode 100644
index 5ebb7aac..00000000
--- a/everest-cpp/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-To initialize the EVerest workspace you can source the *[init.sh](./init.sh)* file:
-
-```bash
-. init.sh
-```
-
-The working directory will be changed to *everest-core/build*. Here you can use cmake and make to build the project:
-
-```bash
-cmake .. && make install
-```
diff --git a/everest-cpp/init.sh b/everest-cpp/init.sh
deleted file mode 100755
index 2247158b..00000000
--- a/everest-cpp/init.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-##
-## SPDX-License-Identifier: Apache-2.0
-## Copyright 2020 - 2022 Pionix GmbH and Contributors to EVerest
-##
-echo "Installing required tools, initializing workspace, changing into everest-core/build"
-GIT_PROTOCOL="git"
-if [ -d "everest-dev-environment" ] ; then
- echo "Directory 'everest-dev-environment' already exists, trying to update its contents..."
- (cd everest-dev-environment && git pull)
-else
- ssh -T git@github.com
- SSH_TEST_RETVAL=$?
- if [ $SSH_TEST_RETVAL -ne 1 ] ; then
- echo "Could not clone everest-dev-environment with git protocol."
- echo "Did you add your SSH key on GitHub and made it available to ssh-agent?"
- echo "Trying to continue with https protocol."
- GIT_PROTOCOL="https"
- fi
- if [ "${GIT_PROTOCOL}" = "https" ] ; then
- git clone https://github.com/EVerest/everest-dev-environment.git || { echo "Could not clone everest-dev-environment."; return; }
- else
- git clone git@github.com:EVerest/everest-dev-environment.git
- fi
-fi
-(cd everest-dev-environment/dependency_manager && python3 -m pip install .)
-edm init main
-(cd everest-utils/ev-dev-tools && python3 -m pip install .)
-(cd everest-utils/everest-testing && python3 -m pip install .)
-(cd Josev && python3 -m pip install -r requirements.txt)
-mkdir -p everest-core/build
-cd everest-core/build
-echo ""
-echo "You can now build everest-core with the following commands:"
-echo ""
-echo "cmake .. && make install -j$(nproc)"