Module: R10K::CLI::Deploy::Module

Defined in:
lib/r10k/cli/deploy.rb

Class Method Summary collapse

Class Method Details

.commandObject



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/r10k/cli/deploy.rb', line 81

def self.command
  @cmd ||= Cri::Command.define do
    name  'module'
    usage 'module [module] <module ...>'
    summary 'Deploy modules in all environments'

    description <<-DESCRIPTION
`r10k deploy module` Deploys and updates modules inside of Puppet environments.
It will load the Puppetfile configurations out of all environments, and will
try to deploy the given module names in all environments.
    DESCRIPTION

    flag :h, :help, 'Show help for this command' do |value, cmd|
      puts cmd.help
      exit 0
    end

    run do |opts, args, cmd|
      deploy = R10K::Deployment.load_config(opts[:config])

      task = R10K::Task::Deployment::DeployModules.new(deploy)
      task.module_names = args

      runner = R10K::TaskRunner.new(:trace => opts[:trace])
      runner.append_task task
      runner.run

      exit runner.exit_value
    end
  end
end