Created by Robin Sheat and last modified

Puppet [0] isn't very suited to the standard EC2 [1] setup, as it likes things like servers having unique names. This script is a facter plugin [2,3] that will add any key-value pairs you put in the EC2 instance user data to the list of facts provided by Facter to puppet. This can then be used to provide a puppet configuration tuned for whatever options you like, all coming from one EC2 image. It also adds the instance ID of the current instance to the facts.

More scripts are being added, there is now one to allow easier access of S3 resources from puppet.

[0] http://reductivelabs.com/products/puppet/
[1] http://aws.amazon.com/ec2/
[2] http://reductivelabs.com/trac/puppet/wiki/AddingFacts
[3] http://reductivelabs.com/trac/puppet/wiki/PluginsInModules

Get this branch:
bzr branch lp:~eythian/+junk/ec2facts
Only Robin Sheat can upload to this branch. If you are Robin Sheat please log in for upload directions.

Related bugs

Related blueprints

Branch information

Robin Sheat

Recent revisions

14. By Robin Sheat

Fix typo in error message

13. By Robin Sheat

Merging s3url changes

12. By Robin Sheat

Added support for fetching the instance ID of the EC2 instance

11. By Robin Sheat

Added example file showing how to use it with puppet

10. By Robin Sheat

Added s3url, which generates signed URLs in a scriptable fashion. Updated both scripts to be able to use a file which contains the S3 keys, rather than requiring them to be on the command line.

9. By Robin Sheat

Added docs for checks3.pl

8. By Robin Sheat

Remove stray 'use'

7. By Robin Sheat

Now supports S3 authentication

6. By Robin Sheat

Refactored: now contains more than just facts, also includes script to check if a file on the local system is up-to-date compared with S3.

5. By Robin Sheat

Added file facts source to make testing of these things easier

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 (needs bzr 0.92)
This branch contains Public information 
Everyone can see this information.