diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml b/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml index 5b2b44c1a..30c65eaf9 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml +++ b/src/opnsense/mvc/app/controllers/OPNsense/Monit/forms/services.xml @@ -72,6 +72,12 @@ select_multiple + + monit.service.depends + + select_multiple + + monit.service.description diff --git a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml index c4fb4f558..5603268b5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml @@ -256,6 +256,18 @@ Y N + + + + + Related item not found + Y + N + diff --git a/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt b/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt index 184d2bd2f..c7febc420 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Monit/index.volt @@ -201,6 +201,7 @@ POSSIBILITY OF SUCH DAMAGE. $('tr[id="row_monit.service.interface"]').addClass('hidden'); $('tr[id="row_monit.service.start"]').removeClass('hidden'); $('tr[id="row_monit.service.stop"]').removeClass('hidden'); + $('tr[id="row_monit.service.depends"]').removeClass('hidden'); switch (servicetype) { case 'process': var pidfile = $('#monit\\.service\\.pidfile').val(); @@ -236,6 +237,7 @@ POSSIBILITY OF SUCH DAMAGE. case 'system': $('tr[id="row_monit.service.start"]').addClass('hidden'); $('tr[id="row_monit.service.stop"]').addClass('hidden'); + $('tr[id="row_monit.service.depends"]').addClass('hidden'); break; default: $('tr[id="row_monit.service.path"]').removeClass('hidden'); diff --git a/src/opnsense/service/templates/OPNsense/Monit/monitrc b/src/opnsense/service/templates/OPNsense/Monit/monitrc index bfb66e185..26fe3b8a0 100644 --- a/src/opnsense/service/templates/OPNsense/Monit/monitrc +++ b/src/opnsense/service/templates/OPNsense/Monit/monitrc @@ -128,6 +128,12 @@ check program {{ service.name }} {{ path }} {{ timeout }} check {{ service.type }} {{ service.name }} {{ path }} {% endif %} {% endif %} +{% if service.depends is defined %} +{% for dependency in service.depends.split(",") %} +{% set dependency = helpers.getUUID(dependency) %} + depends on {{dependency.name}} +{% endfor %} +{% endif %} {% if service.start|default('') != '' %} start program = "{{ service.start }}" {% endif %}