Initial version of sks module
This commit is contained in:
parent
74b91b8380
commit
bda0cb174a
3 changed files with 167 additions and 0 deletions
95
sks/manifests/init.pp
Normal file
95
sks/manifests/init.pp
Normal file
|
@ -0,0 +1,95 @@
|
|||
# Install and configure SKS keyserver.
|
||||
#
|
||||
class sks($datadir=undef) {
|
||||
|
||||
case $::operatingsystem {
|
||||
"ubuntu": {
|
||||
$user = "debian-sks"
|
||||
$group = "debian-sks"
|
||||
$config = "/etc/sks/sksconf"
|
||||
}
|
||||
default: {
|
||||
fail("sks not supported on ${::operatingsystem}")
|
||||
}
|
||||
}
|
||||
|
||||
package { "sks":
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
if $datadir {
|
||||
file { $datadir:
|
||||
ensure => directory,
|
||||
mode => "0700",
|
||||
owner => $user,
|
||||
group => $group,
|
||||
require => Package["sks"],
|
||||
}
|
||||
file { "/var/lib/sks":
|
||||
ensure => link,
|
||||
target => $datadir,
|
||||
force => true,
|
||||
require => File[$datadir],
|
||||
}
|
||||
} else {
|
||||
file { "/var/lib/sks":
|
||||
ensure => directory,
|
||||
mode => "0700",
|
||||
owner => $user,
|
||||
group => $group,
|
||||
require => Package["sks"],
|
||||
}
|
||||
}
|
||||
|
||||
exec { "sks build":
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
user => $user,
|
||||
creates => "/var/lib/sks/DB",
|
||||
require => File["/var/lib/sks"],
|
||||
before => Service["sks"],
|
||||
}
|
||||
|
||||
file { $config:
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
content => template("sks/sksconf.erb"),
|
||||
require => Package["sks"],
|
||||
notify => Service["sks"],
|
||||
}
|
||||
|
||||
case $::operatingsystem {
|
||||
"debian","ubuntu": {
|
||||
augeas { "enable-sks":
|
||||
context => "/files/etc/default/sks",
|
||||
changes => "set initstart yes",
|
||||
require => Package["sks"],
|
||||
notify => Service["sks"],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
file { "/var/lib/sks/www":
|
||||
ensure => directory,
|
||||
mode => "0700",
|
||||
owner => $user,
|
||||
group => $group,
|
||||
}
|
||||
|
||||
file { "/var/lib/sks/www/index.html":
|
||||
ensure => present,
|
||||
mode => "0600",
|
||||
owner => $user,
|
||||
group => $group,
|
||||
content => template("sks/index.html.erb"),
|
||||
before => Service["sks"],
|
||||
}
|
||||
|
||||
service { "sks":
|
||||
ensure => running,
|
||||
enable => true,
|
||||
status => "pgrep -f /usr/sbin/sks",
|
||||
}
|
||||
|
||||
}
|
40
sks/templates/index.html.erb
Normal file
40
sks/templates/index.html.erb
Normal file
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>SKS Search Page</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SKS OpenPGP Keyserver</h1>
|
||||
<h3>Extract a key</h3>
|
||||
You can extract a key by typing in some words that appear in the userid
|
||||
of the key you're looking for, or by typing in the keyid in hex format ("0x...")
|
||||
<p>
|
||||
<form action="/pks/lookup" method="get">
|
||||
Search String: <input name="search" size="40"> <br>
|
||||
Show PGP "fingerprints" for keys
|
||||
<input type="checkbox" name="fingerprint"> <br>
|
||||
Show SKS full-key hashes
|
||||
<input type="checkbox" name="hash"> <br>
|
||||
Search for keys: <br>
|
||||
<input type="radio" name="op" value="index"> get regular index of matching keys
|
||||
<br>
|
||||
<input type="radio" name="op" value="vindex" CHECKED> get <b>verbose</b>
|
||||
index of matching keys <br>
|
||||
<input type="radio" name="op" value="get"> retrieve ascii-armored keys <br>
|
||||
<input type="radio" name="op" value="hget"> retrieve keys by full-key hash
|
||||
<br>
|
||||
<input type="reset" value="Reset">
|
||||
<input type="submit">
|
||||
</form>
|
||||
<br>
|
||||
<h3>Submit a key</h3>
|
||||
You can submit a key by simply pasting in the ASCII-armored version
|
||||
of your key and clicking on submit.
|
||||
<form action="/pks/add" method="post">
|
||||
<textarea name="keytext" rows="20" cols="66"></textarea> <br>
|
||||
<input type="reset" value="Reset">
|
||||
<input type="submit" value="Submit this key to the keyserver!">
|
||||
</form>
|
||||
<br>
|
||||
<br>
|
32
sks/templates/sksconf.erb
Normal file
32
sks/templates/sksconf.erb
Normal file
|
@ -0,0 +1,32 @@
|
|||
# /etc/sks/sksconf
|
||||
#
|
||||
# The configuration file for your SKS server.
|
||||
# You can find more options in sks(8) manpage.
|
||||
|
||||
# Set server hostname
|
||||
hostname: <%= @fqdn %>
|
||||
|
||||
# Set recon binding address
|
||||
recon_address: <%= @ipaddress %>
|
||||
|
||||
# Set recon port number
|
||||
#recon_port: 11370
|
||||
|
||||
# Set hkp binding address
|
||||
hkp_address: <%= @ipaddress %>
|
||||
|
||||
# Set hkp port number
|
||||
#hkp_port: 11371
|
||||
|
||||
# Have the HKP interface listen on port 80, as well as the hkp_port
|
||||
#use_port_80:
|
||||
|
||||
# From address used in synchronization emails used to communicate with PKS
|
||||
#from_addr: "PGP Key Server Administrator <pgp-public-keys@this.server.fdqn>"
|
||||
|
||||
# Command used for sending mail (you can use -f option to specify the
|
||||
# envelope sender address, if your MTA trusts the sks user)
|
||||
#sendmail_cmd: /usr/lib/sendmail -t -oi
|
||||
|
||||
# Runs database statistics calculation on boot (time and cpu expensive)
|
||||
#initial_stat:
|
Loading…
Add table
Reference in a new issue