summaryrefslogtreecommitdiff
path: root/docs/automation/command-scripting.rst
diff options
context:
space:
mode:
authorrebortg <github@ghlr.de>2021-06-24 21:16:01 +0200
committerrebortg <github@ghlr.de>2021-06-24 21:16:01 +0200
commit49eb1d1fbffb2ee5fb0cf8866d2fee7f4af6fc1e (patch)
tree17a2541606a3a96acaf2feea0b2a2dde1fceb57a /docs/automation/command-scripting.rst
parente293157f49cb8a334b0c0a02d4783255b11b81a6 (diff)
downloadvyos-documentation-49eb1d1fbffb2ee5fb0cf8866d2fee7f4af6fc1e.tar.gz
vyos-documentation-49eb1d1fbffb2ee5fb0cf8866d2fee7f4af6fc1e.zip
automation: add custom pre/post-commit hooks
Diffstat (limited to 'docs/automation/command-scripting.rst')
-rw-r--r--docs/automation/command-scripting.rst60
1 files changed, 58 insertions, 2 deletions
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