summaryrefslogtreecommitdiffstats
path: root/lib/puppet/application/certificate.rb
blob: eacb830b2cc024fc9f6cd9ea3465a622565d5413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'puppet/application/indirection_base'

class Puppet::Application::Certificate < Puppet::Application::IndirectionBase
  def setup
    unless options[:ca_location]
      raise ArgumentError, "You must have a CA location specified;\n" +
        "use --ca-location to specify the location (remote, local, only)"
    end

    location = Puppet::SSL::Host.ca_location
    if location == :local && !Puppet::SSL::CertificateAuthority.ca?
      self.class.run_mode("master")
      self.set_run_mode self.class.run_mode
    end

    super
  end
end