Skip to content

Commit

Permalink
procd: add support for reload triggers on data change
Browse files Browse the repository at this point in the history
This can be useful to reload the firewall when procd firewall data changes

Signed-off-by: Felix Fietkau <[email protected]>
  • Loading branch information
nbd168 committed Dec 17, 2024
1 parent 8c5826b commit 49d92d3
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions package/system/procd/files/procd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,36 @@ _procd_add_reload_interface_trigger() {
_procd_close_trigger
}

_procd_add_data_trigger() {
json_add_array
_procd_add_array_data "service.data.update"

json_add_array
_procd_add_array_data "if"

json_add_array
_procd_add_array_data "eq" "name" "$1"
shift
json_close_array

json_add_array
_procd_add_array_data "run_script" "$@"
json_close_array

json_close_array
_procd_add_timeout
json_close_array
}

_procd_add_reload_data_trigger() {
local script=$(readlink "$initscript")
local name=$(basename ${script:-$initscript})

_procd_open_trigger
_procd_add_data_trigger $1 /etc/init.d/$name reload
_procd_close_trigger
}

_procd_add_config_trigger() {
json_add_array
_procd_add_array_data "$1"
Expand Down Expand Up @@ -661,6 +691,7 @@ _procd_wrapper \
procd_add_interface_trigger \
procd_add_mount_trigger \
procd_add_reload_trigger \
procd_add_reload_data_trigger \
procd_add_reload_interface_trigger \
procd_add_action_mount_trigger \
procd_add_reload_mount_trigger \
Expand Down

0 comments on commit 49d92d3

Please sign in to comment.