mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00
Improve providers docs and add loads of manifest examples
This commit is contained in:
parent
c880a6849a
commit
cba496d761
4 changed files with 172 additions and 30 deletions
|
@ -4,15 +4,33 @@ Azure
|
||||||
This provider generates raw images for Microsoft Azure computing
|
This provider generates raw images for Microsoft Azure computing
|
||||||
platform.
|
platform.
|
||||||
|
|
||||||
Setup
|
|
||||||
-----
|
|
||||||
|
|
||||||
``qemu-utils`` is needed to create the VHD image.
|
Manifest settings
|
||||||
|
-----------------
|
||||||
|
|
||||||
``wget`` must be installed on local computer, so the Windows Azure Linux Agent
|
Provider
|
||||||
can be downloaded.
|
~~~~~~~~
|
||||||
|
|
||||||
Do not create swap space on the OS disk:
|
- ``waagent``: Waagent specific settings.
|
||||||
|
``required``
|
||||||
|
|
||||||
|
- ``conf``: Path to ``waagent.conf`` that should override the default
|
||||||
|
``optional``
|
||||||
|
- ``version``: Version of waagent to install.
|
||||||
|
Waagent versions are available at:
|
||||||
|
https://github.com/Azure/WALinuxAgent/releases
|
||||||
|
``required``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: azure
|
||||||
|
waagent:
|
||||||
|
conf: /root/waagent.conf
|
||||||
|
version: 2.0.4
|
||||||
|
|
||||||
The Windows Azure Linux Agent can automatically configure swap space
|
The Windows Azure Linux Agent can automatically configure swap space
|
||||||
using the local resource disk that is attached to the VM after
|
using the local resource disk that is attached to the VM after
|
||||||
|
@ -27,17 +45,3 @@ provisioning on Azure. Modify the following parameters in
|
||||||
ResourceDisk.EnableSwap=y
|
ResourceDisk.EnableSwap=y
|
||||||
ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
|
ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be.
|
||||||
|
|
||||||
You can specify a waagent.conf file to replace the default one in the
|
|
||||||
manifest in the azure/waagent section of the provider:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
"system" : {
|
|
||||||
"waagent" : {
|
|
||||||
"conf": "path_to_my_conf_file", # optional
|
|
||||||
"version" : "2.0.4" # mandatory
|
|
||||||
}
|
|
||||||
}, ...
|
|
||||||
|
|
||||||
Waagent versions are available at:
|
|
||||||
https://github.com/Azure/WALinuxAgent/releases
|
|
||||||
|
|
|
@ -6,3 +6,23 @@ virtual images for Linux Kernel-based Virtual Machines. It supports the
|
||||||
installation of `virtio kernel
|
installation of `virtio kernel
|
||||||
modules <http://www.linux-kvm.org/page/Virtio>`__ (paravirtualized
|
modules <http://www.linux-kvm.org/page/Virtio>`__ (paravirtualized
|
||||||
drivers for IO operations).
|
drivers for IO operations).
|
||||||
|
|
||||||
|
Manifest settings
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Provider
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
- ``virtio``: Specifies which virtio kernel modules to install.
|
||||||
|
``optional``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: kvm
|
||||||
|
virtio:
|
||||||
|
- virtio_blk
|
||||||
|
- virtio_net
|
||||||
|
|
|
@ -10,6 +10,27 @@ interoperability (e.g.
|
||||||
even VirtualBox itself can import them).
|
even VirtualBox itself can import them).
|
||||||
|
|
||||||
VirtualBox Guest Additions can be installed automatically if the ISO is
|
VirtualBox Guest Additions can be installed automatically if the ISO is
|
||||||
`provided in the manifest <../../../manifests/#bootstrapper>`__.
|
provided in the manifest.
|
||||||
VirtualBox Additions iso can be installed from main Debian repo by running:
|
VirtualBox Additions iso can be installed from main Debian repo by running:
|
||||||
`apt install virtualbox-guest-additions-iso`
|
`apt install virtualbox-guest-additions-iso`
|
||||||
|
|
||||||
|
|
||||||
|
Manifest settings
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Provider
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
- ``guest_additions``: Specifies the path to the VirtualBox Guest Additions ISO,
|
||||||
|
which, when specified, will be mounted and used to install the
|
||||||
|
VirtualBox Guest Additions.
|
||||||
|
``optional``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: virtualbox
|
||||||
|
guest_additions: /usr/share/virtualbox/VBoxGuestAdditions.iso
|
||||||
|
|
|
@ -58,6 +58,15 @@ name of the provider itself.
|
||||||
Consult the `providers <../bootstrapvz/providers>`__ section of the documentation
|
Consult the `providers <../bootstrapvz/providers>`__ section of the documentation
|
||||||
for a list of valid values.
|
for a list of valid values.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: ec2
|
||||||
|
|
||||||
Bootstrapper
|
Bootstrapper
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -91,15 +100,28 @@ are 4 possible settings:
|
||||||
- ``exclude_packages``: Packages to exclude during bootstrap phase.
|
- ``exclude_packages``: Packages to exclude during bootstrap phase.
|
||||||
Accepts a list of package names.
|
Accepts a list of package names.
|
||||||
``optional``
|
``optional``
|
||||||
- ``guest_additions``: This setting is only relevant for the
|
- ``variant``: Debian variant to install. The only supported value
|
||||||
`virtualbox provider <../bootstrapvz/providers/virtualbox>`__.
|
is ``minbase`` and should only be used in conjunction with the
|
||||||
It specifies the path to the VirtualBox Guest Additions ISO, which, when specified,
|
Docker provider. Not specifying this option will result in a normal
|
||||||
will be mounted and used to install the VirtualBox Guest Additions.
|
Debian variant being bootstrapped.
|
||||||
``optional``
|
|
||||||
- ``variant``:
|
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
bootstrapper:
|
||||||
|
workspace: /target
|
||||||
|
tarball: true
|
||||||
|
mirror: http://httpredir.debian.org/debian/
|
||||||
|
include_packages:
|
||||||
|
- whois
|
||||||
|
- psmisc
|
||||||
|
exclude_packages:
|
||||||
|
- isc-dhcp-client
|
||||||
|
- isc-dhcp-common
|
||||||
|
variant: minbase
|
||||||
|
|
||||||
System
|
System
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
@ -132,6 +154,20 @@ system and does not fit under any other section.
|
||||||
Valid values: Any filename from ``/usr/share/zoneinfo``
|
Valid values: Any filename from ``/usr/share/zoneinfo``
|
||||||
``required``
|
``required``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
system:
|
||||||
|
release: jessie
|
||||||
|
architecture: amd64
|
||||||
|
bootloader: extlinux
|
||||||
|
charmap: UTF-8
|
||||||
|
hostname: jessie x86_64
|
||||||
|
locale: en_US
|
||||||
|
timezone: UTC
|
||||||
|
|
||||||
Packages
|
Packages
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
|
@ -181,9 +217,41 @@ variety of sources.
|
||||||
specified.
|
specified.
|
||||||
``optional``
|
``optional``
|
||||||
The values are objects with three keys:
|
The values are objects with three keys:
|
||||||
- ``package``: The package to pin (wildcards allowed)
|
|
||||||
- ``pin``: The release to pin the package to.
|
- ``package``: The package to pin (wildcards allowed)
|
||||||
- ``pin-priority``: The priority of this pin.
|
- ``pin``: The release to pin the package to.
|
||||||
|
- ``pin-priority``: The priority of this pin.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
packages:
|
||||||
|
install:
|
||||||
|
- /root/packages/custom_app.deb
|
||||||
|
- puppet
|
||||||
|
install_standard: true
|
||||||
|
mirror: http://cloudfront.debian.net/debian
|
||||||
|
sources:
|
||||||
|
- deb http://apt.puppetlabs.com wheezy main dependencies
|
||||||
|
components:
|
||||||
|
- contrib
|
||||||
|
- non-free
|
||||||
|
trusted-keys:
|
||||||
|
- /root/keys/puppet.gpg
|
||||||
|
preferences:
|
||||||
|
main:
|
||||||
|
- package: *
|
||||||
|
pin: release o=Debian, n=wheezy
|
||||||
|
pin-priority: 800
|
||||||
|
- package: *
|
||||||
|
pin: release o=Debian Backports, a=wheezy-backports, n=wheezy-backports
|
||||||
|
pin-priority: 760
|
||||||
|
- package: puppet puppet-common
|
||||||
|
pin: version 2.7.25-1puppetlabs1
|
||||||
|
pin-priority: 840
|
||||||
|
|
||||||
|
|
||||||
Volume
|
Volume
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
@ -234,9 +302,38 @@ boot, root and swap.
|
||||||
this partition.
|
this partition.
|
||||||
``optional``
|
``optional``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
volume:
|
||||||
|
backing: vdi
|
||||||
|
partitions:
|
||||||
|
type: msdos
|
||||||
|
boot:
|
||||||
|
filesystem: ext2
|
||||||
|
size: 32MiB
|
||||||
|
root:
|
||||||
|
filesystem: ext4
|
||||||
|
size: 864MiB
|
||||||
|
swap:
|
||||||
|
size: 128MiB
|
||||||
|
|
||||||
Plugins
|
Plugins
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
The plugins section is a map of plugin names to whatever configuration a
|
The plugins section is a map of plugin names to whatever configuration a
|
||||||
plugin requires. Go to the `plugin section <../bootstrapvz/plugins>`__
|
plugin requires. Go to the `plugin section <../bootstrapvz/plugins>`__
|
||||||
of the documentation, to see the configuration for a specific plugin.
|
of the documentation, to see the configuration for a specific plugin.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
plugins:
|
||||||
|
minimize_size:
|
||||||
|
zerofree: true
|
||||||
|
shrink: true
|
||||||
|
|
Loading…
Add table
Reference in a new issue