diff options
| author | Richard Crowley <r@rcrowley.org> | 2011-03-22 23:46:21 +0000 |
|---|---|---|
| committer | Richard Crowley <r@rcrowley.org> | 2011-03-23 01:33:53 +0000 |
| commit | 5d7715b0c56c6f06d916126e8470d7edb66d7687 (patch) | |
| tree | a8e0b0bd4e5c71ef1ec892857a398c3314f5890f /lib/puppet/interface | |
| parent | 6dd629cb79e56d0bbf4670b84a73b0a7e3eef919 (diff) | |
| download | puppet-5d7715b0c56c6f06d916126e8470d7edb66d7687.tar.gz puppet-5d7715b0c56c6f06d916126e8470d7edb66d7687.tar.xz puppet-5d7715b0c56c6f06d916126e8470d7edb66d7687.zip | |
Factoring cert status app back into certificate.
Diffstat (limited to 'lib/puppet/interface')
| -rw-r--r-- | lib/puppet/interface/certificate.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/puppet/interface/certificate.rb b/lib/puppet/interface/certificate.rb index 09da0a6c3..c2101d926 100644 --- a/lib/puppet/interface/certificate.rb +++ b/lib/puppet/interface/certificate.rb @@ -1,4 +1,21 @@ require 'puppet/interface/indirector' Puppet::Interface::Indirector.interface(:certificate) do + + action :sign do |name| + unless indirection.terminus + raise ArgumentError, "You must have a CA specified; use --ca-location to specify the location (remote, local, only)" + end + + location = Puppet::SSL::Host.ca_location + if location == :local && !Puppet::SSL::CertificateAuthority.ca? + Puppet::Application[:certificate].class.run_mode("master") + set_run_mode Puppet::Application[:certificate].class.run_mode + end + + Puppet::SSL::CertificateStatus.indirection.save( + Puppet::SSL::CertificateStatus.new(name)) + + end + end |
