From: mh Date: Fri, 24 Sep 2010 11:02:37 +0000 (+0200) Subject: init release of ekeyd module X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=49d6b734a816b9ef1c92b034c2850bff24d68e37;p=puppet-ekeyd.git init release of ekeyd module --- 49d6b734a816b9ef1c92b034c2850bff24d68e37 diff --git a/lib/facter/ekeyd.rb b/lib/facter/ekeyd.rb new file mode 100644 index 0000000..a201e7f --- /dev/null +++ b/lib/facter/ekeyd.rb @@ -0,0 +1,7 @@ +Facter.add('ekeyd_key_present') do + confine :kernel => %w{Linux} + setcode do + FileTest.exists?('/proc/bus/usb/devices') && \ + !(File.read('/proc/bus/usb/devices') =~ /Product=Entropy Key/).nil? + end +end diff --git a/manifests/base.pp b/manifests/base.pp new file mode 100644 index 0000000..e4d572d --- /dev/null +++ b/manifests/base.pp @@ -0,0 +1,18 @@ +class ekeyd::base { + + package{'ekeyd': + ensure => installed, + } + + service{'ekeyd': + ensure => running, + enable => true, + require => Package['ekeyd'], + } + + exec{'configure_ekey_key': + command => "ekey-rekey `ekeydctl list | grep \"/dev/entropykey\" | awk -F, '{ print \$5}'` ${ekey_masterkey}", + unless => "ekeydctl list | grep -q 'Running OK'", + require => Service['ekeyd'], + } +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..7ccad90 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,7 @@ +class ekeyd { + + if $ekey_key_present != 'true' { fail("Can't find an ekey key plugged into usb on ${fqdn}") } + if !$ekey_masterkey { fail("You need to define \$ekey_masterkey for ${fqdn}") } + + include ekeyd::base +}