stackfu 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +24 -0
- data/Manifest +118 -0
- data/README +0 -0
- data/README.md +218 -0
- data/Rakefile +73 -0
- data/bin/stackfu +10 -0
- data/lib/stackfu/api_hooks.rb +17 -0
- data/lib/stackfu/app.rb +69 -0
- data/lib/stackfu/commands/command.rb +127 -0
- data/lib/stackfu/commands/config_command.rb +43 -0
- data/lib/stackfu/commands/deploy_command.rb +144 -0
- data/lib/stackfu/commands/dump_command.rb +101 -0
- data/lib/stackfu/commands/generate_command.rb +107 -0
- data/lib/stackfu/commands/help_command.rb +28 -0
- data/lib/stackfu/commands/list_command.rb +26 -0
- data/lib/stackfu/commands/publish_command.rb +108 -0
- data/lib/stackfu/commands/server_command.rb +124 -0
- data/lib/stackfu/helpers/providers_credentials.rb +82 -0
- data/lib/stackfu/helpers/rendering.rb +201 -0
- data/lib/stackfu/operating_systems.rb +30 -0
- data/lib/stackfu.rb +88 -0
- data/stackfu-installer/config/01-controls.yml +17 -0
- data/stackfu-installer/config/02-requirements.yml +3 -0
- data/stackfu-installer/config/03-scripts.yml +16 -0
- data/stackfu-installer/config/04-validations.yml +3 -0
- data/stackfu-installer/script/dotfiles_installation.sh.erb +22 -0
- data/stackfu-installer/script/github_credentials_setup.sh.erb +31 -0
- data/stackfu-installer/script/nginx_and_passenger.sh.erb +83 -0
- data/stackfu-installer/script/redis_installation.sh.erb +33 -0
- data/stackfu-installer/script/resque_installation.sh.erb +7 -0
- data/stackfu-installer/script/ruby_environment.sh.erb +20 -0
- data/stackfu-installer/script/stackfu.sh.erb +114 -0
- data/stackfu-installer/stack.yml +5 -0
- data/stackfu.gemspec +60 -0
- data/templates/01-controls.yml.erb +31 -0
- data/templates/02-requirements.yml.erb +26 -0
- data/templates/03-scripts.yml.erb +34 -0
- data/templates/04-validations.yml.erb +17 -0
- data/templates/script.sh.erb +7 -0
- data/templates/stack.yml.erb +17 -0
- data/test/fixtures/add_server_error +7 -0
- data/test/fixtures/deployment_add +7 -0
- data/test/fixtures/deployment_add_error +8 -0
- data/test/fixtures/deployments +7 -0
- data/test/fixtures/logs +7 -0
- data/test/fixtures/logs_partial +7 -0
- data/test/fixtures/plugin_add +6 -0
- data/test/fixtures/plugin_add_error +8 -0
- data/test/fixtures/plugin_deployment_add +7 -0
- data/test/fixtures/plugin_not_found +7 -0
- data/test/fixtures/plugin_unauthorized +8 -0
- data/test/fixtures/plugins +7 -0
- data/test/fixtures/plugins_by_name +7 -0
- data/test/fixtures/plugins_by_name_other +7 -0
- data/test/fixtures/plugins_empty +7 -0
- data/test/fixtures/plugins_multiple +7 -0
- data/test/fixtures/providers +7 -0
- data/test/fixtures/providers_servers +7 -0
- data/test/fixtures/server_add +6 -0
- data/test/fixtures/server_add_dupe +7 -0
- data/test/fixtures/server_add_error +7 -0
- data/test/fixtures/server_delete +7 -0
- data/test/fixtures/server_delete_error +7 -0
- data/test/fixtures/servers +7 -0
- data/test/fixtures/servers_by_name +7 -0
- data/test/fixtures/servers_empty +8 -0
- data/test/fixtures/servers_not_found +26 -0
- data/test/fixtures/servers_unauthorized +8 -0
- data/test/fixtures/servers_webbynode +7 -0
- data/test/fixtures/stack/stackfu-installer/config/01-controls.yml +22 -0
- data/test/fixtures/stack/stackfu-installer/config/02-requirements.yml +1 -0
- data/test/fixtures/stack/stackfu-installer/config/03-scripts.yml +23 -0
- data/test/fixtures/stack/stackfu-installer/config/04-validations.yml +1 -0
- data/test/fixtures/stack/stackfu-installer/script/dotfiles_installation.sh.erb +22 -0
- data/test/fixtures/stack/stackfu-installer/script/github_credentials_setup.sh.erb +31 -0
- data/test/fixtures/stack/stackfu-installer/script/nginx_and_passenger.sh.erb +83 -0
- data/test/fixtures/stack/stackfu-installer/script/redis_installation.sh.erb +33 -0
- data/test/fixtures/stack/stackfu-installer/script/resque_installation.sh.erb +7 -0
- data/test/fixtures/stack/stackfu-installer/script/ruby_environment.sh.erb +20 -0
- data/test/fixtures/stack/stackfu-installer/script/stackfu.sh.erb +76 -0
- data/test/fixtures/stack/stackfu-installer/stack.yml +5 -0
- data/test/fixtures/stack_add +6 -0
- data/test/fixtures/stack_add_error +8 -0
- data/test/fixtures/stack_add_error_dupe +8 -0
- data/test/fixtures/stack_adds_by_name +7 -0
- data/test/fixtures/stack_delete_not_found +7 -0
- data/test/fixtures/stacks +7 -0
- data/test/fixtures/stacks_by_name +7 -0
- data/test/fixtures/stacks_by_name_other +7 -0
- data/test/fixtures/stacks_empty +7 -0
- data/test/fixtures/stacks_multiple +7 -0
- data/test/fixtures/stacks_not_found +7 -0
- data/test/fixtures/stacks_realworld +7 -0
- data/test/fixtures/stacks_stackfu-installer +7 -0
- data/test/fixtures/stacks_unauthorized +8 -0
- data/test/fixtures/stacks_with_controls +0 -0
- data/test/fixtures/users +7 -0
- data/test/fixtures/users_no_credentials +7 -0
- data/test/fixtures/users_update +6 -0
- data/test/stack.yml +26 -0
- data/test/support/custom_matchers.rb +69 -0
- data/test/support/fixtures.rb +98 -0
- data/test/support/io_stub.rb +10 -0
- data/test/support/web_fixtures.rb +91 -0
- data/test/test_helper.rb +186 -0
- data/test/unit/commands/test_command.rb +112 -0
- data/test/unit/commands/test_config_command.rb +92 -0
- data/test/unit/commands/test_deploy_command.rb +303 -0
- data/test/unit/commands/test_dump_command.rb +155 -0
- data/test/unit/commands/test_generate_command.rb +112 -0
- data/test/unit/commands/test_help_command.rb +33 -0
- data/test/unit/commands/test_list_command.rb +63 -0
- data/test/unit/commands/test_publish_command.rb +265 -0
- data/test/unit/commands/test_server_command.rb +259 -0
- data/test/unit/helpers/test_rendering.rb +141 -0
- data/test/unit/test_array.rb +26 -0
- data/test/unit/test_provider.rb +14 -0
- data/test/unit/test_stackfu.rb +27 -0
- 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 &"
|
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,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"}
|
data/test/fixtures/logs
ADDED
@@ -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,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 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: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: 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"}
|