#
-# Cookbook Name:: mailman
+# Cookbook:: mailman
# Recipe:: default
#
-# Copyright 2011, OpenStreetMap Foundation
+# Copyright:: 2011, OpenStreetMap Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
require "securerandom"
include_recipe "apache"
+include_recipe "prometheus"
-package "mailman"
+package %w[
+ locales-all
+ mailman
+ ruby-webrick
+]
-node.normal_unless[:mailman][:subscribe_form_secret] = SecureRandom.base64(48)
+subscribe_form_secret = persistent_token("mailman", "subscribe_form_secret")
template "/etc/mailman/mm_cfg.py" do
source "mm_cfg.py.erb"
user "root"
group "root"
- mode 0o644
+ mode "644"
+ variables :subscribe_form_secret => subscribe_form_secret
notifies :restart, "service[mailman]"
end
+execute "newlist" do
+ command "newlist -q mailman mailman@example.com mailman"
+ user "root"
+ group "root"
+ not_if { ::File.exist?("/var/lib/mailman/lists/mailman/") }
+end
+
service "mailman" do
action [:enable, :start]
supports :restart => true, :reload => true
apache_site "lists.openstreetmap.org" do
template "apache.erb"
+ directory "/srv/lists.openstreetmap.org"
variables :aliases => ["lists.osm.org"]
end
source "backup.cron.erb"
owner "root"
group "root"
- mode 0o755
+ mode "755"
+end
+
+prometheus_exporter "mailman" do
+ port 8083
+ user "list"
end