Copyright Neil H. Watson ( http://watson-wilson.ca ). For fresh updates visit: https://github.com/neilhwatson/evolve_cfengine_freelib
A Branch for each version. Master is the latest bleeding edge.
Evolve_freelib.cf is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The bundles contained in this CFEngine library primarily focus on data driven policy. Each such bundle takes a csv or JSON type delimited parameter file as shown in the common bundle efl_c.
Bundle | Purpose |
---|---|
efl_skeleton | A template for creating new bundles. |
efl_c | A collection of common tunable variables. |
efl_main | A bundle for calling other bundles, in order, using methods. |
efl_chkconfig_disable_service | Disable a service from starting at boot. |
efl_chkconfig_enable_service | Enable a service to start at boot. |
efl_class_classmatch | Creates namespace classes by matching existing class names. |
efl_class_cmd_regcmp | Creates namespace classes on the output of a shell command. |
efl_class_expression | Creates namespace classes from a class expression. |
efl_class_hostname | Creates namespace classs based on the hostname of the host. |
efl_class_iprange | Creates namespace classes based on the IP address of the host. |
efl_class_returnszero | Creates namespace classes using the return status of a shell command. |
efl_command | Configurable commands promises. |
efl_copy_files | Configurable file copy promises. |
efl_delete_files | Promises to delete files. |
efl_edit_template | Promise a file's contents using a template. |
efl_file_perms | Configurable file permissions promises. |
efl_global_slists | Set namespace scoped slists variables. |
efl_global_strings | Set namespace scoped strings variables. |
efl_lastseen | Report hosts seen in the last 24 hours. |
efl_link | Promise links. |
efl_mon_cfengine | Report CFEngine internal statistics. |
efl_notseen | Report hosts not seen in the last 24 hours. |
efl_packages | Promises to add, remove, or update packages. |
efl_rcs_pull | Promises to keep a checked out copy of version control current. |
efl_server | Promise server access rules. |
efl_service | Promises to configure and start a service. |
efl_start_service | Promises to start a service that is not running. |
efl_sysctl_conf_file | Promises sysctl.conf kernel settings. |
efl_sysctl_live | Promises live sysctl Linux kernel settings. |
The file efl_update.cf is an alternate high performance, yet simplified, collection of bundles to keep CFEngine's inputs directory up to date. See the in docs for more information.
- Cfengine Core 3.10.0 or higher. There are older 3.10, 3.6, 3.5, and 3.4 branches too.
- The Cfengine standard library.
- Perl of any version and no special modules (only when using with Delta Reporting).
- INSTALL.md
- HOWTO.md
- EFL related articles: http://watson-wilson.ca/blog/tag/EFL
If you are interested in reporting on the outcome of EFL promises please look at Delta Reporting: https://github.com/neilhwatson/delta_reporting