bebox 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -8
- data/README.md +33 -30
- data/bebox.gemspec +1 -2
- data/bin/bebox +1 -2
- data/lib/bebox/cli.rb +0 -5
- data/lib/bebox/commands/commands_helper.rb +3 -1
- data/lib/bebox/commands/environment_commands.rb +26 -29
- data/lib/bebox/commands/general_commands.rb +0 -1
- data/lib/bebox/commands/node_commands.rb +44 -48
- data/lib/bebox/commands/prepare_commands.rb +25 -32
- data/lib/bebox/commands/profile_commands.rb +56 -0
- data/lib/bebox/commands/project_commands.rb +23 -29
- data/lib/bebox/commands/provision_commands.rb +18 -120
- data/lib/bebox/commands/role_commands.rb +83 -0
- data/lib/bebox/environment.rb +4 -10
- data/lib/bebox/files_helper.rb +37 -0
- data/lib/bebox/logger.rb +0 -1
- data/lib/bebox/node.rb +9 -122
- data/lib/bebox/profile.rb +5 -16
- data/lib/bebox/project.rb +14 -38
- data/lib/bebox/provision.rb +21 -36
- data/lib/bebox/role.rb +2 -12
- data/lib/bebox/vagrant_helper.rb +96 -0
- data/lib/bebox/version.rb +1 -1
- data/lib/bebox/wizards/environment_wizard.rb +4 -20
- data/lib/bebox/wizards/node_wizard.rb +17 -47
- data/lib/bebox/wizards/profile_wizard.rb +8 -26
- data/lib/bebox/wizards/project_wizard.rb +42 -72
- data/lib/bebox/wizards/provision_wizard.rb +35 -51
- data/lib/bebox/wizards/role_wizard.rb +9 -29
- data/lib/bebox/wizards/wizards_helper.rb +41 -0
- data/lib/bebox.rb +30 -2
- data/lib/templates/project/config/deploy/steps/step-0.erb +13 -0
- data/lib/templates/project/config/deploy/steps/step-1.erb +0 -0
- data/lib/templates/project/config/deploy/steps/step-2.erb +0 -0
- data/lib/templates/project/config/deploy/steps/step-3.erb +0 -0
- data/lib/templates/project/config/deploy.erb +3 -0
- data/spec/fixtures/config/deploy/steps/step-0.test +13 -0
- data/spec/fixtures/config/deploy/steps/step-1.test +0 -0
- data/spec/fixtures/config/deploy/steps/step-2.test +0 -0
- data/spec/fixtures/config/deploy/steps/step-3.test +0 -0
- data/spec/fixtures/config/deploy.test +3 -0
- data/spec/ordered_phases_spec.rb +6 -4
- data/spec/pre_prepare_spec.rb +8 -6
- data/spec/profile_spec.rb +9 -5
- data/spec/project_spec.rb +9 -2
- data/spec/puppet_spec_helper.rb +1 -1
- data/spec/role_spec.rb +9 -5
- data/spec/spec_helper.rb +5 -0
- metadata +17 -212
- data/lib/templates/puppet/step-0/modules/rbenv/AUTHORS +0 -11
- data/lib/templates/puppet/step-0/modules/rbenv/CHANGELOG.md +0 -70
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile +0 -8
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile.lock +0 -28
- data/lib/templates/puppet/step-0/modules/rbenv/Modulefile +0 -7
- data/lib/templates/puppet/step-0/modules/rbenv/README.md +0 -173
- data/lib/templates/puppet/step-0/modules/rbenv/Rakefile +0 -22
- data/lib/templates/puppet/step-0/modules/rbenv/TODO +0 -10
- data/lib/templates/puppet/step-0/modules/rbenv/bin/autospec +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/facter +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/filebucket +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/hiera +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/htmldiff +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ldiff +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/pi +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-lint +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-module +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetca +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetdoc +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetmasterd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetqd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetrun +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rake +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ralsh +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec-puppet-init +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/provider/rbenvgem/default.rb +0 -50
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/type/rbenvgem.rb +0 -62
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/bundle.pp +0 -36
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/client.pp +0 -48
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/compile.pp +0 -102
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/definition.pp +0 -31
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/centos.pp +0 -25
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/suse.pp +0 -28
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/ubuntu.pp +0 -17
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies.pp +0 -8
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/gem.pp +0 -29
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/install.pp +0 -55
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rbenvvars.pp +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rubybuild.pp +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin.pp +0 -40
- data/lib/templates/puppet/step-0/modules/rbenv/metadata.json +0 -109
- data/lib/templates/puppet/step-0/modules/rbenv/templates/Gemfile.erb +0 -5
- data/lib/templates/puppet/step-0/modules/rbenv/templates/dot.rbenvrc.erb +0 -8
- data/lib/templates/puppet/step-0/modules/stdlib/CHANGELOG.md +0 -418
- data/lib/templates/puppet/step-0/modules/stdlib/CONTRIBUTING.md +0 -65
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile.lock +0 -166
- data/lib/templates/puppet/step-0/modules/stdlib/LICENSE +0 -19
- data/lib/templates/puppet/step-0/modules/stdlib/Modulefile +0 -11
- data/lib/templates/puppet/step-0/modules/stdlib/README.markdown +0 -1304
- data/lib/templates/puppet/step-0/modules/stdlib/README_DEVELOPER.markdown +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/README_SPECS.markdown +0 -7
- data/lib/templates/puppet/step-0/modules/stdlib/RELEASE_PROCESS.markdown +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/Rakefile +0 -18
- data/lib/templates/puppet/step-0/modules/stdlib/checksums.json +0 -349
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/facter_dot_d.rb +0 -202
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/pe_version.rb +0 -53
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/puppet_vardir.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/root_home.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/util/puppet_settings.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/abs.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/any2array.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/base64.rb +0 -37
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chomp.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chop.rb +0 -37
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/concat.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/count.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb +0 -44
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_values.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/difference.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/dirname.rb +0 -15
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/downcase.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/empty.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/flatten.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/floor.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +0 -17
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getparam.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getvar.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/grep.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +0 -52
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_key.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/hash.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/intersection.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_array.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_bool.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +0 -50
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_float.rb +0 -30
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +0 -27
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +0 -75
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_string.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +0 -47
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/keys.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +0 -20
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/max.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/member.rb +0 -44
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/merge.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/min.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +0 -43
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick.rb +0 -29
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/prefix.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/range.rb +0 -88
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reject.rb +0 -31
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reverse.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/size.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/sort.rb +0 -27
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strftime.rb +0 -107
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strip.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/suffix.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/time.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/type.rb +0 -50
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/union.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/unique.rb +0 -51
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/upcase.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +0 -56
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb +0 -81
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +0 -40
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +0 -71
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values_at.rb +0 -98
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/zip.rb +0 -65
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +0 -83
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/anchor.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/file_line.rb +0 -79
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/init.pp +0 -20
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/stages.pp +0 -43
- data/lib/templates/puppet/step-0/modules/stdlib/metadata.json +0 -111
- data/lib/templates/puppet/step-0/modules/sudo/.fixtures.yml +0 -5
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile +0 -14
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile.lock +0 -43
- data/lib/templates/puppet/step-0/modules/sudo/.travis.yml +0 -34
- data/lib/templates/puppet/step-0/modules/sudo/LICENSE +0 -13
- data/lib/templates/puppet/step-0/modules/sudo/Modulefile +0 -9
- data/lib/templates/puppet/step-0/modules/sudo/README.md +0 -171
- data/lib/templates/puppet/step-0/modules/sudo/Rakefile +0 -1
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.aix +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.archlinux +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.deb +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.freebsd +0 -98
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.omnios +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel5 +0 -97
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel6 +0 -115
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.solaris +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.suse +0 -81
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.ubuntu +0 -30
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.wheezy +0 -17
- data/lib/templates/puppet/step-0/modules/sudo/lib/augeas/lenses/fixedsudoers.aug +0 -520
- data/lib/templates/puppet/step-0/modules/sudo/manifests/allow.pp +0 -76
- data/lib/templates/puppet/step-0/modules/sudo/manifests/conf.pp +0 -105
- data/lib/templates/puppet/step-0/modules/sudo/manifests/configs.pp +0 -24
- data/lib/templates/puppet/step-0/modules/sudo/manifests/init.pp +0 -151
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/aix.pp +0 -46
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/solaris.pp +0 -60
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package.pp +0 -61
- data/lib/templates/puppet/step-0/modules/sudo/manifests/params.pp +0 -127
- data/lib/templates/puppet/step-0/modules/sudo/metadata.json +0 -59
- data/lib/templates/puppet/step-0/modules/sudo/templates/users_groups.erb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69912bd5c8001b5268585d2e588209842de9714b
|
4
|
+
data.tar.gz: 8361cf2dc44a3e28bbc6c93991d1cffe68d662d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dad9691f0bff82bf147b9cd09f28bdcbcb143019ce960b99b325ad619393d71c6aca7ab5968cd6c4acf867e28194f2159bad044dd564e5ddaba241801823e0d
|
7
|
+
data.tar.gz: 4865599e35c7ed4b6b8028d73b080bfa5a120ec62167434a580fc0a706d7ad9c3be5a58cadf075e0a2d3f6dd24a00fcf65994af99a989c65ec93753d7e0cee4d
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bebox (0.0
|
5
|
-
active_attr (= 0.8.3)
|
4
|
+
bebox (0.1.0)
|
6
5
|
colorize (= 0.6.0)
|
7
6
|
gli (= 2.10.0)
|
8
7
|
highline (= 1.6.21)
|
@@ -21,12 +20,6 @@ GEM
|
|
21
20
|
activesupport (= 4.1.0)
|
22
21
|
builder (~> 3.1)
|
23
22
|
erubis (~> 2.7.0)
|
24
|
-
active_attr (0.8.3)
|
25
|
-
activemodel (>= 3.0.2, < 4.2)
|
26
|
-
activesupport (>= 3.0.2, < 4.2)
|
27
|
-
activemodel (4.1.0)
|
28
|
-
activesupport (= 4.1.0)
|
29
|
-
builder (~> 3.1)
|
30
23
|
activesupport (4.1.0)
|
31
24
|
i18n (~> 0.6, >= 0.6.9)
|
32
25
|
json (~> 1.7, >= 1.7.7)
|
data/README.md
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
|
2
1
|
Bebox
|
3
2
|
=====
|
4
3
|
|
4
|
+
[![Code Climate](https://codeclimate.com/github/codescrum/bebox/badges/gpa.svg)](https://codeclimate.com/github/codescrum/bebox)
|
5
|
+
|
5
6
|
Introduction
|
6
7
|
------------
|
7
8
|
|
@@ -69,6 +70,20 @@ NOTE: Probably many people would think this is not advisable, so there is always
|
|
69
70
|
|
70
71
|
How to Use
|
71
72
|
----------
|
73
|
+
|
74
|
+
### Bebox demo
|
75
|
+
|
76
|
+
You can see a bebox demo video for a complete example of provisioning a machine and deploying a rails application in it.
|
77
|
+
|
78
|
+
[![bebox demo video](http://img.youtube.com/vi/mioeMsuKJr4/0.jpg)](http://www.youtube.com/watch?v=mioeMsuKJr4)
|
79
|
+
|
80
|
+
Also you can find the provision and rails app code sample projects in:
|
81
|
+
|
82
|
+
* [A puppet repo generated by bebox to deploy a sample rails app.](http://github.com/codescrum/bebox-sample-puppet-generated-repo)
|
83
|
+
|
84
|
+
* [A demo ruby on rails app deployed from a puppet repo generated by bebox.](http://github.com/codescrum/sample-rails-app-for-bebox)
|
85
|
+
|
86
|
+
|
72
87
|
###Installation
|
73
88
|
|
74
89
|
Pre-requisites
|
@@ -77,23 +92,11 @@ Pre-requisites
|
|
77
92
|
* ruby version >= 1.9.2 (ruby 2.1.0 recommended)
|
78
93
|
* vagrant (tested using vagrant 1.6.3)
|
79
94
|
|
80
|
-
####Build bebox gem
|
81
|
-
This commands clone the project and generate the bebox gem file:
|
82
|
-
```
|
83
|
-
git clone https://github.com/jairodiaz/bebox
|
84
|
-
cd bebox
|
85
|
-
gem build bebox.gemspec
|
86
|
-
```
|
87
|
-
This creates a *bebox-0.0.1.gem* file.
|
88
|
-
|
89
|
-
|
90
95
|
####Install bebox:
|
91
96
|
|
92
97
|
In the directory where you want to install bebox do:
|
93
98
|
|
94
|
-
gem install
|
95
|
-
|
96
|
-
Where BEBOX_GEM_PATH is the route to the *bebox-0.0.1.gem* file created previously.
|
99
|
+
gem install bebox
|
97
100
|
|
98
101
|
###Bebox project creation (Project creation phase).
|
99
102
|
|
@@ -224,11 +227,11 @@ The structure is like:
|
|
224
227
|
The *categories (category1, category2, ... categoryN)* are set if the argument *-p PATH* is passed; and are useful better organization of profiles.
|
225
228
|
|
226
229
|
For example:
|
227
|
-
|
228
|
-
bebox profile new iptables -p basic/security
|
229
|
-
|
230
|
+
|
231
|
+
bebox profile new iptables -p basic/security
|
232
|
+
|
230
233
|
would create the profiles directories structure:
|
231
|
-
|
234
|
+
|
232
235
|
── profiles/
|
233
236
|
└── basic/
|
234
237
|
└── security/
|
@@ -256,7 +259,7 @@ To list profiles:
|
|
256
259
|
|
257
260
|
**We recommend to use our default profiles (fundamental, users, security) for steps (0, 1, 3), but you can edit or delete them under your own risk**
|
258
261
|
|
259
|
-
**Important
|
262
|
+
**Important:** Remember that you need to write/edit the puppet code for the profiles to work (specially step-2 that has no defaults); also you have to write/edit the Puppetfile template created to add modules that your profile use; additionally if you call hiera data from a profile you need to add them in the hiera/data/<data>.yaml file in the structure created (see Hiera part below)
|
260
263
|
|
261
264
|
|
262
265
|
####Associate roles and profiles
|
@@ -313,7 +316,7 @@ If you use hiera data from your profiles, you can add them to the appropiate fil
|
|
313
316
|
├── modules/
|
314
317
|
└── Puppetfile (Automatically generated by Bebox in every 'apply')
|
315
318
|
|
316
|
-
Each of
|
319
|
+
Each of the *<number>-<step-name>* directories corresponds to a provisioning step phase. For example **0-fundamental** correspond to **step-0** option.
|
317
320
|
|
318
321
|
To add hiera data you need to edit any of the **[node].yaml**, **[environment].yaml**, **common.yaml**.
|
319
322
|
[node]: correspond to the hiera file for the node hostname (Ex. node0.server1.com.yaml).
|
@@ -327,36 +330,36 @@ To use the project in development mode, you need to do this:
|
|
327
330
|
|
328
331
|
* Clone bebox from the repository.
|
329
332
|
|
330
|
-
|
333
|
+
git clone https://github.com/codescrum/bebox.git
|
331
334
|
|
332
335
|
* Run bundle to install
|
333
336
|
|
334
|
-
|
337
|
+
bundle install
|
335
338
|
|
336
339
|
* Generate the gem package
|
337
340
|
|
338
|
-
|
341
|
+
rake package
|
339
342
|
|
340
343
|
* Make a tmp directory inside bebox folder
|
341
344
|
|
342
|
-
|
343
|
-
|
345
|
+
mkdir tmp
|
346
|
+
cd tmp
|
344
347
|
|
345
348
|
* Execute the project creation command preceded by **bundle exec**
|
346
349
|
|
347
|
-
|
350
|
+
bundle exec bebox new PROJECT
|
348
351
|
|
349
352
|
* Enter to the project created
|
350
353
|
|
351
|
-
|
354
|
+
cd PROJECT
|
352
355
|
|
353
356
|
* Add to the **Gemfile** the line
|
354
357
|
|
355
|
-
|
358
|
+
gem 'bebox', :path => "BEBOX_PATH_IN_YOUR_PC/pkg"
|
356
359
|
|
357
360
|
* Execute any project commands preceded by **bundle exec**
|
358
361
|
|
359
|
-
|
362
|
+
bundle exec bebox environment
|
360
363
|
|
361
364
|
Tests
|
362
365
|
-----
|
@@ -369,4 +372,4 @@ By project's nature the specs must be run in order. To do this all specs has a '
|
|
369
372
|
|
370
373
|
Maybe it would take a large time because it creates a vagrant machine and do a basic provision downloading packages and installing them in the machine.
|
371
374
|
|
372
|
-
**Important
|
375
|
+
**Important:** You need to have the [ubuntu-server-12042-x64-vbox4210-nocm.box](http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box) in the bebox root folder to run the tests
|
data/bebox.gemspec
CHANGED
@@ -21,7 +21,7 @@ spec = Gem::Specification.new do |s|
|
|
21
21
|
s.files = `git ls-files`.split("\n") - ['.ruby-version']
|
22
22
|
s.require_paths << 'lib'
|
23
23
|
s.has_rdoc = false
|
24
|
-
s.rdoc_options << '--title' << 'bebox' << '--main' << 'README.rdoc' << '
|
24
|
+
s.rdoc_options << '--title' << 'bebox' << '--main' << 'README.rdoc' << '--ri'
|
25
25
|
s.bindir = 'bin'
|
26
26
|
s.executables << 'bebox'
|
27
27
|
s.required_ruby_version = '>= 1.9.2'
|
@@ -32,7 +32,6 @@ spec = Gem::Specification.new do |s|
|
|
32
32
|
s.add_development_dependency('serverspec', '1.6.0')
|
33
33
|
s.add_development_dependency('factory_girl', '4.3.0')
|
34
34
|
s.add_runtime_dependency('gli','2.10.0')
|
35
|
-
s.add_runtime_dependency('active_attr', '0.8.3')
|
36
35
|
s.add_runtime_dependency('tilt', '2.0.1')
|
37
36
|
s.add_runtime_dependency('highline', '1.6.21')
|
38
37
|
s.add_runtime_dependency('progressbar', '0.21.0')
|
data/bin/bebox
CHANGED
data/lib/bebox/cli.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
require 'gli'
|
2
|
-
require 'highline/import'
|
3
|
-
require 'bebox/logger'
|
4
1
|
|
5
2
|
module Bebox
|
6
3
|
class Cli
|
@@ -16,10 +13,8 @@ module Bebox
|
|
16
13
|
version Bebox::VERSION
|
17
14
|
|
18
15
|
if inside_project?
|
19
|
-
require 'bebox/commands/project_commands'
|
20
16
|
self.extend Bebox::ProjectCommands
|
21
17
|
else
|
22
|
-
require 'bebox/commands/general_commands'
|
23
18
|
self.extend Bebox::GeneralCommands
|
24
19
|
end
|
25
20
|
exit run(*args)
|
@@ -1,10 +1,12 @@
|
|
1
|
+
|
1
2
|
module Bebox
|
2
3
|
module CommandsHelper
|
4
|
+
include Bebox::WizardsHelper
|
3
5
|
# Obtain the environment from command parameters or menu
|
4
6
|
def get_environment(options)
|
5
7
|
environment = options[:environment]
|
6
8
|
# Ask for environment of node if flag environment not set
|
7
|
-
environment ||=
|
9
|
+
environment ||= choose_option(Environment.list(project_root), 'Choose an existing environment:')
|
8
10
|
# Check environment existence
|
9
11
|
Bebox::Environment.environment_exists?(project_root, environment) ? (return environment) : exit_now!(error("The '#{environment}' environment does not exist."))
|
10
12
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
module Bebox
|
2
3
|
module EnvironmentCommands
|
3
4
|
|
@@ -9,36 +10,32 @@ module Bebox
|
|
9
10
|
# Environment management phase commands
|
10
11
|
desc 'Manage environments for the project. The \'vagrant\', \'production\' and \'staging\' environments are present by default.'
|
11
12
|
command :environment do |environment_command|
|
12
|
-
|
13
|
-
environment_command
|
14
|
-
environment_command
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
environment_command.arg_name "[environment]"
|
26
|
-
environment_command.command :new do |environment_new_command|
|
27
|
-
environment_new_command.action do |global_options,options,args|
|
28
|
-
help_now!(error('You did not supply an environment')) if args.count == 0
|
29
|
-
require 'bebox/wizards/environment_wizard'
|
30
|
-
Bebox::EnvironmentWizard.new.create_new_environment(project_root, args.first)
|
31
|
-
end
|
13
|
+
environment_list_command(environment_command)
|
14
|
+
generate_environment_command(environment_command, :new, :create_new_environment, 'Add a remote environment to the project')
|
15
|
+
generate_environment_command(environment_command, :remove, :remove_environment, 'Remove a remote environment in the project')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def generate_environment_command(environment_command, command, send_command, description)
|
20
|
+
environment_command.desc description
|
21
|
+
environment_command.arg_name "[environment]"
|
22
|
+
environment_command.command command do |generated_command|
|
23
|
+
generated_command.action do |global_options,options,args|
|
24
|
+
help_now!(error('You did not supply an environment')) if args.count == 0
|
25
|
+
Bebox::EnvironmentWizard.new.send(send_command, project_root, args.first)
|
32
26
|
end
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Environment list command
|
31
|
+
def environment_list_command(environment_command)
|
32
|
+
environment_command.desc 'List the remote environments in the project'
|
33
|
+
environment_command.command :list do |environment_list_command|
|
34
|
+
environment_list_command.action do |global_options,options,args|
|
35
|
+
environments = Bebox::Environment.list(project_root)
|
36
|
+
title 'Current environments:'
|
37
|
+
environments.map{|environment| msg(environment)}
|
38
|
+
warn('There are not environments yet. You can create a new one with: \'bebox environment new\' command.') if environments.empty?
|
42
39
|
end
|
43
40
|
end
|
44
41
|
end
|
@@ -12,7 +12,6 @@ module Bebox
|
|
12
12
|
command :new do |project_command|
|
13
13
|
project_command.action do |global_options,options,args|
|
14
14
|
if args.count > 0
|
15
|
-
require 'bebox/wizards/project_wizard'
|
16
15
|
Bebox::ProjectWizard.new.create_new_project("bebox-#{args.first}")
|
17
16
|
else
|
18
17
|
help_now!(error('You did not supply a project name'))
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'bebox/role'
|
2
|
-
require 'bebox/node'
|
3
1
|
|
4
2
|
module Bebox
|
5
3
|
module NodeCommands
|
@@ -12,55 +10,53 @@ module Bebox
|
|
12
10
|
# Nodes management phase commands
|
13
11
|
desc 'Manage nodes for a environment in the project.'
|
14
12
|
command :node do |node_command|
|
15
|
-
|
16
|
-
node_command
|
17
|
-
node_command
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
environment
|
37
|
-
info "Environment: #{environment}"
|
38
|
-
require 'bebox/wizards/node_wizard'
|
39
|
-
Bebox::NodeWizard.new.create_new_node(project_root, environment)
|
13
|
+
node_list_command(node_command)
|
14
|
+
generate_node_command(node_command, :new, :create_new_node, 'Add a node to a environment')
|
15
|
+
node_remove_command(node_command)
|
16
|
+
# These commands are available if there is at least one role and one node
|
17
|
+
generate_node_command(node_command, :set_role, :set_role, 'Associate a node with a role in a environment') if (Bebox::Role.roles_count(project_root) > 0 && Bebox::Node.count_all_nodes_by_type(project_root, 'nodes') > 0)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def node_list_command(node_command)
|
22
|
+
# Node list command
|
23
|
+
node_command.flag :environment, desc: 'Set the environment for nodes', default_value: default_environment
|
24
|
+
node_command.desc 'list the nodes in a environment'
|
25
|
+
node_command.command :list do |node_list_command|
|
26
|
+
node_list_command.switch :all
|
27
|
+
node_list_command.action do |global_options,options,args|
|
28
|
+
# Call to list nodes
|
29
|
+
environments = options[:all] ? Bebox::Environment.list(project_root) : [get_environment(options)]
|
30
|
+
environments.each do |environment|
|
31
|
+
nodes = Node.list(project_root, environment, 'nodes')
|
32
|
+
title "Nodes for '#{environment}' environment:"
|
33
|
+
nodes.map{|node| msg("#{node} (#{Bebox::Node.node_provision_state(project_root, environment, node)})")}
|
34
|
+
warn('There are not nodes yet in the environment. You can create a new one with: \'bebox node new\' command.') if nodes.empty?
|
40
35
|
end
|
36
|
+
linebreak
|
41
37
|
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# For new and set_role commands
|
42
|
+
def generate_node_command(node_command, command, send_command, description)
|
43
|
+
node_command.desc description
|
44
|
+
node_command.command command do |generated_command|
|
45
|
+
generated_command.action do |global_options,options,args|
|
46
|
+
environment = get_environment(options)
|
47
|
+
info "Environment: #{environment}"
|
48
|
+
Bebox::NodeWizard.new.send(send_command, project_root, environment)
|
51
49
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def node_remove_command(node_command)
|
54
|
+
node_command.desc "Remove a node in a environment"
|
55
|
+
node_command.command :remove do |node_remove_command|
|
56
|
+
node_remove_command.action do |global_options,options,args|
|
57
|
+
environment = get_environment(options)
|
58
|
+
info "Environment: #{environment}"
|
59
|
+
Bebox::NodeWizard.new.remove_node(project_root, environment, args.first)
|
64
60
|
end
|
65
61
|
end
|
66
62
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
module Bebox
|
2
3
|
module PrepareCommands
|
3
4
|
|
@@ -15,45 +16,37 @@ module Bebox
|
|
15
16
|
# Check if vagrant is installed
|
16
17
|
return error('Vagrant is not installed in the system. No changes were made.') unless vagrant_installed?
|
17
18
|
title "Environment: #{environment}"
|
18
|
-
require 'bebox/wizards/node_wizard'
|
19
19
|
Bebox::NodeWizard.new.prepare(project_root, environment)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
# These commands are available if there are at least one node in the vagrant environment
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
environment = 'vagrant'
|
32
|
-
title "Environment: #{environment}"
|
33
|
-
title 'Halting nodes:'
|
34
|
-
nodes.each{|node| msg(node.hostname)}
|
35
|
-
linebreak
|
36
|
-
# Halt vagrant nodes
|
37
|
-
Bebox::Node.halt_vagrant_nodes(project_root)
|
38
|
-
end
|
23
|
+
(Bebox::Node.list(project_root, 'vagrant', 'prepared_nodes').count > 0) ? load_vagrant_commands : return
|
24
|
+
end
|
25
|
+
|
26
|
+
def load_vagrant_commands
|
27
|
+
desc 'Halt the nodes for vagrant environment.'
|
28
|
+
command :vagrant_halt do |vagrant_halt_command|
|
29
|
+
vagrant_halt_command.action do |global_options,options,args|
|
30
|
+
vagrant_command(:halt_vagrant_nodes, 'Halting nodes:')
|
39
31
|
end
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
# List nodes in environment and notice message
|
46
|
-
nodes = Bebox::Node.nodes_in_environment(project_root, 'vagrant', 'nodes')
|
47
|
-
environment = 'vagrant'
|
48
|
-
title "Environment: #{environment}"
|
49
|
-
title 'Running up nodes:'
|
50
|
-
nodes.each{|node| msg(node.hostname)}
|
51
|
-
linebreak
|
52
|
-
# Up vagrant nodes
|
53
|
-
Bebox::Node.up_vagrant_nodes(project_root)
|
54
|
-
end
|
32
|
+
end
|
33
|
+
desc 'Up the nodes for vagrant environment.'
|
34
|
+
command :vagrant_up do |vagrant_up_command|
|
35
|
+
vagrant_up_command.action do |global_options,options,args|
|
36
|
+
vagrant_command(:up_vagrant_nodes, 'Running up nodes:')
|
55
37
|
end
|
56
38
|
end
|
57
39
|
end
|
40
|
+
|
41
|
+
def vagrant_command(command, message)
|
42
|
+
# Check if vagrant is installed
|
43
|
+
return error('Vagrant is not installed in the system. No changes were made.') unless vagrant_installed?
|
44
|
+
nodes = Bebox::Node.nodes_in_environment(project_root, 'vagrant', 'nodes')
|
45
|
+
environment = 'vagrant'
|
46
|
+
title "Environment: #{environment}\n#{message}"
|
47
|
+
nodes.each{|node| msg(node.hostname)}
|
48
|
+
linebreak
|
49
|
+
Bebox::VagrantHelper.send(command, project_root)
|
50
|
+
end
|
58
51
|
end
|
59
52
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
|
2
|
+
module Bebox
|
3
|
+
module ProfileCommands
|
4
|
+
|
5
|
+
def self.extended(base)
|
6
|
+
base.load_commands
|
7
|
+
end
|
8
|
+
|
9
|
+
def load_commands
|
10
|
+
desc 'Manage profiles for the node provisioning phase.'
|
11
|
+
command :profile do |profile_command|
|
12
|
+
profile_new_command(profile_command)
|
13
|
+
profile_remove_command(profile_command)
|
14
|
+
profile_list_command(profile_command)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# Profile new command
|
19
|
+
def profile_new_command(profile_command)
|
20
|
+
profile_command.desc 'Add a profile to the project'
|
21
|
+
profile_command.arg_name "[name]"
|
22
|
+
profile_command.command :new do |profile_new_command|
|
23
|
+
profile_new_command.flag :p, :arg_name => 'path', :desc => 'A relative path of the category folders tree to store the profile. Ex. basic/security/iptables'
|
24
|
+
profile_new_command.action do |global_options,options,args|
|
25
|
+
path = options[:p] || ''
|
26
|
+
help_now!(error('You did not supply a name')) if args.count == 0
|
27
|
+
Bebox::ProfileWizard.new.create_new_profile(project_root, args.first, path)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Profile remove command
|
33
|
+
def profile_remove_command(profile_command)
|
34
|
+
profile_command.desc "Remove a profile from the project"
|
35
|
+
profile_command.command :remove do |profile_remove_command|
|
36
|
+
profile_remove_command.action do |global_options,options,args|
|
37
|
+
Bebox::ProfileWizard.new.remove_profile(project_root)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Profile list command
|
43
|
+
def profile_list_command(profile_command)
|
44
|
+
profile_command.desc 'List the profiles in the project'
|
45
|
+
profile_command.command :list do |profile_list_command|
|
46
|
+
profile_list_command.action do |global_options,options,args|
|
47
|
+
profiles = Bebox::ProfileWizard.new.list_profiles(project_root)
|
48
|
+
title 'Current profiles:'
|
49
|
+
profiles.map{|profile| msg(profile)}
|
50
|
+
warn('There are not profiles yet. You can create a new one with: \'bebox profile new\' command.') if profiles.empty?
|
51
|
+
linebreak
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'bebox/commands/commands_helper'
|
2
1
|
|
3
2
|
module Bebox
|
4
3
|
module ProjectCommands
|
@@ -10,35 +9,30 @@ module Bebox
|
|
10
9
|
end
|
11
10
|
|
12
11
|
def load_commands
|
13
|
-
|
14
|
-
|
12
|
+
load_environment_commands
|
13
|
+
load_node_commands
|
14
|
+
load_prepare_commands
|
15
|
+
load_provision_commands
|
16
|
+
end
|
17
|
+
|
18
|
+
# Load environment commands
|
19
|
+
def load_environment_commands
|
15
20
|
self.extend Bebox::EnvironmentCommands
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end
|
32
|
-
pre do |global_options,command,options,args|
|
33
|
-
true
|
34
|
-
end
|
35
|
-
|
36
|
-
post do |global_options,command,options,args|
|
37
|
-
end
|
38
|
-
|
39
|
-
on_error do |exception|
|
40
|
-
true
|
41
|
-
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Load node commands if there are environments configured
|
24
|
+
def load_node_commands
|
25
|
+
Bebox::Environment.list(project_root).count > 0 ? (self.extend Bebox::NodeCommands) : return
|
26
|
+
end
|
27
|
+
|
28
|
+
# Load prepare commands if there are at least one node
|
29
|
+
def load_prepare_commands
|
30
|
+
Bebox::Node.count_all_nodes_by_type(project_root, 'nodes') > 0 ? (self.extend Bebox::PrepareCommands) : return
|
31
|
+
end
|
32
|
+
|
33
|
+
# Load provision commands if there are nodes prepared
|
34
|
+
def load_provision_commands
|
35
|
+
Bebox::Node.count_all_nodes_by_type(project_root, 'prepared_nodes') > 0 ? (self.extend Bebox::ProvisionCommands) : return
|
42
36
|
end
|
43
37
|
end
|
44
38
|
end
|