bebox 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +78 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +163 -0
- data/LICENSE +21 -0
- data/README.md +372 -0
- data/Rakefile +8 -0
- data/bebox.gemspec +40 -0
- data/bin/bebox +5 -0
- data/lib/bebox/cli.rb +42 -0
- data/lib/bebox/commands/commands_helper.rb +33 -0
- data/lib/bebox/commands/environment_commands.rb +46 -0
- data/lib/bebox/commands/general_commands.rb +24 -0
- data/lib/bebox/commands/node_commands.rb +68 -0
- data/lib/bebox/commands/prepare_commands.rb +59 -0
- data/lib/bebox/commands/project_commands.rb +44 -0
- data/lib/bebox/commands/provision_commands.rb +145 -0
- data/lib/bebox/environment.rb +114 -0
- data/lib/bebox/logger.rb +51 -0
- data/lib/bebox/node.rb +308 -0
- data/lib/bebox/profile.rb +102 -0
- data/lib/bebox/project.rb +259 -0
- data/lib/bebox/provision.rb +257 -0
- data/lib/bebox/role.rb +103 -0
- data/lib/bebox/version.rb +3 -0
- data/lib/bebox/wizards/environment_wizard.rb +45 -0
- data/lib/bebox/wizards/node_wizard.rb +163 -0
- data/lib/bebox/wizards/profile_wizard.rb +91 -0
- data/lib/bebox/wizards/project_wizard.rb +175 -0
- data/lib/bebox/wizards/provision_wizard.rb +80 -0
- data/lib/bebox/wizards/role_wizard.rb +97 -0
- data/lib/bebox.rb +2 -0
- data/lib/deb/puppet_3.6.0/augeas-lenses_0.10.0-0ubuntu4_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/debconf-utils_1.5.42ubuntu1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/facter_2.0.1-1puppetlabs1_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/hiera_1.3.2-1puppetlabs1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/libaugeas-ruby1.8_0.3.0-1.1ubuntu4_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/libaugeas-ruby_0.3.0-1.1ubuntu4_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/libaugeas0_0.10.0-0ubuntu4_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/libjson-ruby_1.6.3-1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/libruby1.8_1.8.7.352-2ubuntu1.4_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/libruby_4.8_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/libshadow-ruby1.8_1.4.1-8build1_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/puppet-common_3.6.0-1puppetlabs1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/puppet_3.6.0-1puppetlabs1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/ruby-json_1.6.3-1_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/ruby-rgen_0.6.5-1puppetlabs1_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/ruby1.8_1.8.7.352-2ubuntu1.4_amd64.deb +0 -0
- data/lib/deb/puppet_3.6.0/ruby_4.8_all.deb +0 -0
- data/lib/deb/puppet_3.6.0/virt-what_1.11-1_amd64.deb +0 -0
- data/lib/templates/node/Vagrantfile.erb +18 -0
- data/lib/templates/node/deploy_vagrant_node.erb +3 -0
- data/lib/templates/node/node.yml.erb +3 -0
- data/lib/templates/node/prepared_node.yml.erb +4 -0
- data/lib/templates/node/provisioned_node.yml.erb +4 -0
- data/lib/templates/project/Capfile.erb +2 -0
- data/lib/templates/project/Gemfile.erb +5 -0
- data/lib/templates/project/config/deploy/environment.erb +40 -0
- data/lib/templates/project/config/deploy/vagrant.erb +42 -0
- data/lib/templates/project/config/deploy.erb +120 -0
- data/lib/templates/project/dot_bebox.erb +4 -0
- data/lib/templates/project/gitignore.erb +7 -0
- data/lib/templates/project/ubuntu_dependencies +10 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/ruby/Puppetfile +0 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/ruby/manifests/init.pp +24 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/sudo/Puppetfile +0 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/sudo/manifests/init.pp +22 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/users/Puppetfile +0 -0
- data/lib/templates/puppet/default_profiles/base/fundamental/users/manifests/init.pp +18 -0
- data/lib/templates/puppet/default_profiles/base/security/fail2ban/Puppetfile +2 -0
- data/lib/templates/puppet/default_profiles/base/security/fail2ban/manifests/init.pp +28 -0
- data/lib/templates/puppet/default_profiles/base/security/iptables/Puppetfile +2 -0
- data/lib/templates/puppet/default_profiles/base/security/iptables/manifests/init.pp +27 -0
- data/lib/templates/puppet/default_profiles/base/security/ssh/Puppetfile +2 -0
- data/lib/templates/puppet/default_profiles/base/security/ssh/manifests/init.pp +30 -0
- data/lib/templates/puppet/default_profiles/base/security/sysctl/Puppetfile +2 -0
- data/lib/templates/puppet/default_profiles/base/security/sysctl/manifests/init.pp +20 -0
- data/lib/templates/puppet/default_profiles/base/users/ssh/Puppetfile +2 -0
- data/lib/templates/puppet/default_profiles/base/users/ssh/manifests/init.pp +47 -0
- data/lib/templates/puppet/default_profiles/base/users/users/Puppetfile +0 -0
- data/lib/templates/puppet/default_profiles/base/users/users/manifests/init.pp +18 -0
- data/lib/templates/puppet/default_roles/fundamental/manifests/init.pp +16 -0
- data/lib/templates/puppet/default_roles/security/manifests/init.pp +17 -0
- data/lib/templates/puppet/default_roles/users/manifests/init.pp +15 -0
- data/lib/templates/puppet/profiles/Puppetfile.erb +24 -0
- data/lib/templates/puppet/profiles/manifests/init.pp.erb +17 -0
- data/lib/templates/puppet/roles/manifests/init.pp.erb +14 -0
- data/lib/templates/puppet/step-0/Puppetfile.erb +5 -0
- data/lib/templates/puppet/step-0/hiera/data/common.yaml.erb +26 -0
- data/lib/templates/puppet/step-0/hiera/data/environment.yaml.erb +26 -0
- data/lib/templates/puppet/step-0/hiera/data/node.yaml.erb +26 -0
- data/lib/templates/puppet/step-0/hiera/hiera.yaml.erb +11 -0
- data/lib/templates/puppet/step-0/manifests/node.erb +5 -0
- data/lib/templates/puppet/step-0/manifests/site.pp.erb +15 -0
- data/lib/templates/puppet/step-0/modules/rbenv/AUTHORS +11 -0
- data/lib/templates/puppet/step-0/modules/rbenv/CHANGELOG.md +70 -0
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile +8 -0
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile.lock +28 -0
- data/lib/templates/puppet/step-0/modules/rbenv/Modulefile +7 -0
- data/lib/templates/puppet/step-0/modules/rbenv/README.md +173 -0
- data/lib/templates/puppet/step-0/modules/rbenv/Rakefile +22 -0
- data/lib/templates/puppet/step-0/modules/rbenv/TODO +10 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/autospec +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/facter +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/filebucket +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/hiera +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/htmldiff +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ldiff +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/pi +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-lint +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-module +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetca +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetd +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetdoc +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetmasterd +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetqd +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetrun +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rake +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ralsh +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec-puppet-init +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/provider/rbenvgem/default.rb +50 -0
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/type/rbenvgem.rb +62 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/bundle.pp +36 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/client.pp +48 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/compile.pp +102 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/definition.pp +31 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/centos.pp +25 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/suse.pp +28 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/ubuntu.pp +17 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies.pp +8 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/gem.pp +29 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/install.pp +55 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rbenvvars.pp +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rubybuild.pp +16 -0
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin.pp +40 -0
- data/lib/templates/puppet/step-0/modules/rbenv/metadata.json +109 -0
- data/lib/templates/puppet/step-0/modules/rbenv/templates/Gemfile.erb +5 -0
- data/lib/templates/puppet/step-0/modules/rbenv/templates/dot.rbenvrc.erb +8 -0
- data/lib/templates/puppet/step-0/modules/stdlib/CHANGELOG.md +418 -0
- data/lib/templates/puppet/step-0/modules/stdlib/CONTRIBUTING.md +65 -0
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile.lock +166 -0
- data/lib/templates/puppet/step-0/modules/stdlib/LICENSE +19 -0
- data/lib/templates/puppet/step-0/modules/stdlib/Modulefile +11 -0
- data/lib/templates/puppet/step-0/modules/stdlib/README.markdown +1304 -0
- data/lib/templates/puppet/step-0/modules/stdlib/README_DEVELOPER.markdown +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/README_SPECS.markdown +7 -0
- data/lib/templates/puppet/step-0/modules/stdlib/RELEASE_PROCESS.markdown +24 -0
- data/lib/templates/puppet/step-0/modules/stdlib/Rakefile +18 -0
- data/lib/templates/puppet/step-0/modules/stdlib/checksums.json +349 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/facter_dot_d.rb +202 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/pe_version.rb +53 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/puppet_vardir.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/root_home.rb +32 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/util/puppet_settings.rb +21 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/abs.rb +36 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/any2array.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/base64.rb +37 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +49 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chomp.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chop.rb +37 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/concat.rb +41 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/count.rb +22 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb +44 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete.rb +46 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +49 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_values.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/difference.rb +36 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/dirname.rb +15 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/downcase.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/empty.rb +28 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +45 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/flatten.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/floor.rb +25 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +46 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +17 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getparam.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getvar.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/grep.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +52 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +25 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +25 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_key.rb +28 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/hash.rb +41 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/intersection.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_array.rb +22 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_bool.rb +22 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +50 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_float.rb +30 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +22 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +45 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +32 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +27 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +75 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_string.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join.rb +41 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +47 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/keys.rb +26 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +20 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/max.rb +21 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/member.rb +44 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/merge.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/min.rb +21 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +43 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +24 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +24 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick.rb +29 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/prefix.rb +45 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/range.rb +88 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reject.rb +31 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reverse.rb +28 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +32 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +46 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/size.rb +48 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/sort.rb +27 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +36 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +46 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +32 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strftime.rb +107 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strip.rb +39 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/suffix.rb +45 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +39 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/time.rb +49 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +28 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/type.rb +50 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/union.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/unique.rb +51 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/upcase.rb +41 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +35 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +56 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb +81 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +34 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb +48 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb +48 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb +49 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +40 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +71 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +33 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values.rb +39 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values_at.rb +98 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/zip.rb +65 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +83 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/anchor.rb +46 -0
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/file_line.rb +79 -0
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/init.pp +20 -0
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/stages.pp +43 -0
- data/lib/templates/puppet/step-0/modules/stdlib/metadata.json +111 -0
- data/lib/templates/puppet/step-0/modules/sudo/.fixtures.yml +5 -0
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile +14 -0
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile.lock +43 -0
- data/lib/templates/puppet/step-0/modules/sudo/.travis.yml +34 -0
- data/lib/templates/puppet/step-0/modules/sudo/LICENSE +13 -0
- data/lib/templates/puppet/step-0/modules/sudo/Modulefile +9 -0
- data/lib/templates/puppet/step-0/modules/sudo/README.md +171 -0
- data/lib/templates/puppet/step-0/modules/sudo/Rakefile +1 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.aix +90 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.archlinux +90 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.deb +90 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.freebsd +98 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.omnios +90 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel5 +97 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel6 +115 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.solaris +90 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.suse +81 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.ubuntu +30 -0
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.wheezy +17 -0
- data/lib/templates/puppet/step-0/modules/sudo/lib/augeas/lenses/fixedsudoers.aug +520 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/allow.pp +76 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/conf.pp +105 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/configs.pp +24 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/init.pp +151 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/aix.pp +46 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/solaris.pp +60 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package.pp +61 -0
- data/lib/templates/puppet/step-0/modules/sudo/manifests/params.pp +127 -0
- data/lib/templates/puppet/step-0/modules/sudo/metadata.json +59 -0
- data/lib/templates/puppet/step-0/modules/sudo/templates/users_groups.erb +9 -0
- data/lib/templates/puppet/step-0/modules/users/manifests/init.pp +15 -0
- data/lib/templates/puppet/step-0/modules/users/manifests/user.pp +50 -0
- data/lib/templates/puppet/step-1/Puppetfile.erb +5 -0
- data/lib/templates/puppet/step-1/hiera/data/common.yaml.erb +11 -0
- data/lib/templates/puppet/step-1/hiera/data/environment.yaml.erb +11 -0
- data/lib/templates/puppet/step-1/hiera/data/node.yaml.erb +11 -0
- data/lib/templates/puppet/step-1/hiera/hiera.yaml.erb +11 -0
- data/lib/templates/puppet/step-1/manifests/node.erb +5 -0
- data/lib/templates/puppet/step-1/manifests/site.pp.erb +15 -0
- data/lib/templates/puppet/step-1/modules/users/manifests/init.pp +15 -0
- data/lib/templates/puppet/step-1/modules/users/manifests/user.pp +49 -0
- data/lib/templates/puppet/step-2/Puppetfile.erb +5 -0
- data/lib/templates/puppet/step-2/hiera/data/common.yaml.erb +1 -0
- data/lib/templates/puppet/step-2/hiera/data/environment.yaml.erb +1 -0
- data/lib/templates/puppet/step-2/hiera/data/node.yaml.erb +1 -0
- data/lib/templates/puppet/step-2/hiera/hiera.yaml.erb +11 -0
- data/lib/templates/puppet/step-2/manifests/node.erb +3 -0
- data/lib/templates/puppet/step-2/manifests/site.pp.erb +10 -0
- data/lib/templates/puppet/step-3/Puppetfile.erb +5 -0
- data/lib/templates/puppet/step-3/hiera/data/common.yaml.erb +99 -0
- data/lib/templates/puppet/step-3/hiera/data/environment.yaml.erb +99 -0
- data/lib/templates/puppet/step-3/hiera/data/node.yaml.erb +99 -0
- data/lib/templates/puppet/step-3/hiera/hiera.yaml.erb +11 -0
- data/lib/templates/puppet/step-3/manifests/node.erb +5 -0
- data/lib/templates/puppet/step-3/manifests/site.pp.erb +15 -0
- data/spec/environment_spec.rb +82 -0
- data/spec/factories/environment.rb +20 -0
- data/spec/factories/node.rb +22 -0
- data/spec/factories/profile.rb +10 -0
- data/spec/factories/project.rb +17 -0
- data/spec/factories/provision.rb +13 -0
- data/spec/factories/role.rb +9 -0
- data/spec/fixtures/Capfile.test +2 -0
- data/spec/fixtures/Gemfile.test +5 -0
- data/spec/fixtures/config/deploy/environment.test +35 -0
- data/spec/fixtures/config/deploy/production.test +35 -0
- data/spec/fixtures/config/deploy/staging.test +35 -0
- data/spec/fixtures/config/deploy/vagrant.test +37 -0
- data/spec/fixtures/config/deploy.test +120 -0
- data/spec/fixtures/dot_bebox.test.erb +4 -0
- data/spec/fixtures/dot_gitignore.test +8 -0
- data/spec/fixtures/node/Vagrantfile.test.erb +18 -0
- data/spec/fixtures/node/node_0.test.erb +3 -0
- data/spec/fixtures/node/prepared_node_0.test.erb +4 -0
- data/spec/fixtures/node/provisioned_node_0.test.erb +4 -0
- data/spec/fixtures/node/vagrant_deploy.test +38 -0
- data/spec/fixtures/puppet/hiera/data/node0.server1.test.yaml.test +4 -0
- data/spec/fixtures/puppet/profiles/test/profile_0/Puppetfile.test +24 -0
- data/spec/fixtures/puppet/profiles/test/profile_0/Puppetfile_with_modules.test +20 -0
- data/spec/fixtures/puppet/profiles/test/profile_0/manifests/init.pp.test +17 -0
- data/spec/fixtures/puppet/profiles/test/profile_0/manifests/init_with_content.pp.test +22 -0
- data/spec/fixtures/puppet/roles/manifests/init.pp.test +14 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/common.yaml.test +26 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/node0.server1.test.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/pname_env.yaml.test +26 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/production.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/staging.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/data/vagrant.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-0/hiera/hiera.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-0/manifests/site.pp.test +10 -0
- data/spec/fixtures/puppet/steps/step-0/manifests/site_with_node.pp.test +15 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/common.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/node0.server1.test.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/pname_env.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/production.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/staging.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/data/vagrant.yaml.test +0 -0
- data/spec/fixtures/puppet/steps/step-1/hiera/hiera.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-1/manifests/site.pp.test +10 -0
- data/spec/fixtures/puppet/steps/step-1/manifests/site_with_node.pp.test +15 -0
- data/spec/fixtures/puppet/steps/step-2/Puppetfile.test +6 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/common.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/node0.server1.test.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/pname_env.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/production.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/staging.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/data/vagrant.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-2/hiera/hiera.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-2/manifests/site.pp.test +10 -0
- data/spec/fixtures/puppet/steps/step-2/manifests/site_with_node.pp.test +13 -0
- data/spec/fixtures/puppet/steps/step-2/manifests/site_with_node_role_association.pp.test +16 -0
- data/spec/fixtures/puppet/steps/step-2/modules/profiles/manifests/test/profile_0.pp.test +17 -0
- data/spec/fixtures/puppet/steps/step-2/modules/roles/manifests/role_0.pp.test +16 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/common.yaml.test +99 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/node0.server1.test.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/pname_env.yaml.test +99 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/production.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/staging.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/data/vagrant.yaml.test +1 -0
- data/spec/fixtures/puppet/steps/step-3/hiera/hiera.yaml.test +11 -0
- data/spec/fixtures/puppet/steps/step-3/manifests/site.pp.test +10 -0
- data/spec/fixtures/puppet/steps/step-3/manifests/site_with_node.pp.test +15 -0
- data/spec/fixtures/puppet/ubuntu_dependencies.test +10 -0
- data/spec/node0.server1.test/prepare_phase_spec.rb +53 -0
- data/spec/node0.server1.test/provision_step_0_spec.rb +46 -0
- data/spec/node0.server1.test/provision_step_1_spec.rb +41 -0
- data/spec/node0.server1.test/provision_step_2_spec.rb +79 -0
- data/spec/node0.server1.test/provision_step_3_spec.rb +76 -0
- data/spec/node_role_spec.rb +20 -0
- data/spec/node_spec.rb +71 -0
- data/spec/node_wizard_spec.rb +22 -0
- data/spec/ordered_phases_spec.rb +55 -0
- data/spec/pre_prepare_spec.rb +78 -0
- data/spec/pre_provision_steps_spec.rb +40 -0
- data/spec/profile_spec.rb +70 -0
- data/spec/project_spec.rb +195 -0
- data/spec/project_wizard_spec.rb +51 -0
- data/spec/puppet_spec_helper.rb +15 -0
- data/spec/role_profiles_spec.rb +40 -0
- data/spec/role_spec.rb +56 -0
- data/spec/spec_helper.rb +37 -0
- data/spec/support/config_specs.yaml.example +2 -0
- data/spec/vagrant_spec_helper.rb +15 -0
- metadata +625 -0
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::fundamental::ruby {
|
|
16
|
+
# Get rbenv options from hiera
|
|
17
|
+
$rbenv_install_hash = { 'rbenv_install' => hiera('rbenv::install', {}) }
|
|
18
|
+
$rbenv_compile_hash = hiera('rbenv::compile', {})
|
|
19
|
+
$rbenv_gem_hash = hiera('rbenv::gem', {})
|
|
20
|
+
# Install rbenv, ruby version and gems from options
|
|
21
|
+
create_resources('rbenv::install', $rbenv_install_hash)
|
|
22
|
+
create_resources('rbenv::compile', $rbenv_compile_hash)
|
|
23
|
+
create_resources('rbenv::gem', $rbenv_gem_hash)
|
|
24
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::fundamental::sudo {
|
|
16
|
+
include stdlib
|
|
17
|
+
# Module takes sudo users from hiera
|
|
18
|
+
class { '::sudo':
|
|
19
|
+
purge => false,
|
|
20
|
+
config_file_replace => false,
|
|
21
|
+
}
|
|
22
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::fundamental::users {
|
|
16
|
+
# Module users internally load parameters from hiera
|
|
17
|
+
include ::users
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::security::fail2ban {
|
|
16
|
+
# Obtain fail2ban parameters from hiera
|
|
17
|
+
$fail2ban_parameters = hiera('fail2ban', {})
|
|
18
|
+
$bantime = $fail2ban_parameters[bantime]
|
|
19
|
+
$maxretry = $fail2ban_parameters[maxretry]
|
|
20
|
+
$mailto = $fail2ban_parameters[destemail]
|
|
21
|
+
|
|
22
|
+
# Instance the fail2ban class with hiera parameters
|
|
23
|
+
class { '::fail2ban':
|
|
24
|
+
bantime => $bantime,
|
|
25
|
+
maxretry => $maxretry,
|
|
26
|
+
mailto => $mailto,
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::security::iptables {
|
|
16
|
+
# Make the rules persist after shutdown
|
|
17
|
+
package { 'iptables-persistent':
|
|
18
|
+
ensure => present
|
|
19
|
+
}
|
|
20
|
+
resources { "firewall":
|
|
21
|
+
purge => true,
|
|
22
|
+
require => Package['iptables-persistent'],
|
|
23
|
+
}
|
|
24
|
+
# Obtain iptables parameters from hiera and create firewall rules
|
|
25
|
+
$firewall_rules_hash = hiera('firewall', {})
|
|
26
|
+
create_resources('firewall', $firewall_rules_hash)
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::security::ssh {
|
|
16
|
+
# Obtain ssh parameters from hiera
|
|
17
|
+
$ssh_parameters = hiera('ssh::server', {})
|
|
18
|
+
$port = $ssh_parameters[port]
|
|
19
|
+
$password_authentication = $ssh_parameters[password_authentication]
|
|
20
|
+
$pubkey_authentication = $ssh_parameters[pubkey_authentication]
|
|
21
|
+
$permit_root_login = $ssh_parameters[permit_root_login]
|
|
22
|
+
|
|
23
|
+
# Instance the ssh::server class with hiera parameters
|
|
24
|
+
class { '::ssh::server':
|
|
25
|
+
port => $port,
|
|
26
|
+
password_authentication => $password_authentication,
|
|
27
|
+
pubkey_authentication => $pubkey_authentication,
|
|
28
|
+
permit_root_login => $permit_root_login,
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::security::sysctl {
|
|
16
|
+
# Obtain sysctl rules from hiera
|
|
17
|
+
$sysctl_values_hash = hiera('sysctl', {})
|
|
18
|
+
# Set sysctl rules
|
|
19
|
+
create_resources('sysctl', $sysctl_values_hash)
|
|
20
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::users::ssh {
|
|
16
|
+
# Configure agent forwarding for application user
|
|
17
|
+
$ssh_forwarding_hash = hiera_hash('ssh::client_rules', {})
|
|
18
|
+
class { '::ssh::client':
|
|
19
|
+
storeconfigs_enabled => false,
|
|
20
|
+
options => $ssh_forwarding_hash
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
# define profiles::users::get_forwarding_rules (
|
|
25
|
+
# $ssh_forwarding_hash = {},
|
|
26
|
+
# ) {
|
|
27
|
+
# $forwarding_hosts = {}
|
|
28
|
+
# each($ssh_forwarding_hash) |$user, $user_forwarding_hash| {
|
|
29
|
+
# $hosts = $user_forwarding_hash[hosts]
|
|
30
|
+
# each($hosts) |$host, $value| {
|
|
31
|
+
# $host_hash = { "Host $host" => { 'User' => $user, 'ForwardAgent' => $value, 'StrictHostKeyChecking' => 'no' } }
|
|
32
|
+
# $forwarding_hosts += $host_hash
|
|
33
|
+
# }
|
|
34
|
+
# }
|
|
35
|
+
# profiles::users::forwarding { 'forwardinghosts':
|
|
36
|
+
# forwarding_hosts => $forwarding_hosts,
|
|
37
|
+
# }
|
|
38
|
+
# }
|
|
39
|
+
|
|
40
|
+
# define profiles::users::forwarding (
|
|
41
|
+
# $forwarding_hosts = {},
|
|
42
|
+
# ){
|
|
43
|
+
# class { 'ssh::client':
|
|
44
|
+
# storeconfigs_enabled => false,
|
|
45
|
+
# options => $forwarding_hosts
|
|
46
|
+
# }
|
|
47
|
+
# }
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::base::users::users {
|
|
16
|
+
# Module users internally load parameters from hiera
|
|
17
|
+
include ::users
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# The role class can include many profiles
|
|
2
|
+
# Example:
|
|
3
|
+
# class roles::example_role {
|
|
4
|
+
# include profiles::category::example_profile_1
|
|
5
|
+
# include profiles::category::example_profile_2
|
|
6
|
+
# ...
|
|
7
|
+
# include profiles::category::example_profile_N
|
|
8
|
+
# }
|
|
9
|
+
# The profiles can be added/removed to the role manually or through the
|
|
10
|
+
# 'bebox role add_profile' and 'bebox role remove_profile' commands.
|
|
11
|
+
|
|
12
|
+
class roles::fundamental {
|
|
13
|
+
include profiles::base::fundamental::ruby
|
|
14
|
+
include profiles::base::fundamental::sudo
|
|
15
|
+
include profiles::base::fundamental::users
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# The role class can include many profiles
|
|
2
|
+
# Example:
|
|
3
|
+
# class roles::example_role {
|
|
4
|
+
# include profiles::category::example_profile_1
|
|
5
|
+
# include profiles::category::example_profile_2
|
|
6
|
+
# ...
|
|
7
|
+
# include profiles::category::example_profile_N
|
|
8
|
+
# }
|
|
9
|
+
# The profiles can be added/removed to the role manually or through the
|
|
10
|
+
# 'bebox role add_profile' and 'bebox role remove_profile' commands.
|
|
11
|
+
|
|
12
|
+
class roles::security {
|
|
13
|
+
include profiles::base::security::fail2ban
|
|
14
|
+
include profiles::base::security::iptables
|
|
15
|
+
include profiles::base::security::ssh
|
|
16
|
+
include profiles::base::security::sysctl
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# The role class can include many profiles
|
|
2
|
+
# Example:
|
|
3
|
+
# class roles::example_role {
|
|
4
|
+
# include profiles::category::example_profile_1
|
|
5
|
+
# include profiles::category::example_profile_2
|
|
6
|
+
# ...
|
|
7
|
+
# include profiles::category::example_profile_N
|
|
8
|
+
# }
|
|
9
|
+
# The profiles can be added/removed to the role manually or through the
|
|
10
|
+
# 'bebox role add_profile' and 'bebox role remove_profile' commands.
|
|
11
|
+
|
|
12
|
+
class roles::users {
|
|
13
|
+
include profiles::base::users::users
|
|
14
|
+
include profiles::base::users::ssh
|
|
15
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Bebox template for the profiles.
|
|
2
|
+
|
|
3
|
+
# For modules loaded from forge puppetlabs
|
|
4
|
+
# mod 'organization/module_name', 'version'
|
|
5
|
+
# example: mod "puppetlabs/nginx", '1.0.0'
|
|
6
|
+
|
|
7
|
+
# For modules loaded from github releases tarball
|
|
8
|
+
# mod "organization/module_name", :git => "git_url", :ref => 'v1.0.0'
|
|
9
|
+
# mod "organization/module_name", :git => "git_url", :ref => 'branch_name'
|
|
10
|
+
# example: mod "jfryman/nginx", :git => "git://github.com/jfryman/puppet-nginx.git", :ref => 'v0.0.9'
|
|
11
|
+
# example: mod "jfryman/nginx", :git => "git://github.com/jfryman/puppet-nginx.git", :ref => 'master'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# This are some common modules we have used and works well.
|
|
15
|
+
# You can uncomment for use it or can add new ones.
|
|
16
|
+
|
|
17
|
+
# mod "alup/rbenv", '1.2.0'
|
|
18
|
+
# mod "jfryman/nginx", '0.0.9'
|
|
19
|
+
# mod "dwerder/redis", '1.1.0'
|
|
20
|
+
# mod "puppetlabs/mysql", '2.2.3'
|
|
21
|
+
# mod "akumria/postgresql", '1.2.0'
|
|
22
|
+
# mod "dwerder/mongodb", '3.3.1'
|
|
23
|
+
# mod "mwillbanks/newrelic", '0.1.0'
|
|
24
|
+
# mod "dhoppe/postfix", :git => "git://github.com/dhoppe/puppet-postfix.git", :ref => '3.0.x'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# The profile class include the classes instantiation or
|
|
2
|
+
# puppet/modules type resource definitions.
|
|
3
|
+
# It can include hiera calls for the parametter setting.
|
|
4
|
+
# Example:
|
|
5
|
+
# class profiles::category::technology {
|
|
6
|
+
# $technology_parameters = hiera("technology")
|
|
7
|
+
# $parameter1 = technology_parameters[parameter1]
|
|
8
|
+
# ...
|
|
9
|
+
# class { "technology_resource":
|
|
10
|
+
# parameter1 => $parameter1
|
|
11
|
+
# ...
|
|
12
|
+
# }
|
|
13
|
+
# }
|
|
14
|
+
|
|
15
|
+
class profiles::<%=profile.namespace_name%> {
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# The role class can include many profiles
|
|
2
|
+
# Example:
|
|
3
|
+
# class roles::example_role {
|
|
4
|
+
# include profiles::category::example_profile_1
|
|
5
|
+
# include profiles::category::example_profile_2
|
|
6
|
+
# ...
|
|
7
|
+
# include profiles::category::example_profile_N
|
|
8
|
+
# }
|
|
9
|
+
# The profiles can be added/removed to the role manually or through the
|
|
10
|
+
# 'bebox role add_profile' and 'bebox role remove_profile' commands.
|
|
11
|
+
|
|
12
|
+
class roles::<%=role.name%> {
|
|
13
|
+
|
|
14
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
user_accounts:
|
|
2
|
+
- name: 'puppet'
|
|
3
|
+
email: ''
|
|
4
|
+
key: '<%= ssh_key %>'
|
|
5
|
+
uid: 7000
|
|
6
|
+
sudo::configs:
|
|
7
|
+
'puppet':
|
|
8
|
+
ensure: 'present'
|
|
9
|
+
content: '%puppet ALL=(ALL) NOPASSWD: ALL'
|
|
10
|
+
priority: 10
|
|
11
|
+
rbenv::install:
|
|
12
|
+
user: 'puppet'
|
|
13
|
+
group: 'puppet'
|
|
14
|
+
home: '/home/puppet'
|
|
15
|
+
rbenv::compile:
|
|
16
|
+
"1.9.3-p327":
|
|
17
|
+
user: "puppet"
|
|
18
|
+
home: "/home/puppet"
|
|
19
|
+
global: true
|
|
20
|
+
rbenv::gem:
|
|
21
|
+
'puppet':
|
|
22
|
+
user: 'puppet'
|
|
23
|
+
ruby: '1.9.3-p327'
|
|
24
|
+
'librarian-puppet':
|
|
25
|
+
user: 'puppet'
|
|
26
|
+
ruby: '1.9.3-p327'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
user_accounts:
|
|
2
|
+
- name: 'puppet'
|
|
3
|
+
email: ''
|
|
4
|
+
key: '<%= ssh_key %>'
|
|
5
|
+
uid: 7000
|
|
6
|
+
sudo::configs:
|
|
7
|
+
'puppet':
|
|
8
|
+
ensure: 'present'
|
|
9
|
+
content: '%puppet ALL=(ALL) NOPASSWD: ALL'
|
|
10
|
+
priority: 10
|
|
11
|
+
rbenv::install:
|
|
12
|
+
user: 'puppet'
|
|
13
|
+
group: 'puppet'
|
|
14
|
+
home: '/home/puppet'
|
|
15
|
+
rbenv::compile:
|
|
16
|
+
"1.9.3-p327":
|
|
17
|
+
user: "puppet"
|
|
18
|
+
home: "/home/puppet"
|
|
19
|
+
global: true
|
|
20
|
+
rbenv::gem:
|
|
21
|
+
'puppet':
|
|
22
|
+
user: 'puppet'
|
|
23
|
+
ruby: '1.9.3-p327'
|
|
24
|
+
'librarian-puppet':
|
|
25
|
+
user: 'puppet'
|
|
26
|
+
ruby: '1.9.3-p327'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
user_accounts:
|
|
2
|
+
- name: 'puppet'
|
|
3
|
+
email: ''
|
|
4
|
+
key: '<%= ssh_key %>'
|
|
5
|
+
uid: 7000
|
|
6
|
+
sudo::configs:
|
|
7
|
+
'puppet':
|
|
8
|
+
ensure: 'present'
|
|
9
|
+
content: '%puppet ALL=(ALL) NOPASSWD: ALL'
|
|
10
|
+
priority: 10
|
|
11
|
+
rbenv::install:
|
|
12
|
+
user: 'puppet'
|
|
13
|
+
group: 'puppet'
|
|
14
|
+
home: '/home/puppet'
|
|
15
|
+
rbenv::compile:
|
|
16
|
+
"1.9.3-p327":
|
|
17
|
+
user: "puppet"
|
|
18
|
+
home: "/home/puppet"
|
|
19
|
+
global: true
|
|
20
|
+
rbenv::gem:
|
|
21
|
+
'puppet':
|
|
22
|
+
user: 'puppet'
|
|
23
|
+
ruby: '1.9.3-p327'
|
|
24
|
+
'librarian-puppet':
|
|
25
|
+
user: 'puppet'
|
|
26
|
+
ruby: '1.9.3-p327'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Important note: This file is empty.
|
|
2
|
+
# /etc/puppet/hiera.yml is used by default.
|
|
3
|
+
# deploy_user and deploy_environment is set in the puppet apply command executed by capistrano
|
|
4
|
+
:backends: yaml
|
|
5
|
+
:yaml:
|
|
6
|
+
:datadir: %{::deploy_to}/current/steps/<%=step_dir%>/hiera/data
|
|
7
|
+
:hierarchy:
|
|
8
|
+
- %{::fqdn}
|
|
9
|
+
- %{::deploy_environment}
|
|
10
|
+
- common
|
|
11
|
+
:logger: console
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# This file associates nodes with roles
|
|
2
|
+
# Example:
|
|
3
|
+
# node node0.server1.test {
|
|
4
|
+
# include roles::role_1
|
|
5
|
+
# }
|
|
6
|
+
# The roles and profiles pattern recommends to associate one node with
|
|
7
|
+
# one and only one role.
|
|
8
|
+
# The role can be set to the node manually or through the
|
|
9
|
+
# 'bebox node set_role' command.
|
|
10
|
+
|
|
11
|
+
<% nodes.each do |node| %>
|
|
12
|
+
node <%= node.hostname %> {
|
|
13
|
+
include roles::fundamental
|
|
14
|
+
}
|
|
15
|
+
<% end %>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.2.0
|
|
4
|
+
|
|
5
|
+
- Pass --disable-install-doc configure option by default to rbenv::compile (by Jonathan Owens)
|
|
6
|
+
- Use cache folder for rbenv installations to benefit from
|
|
7
|
+
https://github.com/sstephenson/ruby-build/pull/232
|
|
8
|
+
|
|
9
|
+
## 1.1.0
|
|
10
|
+
|
|
11
|
+
- Use .profile as the default rc file and let the user override it.
|
|
12
|
+
(This choice is preferred than bashrc because login shells do not read .bashrc file.)
|
|
13
|
+
- Fix the usage of ruby interpreter during gem execution environment in
|
|
14
|
+
rbenvgem provider.
|
|
15
|
+
- Use rbenv::gem to install bundler inside proper ruby environment.
|
|
16
|
+
- Fix class name for rbenv dependencies.
|
|
17
|
+
|
|
18
|
+
## 1.0.0
|
|
19
|
+
|
|
20
|
+
- Support for installation of rbenv plugins (Special thanks to @fgrehm - Fabio
|
|
21
|
+
Rehm)
|
|
22
|
+
* Implemented rbenv::plugin
|
|
23
|
+
* Moved ruby-build to rbenv::plugin::rubybuild
|
|
24
|
+
* Implemented rbenv::plugin::rbenvvars
|
|
25
|
+
- Support for custom ruby build definitions (by Fabio Rehm)
|
|
26
|
+
- Refactored test suite related to the major changes (by Mislav Marohnic)
|
|
27
|
+
- Added bundle resource to bundle install inside a client directory (by
|
|
28
|
+
Marcello Barnaba)
|
|
29
|
+
- Added a client resource defining an user that shares an rbenv
|
|
30
|
+
installation. (by Marcello Barnaba)
|
|
31
|
+
- Major rewrite of the core parts (Special thanks to @vjt - Marcello
|
|
32
|
+
Barnaba)
|
|
33
|
+
* Rbenv class has been removed and replaced by defines for
|
|
34
|
+
installation, compilation etc.
|
|
35
|
+
* Refactor gem installation. Implemented rubygems provider, type etc.
|
|
36
|
+
- Added SuSE dependencies.
|
|
37
|
+
- Implemented gem installation capabilities (rbenv::gem first iteration by newrelic team).
|
|
38
|
+
- Support multiple users with different rbenvs (by newrelic guys).
|
|
39
|
+
|
|
40
|
+
## 0.3.1
|
|
41
|
+
|
|
42
|
+
- Fix escape string for PATH environment variable [GH-11]
|
|
43
|
+
|
|
44
|
+
## 0.3.0
|
|
45
|
+
|
|
46
|
+
- Add option to set group of the user [GH-9]
|
|
47
|
+
- Add option to set user home
|
|
48
|
+
|
|
49
|
+
## 0.2.0
|
|
50
|
+
|
|
51
|
+
- CentOS, Redhat compatibility [GH-5]
|
|
52
|
+
- Allow per user installation (several users on a single machine can have rbenv
|
|
53
|
+
setup for them) [GH-5]
|
|
54
|
+
- Provide a more generic approach. Now the root user can be used, too.
|
|
55
|
+
|
|
56
|
+
## 0.1.0
|
|
57
|
+
|
|
58
|
+
- Move install to a define and provide more parameterization.
|
|
59
|
+
WARNING! This is a major changeset and it is not compatible with previous
|
|
60
|
+
versions. This will be included in a new minor version.
|
|
61
|
+
|
|
62
|
+
## 0.0.2
|
|
63
|
+
|
|
64
|
+
- Handle dependencies based on platform.
|
|
65
|
+
- Add specs and basic testing structures.
|
|
66
|
+
|
|
67
|
+
## 0.0.1
|
|
68
|
+
|
|
69
|
+
- Hello World
|
|
70
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
GEM
|
|
2
|
+
remote: https://rubygems.org/
|
|
3
|
+
specs:
|
|
4
|
+
diff-lcs (1.1.3)
|
|
5
|
+
facter (1.6.11)
|
|
6
|
+
puppet (2.7.18)
|
|
7
|
+
facter (~> 1.5)
|
|
8
|
+
puppet-lint (0.1.13)
|
|
9
|
+
rake (0.9.2.2)
|
|
10
|
+
rspec (2.11.0)
|
|
11
|
+
rspec-core (~> 2.11.0)
|
|
12
|
+
rspec-expectations (~> 2.11.0)
|
|
13
|
+
rspec-mocks (~> 2.11.0)
|
|
14
|
+
rspec-core (2.11.1)
|
|
15
|
+
rspec-expectations (2.11.2)
|
|
16
|
+
diff-lcs (~> 1.1.3)
|
|
17
|
+
rspec-mocks (2.11.1)
|
|
18
|
+
rspec-puppet (0.1.4)
|
|
19
|
+
rspec
|
|
20
|
+
|
|
21
|
+
PLATFORMS
|
|
22
|
+
ruby
|
|
23
|
+
|
|
24
|
+
DEPENDENCIES
|
|
25
|
+
puppet (>= 2.7)
|
|
26
|
+
puppet-lint
|
|
27
|
+
rake
|
|
28
|
+
rspec-puppet
|