From 6f94d588f55a8794f5379112adcfef901a9cf754 Mon Sep 17 00:00:00 2001 From: fett0 Date: Fri, 18 Jun 2021 17:09:30 -0300 Subject: automation: add custom pre/post-commit hooks --- docs/automation/command-scripting.rst | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'docs/automation/command-scripting.rst') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index b48b8dbf..43614c21 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -106,23 +106,39 @@ group, the script can be safeguarded like this: fi Executing pre-hooks/post-hooks Scripts -------------------------------- +-------------------------------------- Vyos has the ability to run custom scripts before and after each commit -≈ - -The default folder where you put your custom Scripts is: +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 -/config/scripts/commit/pre-hooks.d - folder with scripts that run before each commit -/config/scripts/commit/post-hooks.d - folder 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. +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 30.30.30.30/24 + vyos@vyos# commit + Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down + Interface IP Address S/L Description + --------- ---------- --- ----------- + eth0 10.10.10.10/24 u/u + eth1 30.30.30.30/24 u/u + eth2 10.10.20.20/24 u/u + eth3 - u/u + lo 127.0.0.1/8 u/u + ::1/128 + Postconfig on boot ------------------ -- cgit v1.2.3