This repository has been archived by the owner on Jun 5, 2020. It is now read-only.
(CLOUD-718) Deprecate the AWS Cloud Formation face #53
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
2017-02-21 Greg Hardy <greg.hardy@puppet.com> - 999.999.999 | ||
Deprecated | ||
|
||
2011-12-20 Dan Bode <dan@puppetlabs.com> - 0.0.1 | ||
Initial release |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,153 +1,9 @@ | ||
## Background | ||
This project is based on the Amazon Cloud Formation framework. It adds a Puppet Face | ||
to enable simple creation of a fully operational Puppet Enterprise stack utilizing | ||
module content from the Puppet Forge. | ||
This project is now deprecated. It was based on the Amazon Cloud Formation framework. | ||
It added a Puppet Face to enable simple creation of a fully operational Puppet Enterprise | ||
stack utilizing module content from the Puppet Forge. | ||
|
||
This project contains an aws cloud formation template that is capable of deploying | ||
a cluster of nodes with puppet enterprise installed. | ||
http://aws.amazon.com/cloudformation/ | ||
This module is now obsolete. | ||
|
||
The general goal is that you can specify your desired stack in a simple yaml document | ||
and use a single command to create an entirely functional puppet environment from that | ||
configuration document. | ||
AWS Cloud Formation support is now provided by : https://github.com/puppetlabs/puppet-cloudformation-templates | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. CloudFormation is one word |
||
|
||
One config file, one command and you're done! | ||
|
||
|
||
## Prerequisites | ||
|
||
AWS Credentials | ||
--------------- | ||
You need an active AWS account with EC2 access. | ||
You'll also need a key pair in the region you wish to use. us-west-1 is recommended. | ||
Your AWS account needs full administrator rights at this time. | ||
|
||
Environment & Puppet | ||
-------------------- | ||
This software requires Puppet >= 2.7.6 (or PE >= 2.0). | ||
This software also requires Java be installed. | ||
Export your chosen EC2 region in your environment. ex: `export EC2_REGION=us-west-1` | ||
|
||
|
||
## Installation | ||
|
||
Static releases can be found on the Puppet Forge: http://forge.puppetlabs.com/puppetlabs/cloudformation | ||
The latest code is always available on Github: https://github.com/puppetlabs/puppetlabs-cloudformation | ||
|
||
The amazon Cloud Formation client tools and the Puppet Face can be installed and | ||
configured easily using the cloudformation Puppet class. | ||
|
||
The following example manifest can be found at examples/install.pp | ||
|
||
class { 'cloudformation': | ||
aws_access_key => '< your key here >', | ||
aws_secret_key => '< your secret key here >', | ||
# java_home => '< your java_home >', | ||
} | ||
|
||
It may also be necessary to fill in the java home attribute so that it points to | ||
where java has been installed. It currently defaults to the location of Java on a | ||
Mac(/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home). | ||
|
||
Add your aws credentials to the class declaration, ensure the cloudformation module | ||
is in your module path, and use puppet to apply the installation manifest: | ||
|
||
`puppet apply examples/install.pp` | ||
|
||
This will install the client tools and create the file: bashrc_cfn | ||
|
||
Configure your cfn client tools by sourcing this file: | ||
|
||
`source bashrc_cfn` | ||
|
||
After you source this file, verify that your cfn tools work: | ||
|
||
`cfn-describe-stacks` | ||
|
||
The command should return 'No Stacks found'. | ||
|
||
|
||
## Stack Configuration | ||
|
||
The config file used to specify how to build the stack is build in yaml format and takes the | ||
following configuration options: | ||
|
||
* install_modules - list of modules that should be installed on the master from the Puppet Forge | ||
|
||
install_modules | ||
- puppetlabs-stdlib | ||
- puppetlabs-ntp | ||
|
||
The above example would create the directories ntp and stdlib in /etc/puppetlabs/puppet/modules | ||
on the puppet master. | ||
|
||
* puppet_agents - hash of ec2 instances that should be created and have puppet agents installed on | ||
them. The structure of the hash is described below: | ||
|
||
for parameterized classes: | ||
|
||
puppet_agents: | ||
resource_id: | ||
classes: | ||
class_name1: | ||
class_param1: value | ||
|
||
for non_parameterized classes: | ||
|
||
puppet_agents: | ||
resource_id: | ||
classes: | ||
- class_name1 | ||
parameters: | ||
class_param1: value | ||
|
||
resource_id is an arbitrary name and must be unique. | ||
|
||
* dashboard_groups - Define arbitrary groupings of classes that can be applied together on nodes. | ||
|
||
dashboard_groups: | ||
group_name: | ||
classes: class_name1 class_name2 etc.. | ||
|
||
Once groups are defined, they are applied under your puppet_agents: section like the following. | ||
|
||
puppet_agents: | ||
resource_id: | ||
groups: group_name | ||
|
||
* security groups - If you need aws security groups provided for an agent, you can like so. | ||
|
||
puppet_agents: | ||
resource_id: | ||
ports: | ||
- 80 | ||
- 443 | ||
|
||
## Cloud Formation Puppet Face | ||
|
||
After you have sourced the bashrc file, you should be able to use the Cloud Formation Puppet Face. | ||
|
||
To get details of how to use the face, you can run: | ||
|
||
`puppet help cloudformation deploy` | ||
|
||
The Cloud Formation Face accepts a configuration file as specified above and then | ||
deploys a full application stack using Puppet Enterprise. | ||
|
||
It creates all of the required AWS resources, including: security groups, IAM users, an | ||
ec2 instance with the puppet master and modules installed, and a configurable number of | ||
puppet agents with their classification information specified. | ||
|
||
The following invocation will deploy one of the example stacks: | ||
|
||
`puppet cloudformation deploy --keyname your_key_name --config config/pedemo.config --stack-name your_stack_name --disable-rollback` | ||
|
||
--disable-rollback prevents EC2 from destroying your instances if the stack failed to build properly. | ||
|
||
## Logging into the Puppet Master | ||
|
||
Once your stack is built, cfn-describe-stacks will return CREATE_COMPLETE and the public hostname for your Puppet Master. | ||
|
||
To visit the Puppet Enterprise Console, open your web browser and visit https://public_hostname_here and login with username: ec2_user@example.com and password: ec2_password | ||
|
||
To learn more about Puppet Enterprise, see http://docs.puppetlabs.com/pe/index.html. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be AWS CloudFormation. The original text may have been correct at time of publication but is wrong now.