2023-10-11 16:14:28 +00:00
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
bundle agent dovecot(cfg)
|
|
|
|
{
|
2023-10-31 16:25:32 +00:00
|
|
|
classes:
|
|
|
|
"use_ssl" expression => strcmp("$(cfg[ssl])","true");
|
2023-10-11 16:14:28 +00:00
|
|
|
vars:
|
|
|
|
freebsd::
|
|
|
|
"cfg_dir" string => "/usr/local/etc/dovecot";
|
|
|
|
"dovecot_conf" string => "$(cfg_dir)/dovecot.conf";
|
|
|
|
|
|
|
|
"pkgs" slist => {
|
|
|
|
"dovecot"
|
|
|
|
};
|
|
|
|
debian::
|
|
|
|
"cfg_dir" string => "/etc/dovecot";
|
|
|
|
"dovecot_conf" string => "$(cfg_dir)/dovecot.conf";
|
|
|
|
|
|
|
|
"imap_key" string => "$(cfg_dir)/private/imap.key";
|
|
|
|
"imap_cert" string => "$(cfg_dir)/private/imap.crt";
|
2023-10-14 13:15:30 +00:00
|
|
|
"submission_key" string => "$(cfg_dir)/private/submission.key";
|
|
|
|
"submission_cert" string => "$(cfg_dir)/private/submission.crt";
|
|
|
|
|
2023-10-11 16:14:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
"service_name" string => "dovecot";
|
|
|
|
"pkgs" slist => {
|
|
|
|
"dovecot-core",
|
|
|
|
"dovecot-mysql",
|
|
|
|
"dovecot-managesieved",
|
2023-10-20 18:01:07 +00:00
|
|
|
# "dovecot-submissiond",
|
2023-10-11 16:14:28 +00:00
|
|
|
"dovecot-lmtpd",
|
|
|
|
"dovecot-imapd",
|
|
|
|
"dovecot-pop3d"
|
|
|
|
|
|
|
|
};
|
2023-10-27 23:08:46 +00:00
|
|
|
centos::
|
|
|
|
"pkgs" slist => {
|
|
|
|
"dovecot",
|
|
|
|
"dovecot-mysql",
|
2023-10-29 23:29:16 +00:00
|
|
|
"dovecot-pigeonhole"
|
2023-10-27 23:08:46 +00:00
|
|
|
};
|
|
|
|
"cfg_dir" string => "/etc/dovecot";
|
|
|
|
"dovecot_conf" string => "$(cfg_dir)/dovecot.conf";
|
|
|
|
|
|
|
|
"imap_key" string => "$(cfg_dir)/private/imap.key";
|
|
|
|
"imap_cert" string => "$(cfg_dir)/private/imap.crt";
|
|
|
|
"submission_key" string => "$(cfg_dir)/private/submission.key";
|
|
|
|
"submission_cert" string => "$(cfg_dir)/private/submission.crt";
|
|
|
|
"service_name" string => "dovecot";
|
|
|
|
|
2023-10-31 16:25:32 +00:00
|
|
|
use_ssl::
|
|
|
|
"service_deps" slist => {
|
2023-10-11 16:14:28 +00:00
|
|
|
"dovecot_pkgs_installed",
|
2023-10-14 13:15:30 +00:00
|
|
|
"dovecot_cfg_created",
|
2023-10-11 16:14:28 +00:00
|
|
|
"dovecot_imap_key_installed",
|
|
|
|
"dovecot_imap_cert_installed",
|
2023-10-14 13:15:30 +00:00
|
|
|
"dovecot_submission_key_installed",
|
|
|
|
"dovecot_submission_cert_installed",
|
2023-10-11 16:14:28 +00:00
|
|
|
};
|
2023-10-31 16:25:32 +00:00
|
|
|
!use_ssl::
|
|
|
|
"service_deps" slist => {
|
|
|
|
"dovecot_pkgs_installed",
|
|
|
|
"dovecot_cfg_created",
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
methods:
|
|
|
|
"any" usebundle => wmde_install_packages(@(pkgs),"dovecot");
|
|
|
|
"any" usebundle => wmde_service("$(service_name)","dovecot_kept","dovecot_repaired"),
|
|
|
|
depends_on => @(service_deps);
|
2023-10-11 16:14:28 +00:00
|
|
|
|
|
|
|
files:
|
2023-10-11 21:58:45 +00:00
|
|
|
"$(cfg_dir)/."
|
|
|
|
create => "true",
|
|
|
|
perms => mog("755","root","root"),
|
|
|
|
depends_on => {"dovecot_pkgs_installed"},
|
|
|
|
handle => "dovecot_cfg_dir_created";
|
|
|
|
|
2023-10-11 16:14:28 +00:00
|
|
|
"$(dovecot_conf)"
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
create => "true",
|
2023-10-11 21:58:45 +00:00
|
|
|
perms => mog("644","root","root"),
|
2023-10-11 16:14:28 +00:00
|
|
|
template_method => "mustache",
|
2023-10-11 21:58:45 +00:00
|
|
|
depends_on => {"dovecot_pkgs_installed","dovecot_cfg_dir_created"},
|
2023-10-11 16:14:28 +00:00
|
|
|
handle => "dovecot_cfg_created",
|
|
|
|
edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/dovecot/dovecot.conf.mustache";
|
|
|
|
|
2023-10-31 16:25:32 +00:00
|
|
|
use_ssl::
|
2023-10-11 16:14:28 +00:00
|
|
|
|
2023-10-31 16:25:32 +00:00
|
|
|
"$(imap_cert)"
|
|
|
|
handle => "dovecot_imap_cert_installed",
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
copy_from => local_dcp( execresult( "/usr/bin/readlink -qfn $(cfg[imap_cert])","noshell" )),
|
|
|
|
perms => mog("600","root","root");
|
2023-10-11 16:14:28 +00:00
|
|
|
|
2023-10-31 16:25:32 +00:00
|
|
|
"$(imap_key)"
|
|
|
|
handle => "dovecot_imap_key_installed",
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
copy_from => local_dcp( execresult( "/usr/bin/readlink -qfn $(cfg[imap_key])","noshell" )),
|
|
|
|
perms => mog("600","root","root");
|
2023-10-14 13:15:30 +00:00
|
|
|
|
2023-10-31 16:25:32 +00:00
|
|
|
"$(submission_cert)"
|
|
|
|
handle => "dovecot_submission_cert_installed",
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
copy_from => local_dcp( execresult( "/usr/bin/readlink -qfn $(cfg[submission_cert])","noshell" )),
|
|
|
|
perms => mog("600","root","root");
|
|
|
|
|
|
|
|
"$(submission_key)"
|
|
|
|
handle => "dovecot_submission_key_installed",
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
copy_from => local_dcp( execresult( "/usr/bin/readlink -qfn $(cfg[submission_key])","noshell" )),
|
|
|
|
perms => mog("600","root","root");
|
2023-10-14 13:15:30 +00:00
|
|
|
|
2023-10-11 16:14:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reports:
|
2023-10-31 16:25:32 +00:00
|
|
|
use_ssl::
|
|
|
|
"USE_SSL: TRUE";
|
|
|
|
!use_ssl::
|
|
|
|
"USE_SSL: FALSE";
|
|
|
|
|
2023-10-12 18:21:02 +00:00
|
|
|
# "IMAP_CERT: $(imap_cert)";
|
|
|
|
#
|
|
|
|
# dovecot_kept::
|
|
|
|
# "DOVECOT kept";
|
|
|
|
#
|
|
|
|
# dovecot_repaired::
|
|
|
|
# "DOVECOT repaired";
|
2023-10-11 16:14:28 +00:00
|
|
|
|
|
|
|
}
|
2023-10-11 21:58:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-29 00:08:20 +00:00
|
|
|
bundle agent dovecot_vimbadmin_sql(cfg,dovecot_cfg)
|
2023-10-11 21:58:45 +00:00
|
|
|
{
|
|
|
|
vars:
|
|
|
|
"cfg_file" string => "$(sys.workdir)/data/agent/dovecot/vimbadmin-sql.comf";
|
|
|
|
files:
|
|
|
|
"$(cfg_file)"
|
|
|
|
classes => if_repaired(dovecot_repaired),
|
|
|
|
create => "true",
|
|
|
|
template_method => "mustache",
|
|
|
|
edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/dovecot/vimbadmin-sql.conf.mustache";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2023-10-31 16:25:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
bundle agent install_dovecot_pkgs
|
|
|
|
{
|
|
|
|
methods:
|
|
|
|
"any" usebundle => wmde_install_packages(@(dovecot.pkgs),"dovecot");
|
|
|
|
}
|