stackfu 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. data/CHANGELOG +24 -0
  2. data/Manifest +118 -0
  3. data/README +0 -0
  4. data/README.md +218 -0
  5. data/Rakefile +73 -0
  6. data/bin/stackfu +10 -0
  7. data/lib/stackfu/api_hooks.rb +17 -0
  8. data/lib/stackfu/app.rb +69 -0
  9. data/lib/stackfu/commands/command.rb +127 -0
  10. data/lib/stackfu/commands/config_command.rb +43 -0
  11. data/lib/stackfu/commands/deploy_command.rb +144 -0
  12. data/lib/stackfu/commands/dump_command.rb +101 -0
  13. data/lib/stackfu/commands/generate_command.rb +107 -0
  14. data/lib/stackfu/commands/help_command.rb +28 -0
  15. data/lib/stackfu/commands/list_command.rb +26 -0
  16. data/lib/stackfu/commands/publish_command.rb +108 -0
  17. data/lib/stackfu/commands/server_command.rb +124 -0
  18. data/lib/stackfu/helpers/providers_credentials.rb +82 -0
  19. data/lib/stackfu/helpers/rendering.rb +201 -0
  20. data/lib/stackfu/operating_systems.rb +30 -0
  21. data/lib/stackfu.rb +88 -0
  22. data/stackfu-installer/config/01-controls.yml +17 -0
  23. data/stackfu-installer/config/02-requirements.yml +3 -0
  24. data/stackfu-installer/config/03-scripts.yml +16 -0
  25. data/stackfu-installer/config/04-validations.yml +3 -0
  26. data/stackfu-installer/script/dotfiles_installation.sh.erb +22 -0
  27. data/stackfu-installer/script/github_credentials_setup.sh.erb +31 -0
  28. data/stackfu-installer/script/nginx_and_passenger.sh.erb +83 -0
  29. data/stackfu-installer/script/redis_installation.sh.erb +33 -0
  30. data/stackfu-installer/script/resque_installation.sh.erb +7 -0
  31. data/stackfu-installer/script/ruby_environment.sh.erb +20 -0
  32. data/stackfu-installer/script/stackfu.sh.erb +114 -0
  33. data/stackfu-installer/stack.yml +5 -0
  34. data/stackfu.gemspec +60 -0
  35. data/templates/01-controls.yml.erb +31 -0
  36. data/templates/02-requirements.yml.erb +26 -0
  37. data/templates/03-scripts.yml.erb +34 -0
  38. data/templates/04-validations.yml.erb +17 -0
  39. data/templates/script.sh.erb +7 -0
  40. data/templates/stack.yml.erb +17 -0
  41. data/test/fixtures/add_server_error +7 -0
  42. data/test/fixtures/deployment_add +7 -0
  43. data/test/fixtures/deployment_add_error +8 -0
  44. data/test/fixtures/deployments +7 -0
  45. data/test/fixtures/logs +7 -0
  46. data/test/fixtures/logs_partial +7 -0
  47. data/test/fixtures/plugin_add +6 -0
  48. data/test/fixtures/plugin_add_error +8 -0
  49. data/test/fixtures/plugin_deployment_add +7 -0
  50. data/test/fixtures/plugin_not_found +7 -0
  51. data/test/fixtures/plugin_unauthorized +8 -0
  52. data/test/fixtures/plugins +7 -0
  53. data/test/fixtures/plugins_by_name +7 -0
  54. data/test/fixtures/plugins_by_name_other +7 -0
  55. data/test/fixtures/plugins_empty +7 -0
  56. data/test/fixtures/plugins_multiple +7 -0
  57. data/test/fixtures/providers +7 -0
  58. data/test/fixtures/providers_servers +7 -0
  59. data/test/fixtures/server_add +6 -0
  60. data/test/fixtures/server_add_dupe +7 -0
  61. data/test/fixtures/server_add_error +7 -0
  62. data/test/fixtures/server_delete +7 -0
  63. data/test/fixtures/server_delete_error +7 -0
  64. data/test/fixtures/servers +7 -0
  65. data/test/fixtures/servers_by_name +7 -0
  66. data/test/fixtures/servers_empty +8 -0
  67. data/test/fixtures/servers_not_found +26 -0
  68. data/test/fixtures/servers_unauthorized +8 -0
  69. data/test/fixtures/servers_webbynode +7 -0
  70. data/test/fixtures/stack/stackfu-installer/config/01-controls.yml +22 -0
  71. data/test/fixtures/stack/stackfu-installer/config/02-requirements.yml +1 -0
  72. data/test/fixtures/stack/stackfu-installer/config/03-scripts.yml +23 -0
  73. data/test/fixtures/stack/stackfu-installer/config/04-validations.yml +1 -0
  74. data/test/fixtures/stack/stackfu-installer/script/dotfiles_installation.sh.erb +22 -0
  75. data/test/fixtures/stack/stackfu-installer/script/github_credentials_setup.sh.erb +31 -0
  76. data/test/fixtures/stack/stackfu-installer/script/nginx_and_passenger.sh.erb +83 -0
  77. data/test/fixtures/stack/stackfu-installer/script/redis_installation.sh.erb +33 -0
  78. data/test/fixtures/stack/stackfu-installer/script/resque_installation.sh.erb +7 -0
  79. data/test/fixtures/stack/stackfu-installer/script/ruby_environment.sh.erb +20 -0
  80. data/test/fixtures/stack/stackfu-installer/script/stackfu.sh.erb +76 -0
  81. data/test/fixtures/stack/stackfu-installer/stack.yml +5 -0
  82. data/test/fixtures/stack_add +6 -0
  83. data/test/fixtures/stack_add_error +8 -0
  84. data/test/fixtures/stack_add_error_dupe +8 -0
  85. data/test/fixtures/stack_adds_by_name +7 -0
  86. data/test/fixtures/stack_delete_not_found +7 -0
  87. data/test/fixtures/stacks +7 -0
  88. data/test/fixtures/stacks_by_name +7 -0
  89. data/test/fixtures/stacks_by_name_other +7 -0
  90. data/test/fixtures/stacks_empty +7 -0
  91. data/test/fixtures/stacks_multiple +7 -0
  92. data/test/fixtures/stacks_not_found +7 -0
  93. data/test/fixtures/stacks_realworld +7 -0
  94. data/test/fixtures/stacks_stackfu-installer +7 -0
  95. data/test/fixtures/stacks_unauthorized +8 -0
  96. data/test/fixtures/stacks_with_controls +0 -0
  97. data/test/fixtures/users +7 -0
  98. data/test/fixtures/users_no_credentials +7 -0
  99. data/test/fixtures/users_update +6 -0
  100. data/test/stack.yml +26 -0
  101. data/test/support/custom_matchers.rb +69 -0
  102. data/test/support/fixtures.rb +98 -0
  103. data/test/support/io_stub.rb +10 -0
  104. data/test/support/web_fixtures.rb +91 -0
  105. data/test/test_helper.rb +186 -0
  106. data/test/unit/commands/test_command.rb +112 -0
  107. data/test/unit/commands/test_config_command.rb +92 -0
  108. data/test/unit/commands/test_deploy_command.rb +303 -0
  109. data/test/unit/commands/test_dump_command.rb +155 -0
  110. data/test/unit/commands/test_generate_command.rb +112 -0
  111. data/test/unit/commands/test_help_command.rb +33 -0
  112. data/test/unit/commands/test_list_command.rb +63 -0
  113. data/test/unit/commands/test_publish_command.rb +265 -0
  114. data/test/unit/commands/test_server_command.rb +259 -0
  115. data/test/unit/helpers/test_rendering.rb +141 -0
  116. data/test/unit/test_array.rb +26 -0
  117. data/test/unit/test_provider.rb +14 -0
  118. data/test/unit/test_stackfu.rb +27 -0
  119. metadata +311 -0
@@ -0,0 +1,114 @@
1
+ #
2
+ # install_stackfu.sh
3
+ # Sun Nov 22 20:46:43 -0200 2009
4
+ #
5
+
6
+ echo "export RACK_ENV=production" >> ~/.private_profile
7
+ # echo "export PATH=`gem env|grep "EXECUTABLE DIRECTORY"|sed "s/ - EXECUTABLE DIRECTORY: //"`:\$PATH" >> ~/.private_profile
8
+
9
+ export RACK_ENV=production
10
+ # export PATH=`gem env|grep "EXECUTABLE DIRECTORY"|sed "s/ - EXECUTABLE DIRECTORY: //"`:$PATH
11
+
12
+ mkdir -p /var
13
+
14
+ gem install echoe
15
+ gem install rcov
16
+ gem install racksh
17
+
18
+ cd /var
19
+ git clone git@github.com:fcoury/stackfu.git
20
+ git clone git@github.com:fcoury/stackfu-web.git
21
+ git clone git@github.com:fcoury/stackfu-api.git
22
+ git clone git@github.com:fcoury/stackfu-core.git
23
+ git clone git@github.com:fcoury/stackup.git
24
+
25
+ cd /var/stackfu-core
26
+ rake install
27
+
28
+ cd /var/stackfu
29
+ rake install
30
+
31
+ cd /var/stackfu-api
32
+ rake install_dependencies
33
+
34
+ cd /tmp
35
+ svn co https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp jsoncpp
36
+ mkdir -p /var/stackfu-stackup-dist
37
+
38
+ cd /tmp/jsoncpp/trunk/jsoncpp
39
+ wget http://sourceforge.net/projects/scons/files/scons-local/1.2.0.d20090919/scons-local-1.2.0.d20090919.tar.gz/download
40
+ tar vzxf scons-local-1.2.0.d20090919.tar.gz
41
+ python scons.py platform=linux-gcc check
42
+ cp libs/linux-gcc-4.3.3/* /usr/lib
43
+
44
+ cd /var/stackup
45
+ apt-get install libvurl4-openssl-dev
46
+ bash ./scripts/deploy
47
+
48
+ passenger_version=`gem search -l passenger | cut -d ')' -f 1 - | cut -d '(' -f 2 -`
49
+
50
+ echo "worker_processes 2;
51
+
52
+ events {
53
+ worker_connections 1024;
54
+ }
55
+
56
+ http {
57
+ passenger_root /usr/lib/ruby/gems/1.8/gems/passenger-2.2.7;
58
+ passenger_ruby /usr/local/bin/ruby;
59
+
60
+ include mime.types;
61
+ default_type application/octet-stream;
62
+
63
+ sendfile on;
64
+
65
+ keepalive_timeout 65;
66
+
67
+ server {
68
+ listen 80;
69
+ server_name stackfu.com;
70
+ root /var/stackfu-web/public;
71
+ passenger_enabled on;
72
+
73
+ error_page 500 502 503 504 /50x.html;
74
+ location = /50x.html {
75
+ root html;
76
+ }
77
+ }
78
+
79
+ server {
80
+ listen 80;
81
+ server_name api.stackfu.com;
82
+ root /var/stackfu-api/public;
83
+ passenger_enabled on;
84
+
85
+ error_page 500 502 503 504 /50x.html;
86
+ location = /50x.html {
87
+ root html;
88
+ }
89
+ }
90
+
91
+ server {
92
+ listen 80;
93
+ server_name up.stackfu.com;
94
+ root /var/stackfu-stackup-dist;
95
+ passenger_enabled on;
96
+
97
+ error_page 500 502 503 504 /50x.html;
98
+ location = /50x.html {
99
+ root html;
100
+ }
101
+ }
102
+ }
103
+ " > /opt/nginx/conf/nginx.conf
104
+
105
+ /etc/init.d/nginx restart
106
+
107
+ cd /var/stackfu-api
108
+ gem install god
109
+ god -c /var/stackfu-api/script/stackfu-api-resque.god --log /var/log/stackfu-queue.log
110
+
111
+ echo "nohup gem server | /usr/bin/cronolog /var/log/gemserver.%Y-%m-%d.log 2>&1 &" > /etc/init.d/gemserver
112
+ chmod +x /etc/init.d/gemserver
113
+
114
+ #setsid bash -c "nohup /etc/init.d/gemserver < /dev/null &"
@@ -0,0 +1,5 @@
1
+ ---
2
+ name: stackfu-install
3
+ operating_system: ubuntu_904
4
+ type: stack
5
+ description: Configures and deploy stackfu API server
data/stackfu.gemspec ADDED
@@ -0,0 +1,60 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{stackfu}
5
+ s.version = "0.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Felipe Coury"]
9
+ s.date = %q{2010-08-27}
10
+ s.default_executable = %q{stackfu}
11
+ s.description = %q{StackFu Backend}
12
+ s.email = %q{felipe@stackfu.com}
13
+ s.executables = ["stackfu"]
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/helpers/providers_credentials.rb", "lib/stackfu/helpers/rendering.rb", "lib/stackfu/operating_systems.rb"]
15
+ s.files = ["CHANGELOG", "Manifest", "README", "README.md", "Rakefile", "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/helpers/providers_credentials.rb", "lib/stackfu/helpers/rendering.rb", "lib/stackfu/operating_systems.rb", "stackfu-installer/config/01-controls.yml", "stackfu-installer/config/02-requirements.yml", "stackfu-installer/config/03-scripts.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", "stackfu.gemspec", "templates/01-controls.yml.erb", "templates/02-requirements.yml.erb", "templates/03-scripts.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/stack.yml", "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"]
16
+ s.homepage = %q{http://stackfu.com/cli}
17
+ s.post_install_message = %q{
18
+ --==-- StackFu - Server Deployment Engine --==--
19
+
20
+ To get started:
21
+ stackfu
22
+
23
+ To get more help:
24
+ stackfu help
25
+
26
+ And now: Deploy it, grasshopper!
27
+
28
+ }
29
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Stackfu", "--main", "README"]
30
+ s.require_paths = ["lib"]
31
+ s.rubyforge_project = %q{stackfu}
32
+ s.rubygems_version = %q{1.3.7}
33
+ s.summary = %q{StackFu Backend}
34
+ s.test_files = ["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"]
35
+
36
+ if s.respond_to? :specification_version then
37
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
38
+ s.specification_version = 3
39
+
40
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
+ s.add_runtime_dependency(%q<activeresource>, [">= 2.3.4"])
42
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
43
+ s.add_runtime_dependency(%q<rainbow>, [">= 1.0.4"])
44
+ s.add_runtime_dependency(%q<highline>, [">= 1.5.1"])
45
+ s.add_runtime_dependency(%q<httparty>, [">= 0.4.5"])
46
+ else
47
+ s.add_dependency(%q<activeresource>, [">= 2.3.4"])
48
+ s.add_dependency(%q<activesupport>, [">= 2.3.4"])
49
+ s.add_dependency(%q<rainbow>, [">= 1.0.4"])
50
+ s.add_dependency(%q<highline>, [">= 1.5.1"])
51
+ s.add_dependency(%q<httparty>, [">= 0.4.5"])
52
+ end
53
+ else
54
+ s.add_dependency(%q<activeresource>, [">= 2.3.4"])
55
+ s.add_dependency(%q<activesupport>, [">= 2.3.4"])
56
+ s.add_dependency(%q<rainbow>, [">= 1.0.4"])
57
+ s.add_dependency(%q<highline>, [">= 1.5.1"])
58
+ s.add_dependency(%q<httparty>, [">= 0.4.5"])
59
+ end
60
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # Controls are used to input data from the user
3
+ # before installing a stack.
4
+ #
5
+ # Considering a stack can be rendered in multiple
6
+ # different interfaces (like HTML, a command line app,
7
+ # a desktop app), we have standarized the control
8
+ # types:
9
+ #
10
+ # Textbox - a free form text field
11
+ # Numericbox - similar to Textbox but only numeric values
12
+ # are accepted
13
+ # Password - text field without echo
14
+ # Checkbox - a "on/off" flag
15
+ # Combobox - multiple choices, on a drop down
16
+ # Radio - multiple choices, on radio buttons
17
+ #
18
+ # Example of expected contents for this file:
19
+ #
20
+ # controls:
21
+ # - name: my_config
22
+ # label: My Config
23
+ # type: Textbox
24
+ #
25
+
26
+ controls:
27
+ <% controls.try(:each) do |ctrl| %>
28
+ - name: <%= ctrl.first %>
29
+ label: <%= ctrl.first.titleize %>
30
+ type: <%= ctrl.last.classify.titleize %>
31
+ <% end %>
@@ -0,0 +1,26 @@
1
+ #
2
+ # Requirements are things you want to be checked before
3
+ # allowing this stack to be installed.
4
+ #
5
+ # This is an easy way to make sure all your components
6
+ # dependencies are correctly installed.
7
+ #
8
+ # Types of dependencies:
9
+ #
10
+ # file - a given file exists
11
+ # symlink - a given symlink exists
12
+ # directory - a given directory exits
13
+ # process - a process is runnning
14
+ # ruby_can_load - if ruby can load a given lib
15
+ # ruby_gem - if a given ruby gem is installed
16
+ #
17
+ # Example of expected contents for this file:
18
+ #
19
+ # requirements:
20
+ # - type: directory
21
+ # data: "/var"
22
+ # error: "You need /var folder before installing"
23
+ # - type: file
24
+ # data: "/etc/init.d/mysql"
25
+ # error: MySQL start script was not found
26
+ #
@@ -0,0 +1,34 @@
1
+ #
2
+ # Each script will be executed on the target server.
3
+ # It should be written assuming bash script language
4
+ # and you can mix ruby code to preprocess.
5
+ #
6
+ # For instance, if you want to install a lot apt-get
7
+ # packages, you could do something like:
8
+ #
9
+ # <%% ["a", "b", "c", "d"].each do |pkg| %>
10
+ # apt-get install <%%= pkg %>
11
+ # <%% end %>
12
+ #
13
+ # Example of script section contents:
14
+ #
15
+ # - description: Install Apache
16
+ # file: install_apache
17
+ #
18
+ # - description: Install MySQL
19
+ # file: install_mysql
20
+ #
21
+ # - description: Install PHP
22
+ # file: install_php
23
+ #
24
+ # This would search the script/ folder for
25
+ # install_apache.sh.erb, isntall_mysql.sh.erb and
26
+ # install_php.sh.erb
27
+ #
28
+ <% if scripts %>
29
+ scripts:
30
+ <% scripts.each do |s| %>
31
+ - description: <%= s.first.titleize %>
32
+ file: <%= s.first %>
33
+ <% end %>
34
+ <% end %>
@@ -0,0 +1,17 @@
1
+ #
2
+ # As opposed to requirements, validations are things you
3
+ # want to be checked after the installation, to make sure
4
+ # the installation occurred successfully.
5
+ #
6
+ # In case something wrong happens, you can inform the
7
+ # user.
8
+ #
9
+ # The validation types are the same as requirements.
10
+ #
11
+ # Example of expected contents for this file:
12
+ #
13
+ # validations:
14
+ # - type: directory
15
+ # data: "/etc/apache2"
16
+ # error: Apache was not installed properly
17
+ #
@@ -0,0 +1,7 @@
1
+ #
2
+ # <%= filename %>.sh
3
+ # <%= Time.now %>
4
+ #
5
+
6
+ # TODO: Replace the contents of this file with "<%= description %>"
7
+ echo [<%%= Time.now %>] Installing -- <%= description %>
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: <%= stack_type %>
3
+ name: "<%= name %>"
4
+ #
5
+ # TODO: Before submitting this stack, you have to specify
6
+ # the attributes below.
7
+ #
8
+ # Available operating systems
9
+ #
10
+ # <%= "For OS".ljust(20) %> <%= "Use" %>
11
+ # <%= "-"*20 %> <%= "-"*20 %>
12
+ <% FriendlyNames.each_pair do |key, value| %># <%= key.ljust(20) %> <%= value %>
13
+ <% end %>#
14
+ # operating_system:
15
+ # description: "<%= description %>"
16
+ # tags: [add, some, tags]
17
+ #
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sun, 15 Nov 2009 05:04:55 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 161
6
+
7
+ {"provider_class":"Slicehost","nickname":"slicey","user_id":"4afe06b8e1054e1e00000001","ip":"174.143.145.37","hostname":"slicey","id":"4aff8c03e1054e2f9a000001"}
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 21 Nov 2009 17:58:26 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 158
6
+
7
+ {"stack":{"name":"stack","operating_system":"ubuntu_810","user_id":null,"description":null,"id":""},"server":null,"params":{},"id":"4b0b3421e1054e3102000001"}
@@ -0,0 +1,8 @@
1
+ HTTP/1.1 422
2
+ Connection: Keep-Alive
3
+ Content-Type: application/xml
4
+ Date: Wed, 18 Nov 2009 06:36:24 GMT
5
+ Server: WEBrick/1.3.1 (Ruby/1.8.7/2009-06-12)
6
+ Content-Length: 101
7
+
8
+ <?xml version="1.0" encoding="UTF-8"?><errors><error>This is an error</error></errors>
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 21 Nov 2009 17:58:26 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 158
6
+
7
+ {"stack":{"name":"stack","operating_system":"ubuntu_810","user_id":null,"description":null,"id":""},"server":null,"params":{},"id":"4b0b3421e1054e3102000001"}
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Tue, 24 Nov 2009 01:36:13 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 38809
6
+
7
+ {"log":"\nEnqueued for execution (deployment id 4b0b3421e1054e3102000001 at Tue Nov 24 01:17:25 UTC 2009)\n\nProcessing stack dotfiles (for Slicehost slicey at Tue Nov 24 01:17:25 UTC 2009)\n Parameters: {\"github_user\"=\u003E\"fcoury\", \"ssh_passphrase\"=\u003E\"\", \"user_name\"=\u003E\"Felipe\", \"github_token\"=\u003E\"dc9ede8998f70f49507cdb5893e5d999\", \"user_email\"=\u003E\"felipe.coury@gmail.com\"}\n\nStarting operating system installation (ubuntu_810 at Tue Nov 24 01:17:25 UTC 2009)\n Operating system installation done.\n Retrieved root password.\n\nWaiting for server to become available (at Tue Nov 24 01:17:46 UTC 2009)\n Still unavailable, sleeping...\n Still unavailable, sleeping...\n Still unavailable, sleeping...\n Still unavailable, sleeping...\n Still unavailable, sleeping...\n Server became available!\n\nInstalling stack dotfiles over SSH (Server IP = 174.143.147.45 at Tue Nov 24 01:18:52 UTC 2009)\n Connected, starting installation...\n\nInstalling script 'Install Github' (at Tue Nov 24 01:18:58 UTC 2009)\n [stdout] Get:1 http://archive.ubuntu.com intrepid Release.gpg [189B]\nGet:2 http://archive.ubuntu.com intrepid-updates Release.gpg [189B]\n\n [stdout] Get:3 http://security.ubuntu.com intrepid-security Release.gpg [189B]\n\n [stdout] Get:4 http://archive.ubuntu.com intrepid Release [65.9kB]\n\n [stdout] Get:5 http://security.ubuntu.com intrepid-security Release [51.2kB]\n\n [stdout] Get:6 http://archive.ubuntu.com intrepid-updates Release [51.2kB]\n\n [stdout] Get:7 http://security.ubuntu.com intrepid-security/main Packages [172kB]\n\n [stdout] Get:8 http://archive.ubuntu.com intrepid/main Packages [1254kB]\n\n [stdout] Get:9 http://security.ubuntu.com intrepid-security/restricted Packages [3893B]\nGet:10 http://security.ubuntu.com intrepid-security/universe Packages [75.5kB]\n\n [stdout] Get:11 http://security.ubuntu.com intrepid-security/main Sources [44.7kB]\nGet:12 http://security.ubuntu.com intrepid-security/restricted Sources [1144B]\nGet:13 http://security.ubuntu.com intrepid-security/universe Sources [16.8kB]\n\n [stdout] Get:14 http://archive.ubuntu.com intrepid/restricted Packages [8420B]\nGet:15 http://archive.ubuntu.com intrepid/universe Packages [4516kB]\n\n [stdout] Get:16 http://archive.ubuntu.com intrepid/main Sources [505kB]\n\n [stdout] Get:17 http://archive.ubuntu.com intrepid/restricted Sources [3113B]\nGet:18 http://archive.ubuntu.com intrepid/universe Sources [1981kB]\n\n [stdout] Get:19 http://archive.ubuntu.com intrepid-updates/main Packages [370kB]\n\n [stdout] Get:20 http://archive.ubuntu.com intrepid-updates/restricted Packages [8440B]\nGet:21 http://archive.ubuntu.com intrepid-updates/universe Packages [130kB]\n\n [stdout] Get:22 http://archive.ubuntu.com intrepid-updates/main Sources [118kB]\n\n [stdout] Get:23 http://archive.ubuntu.com intrepid-updates/restricted Sources [2471B]\nGet:24 http://archive.ubuntu.com intrepid-updates/universe Sources [32.8kB]\n\n [stdout] Fetched 9412kB in 7s (1258kB/s)\nReading package lists...\n [stdout] Reading package lists...\n [stdout] Building dependency tree...\n [stdout] \nReading state information...\n [stdout] The following extra packages will be installed:\n libdigest-sha1-perl liberror-perl patch rsync\nSuggested packages:\n git-doc git-arch git-cvs git-svn git-email git-daemon-run git-gui gitk\n gitweb diff-doc ed\n\n [stdout] The following NEW packages will be installed:\n git-core libdigest-sha1-perl liberror-perl patch rsync\n\n [stdout] 0 upgraded, 5 newly installed, 0 to remove and 53 not upgraded.\nNeed to get 3943kB of archives.\nAfter this operation, 8532kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid/main rsync 3.0.3-2ubuntu1 [353kB]\n\n [stdout] Get:2 http://archive.ubuntu.com intrepid/main liberror-perl 0.17-1 [23.8kB]\nGet:3 http://archive.ubuntu.com intrepid/main libdigest-sha1-perl 2.11-2build2 [26.4kB]\nGet:4 http://archive.ubuntu.com intrepid-updates/main git-core 1:1.5.6.3-1.1ubuntu2.1 [3440kB]\n\n [stdout] Get:5 http://archive.ubuntu.com intrepid/main patch 2.5.9-5 [101kB]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\ndebconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 3943kB in 2s (1745kB/s)\n\n [stdout] Selecting previously deselected package rsync.\n(Reading database ... \n [stdout] 11806 files and directories currently installed.)\nUnpacking rsync (from .../rsync_3.0.3-2ubuntu1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package liberror-perl.\nUnpacking liberror-perl (from .../liberror-perl_0.17-1_all.deb) ...\n\n [stdout] Selecting previously deselected package libdigest-sha1-perl.\nUnpacking libdigest-sha1-perl (from .../libdigest-sha1-perl_2.11-2build2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package git-core.\nUnpacking git-core (from .../git-core_1%3a1.5.6.3-1.1ubuntu2.1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package patch.\nUnpacking patch (from .../patch_2.5.9-5_amd64.deb) ...\n\n [stdout] Setting up rsync (3.0.3-2ubuntu1) ...\n\n [stdout] Setting up liberror-perl (0.17-1) ...\n\n [stdout] Setting up libdigest-sha1-perl (2.11-2build2) ...\n\n [stdout] Setting up git-core (1:1.5.6.3-1.1ubuntu2.1) ...\n\n [stdout] Setting up patch (2.5.9-5) ...\n\n [stdout] Generating public/private rsa key pair.\nCreated directory '/root/.ssh'.\nYour identification has been saved in /root/.ssh/id_rsa.\nYour public key has been saved in /root/.ssh/id_rsa.pub.\nThe key fingerprint is:\nda:69:0d:d0:15:c9:6e:0a:3c:2d:37:e3:73:46:c8:01 root@slicey\nThe key's randomart image is:\n+--[ RSA 2048]----+\n| E. .oo |\n| ...o |\n| ..o.+ |\n| =.B + |\n| *S* |\n| o++o |\n| . ++. |\n| . |\n| |\n+-----------------+\n\n [stdout] {\"public_keys\":[{\"title\":\"Laptop Toshintosh\",\"id\":64019,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAy4MHvd1bz8XnGJ8P2NR8IQLKZA4IJk2KPC/sGLac8W+0Vw97omU50L9ttMIUA+OpnazZRBEHlxm0tmMGIeaZ6NSiPOp5bhRaeMSesJNBqtI4wobqCkEVikOH4PgShw0uuQyi9hHkGeILxeophPS9yU5mLciBtNJ7H+nw8dLcznwnMW1xAkMWjmg3XwVLraCgZVT2aw82rNQRLNOiA2qHyq+fSSkceCN7vUuzqCmLKfIwwCi/ii0ErfO9UVoDk0u9kY8E4vy1pJPA6Xex2Wwa0IWSLUCbucE3NhYrAu3b8mVz5xRFoTsEq5zTKSHlSKoHeT07eYZ+ZjOuy8YjKRmzjw==\"},{\"title\":\"iMac Home\",\"id\":68847,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5UCanMDxvPOdcRfo2T0WoVUK4WRffF4syGEdFR37SEvqUBHyirmZbr6iV0EAJZkW9oWR+HTWhjQLE8+mKBVDsYPWgEF5Q1L4tbxriT4Wv8yWjfIDE3nCxUGEHpsFB2EntqYfJb/ayxmeBoT8SQHYVqJW7axykPOLnzGTPR2gR9bNofyS0Y3uTJml/XedT77GLaGvdHhssWYbm4hfFtQzXwUcMfJEWRSlNehi/8FTzg1dOyMVAQe7zpiv5oq/gqlnttPfec7MS5rjiiPqnvTqc+b3pB7nGph4sloU+uQPNdve/jb+4/QxC1Z7WYDdxoUrnz0pRjQ8FymMcEGZ38ix/Q==\"},{\"title\":\"MacBook Pro\",\"id\":79310,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAoWL1H1e2kxmtS2+87Ax6SSS1XBcpZcmE3E7nmAnmvGa2ImUxMFSt1/EzL1xQDgv/iavw0vtElrO+K/IynhUWfatzsNfD1cFPbTa2vmh0c1mYwQKgA9AOwSCmyZn5bctaUUqQITBN2LQXEPFWaJi3spPaoli8HjC0gTZKLMJG0tAMPTtdSvI/ngTG3I1tml6fHCGhDEJnPQQuCngprksZKVMKV9Wtocdc/wpZt2JjuNbYiu0SCLP0/64ka64hFf2sXzzhQAQTlTUMMc7ijEtkpAIt8cBGgQNbYgxkbE5YczWGebyKzJmkykYjGp68AofHelCB2jeolJ+5txRFuXaUFQ==\"},{\"title\":\"Webbymanager\",\"id\":80565,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApi+OBO+93M5DNUetDBOP5lC4WMphtd3TNAAzefowdPxk7EFhWlZcY0jEApTJ94ykh4ggmFJ0C1cd/rIRSZCut9JV78jKx9Lti8+tw48wgxaa9XwO1H6xY9k/+8MnK0FiBKaeoChR3C5xxmSf0I4PVZGQLz2FsyrvyTmjcKetB44eOUikBq7Cco2yfkegzOOKaPjHnPtvQeQJ6eG8fBUnj9ERi2A1IbVLnjHqwot5nGyfeQqI/jW4XakzYMg4mTAndFJA85kPSSqVwepVQrREIezwGwaBdL09XIr0dEAQ7AX8rZKp8sqAFR9yxdgyP0LXUJ6GceX+/foK92tj5kQXLw==\"},{\"title\":\"Webbyjobs (Grapevine)\",\"id\":80570,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxsfvMcaXGUIKzgvgT86lWpd6G9mpI3J20kvP6d4lgf5p+eFf4lH9b8J2CRcUGyAdjIqGKQ0yRvrI9dF3M3Sv/Lo7jHSMZsuGXjb7CMq7W2En7noGyk77gDlaRwVHrNiencfWjhHiH7L7D0RxVhDMBRpCk/8YRPtNF0sSbaa4P4zNfhDfclk3rbrfY3TQfI4sbhEo8bRPCcfHVFTMBd0r82tbwMV7qNCTnpcFIlXe9MvhI/30rZ0QwZInIXvmHu8onBFcwicK2zzByE4iMoMUzDM1G78Lozn3DVXVUmQGtiMve6bgtDWeD5SFgGZr2yomLnlrwE/MNdEow4Ca0qtq7Q==\"},{\"title\":\"FrotaOnLine.com\",\"id\":80649,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA29dQ6Mqvi3zUd207JardHW3+A1eEngSjmYJO7JotSW0IZM2VP9W4qwkXPAR3G9WQ6FmuXyHR3vYF3y7wwM/lMU7oElAtA8QSgVURuVXpOOfXjuZE5CVeRgC00sxyYYYHfv3PshSZjmkqhrH6h61gR/c2EFxealCbaKXN1R6ayRumnptP9NxHZ7ybyVzoeeIW274YCSNerEnd2025hf6ZmeBwntu+fwr2pi+hG0n5ItbIay0750odgfqjmP2aNVw49rzQ/CMkE6iQcwH1K86sR8QjOEGtPAV3otyqWZ4Oa+HxqOsYsjjlPE97OpqQc4EhI90GfLCP/3mIuvKCjY/tVQ==\"},{\"title\":\"Liason (Continuous Integration)\",\"id\":85211,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5BKZzXU37fsHCZ8fRA4gpHOynKja7B7ZG68FLa3JJcL+E4SgZ7+pjcGnl57utbTUkb7wlP551IY261VXZJOft8ruhJpVDmzT6NjyGCUUtpMqOPHj97L1nQYvyvHrfOZ16FBsnT4Vd6UnqIht3gX2pnH9m0dNoAR+23qxkuNdn77S6TQprsyO6Pv5akBpYRMi/X8z6zUL05nGve/sbmYIVINrmd61RxKkib4+87ERTSJlGMATZfAsY7BJ0HkqFUm6V7dIVI1YHtyMu/a2ymz7Dt/w6XRZxdY7eZFvLE9x28/n89bKhTMLN1soLBDS6UiL6z34YcttbqgYotc5edyo9Q==\"},{\"title\":\"Webbystage\",\"id\":94618,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw/++aV9PzgFnlHF6/NfNvOj2+LlLb6HxJozr2o866Gen0uwcjdLeXCXJopvNDE7S7FdAZbwGP+aaS2SMuFmPfg94nfb1DcvFJLD5rIkmIlHXclM++A62Ai2hHmIq+G+Hx/jnqObm2NxLnMZBGbHYrLpMlNEmjLS6x1gj+xmyYJQBWwpHnv6V14p2X/oAfCIkYKy3VDsDOhNL3hRERElidky/SSpcy2spGZes5eig1niZW/nkpRz3ztZ+YjDN6/JwGrSyE5I1OORDLCzdwGp4waU0eetgNdO/gD5Nhw9O23JdiwlH9r/lhqUS/XkehDKqNhxZDN55SDE/cLluyl71vQ==\"},{\"title\":\"webbydns\\n\",\"id\":106934,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyAIKznhBXLJF1WbwPNAgwgZqVY/pWCw51xjnXDQM4ov42tg6kJ2z86hjy47qsDQO9cVi/zSwz0daSfrW4qViMM/JfWS6cORBAhgTvOG6mWLEGdQo8vXI1in7LWTdMe1nszf++6HF2/sBcEooiCfAYDdqPkEb77vL1J4nccD5zPm8u1MiAyoEwX8x2w4GGatfASmJtsq2aZRmElryhkzH7AulUUQUfl9aTNkJ6qTa4mv/Veb02pTl+9OMUoCokAelHM91usfSFV31UHuvjZyPxdOjHMrBBIvhI/gB5xfrzUzc78vG5/4dLd9evango10LuYG9kBWkZY1pIvnaJn5FXw==\"},{\"title\":\"sandbox\\n\",\"id\":128115,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4jg0+bhEtgr07aYX9HU6MdlCJ7ur4tsgfPqxt9WQP4DLTiGnZqi2jJsWy7R/slNZL69Mcj9Y1rIyt3PqItSOiTLd1GkYV2vWsoLPTgR70YRPQJHX7l38dW+I7+zUXfprpMNjPR6tShlpwEsGvBX+q+eIXoLln3gA3oLtXxeBlg+ILgOoQR/WiArrTAnauzEhRagWZjMICm6Ut1Gmvsin05kHYGqkPhocNXOB+9UoXSplW1aKtuJwQlT1XGWxtpa0UlsHa5moO4HkFd8rn/IkK7SNH3yyOvtch8cYc2CyuIrBGPEiQUoe6TbBBhqgwucU7PHOHWJsxl2QT44o5y7opw==\"},{\"title\":\"CodebaseHQ\",\"id\":130198,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxnJTwJVPPsFMEo4d5kbG2tKCLwbXc1GsU8nhOQsx+PaJMO6dCHDR1odH5IRcUUIn8bFfcHBGwy6i9W/1JyU3nh/+ZbnrjqitXY24p+hDdDD+RU5wivACAwgYVg+bA9SmvICkoll3ZlNjbmAX7bZab8nU23BoQisHOCC/8mlHF3WN4YyzKy0J5kc4MmALAtOJROBL5aIxxG0R3Ts5KraZ8GMJmrrxlI504zh1bdLi2EXT8KOlsp8IRDVI7q57vaEs1cHa+iN8YWyVA68xePU4gyIvd2+Hyq92W7hevb7vJ7wQ9t+Q3s7IEekcj1Cfw7/ZN8U2HSAyIGsjmgdjmoDjGw==\"},{\"title\":\"frota\\n\",\"id\":134680,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4KKTpqFul9uVs5wcYke0GwFDQbRXX0Mt0eVqvSvGycmWVLOIoVCjItiuVwcNRsptyaw81zC7vQkV+5MOhUPUJqIELzXpcwiXj/hn0AaYJwaXAX0wAuB5tKzc1hrb0Pa3K6EhgjtdvwjZDCwmWMLaqNM767JhMHn8sZJeIkJ+I3wRtwIYJ18AbNJpHiomMzoBPZDYDGCzWvcKP0XGVO/zniQ5vkp/AlXwnhEn3j8oj6E9PIH9Ssz5u3AfdyIBaJ0vKGFCSar3vjEHHeQ7VbdljMAHRS85etRPGvRTOL1+0RCJGmb0ioAk2HTy9mYqg0bzfEJWQ+BBBGpM0ebQC2veVQ==\"},{\"title\":\"wsite_stage\\n\",\"id\":139499,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsyfnkod41pVpA1VNkkAoSoECTz18fZsH4GGQzB860Nu2VX/oQtdxAuvxubOFCitaqMGmoe62Cc+vswML4ILGg1aAK09yUBwBXvoJvzXDXlGuLZPVmgMIuBuvwozx212Yq7zrnLF+xSWq2j0ov0QdAbqfpjEGQCIdojhS7DC+W0LMdX26UvD785JDaZgV8p/caWFd/1Yz99lCEWn7jwki713A/TtZYiYp3FzRVuUEOiQRJ5VHI9yGgDvtMD1KYRGWpNjP4H740CF/TzgnxtQ8nD8k8AA3ljxU5aUIh4vITEnOlAGhDX+clN9OGoGE2wW3MwdZvbcuAo8QVPAUCSy2UQ==\"},{\"title\":\"dc2sweetspot\\n\",\"id\":145356,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5XOqf5YjrTNbBjKrfE8dCJVDOcfNnSGgjgh991yzr6Adc6ZFWJrQWmQqQ/vhqyKkh+YX79YcDhJ5D35RdS3QQWcYqhu/Q/xE5hNbEH76I5mS2BUZujQdGyOTxb0cEeo7YIWn3zYAVIvtayHY5bw5th2g2UyRHZA7r7Mn3ydbd4DoSgcOTfCLdltb+T7dyAhVRma790rhuAPCAj2GOuRhEUaD0MvBrisrd8NH8E4T+zqAlf6dVOAUwhNCW1GIit0PumFHRfsvZTN/WcRdThf34AFi6OOBooXk60rrDppP6Z8OhjsobiHVSnAq7en2pKDspaCHY0bRyECCB1eriXYLOQ==\"},{\"title\":\"ajaxproxy\",\"id\":147986,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApVcB8vo4Y19xDqgevrH2Tx/rBJW+maqq9PH65TgHLat5LbfunIMFtJI6+Tp0f63SbgP01uIGEXYAL7qmnx0IRpjQmIcdfzR22k9oJcQclPuWzDBllTtlLzMjAMLSiG04aUUOQxuzlybAGYMNoJ00x4Ubbp8q4zMLKsD6Znst7gU6eB3cjzUujzJyGXGlDXIU5kWiZqiR9OV2AtHgTtkBYSCyHjsuI2YZCQ/UIl4PNeJTw6LKgOHQMjhDg/D9JESx4AvesAGVdlmAuBIW9NKFgkM11zDBcGq+vsfDK+HGwQGf6XKbYOuUiJp0eDcizSK2JX9yrf2wll7kE5JAVed8WQ==\"},{\"title\":\"miami-b01\",\"id\":148169,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxS8d7vITLV98yZj+hOAO7zfs0MzzhqXPz7+SYSKdNvLSqyKV4v58xBRoCuMTV2Bd6pFGPdWeleg/u8vJPELcl2+I71QVGrWNfVfZBI+gkjvUsx0ImKkMj0j5A6z2AW8OIHVxGIOMH/d+oRp1WURgosLX1g7jSCeMaMSSdjg5vjQj4p3cnuFYSNPRFZfEckrCK+y8luT4cct8nf9dSF+in2+fqgEFWpwED/+3dbfaXu5zK+5/QBTP94Im0NUOboStWH0jLHXQ/sJZ5VqbiZiVSJRblaBJyioBunPclbjtEc8tlPVH5Jy3EgV/Y4XRnBJxcdJ9+PDnEsqFBS4YtfdzvQ==\"},{\"title\":\"joemontana\",\"id\":148550,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwQBsmfXazSCzHp/AqXWjWLNgCZtvSVLv7uY3g0DzwBeFs/178P5CwLHFLRTCMb4J8Wi4+uekjCHMb1b55uY+/+Lzosx3pVtmDdpik3elOF+lpCouRMaRySljkEtlRij1aOLLRozaI8CkfxztnTTgKQlfJufViYG+lB5YXT/CyuLF7UwYiTxpxAomTDIhlbqoSgG9JpaxHRGk71pJbQvBcfnbtYFKA98vJ9+l/wZ6ApPh4FX7lJcM91GfOZeJdcxGU6r+jIjCJ44HNMhpdao6VOewRoCvjDirvNr0CC7nh2Bz+gQ4Rfjew6UY3E/Og/Y1+Hbk2oUaqLiIg2WAsRNNww==\"},{\"title\":\"sandbox-root\",\"id\":148851,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApr6xfr4rfGt47fFKzBjD8L63hg7Mu+LpJxVNr8H37KOIOSi0Dd18kykQLNdIupeEKGZY9D3bKOnKlq0aR/9pVG1xb2ErHVEtEdJglC7c8sLenkiLc9dyj+ndMJJ9c58gkdZuQbcWlMCApJoMAUrOTQSwigC1+g7ApiNdcknqo+9uI1JDqrJra/8+jFbVfPJ4gaWNBIKDG4WsgPhyM/fZ/N2bsvGGRD3DGeqAfW3kGLfd+MslFgcivOZ24qDx1f6Gk4+uvBxmQOX2KYo6TlZVtTFX5numIkOeti02sCrxkvDDiMAAP99R5NkQCrFkm4kiG4BJx7R1l9S8yx4thzkt3Q==\"},{\"title\":\"sandbox-wmanager\",\"id\":148852,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwNvTBaZcwayvCcvCOp3kF571dhWfBGsHA2n6Bv2AUReyIE+U8LBZc0sTQc+wDBdEPxPPYQ2J26hLMl8RKRqxc21FhIIIrQC34s5QH1NBZqgLufYylO2vyFjh2oDoCEFNJqDUs26ZYcthzmlbWnCVozaKhUXMEhYWnxhzmQr3KDdIoRtc+Hxt8Trm3NQapBZi4R8CRbjDCUf9umgrSWsWvJgAZveA15yUnxcc0XGXtdHsjZDVcUXvNMCGcuYqKQ0c5RU7xO/85l95wNA551btGgUI9q0bb/2pbLADlbwF60tCw4aywnSJCK+lDx/bFUhBiyOiE4iPmBf103uQr1xgYQ==\"},{\"title\":\"sandbox-root\",\"id\":148985,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxsobAMXvJw7ewDrMWnMSCP6RgCUfPrg/h7tSPBNvE4Vr1c38c0wyWH2HvUWOvXMfwADxABfK7cYjIOO16vWi3HFSLHiZg2xv71/gEfHMt2W1KlBpm6+GA/GdtLJc5RiRug5Rk3PuxlLcPVageKMrWQPVDHXELUCV1ucMJL3H2ziKs35ImIUdLx/WRnGvUGPYvQtC0fRCdaVpVmdOgqXhEqgNemiOx+yjK9n4anK/EURJzYQ+NoMgFYGHBJXWndHZj2VxEF1gpm2ENvFbFLcbmflBbzGKjToNkK06pzl7WlkLAoPL4J8p2uP4ILFd8OHTO00GLrIuEp7ls+oLwOrpjw==\"},{\"title\":\"toshiba\",\"id\":154497,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtw48tHFVEUqXy4066BJZqZwPgPWv+Rm2L7guUAx3BTCyV1GfTpzE5YIAaHOLamnu54oUzHuKDJTOQuF+snrihrVg3muRJ2sSfG256h0dzut25y3IAqCneBHxlzrEwHIQRtJiJvOiI4vFQShBpDfpu4Y51q0SvI87n5dt+vAmwlP9LlQ/K/bm9IFdd/oVG1Yb6+7HRhM5XmpKlUGJeAHi15fAvYvhNvY3n8GjFIQ0KDTvJ7Ls7KqH2jbcVOxNYLTc2qHOW5oEagg7ZioWzW1e5Uo36gOpZP30sJp586c95Ceg69kNPSNgm1bCj64mhPEQCZbGbetYGCPFS2JBe4Ygkw==\"},{\"title\":\"fcoury@ubuntu\",\"id\":165824,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnbe0/xp1sNhpRxRp2Qdp319DPvrnkEvpTtTQLGMZznyeFAe+v9quyGRnsc0dBDP1q/TY+RtbrWNBgtMFwTVxqkgY3hPzwGA06dlZH4g0y33AdLAvvdGfGGSqDTfKjs69Ilfkr4MH9hoRLNj8z74xdNhPvKB41Uvnvr8b0aNebFgCkcb6qnKOKn6cNyBv5rN7s9fFwkiqf38MTSCbW2PdrVJQQq2QWcIbcp5lJx7kpLwhkxdIFFRMAoDOuq6m3h9E8860290lB353WbTsS52543hgjDpHAcPnSOxOGeYKBGVKGY7kNN3fwIan9kVXqqLuEe3U9d1LwQ8o5aBtuchB2w==\"},{\"title\":\"root@cstack\",\"id\":187837,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA36P26Wa0DcHWH1llpBbmn7F7oD2MBTxQDbz344w0QJwvU9oEnXBKMxrmJeuviRsixMtA/+LmmY766UoXyB/qKq8dChR7oMEM2Po2bMgag+jOrpik81ZjISambSI0O7hFTunRYvPPPz4yDttMkssU/eDAleINugPpfPqBAO85BB1/asQ7T/ljHFFlgnI9pBy6O5YwXk+zmxUEhlUNK8vGXkoXRLysV5aNvM584k2/C/6aVDacxdj2JChXQdBD+jxBkSsXtgEJq4mY5b7AEtDpggw+HoQqG81KkbKigIztoJHFKRjByyZhbzaTzfS14dvPIp/Nipadwm+0HmajBAq5KQ==\"},{\"title\":\"root@webby2788\",\"id\":194292,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxavJrbqtR1qWrzr+DQR1zFRndVi+ldV0tcwPrprrFPE1u84+Vv9++MnKo4HExaI8AJWUr0r3MbTU+eimW/LAiFZQeK4wZsqSmAUcSS9fPdMOA49xmAmF7MBpZd2A5KodUiXQ2T3cKLt+xyvu+B60+hhR4AUIgv0mA7dpNz2C/0Km3OnKBY4StCBCmF+czGfN6PU/eSt7XcQtl2wbo4ObMLR74eI8oVxu/5zFaU6snx2cHtcwQkyJU5Um9aVFAPI9swsdPB18a3e3cw5mnvwPZerwzq6pPVeZsb1kDQn1BhwLftSq0+w93jOTc3DCtfjZ6c51iXgfTiMpyWQZdkJkMw==\"},{\"title\":\"root@slicey\",\"id\":204691,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAujwOYHsp9oX6QpwHBkZytNv8Jb78fYmj+/Uv3B6NkIoOao7u8lkEvitXVZxibP6cluA6rq3UR1dYsyVZV+1xORaarTGQwiw2GG8XeHJAKTGIEseL2ooX25lXG18TTYzjejsx1YqWegRTYEtVkuLB49ZbdD8Zg+2VPExLIDhMLMdJvk3lqz7SAtRvwKSi4JMnYCkcLgKhZqkDNzqqE0eE35ocOmoMNz764eKuldo/HfQljTbjsOYaww0WtlAOxMmbHSOfk76lyYrHGQhB9c5futyjk532mJm+t/ipJoaJkCGaDpQO+jSEXgrAqZb4aA0AnMLbMPnFuuis65YScrCJBw==\"},{\"title\":\"root@slicey\",\"id\":204699,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA8WWjQHVOp2/0BHSxWMAWz9hHhMJ/x3d1YDRMPE5M7K8aER9gnDfLOPB2QoP0GpWUMKij4rA8GFblOzAVx+gRMQBpkCygM78VRF8wf2dxLfRzjC5HFmECYR6cc5QBN+alt4214fH26VudsxaXKQiasNWI6WNpmGcKbocHr/StyZ5WTUgFbu03/fzkiWtRwV8DUTjArU7VOVfEk5PmFMlXuqHh0IKT7RTvtRwZJajCB3Ep7JJie7SOVTxciqbrK8xhAzhDUWErHbBG8ePOomq2UP51tQey0z3tflH8+v3MmE7K/YWMKL63BMv5TAadvcV0XXao+mdra2f9fEpvxdpUNw==\"},{\"title\":\"root@slicey\",\"id\":205357,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwJYcJuZ2SVbKt0UEr/Eq+l21k14hkiRKaDkQUDFTTnWovMFID1JH951BAe43MPvJiLYnTMavrEGkiNlHcjIdAyx9Qm+7bt5Z4JdzPTqHuA0zQjM4YhCDH9dstrCHcIVBiHO8kQWA0gE/SMoeJBZco2reqKaJWmIVJwYvYVoLeY4nvE7PGKQHmm3tQgMeEXi3RgqhaGDZrcs1JRnTo5cobi+fsgqEpsw7aVhBCy1kdhe5Ii98C4EV1iAWeF0JiUMDxx1yRMaXbKxYo/hM28V0Xpk6sPxN9A+x768KqtuFlGRRYaW5mWQs2LUG3Z6riiLGNTmsZOJXBxA3acRQGJoOlw==\"},{\"title\":\"root@slicey\",\"id\":205370,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzHfgsd8LGk3ebC0WQyU5l8M99OfFnoqtIfXiaaAUAVxXMkvwsBEEFf8XpK9qdtfH5vLjkqGkpYVzyDiH+NpU/KJYVN+XgjTGMOJy2VtOvR7TIIpgD4t2PKpE3CmjaSj2HD3xIkB1ywaRQvxtmgwcwRL6ya4FokH+JBUN4eOnx7W+uYsXL0+Ff2z/z6Aftg4LFQJRf8W8sUCiVcsVCTpwlMdPdVdy+/euisDdxVuOOdzxc9HkKRISUpGo6P7NVr/HrvgaqR+owMMdiQs+gPHbKobRmi78mdtkQOTo4QO4i+9oujbgF9+DOJSpgqkYklW2Bd94g7dXUCdQpmhZC5s7Cw==\"},{\"title\":\"root@slicey\",\"id\":205374,\"key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtgGmUvTyKJRtwnVIpI6Uy+y9ryGDJVq8hxRcSG2UgNGbiz02NWqwoGvAE4dZ1inmiMu+b/TuWHy7HWuP4LNunyDV0eKdX0EychBaVG5GCNIhgFzZy2JhBHC8+mY7lPDLUrU94X+6dkkWbBPr8vqENLL8keYPemteINcPdyeEl7WoEB5/BOVuATBwb8H8hsW5vyExFeMbp3Veb8ztxTjp6z7iPi+KCO27PzV7jSrMNREgeF4buYeS9TTbh0IagL+6tAtjlfMu93ywriB768dwKc5weMuYoyWvzMPSbpMXYRgAP1botN1KuV7ov1U/QccD4v4ZNjZyZg7IwQfPVsOVHw==\"}]}\n [stderr] Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.\r\n\n [stderr] ERROR: Hi fcoury! You've successfully authenticated, but GitHub does not provide shell access\n\n Finished with error code 0\n\nInstalling script 'Install Dotfiles' (at Tue Nov 24 01:19:17 UTC 2009)\n [stdout] Reading package lists...\n [stdout] \nBuilding dependency tree...\n [stdout] \nReading state information...\n\n [stdout] Suggested packages:\n zsh-doc\nThe following NEW packages will be installed:\n zsh\n\n [stdout] 0 upgraded, 1 newly installed, 0 to remove and 53 not upgraded.\nNeed to get 4064kB of archives.\nAfter this operation, 12.1MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid/main zsh 4.3.6-4ubuntu1 [4064kB]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\ndebconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 4064kB in 2s (1707kB/s)\n\n [stdout] Selecting previously deselected package zsh.\n(Reading database ... 12229 files and directories currently installed.)\nUnpacking zsh (from .../zsh_4.3.6-4ubuntu1_amd64.deb) ...\n\n [stdout] Setting up zsh (4.3.6-4ubuntu1) ...\n\n [stdout] Reading package lists...\n [stdout] Building dependency tree...\n [stdout] \nReading state information...\n [stdout] The following extra packages will be installed:\n libruby1.8 ruby1.8\n\n [stdout] Suggested packages:\n ruby1.8-examples rdoc1.8 ri1.8\n\n [stdout] The following NEW packages will be installed:\n\n [stdout] libruby1.8 ruby ruby1.8\n\n [stdout] 0 upgraded, 3 newly installed, 0 to remove and 53 not upgraded.\nNeed to get 1560kB of archives.\nAfter this operation, 6525kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid-updates/main libruby1.8 1.8.7.72-1ubuntu0.2 [1515kB]\n\n [stdout] Get:2 http://archive.ubuntu.com intrepid-updates/main ruby1.8 1.8.7.72-1ubuntu0.2 [24.3kB]\nGet:3 http://archive.ubuntu.com intrepid/main ruby 4.2 [20.7kB]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\n\n [stderr] debconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 1560kB in 3s (448kB/s)\n\n [stdout] Selecting previously deselected package libruby1.8.\n(Reading database ... \n [stdout] 13219 files and directories currently installed.)\nUnpacking libruby1.8 (from .../libruby1.8_1.8.7.72-1ubuntu0.2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package ruby1.8.\nUnpacking ruby1.8 (from .../ruby1.8_1.8.7.72-1ubuntu0.2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package ruby.\nUnpacking ruby (from .../apt/archives/ruby_4.2_all.deb) ...\n\n [stdout] Setting up libruby1.8 (1.8.7.72-1ubuntu0.2) ...\n\n [stdout] Setting up ruby1.8 (1.8.7.72-1ubuntu0.2) ...\n\n [stdout] Setting up ruby (4.2) ...\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] Reading package lists...\n [stdout] \nBuilding dependency tree...\n [stdout] \nReading state information...\n\n [stdout] The following extra packages will be installed:\n mercurial-common python-beaker python-sqlalchemy python-support rcs\nSuggested packages:\n qct tk8.4 wish vim emacs python-mysqldb python-pygments python-elementtree\n python-subversion python-kinterbasdb python-psycopg2 python-sqlalchemy-doc\n\n [stdout] The following NEW packages will be installed:\n mercurial mercurial-common python-beaker python-sqlalchemy python-support\n rcs\n\n [stdout] 0 upgraded, 6 newly installed, 0 to remove and 53 not upgraded.\nNeed to get 1357kB of archives.\nAfter this operation, 5951kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid/main python-support 0.8.4 [27.8kB]\n\n [stdout] Get:2 http://archive.ubuntu.com intrepid/universe mercurial-common 1.0.1-5.1 [476kB]\n\n [stdout] Get:3 http://archive.ubuntu.com intrepid/universe mercurial 1.0.1-5.1 [93.7kB]\n\n [stdout] Get:4 http://archive.ubuntu.com intrepid/universe python-beaker 0.9.5-1 [28.4kB]\n\n [stdout] Get:5 http://archive.ubuntu.com intrepid/universe python-sqlalchemy 0.4.6-1 [345kB]\n\n [stdout] Get:6 http://archive.ubuntu.com intrepid/universe rcs 5.7-23 [386kB]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\ndebconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 1357kB in 1s (817kB/s)\n\n [stdout] Selecting previously deselected package python-support.\n(Reading database ... 13819 files and directories currently installed.)\nUnpacking python-support (from .../python-support_0.8.4_all.deb) ...\n\n [stdout] Selecting previously deselected package mercurial-common.\nUnpacking mercurial-common (from .../mercurial-common_1.0.1-5.1_all.deb) ...\n\n [stdout] Selecting previously deselected package mercurial.\nUnpacking mercurial (from .../mercurial_1.0.1-5.1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package python-beaker.\nUnpacking python-beaker (from .../python-beaker_0.9.5-1_all.deb) ...\n\n [stdout] Selecting previously deselected package python-sqlalchemy.\nUnpacking python-sqlalchemy (from .../python-sqlalchemy_0.4.6-1_all.deb) ...\n\n [stdout] Selecting previously deselected package rcs.\nUnpacking rcs (from .../archives/rcs_5.7-23_amd64.deb) ...\n\n [stdout] Setting up python-support (0.8.4) ...\n\n [stdout] Setting up mercurial-common (1.0.1-5.1) ...\n\n [stdout] Setting up mercurial (1.0.1-5.1) ...\n\n [stdout] Disabling hgk extension (no 'wish' script found [can be found in 'tk8.4' package])\nDisabling highlight extension (package 'python-pygments' is not installed)\n\n [stdout] Enabling inotify extension\n\n [stdout] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stdout] \nCreating config file /etc/mercurial/hgrc.d/hgext.rc with new version\n\n [stdout] Setting up python-beaker (0.9.5-1) ...\n\n [stdout] Setting up python-sqlalchemy (0.4.6-1) ...\n\n [stdout] Setting up rcs (5.7-23) ...\n\n [stdout] Processing triggers for python-support ...\n\n [stdout] Reading package lists...\n [stdout] Building dependency tree...\n [stdout] \nReading state information...\n [stdout] The following extra packages will be installed:\n\n [stdout] binutils cpp cpp-4.3 dpkg-dev g++ g++-4.3 gcc gcc-4.3 gcc-4.3-base libc6\n libc6-dev libgcc1 libgmp3c2 libgomp1 libmpfr1ldbl libstdc++6\n libstdc++6-4.3-dev linux-libc-dev make\n\n [stdout] Suggested packages:\n\n [stdout] binutils-doc cpp-doc gcc-4.3-locales debian-keyring g++-multilib\n g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg gcc-multilib manpages-dev\n autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.3-multilib\n\n [stdout] libmudflap0-4.3-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg glibc-doc\n libstdc++6-4.3-doc make-doc\n\n [stdout] The following NEW packages will be installed:\n\n [stdout] binutils build-essential cpp cpp-4.3 dpkg-dev g++ g++-4.3 gcc gcc-4.3\n libc6-dev libgmp3c2 libgomp1 libmpfr1ldbl libstdc++6-4.3-dev linux-libc-dev\n\n [stdout] make\n\n [stdout] The following packages will be upgraded:\n\n [stdout] gcc-4.3-base libc6 libgcc1 libstdc++6\n\n [stdout] 4 upgraded, 16 newly installed, 0 to remove and 49 not upgraded.\nNeed to get 24.0MB of archives.\nAfter this operation, 63.4MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid-updates/main gcc-4.3-base 4.3.2-1ubuntu12 [105kB]\n\n [stdout] Get:2 http://archive.ubuntu.com intrepid-updates/main libstdc++6 4.3.2-1ubuntu12 [336kB]\n\n [stdout] Get:3 http://archive.ubuntu.com intrepid-updates/main libgcc1 1:4.3.2-1ubuntu12 [44.6kB]\n\n [stdout] Get:4 http://archive.ubuntu.com intrepid-updates/main libc6 2.8~20080505-0ubuntu9 [4854kB]\n\n [stdout] Get:5 http://archive.ubuntu.com intrepid/main libgmp3c2 2:4.2.2+dfsg-3ubuntu1 [214kB]\n\n [stdout] Get:6 http://archive.ubuntu.com intrepid/main libmpfr1ldbl 2.3.2.dfsg.1-1ubuntu1 [360kB]\n\n [stdout] Get:7 http://archive.ubuntu.com intrepid-updates/main cpp-4.3 4.3.2-1ubuntu12 [3388kB]\n\n [stdout] Get:8 http://archive.ubuntu.com intrepid/main cpp 4:4.3.1-1ubuntu2 [35.4kB]\n\n [stdout] Get:9 http://archive.ubuntu.com intrepid/main binutils 2.18.93.20081009-0ubuntu1 [1635kB]\n\n [stdout] Get:10 http://archive.ubuntu.com intrepid-updates/main linux-libc-dev 2.6.27-15.43 [675kB]\n\n [stdout] Get:11 http://archive.ubuntu.com intrepid-updates/main libc6-dev 2.8~20080505-0ubuntu9 [2590kB]\n\n [stdout] Get:12 http://archive.ubuntu.com intrepid-updates/main libgomp1 4.3.2-1ubuntu12 [15.6kB]\n\n [stdout] Get:13 http://archive.ubuntu.com intrepid-updates/main gcc-4.3 4.3.2-1ubuntu12 [2790kB]\n\n [stdout] Get:14 http://archive.ubuntu.com intrepid/main gcc 4:4.3.1-1ubuntu2 [5108B]\nGet:15 http://archive.ubuntu.com intrepid-updates/main libstdc++6-4.3-dev 4.3.2-1ubuntu12 [1392kB]\n\n [stdout] Get:16 http://archive.ubuntu.com intrepid-updates/main g++-4.3 4.3.2-1ubuntu12 [4821kB]\n\n [stdout] Get:17 http://archive.ubuntu.com intrepid/main g++ 4:4.3.1-1ubuntu2 [1446B]\n\n [stdout] Get:18 http://archive.ubuntu.com intrepid/main make 3.81-5 [165kB]\n\n [stdout] Get:19 http://archive.ubuntu.com intrepid-updates/main dpkg-dev 1.14.20ubuntu6.2 [613kB]\n\n [stdout] Get:20 http://archive.ubuntu.com intrepid/main build-essential 11.4 [7170B]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\n\n [stderr] debconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\n\n [stderr] debconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 24.0MB in 5s (4643kB/s)\n\n [stdout] (Reading database ... 14270 files and directories currently installed.)\n\n [stdout] Preparing to replace gcc-4.3-base 4.3.2-1ubuntu11 (using .../gcc-4.3-base_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Unpacking replacement gcc-4.3-base ...\n\n [stdout] Setting up gcc-4.3-base (4.3.2-1ubuntu12) ...\n\n [stdout] (Reading database ... 14270 files and directories currently installed.)\nPreparing to replace libstdc++6 4.3.2-1ubuntu11 (using .../libstdc++6_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Unpacking replacement libstdc++6 ...\n\n [stdout] Setting up libstdc++6 (4.3.2-1ubuntu12) ...\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] (Reading database ... 14270 files and directories currently installed.)\nPreparing to replace libgcc1 1:4.3.2-1ubuntu11 (using .../libgcc1_1%3a4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Unpacking replacement libgcc1 ...\n\n [stdout] Setting up libgcc1 (1:4.3.2-1ubuntu12) ...\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] (Reading database ... \n [stdout] 14270 files and directories currently installed.)\nPreparing to replace libc6 2.8~20080505-0ubuntu7 (using .../libc6_2.8~20080505-0ubuntu9_amd64.deb) ...\n\n [stdout] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stdout] Unpacking replacement libc6 ...\n\n [stdout] Setting up libc6 (2.8~20080505-0ubuntu9) ...\n\n [stdout] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] Selecting previously deselected package libgmp3c2.\n(Reading database ... \n [stdout] 14270 files and directories currently installed.)\nUnpacking libgmp3c2 (from .../libgmp3c2_2%3a4.2.2+dfsg-3ubuntu1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package libmpfr1ldbl.\nUnpacking libmpfr1ldbl (from .../libmpfr1ldbl_2.3.2.dfsg.1-1ubuntu1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package cpp-4.3.\nUnpacking cpp-4.3 (from .../cpp-4.3_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Selecting previously deselected package cpp.\nUnpacking cpp (from .../cpp_4%3a4.3.1-1ubuntu2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package binutils.\nUnpacking binutils (from .../binutils_2.18.93.20081009-0ubuntu1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package linux-libc-dev.\nUnpacking linux-libc-dev (from .../linux-libc-dev_2.6.27-15.43_amd64.deb) ...\n\n [stdout] Selecting previously deselected package libc6-dev.\nUnpacking libc6-dev (from .../libc6-dev_2.8~20080505-0ubuntu9_amd64.deb) ...\n\n [stdout] Selecting previously deselected package libgomp1.\nUnpacking libgomp1 (from .../libgomp1_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Selecting previously deselected package gcc-4.3.\nUnpacking gcc-4.3 (from .../gcc-4.3_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Selecting previously deselected package gcc.\nUnpacking gcc (from .../gcc_4%3a4.3.1-1ubuntu2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package libstdc++6-4.3-dev.\nUnpacking libstdc++6-4.3-dev (from .../libstdc++6-4.3-dev_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Selecting previously deselected package g++-4.3.\nUnpacking g++-4.3 (from .../g++-4.3_4.3.2-1ubuntu12_amd64.deb) ...\n\n [stdout] Selecting previously deselected package g++.\nUnpacking g++ (from .../g++_4%3a4.3.1-1ubuntu2_amd64.deb) ...\n\n [stdout] Selecting previously deselected package make.\nUnpacking make (from .../archives/make_3.81-5_amd64.deb) ...\n\n [stdout] Selecting previously deselected package dpkg-dev.\nUnpacking dpkg-dev (from .../dpkg-dev_1.14.20ubuntu6.2_all.deb) ...\n\n [stdout] Selecting previously deselected package build-essential.\nUnpacking build-essential (from .../build-essential_11.4_amd64.deb) ...\n\n [stdout] Setting up libgmp3c2 (2:4.2.2+dfsg-3ubuntu1) ...\n\n [stdout] Setting up libmpfr1ldbl (2.3.2.dfsg.1-1ubuntu1) ...\n\n [stdout] Setting up cpp-4.3 (4.3.2-1ubuntu12) ...\n\n [stdout] Setting up cpp (4:4.3.1-1ubuntu2) ...\n\n [stdout] Setting up binutils (2.18.93.20081009-0ubuntu1) ...\n\n [stdout] Setting up linux-libc-dev (2.6.27-15.43) ...\n\n [stdout] Setting up libc6-dev (2.8~20080505-0ubuntu9) ...\n\n [stdout] Setting up libgomp1 (4.3.2-1ubuntu12) ...\n\n [stdout] Setting up gcc-4.3 (4.3.2-1ubuntu12) ...\n\n [stdout] Setting up gcc (4:4.3.1-1ubuntu2) ...\n\n [stdout] Setting up make (3.81-5) ...\n\n [stdout] Setting up dpkg-dev (1.14.20ubuntu6.2) ...\n\n [stdout] Setting up libstdc++6-4.3-dev (4.3.2-1ubuntu12) ...\n\n [stdout] Setting up g++-4.3 (4.3.2-1ubuntu12) ...\n\n [stdout] Setting up g++ (4:4.3.1-1ubuntu2) ...\n\n [stdout] Setting up build-essential (11.4) ...\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] Reading package lists...\n [stdout] \nBuilding dependency tree...\n [stdout] \nReading state information...\n\n [stdout] The following extra packages will be installed:\n libgpm2 vim-common vim-runtime vim-tiny\n\n [stdout] Suggested packages:\n gpm ctags vim-doc vim-scripts\nThe following NEW packages will be installed:\n libgpm2 vim vim-runtime\nThe following packages will be upgraded:\n vim-common vim-tiny\n\n [stdout] 2 upgraded, 3 newly installed, 0 to remove and 47 not upgraded.\nNeed to get 7005kB of archives.\nAfter this operation, 25.4MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com intrepid-updates/main vim-tiny 1:7.1.314-3ubuntu3.1 [394kB]\n\n [stdout] Get:2 http://archive.ubuntu.com intrepid-updates/main vim-common 1:7.1.314-3ubuntu3.1 [201kB]\n\n [stdout] Get:3 http://archive.ubuntu.com intrepid/main libgpm2 1.20.4-2ubuntu1 [34.5kB]\nGet:4 http://archive.ubuntu.com intrepid-updates/main vim-runtime 1:7.1.314-3ubuntu3.1 [5417kB]\n\n [stdout] Get:5 http://archive.ubuntu.com intrepid-updates/main vim 1:7.1.314-3ubuntu3.1 [959kB]\n\n [stderr] debconf: unable to initialize frontend: Dialog\ndebconf: (TERM is not set, so the dialog frontend is not usable.)\ndebconf: falling back to frontend: Readline\n\n [stderr] debconf: unable to initialize frontend: Readline\ndebconf: (This frontend requires a controlling tty.)\ndebconf: falling back to frontend: Teletype\n\n [stderr] dpkg-preconfigure: unable to re-open stdin: \n\n [stdout] Fetched 7005kB in 2s (2538kB/s)\n\n [stdout] (Reading database ... \n [stdout] 16497 files and directories currently installed.)\nPreparing to replace vim-tiny 1:7.1.314-3ubuntu3 (using .../vim-tiny_1%3a7.1.314-3ubuntu3.1_amd64.deb) ...\n\n [stdout] Unpacking replacement vim-tiny ...\n\n [stdout] Preparing to replace vim-common 1:7.1.314-3ubuntu3 (using .../vim-common_1%3a7.1.314-3ubuntu3.1_amd64.deb) ...\n\n [stdout] Unpacking replacement vim-common ...\n\n [stdout] Selecting previously deselected package libgpm2.\nUnpacking libgpm2 (from .../libgpm2_1.20.4-2ubuntu1_amd64.deb) ...\n\n [stdout] Selecting previously deselected package vim-runtime.\nUnpacking vim-runtime (from .../vim-runtime_1%3a7.1.314-3ubuntu3.1_all.deb) ...\n\n [stdout] Adding `diversion of /usr/share/vim/vim71/doc/help.txt to /usr/share/vim/vim71/doc/help.txt.vim-tiny by vim-runtime'\n\n [stdout] Adding `diversion of /usr/share/vim/vim71/doc/tags to /usr/share/vim/vim71/doc/tags.vim-tiny by vim-runtime'\n\n [stdout] Selecting previously deselected package vim.\nUnpacking vim (from .../vim_1%3a7.1.314-3ubuntu3.1_amd64.deb) ...\n\n [stdout] Setting up vim-common (1:7.1.314-3ubuntu3.1) ...\n\n [stdout] Setting up vim-tiny (1:7.1.314-3ubuntu3.1) ...\n\n [stdout] Setting up libgpm2 (1.20.4-2ubuntu1) ...\n\n [stdout] Setting up vim-runtime (1:7.1.314-3ubuntu3.1) ...\n\n [stdout] Processing /usr/share/vim/addons/doc\n\n\n [stdout] Setting up vim (1:7.1.314-3ubuntu3.1) ...\n\n [stdout] Processing triggers for libc6 ...\n\n [stdout] ldconfig deferred processing now taking place\n\n [stdout] Initialized empty Git repository in /root/bin/.git/\n\n [stdout] Initialized empty Git repository in /root/bin/.git/\n\n [stdout] destination directory: vcprompt\nrequesting all changes\nadding changesets\nadding manifests\nadding file changes\nadded 31 changesets with 76 changes to 15 files\nupdating working directory\n15 files updated, 0 files merged, 0 files removed, 0 files unresolved\n\n [stdout] cc -Wall -g -O2 -c -o src/common.o src/common.c\n\n [stdout] cc -Wall -g -O2 -c -o src/cvs.o src/cvs.c\n\n [stdout] cc -Wall -g -O2 -c -o src/git.o src/git.c\n\n [stdout] cc -Wall -g -O2 -c -o src/hg.o src/hg.c\n\n [stdout] cc -Wall -g -O2 -c -o src/svn.o src/svn.c\n\n [stdout] cc -Wall -g -O2 -c -o src/vcprompt.o src/vcprompt.c\n\n [stdout] cc -o vcprompt src/common.o src/cvs.o src/git.o src/hg.o src/svn.o src/vcprompt.o\n\n Finished with error code 0","id":"4b0b34c9e1054e3104000109","state":"running"}
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Tue, 24 Nov 2009 01:36:30 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 311
6
+
7
+ {"log":" [stdout] cc -Wall -g -O2 -c -o src/svn.o src/svn.c\n\n [stdout] cc -Wall -g -O2 -c -o src/vcprompt.o src/vcprompt.c\n\n [stdout] cc -o vcprompt src/common.o src/cvs.o src/git.o src/hg.o src/svn.o src/vcprompt.o\n\n Finished with error code 0","id":"4b0b34c9e1054e3104000109","state":"finished"}
@@ -0,0 +1,6 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sun, 15 Nov 2009 03:18:44 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 0
6
+
@@ -0,0 +1,8 @@
1
+ HTTP/1.1 422
2
+ Connection: Keep-Alive
3
+ Content-Type: application/xml
4
+ Date: Wed, 18 Nov 2009 06:36:24 GMT
5
+ Server: WEBrick/1.3.1 (Ruby/1.8.7/2009-06-12)
6
+ Content-Length: 101
7
+
8
+ <?xml version="1.0" encoding="UTF-8"?><errors><error>Operating system can't be empty</error></errors>
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 21 Nov 2009 17:58:26 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 158
6
+
7
+ {"plugin":{"name":"plugin","user_id":null,"description":null,"id":""},"server":null,"params":{},"id":"4b0b3421e1054e3102000001"}
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 404 Not Found
2
+ Connection: close
3
+ Date: Tue, 24 Nov 2009 19:43:03 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 53
6
+
7
+ {"error":"Plugin 4b08748de1054e1477000006 not found"}
@@ -0,0 +1,8 @@
1
+ HTTP/1.1 401 Unauthorized
2
+ Connection: close
3
+ Date: Thu, 19 Nov 2009 16:44:11 GMT
4
+ WWW-Authenticate: Basic realm="StackFu API"
5
+ Content-Type: application/json
6
+ Content-Length: 22
7
+
8
+ Authorization Required
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Wed, 18 Nov 2009 17:54:51 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 124
6
+
7
+ [{"name":"my_plugin","controls":[],"user_id":"4b0433ebe1054e12da000001","description":null,"id":"4b0433ebe1054e12da000002"}]
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 21 Nov 2009 23:16:16 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 915
6
+
7
+ [{"name":"my_plugin","controls":[{"label":"Nome","name":"nome","order":0,"_type":"Textbox","id":"4b08748de1054e1477000002"},{"label":"Idade","name":"idade","order":1,"_type":"Numericbox","id":"4b08748de1054e1477000003"}],"tags":["mine","plugin","is","nice"],"type":"plugin","user_id":{"data":[75,8,116,141,225,5,78,20,119,0,0,1]},"validations":[{"data":"/etc/apache2","attrs":{},"type":"directory","id":"4b08748de1054e1477000005","error":"Apache was not installed properly"}],"executions":[{"script":null,"data":"#\n# echoe.sh\n# Echoes a variable\n#\n\necho \"\u003C%= nome %\u003E is \u003C%= age %\u003E years old\"\n","file":"echoer","description":"Echoer","id":"4b08748de1054e1477000007"}],"requirements":[{"data":"/var","attrs":{},"type":"directory","id":"4b08748de1054e1477000004","error":"You need /var folder before installing"}],"description":"This will deploy my plugin","id":"4b08748de1054e1477000006"}]
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 21 Nov 2009 23:16:16 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 915
6
+
7
+ [{"name":"bliplugin","controls":[{"label":"Nome","name":"nome","order":0,"_type":"Textbox","id":"4b08748de1054e1477000002"},{"label":"Idade","name":"idade","order":1,"_type":"Numericbox","id":"4b08748de1054e1477000003"}],"tags":["mine","plugin","is","nice"],"type":"plugin","user_id":{"data":[75,8,116,141,225,5,78,20,119,0,0,1]},"validations":[{"data":"/etc/apache2","attrs":{},"type":"directory","id":"4b08748de1054e1477000005","error":"Apache was not installed properly"}],"executions":[{"script":null,"data":"#\n# echoe.sh\n# Echoes a variable\n#\n\necho \"\u003C%= nome %\u003E is \u003C%= age %\u003E years old\"\n","file":"echoer","description":"Echoer","id":"4b08748de1054e1477000007"}],"requirements":[{"data":"/var","attrs":{},"type":"directory","id":"4b08748de1054e1477000004","error":"You need /var folder before installing"}],"description":"This will deploy my plugin","id":"4b08748de1054e1477000006"}]
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Wed, 18 Nov 2009 17:54:51 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 2
6
+
7
+ []
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Wed, 18 Nov 2009 17:52:21 GMT
4
+ Content-Type: application/json
5
+ Content-Length: 314
6
+
7
+ [{"name":"my_plugin","controls":[],"user_id":"4b0433ebe1054e12da000001","description":null,"id":"4b0433ebe1054e12da000002"},{"name":"another_plugin","controls":[],"user_id":"4b0433ebe1054e12da000002","description":null,"id":"4b0433ebe1054e12da000002"}]
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 14 Nov 2009 01:24:42 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 112
6
+
7
+ [{"name":"Webbynode","id":"webbynode"},{"name":"Slicehost","id":"slicehost"},{"name":"Linode","id":"linode"}]
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sat, 14 Nov 2009 01:24:42 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 54
6
+
7
+ [{"name":"slicey","id":"1"},{"name":"peeps","id":"2"}]
@@ -0,0 +1,6 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sun, 15 Nov 2009 03:18:44 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 0
6
+
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 422
2
+ Connection: close
3
+ Date: Fri, 20 Nov 2009 18:15:10 GMT
4
+ Content-Type: application/xml
5
+ Content-Length: 110
6
+
7
+ <?xml version="1.0" encoding="UTF-8"?><errors><error>Hostname already exists in your account.</error></errors>
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 500 Internal Server Error
2
+ Connection: close
3
+ Date: Sun, 15 Nov 2009 03:19:23 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 76
6
+
7
+ {"error":"Slicehost server wslicey was not found. However we found slicey."}
@@ -0,0 +1,7 @@
1
+ HTTP/1.1 200 OK
2
+ Connection: close
3
+ Date: Sun, 15 Nov 2009 03:26:33 GMT
4
+ Content-Type: application/json;charset=utf-8
5
+ Content-Length: 152
6
+
7
+ {"provider_class":"Slicehost","nickname":"webby","user_id":"4afe06b8e1054e1e00000001","ip":"1.2.3.4","hostname":"webby","id":"4aff720ae1054e2ba1000001"}