cluster_bomb 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,46 @@
1
+ require 'cluster_bomb/configuration.rb'
2
+ module ClusterBomb
3
+ module Shawties
4
+ SHAWTIES_FILE_NAME=File.join(Configuration::HOME,'shawties')
5
+
6
+ def define_shawtie(name, command)
7
+ @shawties ||={}
8
+ unless command.nil?
9
+ @shawties[name]=command
10
+ else
11
+ @shawties.delete name
12
+ end
13
+ save_shawties
14
+ end
15
+ def get_shawtie(name)
16
+ @shawties[name]
17
+ end
18
+ def load_shawties!
19
+ @shawties ||={}
20
+ Configuration.check_dir
21
+ begin
22
+ buf = File.read(SHAWTIES_FILE_NAME)
23
+ rescue
24
+ `touch #{SHAWTIES_FILE_NAME}`
25
+ buf = File.read(SHAWTIES_FILE_NAME)
26
+ end
27
+ unless buf.empty?
28
+ @shawties = YAML.load(buf)
29
+ end
30
+ end
31
+ def save_shawties
32
+ Configuration::check_dir
33
+ File.open(SHAWTIES_FILE_NAME,"w") {|f| f.write(@shawties.to_yaml)}
34
+ end
35
+ def shawtie_names
36
+ (@shawties.keys + ['d','l']).sort
37
+ end
38
+ def shawties_list
39
+ keys = @shawties.keys.sort
40
+ puts "Available shorts:"
41
+ keys.each do |k|
42
+ puts "#{k}\n #{@shawties[k]}"
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,16 @@
1
+ group "Built in tasks"
2
+ desc "Quick help"
3
+ task :help do
4
+ puts <<-EOHELP
5
+ syntax: cb <task> [options]
6
+ options:
7
+ cp status roles=<role list> ex. roles=database,webservers
8
+ EOHELP
9
+ end
10
+
11
+ desc "BombShell -- the cluster bomb shell interface."
12
+ task :shell do
13
+ require 'cluster_bomb/bomb_shell'
14
+ b = ClusterBomb::BombShell.new(self)
15
+ b.loop
16
+ end
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cluster_bomb
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 6
9
+ version: 0.2.6
10
+ platform: ruby
11
+ authors:
12
+ - hayzeus
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-11-10 00:00:00 -06:00
18
+ default_executable: cb
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: net-ssh
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 2
30
+ - 0
31
+ - 0
32
+ version: 2.0.0
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: net-scp
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 1
45
+ - 0
46
+ - 0
47
+ version: 1.0.0
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: net-sftp
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ segments:
59
+ - 2
60
+ - 0
61
+ - 0
62
+ version: 2.0.0
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ description: Capistrano-like multi-host shell and task execution
66
+ email: mikey@swampgas.com
67
+ executables:
68
+ - cb
69
+ extensions: []
70
+
71
+ extra_rdoc_files: []
72
+
73
+ files:
74
+ - bin/cb
75
+ - lib/cluster_bomb/actest.rb
76
+ - lib/cluster_bomb/bomb.rb
77
+ - lib/cluster_bomb/bomb_shell.rb
78
+ - lib/cluster_bomb/cli.rb
79
+ - lib/cluster_bomb/cluster.rb
80
+ - lib/cluster_bomb/configuration.rb
81
+ - lib/cluster_bomb/dispatcher.rb
82
+ - lib/cluster_bomb/history.rb
83
+ - lib/cluster_bomb/logging.rb
84
+ - lib/cluster_bomb/roles.rb
85
+ - lib/cluster_bomb/shawties.rb
86
+ - lib/cluster_bomb/stdtasks.rb
87
+ has_rdoc: true
88
+ homepage: http://www.swampgas.com
89
+ licenses: []
90
+
91
+ post_install_message:
92
+ rdoc_options: []
93
+
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ segments:
102
+ - 1
103
+ - 8
104
+ - 6
105
+ version: 1.8.6
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ requirements: []
115
+
116
+ rubyforge_project:
117
+ rubygems_version: 1.3.7.1
118
+ signing_key:
119
+ specification_version: 3
120
+ summary: Do stuff across clusters
121
+ test_files: []
122
+