summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-08-04 19:56:02 -0300
committerSilvio Rhatto <rhatto@riseup.net>2013-08-04 19:56:02 -0300
commit2a5feff1c6b3cd266bf8e8d6687f67f3cb9811dc (patch)
treef211acc50463a91feefc005b2611b9d70d8c2670
parent1f6acd780995fda8b7e1f5f1469c6db54ff8d57a (diff)
downloadpuppet-mail-2a5feff1c6b3cd266bf8e8d6687f67f3cb9811dc.tar.gz
puppet-mail-2a5feff1c6b3cd266bf8e8d6687f67f3cb9811dc.tar.bz2
Adding gpg-mailgate support
-rw-r--r--files/gpg_mailgate/gpg-mailgate.conf23
-rw-r--r--manifests/gpg_mailgate.pp41
2 files changed, 64 insertions, 0 deletions
diff --git a/files/gpg_mailgate/gpg-mailgate.conf b/files/gpg_mailgate/gpg-mailgate.conf
new file mode 100644
index 0000000..c2c4872
--- /dev/null
+++ b/files/gpg_mailgate/gpg-mailgate.conf
@@ -0,0 +1,23 @@
+[default]
+add_header = yes
+domains = example.com,corp.org
+
+[gpg]
+keyhome = /var/lib/gpgmailgate/.gnupg
+
+[logging]
+file = /var/log/gpg-mailgate.log
+
+[relay]
+host = 127.0.0.1
+port = 10028
+
+[keymap]
+# You can find these by running the following command:
+# gpg --list-keys --keyid-format long user@example.com
+# Which will return output similar to:
+# pub 1024D/AAAAAAAAAAAAAAAA 2007-10-22
+# uid Joe User <user@example.com>
+# sub 2048g/BBBBBBBBBBBBBBBB 2007-10-22
+# You want the AAAAAAAAAAAAAAAA not BBBBBBBBBBBBBBBB.
+#user@example.com = <gpg key id>
diff --git a/manifests/gpg_mailgate.pp b/manifests/gpg_mailgate.pp
new file mode 100644
index 0000000..f00bb62
--- /dev/null
+++ b/manifests/gpg_mailgate.pp
@@ -0,0 +1,41 @@
+class gpg_mailgate {
+ group { "gpg_mailgate":
+ ensure => present,
+ allowdupe => false,
+ }
+
+ user { "gpg_mailgate":
+ ensure => present,
+ allowdupe => false,
+ gid => 'gpg_mailgate',
+ require => Group['gpg_mailgate'],
+ home => '/var/lib/gpg_mailgate',
+ }
+
+ vcsrepo { "/var/lib/gpg_mailgate":
+ ensure => present,
+ provider => git,
+ source => 'git://github.com/ajgon/gpg-mailgate',
+ revision => '078381c2ddf05f0a5701f00bffa99e178ab658c9',
+ owner => 'gpg_mailgate',
+ group => 'gpg_mailgate',
+ require => [ User['gpg_mailgate'], Group['gpg_mailgate'] ],
+ }
+
+ file { '/usr/local/bin/gpg-mailgate.py':
+ ensure => '/usr/local/bin/gpg-mailgate.py',
+ owner => root,
+ group => root,
+ require => Vcsrepo['/var/lib/gpg_mailgate'],
+ }
+
+ file { '/etc/gpg-mailgate.conf':
+ ensure => present,
+ owner => gpg_mailgate,
+ group => gpg_mailgate,
+ mode => 0600,
+ require => Vcsrepo['/var/lib/gpg_mailgate'],
+ source => [ "puppet:///modules/site_mail/gpg_mailgate/gpg-mailgate.conf",
+ "puppet:///modules/mail/gpg_mailgate/gpg-mailgate.conf" ],
+ }
+}