stackfu 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -1,5 +1,4 @@
1
1
  CHANGELOG
2
- Gemfile
3
2
  Manifest
4
3
  README
5
4
  README.md
@@ -37,7 +36,9 @@ spec/fixtures/scripts/all.json
37
36
  spec/fixtures/scripts/create.json
38
37
  spec/fixtures/scripts/delete.json
39
38
  spec/fixtures/scripts/firewall.json
39
+ spec/fixtures/scripts/firewall/deploy.json
40
40
  spec/fixtures/scripts/mongo.json
41
+ spec/fixtures/scripts/mongo/deploy.json
41
42
  spec/fixtures/scripts/none.json
42
43
  spec/fixtures/scripts/not_found.json
43
44
  spec/fixtures/scripts/password.json
@@ -47,7 +48,6 @@ spec/fixtures/servers/cannot_deploy.json
47
48
  spec/fixtures/servers/none.json
48
49
  spec/fixtures/servers/not_found.json
49
50
  spec/fixtures/servers/webbynode.json
50
- spec/fixtures/servers/webbynode/deploy.json
51
51
  spec/spec_helper.rb
52
52
  spec/stackfu/api_hooks_spec.rb
53
53
  spec/stackfu/commands/deploy_command_spec.rb
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rake/testtask'
4
4
 
5
5
  require 'echoe'
6
6
 
7
- Echoe.new('stackfu', '0.1.4') do |p|
7
+ Echoe.new('stackfu', '0.1.5') do |p|
8
8
  p.description = "StackFu Backend"
9
9
  p.url = "http://stackfu.com/cli"
10
10
  p.author = "Felipe Coury"
@@ -1,6 +1,7 @@
1
1
  module StackFu::Commands
2
2
  class DeployCommand < Command
3
3
  include StackFu::ApiHooks
4
+ aliases :dep
4
5
 
5
6
  # error_messages :missing_subcommand => "You have to tell what you want to deploy and to which server."
6
7
  # subcommand :script, :required_parameters => [:plugin_name, :server]
@@ -94,7 +95,7 @@ module StackFu::Commands
94
95
  server_id = server.id
95
96
  server.id = server.slug
96
97
  begin
97
- deployment = server.post(:deploy, {}, { :id => server_id, :script_id => target.slug, :params => params }.to_json)
98
+ deployment = Script.new(:id => target.slug).post(:deploy, {}, { :server_ids => [server.slug], :params => params }.to_json)
98
99
  rescue ActiveResource::ClientError
99
100
  if $!.message =~ /406/
100
101
  puts "Error: ".foreground(:red) + "Cannot deploy - there is another deploy queued or running for this server."
@@ -104,7 +105,8 @@ module StackFu::Commands
104
105
  end
105
106
  end
106
107
 
107
- deployment = JSON.parse(deployment.body)
108
+ deployments = JSON.parse(deployment.body)
109
+ deployment = deployments.first
108
110
 
109
111
  if options[:"no-follow"]
110
112
  puts "Your deployment have been submitted"
@@ -3,7 +3,7 @@ require 'ostruct'
3
3
 
4
4
  module StackFu::Commands
5
5
  class GenerateCommand < Command
6
- aliases :create
6
+ aliases :create, :gen
7
7
 
8
8
  Types = {
9
9
  [:checkbox, :numericbox, :combobox, :password, :radio, :textbox] => :control
data/lib/stackfu.rb CHANGED
@@ -50,7 +50,7 @@ require "#{dir}/commands/deploy_command"
50
50
  require "#{dir}/commands/dump_command"
51
51
 
52
52
  module StackFu
53
- VERSION = '0.1.1'
53
+ VERSION = '0.1.5'
54
54
  API = "http://beta.stackfu.com"
55
55
  # API = "http://localhost:3000"
56
56
  CONFIG_FILE = "#{ENV['HOME']}/.stackfu"
@@ -0,0 +1,12 @@
1
+ HTTP/1.1 200 OK
2
+ Etag: "b2d8ba4761967f030b2ea220620986b1"
3
+ Connection: Keep-Alive
4
+ Content-Type: application/json; charset=utf-8
5
+ Date: Sat, 04 Sep 2010 21:35:47 GMT
6
+ Server: WEBrick/1.3.1 (Ruby/1.8.7/2009-12-24)
7
+ X-Runtime: 0.313166
8
+ Content-Length: 1732
9
+ Cache-Control: max-age=0, private, must-revalidate
10
+ Set-Cookie: _stackfu_session=BAh7ByIPc2Vzc2lvbl9pZCIlYzZiMDZlNmJlZTgwZTU3ODA1NTgzMjk1YmI4N2FhN2EiGXdhcmRlbi51c2VyLnVzZXIua2V5WwciCVVzZXJvOhNCU09OOjpPYmplY3RJRAY6CkBkYXRhWxFpUWkBgml%2BaXNpAdRpAYlpAehpM2kBwWkAaQBpCA%3D%3D--b119069c65fff79fbc923dc31cc993334e278c79; path=/; HttpOnly
11
+
12
+ [{"stack":{"slug":null,"_id":"4c82bbb3d489e856ce000005","scripts":[{"slug":"firewall","name":"firewall","controls":[{"name":"Ports","label":"Ports","_id":"4c82796ed489e82ec1000005","_type":"Textbox","type":"Textbox","hint":"separate by comma's"}],"created_at":"2010-09-04T13:53:02-03:00","updated_at":"2010-09-04T13:53:02-03:00","_id":"4c82796ed489e82ec1000008","validations":[{"body":"test -x ufw","_id":"4c82796ed489e82ec1000002","_type":"ExecutableExists","params":{"data":"ufw"},"description":"File ufw exists and is executable"}],"user_id":"4c82796ed489e82ec1000003","requirements":[{"body":"test -x apt-get","_id":"4c82796ed489e82ec1000001","_type":"ExecutableExists","params":{"data":"apt-get"},"description":"File apt-get exists and is executable"}],"executions":[{"body":" # \n # configure_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n apt-get update\n apt-get install -y ufw\n","_id":"4c82796ed489e82ec1000006","description":"Install Ufw","watching_user_ids":[]},{"body":" # \n # install_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n ufw default deny\n <% ports.split(\",\").each do |port| %>\n ufw allow <%= port %> \n <% end %>\n","_id":"4c82796ed489e82ec1000007","description":"Configure Ufw","watching_user_ids":[]}],"description":"Set up a firewall for your server to improve security.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Praesent eget erat libero, id malesuada tortor.\n Donec pharetra sapien et nulla ultricies ac pharetra neque vulputate.","watching_user_ids":[]}]},"provider_id":null,"server_id":"4c82796ed489e82ec1000017","_id":"4c82bbb3d489e856ce000006","params":{"ports":"80,23,22"},"status":"queued"}]
@@ -0,0 +1,12 @@
1
+ HTTP/1.1 200 OK
2
+ Etag: "b2d8ba4761967f030b2ea220620986b1"
3
+ Connection: Keep-Alive
4
+ Content-Type: application/json; charset=utf-8
5
+ Date: Sat, 04 Sep 2010 21:35:47 GMT
6
+ Server: WEBrick/1.3.1 (Ruby/1.8.7/2009-12-24)
7
+ X-Runtime: 0.313166
8
+ Content-Length: 1732
9
+ Cache-Control: max-age=0, private, must-revalidate
10
+ Set-Cookie: _stackfu_session=BAh7ByIPc2Vzc2lvbl9pZCIlYzZiMDZlNmJlZTgwZTU3ODA1NTgzMjk1YmI4N2FhN2EiGXdhcmRlbi51c2VyLnVzZXIua2V5WwciCVVzZXJvOhNCU09OOjpPYmplY3RJRAY6CkBkYXRhWxFpUWkBgml%2BaXNpAdRpAYlpAehpM2kBwWkAaQBpCA%3D%3D--b119069c65fff79fbc923dc31cc993334e278c79; path=/; HttpOnly
11
+
12
+ [{"stack":{"slug":null,"_id":"4c82bbb3d489e856ce000005","scripts":[{"slug":"firewall","name":"firewall","controls":[{"name":"Ports","label":"Ports","_id":"4c82796ed489e82ec1000005","_type":"Textbox","type":"Textbox","hint":"separate by comma's"}],"created_at":"2010-09-04T13:53:02-03:00","updated_at":"2010-09-04T13:53:02-03:00","_id":"4c82796ed489e82ec1000008","validations":[{"body":"test -x ufw","_id":"4c82796ed489e82ec1000002","_type":"ExecutableExists","params":{"data":"ufw"},"description":"File ufw exists and is executable"}],"user_id":"4c82796ed489e82ec1000003","requirements":[{"body":"test -x apt-get","_id":"4c82796ed489e82ec1000001","_type":"ExecutableExists","params":{"data":"apt-get"},"description":"File apt-get exists and is executable"}],"executions":[{"body":" # \n # configure_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n apt-get update\n apt-get install -y ufw\n","_id":"4c82796ed489e82ec1000006","description":"Install Ufw","watching_user_ids":[]},{"body":" # \n # install_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n ufw default deny\n <% ports.split(\",\").each do |port| %>\n ufw allow <%= port %> \n <% end %>\n","_id":"4c82796ed489e82ec1000007","description":"Configure Ufw","watching_user_ids":[]}],"description":"Set up a firewall for your server to improve security.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Praesent eget erat libero, id malesuada tortor.\n Donec pharetra sapien et nulla ultricies ac pharetra neque vulputate.","watching_user_ids":[]}]},"provider_id":null,"server_id":"4c82796ed489e82ec1000017","_id":"4c82bbb3d489e856ce000006","params":{"ports":"80,23,22"},"status":"queued"}]
@@ -2,6 +2,22 @@
2
2
  require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'spec_helper')
3
3
 
4
4
  describe StackFu::Commands::DeployCommand do
5
+ context 'aliases' do
6
+ it "responds to dep command" do
7
+ prepare(:get, '/servers/webbynode.json')
8
+ prepare(:get, '/scripts/password.json')
9
+
10
+ when_asked " Password: ", :answer => "mama mia"
11
+ when_asked " Ports: ", :answer => "80,23,22"
12
+
13
+ disagree_of "Continue with script installation?\n"
14
+
15
+ command "dep password webbynode"
16
+
17
+ stdout.should =~ /Aborted./
18
+ end
19
+ end
20
+
5
21
  context 'rendering controls do' do
6
22
  it "tells the user if there is another deployment running" do
7
23
  prepare(:get, '/servers/webbynode.json')
@@ -39,7 +55,7 @@ describe StackFu::Commands::DeployCommand do
39
55
  it "tells the user if there is another deployment running" do
40
56
  prepare(:get, '/servers/webbynode.json')
41
57
  prepare(:get, '/scripts/firewall.json')
42
- prepare_status(:post, '/servers/webbynode/deploy.json', [406, "This server already has a deployment queued or running"])
58
+ prepare_status(:post, '/scripts/firewall/deploy.json', [406, "This server already has a deployment queued or running"])
43
59
 
44
60
  when_asked " Ports: ", :answer => "80,23,22"
45
61
 
@@ -54,7 +70,7 @@ describe StackFu::Commands::DeployCommand do
54
70
  it "tells the user when an unexpected error occurs" do
55
71
  prepare(:get, '/servers/webbynode.json')
56
72
  prepare(:get, '/scripts/firewall.json')
57
- prepare_status(:post, '/servers/webbynode/deploy.json', [500, "Server has received a roundhound kick!"])
73
+ prepare_status(:post, '/scripts/firewall/deploy.json', [500, "Server has received a roundhound kick!"])
58
74
 
59
75
  when_asked " Ports: ", :answer => "80,23,22"
60
76
 
@@ -69,7 +85,7 @@ describe StackFu::Commands::DeployCommand do
69
85
  it "deploys a server" do
70
86
  prepare(:get, '/servers/webbynode.json')
71
87
  prepare(:get, '/scripts/firewall.json')
72
- prepare(:post, '/servers/webbynode/deploy.json')
88
+ prepare(:post, '/scripts/firewall/deploy.json')
73
89
 
74
90
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json', '/deployments/logs.json')
75
91
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json?from_id=4c866bb17d7c4261a3000104',
@@ -94,7 +110,7 @@ describe StackFu::Commands::DeployCommand do
94
110
  it "asks no params when script has none" do
95
111
  prepare(:get, '/servers/webbynode.json')
96
112
  prepare(:get, '/scripts/mongo.json')
97
- prepare(:post, '/servers/webbynode/deploy.json')
113
+ prepare(:post, '/scripts/mongo/deploy.json')
98
114
 
99
115
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json', '/deployments/logs.json')
100
116
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json?from_id=4c866bb17d7c4261a3000104',
@@ -116,7 +132,7 @@ describe StackFu::Commands::DeployCommand do
116
132
  it "reports an installation failure" do
117
133
  prepare(:get, '/servers/webbynode.json')
118
134
  prepare(:get, '/scripts/firewall.json')
119
- prepare(:post, '/servers/webbynode/deploy.json')
135
+ prepare(:post, '/scripts/firewall/deploy.json')
120
136
 
121
137
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json', '/deployments/logs.json')
122
138
  prepare(:get, '/deployments/4c82bbb3d489e856ce000006/logs.json?from_id=4c866bb17d7c4261a3000104',
@@ -155,7 +171,7 @@ describe StackFu::Commands::DeployCommand do
155
171
  it "tells the user if there's a problem submitting the deployment" do
156
172
  prepare(:get, '/scripts/firewall.json')
157
173
  prepare(:get, '/servers/webbynode.json')
158
- prepare_raise(:post, '/servers/webbynode/deploy.json', Errno::ECONNREFUSED)
174
+ prepare_raise(:post, '/scripts/firewall/deploy.json', Errno::ECONNREFUSED)
159
175
 
160
176
  when_asked " Ports: ", :answer => "20,21,22"
161
177
 
@@ -52,6 +52,11 @@ describe StackFu::Commands::GenerateCommand do
52
52
  stdout.should =~ /Don't know how to generate a script with abcdef. Use 'stackfu help generate' for more information./
53
53
  end
54
54
 
55
+ it "aliases to gen" do
56
+ command "gen test abcdef"
57
+ stdout.should =~ /Don't know how to generate a script with abcdef. Use 'stackfu help generate' for more information./
58
+ end
59
+
55
60
  it "raises an error message if one of the params is of invalid type" do
56
61
  command "generate test yogurt:food"
57
62
  stdout.should =~ /Don't know how to generate a script with food yogurt. Use 'stackfu help generate' for more information./
data/stackfu.gemspec CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{stackfu}
5
- s.version = "0.1.4"
5
+ s.version = "0.1.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Felipe Coury"]
9
- s.date = %q{2010-09-11}
9
+ s.date = %q{2010-09-14}
10
10
  s.default_executable = %q{stackfu}
11
11
  s.description = %q{StackFu Backend}
12
12
  s.email = %q{felipe@stackfu.com}
13
13
  s.executables = ["stackfu"]
14
14
  s.extra_rdoc_files = ["CHANGELOG", "README", "README.md", "bin/stackfu", "lib/stackfu.rb", "lib/stackfu/api_hooks.rb", "lib/stackfu/app.rb", "lib/stackfu/commands/command.rb", "lib/stackfu/commands/config_command.rb", "lib/stackfu/commands/deploy_command.rb", "lib/stackfu/commands/dump_command.rb", "lib/stackfu/commands/generate_command.rb", "lib/stackfu/commands/help_command.rb", "lib/stackfu/commands/list_command.rb", "lib/stackfu/commands/publish_command.rb", "lib/stackfu/commands/server_command.rb", "lib/stackfu/date_helper.rb", "lib/stackfu/helpers/providers_credentials.rb", "lib/stackfu/helpers/rendering.rb", "lib/stackfu/operating_systems.rb"]
15
- s.files = ["CHANGELOG", "Gemfile", "Manifest", "README", "README.md", "Rakefile", "autotest/discover.rb", "bin/stackfu", "firewall/config/01-controls.yml", "firewall/config/02-requirements.yml", "firewall/config/03-executions.yml", "firewall/config/04-validations.yml", "firewall/executables/configure_ufw.sh.erb", "firewall/executables/install_ufw.sh.erb", "firewall/script.yml", "lib/stackfu.rb", "lib/stackfu/api_hooks.rb", "lib/stackfu/app.rb", "lib/stackfu/commands/command.rb", "lib/stackfu/commands/config_command.rb", "lib/stackfu/commands/deploy_command.rb", "lib/stackfu/commands/dump_command.rb", "lib/stackfu/commands/generate_command.rb", "lib/stackfu/commands/help_command.rb", "lib/stackfu/commands/list_command.rb", "lib/stackfu/commands/publish_command.rb", "lib/stackfu/commands/server_command.rb", "lib/stackfu/date_helper.rb", "lib/stackfu/helpers/providers_credentials.rb", "lib/stackfu/helpers/rendering.rb", "lib/stackfu/operating_systems.rb", "spec/fixtures/deployments/logs.json", "spec/fixtures/deployments/logs_end.json", "spec/fixtures/deployments/logs_failed.json", "spec/fixtures/deployments/logs_middle.json", "spec/fixtures/scripts/all.json", "spec/fixtures/scripts/create.json", "spec/fixtures/scripts/delete.json", "spec/fixtures/scripts/firewall.json", "spec/fixtures/scripts/mongo.json", "spec/fixtures/scripts/none.json", "spec/fixtures/scripts/not_found.json", "spec/fixtures/scripts/password.json", "spec/fixtures/scripts/script_not_found.json", "spec/fixtures/servers/all.json", "spec/fixtures/servers/cannot_deploy.json", "spec/fixtures/servers/none.json", "spec/fixtures/servers/not_found.json", "spec/fixtures/servers/webbynode.json", "spec/fixtures/servers/webbynode/deploy.json", "spec/spec_helper.rb", "spec/stackfu/api_hooks_spec.rb", "spec/stackfu/commands/deploy_command_spec.rb", "spec/stackfu/commands/dump_command_spec.rb", "spec/stackfu/commands/generate_command_spec.rb", "spec/stackfu/commands/list_command_spec.rb", "spec/stackfu/commands/publish_command_spec.rb", "spec/stackfu/rendering_spec.rb", "stackfu-installer/config/01-controls.yml", "stackfu-installer/config/02-requirements.yml", "stackfu-installer/config/03-executions.yml", "stackfu-installer/config/04-validations.yml", "stackfu-installer/script/dotfiles_installation.sh.erb", "stackfu-installer/script/github_credentials_setup.sh.erb", "stackfu-installer/script/nginx_and_passenger.sh.erb", "stackfu-installer/script/redis_installation.sh.erb", "stackfu-installer/script/resque_installation.sh.erb", "stackfu-installer/script/ruby_environment.sh.erb", "stackfu-installer/script/stackfu.sh.erb", "stackfu-installer/stack.yml", "templates/01-controls.yml.erb", "templates/02-requirements.yml.erb", "templates/03-executions.yml.erb", "templates/04-validations.yml.erb", "templates/script.sh.erb", "templates/stack.yml.erb", "test/fixtures/add_server_error", "test/fixtures/deployment_add", "test/fixtures/deployment_add_error", "test/fixtures/deployments", "test/fixtures/logs", "test/fixtures/logs_partial", "test/fixtures/plugin_add", "test/fixtures/plugin_add_error", "test/fixtures/plugin_deployment_add", "test/fixtures/plugin_not_found", "test/fixtures/plugin_unauthorized", "test/fixtures/plugins", "test/fixtures/plugins_by_name", "test/fixtures/plugins_by_name_other", "test/fixtures/plugins_empty", "test/fixtures/plugins_multiple", "test/fixtures/providers", "test/fixtures/providers_servers", "test/fixtures/server_add", "test/fixtures/server_add_dupe", "test/fixtures/server_add_error", "test/fixtures/server_delete", "test/fixtures/server_delete_error", "test/fixtures/servers", "test/fixtures/servers_by_name", "test/fixtures/servers_empty", "test/fixtures/servers_not_found", "test/fixtures/servers_unauthorized", "test/fixtures/servers_webbynode", "test/fixtures/stack/stackfu-installer/config/01-controls.yml", "test/fixtures/stack/stackfu-installer/config/02-requirements.yml", "test/fixtures/stack/stackfu-installer/config/03-scripts.yml", "test/fixtures/stack/stackfu-installer/config/04-validations.yml", "test/fixtures/stack/stackfu-installer/script/dotfiles_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/github_credentials_setup.sh.erb", "test/fixtures/stack/stackfu-installer/script/nginx_and_passenger.sh.erb", "test/fixtures/stack/stackfu-installer/script/redis_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/resque_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/ruby_environment.sh.erb", "test/fixtures/stack/stackfu-installer/script/stackfu.sh.erb", "test/fixtures/stack/stackfu-installer/stack.yml", "test/fixtures/stack_add", "test/fixtures/stack_add_error", "test/fixtures/stack_add_error_dupe", "test/fixtures/stack_adds_by_name", "test/fixtures/stack_delete_not_found", "test/fixtures/stacks", "test/fixtures/stacks_by_name", "test/fixtures/stacks_by_name_other", "test/fixtures/stacks_empty", "test/fixtures/stacks_multiple", "test/fixtures/stacks_not_found", "test/fixtures/stacks_realworld", "test/fixtures/stacks_stackfu-installer", "test/fixtures/stacks_unauthorized", "test/fixtures/stacks_with_controls", "test/fixtures/users", "test/fixtures/users_no_credentials", "test/fixtures/users_update", "test/support/custom_matchers.rb", "test/support/fixtures.rb", "test/support/io_stub.rb", "test/support/web_fixtures.rb", "test/test_helper.rb", "test/unit/commands/test_command.rb", "test/unit/commands/test_config_command.rb", "test/unit/commands/test_deploy_command.rb", "test/unit/commands/test_dump_command.rb", "test/unit/commands/test_generate_command.rb", "test/unit/commands/test_help_command.rb", "test/unit/commands/test_list_command.rb", "test/unit/commands/test_publish_command.rb", "test/unit/commands/test_server_command.rb", "test/unit/helpers/test_rendering.rb", "test/unit/test_array.rb", "test/unit/test_provider.rb", "test/unit/test_stackfu.rb", "stackfu.gemspec"]
15
+ s.files = ["CHANGELOG", "Manifest", "README", "README.md", "Rakefile", "autotest/discover.rb", "bin/stackfu", "firewall/config/01-controls.yml", "firewall/config/02-requirements.yml", "firewall/config/03-executions.yml", "firewall/config/04-validations.yml", "firewall/executables/configure_ufw.sh.erb", "firewall/executables/install_ufw.sh.erb", "firewall/script.yml", "lib/stackfu.rb", "lib/stackfu/api_hooks.rb", "lib/stackfu/app.rb", "lib/stackfu/commands/command.rb", "lib/stackfu/commands/config_command.rb", "lib/stackfu/commands/deploy_command.rb", "lib/stackfu/commands/dump_command.rb", "lib/stackfu/commands/generate_command.rb", "lib/stackfu/commands/help_command.rb", "lib/stackfu/commands/list_command.rb", "lib/stackfu/commands/publish_command.rb", "lib/stackfu/commands/server_command.rb", "lib/stackfu/date_helper.rb", "lib/stackfu/helpers/providers_credentials.rb", "lib/stackfu/helpers/rendering.rb", "lib/stackfu/operating_systems.rb", "spec/fixtures/deployments/logs.json", "spec/fixtures/deployments/logs_end.json", "spec/fixtures/deployments/logs_failed.json", "spec/fixtures/deployments/logs_middle.json", "spec/fixtures/scripts/all.json", "spec/fixtures/scripts/create.json", "spec/fixtures/scripts/delete.json", "spec/fixtures/scripts/firewall.json", "spec/fixtures/scripts/firewall/deploy.json", "spec/fixtures/scripts/mongo.json", "spec/fixtures/scripts/mongo/deploy.json", "spec/fixtures/scripts/none.json", "spec/fixtures/scripts/not_found.json", "spec/fixtures/scripts/password.json", "spec/fixtures/scripts/script_not_found.json", "spec/fixtures/servers/all.json", "spec/fixtures/servers/cannot_deploy.json", "spec/fixtures/servers/none.json", "spec/fixtures/servers/not_found.json", "spec/fixtures/servers/webbynode.json", "spec/spec_helper.rb", "spec/stackfu/api_hooks_spec.rb", "spec/stackfu/commands/deploy_command_spec.rb", "spec/stackfu/commands/dump_command_spec.rb", "spec/stackfu/commands/generate_command_spec.rb", "spec/stackfu/commands/list_command_spec.rb", "spec/stackfu/commands/publish_command_spec.rb", "spec/stackfu/rendering_spec.rb", "stackfu-installer/config/01-controls.yml", "stackfu-installer/config/02-requirements.yml", "stackfu-installer/config/03-executions.yml", "stackfu-installer/config/04-validations.yml", "stackfu-installer/script/dotfiles_installation.sh.erb", "stackfu-installer/script/github_credentials_setup.sh.erb", "stackfu-installer/script/nginx_and_passenger.sh.erb", "stackfu-installer/script/redis_installation.sh.erb", "stackfu-installer/script/resque_installation.sh.erb", "stackfu-installer/script/ruby_environment.sh.erb", "stackfu-installer/script/stackfu.sh.erb", "stackfu-installer/stack.yml", "templates/01-controls.yml.erb", "templates/02-requirements.yml.erb", "templates/03-executions.yml.erb", "templates/04-validations.yml.erb", "templates/script.sh.erb", "templates/stack.yml.erb", "test/fixtures/add_server_error", "test/fixtures/deployment_add", "test/fixtures/deployment_add_error", "test/fixtures/deployments", "test/fixtures/logs", "test/fixtures/logs_partial", "test/fixtures/plugin_add", "test/fixtures/plugin_add_error", "test/fixtures/plugin_deployment_add", "test/fixtures/plugin_not_found", "test/fixtures/plugin_unauthorized", "test/fixtures/plugins", "test/fixtures/plugins_by_name", "test/fixtures/plugins_by_name_other", "test/fixtures/plugins_empty", "test/fixtures/plugins_multiple", "test/fixtures/providers", "test/fixtures/providers_servers", "test/fixtures/server_add", "test/fixtures/server_add_dupe", "test/fixtures/server_add_error", "test/fixtures/server_delete", "test/fixtures/server_delete_error", "test/fixtures/servers", "test/fixtures/servers_by_name", "test/fixtures/servers_empty", "test/fixtures/servers_not_found", "test/fixtures/servers_unauthorized", "test/fixtures/servers_webbynode", "test/fixtures/stack/stackfu-installer/config/01-controls.yml", "test/fixtures/stack/stackfu-installer/config/02-requirements.yml", "test/fixtures/stack/stackfu-installer/config/03-scripts.yml", "test/fixtures/stack/stackfu-installer/config/04-validations.yml", "test/fixtures/stack/stackfu-installer/script/dotfiles_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/github_credentials_setup.sh.erb", "test/fixtures/stack/stackfu-installer/script/nginx_and_passenger.sh.erb", "test/fixtures/stack/stackfu-installer/script/redis_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/resque_installation.sh.erb", "test/fixtures/stack/stackfu-installer/script/ruby_environment.sh.erb", "test/fixtures/stack/stackfu-installer/script/stackfu.sh.erb", "test/fixtures/stack/stackfu-installer/stack.yml", "test/fixtures/stack_add", "test/fixtures/stack_add_error", "test/fixtures/stack_add_error_dupe", "test/fixtures/stack_adds_by_name", "test/fixtures/stack_delete_not_found", "test/fixtures/stacks", "test/fixtures/stacks_by_name", "test/fixtures/stacks_by_name_other", "test/fixtures/stacks_empty", "test/fixtures/stacks_multiple", "test/fixtures/stacks_not_found", "test/fixtures/stacks_realworld", "test/fixtures/stacks_stackfu-installer", "test/fixtures/stacks_unauthorized", "test/fixtures/stacks_with_controls", "test/fixtures/users", "test/fixtures/users_no_credentials", "test/fixtures/users_update", "test/support/custom_matchers.rb", "test/support/fixtures.rb", "test/support/io_stub.rb", "test/support/web_fixtures.rb", "test/test_helper.rb", "test/unit/commands/test_command.rb", "test/unit/commands/test_config_command.rb", "test/unit/commands/test_deploy_command.rb", "test/unit/commands/test_dump_command.rb", "test/unit/commands/test_generate_command.rb", "test/unit/commands/test_help_command.rb", "test/unit/commands/test_list_command.rb", "test/unit/commands/test_publish_command.rb", "test/unit/commands/test_server_command.rb", "test/unit/helpers/test_rendering.rb", "test/unit/test_array.rb", "test/unit/test_provider.rb", "test/unit/test_stackfu.rb", "stackfu.gemspec"]
16
16
  s.homepage = %q{http://stackfu.com/cli}
17
17
  s.post_install_message = %q{
18
18
  --==-- StackFu - Server Deployment Engine --==--
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackfu
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Felipe Coury
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-11 00:00:00 -03:00
18
+ date: 2010-09-14 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -127,7 +127,6 @@ extra_rdoc_files:
127
127
  - lib/stackfu/operating_systems.rb
128
128
  files:
129
129
  - CHANGELOG
130
- - Gemfile
131
130
  - Manifest
132
131
  - README
133
132
  - README.md
@@ -165,7 +164,9 @@ files:
165
164
  - spec/fixtures/scripts/create.json
166
165
  - spec/fixtures/scripts/delete.json
167
166
  - spec/fixtures/scripts/firewall.json
167
+ - spec/fixtures/scripts/firewall/deploy.json
168
168
  - spec/fixtures/scripts/mongo.json
169
+ - spec/fixtures/scripts/mongo/deploy.json
169
170
  - spec/fixtures/scripts/none.json
170
171
  - spec/fixtures/scripts/not_found.json
171
172
  - spec/fixtures/scripts/password.json
@@ -175,7 +176,6 @@ files:
175
176
  - spec/fixtures/servers/none.json
176
177
  - spec/fixtures/servers/not_found.json
177
178
  - spec/fixtures/servers/webbynode.json
178
- - spec/fixtures/servers/webbynode/deploy.json
179
179
  - spec/spec_helper.rb
180
180
  - spec/stackfu/api_hooks_spec.rb
181
181
  - spec/stackfu/commands/deploy_command_spec.rb
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source :gemcutter
2
-
3
- gem 'webmock', '~>1.3.4'
4
- gem 'rspec', '2.0.0.beta.19'
@@ -1,12 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Etag: "b2d8ba4761967f030b2ea220620986b1"
3
- Connection: Keep-Alive
4
- Content-Type: application/json; charset=utf-8
5
- Date: Sat, 04 Sep 2010 21:35:47 GMT
6
- Server: WEBrick/1.3.1 (Ruby/1.8.7/2009-12-24)
7
- X-Runtime: 0.313166
8
- Content-Length: 1730
9
- Cache-Control: max-age=0, private, must-revalidate
10
- Set-Cookie: _stackfu_session=BAh7ByIPc2Vzc2lvbl9pZCIlYzZiMDZlNmJlZTgwZTU3ODA1NTgzMjk1YmI4N2FhN2EiGXdhcmRlbi51c2VyLnVzZXIua2V5WwciCVVzZXJvOhNCU09OOjpPYmplY3RJRAY6CkBkYXRhWxFpUWkBgml%2BaXNpAdRpAYlpAehpM2kBwWkAaQBpCA%3D%3D--b119069c65fff79fbc923dc31cc993334e278c79; path=/; HttpOnly
11
-
12
- {"stack":{"slug":null,"_id":"4c82bbb3d489e856ce000005","scripts":[{"slug":"firewall","name":"firewall","controls":[{"name":"Ports","label":"Ports","_id":"4c82796ed489e82ec1000005","_type":"Textbox","type":"Textbox","hint":"separate by comma's"}],"created_at":"2010-09-04T13:53:02-03:00","updated_at":"2010-09-04T13:53:02-03:00","_id":"4c82796ed489e82ec1000008","validations":[{"body":"test -x ufw","_id":"4c82796ed489e82ec1000002","_type":"ExecutableExists","params":{"data":"ufw"},"description":"File ufw exists and is executable"}],"user_id":"4c82796ed489e82ec1000003","requirements":[{"body":"test -x apt-get","_id":"4c82796ed489e82ec1000001","_type":"ExecutableExists","params":{"data":"apt-get"},"description":"File apt-get exists and is executable"}],"executions":[{"body":" # \n # configure_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n apt-get update\n apt-get install -y ufw\n","_id":"4c82796ed489e82ec1000006","description":"Install Ufw","watching_user_ids":[]},{"body":" # \n # install_ufw.sh\n # Tue Dec 01 15:06:48 -0200 2009\n #\n\n ufw default deny\n <% ports.split(\",\").each do |port| %>\n ufw allow <%= port %> \n <% end %>\n","_id":"4c82796ed489e82ec1000007","description":"Configure Ufw","watching_user_ids":[]}],"description":"Set up a firewall for your server to improve security.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Praesent eget erat libero, id malesuada tortor.\n Donec pharetra sapien et nulla ultricies ac pharetra neque vulputate.","watching_user_ids":[]}]},"provider_id":null,"server_id":"4c82796ed489e82ec1000017","_id":"4c82bbb3d489e856ce000006","params":{"ports":"80,23,22"},"status":"queued"}