From 5b062a7a501a094d63342f113c4bbf88095eea2a Mon Sep 17 00:00:00 2001 From: thebaptiste Date: Tue, 15 Oct 2024 13:58:40 +0000 Subject: [PATCH] feat: add plugin template for AMQP 1.0 (WIP) --- .../cookiecutter.json | 0 .../{amqplistener => amqp09_listener}/hooks | 0 .../.autorestart_excludes | 0 .../.autorestart_includes | 0 .../{{cookiecutter.name}}/.gitignore | 0 .../.layerapi2_dependencies | 0 .../{{cookiecutter.name}}/.layerapi2_label | 0 .../.plugin_format_version | 0 .../{{cookiecutter.name}}/.releaseignore | 0 .../{{cookiecutter.name}}/Makefile | 0 .../bin/amqp_listener.py | 0 .../{{cookiecutter.name}}/config.ini | 0 .../{{cookiecutter.name}}/crontab | 0 .../allow_binary_packages | 0 .../requirements-to-freeze.txt | 1 + .../plugins/amqp10_listener/cookiecutter.json | 9 +++++++ adm/templates/plugins/amqp10_listener/hooks | 1 + .../.autorestart_excludes | 1 + .../.autorestart_includes | 1 + .../{{cookiecutter.name}}/.gitignore | 1 + .../.layerapi2_dependencies | 1 + .../{{cookiecutter.name}}/.layerapi2_label | 1 + .../.plugin_format_version | 1 + .../{{cookiecutter.name}}/.releaseignore | 1 + .../{{cookiecutter.name}}/Makefile | 1 + .../bin/amqp10_listener.py | 25 +++++++++++++++++++ .../{{cookiecutter.name}}/config.ini | 17 +++++++++++++ .../{{cookiecutter.name}}/crontab | 1 + .../allow_binary_packages | 0 .../requirements-to-freeze.txt | 1 + .../python3_virtualenv_sources | 1 - 31 files changed, 63 insertions(+), 1 deletion(-) rename adm/templates/plugins/{amqplistener => amqp09_listener}/cookiecutter.json (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/hooks (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.autorestart_excludes (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.autorestart_includes (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.gitignore (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.layerapi2_dependencies (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.layerapi2_label (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.plugin_format_version (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/.releaseignore (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/Makefile (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/bin/amqp_listener.py (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/config.ini (100%) rename adm/templates/plugins/{amqplistener => amqp09_listener}/{{cookiecutter.name}}/crontab (100%) create mode 100644 adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages create mode 100644 adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt create mode 100644 adm/templates/plugins/amqp10_listener/cookiecutter.json create mode 120000 adm/templates/plugins/amqp10_listener/hooks create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_excludes create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_includes create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.gitignore create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_dependencies create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_label create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.plugin_format_version create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.releaseignore create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/Makefile create mode 100755 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/bin/amqp10_listener.py create mode 100644 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/config.ini create mode 120000 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/crontab create mode 100644 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages create mode 100644 adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt delete mode 120000 adm/templates/plugins/amqplistener/{{cookiecutter.name}}/python3_virtualenv_sources diff --git a/adm/templates/plugins/amqplistener/cookiecutter.json b/adm/templates/plugins/amqp09_listener/cookiecutter.json similarity index 100% rename from adm/templates/plugins/amqplistener/cookiecutter.json rename to adm/templates/plugins/amqp09_listener/cookiecutter.json diff --git a/adm/templates/plugins/amqplistener/hooks b/adm/templates/plugins/amqp09_listener/hooks similarity index 100% rename from adm/templates/plugins/amqplistener/hooks rename to adm/templates/plugins/amqp09_listener/hooks diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.autorestart_excludes b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.autorestart_excludes similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.autorestart_excludes rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.autorestart_excludes diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.autorestart_includes b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.autorestart_includes similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.autorestart_includes rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.autorestart_includes diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.gitignore b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.gitignore similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.gitignore rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.gitignore diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.layerapi2_dependencies b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.layerapi2_dependencies similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.layerapi2_dependencies rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.layerapi2_dependencies diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.layerapi2_label b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.layerapi2_label similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.layerapi2_label rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.layerapi2_label diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.plugin_format_version b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.plugin_format_version similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.plugin_format_version rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.plugin_format_version diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.releaseignore b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.releaseignore similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/.releaseignore rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/.releaseignore diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/Makefile b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/Makefile similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/Makefile rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/Makefile diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/bin/amqp_listener.py b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/bin/amqp_listener.py similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/bin/amqp_listener.py rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/bin/amqp_listener.py diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/config.ini b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/config.ini similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/config.ini rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/config.ini diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/crontab b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/crontab similarity index 100% rename from adm/templates/plugins/amqplistener/{{cookiecutter.name}}/crontab rename to adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/crontab diff --git a/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages new file mode 100644 index 00000000..e69de29b diff --git a/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt new file mode 100644 index 00000000..df7f4230 --- /dev/null +++ b/adm/templates/plugins/amqp09_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt @@ -0,0 +1 @@ +pika diff --git a/adm/templates/plugins/amqp10_listener/cookiecutter.json b/adm/templates/plugins/amqp10_listener/cookiecutter.json new file mode 100644 index 00000000..ff87e099 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/cookiecutter.json @@ -0,0 +1,9 @@ +{ + "version": "{% raw %}{{MFMODULE_VERSION}}{% endraw %}", + "release": "1", + "one_line_summary": "one line summary about your plugin", + "license": ["Proprietary", "BSD", "MIT", "GPL", "Specific"], + "url": "http://yourpluginhomepage", + "maintainer": "Firstname FAMILYNAME ", + "vendor": "MetWork" +} diff --git a/adm/templates/plugins/amqp10_listener/hooks b/adm/templates/plugins/amqp10_listener/hooks new file mode 120000 index 00000000..b055a99e --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/hooks @@ -0,0 +1 @@ +../_common/hooks/ \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_excludes b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_excludes new file mode 120000 index 00000000..54f0c6a5 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_excludes @@ -0,0 +1 @@ +../../_common/autorestart_excludes \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_includes b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_includes new file mode 120000 index 00000000..dbc64d79 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.autorestart_includes @@ -0,0 +1 @@ +../../_common/autorestart_includes \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.gitignore b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.gitignore new file mode 120000 index 00000000..3fd82edf --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.gitignore @@ -0,0 +1 @@ +../../_common/.gitignore \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_dependencies b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_dependencies new file mode 120000 index 00000000..efa5ca9e --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_dependencies @@ -0,0 +1 @@ +../../_common/python3_layerapi2_dependencies \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_label b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_label new file mode 120000 index 00000000..3712708f --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.layerapi2_label @@ -0,0 +1 @@ +../../_common/layerapi2_label \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.plugin_format_version b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.plugin_format_version new file mode 120000 index 00000000..5f451ed1 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.plugin_format_version @@ -0,0 +1 @@ +../../_common/.plugin_format_version \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.releaseignore b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.releaseignore new file mode 120000 index 00000000..a76b10be --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/.releaseignore @@ -0,0 +1 @@ +../../_common/.releaseignore \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/Makefile b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/Makefile new file mode 120000 index 00000000..d714b03b --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/Makefile @@ -0,0 +1 @@ +../../_common/Makefile \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/bin/amqp10_listener.py b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/bin/amqp10_listener.py new file mode 100755 index 00000000..88826555 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/bin/amqp10_listener.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +import time +import sys +import proton +import xattrfile +import signal +import os +from acquisition.listener import AcquisitionListener + + +# To be written ! + +class Ampq10Listener(AcquisitionListener): + + def listen(self): + self.info("Listening...") + while True: + time.sleep(1) + + +if __name__ == "__main__": + x = Listener() + x.run() + diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/config.ini b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/config.ini new file mode 100644 index 00000000..b263ac16 --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/config.ini @@ -0,0 +1,17 @@ +{% extends "_common/config.ini" %} + +{% block step %} +{% endblock %} +{% block switch %} +{% endblock %} + +{% block extra_daemons %} +[extra_daemon_amqp10listener] +_cmd_and_args = amqp10_listener.py --step-name=main +numprocesses=1 +{% endblock %} + +{% block custom %} +# To be written +{% endblock %} + diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/crontab b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/crontab new file mode 120000 index 00000000..dd1645dc --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/crontab @@ -0,0 +1 @@ +../../_common/crontab \ No newline at end of file diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/allow_binary_packages new file mode 100644 index 00000000..e69de29b diff --git a/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt new file mode 100644 index 00000000..ae3e59ce --- /dev/null +++ b/adm/templates/plugins/amqp10_listener/{{cookiecutter.name}}/python3_virtualenv_sources/requirements-to-freeze.txt @@ -0,0 +1 @@ +python-qpid-proton diff --git a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/python3_virtualenv_sources b/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/python3_virtualenv_sources deleted file mode 120000 index ee246d1b..00000000 --- a/adm/templates/plugins/amqplistener/{{cookiecutter.name}}/python3_virtualenv_sources +++ /dev/null @@ -1 +0,0 @@ -../../_common/python3_virtualenv_sources \ No newline at end of file