110 lines
2.6 KiB
CFEngine3
110 lines
2.6 KiB
CFEngine3
#
|
|
# opendkim
|
|
#
|
|
|
|
bundle agent opendkim(cfg_param)
|
|
{
|
|
vars:
|
|
"service_name" string => "opendkim";
|
|
|
|
debian::
|
|
"pkgs" slist => {"opendkim"};
|
|
"uid" string => "opendkim";
|
|
"gid" string => "opendkim";
|
|
"cfg_file" string => "/etc/opendkim.conf";
|
|
"pid_file" string => "/run/opendkim/opendkim.pid";
|
|
|
|
centos::
|
|
"pkgs" slist => {"opendkim"};
|
|
"uid" string => "opendkim";
|
|
"gid" string => "opendkim";
|
|
"cfg_file" string => "/etc/opendkim.conf";
|
|
"pid_file" string => "/run/opendkim/opendkim.pid";
|
|
|
|
freebsd::
|
|
"pkgs" slist => {"opendkim"};
|
|
"uid" string => "mailnull";
|
|
"gid" string => "mailnull";
|
|
"cfg_file" string => "/usr/local/etc/mail/opendkim.conf";
|
|
"pid_file" string => "/var/run/opendkim.pid";
|
|
"service_name" string => "milter-opendkim";
|
|
|
|
any::
|
|
|
|
|
|
|
|
"default_cfg" data => '{
|
|
"uid": "$(uid)",
|
|
"gid": "$(gid)",
|
|
"milter_sock": "inet:4711@localhost",
|
|
"mynetworks": ["127.0.0.1"],
|
|
"pid_file": "$(pid_file)",
|
|
"domains":["*"]
|
|
}';
|
|
|
|
"cfg" data => mergedata(@(opendkim.default_cfg),@(opendkim.cfg_param));
|
|
"mynetworks_len" int => length(data_expand(@(cfg[mynetworks])));
|
|
"mynetworks_head" string => "$(cfg[mynetworks][0])";
|
|
"mynetworks_tail" slist => sublist(data_expand(@(cfg[mynetworks])),"tail",int(eval("$(mynetworks_len) - 1","math","infix")));
|
|
|
|
|
|
methods:
|
|
"any" usebundle => opendkim_systemd_overrides,
|
|
handle => "opendkim_overrides_done";
|
|
"any" usebundle => install_system_repos, handle => "opendkim_system_repos_installed";
|
|
"any" usebundle => wmde_install_packages(@(opendkim.pkgs),"opendkim"),
|
|
depends_on => {"opendkim_system_repos_installed" };
|
|
|
|
"any" usebundle => wmde_service("$(service_name)","opendkim_kept","opendkim_repaired"),
|
|
depends_on => {
|
|
"opendkim_overrides_done",
|
|
"opendkim_pkgs_installed",
|
|
"opendkim_cfg_done"
|
|
};
|
|
|
|
files:
|
|
"$(opendkim.cfg_file)"
|
|
create => "true",
|
|
edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/opendkim.conf.mustache",
|
|
template_method => "mustache",
|
|
template_data => bundlestate("opendkim"),
|
|
classes => if_repaired("opendkim_repaired"),
|
|
handle => "opendkim_cfg_done";
|
|
|
|
|
|
reports:
|
|
|
|
}
|
|
|
|
|
|
bundle agent opendkim_systemd_overrides
|
|
{
|
|
files:
|
|
freebsd::
|
|
"/etc/rc.conf.d/milteropendkim"
|
|
create=>"true",
|
|
content=>'
|
|
milteropendkim_uid="$(opendkim.cfg[uid])"
|
|
milteropendkim_gid="$(opendkim.cfg[gid])"
|
|
';
|
|
|
|
centos::
|
|
|
|
"/etc/systemd/system/opendkim.service.d/override.conf"
|
|
create => "true",
|
|
content => "
|
|
[Service]
|
|
User=root
|
|
Group=root
|
|
",
|
|
classes => if_repaired("opendkim_repaired"),
|
|
handle => "opendkim_systemd_override_created";
|
|
|
|
commands:
|
|
centos&opendkim_repaired::
|
|
"/usr/bin/systemctl"
|
|
args => "daemon-reload",
|
|
depends_on => {"opendkim_systemd_override_created"};
|
|
}
|
|
|