Sha256: 41bd5a46275a254ee8ba7d9dafec0f2ee6079f3e2599ae9f4cd0f1c7282ec9a6

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

module Capistrano
  module Puppeteer
    module Puppet

      def self.extended(configuration)
        configuration.load do
          unless exists? :puppet_path
            set(:puppet_path) { '/srv/puppet' } unless exists? :puppet_path
          end

          namespace :puppet do
            task :update do
              system 'git push'
              run "#{sudo} chgrp -R adm #{puppet_path}"
              run "#{sudo} chmod -R g+rw #{puppet_path}"
              run "cd #{puppet_path} && git pull --quiet"
            end

            desc <<-DESC
            Perform a puppet run.

            Pass options to puppt using OPTIONS

            puppet:go options="--noop"
            DESC
            task :go do
              update
              options = ENV['options'] || ENV['OPTIONS'] || ''
              run "cd #{puppet_path} && #{sudo} puppet apply --config puppet.conf --verbose #{options} manifests/site.pp"
            end
          end
        end
      end
    end
  end
end

if Capistrano::Configuration.instance
  Capistrano::Configuration.instance.extend Capistrano::Puppeteer::Puppet
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-puppeteer-0.0.2 lib/capistrano/puppeteer/puppet.rb