caterer 0.11.2 → 1.0.0

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.
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