mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 00:55:19 +00:00
3829b7592f
* Fix typo in profile example ('private_key' listed twice) * Reflect Joyent's current new naming convention for VM sizes * Update docs with modern images that are officially supported by Joyent * Refresh example output of --list-sizes and --list-images
112 lines
2.9 KiB
ReStructuredText
112 lines
2.9 KiB
ReStructuredText
.. _salt-cloud-profiles:
|
|
|
|
VM Profiles
|
|
===========
|
|
|
|
Salt cloud designates virtual machines inside the profile configuration file.
|
|
The profile configuration file defaults to ``/etc/salt/cloud.profiles`` and is
|
|
a yaml configuration. The syntax for declaring profiles is simple:
|
|
|
|
.. code-block:: yaml
|
|
|
|
fedora_rackspace:
|
|
provider: my-rackspace-config
|
|
image: Fedora 17
|
|
size: 256 server
|
|
script: bootstrap-salt
|
|
|
|
It should be noted that the ``script`` option defaults to ``bootstrap-salt``,
|
|
and does not normally need to be specified. Further examples in this document
|
|
will not show the ``script`` option.
|
|
|
|
A few key pieces of information need to be declared and can change based on the
|
|
cloud provider. A number of additional parameters can also be inserted:
|
|
|
|
.. code-block:: yaml
|
|
|
|
centos_rackspace:
|
|
provider: my-rackspace-config
|
|
image: CentOS 6.2
|
|
size: 1024 server
|
|
minion:
|
|
master: salt.example.com
|
|
append_domain: webs.example.com
|
|
grains:
|
|
role: webserver
|
|
|
|
|
|
The image must be selected from available images. Similarly, sizes must be
|
|
selected from the list of sizes. To get a list of available images and sizes
|
|
use the following command:
|
|
|
|
.. code-block:: bash
|
|
|
|
salt-cloud --list-images openstack
|
|
salt-cloud --list-sizes openstack
|
|
|
|
|
|
Some parameters can be specified in the main Salt cloud configuration file and
|
|
then are applied to all cloud profiles. For instance if only a single cloud
|
|
provider is being used then the provider option can be declared in the Salt
|
|
cloud configuration file.
|
|
|
|
|
|
Multiple Configuration Files
|
|
----------------------------
|
|
|
|
In addition to ``/etc/salt/cloud.profiles``, profiles can also be specified in
|
|
any file matching ``cloud.profiles.d/*conf`` which is a sub-directory relative
|
|
to the profiles configuration file(with the above configuration file as an
|
|
example, ``/etc/salt/cloud.profiles.d/*.conf``). This allows for more
|
|
extensible configuration, and plays nicely with various configuration
|
|
management tools as well as version control systems.
|
|
|
|
|
|
Larger Example
|
|
--------------
|
|
|
|
.. code-block:: yaml
|
|
|
|
rhel_ec2:
|
|
provider: my-ec2-config
|
|
image: ami-e565ba8c
|
|
size: t1.micro
|
|
minion:
|
|
cheese: edam
|
|
|
|
ubuntu_ec2:
|
|
provider: my-ec2-config
|
|
image: ami-7e2da54e
|
|
size: t1.micro
|
|
minion:
|
|
cheese: edam
|
|
|
|
ubuntu_rackspace:
|
|
provider: my-rackspace-config
|
|
image: Ubuntu 12.04 LTS
|
|
size: 256 server
|
|
minion:
|
|
cheese: edam
|
|
|
|
fedora_rackspace:
|
|
provider: my-rackspace-config
|
|
image: Fedora 17
|
|
size: 256 server
|
|
minion:
|
|
cheese: edam
|
|
|
|
cent_linode:
|
|
provider: my-linode-config
|
|
image: CentOS 6.2 64bit
|
|
size: Linode 512
|
|
|
|
cent_gogrid:
|
|
provider: my-gogrid-config
|
|
image: 12834
|
|
size: 512MB
|
|
|
|
cent_joyent:
|
|
provider: my-joyent-config
|
|
image: centos-7
|
|
size: g4-highram-16G
|