wmdeit-cf-wmdelib/lib.cf

120 lines
2.3 KiB
CFEngine3
Raw Normal View History

2023-09-24 16:16:22 +00:00
#
#
#
body perms uperm(user,group,mode)
{
mode => "$(mode)";
rxdirs => "false";
groups => { "$(group)" };
2023-10-06 16:51:31 +00:00
owners => { "$(user)" };
}
#
# wmdelib.cf
#
bundle agent wmde_install_packages(pkgs,name)
{
packages:
freebsd::
"$(pkgs)"
policy => "present",
package_module => pkg,
2023-10-06 17:42:23 +00:00
handle => "$(name)_pkgs_installed",
classes => results("namespace","$(name)");
2023-10-06 16:51:31 +00:00
debian::
"$(pkgs)"
policy => "present",
package_module => apt_get,
2023-10-06 17:42:23 +00:00
handle => "$(name)_pkgs_installed",
classes => results("namespace","$(name)");
2023-10-06 16:51:31 +00:00
}
body perms wmde_perms(user,group,mode)
{
owners => { "$(user)" };
groups => { "$(group)" };
mode => "$(mode)";
rxdirs=>"false";
}
bundle agent wmde_srv(service_name,cmd)
{
classes:
"start" expression => strcmp("start","$(cmd)");
"restart" expression => strcmp("restart",cmd);
commands:
freebsd::
"/bin/sh"
args => "-c '/usr/sbin/service $(service_name) onestatus > /dev/null && echo +$(service_name)_running || echo -$(service_name)_running'",
inform => "false",
module => "true",
handle => "$(service_name)_status_tested";
"!$(service_name)_running&start"::
"/bin/sh"
args => "-c '/usr/sbin/service $(service_name) onestart 2> /dev/null > /dev/null && echo +$(service_name)_started || echo -$(service_name)_started'",
module => "true",
depends_on => {"$(service_name)_status_tested"};
"!$(service_name)_running&restart"::
"/bin/sh"
args => "-c '/usr/sbin/service $(service_name) onerestart 2> /dev/null > /dev/null && echo +$(service_name)_started || echo -$(service_name)_started'",
module => "true",
depends_on => {"$(service_name)_status_tested"};
reports:
start::
# "MUST START";
!start::
# "MUST NOT START";
# running::
# "Server $(service_name) - running";
# !running::
# "Server $(service_name) - not running";
}
body service_method wmde
{
service_type => "generic";
service_bundle => wmde_srv ($(this.promiser), $(this.service_policy));
}
bundle agent wmde_service(service_name,start_cond, restart_cond)
{
services:
"$(start_cond)"::
"$(service_name)"
service_policy => "start";
"$(restart_cond)"::
"$(service_name)"
service_policy => "restart";
reports:
2023-09-24 16:16:22 +00:00
}
2023-10-11 09:26:47 +00:00
body contain wmde_cmd_useshell
{
useshell=>"useshell";
}
2023-09-24 16:16:22 +00:00