From 8f776a9e23f63f77c421126def5ea04a77a54f81 Mon Sep 17 00:00:00 2001 From: fett0 <50275740+fett0@users.noreply.github.com> Date: Fri, 18 Jun 2021 17:56:20 -0300 Subject: automation: add custom pre/post-commit hooks (#550) --- docs/automation/command-scripting.rst | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'docs/automation/command-scripting.rst') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index 6bc6690c..cf6c1f7b 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -105,6 +105,45 @@ group, the script can be safeguarded like this: exec sg vyattacfg -c "/bin/vbash $(readlink -f $0) $@" fi +Executing pre-hooks/post-hooks Scripts +-------------------------------------- + +Vyos has the ability to run custom scripts before and after each commit + +The default directories where your custom Scripts should be located are: + +.. code-block:: none + + /config/scripts/commit/pre-hooks.d - Directory with scripts that run before + each commit. + + /config/scripts/commit/post-hooks.d - Directory with scripts that run after + each commit. + +Scripts are run in alphabetical order. Their names must consist entirely of +ASCII upper- and lower-case letters,ASCII digits, ASCII underscores, and +ASCII minus-hyphens.No other characters are allowed. + +.. note:: Custom scripts are not executed with root privileges (Use sudo inside if this is necessary). + +A simple example is shown below, where the ops command executed in +the post-hook script is "show interfaces". + +.. code-block:: none + + vyos@vyos# set interfaces ethernet eth1 address 192.0.2.3/24 + vyos@vyos# commit + Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down + Interface IP Address S/L Description + --------- ---------- --- ----------- + eth0 198.51.100.10/24 u/u + eth1 192.0.2.3/24 u/u + eth2 - u/u + eth3 - u/u + lo 203.0.113.5/24 u/u + + + Postconfig on boot ------------------ -- cgit v1.2.3