Shaker Profile Configuration¶
Salt minions are usually launched with Shaker specifying a
user-defined profile, which overrides default
values. A
user-defined profile effectively extends the default, so you may
modify default
with global values, declaring only per-minion
values in the minion profile.
Unless otherwise specified, profiles are located in the
~/.shaker/profile
directory.
Salt-Specific Configuration Options¶
salt_master
¶
Default: None
Specify the location of a running Salt master.
salt_master: salt.example.com
salt_id
¶
Default: hostname
(fully-qualified)
salt_id
identifies this salt minion to the master. If not
specified, defaults to the fully qualified hostname.
salt_id: moonunit
salt_grains
¶
Default: None
Specify the salt grains for the minion.
salt_grains:
roles:
- webserver
- memcache
deployment: datacenter4
pre_seed
¶
Default: False
pre_seed
seeds the master with a generated salt key, which is
copied to the minion upon instance creation.
pre_seed: true
Host Configuration Options¶
ip_address
¶
Default: None
ip_address
assigns an elastic ip address to minion after the
instance is launched. If the ip address is already in use, the
assignment will fail.
ip_address: 111.22.33.44
hostname
¶
Default: (determined by EC2 startup)
The hostname is passed to EC2 initialization, prior to boot-up.
The usual case is to specify hostname and domain because these
values determine the Salt minion ID in the absence of an explicit
salt_id
.
hostname: igor
domain
¶
Default: (assigned by Amazon: amazonaws.com)
The domain name assigned to the instance.
domain: example.com
ssh_import
¶
Default: None
Import public keys from launchpad.net. Only applicable for Ubuntu cloud-init. User names are comma-separated, no spaces.
Launchpad provides a free service for
registering public keys
that are assigned to Ubuntu instances, if specified in ssh_import
.
ssh_import: jbauer,akoumjian
sudouser
¶
Default: None
Install the user with sudo privileges. If sudouser
is listed
in ssh_import
, the public key will be installed from
launchpad.net.
sudouser: jbauer
ssh_port
¶
Default: 22
Port enabled to allow ssh connections. You may specify a
non-standard ssh port, but verify it’s open in your
ec2_security_group
.
ssh_port: 6222
ubuntu_release
¶
Default: precise
Specify the distribution to launch: precise, oneiric, natty, maverick, or lucid.
Note: Only lucid
and precise
(or later) are likely to work, until the Salt
packaging is backported to other non-LTS distributions.
ubuntu_release: lucid
check_name_before_create
¶
If a box with the same Name tag exists, do not attempt to create another one.
check_name_before_create: False
check_name_after_create
¶
If a box with the same Name tag exists, leave your with none.
check_name_after_create: True
additional_tags
¶
You can add any custom AWS tags you want.
additional_tags:
project: homepage
environment: production
EC2-Specific Configuration Options¶
ec2_access_key_id
¶
Default: None
AWS access key that is used for creating a connection to the service.
If not given, boto’s defaults <http://docs.pythonboto.org/en/latest/boto_config_tut.html>
like ~/.boto
or environment variables are used.
ec2_access_key_id: <AWS_ACCESS_KEY_ID>
ec2_secret_access_key
¶
Default: None
Use this if you are setting also ec2_access_key_id in you profile.
ec2_secret_access_key: <AWS_SECRET_ACCESS_KEY>
ec2_region
¶
Default: us-east-1
Specify the
region
to use for the instance. The default may be changed in ~/.shaker/profile/default
.
ec2_zone: eu-west-1
ec2_zone
¶
Default: None
Specify the
zone
to start the instance in or leave empty for EC2 to choose a zone for you.
The default may be changed in ~/.shaker/profile/default
.
ec2_zone: us-west-1a
ec2_instance_type
¶
Default: m1.small
- t1.micro
- m1.small (default)
- m2.xlarge, m2.2xlarge, m2.4xlarge
- c1.medium, c1.xlarge, cc1.4xlarge, cc2.8xlarge
ec2_instance_type: t1.micro
ec2_ami_id
¶
Default: None
The AMI id of the image to launch.
Note that AMI’s are region-specific, so you must specify the the
appropriate AMI for the specific ec2_zone
. Specifying
ec2_ami_id
overrides ubuntu_release
below.
ec2_ami_id: ami-6ba27502
ec2_size
¶
Default: (determined by EC2 startup)
Size of the root partition in gigabytes. If zero or not specified, defaults to the instance type.
ec2_size: 20
ec2_key_name
¶
Default: default
Name of the key pair used to create the instance. If not specified and only one key-pair is available, it will be used. Otherwise you must disambiguate by specifying the key-pair.
ec2_key_name: rubickey
ec2_security_group
¶
Default: default
The security group to control port access to the instance (ssh,
http, etc.) If not specified, use default
, which generally
permits port 22 for ssh access.
ec2_security_group: webserver
ec2_security_groups
¶
Default: []
Overrides ec2_security_group
if multiple security groups are needed.
ec2_security_groups:
- default
- webserver
ec2_placement_group
¶
Default: None
The placement group of the instance. Typically used for high performance computing.
ec2_placement_group: hpc_cluster
ec2_monitoring_enabled
¶
Default: false
Enable EC2 instance monitoring with CloudWatch
ec2_monitoring_enabled: true
ec2_root_device
¶
Default: /dev/sda1
Specify the root device name for the instance.
ec2_root_device: /dev/sdh