summaryrefslogtreecommitdiff
path: root/docs/installation/cloud/cloud-init.rst
blob: 9e72a6326b5a0f5a21a23c5883b2bd84c89e780d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
:lastproofread: 2021-07-26

.. _cloud-init: 
 
################################ 
Configuring Vyos with cloud-init 
################################ 

Vyos uses cloud-init to configure itself automatically in cloud environments.
There is a Meta-Data module ``cc_vyos.py`` that takes care of the
cloud-specific configuration.

Additional module ``cc_vyos_userdata.py`` introduces a new parameter
``vyos_config_commands`` into User-Data (``#cloud-config``). This parameter
should be a list of VyOS configuration commands that will be applied during
deployment. This module will run last.

Commands requirements:

   * one command per line
   * if command ending by value, it must be inside single quotes:
     ``set some option 'value'``, ``delete some option 'value'``
   * a single-quote symbol is not allowed inside command or value

The commands' list produced by the ``show configuration commands`` command on a
VyOS router should comply with all the requirements, so it is easy to get a
proper commands' list by copying it from another router.

Usage example (User-Data content):

.. code-block:: none

   #cloud-config
   vyos_config_commands:
   - set system host-name 'demo123'
   - set system ntp server 1.pool.ntp.org
   - set system ntp server 2.pool.ntp.org
   - delete interfaces ethernet eth2 address
   - set interfaces ethernet eth2 address '192.0.2.1/24'



References
----------

.. stop_vyoslinter

https://github.com/vyos/vyos-cloud-init/commit/1607eec32641ad93ea211e447336b3366c28de06

.. start_vyoslinter