-
Notifications
You must be signed in to change notification settings - Fork 169
Technical Overview
Michael Tripoli edited this page Aug 29, 2013
·
1 revision
Aminator is structured with a plug-in architecture. Out of the box, it includes plug-ins for creating RedHat & Debian based images on Amazon's EC2 using the native package provisioners for these OSs. There are six different plugin types. Here is a brief description of them. ####Cloud
- Provides methods for cloud volume management, image registration, and resource tagging.
- Supports Amazon EC2
- Allocates an available block device node to be used for volume attachment.
- Supports Linux
####Volume
- Attaches, mounts, unmounts, detaches cloud volumes.
- Supports Linux
####OS Distribution
- Prepares mounted volume for provisioning.
- Supports RedHat and Debian.
####Provisioner
- Customizes mounted volume.
- Supports native package provisioning for apt/deb and yum/rpm.
####Finalizer
- Creates a snapshot of the volume, registers the snapshot as an AMI, tags the snapshot and AMI.
Aminator can be extended with any type of plugin. Additional plugins are contributed under the aminator-plugins organization on github. Aminator provides a plugin utility for searching, listing, and installing plugins.
####aminator-plugin
$ aminator-plugin -h
usage: aminator-plugin [-h] [--branch branch] [--type plugin-type]
command [name]
Aminator plugin install utility
positional arguments:
command Command to run. Valid commands: search install list
name Name of the plugin
optional arguments:
-h, --help show this help message and exit
--branch branch Which branch to pull the plugin list from. Valid
options: production, testing, alpha. Default value:
production
--type plugin-type The type of plugin to search for. Valid options: cloud,
volume, blockdevice, provision, distro, finalizer
$ aminator-plugin list
Name: chef
Aliases: chefsolo, chef-solo
Type: provision
Description: This plugin allows you to use chef-solo to bake AMIs
----------
Name: ansible
Aliases:
Type: provision
Description: This Aminator plugin allows you to provision an AMI using an Ansible playbook.
$ sudo aminator-plugin install chef
Downloading latest version of chef from https://github.com/aminator-plugins/chef-solo-provisioner/archive/master.tar.gz
chef plugin installed successfully, removing temp dir /tmp/tmpgvtiJE