README.rdoc in engineyard-metadata-0.2.3 vs README.rdoc in engineyard-metadata-0.2.4
- old
+ new
@@ -6,11 +6,10 @@
To define a simple interface to useful metadata (passwords, IP addresses, etc.) that is otherwise buried deep inside EngineYard's chef config files and various API calls.
== Examples
-* Get a dynamically updated list of all running app servers so that you can pool memcached over all of them. (<tt>EY.metadata.app_servers</tt>)
* Get the current database password so that you can write a script that connects to it. (<tt>EY.metadata.database_password</tt>)
Here's the current method list:
EY.metadata.app_master
@@ -39,16 +38,35 @@
EY.metadata.ssh_password (only works from cloud instances)
EY.metadata.ssh_username
EY.metadata.stack_name
EY.metadata.utilities
+== public_hostname, amazon_id, etc.
+
+Thanks to Nick Marden, you can do things like:
+
+ ?> EY.metadata.app_servers('amazon_id')
+ >> [ 'i-ff17d493', 'i-c217d423' ]
+
+By default, you get the public hostname.
+
== Use
See the rdoc at {the engineyard-metadata rdoc}[http://rubydoc.info/gems/engineyard-metadata].
=== When you're executing this gem from INSIDE the cloud
When you're executing the gem from your instances, you don't have to configure anything. Just require the gem.
+
+If you see
+
+ Errno::EACCES: Permission denied - /etc/chef/dna.json
+
+then I suggest adding something like this to `deploy/before_bundle.rb`
+
+ sudo 'chmod a+r /etc/chef/dna.json'
+
+or find some other way to make the file readable.
=== When you're executing this gem from OUTSIDE the cloud
You must...