From f7fc3ce017b03f7c9f4a20a94e2a4d03ee935852 Mon Sep 17 00:00:00 2001 From: fett0 Date: Thu, 17 Jun 2021 14:02:39 -0300 Subject: automation: add custom pre/post-commit hooks --- docs/automation/command-scripting.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index 6bc6690c..b48b8dbf 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -105,6 +105,25 @@ 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 folder where you put your custom Scripts is: + +.. code-block:: none + + +/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. +No other characters are allowed. + + Postconfig on boot ------------------ -- cgit v1.2.3 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') 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 From d83da4ec55488ae1a3c09d8ca8d3b7d910adf0f2 Mon Sep 17 00:00:00 2001 From: fett0 Date: Fri, 18 Jun 2021 17:52:10 -0300 Subject: automation: add custom pre/post-commit hooks --- docs/automation/command-scripting.rst | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index 43614c21..cf6c1f7b 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -114,30 +114,34 @@ 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 - Directory with scripts that run before + 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. + /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". +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# 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 10.10.10.10/24 u/u - eth1 30.30.30.30/24 u/u - eth2 10.10.20.20/24 u/u + eth0 198.51.100.10/24 u/u + eth1 192.0.2.3/24 u/u + eth2 - u/u eth3 - u/u - lo 127.0.0.1/8 u/u - ::1/128 + lo 203.0.113.5/24 u/u + Postconfig on boot -- cgit v1.2.3 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') 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 From f0b233d760ce1066b023b412c425a7976880905d Mon Sep 17 00:00:00 2001 From: fett0 Date: Wed, 23 Jun 2021 14:36:15 -0300 Subject: automation: add description preconfig on boot --- docs/automation/command-scripting.rst | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index cf6c1f7b..c186257e 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -142,7 +142,23 @@ the post-hook script is "show interfaces". 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 ------------------ @@ -158,10 +174,10 @@ The default file looks like this: .. code-block:: none #!/bin/sh - # This script is executed at boot time after VyOS configuration is fully + # This script is executed at boot time after VyOS configuration is fullyßßßß # 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. -- cgit v1.2.3 From 48c9f47f2ad498c725db466ebaac31dc6a2e71a9 Mon Sep 17 00:00:00 2001 From: fett0 Date: Wed, 23 Jun 2021 15:08:48 -0300 Subject: automation: add description preconfig on boot --- docs/automation/command-scripting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index c186257e..56c0817e 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -174,7 +174,7 @@ The default file looks like this: .. code-block:: none #!/bin/sh - # This script is executed at boot time after VyOS configuration is fullyßßßß + # This script is executed at boot time after VyOS configuration is fully # applied. Any modifications required to work around unfixed bugs or use # services not available through the VyOS CLI system can be placed here. -- cgit v1.2.3 From d97e8384e503c750df43b3520aa689670f10951e Mon Sep 17 00:00:00 2001 From: rebortg Date: Sun, 27 Jun 2021 16:02:27 +0200 Subject: cloud-init: correct spelling and grammar --- docs/automation/cloud-init.rst | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/cloud-init.rst b/docs/automation/cloud-init.rst index be585321..7b2d53fb 100644 --- a/docs/automation/cloud-init.rst +++ b/docs/automation/cloud-init.rst @@ -1,29 +1,31 @@ -.. _cloud-init: +:lastproofread: 2021-06-27 + +. _cloud-init: ############### VyOS cloud-init ############### -Cloud instances of VyOS are initialized using the industry-standard cloud-init. -Via cloud-init, the system performs tasks such as injecting SSH keys and -configuring the network. In addition, the user can supply a custom +Cloud instances of VyOS are initialized using the industry-standard +cloud-init. Via cloud-init, the system performs tasks such as injecting +SSH keys and configuring the network. In addition, the user can supply a custom configuration at the time of instance launch. ************** Config Sources ************** -VyOS support three type of config sources. - -.. stop_vyoslinter - -* Metadata - Metadata is sourced by the cloud platform or hypervisor. In some clouds, there is implemented as an HTTP endpoint at http://169.254.169.254. +VyOS support three types of config sources. -* Network configuration - Ths config source informs the system about the network. +* Metadata - Metadata is sourced by the cloud platform or hypervisor. + In some clouds, there is implemented as an HTTP endpoint at + http://169.254.169.254. -* User-data - User-data is specified by the user. This config source offers the most flexibility and will be the focus of this documentation. +* Network configuration - This config source informs the system about the + network. -.. start_vyoslinter +* User-data - User-data is specified by the user. This config source offers the + most flexibility and will be the focus of this documentation. ********* @@ -86,7 +88,7 @@ These are the VyOS defaults and fallbacks. * DHCP on first Ethernet interface if no network configuration is provided -All of these can be overridden using configuration in user-data. +All of these can be overridden using the configuration in user-data. *************** -- cgit v1.2.3 From 1895ea987a1468dd808a14608f72a70f6f838a31 Mon Sep 17 00:00:00 2001 From: rebortg Date: Sun, 27 Jun 2021 16:11:53 +0200 Subject: command-scripting: correct spelling and grammar --- docs/automation/command-scripting.rst | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst index b8cf0d9e..14f2edfa 100644 --- a/docs/automation/command-scripting.rst +++ b/docs/automation/command-scripting.rst @@ -1,3 +1,5 @@ +:lastproofread: 2021-06-27 + .. _command-scripting: Command Scripting @@ -34,7 +36,7 @@ example, if you want to disable a BGP peer on VRRP transition to backup: Run operational commands ------------------------ -Unlike a normal configuration sessions, all operational commands must be +Unlike a normal configuration session, all operational commands must be prepended with ``run``, even if you haven't created a session with configure. .. code-block:: none @@ -44,8 +46,8 @@ prepended with ``run``, even if you haven't created a session with configure. run show interfaces exit -Other script language ---------------------- +Other script languages +---------------------- If you want to script the configs in a language other than bash you can have your script output commands and then source them in a bash script. @@ -108,7 +110,7 @@ group, the script can be safeguarded like this: Executing pre-hooks/post-hooks Scripts -------------------------------------- -Vyos has the ability to run custom scripts before and after each commit +VyOS has the ability to run custom scripts before and after each commit The default directories where your custom Scripts should be located are: @@ -124,7 +126,8 @@ 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). +.. 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". @@ -148,8 +151,8 @@ 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. +Any modifications were done to work around unfixed bugs and implement +enhancements that are not complete in the VyOS system can be placed here. The default file looks like this: @@ -167,8 +170,8 @@ Postconfig on boot The ``/config/scripts/vyos-postconfig-bootup.script`` script is called on boot after the VyOS configuration is fully applied. -Any modifications done to work around unfixed bugs and implement enhancements -which are not complete in the VyOS system can be placed here. +Any modifications were done to work around unfixed bugs and implement +enhancements that are not complete in the VyOS system can be placed here. The default file looks like this: @@ -179,6 +182,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 these +.. hint:: For configuration/upgrade management issues, modification of this script should be the last option. Always try to find solutions based on CLI commands first. -- cgit v1.2.3 From d742504a0c7a4e807ac10ad2338a97c35163c3d1 Mon Sep 17 00:00:00 2001 From: rebortg Date: Mon, 28 Jun 2021 14:07:15 +0200 Subject: ansible: correct spelling and grammar --- docs/automation/vyos-ansible.rst | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs/automation') diff --git a/docs/automation/vyos-ansible.rst b/docs/automation/vyos-ansible.rst index a199152f..e02d06a9 100644 --- a/docs/automation/vyos-ansible.rst +++ b/docs/automation/vyos-ansible.rst @@ -1,3 +1,5 @@ +:lastproofread: 2021-06-28 + .. _vyos-ansible: Ansible -- cgit v1.2.3 From 61dfaf6f618074c2f0d67178e7188d010ac7ad7d Mon Sep 17 00:00:00 2001 From: rebortg Date: Mon, 28 Jun 2021 14:17:53 +0200 Subject: vyos-api: correct spelling and grammar --- docs/automation/vyos-api.rst | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'docs/automation') diff --git a/docs/automation/vyos-api.rst b/docs/automation/vyos-api.rst index 1504a05a..5ab150e3 100644 --- a/docs/automation/vyos-api.rst +++ b/docs/automation/vyos-api.rst @@ -1,3 +1,5 @@ +:lastproofread: 2021-06-28 + .. _vyosapi: ######## @@ -10,11 +12,11 @@ for configuration and enabling the API see :ref:`http-api` Authentication ************** -All Endpoint only listen on HTTP POST requests and the API KEY must set as +All endpoints only listen on HTTP POST requests and the API KEY must set as ``key`` in the formdata. -Below see one example or curl and one for python. -In the following, the documentation is reduced to curl. +Below see one example for curl and one for python. +The rest of the documentation is reduced to curl. .. code-block:: none @@ -74,8 +76,7 @@ To get the whole configuration, pass an empty list to the ``path`` field } -only get a part of the configuration, -for example ``system syslog``. +To only get a part of the configuration, for example ``system syslog``. .. code-block:: none @@ -105,7 +106,7 @@ for example ``system syslog``. if you just want the Value of a multi-valued node, use the ``returnValues`` operation. -for example get the addresses of a ``dum0`` interface +For example, get the addresses of a ``dum0`` interface. .. code-block:: none @@ -165,9 +166,9 @@ delete an image, for example ``1.3-rolling-202006070117`` /show ===== -The ``/show`` endpoint is to show everthing in operational mode +The ``/show`` endpoint is to show everything in the operational mode. -for example which images are installed +For example, show which images are installed. .. code-block:: none @@ -189,7 +190,7 @@ for example which images are installed /generate ========= -to run a ``generate`` command use the +THe ``generate`` endpoint run a ``generate`` command. .. code-block:: none @@ -242,10 +243,10 @@ You can pass a ``set``, ``delete`` or ``comment`` command to the "error": null } -The API push every request to a session and commit it. +The API pushes every request to a session and commit it. But some of VyOS components like DHCP and PPPoE Servers, IPSec, VXLAN, and other tunnels require full configuration for commit. -The Endpoint will process multiple commands when you pass them as a list to +The endpoint will process multiple commands when you pass them as a list to the ``data`` field. .. code-block:: none -- cgit v1.2.3