engineyard-local 0.2.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/Gemfile +1 -0
  2. data/Gemfile.lock +73 -1
  3. data/README.md +40 -38
  4. data/config/dna.json +92 -66
  5. data/config/locales/en.yml +94 -9
  6. data/config/patches/chef-ey-1.1.336.patch +55 -0
  7. data/config/settings.yml +6 -1
  8. data/engineyard-local.gemspec +5 -4
  9. data/install/osx/README.md +42 -4
  10. data/install/osx/engineyard-local/engineyard-local.pkgproj +35 -6
  11. data/install/osx/images/dmg_background.png +0 -0
  12. data/install/osx/images/dmg_icon.icns +0 -0
  13. data/lib/engineyard-local.rb +64 -0
  14. data/lib/engineyard-local/command.rb +23 -0
  15. data/lib/engineyard-local/command/base.rb +78 -1
  16. data/lib/engineyard-local/command/group.rb +70 -6
  17. data/lib/engineyard-local/command/help.rb +36 -0
  18. data/lib/engineyard-local/command/helpers.rb +12 -0
  19. data/lib/engineyard-local/command/start.rb +26 -0
  20. data/lib/engineyard-local/command/status.rb +33 -0
  21. data/lib/engineyard-local/command/stop.rb +26 -0
  22. data/lib/engineyard-local/command/terminate.rb +26 -0
  23. data/lib/engineyard-local/command/up.rb +24 -15
  24. data/lib/engineyard-local/command/update.rb +42 -0
  25. data/lib/engineyard-local/middleware.rb +1 -0
  26. data/lib/engineyard-local/middleware/bundle.rb +1 -0
  27. data/lib/engineyard-local/middleware/chef.rb +52 -2
  28. data/lib/engineyard-local/middleware/cookbooks.rb +111 -0
  29. data/lib/engineyard-local/middleware/dna.rb +6 -4
  30. data/lib/engineyard-local/middleware/exec.rb +2 -1
  31. data/lib/engineyard-local/middleware/helpers/executable.rb +14 -2
  32. data/lib/engineyard-local/middleware/network.rb +3 -3
  33. data/lib/engineyard-local/middleware/rails.rb +1 -0
  34. data/lib/engineyard-local/middleware/rails/assets.rb +35 -0
  35. data/lib/engineyard-local/middleware/rails/command.rb +1 -1
  36. data/lib/engineyard-local/middleware/rails/db.rb +0 -1
  37. data/lib/engineyard-local/middleware/rails/new.rb +1 -1
  38. data/lib/engineyard-local/version.rb +1 -1
  39. data/test/engineyard-local/command/up_test.rb +1 -0
  40. data/test/integration/commands_test.rb +30 -0
  41. data/test/test_helper.rb +8 -2
  42. metadata +81 -70
  43. data/install/osx/images/eylocal_installer.png +0 -0
  44. data/test/integration/up_test.rb +0 -28
data/Gemfile CHANGED
@@ -6,6 +6,7 @@ group :test do
6
6
  gem "rake"
7
7
  gem "shoulda-context"
8
8
  gem "mocha"
9
+ gem "rails" #required for integration tests to generate test project
9
10
  end
10
11
 
11
12
  # TODO assumes 1.9 for devs :(
@@ -1,14 +1,43 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- engineyard-local (0.1.0)
4
+ engineyard-local (0.2.1)
5
5
  thor (~> 0.14.6)
6
6
  vagrant (= 1.0.1)
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
+ actionmailer (3.2.3)
12
+ actionpack (= 3.2.3)
13
+ mail (~> 2.4.4)
14
+ actionpack (3.2.3)
15
+ activemodel (= 3.2.3)
16
+ activesupport (= 3.2.3)
17
+ builder (~> 3.0.0)
18
+ erubis (~> 2.7.0)
19
+ journey (~> 1.0.1)
20
+ rack (~> 1.4.0)
21
+ rack-cache (~> 1.2)
22
+ rack-test (~> 0.6.1)
23
+ sprockets (~> 2.1.2)
24
+ activemodel (3.2.3)
25
+ activesupport (= 3.2.3)
26
+ builder (~> 3.0.0)
27
+ activerecord (3.2.3)
28
+ activemodel (= 3.2.3)
29
+ activesupport (= 3.2.3)
30
+ arel (~> 3.0.2)
31
+ tzinfo (~> 0.3.29)
32
+ activeresource (3.2.3)
33
+ activemodel (= 3.2.3)
34
+ activesupport (= 3.2.3)
35
+ activesupport (3.2.3)
36
+ i18n (~> 0.6)
37
+ multi_json (~> 1.0)
11
38
  archive-tar-minitar (0.5.2)
39
+ arel (3.0.2)
40
+ builder (3.0.0)
12
41
  childprocess (0.3.1)
13
42
  ffi (~> 1.0.6)
14
43
  columnize (0.3.6)
@@ -16,18 +45,51 @@ GEM
16
45
  ffi (1.0.11)
17
46
  fpm (0.3.11)
18
47
  json
48
+ hike (1.2.1)
19
49
  i18n (0.6.0)
50
+ journey (1.0.3)
20
51
  json (1.5.4)
21
52
  linecache19 (0.5.12)
22
53
  ruby_core_source (>= 0.1.4)
23
54
  log4r (1.1.10)
55
+ mail (2.4.4)
56
+ i18n (>= 0.4.0)
57
+ mime-types (~> 1.16)
58
+ treetop (~> 1.4.8)
24
59
  metaclass (0.0.1)
60
+ mime-types (1.18)
25
61
  mocha (0.10.5)
26
62
  metaclass (~> 0.0.1)
63
+ multi_json (1.2.0)
27
64
  net-scp (1.0.4)
28
65
  net-ssh (>= 1.99.1)
29
66
  net-ssh (2.2.2)
67
+ polyglot (0.3.3)
68
+ rack (1.4.1)
69
+ rack-cache (1.2)
70
+ rack (>= 0.4)
71
+ rack-ssl (1.3.2)
72
+ rack
73
+ rack-test (0.6.1)
74
+ rack (>= 1.0)
75
+ rails (3.2.3)
76
+ actionmailer (= 3.2.3)
77
+ actionpack (= 3.2.3)
78
+ activerecord (= 3.2.3)
79
+ activeresource (= 3.2.3)
80
+ activesupport (= 3.2.3)
81
+ bundler (~> 1.0)
82
+ railties (= 3.2.3)
83
+ railties (3.2.3)
84
+ actionpack (= 3.2.3)
85
+ activesupport (= 3.2.3)
86
+ rack-ssl (~> 1.3.2)
87
+ rake (>= 0.8.7)
88
+ rdoc (~> 3.4)
89
+ thor (~> 0.14.6)
30
90
  rake (0.9.2.2)
91
+ rdoc (3.12)
92
+ json (~> 1.4)
31
93
  ruby-debug-base19 (0.11.25)
32
94
  columnize (>= 0.3.1)
33
95
  linecache19 (>= 0.5.11)
@@ -39,7 +101,16 @@ GEM
39
101
  ruby_core_source (0.1.5)
40
102
  archive-tar-minitar (>= 0.5.2)
41
103
  shoulda-context (1.0.0)
104
+ sprockets (2.1.2)
105
+ hike (~> 1.2)
106
+ rack (~> 1.0)
107
+ tilt (~> 1.1, != 1.3.0)
42
108
  thor (0.14.6)
109
+ tilt (1.3.3)
110
+ treetop (1.4.10)
111
+ polyglot
112
+ polyglot (>= 0.3.1)
113
+ tzinfo (0.3.33)
43
114
  vagrant (1.0.1)
44
115
  archive-tar-minitar (= 0.5.2)
45
116
  childprocess (~> 0.3.1)
@@ -57,6 +128,7 @@ DEPENDENCIES
57
128
  engineyard-local!
58
129
  fpm
59
130
  mocha
131
+ rails
60
132
  rake
61
133
  ruby-debug19
62
134
  shoulda-context
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
- # Engineyard Local
1
+ # Engine Yard Local (EY Local)
2
2
 
3
- Engineyard Local brings the production virtual environment of Enginyard Cloud to your workstation. As a wrapper around [Vagrant](http://vagrantup.com) it uses VirtualBox, Ruby, and a custom prepackaged virtual machine image to make the creation and management of your local development environment easy, and customizations to your production environment testable.
3
+ EY Local brings the production virtual environment of Engine Yard Cloud to your local laptop/workstation.
4
+
5
+ Engine Yard Local is a wrapper around the [Vagrant](http://vagrantup.com) tool which is written in Ruby and utilizes VirtualBox, and a custom prepackaged virtual machine image in order to make the creation and management of your local development environment easy, and customizations to your production environment testable. The project also allows you to test in an almost identical environment to Engine Yard's production cloud environment.
4
6
 
5
7
  ## Contact
6
8
 
@@ -8,18 +10,21 @@ Team members can be found on `irc.oftc.net` in `#ey-local`.
8
10
 
9
11
  ## Bugs
10
12
 
11
- If you have a bug please post it to the issues list, preferrable answering the following questions:
13
+ If you encounter a bug you can post it here: [Engine Yard Local Bugs](https://support.cloud.engineyard.com/forums/20753933-engine-yard-local-bugs) *
14
+
15
+ Provide the following information with the bug:
12
16
 
13
- 1. What host platform are your running?
17
+ 1. What host platform are you running?
14
18
  2. What version of VirtualBox do you have installed? `VBoxManage -v`
15
19
  3. What version of the engineyard-local gem do you have installed? `ey-local version`
16
20
  4. What version of the vagrant gem do you have installed? `vagrant -v`
21
+ 5. Provide gist or other dump of the output that illustrates the problem.
17
22
 
18
- Please also provide gist or other dump of the output that illustrates the problem.
23
+ **Note**: If you do not have an Engine Yard customer login, you cannot log a bug on this forum. Instead, please email us: eylocal@engineyard.com OR ... better ... start a [free trial](http://www.engineyard.com) today!
19
24
 
20
25
  ## Installation
21
26
 
22
- There are two primary methods of installation. If you're an OS X user you can download and run the prebuilt installer which will handle installing VirtualBox, vagrant and ey-local for you. Alternatively you can install [VirtualBox](https://www.virtualbox.org/wiki/Downloads) and [Ruby](http://www.ruby-lang.org/en/downloads/) for your platform and then perform:
27
+ Install the latest [VirtualBox](https://www.virtualbox.org/wiki/Downloads) and [Ruby](http://www.ruby-lang.org/en/downloads/) for your platform and then perform:
23
28
 
24
29
  $ gem install engineyard-local
25
30
 
@@ -27,39 +32,41 @@ Once the install is complete you're ready to get started.
27
32
 
28
33
  ## Common Use
29
34
 
30
- Engineyard Local works from the root directory of your Rack based project. You can fire up a virtual environment from there with one command:
35
+ EY Local works from the root directory of your Rack based project. You can fire up a virtual environment from there with one command:
31
36
 
32
- $ cd my/app/
37
+ $ cd /path/to/your/application/code/
33
38
  $ ey-local up
34
39
  [ey-local] Downloading with Vagrant::Downloaders::HTTP...
35
40
 
36
- If you've never used ey-local before, or _did not_ use the OS X installer, it will begin the process by downloading the base virtual machine image from which all ey-local virtual environments are built. This will only happen once and ey-local will use the downloaded box for all subsequent virtual environments.
41
+ If you've never used ey-local before, it will begin the process by downloading the base virtual machine image from which all ey-local virtual environments are built. This will only happen once and ey-local will use the downloaded box for all subsequent virtual environments.
42
+
43
+ Please note that a known issue is that sometimes it will fail right after download due to not reloading configuration. If this happens to you please try another `ey-local up` immediately and the issue will likely resolve itself since the configuration will be reloaded properly this second time.
37
44
 
38
- After the download the virtual machine will be created and you'll be able to visit your app by pointing your browser at `33.33.33.10` which represents the virtual machine's host network location.
45
+ After the download, the virtual machine will be created and you'll be able to visit your app by pointing your browser at the default IP address of `33.33.33.10` which represents the virtual machine's host network location.
39
46
 
40
- From there you can edit your application files and see the application results as you normally would in your browser.
47
+ From there you can edit your application files and see the application results as you normally would in your browser at the address [http://33.33.33.10/](http://33.33.33.10/)
41
48
 
42
49
  ### Stop
43
50
 
44
- After working on your application you might wish to suspend the virtual machine so it's not eating up cpu cycles while you're doing some thing else. Simply issue:
51
+ After working on your application you might want to suspend the virtual machine so it's not eating up cpu cycles while you're doing some thing else. Simply issue:
45
52
 
46
53
  $ ey-local stop
47
54
 
48
- From the project directory to suspend the vm.
55
+ ... from your project directory to suspend the virtual machine.
49
56
 
50
57
  ### Start
51
58
 
52
- To restart the project after suspending it
59
+ To restart the project's virtual machine after suspending it to continue working:
53
60
 
54
61
  $ ey-local start
55
62
 
56
63
  ### Other Commands
57
64
 
58
- For other sub commands including `list`, `rails`, `log`, and `exec` please use:
65
+ For details on other possible commands including `list`, `rails`, `log`, and `exec` please see:
59
66
 
60
67
  $ ey-local help
61
68
 
62
- Also, ey-local is a wrapper around Vagrant itself and any commands that aren't defined for ey-local will be passed through to vagrant for execution. For example provisioning an ey-local environment is as simple as:
69
+ Please note that the `ey-local` command is a wrapper around [Vagrant](http://vagrantup.com/) itself and any commands that aren't defined for ey-local will be passed through to Vagrant for execution. For example provisioning an ey-local environment is as simple as:
63
70
 
64
71
  $ ey-local provision
65
72
 
@@ -67,49 +74,44 @@ You can learn more about `provision` and other Vagrant commands in the [Vagrant
67
74
 
68
75
  ### Provisioning with Chef
69
76
 
70
- In addition to the facilities for vm provisioning provided through the Vagrantfile, ey-local also includes a sane default for chef recipes when no other provisioning mechanism is defined. To take advantage of the default simply place your recipe at `$PROJECT_ROOT/cookbooks/main/recipes/default.rb`. From there you can require other recipes.
77
+ In addition to the facilities for VM provisioning provided through the Vagrantfile, ey-local also includes a sane default for chef recipes when no other provisioning mechanism is defined. To take advantage of the default simply place your recipe at `$PROJECT_ROOT/cookbooks/main/recipes/default.rb`. From there you can aquire other recipes.
71
78
 
72
- ## Contributions
79
+ ## Contributing to the Engine Yard Local Project
73
80
 
74
81
  Pull requests are the preferred method for contribution to the project with a couple general guidelines:
75
82
 
76
83
  1. **Keep changesets small**. Every changed line has to be reviewed so the smaller each change is the faster the review process will be.
77
- 2. **Keep commits small**. Keeping each child commit of a pull request small makes managing the git history easier especially for things like bisect. Additionally if the commits require a rebase by a team member resolving conflicts will be much less painful.
78
- 3. **Discuss large changes**. If you are compelled to make some drastic change to the source please consult the team using the methods detailed earlier.
79
-
80
- ### Layout
81
-
82
- The project layout uses the standard ruby gem folder structure. The best starting point for interested parties new to the source is at `lib/engineyard-local/command/group.rb`. There you'll find the Thor based command setup that is the entry point to ey-local's functionality. Thor is a holdover/stopgap before moving to the vagrant command structure, and is mostly a proxy for the command classes in the same subdirectory.
84
+ 2. **Keep commits small**. Keeping each child commit of a pull request small makes managing the git history easier especially for things like bisect. Additionally, if the commits require a rebase by a team member, resolving conflicts will be much less painful.
85
+ 3. **Discuss large changes**. If you are compelled to make some drastic change to the source, please consult the team using the methods detailed earlier.
83
86
 
84
- Upon viewing the individual command classes you'll likely be interested in the middleware that are used to operate on the vagrant virtual machines. The middleware is the primary abstraction that is used to keep each unit of work tiny and manageable. All of those and their helpers are to be found int the `lib/engineyard-local/middleware/` directory.
87
+ ### Engine Yard Local Project Layout
85
88
 
86
- ### Installers
89
+ The project layout uses the standard ruby gem folder structure. The best starting point for interested parties new to the source is at `lib/engineyard-local/command/group.rb`. There you'll find the Thor-based command setup that is the entry point to ey-local's functionality. Thor is a holdover/stopgap before moving to the Vagrant command structure, and is mostly a proxy for the command classes in the same subdirectory.
87
90
 
88
- There are two installation mechanisms for ey-local in the `install` subdirectory, one for a osx package and one for debs. Each has a detailed readme (`install/deb/README.md`, `install/osx/README.md`) on how to creat the packages including a full vagrant environment for the debs.
91
+ Upon viewing the individual command classes you'll likely be interested in the middleware used to operate on the Vagrant virtual machines. The middleware is the primary abstraction that is used to keep each unit of work tiny and manageable. All of those and their helpers are to be found int the `lib/engineyard-local/middleware/` directory.
89
92
 
90
- ### Installing HEAD
93
+ ### Installing the latest development HEAD
91
94
 
92
95
  You can install the latest from the repository with the following:
93
96
 
94
- $ bundle install --path=./.bundle
95
- $ bundle exec rake build
97
+ $ gem build engineyard-local.gemspec
96
98
  $ gem install pkg/engineyard-local-<VERSION>.gem
97
99
 
98
100
  ### Tests
99
101
 
100
- There are a fairly minimal set of mock/stub based unit tests
102
+ There are a fairly minimal set of mock/stub based unit tests:
101
103
 
102
- $ bundle install --path=./.bundle
103
- $ bundle exec rake test
104
+ $ bundle install
105
+ $ rake test
104
106
 
105
- If you're developing on ruby 1.8 your bundle install should exclude the `:dev` group.
107
+ If you're developing on Ruby 1.8 your bundle install should exclude the `:dev` group.
106
108
 
107
- $ bundle install --without=dev --path=./.bundle
109
+ $ bundle install --without=dev
108
110
 
109
- If you're feeling brave you are welcome to run the integration tests as well though they will create and destroy vms over a long period of time. After the bundle install:
111
+ If you're feeling brave you are welcome to run the integration tests as well though they will create and destroy virtual machines over a long period of time. After the bundle install:
110
112
 
111
- $ bundle exec rake integration
113
+ $ rake integration
112
114
 
113
115
  You can also prefix that with a `DEBUG=true` to see the output from the tested commands.
114
116
 
115
- $ DEBUG=true bundle exec rake integration
117
+ $ DEBUG=true rake integration
@@ -1,38 +1,24 @@
1
1
  {
2
2
  "db_slaves": [
3
3
  ],
4
- "nodejs": {
5
- "version": "0.6.1"
6
- },
7
- "nginx": {
8
- "version": "1.0.10-r1"
9
- },
10
4
  "aws_secret_key": "",
11
5
  "ruby_version": "Ruby 1.9.3",
12
- "backup_interval": 24,
13
- "internal_ssh_public_key": "",
14
- "admin_ssh_key": "",
15
6
  "user_ssh_key": [
16
-
7
+ ""
17
8
  ],
9
+ "internal_ssh_public_key": "",
10
+ "admin_ssh_key": "",
11
+ "backup_interval": 24,
18
12
  "internal_ssh_private_key": "",
13
+ "instance_role": "eylocal",
19
14
  "utility_instances": [
20
15
 
21
16
  ],
22
17
  "mailserver": "smtp.engineyard.com",
23
- "instance_role": "eylocal",
24
18
  "crons": [
25
19
 
26
- ],
27
- "removed_applications": [
28
20
  ],
29
21
  "backup_window": 10,
30
- "gems_to_install": [
31
- {
32
- "name": "bundler"
33
- }
34
- ],
35
- "alert_email": "",
36
22
  "applications": {
37
23
  "APPNAME": {
38
24
  "auth": {
@@ -40,16 +26,16 @@
40
26
  },
41
27
  "newrelic": false,
42
28
  "https_bind_port": 443,
29
+ "migration_command": "rake db:migrate",
43
30
  "type": "APPTYPE",
44
- "migration_command": "bundle exec rake db:migrate",
45
31
  "repository_name": "APPURL",
46
32
  "revision": "APPREVISION",
47
33
  "http_bind_port": 80,
48
34
  "run_deploy": false,
49
35
  "branch": "HEAD",
50
- "deploy_key": "",
36
+ "run_migrations": true,
51
37
  "deploy_action": "deploy",
52
- "run_migrations": false,
38
+ "deploy_key": "",
53
39
  "services": [
54
40
  {
55
41
  "resource": "mongrel",
@@ -67,62 +53,87 @@
67
53
  "memcached",
68
54
  "monit",
69
55
  "nginx",
70
- "nginx-passenger"
56
+ "passenger3"
71
57
  ],
72
58
  "vhosts": [
73
59
  {
74
60
  "name": "_",
75
- "role": "prod"
61
+ "role": "eylocal"
76
62
  }
77
63
  ]
78
64
  }
79
65
  },
80
- "aws_secret_id": "",
81
- "environment": {
82
- "name": "prod",
83
- "stack": "nginx_passenger3",
84
- "framework_env": "production"
85
- },
66
+ "gems_to_install": [
67
+ {
68
+ "name": "rails",
69
+ "version": "2.3.2"
70
+ },
71
+ {
72
+ "name": "mysql2",
73
+ "version": "0.3.2"
74
+ }
75
+ ],
76
+ "alert_email": "ALERT_EMAIL",
86
77
  "reporting_url": "",
87
78
  "users": [
88
79
  {
89
80
  "gid": "1000",
90
81
  "username": "vagrant",
91
82
  "uid": "1000",
92
- "password": "abc123unme",
93
- "comment": ""
83
+ "comment": "",
84
+ "password": "abc123unme"
94
85
  }
95
86
  ],
96
- "db_host": "ey-local",
87
+ "environment": {
88
+ "name": "eylocal",
89
+ "stack": "nginx_passenger3",
90
+ "framework_env": "production"
91
+ },
92
+ "aws_secret_id": "",
97
93
  "packages_to_install": [
98
94
 
99
95
  ],
100
- "haproxy": {
101
- "username": "vagrant",
102
- "password": "abc123unme"
103
- },
96
+ "db_host": "ey-local",
104
97
  "engineyard": {
98
+ "this": "ey-local",
105
99
  "environment": {
106
100
  "apps": [
107
101
  {
108
102
  "name": "APPNAME",
109
103
  "newrelic": false,
110
- "migration_command": "rake db:migrate",
111
- "type": "APPTYPE",
112
104
  "components": [
105
+ {
106
+ "collection": [
113
107
 
108
+ ],
109
+ "key": "addons"
110
+ },
111
+ {
112
+ "key": "app_metadata"
113
+ }
114
114
  ],
115
115
  "database_name": "APPNAME",
116
+ "migration_command": "rake db:migrate",
117
+ "type": "rails",
116
118
  "repository_name": "APPURL",
117
- "revision": "APPREVISION",
118
119
  "run_deploy": false,
120
+ "revision": "APPREVISION",
119
121
  "bundled": null,
120
122
  "branch": "HEAD",
121
- "deploy_key": "",
123
+ "run_migrations": true,
122
124
  "deploy_action": "deploy",
123
- "run_migrations": false,
125
+ "deploy_key": "",
124
126
  "gems": [
125
-
127
+ {
128
+ "name": "rails",
129
+ "version": "2.3.2",
130
+ "source": null
131
+ },
132
+ {
133
+ "name": "mysql2",
134
+ "version": "0.3.2",
135
+ "source": null
136
+ }
126
137
  ],
127
138
  "vhosts": [
128
139
  {
@@ -136,71 +147,86 @@
136
147
  }
137
148
  ],
138
149
  "ssh_keys": [
139
-
150
+ ""
140
151
  ],
152
+ "name": "eylocal",
141
153
  "aws_secret_key": "",
142
- "name": "prod",
143
- "ruby_version": null,
144
154
  "instances": [
145
155
  {
146
156
  "name": null,
147
157
  "public_hostname": "ey-local",
148
- "stonith_config": {
149
- "endpoint_uri": "https://cloud.engineyard.com/stonith",
150
- "endpoint_token": "69576b03-5ad5-4774-acec-452fbad20a76",
151
- "monitor_host": "ey-local",
152
- "endpoint_id": "ey-local"
153
- },
154
- "role": "solo",
155
158
  "components": [
156
159
  {
157
160
  "key": "ssmtp"
158
161
  }
159
162
  ],
163
+ "stonith_config": {
164
+ "endpoint_uri": "https://cloud.engineyard.com/stonith",
165
+ "endpoint_token": "bbef81eb-5d48-4c6c-8282-084e2e669569",
166
+ "monitor_host": "ey-local",
167
+ "endpoint_id": "ey-local"
168
+ },
169
+ "role": "eylocal",
160
170
  "enabled": true,
161
171
  "id": "ey-local",
162
172
  "private_hostname": "ey-local",
163
173
  "reporting_url": "",
164
174
  "instance_api_config": {
165
175
  "token": "",
166
- "base_url": "https://cloud.engineyard.com/instance_api",
167
- "instance_id": ""
176
+ "instance_id": "",
177
+ "base_url": "https://cloud.engineyard.com/instance_api"
168
178
  },
169
179
  "awsm_token": ""
170
180
  }
171
181
  ],
172
182
  "framework_env": "production",
183
+ "ruby_version": null,
173
184
  "stonith_endpoint": "https://cloud.engineyard.com/stonith",
174
- "backup_interval": 24,
185
+ "region": "us-east-1",
175
186
  "ssh_username": "vagrant",
176
187
  "internal_ssh_public_key": "",
177
188
  "admin_ssh_key": "",
178
- "region": "us-east-1",
189
+ "backup_interval": 24,
179
190
  "internal_ssh_private_key": "",
180
- "mailserver": "smtp.engineyard.com",
181
191
  "components": [
182
192
  {
183
193
  "key": "ruby_193"
184
194
  },
195
+ {
196
+ "version": "1.8.17",
197
+ "key": "rubygems"
198
+ },
199
+ {
200
+ "key": "environment_metadata"
201
+ },
202
+ {
203
+ "clusters": [
204
+
205
+ ],
206
+ "key": "metadata"
207
+ },
185
208
  {
186
209
  "key": "passenger3"
187
210
  }
188
211
  ],
212
+ "mailserver": "smtp.engineyard.com",
189
213
  "crons": [
190
214
 
191
215
  ],
192
216
  "stats_password": "abc123unme",
193
- "backup_window": 10,
194
217
  "stack_name": "nginx_passenger3",
195
- "ssh_password": "abc123unme",
218
+ "backup_window": 10,
196
219
  "backup_bucket": "",
220
+ "db_stack_name": "postgres9_1",
221
+ "ssh_password": "abc123unme",
197
222
  "alert_email": "ALERT_EMAIL",
198
- "db_stack_name": "mysql",
199
- "aws_secret_id": "",
200
223
  "monitoring": "monit",
201
- "newrelic_key": null
202
- },
203
- "this": "ey-local"
224
+ "newrelic_key": null,
225
+ "aws_secret_id": ""
226
+ }
227
+ },
228
+ "haproxy": {
229
+ "username": "vagrant",
230
+ "password": "abc123unme"
204
231
  }
205
232
  }
206
-