summaryrefslogtreecommitdiff
path: root/docs/automation
diff options
context:
space:
mode:
Diffstat (limited to 'docs/automation')
-rw-r--r--docs/automation/cloud-init.rst28
-rw-r--r--docs/automation/command-scripting.rst69
-rw-r--r--docs/automation/vyos-ansible.rst2
-rw-r--r--docs/automation/vyos-api.rst21
4 files changed, 92 insertions, 28 deletions
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.
***************
diff --git a/docs/automation/command-scripting.rst b/docs/automation/command-scripting.rst
index 6bc6690c..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.
@@ -105,14 +107,71 @@ 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 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:
+
+.. 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
------------------
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:
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
diff --git a/docs/automation/vyos-api.rst b/docs/automation/vyos-api.rst
index 988ff010..27655483 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 for curl and one for python.
-In the following, the documentation is reduced to curl.
+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