84 lines
2.2 KiB
CFEngine3
84 lines
2.2 KiB
CFEngine3
#
|
|
#
|
|
#
|
|
|
|
bundle agent rspamd(cfg)
|
|
{
|
|
classes:
|
|
vars:
|
|
"cfgfiles" slist => {
|
|
"local.d/milter_headers.conf",
|
|
# "local.d/actions.conf",
|
|
"local.d/worker-normal.inc",
|
|
"local.d/worker-proxy.inc",
|
|
# "local.d/worker-controller.inc",
|
|
# "local.d/classifier-bayes.conf",
|
|
# "local.d/worker-fuzzy.inc",
|
|
# "local.d/fuzzy_check.conf"
|
|
};
|
|
|
|
freebsd::
|
|
"pkgs" slist => {"rspamd"};
|
|
"cfg_dir" string => "/usr/local/etc/rspamd";
|
|
"service_name" string => "rspamd";
|
|
"root_user" string => "root";
|
|
"root_group" string => "wheel";
|
|
|
|
debian::
|
|
"pkgs" slist => {"rspamd"};
|
|
"cfg_dir" string => "/etc/rspamd";
|
|
"service_name" string => "rspamd";
|
|
"root_user" string => "root";
|
|
"root_group" string => "root";
|
|
|
|
centos::
|
|
"pkgs" slist => {"rspamd"};
|
|
"cfg_dir" string => "/etc/rspamd";
|
|
"service_name" string => "rspamd";
|
|
"root_user" string => "root";
|
|
"root_group" string => "root";
|
|
|
|
|
|
methods:
|
|
"any" usebundle => rspamd_install_yum_repo, handle => "rspamd_yum_repo_installed";
|
|
"any" usebundle => wmde_install_packages(@(pkgs),"rspamd"),
|
|
depends_on => {"rspamd_yum_repo_installed"};
|
|
"any" usebundle => wmde_service("$(service_name)","rspamd_kept","rspamd_repaired"),
|
|
depends_on => {"rspamd_cfgs_done"};
|
|
files:
|
|
"$(cfg_dir)/."
|
|
perms => uperm("$(root_user)","$(root_group)","755"),
|
|
depends_on => { "rspamd_pkgs_installed" },
|
|
handle => "rspamd_cfg_dir_created";
|
|
|
|
"$(cfg_dir)/$(cfgfiles)"
|
|
create => "true",
|
|
edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/rspamd/$(cfgfiles).mustache",
|
|
template_method => "mustache",
|
|
perms => m("644"),
|
|
template_data => bundlestate("$(this.bundle)"),
|
|
depends_on => { "rspamd_pkgs_installed","rspamd_cfg_dir_created" },
|
|
classes => if_repaired(rspamd_repaired),
|
|
handle => "rspamd_cfgs_done";
|
|
|
|
reports:
|
|
# "RSPAMD: $(cfgjs)";
|
|
# "RSJ: $(worker_normalx)";
|
|
|
|
}
|
|
|
|
|
|
bundle agent rspamd_install_yum_repo
|
|
{
|
|
classes:
|
|
centos::
|
|
"install_yum_repo" expression => not(fileexists("/etc/yum.repos.d/rspamd.repo"));
|
|
commands:
|
|
install_yum_repo::
|
|
"wget"
|
|
args => "-qO /etc/yum.repos.d/rspamd.repo https://rspamd.com/rpm-stable/centos-8/rspamd.repo && rpm --import https://rspamd.com/rpm-stable/gpg.key && yum update -y",
|
|
contain => wmde_cmd_useshell;
|
|
|
|
|
|
}
|