# # # bundle agent rspamd(cfg) { 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"; packages: freebsd:: "$(rspamd.pkgs)" policy => "present", package_module => pkg, handle => "rspamd_pkg_installed", classes => if_repaired(rspamd_changed); debian:: "$(rspamd.pkgs)" policy => "present", package_module => apt_get, handle => "rspamd_pkg_installed", classes => if_repaired(rspamd_changed); fedora|centos:: "$(rspamd.pkgs)" policy => "present", package_module => yum, handle => "rspamd_pkg_installed", classes => if_repaired(rspamd_changed); files: "$(cfg_dir)/." perms => uperm("$(root_user)","$(root_group)","755"), depends_on => { "rspamd_pkg_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 => uperm("$(root_user)","$(root_group)","644"), template_data => bundlestate("$(this.bundle)"), depends_on => { "rspamd_pkg_installed","rspamd_cfg_dir_created" }, classes => if_repaired(rspamd_restart), handle => "rspamd_cfgs_done"; services: "$(service_name)" service_policy => "start", depends_on => { "rspamd_cfgs_done" }, handle => "rspamd_running"; rspamd_restart:: "$(service_name)" service_policy => "restart", depends_on => { "rspamd_running", "rspamd_cfgs_done"}; reports: # "RSPAMD: $(cfgjs)"; # "RSJ: $(worker_normalx)"; }