summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorLuke Kanies <luke@puppetlabs.com>2011-03-22 19:17:57 -0700
committerLuke Kanies <luke@puppetlabs.com>2011-03-22 19:17:57 -0700
commita1ce253d5896c6923165b5c00edef87003b16d7b (patch)
treeac9417c8857777466b3ed581aa49e76b268c3f3e /lib/puppet
parent562ae5fb9d78b1a6d46e79bb41d8498f29246f41 (diff)
downloadpuppet-a1ce253d5896c6923165b5c00edef87003b16d7b.tar.gz
puppet-a1ce253d5896c6923165b5c00edef87003b16d7b.tar.xz
puppet-a1ce253d5896c6923165b5c00edef87003b16d7b.zip
Adding Certficate#generate
Signed-off-by: Luke Kanies <luke@puppetlabs.com>
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/interface/certificate.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/puppet/interface/certificate.rb b/lib/puppet/interface/certificate.rb
index 9b9496977..6ba043e8c 100644
--- a/lib/puppet/interface/certificate.rb
+++ b/lib/puppet/interface/certificate.rb
@@ -1,6 +1,15 @@
require 'puppet/interface/indirector'
Puppet::Interface::Indirector.interface(:certificate) do
+ action :generate do
+ invoke do |name|
+ require 'puppet/ssl/host'
+
+ host = Puppet::SSL::Host.new(name)
+ host.generate
+ end
+ end
+
action :sign do |name|
invoke do |name|
unless Puppet::SSL::Host.ca_location
@@ -9,8 +18,9 @@ Puppet::Interface::Indirector.interface(:certificate) do
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
+ app = Puppet::Application[:certificate]
+ app.class.run_mode("master")
+ app.set_run_mode Puppet::Application[:certificate].class.run_mode
end
Puppet::SSL::Host.indirection.save(Puppet::SSL::Host.new(name))