Bundle common g
The file promises.cf contains the bundle g, among other things. It simply does not work if the bundle is placed in a separate file, because the daemons seem not to be able to handle such a situation.
Dynamic CFEngine3 requires some sort of wildcard select, this is done by using find in an execresult.
###############################################################################
#
# Webhuis bundle common g
#
# Copyright (C) 2008 Martin Simons, Webhuis. Renkum The Netherlands
# This source code is licensed under the GNU General Public License, Version 2.
# See http://webhuis.nl/GPL-license for more details.
#
###############################################################################
bundle common g {
vars:
"acl" slist => { "10.*" };
"workdir" string => "/var/cfengine";
"master_location" string => "/var/cfengine/masterfiles";
"master_roles" string => "/var/cfengine/webhuis/roles";
"master_templates" string => "/var/cfengine/webhuis/templates";
"master_domain" string => "/var/cfengine/webhuis/domains";
"master_host" string => "/var/cfengine/webhuis/hosts";
"master_components" string => "/var/cfengine/webhuis/components";
"master_packages" string => "/var/cfengine/webhuis/packages";
"dir_bin" string => "/var/cfengine/bin";
"dir_modules" string => "/var/cfengine/bin";
"inputfiles" string => "/var/cfengine/inputs";
"policyhost" string => "cfengine.webhuis.nl";
"class_domain" string => canonify("$(sys.domain)");
"class_host" string => canonify("$(sys.uqhost)");
"role" string => "${role.role}";
"etc_exports" string => "/etc/exports";
"exports_ro" string => "(ro,sync,root_squash,no_subtree_check)";
"exports_rw" string => "(rw,sync,root_squash,no_subtree_check)";
"nfs_ro" string => "ro,soft,intr,noatime,nodiratime 0 0";
"nfs_rw" string => "rw,soft,intr,noatime,nodiratime 0 0";
"os_inputs" slist => splitstring(execresult("/usr/bin/find ${workdir}/inputs/os/ -name '*.cf'","noshell"),"\n","99");
"common_inputs" slist => splitstring(execresult("/usr/bin/find ${workdir}/inputs/webhuis-common/ -name '*.cf'","noshell"),"\n","99");
"host_inputs" slist => splitstring(execresult("/usr/bin/find ${workdir}/inputs-webhuis/ -name '*.cf'","noshell"),"\n","99");
"component_inputs" slist => splitstring(execresult("/usr/bin/find ${workdir}/inputs-webhuis/components/ -name '*.cf'","noshell"),"\n","99");
"component_master" slist => maplist("/var/cfengine/webhuis/components/$(this)", "${role.role}.input");
"host" string => "${sys.uqhost}";
"ip_address" string => "${sys.ipv4[$(sys.interface)]}";
}
Return to: Dynamic_Cfengine3