From 49eb1d1fbffb2ee5fb0cf8866d2fee7f4af6fc1e Mon Sep 17 00:00:00 2001 From: rebortg Date: Thu, 24 Jun 2021 21:16:01 +0200 Subject: automation: add custom pre/post-commit hooks --- docs/automation/command-scripting.rst | 60 +++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index 7d0ab6c5..7836d4fd 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -104,6 +104,62 @@ 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 + +Preconfig on boot +----------------- + +The ``/config/scripts/vyos-preconfig-bootup.script`` script is called on boot +before the VyOS configuration during boot process. + +Any modifications done to work around unfixed bugs and implement enhancements +which are not complete in the VyOS system can be placed here. + +The default file looks like this: + +.. code-block:: none + + #!/bin/sh + # This script is executed at boot time before VyOS configuration is applied. + # Any modifications required to work around unfixed bugs or use + # services not available through the VyOS CLI system can be placed here. + + Postconfig on boot ------------------ @@ -122,6 +178,6 @@ The default file looks like this: # applied. Any modifications required to work around unfixed bugs or use # services not available through the VyOS CLI system can be placed here. -.. hint:: For configuration/upgrade management issues, modification of this +.. hint:: For configuration/upgrade management issues, modification of these script should be the last option. Always try to find solutions based on CLI - commands first. + commands first. \ No newline at end of file -- cgit v1.2.3