Module: R10K::CLI::Deploy

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

Defined Under Namespace

Modules: Display, Environment, Module Classes: TransformExcludeSpec

Class Method Summary collapse

Class Method Details

.commandObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/r10k/cli/deploy.rb', line 26

def self.command
  @cmd ||= Cri::Command.define do
    name    'deploy'
    usage   'deploy <subcommand>'
    summary 'Puppet dynamic environment deployment'

    description <<-DESCRIPTION
`r10k deploy` implements the Git branch to Puppet environment workflow
(https://puppet.com/docs/puppet/latest/environments_about.html).
    DESCRIPTION

    option nil, :cachedir, 'Specify a cachedir, overriding the value in config', argument: :required
    flag nil, :'no-force', 'Prevent the overwriting of local module modifications'
    flag nil, :'generate-types', 'Run `puppet generate types` after updating an environment'
    option nil, :'exclude-spec', 'Exclude the module\'s spec dir for deployment', argument: :optional,
                                                                                  transform: TransformExcludeSpec.new
    option nil, :'puppet-path', 'Path to puppet executable', argument: :required do |value, cmd|
      unless File.executable? value
        $stderr.puts "The specified puppet executable #{value} is not executable."
        puts cmd.help
        exit 1
      end
    end
    option nil, :'puppet-conf', 'Path to puppet.conf', argument: :required
    option nil, :'private-key', 'Path to SSH key to use when cloning. Only valid with rugged provider', argument: :required
    option nil, :'oauth-token', 'Path to OAuth token to use when cloning. Only valid with rugged provider', argument: :required
    option nil, :'github-app-id', 'Github App id. Only valid with rugged provider', argument: :required
    option nil, :'github-app-key', 'Github App private key. Only valid with rugged provider', argument: :required
    option nil, :'github-app-ttl', 'Github App token expiration, in seconds. Only valid with rugged provider', default: "120", argument: :optional

    run do |opts, args, cmd|
      puts cmd.help(:verbose => opts[:verbose])
      exit 0
    end
  end
end