From 9185d999fe9c29d97fc086fcdeaac340a5bff32a Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Tue, 21 May 2024 21:41:30 +0200
Subject: [PATCH] update project

---
 README.md                                     |   2 +-
 mkp/unbound-1.2.2-20240521.mkp                | Bin 0 -> 5212 bytes
 source/agents/plugins/unbound                 |  18 ++++++++++--
 .../wato/check_parameters/unbound_bakery.py   |  27 ++++++++++++------
 .../cmk/base/cee/plugins/bakery/unbound.py    |   9 +++++-
 source/packages/unbound                       |   2 +-
 6 files changed, 44 insertions(+), 14 deletions(-)
 create mode 100644 mkp/unbound-1.2.2-20240521.mkp

diff --git a/README.md b/README.md
index 4bf67e2..ebc2514 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[PACKAGE]: ../../raw/master/mkp/unbound-1.2.1-20240514.mkp "unbound-1.2.1-20240514.mkp"
+[PACKAGE]: ../../raw/master/mkp/unbound-1.2.2-20240521.mkp "unbound-1.2.2-20240521.mkp"
 # unbound
 
 This agent plugin cheks the state of the unbound dns daemon. For more information about unbound see: https://nlnetlabs.nl/projects/unbound/about/
diff --git a/mkp/unbound-1.2.2-20240521.mkp b/mkp/unbound-1.2.2-20240521.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..6041172279b075a9fd310b5281e281c94afac0ae
GIT binary patch
literal 5212
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
LwR}apKtuZ<!HQLM

literal 0
HcmV?d00001

diff --git a/source/agents/plugins/unbound b/source/agents/plugins/unbound
index 52d336e..0d77bf1 100755
--- a/source/agents/plugins/unbound
+++ b/source/agents/plugins/unbound
@@ -1,4 +1,16 @@
 #!/bin/sh
-echo '<<<unbound:sep(61)>>>'
-unbound-control stats_noreset
-echo '<<<>>>'
+
+PLUGIN_CONF_DIR="/etc/check_mk"
+UNBOUND_CFG="/etc/unbound/unbound.conf"
+
+if [ -f "$MK_CONFDIR/unbound.cfg" ]; then
+    . "$MK_CONFDIR/unbound.cfg" 2>/dev/null
+elif [ -f "$PLUGIN_CONF_DIR/unbound.cfg" ]; then
+    . "$PLUGIN_CONF_DIR/unbound.cfg" 2>/dev/null
+fi
+
+if [ -f "$(which unbound-control)" ]; then
+  echo '<<<unbound:sep(61)>>>'
+  unbound-control stats_noreset -c $UNBOUND_CFG
+  echo '<<<>>>'
+fi
diff --git a/source/gui/wato/check_parameters/unbound_bakery.py b/source/gui/wato/check_parameters/unbound_bakery.py
index 525038d..e7fa11f 100644
--- a/source/gui/wato/check_parameters/unbound_bakery.py
+++ b/source/gui/wato/check_parameters/unbound_bakery.py
@@ -35,24 +35,35 @@ from cmk.gui.cee.plugins.wato.agent_bakery.rulespecs.utils import (
     RulespecGroupMonitoringAgentsAgentPlugins,
 )
 
-from cmk.gui.valuespec import Alternative, FixedValue
+from cmk.gui.valuespec import (
+    Alternative,
+    Dictionary,
+    FixedValue,
+    TextInput,
+)
 
 
 def _parameter_valuespec_unbound_bakery():
     return Alternative(
-        title=_('unbound'),
+        title='Unbound',
         elements=[
-            FixedValue(
-                True,
-                title=_('Deploy the unbound agent plugin'),
-                totext=_('The unbound agent plugin will be deployed')
-            ),
+            Dictionary(
+                title='Deploy the unbound agent plugin',
+                elements=[
+                    ('config_file_path',
+                     TextInput(
+                         title=_('Path of config file'),
+                         size=100,
+                         allow_empty=False,
+                         placeholder='/etc/unbound/unbound.conf',
+                     ))
+                ]),
             FixedValue(
                 None,
                 title=_('Do not deploy the unbound agent plugin'),
                 totext=_('The unbound agent plugin will not be deployed')
             ),
-        ],
+        ]
     )
 
 
diff --git a/source/lib/python3/cmk/base/cee/plugins/bakery/unbound.py b/source/lib/python3/cmk/base/cee/plugins/bakery/unbound.py
index ac4f50d..3134fe5 100644
--- a/source/lib/python3/cmk/base/cee/plugins/bakery/unbound.py
+++ b/source/lib/python3/cmk/base/cee/plugins/bakery/unbound.py
@@ -16,6 +16,7 @@ from pathlib import Path
 
 from cmk.base.cee.plugins.bakery.bakery_api.v1 import (
     FileGenerator,
+    PluginConfig,
     OS,
     Plugin,
     register
@@ -23,11 +24,17 @@ from cmk.base.cee.plugins.bakery.bakery_api.v1 import (
 
 
 def get_unbound_files(conf) -> FileGenerator:
-    if conf is True:
+    if conf:
         yield Plugin(
             base_os=OS.LINUX,
             source=Path('unbound'),
         )
+        if config_file_path := conf.get('config_file_path'):
+            yield PluginConfig(
+                base_os=OS.LINUX,
+                lines=[f'UNBOUND_CFG={config_file_path}'],
+                target=Path('unbound.cfg'),
+            )
 
 
 register.bakery_plugin(
diff --git a/source/packages/unbound b/source/packages/unbound
index 517e045..087be7f 100644
--- a/source/packages/unbound
+++ b/source/packages/unbound
@@ -15,7 +15,7 @@
            'lib': ['python3/cmk/base/cee/plugins/bakery/unbound.py']},
  'name': 'unbound',
  'title': 'Unbound',
- 'version': '1.2.1-20240514',
+ 'version': '1.2.2-20240521',
  'version.min_required': '2.2.0b1',
  'version.packaged': '2.2.0p24',
  'version.usable_until': None}
-- 
GitLab