Sha256: a080f4b2867b622304bb6c146a3e53cf82655871f3116e6e4ad3f713914a4ed0

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

module Capstrap
  module Chef
    
    def self.load_into(configuration)
      configuration.load do
        
        namespace :chef do
          namespace :install do
            
            desc "Installs chef gem"
            task :lib do
              unless chef_installed?
                cmd = [
                  %{use #{ruby}@global},
                  %{gem install chef}
                ]
                rvm_run cmd.join(" && ")
              end
            end

            desc "Installs chef cookbook git repository"
            task :cookbooks do
              unless cookbooks_repo_installed?
                cmd = [
                  %{git clone #{cookbooks_repo} #{cookbooks_path}},
                  %{cd #{cookbooks_path}},
                  %{git submodule init},
                  %{git submodule update}
                ]
                run cmd.join(" && ")
              end
            end

            desc "Installs chef configuration git repository"
            task :config do
              unless config_repo_installed?
                cmd = [
                  %{git clone #{config_repo} #{config_path}},
                  %{cd #{config_path}},
                  %{git submodule init},
                  %{git submodule update}
                ]
                run cmd.join(" && ")
              end
            end
          end

          namespace :execute do

            desc "Executes chef solo configuration"
            task :solo do
              cmd = [
                %{use #{ruby}},
                %{chef-solo}
              ]
              rvm_run cmd.join(" && ")
            end
          end
        end
      end
    end
  end
end

if Capistrano::Configuration.instance
  Capstrap::Chef.load_into(Capistrano::Configuration.instance)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capstrap-0.2.0 lib/capistrano/ext/capstrap/chef.rb