caterer 0.11.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/README.md +34 -116
  2. data/Vagrantfile +4 -4
  3. data/lib/caterer.rb +3 -0
  4. data/lib/caterer/action.rb +1 -0
  5. data/lib/caterer/action/berkshelf/install.rb +3 -1
  6. data/lib/caterer/action/config/validate/provisioner.rb +16 -10
  7. data/lib/caterer/action/image.rb +9 -0
  8. data/lib/caterer/action/image/cleanup.rb +20 -0
  9. data/lib/caterer/action/image/prepare.rb +20 -0
  10. data/lib/caterer/action/image/run.rb +20 -0
  11. data/lib/caterer/action/provisioner.rb +0 -7
  12. data/lib/caterer/action/provisioner/cleanup.rb +19 -1
  13. data/lib/caterer/action/provisioner/prepare.rb +20 -2
  14. data/lib/caterer/action/provisioner/uninstall.rb +9 -1
  15. data/lib/caterer/action/server.rb +2 -1
  16. data/lib/caterer/action/{provisioner/install.rb → server/cleanup.rb} +5 -5
  17. data/lib/caterer/action/server/{reboot.rb → prepare.rb} +4 -2
  18. data/lib/caterer/actions.rb +8 -46
  19. data/lib/caterer/cli.rb +50 -4
  20. data/lib/caterer/command.rb +1 -4
  21. data/lib/caterer/command/base.rb +17 -108
  22. data/lib/caterer/command/berks.rb +5 -8
  23. data/lib/caterer/command/clean.rb +6 -4
  24. data/lib/caterer/command/lock.rb +5 -3
  25. data/lib/caterer/command/provision.rb +19 -4
  26. data/lib/caterer/command/server.rb +106 -0
  27. data/lib/caterer/command/unlock.rb +5 -3
  28. data/lib/caterer/commands.rb +0 -3
  29. data/lib/caterer/config.rb +0 -5
  30. data/lib/caterer/config/base.rb +5 -4
  31. data/lib/caterer/config/provisioner/chef_solo.rb +1 -2
  32. data/lib/caterer/group.rb +24 -0
  33. data/lib/caterer/image.rb +88 -0
  34. data/lib/caterer/member.rb +13 -0
  35. data/lib/caterer/provisioner.rb +1 -0
  36. data/lib/caterer/provisioner/base.rb +4 -3
  37. data/lib/caterer/provisioner/chef_solo.rb +58 -123
  38. data/lib/caterer/provisioner/shell.rb +83 -0
  39. data/lib/caterer/provisioners.rb +2 -1
  40. data/lib/caterer/server.rb +18 -36
  41. data/lib/caterer/version.rb +1 -1
  42. data/lib/templates/image/bin_wrapper.erb +8 -0
  43. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/debian.sh +0 -0
  44. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/el.sh +0 -0
  45. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/fedora.sh +0 -0
  46. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/sles.sh +0 -0
  47. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/smartos.sh +0 -0
  48. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/suse.sh +0 -0
  49. data/lib/templates/provisioner/chef_solo/{bootstrap → install}/ubuntu.sh +0 -0
  50. data/lib/templates/provisioner/chef_solo/solo.erb +1 -1
  51. data/lib/templates/provisioner/shell/script.erb +3 -0
  52. metadata +24 -26
  53. data/lib/caterer/action/provisioner/bootstrap.rb +0 -14
  54. data/lib/caterer/action/provisioner/load.rb +0 -29
  55. data/lib/caterer/action/provisioner/provision.rb +0 -14
  56. data/lib/caterer/action/provisioner/validate.rb +0 -10
  57. data/lib/caterer/action/provisioner/validate/bootstrapped.rb +0 -22
  58. data/lib/caterer/action/provisioner/validate/engine.rb +0 -24
  59. data/lib/caterer/command/bootstrap.rb +0 -24
  60. data/lib/caterer/command/reboot.rb +0 -24
  61. data/lib/caterer/command/test.rb +0 -19
  62. data/lib/caterer/command/up.rb +0 -24
  63. data/lib/caterer/config/group.rb +0 -26
  64. data/lib/caterer/config/image.rb +0 -21
  65. data/lib/caterer/config/member.rb +0 -15
@@ -1,24 +0,0 @@
1
- module Caterer
2
- module Command
3
- class Bootstrap < Base
4
-
5
- def execute
6
- options = {}
7
- opts = OptionParser.new do |opts|
8
- opts.banner = "Usage: cater bootstrap HOST [options]"
9
- end
10
-
11
- # Parse the options
12
- argv = parse_options(opts, options, true)
13
- return if not argv
14
-
15
- with_target_servers(argv, options) do |server|
16
- server.bootstrap
17
- end
18
-
19
- 0
20
- end
21
-
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- module Caterer
2
- module Command
3
- class Reboot < Base
4
-
5
- def execute
6
- options = {}
7
- opts = OptionParser.new do |opts|
8
- opts.banner = "Usage: cater reboot HOST [options]"
9
- end
10
-
11
- # Parse the options
12
- argv = parse_options(opts, options, true)
13
- return if not argv
14
-
15
- with_target_servers(argv, options) do |server|
16
- server.reboot
17
- end
18
-
19
- 0
20
- end
21
-
22
- end
23
- end
24
- end
@@ -1,19 +0,0 @@
1
- module Caterer
2
- module Command
3
- class Test < Base
4
-
5
- def execute
6
- options = {}
7
- opts = OptionParser.new do |opts|
8
- opts.banner = "Usage: cater test"
9
- end
10
-
11
- # Parse the options
12
- argv = parse_options(opts, options, false)
13
-
14
- 0
15
- end
16
-
17
- end
18
- end
19
- end
@@ -1,24 +0,0 @@
1
- module Caterer
2
- module Command
3
- class Up < Base
4
-
5
- def execute
6
- options = {}
7
- opts = OptionParser.new do |opts|
8
- opts.banner = "Usage: cater provision HOST [options]"
9
- end
10
-
11
- # Parse the options
12
- argv = parse_options(opts, options, true)
13
- return if not argv
14
-
15
- with_target_servers(argv, options) do |server|
16
- server.up
17
- end
18
-
19
- 0
20
- end
21
-
22
- end
23
- end
24
- end
@@ -1,26 +0,0 @@
1
- module Caterer
2
- module Config
3
- class Group
4
-
5
- attr_reader :name
6
- attr_accessor :images, :members, :user, :password, :key, :data
7
-
8
- def initialize(name=nil)
9
- @name = name
10
- @images = []
11
- @members = {}
12
- @data = {}
13
- end
14
-
15
- def add_image(image)
16
- @images << image
17
- end
18
-
19
- def member(name)
20
- @members[name] ||= Member.new(name)
21
- yield @members[name] if block_given?
22
- @members[name]
23
- end
24
- end
25
- end
26
- end
@@ -1,21 +0,0 @@
1
- module Caterer
2
- module Config
3
- class Image
4
-
5
- attr_reader :name, :provisioner
6
-
7
- def initialize(name)
8
- @name = name
9
- end
10
-
11
- def provision(type)
12
- provisioner_klass = Caterer.provisioners.get(type)
13
- raise ":#{type} is not a valida provisioner" if not provisioner_klass
14
- @provisioner = provisioner_klass.new
15
- yield @provisioner if block_given?
16
- @provisioner
17
- end
18
-
19
- end
20
- end
21
- end
@@ -1,15 +0,0 @@
1
- module Caterer
2
- module Config
3
- class Member
4
-
5
- attr_reader :name
6
- attr_accessor :host, :port, :user, :password, :key, :images, :data
7
-
8
- def initialize(name=nil)
9
- @name = name
10
- @data = {}
11
- end
12
-
13
- end
14
- end
15
- end