]> gitweb.fluxo.info Git - puppet-ekeyd.git/commitdiff
init release of ekeyd module
authormh <mh@immerda.ch>
Fri, 24 Sep 2010 11:02:37 +0000 (13:02 +0200)
committermh <mh@immerda.ch>
Fri, 24 Sep 2010 11:02:37 +0000 (13:02 +0200)
lib/facter/ekeyd.rb [new file with mode: 0644]
manifests/base.pp [new file with mode: 0644]
manifests/init.pp [new file with mode: 0644]

diff --git a/lib/facter/ekeyd.rb b/lib/facter/ekeyd.rb
new file mode 100644 (file)
index 0000000..a201e7f
--- /dev/null
@@ -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 (file)
index 0000000..e4d572d
--- /dev/null
@@ -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 (file)
index 0000000..7ccad90
--- /dev/null
@@ -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
+}