Engine Yard Express
Engine Yard Express is an Engine Yard slice wrapped up to go. If you've ever wondered what one of our slices looks like, or wanted to be able to push to a staging slice while being offline, then this is for you.
There are only minor differences between the Engine Yard Express image and our clustered slices so it's perfect for running a local production environment.
| Engine Yard Express | Engine Yard Slice |
|---|---|
| VMware Fusion Image | Xen |
| 32 Bit | 64 Bit |
| MySQL included | MySQL separate host |
| Local Filesystem | Clustered Filesystem |
What does it do?
When it boots, you are already running 4 mongrels. 2 of them are Rails instances and 2 of them are Merb. Both of these are running under a user called express, which is running empty applications with a modified home page that describes some simple next steps. These home pages also link to a sample deploy.rb file that you can drop into your application and edit for speedy deployment.
What's running on the system?
- MySQL 5
- Nginx
- Rails
- Merb
What's included?
We've included some tools on the slice to make your life easier. These tools automate some processes and save you time in getting up and running.
1. Auto-configuring MySQL
On boot, Engine Yard Express will automatically configure the /etc/ey_my.cnf file to be optimized for the amount of memory you gave the image, assuming you set it to something larger than 512Mb (the default is 640Mb). These settings are provided by the MySQL Performance Blog Experts in one of their posts. If you're interested in the settings you can either look in the /engineyard/bin/config_mysql file or check the MySQL Performance Blog post.
2. Pre-configured System Users
A non-privileged user called express has been added to the Engine Yard Express image. This is used to run the Rails and Merb applications that are on the slice. Both the root and express users have randomly generated passwords that are set on first boot.
3. Pre-configured DB Users
We've added a single MySQL user for the rails environment and another for the Merb. These are rails_prod and merb_prod. The passwords are set to 77zxcvb77 (there are plans to randomize this).
4. Environment
We've automatically configured the deployed Rails and Merb applications to use a separate environment from the usual production, testing or development. We've done this so you can integrate the sample deploy.rb file (that we include in the sample applications) without interfering with any current environments you might have. The deploy.rb file we provide will handle the symlinking on the remote system so you don't have to.
5. Version Reporting
To keep track of the version that people are using when they boot the Engine Yard Express image for the first time, we've installed a simple ruby application that contacts our servers and sends a version string. We'd like to stress that we only send a string of the version number (e.g. "0.1"). No other details are sent. We'd also like to stress that we ask your permission first. This is an optional step, but we'd appreciate your help in tracking the versions in use by allowing this minor call back.
Requirements
The MySQL auto-configuration needs a minimum of 512Mb of memory for the VMware Fusion image. Running it with less will load a less than optimal default MySQL configuration. If you run the image without making any changes, the default memory size will be used (640Mb).
The deploy script requires that you have the eycap gem installed on your local machine. You can get this by running:
gem install eycap --source=http://gems.engineyard.com/
Command Lines You Might Want to Know
config_system --clearstored
When you boot Engine Yard Express it tells you the passwords that were randomly set for the root and express users. By running the command above, you're turning that off and removing the values from the saved file.
Contact
ey-express (at) engineyard (dot) comCurrent Release (0.1.1)
- ey_express_v0.1.1.tar.bz2 - 6/1/2008
Release Notes
- Fixed a bug in the ey-express-rails-starter package where the environment was not set to 'express' in the mongrel_cluster.yml file.
Known Bugs
- v0.1
A symlink and environment packaging bug in the base rails starter application. The bug was fixed in the ey-express-rails-starter package v0.1-r1. To upgrade this package from v0.1 to v0.1-r1, log in as root and run "emerge -u ey-express-rails-starter; monit restart all". This was fixed in the Engine Yard Express image 0.1.1