module R10K::CLI::Deploy

Public Class Methods

command() click to toggle source
# 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