# # opendkim # bundle agent opendkim(cfg_param) { vars: debian:: "pkgs" slist => {"opendkim"}; "uid" string => "opendkim"; "gid" string => "opendkim"; "cfg_file" string => "/etc/opendkim.conf"; #"pid_file" string => "/var/run/opendkim.pid"; "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"; 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 => wmde_install_packages(@(opendkim.pkgs),"opendkim"), handle => "opendkim_installed"; 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"); # template_data => mergedata(@(opendkim.default_cfg),@(opendkim.cfg)); reports: # "HALLO DIKM"; # "MYLEN: $(mynetworks_len)"; # "HEAD: $(mynetworks_head)"; # "TAIL: $(mynetworks_tail)"; }