From b0f645440294a39078e392df73fb5a11f3e3237d Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Wed, 29 May 2013 14:08:33 +0200 Subject: [PATCH 1/4] Remove documentation generation from build system. --- Makefile.am | 12 +-- configure.ac | 33 --------- docs/Makefile.am | 10 +-- docs/guides/Makefile.am | 138 ----------------------------------- docs/reference/Makefile.am | 65 ----------------- docs/tex-include/Makefile.am | 1 - docs/tools/Makefile.am | 9 --- 7 files changed, 2 insertions(+), 266 deletions(-) delete mode 100644 docs/guides/Makefile.am delete mode 100644 docs/reference/Makefile.am delete mode 100644 docs/tex-include/Makefile.am delete mode 100644 docs/tools/Makefile.am diff --git a/Makefile.am b/Makefile.am index 7623a859ca..8e0646a0b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,7 @@ LCOV_FLAGS = $(if $(filter-out 0,$(V)),,-q) SUBDIRS = libcompat libutils libcfnet $(NOVA_LIB_SUBDIRS) libpromises \ $(NOVA_BIN_SUBDIRS) cf-agent cf-execd cf-gendoc cf-key cf-monitord \ - cf-promises cf-runagent cf-serverd ext docs examples masterfiles \ + cf-promises cf-runagent cf-serverd ext examples masterfiles \ tests $(ENTERPRISE_API_SUBDIR) $(CFMOD_SUBDIR) $(NOVA_DOC_SUBDIR) \ $(NOVA_SUBDIR) @@ -67,16 +67,6 @@ install-data-local: $(MKDIR_P) -m 700 $(DESTDIR)$(workdir)/ppkeys -# -# Documentation -# - -html: - $(MAKE) -C docs $(AM_MAKEFLAGS) html - -pdf: - $(MAKE) -C docs $(AM_MAKEFLAGS) pdf - # # Code coverage # diff --git a/configure.ac b/configure.ac index cdec041507..4f201deab6 100755 --- a/configure.ac +++ b/configure.ac @@ -1019,33 +1019,6 @@ if test "x$use_coverage" = "xyes"; then LDFLAGS="$LDFLAGS -lgcov" fi -dnl -dnl Documentation generation -dnl - -AC_ARG_ENABLE(docs, AC_HELP_STRING([--enable-docs=html|pdf|all], - [Enable generation of documentation in specified formats]), - [use_docs=$enableval], [use_docs=no]) - -if test "x$use_docs" != "xno"; then - if test "x$use_docs" = "xhtml" || test "x$use_docs" = "xall"; then - if test "$MAKEINFO" = "${am_missing_run}makeinfo"; then - AC_MSG_ERROR([makeinfo tool is required for HTML documentation generation]) - fi - fi - - if test "x$use_docs" = "xpdf" || test "x$use_docs" = "xall"; then - AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf) - - if test -z "$TEXI2PDF"; then - AC_MSG_ERROR([texi2pdf tool is required for PDF documentation generation]) - fi - fi -fi - -AM_CONDITIONAL(HTML_DOCS, test "x$use_docs" = "xhtml" || test "x$use_docs" = "xall") -AM_CONDITIONAL(PDF_DOCS, test "x$use_docs" = "xpdf" || test "x$use_docs" = "xall") - # # Populate contents of config.post.h # @@ -1130,12 +1103,6 @@ AC_CONFIG_FILES([Makefile cf-runagent/Makefile cf-serverd/Makefile ext/Makefile - docs/Makefile - docs/guides/Makefile - docs/manpages/Makefile - docs/reference/Makefile - docs/tools/Makefile - docs/tex-include/Makefile examples/Makefile masterfiles/Makefile tests/Makefile diff --git a/docs/Makefile.am b/docs/Makefile.am index 8662023b10..3a7021c6f1 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -1,9 +1 @@ -SUBDIRS = manpages tools guides reference tex-include - -html: - $(MAKE) -C guides $(AM_MAKEFLAGS) html - $(MAKE) -C reference $(AM_MAKEFLAGS) html - -pdf: - $(MAKE) -C guides $(AM_MAKEFLAGS) pdf - $(MAKE) -C reference $(AM_MAKEFLAGS) pdf +SUBDIRS = manpages diff --git a/docs/guides/Makefile.am b/docs/guides/Makefile.am deleted file mode 100644 index 647b0eb980..0000000000 --- a/docs/guides/Makefile.am +++ /dev/null @@ -1,138 +0,0 @@ -TEX_INCLUDEDIR = ../tex-include - -# Syntax errors: -# SpecialTopic_Vision -# SpecialTopic_Comparison -# OrionCloudPack - -COMMON_GUIDES = \ - SpecialTopic_Adoption \ - SpecialTopic_Agility \ - SpecialTopic_ApplMgt \ - SpecialTopic_BDMA \ - SpecialTopic_Cloud \ - SpecialTopic_Change \ - SpecialTopic_ContentDrivenPolicies \ - SpecialTopic_DevOps \ - SpecialTopic_DistributedScheduling \ - SpecialTopic_Editing \ - SpecialTopic_Federation \ - SpecialTopic_FIPS \ - SpecialTopic_Hierarchy \ - SpecialTopic_ITIL \ - SpecialTopic_Iteration \ - SpecialTopic_Knowledge \ - SpecialTopic_MenuDrivenConfig \ - SpecialTopic_MissionCritical \ - SpecialTopic_Modules \ - SpecialTopic_Monitoring \ - SpecialTopic_OpenNebula \ - SpecialTopic_Packages \ - SpecialTopic_RBAC \ - SpecialTopic_Reporting \ - SpecialTopic_Rollback \ - SpecialTopic_Scalability \ - SpecialTopic_Scan \ - SpecialTopic_Schedule \ - SpecialTopic_Security \ - SpecialTopic_Teamwork \ - SpecialTopic_Virtualization \ - SpecialTopic_Windows \ - cf3-bestpractice \ - cf3-conceptguide \ - cf3-glossary \ - cf3-quickstart \ - cf3-solutions \ - cf3-tutorial \ - cf3-upgrade \ - cf_Quickref3 \ - CfengineStdLibrary - -HTML_ONLY_GUIDES = - -PDF_ONLY_GUIDES = - -if HAVE_NOVA --include ../../nova/docs/Makefile.am -endif - -HTML_GUIDES = $(COMMON_GUIDES) $(HTML_ONLY_GUIDES) - -PDF_GUIDES = $(COMMON_GUIDES) $(PDF_ONLY_GUIDES) - -.PRECIOUS: ../tools/build-solutions-guide - -../tools/build-solutions-guide: - $(MAKE) -C ../tools $(AM_MAKEFLAGS) build-solutions-guide - -../tools/build-stdlib: - $(MAKE) -C ../tools $(AM_MAKEFLAGS) build-stdlib - -cf3-solutions.texinfo: cf3-solutions.texinfo.in ../tools/build-solutions-guide - $(AM_V_GEN)../tools/build-solutions-guide $(top_srcdir)/examples < $< > $@ || (rm -f $@; false) - -CfengineStdLibrary.texinfo: ../../masterfiles/libraries/cfengine_stdlib.cf ../tools/build-stdlib - $(AM_V_GEN)../tools/build-stdlib $(srcdir)/../../masterfiles/libraries/cfengine_stdlib.cf || (rm -f $@; false) - -%.html: %.texinfo - $(AM_V_GEN)$(MAKEINFO) \ - $^ -o $@ \ - -I $(TEX_INCLUDEDIR) \ - --error-limit=0 \ - --html \ - --no-split \ - --no-validate \ - --css-include=cfcomdoc.css - -TEXI2PDFFLAGS = -I $(TEX_INCLUDEDIR) --batch $(if $(filter-out 0,$(V)),,--quiet) - -%.pdf: %.texinfo - $(AM_V_GEN)$(srcdir)/../tools/texi2pdfclean $< $(TEXI2PDF) -o $@ $(TEXI2PDFFLAGS) - - -if HTML_DOCS -html: $(patsubst %,%.html,$(HTML_GUIDES)) -endif - -if PDF_DOCS -pdf: $(patsubst %,%.pdf,$(PDF_GUIDES)) -endif - -GUIDEDIR=$(DESTDIR)/$(projdocdir)/guides - -dist-guide-%: % - $(INSTALL_DATA) $^ $(distdir) - if test -n "`$(srcdir)/../tools/extract-images $^ | sort | uniq`"; then \ - $(INSTALL_DATA) `$(srcdir)/../tools/extract-images $^ | sort | uniq` $(distdir); \ - fi - -dist-common: $(patsubst %,dist-guide-%.texinfo,$(COMMON_GUIDES)) - -if HTML_DOCS -install-html: html - $(MKDIR_P) $(GUIDEDIR)/html - $(INSTALL_DATA) $(patsubst %,%.html,$(HTML_GUIDES)) $(GUIDEDIR)/html - $(INSTALL_DATA) `$(srcdir)/../tools/extract-images $(patsubst %,%.texinfo,$(HTML_GUIDES)) | sort | uniq` $(GUIDEDIR)/html -endif - -dist-html-only: - -if PDF_DOCS -install-pdf: pdf - $(MKDIR_P) $(GUIDEDIR)/pdf - $(INSTALL_DATA) $(patsubst %,%.pdf,$(PDF_GUIDES)) $(GUIDEDIR)/pdf -endif - -if PDF_DOCS -dist-pdf-only: $(patsubst %,dist-guide-%.texinfo,$(PDF_ONLY_GUIDES)) -else -dist-pdf-only: -endif - -all: pdf html -install-data-hook: install-pdf install-html -dist-hook: dist-pdf-only dist-html-only dist-common - -EXTRA_DIST = cf3-solutions.texinfo.in CFEngineFrontPage.pdf NewLogo.pdf cfcomdoc.css - -CLEANFILES = cf3-solutions.texinfo $(patsubst %,%.pdf,$(PDF_GUIDES)) $(patsubst %,%.html,$(HTML_GUIDES)) diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am deleted file mode 100644 index f2df697100..0000000000 --- a/docs/reference/Makefile.am +++ /dev/null @@ -1,65 +0,0 @@ -TEX_INCLUDEDIR=$(srcdir)/../tex-include - -.PRECIOUS: ../../cf-gendoc/cf-gendoc - -../../cf-gendoc/cf-gendoc: - $(MAKE) -C ../../cf-gendoc $(AM_MAKEFLAGS) cf-gendoc - -cf3-Reference.texinfo: ../../cf-gendoc/cf-gendoc \ - generate_manual.cf \ - $(filter-out cf3-Reference.texinfo,$(wildcard *.texinfo)) \ - $(wildcard */*.texinfo) - $(AM_V_GEN)../../cf-gendoc/cf-gendoc -i . -o $@ - -%.html: %.texinfo - $(AM_V_GEN)$(MAKEINFO) \ - $^ -o $@ \ - -I $(TEX_INCLUDEDIR) \ - --error-limit=0 \ - --html \ - --css-include=../guides/cfcomdoc.css \ - --no-split - -TEXI2PDFFLAGS = -I $(TEX_INCLUDEDIR) --batch $(if $(filter-out 0,$(V)),,--quiet) - -%.pdf: %.texinfo - $(AM_V_GEN)$(srcdir)/../tools/texi2pdfclean $^ $(TEXI2PDF) -o $@ $(TEXI2PDFFLAGS) - - -if HTML_DOCS -html: cf3-Reference.html -endif - -if PDF_DOCS -pdf: cf3-Reference.pdf -endif - -REFDIR=$(DESTDIR)/$(projdocdir)/reference - -dist-reference-%: % - $(MKDIR_P) $(distdir)/$^ - $(INSTALL_DATA) $(subst *,\*,$(wildcard $(srcdir)/$^/*.texinfo)) $(distdir)/$^ - -dist-reference: $(addprefix dist-reference-,bodyparts bundletypes control functions promises varcontexts vars) - $(INSTALL_DATA) $(filter-out cf3-Reference.texinfo,$(wildcard $(srcdir)/*.texinfo)) $(distdir) - -if HTML_DOCS -install-html: html - $(MKDIR_P) $(REFDIR)/html - $(INSTALL_DATA) cf3-Reference.html $(REFDIR)/html - $(INSTALL_DATA) `$(srcdir)/../tools/extract-images cf3-Reference.texinfo | sort | uniq` $(REFDIR)/html -endif - -if PDF_DOCS -install-pdf: pdf - $(MKDIR_P) $(REFDIR)/pdf - $(INSTALL_DATA) cf3-Reference.pdf $(REFDIR)/pdf -endif - -all: html pdf -install-data-hook: install-html install-pdf -dist-hook: dist-reference - -EXTRA_DIST = CFEngineFrontPage.pdf NewLogo.pdf filelogic.png generate_manual.cf - -CLEANFILES = cf3-Reference.html cf3-Reference.pdf cf3-Reference.texinfo diff --git a/docs/tex-include/Makefile.am b/docs/tex-include/Makefile.am deleted file mode 100644 index 0811a34756..0000000000 --- a/docs/tex-include/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = texinfo-altfont.tex texinfo-logo.tex texinfo.tex txi-cmbright.tex txi-helvetica.tex txi-iwona.tex diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am deleted file mode 100644 index 1042692310..0000000000 --- a/docs/tools/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ - -AM_CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/../../libutils -LDADD = ../../libcompat/libcompat.la - -noinst_PROGRAMS = build-solutions-guide build-stdlib - -noinst_SCRIPTS = texi2pdfclean extract-images - -EXTRA_DIST = texi2pdfclean extract-images From 4e1302a825f87561ff0c97722f4f40880abbea74 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Wed, 29 May 2013 14:08:22 +0200 Subject: [PATCH 2/4] Remove documentation from core repository. Much of this has already been converted to markdown. The rest is unchanged between master and 3.4.x branch, which can server as an archive of un-converted content. --- docs/guides/BDMA_model.png | Bin 68436 -> 0 bytes docs/guides/CFEngineFrontPage.pdf | Bin 60068 -> 0 bytes docs/guides/CfengineStdLibrary.texinfo | 3708 ------- docs/guides/Editormenu.png | Bin 25986 -> 0 bytes docs/guides/GetStarted.texinfo | 501 - docs/guides/MissionPlan.png | Bin 27131 -> 0 bytes docs/guides/NewLogo.pdf | Bin 13566 -> 0 bytes docs/guides/ONarchitecture.png | Bin 36589 -> 0 bytes docs/guides/Orion.png | Bin 110926 -> 0 bytes docs/guides/OrionCloudPack.texinfo | 632 -- docs/guides/SpecialTopic_Adoption.texinfo | 297 - docs/guides/SpecialTopic_Agility.texinfo | 1293 --- docs/guides/SpecialTopic_ApplMgt.texinfo | 522 - docs/guides/SpecialTopic_BDMA.texinfo | 335 - docs/guides/SpecialTopic_Change.texinfo | 634 -- docs/guides/SpecialTopic_Cloud.texinfo | 314 - ...SpecialTopic_ContentDrivenPolicies.texinfo | 197 - docs/guides/SpecialTopic_DevOps.texinfo | 551 - ...SpecialTopic_DistributedScheduling.texinfo | 611 -- docs/guides/SpecialTopic_Editing.texinfo | 1047 -- docs/guides/SpecialTopic_FIPS.texinfo | 150 - docs/guides/SpecialTopic_Federation.texinfo | 593 -- docs/guides/SpecialTopic_Hierarchy.texinfo | 616 -- docs/guides/SpecialTopic_ITIL.texinfo | 1376 --- docs/guides/SpecialTopic_Iteration.texinfo | 597 -- docs/guides/SpecialTopic_Knowledge.texinfo | 998 -- .../SpecialTopic_MenuDrivenConfig.texinfo | 440 - .../SpecialTopic_MissionCritical.texinfo | 804 -- docs/guides/SpecialTopic_Modules.texinfo | 1774 ---- docs/guides/SpecialTopic_Monitoring.texinfo | 1063 -- .../SpecialTopic_NovaReportArch.texinfo | 205 - docs/guides/SpecialTopic_OpenNebula.texinfo | 651 -- docs/guides/SpecialTopic_Packages.texinfo | 559 - docs/guides/SpecialTopic_RBAC.texinfo | 679 -- docs/guides/SpecialTopic_Reporting.texinfo | 890 -- docs/guides/SpecialTopic_Rollback.texinfo | 467 - docs/guides/SpecialTopic_Scalability.texinfo | 1415 --- docs/guides/SpecialTopic_Scan.texinfo | 1361 --- docs/guides/SpecialTopic_Schedule.texinfo | 557 - docs/guides/SpecialTopic_Security.texinfo | 736 -- docs/guides/SpecialTopic_Teamwork.texinfo | 277 - .../SpecialTopic_Virtualization.texinfo | 525 - docs/guides/SpecialTopic_Vision.texinfo | 273 - docs/guides/SpecialTopic_Windows.texinfo | 565 -- docs/guides/agility.png | Bin 13730 -> 0 bytes docs/guides/arch.png | Bin 26797 -> 0 bytes docs/guides/body_bundle.png | Bin 10620 -> 0 bytes docs/guides/boxes.png | Bin 21703 -> 0 bytes docs/guides/brainbrawn.png | Bin 8867 -> 0 bytes docs/guides/bval.png | Bin 54845 -> 0 bytes docs/guides/cdp_reports_generate.png | Bin 60496 -> 0 bytes docs/guides/cdp_services_report.png | Bin 30978 -> 0 bytes docs/guides/central_pull.png | Bin 8997 -> 0 bytes docs/guides/central_push.png | Bin 45134 -> 0 bytes docs/guides/cf-Compliance.texinfo | 123 - docs/guides/cf-bestpractices.texinfo | 356 - docs/guides/cf-copernicus.texinfo | 258 - docs/guides/cf3-bestpractice.texinfo | 1455 --- docs/guides/cf3-conceptguide.texinfo | 2505 ----- docs/guides/cf3-enterprise.texinfo | 3602 ------- docs/guides/cf3-glossary.texinfo | 274 - docs/guides/cf3-installation.texinfo | 277 - docs/guides/cf3-quickstart.texinfo | 630 -- docs/guides/cf3-solutions.texinfo.in | 4365 -------- docs/guides/cf3-tutorial.texinfo | 3585 ------- docs/guides/cf3-upgrade.texinfo | 2389 ----- docs/guides/cf_Quickref3.texinfo | 569 -- docs/guides/cf_evm.png | Bin 8468 -> 0 bytes docs/guides/cf_im.png | Bin 6219 -> 0 bytes docs/guides/cfcomdoc.css | 187 - docs/guides/cfdiag.png | Bin 8923 -> 0 bytes docs/guides/cfengine-bdma.png | Bin 63201 -> 0 bytes docs/guides/cfengine-schematic.png | Bin 9249 -> 0 bytes docs/guides/cfengineword.png | Bin 16059 -> 0 bytes docs/guides/cfinf.png | Bin 3833 -> 0 bytes docs/guides/commitdlg.png | Bin 4992 -> 0 bytes docs/guides/compliance.png | Bin 115475 -> 0 bytes docs/guides/components.png | Bin 11631 -> 0 bytes docs/guides/convergence.pdf | Bin 33893 -> 0 bytes docs/guides/convergence.png | Bin 252868 -> 0 bytes docs/guides/coordination.png | Bin 4291 -> 0 bytes docs/guides/copernicus-planets.png | Bin 33075 -> 0 bytes docs/guides/copernicus.png | Bin 25988 -> 0 bytes docs/guides/delegate.png | Bin 13522 -> 0 bytes docs/guides/demolish.png | Bin 109145 -> 0 bytes docs/guides/dependency.png | Bin 81082 -> 0 bytes docs/guides/detail.png | Bin 131766 -> 0 bytes docs/guides/dikw.png | Bin 9380 -> 0 bytes docs/guides/editor-svnpath.png | Bin 4748 -> 0 bytes docs/guides/editor.png | Bin 103881 -> 0 bytes docs/guides/fed1.pdf | Bin 6802 -> 0 bytes docs/guides/fed2.pdf | Bin 7308 -> 0 bytes docs/guides/fed2.png | Bin 8487 -> 0 bytes docs/guides/fed3.pdf | Bin 7508 -> 0 bytes docs/guides/fed3.png | Bin 9780 -> 0 bytes docs/guides/file_change_diffs.png | Bin 62573 -> 0 bytes docs/guides/file_change_log.png | Bin 90523 -> 0 bytes docs/guides/firewall.png | Bin 6220 -> 0 bytes docs/guides/hierarchy.png | Bin 5018 -> 0 bytes docs/guides/hostpage.png | Bin 79267 -> 0 bytes docs/guides/hub.png | Bin 20828 -> 0 bytes docs/guides/hubs.png | Bin 8377 -> 0 bytes docs/guides/img-src/MissionPlan.odg | Bin 11805 -> 0 bytes docs/guides/img-src/agility.fig | 50 - docs/guides/img-src/arch.fig | 84 - docs/guides/img-src/authdir.fig | 33 - docs/guides/img-src/brainbrawn.fig | 49 - docs/guides/img-src/central_pull.fig | 32 - docs/guides/img-src/central_push.fig | 35 - docs/guides/img-src/cfengine-bdma.fig | 81 - docs/guides/img-src/cfengine-schematic.fig | 43 - docs/guides/img-src/components.fig | 74 - docs/guides/img-src/coordination.fig | 37 - docs/guides/img-src/dikw.fig | 29 - docs/guides/img-src/fed1.fig | 27 - docs/guides/img-src/fed2.fig | 42 - docs/guides/img-src/fed3.fig | 48 - docs/guides/img-src/firewall.fig | 25 - docs/guides/img-src/hub.fig | 55 - docs/guides/img-src/hubs.fig | 46 - docs/guides/img-src/inherit.fig | 24 - docs/guides/img-src/intersect.fig | 16 - docs/guides/img-src/itilv3.fig | 15 - docs/guides/img-src/matrix1.fig | 43 - docs/guides/img-src/matrix2.fig | 43 - docs/guides/img-src/nettolerance.fig | 149 - docs/guides/img-src/networks.fig | 195 - docs/guides/img-src/paradigms.fig | 26 - docs/guides/img-src/rbac.fig | 23 - docs/guides/img-src/redundhubs.fig | 63 - docs/guides/img-src/schedule_patterns.fig | 43 - docs/guides/img-src/update.fig | 27 - docs/guides/img-src/user2root.fig | 30 - docs/guides/impact.png | Bin 52944 -> 0 bytes docs/guides/influence_cfengine_inputs.png | Bin 21338 -> 0 bytes docs/guides/inherit.png | Bin 2824 -> 0 bytes docs/guides/intermediate.png | Bin 858 -> 0 bytes docs/guides/intersect.png | Bin 8985 -> 0 bytes docs/guides/itilfcaps.png | Bin 4970 -> 0 bytes docs/guides/km1.png | Bin 118440 -> 0 bytes docs/guides/km2.png | Bin 65897 -> 0 bytes docs/guides/km3.png | Bin 64487 -> 0 bytes docs/guides/km4.png | Bin 64618 -> 0 bytes docs/guides/km5.png | Bin 113978 -> 0 bytes docs/guides/km6.png | Bin 83833 -> 0 bytes docs/guides/km7.png | Bin 116542 -> 0 bytes docs/guides/km8.png | Bin 88106 -> 0 bytes docs/guides/km9.png | Bin 135983 -> 0 bytes docs/guides/knowledge_bundle.png | Bin 91823 -> 0 bytes docs/guides/matrix1.png | Bin 6908 -> 0 bytes docs/guides/matrix2.png | Bin 7163 -> 0 bytes docs/guides/mission.png | Bin 48641 -> 0 bytes docs/guides/monitor.png | Bin 58847 -> 0 bytes docs/guides/nettolerance.png | Bin 10451 -> 0 bytes docs/guides/networks.png | Bin 14619 -> 0 bytes docs/guides/nova.png | Bin 85610 -> 0 bytes docs/guides/nova_const.png | Bin 68903 -> 0 bytes docs/guides/novaarch.png | Bin 26295 -> 0 bytes docs/guides/paradigms.png | Bin 11664 -> 0 bytes docs/guides/performance.png | Bin 103117 -> 0 bytes docs/guides/postamble.texinfo | 15 - docs/guides/preamble.texinfo | 98 - docs/guides/promise_page.png | Bin 91955 -> 0 bytes docs/guides/qs1.png | Bin 52999 -> 0 bytes docs/guides/qs2.png | Bin 75301 -> 0 bytes docs/guides/rbac.png | Bin 3534 -> 0 bytes docs/guides/redundhubs.png | Bin 10562 -> 0 bytes docs/guides/role-define-loba.png | Bin 21051 -> 0 bytes docs/guides/roll-forward.png | Bin 65312 -> 0 bytes docs/guides/savefiledlg.png | Bin 10507 -> 0 bytes docs/guides/schedule_patterns.png | Bin 3833 -> 0 bytes docs/guides/scope2.png | Bin 5003 -> 0 bytes docs/guides/service_catalogue.png | Bin 105088 -> 0 bytes docs/guides/setuid.png | Bin 8476 -> 0 bytes docs/guides/software.png | Bin 102100 -> 0 bytes docs/guides/status.png | Bin 61762 -> 0 bytes docs/guides/summary.png | Bin 48641 -> 0 bytes docs/guides/timeseries.png | Bin 83220 -> 0 bytes docs/guides/topic.png | Bin 11329 -> 0 bytes docs/guides/topicmap.png | Bin 123105 -> 0 bytes docs/guides/trends.png | Bin 89238 -> 0 bytes docs/guides/update.png | Bin 2875 -> 0 bytes docs/guides/updatedialog.png | Bin 4020 -> 0 bytes docs/guides/views.png | Bin 73716 -> 0 bytes docs/guides/weakest.png | Bin 50436 -> 0 bytes docs/guides/winevent-notkept-storage.png | Bin 21153 -> 0 bytes docs/guides/winevent-repaired-acl-closeup.png | Bin 4883 -> 0 bytes docs/guides/winhello.png | Bin 2161 -> 0 bytes docs/guides/winreg-create.png | Bin 7816 -> 0 bytes docs/guides/winreg-delete.png | Bin 7594 -> 0 bytes docs/guides/winservice-disabled_policy.png | Bin 3428 -> 0 bytes docs/guides/winservice-properties_name.png | Bin 6775 -> 0 bytes docs/reference/CFEngineFrontPage.pdf | Bin 60068 -> 0 bytes docs/reference/NewLogo.pdf | Bin 13566 -> 0 bytes .../abortbundleclasses_example.texinfo | 56 - .../abortbundleclasses_notes.texinfo | 5 - .../bodyparts/abortclasses_example.texinfo | 10 - .../bodyparts/abortclasses_notes.texinfo | 7 - docs/reference/bodyparts/aces_example.texinfo | 19 - docs/reference/bodyparts/aces_notes.texinfo | 87 - .../acl_directory_inherit_example.texinfo | 19 - .../acl_directory_inherit_notes.texinfo | 14 - .../bodyparts/acl_method_example.texinfo | 12 - .../bodyparts/acl_method_notes.texinfo | 12 - .../bodyparts/acl_type_example.texinfo | 11 - .../bodyparts/acl_type_notes.texinfo | 9 - .../bodyparts/action_example.texinfo | 45 - docs/reference/bodyparts/action_notes.texinfo | 6 - .../bodyparts/action_policy_example.texinfo | 13 - .../bodyparts/action_policy_notes.texinfo | 77 - .../bodyparts/addclasses_example.texinfo | 16 - .../bodyparts/addclasses_notes.texinfo | 6 - .../reference/bodyparts/admit_example.texinfo | 10 - docs/reference/bodyparts/admit_notes.texinfo | 8 - .../agent_expireafter_example.texinfo | 9 - .../bodyparts/agent_expireafter_notes.texinfo | 19 - .../bodyparts/agentaccess_example.texinfo | 6 - .../bodyparts/agentaccess_notes.texinfo | 5 - .../bodyparts/agentfacility_example.texinfo | 6 - .../bodyparts/agentfacility_notes.texinfo | 4 - .../allclassesreport_example.texinfo | 6 - .../bodyparts/allclassesreport_notes.texinfo | 10 - .../allow_blank_fields_example.texinfo | 10 - .../allow_blank_fields_notes.texinfo | 7 - .../allowallconnects_example.texinfo | 12 - .../bodyparts/allowallconnects_notes.texinfo | 16 - .../bodyparts/allowconnects_example.texinfo | 13 - .../bodyparts/allowconnects_notes.texinfo | 6 - .../bodyparts/allowusers_example.texinfo | 7 - .../bodyparts/allowusers_notes.texinfo | 5 - .../bodyparts/alwaysvalidate_example.texinfo | 13 - .../bodyparts/alwaysvalidate_notes.texinfo | 7 - docs/reference/bodyparts/and_example.texinfo | 8 - docs/reference/bodyparts/and_notes.texinfo | 5 - docs/reference/bodyparts/args_example.texinfo | 10 - docs/reference/bodyparts/args_notes.texinfo | 11 - .../bodyparts/associates_example.texinfo | 12 - .../bodyparts/associates_notes.texinfo | 3 - .../reference/bodyparts/atime_example.texinfo | 20 - docs/reference/bodyparts/atime_notes.texinfo | 4 - .../bodyparts/attribute_value_example.texinfo | 7 - .../bodyparts/attribute_value_notes.texinfo | 0 .../reference/bodyparts/audit_example.texinfo | 11 - docs/reference/bodyparts/audit_notes.texinfo | 8 - .../bodyparts/auditing_example.texinfo | 9 - .../bodyparts/auditing_notes.texinfo | 7 - .../bodyparts/authorize_example.texinfo | 9 - .../bodyparts/authorize_notes.texinfo | 5 - .../background_children_example.texinfo | 9 - .../background_children_notes.texinfo | 2 - .../bodyparts/background_example.texinfo | 9 - .../bodyparts/background_notes.texinfo | 11 - .../bodyparts/before_after_example.texinfo | 11 - .../bodyparts/before_after_notes.texinfo | 3 - .../binarypaddingchar_example.texinfo | 9 - .../bodyparts/binarypaddingchar_notes.texinfo | 10 - .../bodyparts/bindtointerface_example.texinfo | 7 - .../bodyparts/bindtointerface_notes.texinfo | 4 - .../bodyparts/bsdflags_example.texinfo | 11 - .../bodyparts/bsdflags_notes.texinfo | 4 - .../bodyparts/build_xpath_example.texinfo | 9 - .../bodyparts/build_xpath_notes.texinfo | 5 - .../bundle_return_value_index_example.texinfo | 40 - .../bundle_return_value_index_notes.texinfo | 5 - .../bodyparts/bundlesequence_example.texinfo | 12 - .../bodyparts/bundlesequence_notes.texinfo | 57 - .../call_collect_interval_example.texinfo | 6 - .../call_collect_interval_notes.texinfo | 89 - .../bodyparts/cancel_kept_example.texinfo | 10 - .../bodyparts/cancel_kept_notes.texinfo | 8 - .../bodyparts/cancel_notkept_example.texinfo | 10 - .../bodyparts/cancel_notkept_notes.texinfo | 8 - .../bodyparts/cancel_repaired_example.texinfo | 10 - .../bodyparts/cancel_repaired_notes.texinfo | 8 - .../bodyparts/cfruncommand_example.texinfo | 11 - .../bodyparts/cfruncommand_notes.texinfo | 4 - .../reference/bodyparts/chdir_example.texinfo | 10 - docs/reference/bodyparts/chdir_notes.texinfo | 3 - .../bodyparts/check_foreign_example.texinfo | 11 - .../bodyparts/check_foreign_notes.texinfo | 5 - .../bodyparts/check_root_example.texinfo | 10 - .../bodyparts/check_root_notes.texinfo | 5 - .../checksum_alert_time_example.texinfo | 7 - .../checksum_alert_time_notes.texinfo | 3 - .../bodyparts/childlibpath_example.texinfo | 9 - .../bodyparts/childlibpath_notes.texinfo | 3 - .../bodyparts/chroot_example.texinfo | 10 - docs/reference/bodyparts/chroot_notes.texinfo | 4 - .../collapse_destination_dir_example.texinfo | 12 - .../collapse_destination_dir_notes.texinfo | 8 - .../bodyparts/collect_window_example.texinfo | 6 - .../bodyparts/collect_window_notes.texinfo | 4 - .../bodyparts/command_example.texinfo | 12 - .../reference/bodyparts/command_notes.texinfo | 5 - .../bodyparts/comment_example.texinfo | 6 - .../reference/bodyparts/comment_notes.texinfo | 3 - .../bodyparts/compare_example.texinfo | 11 - .../reference/bodyparts/compare_notes.texinfo | 43 - .../bodyparts/copy_backup_example.texinfo | 9 - .../bodyparts/copy_backup_notes.texinfo | 7 - .../bodyparts/copy_patterns_example.texinfo | 9 - .../bodyparts/copy_patterns_notes.texinfo | 6 - .../bodyparts/copy_size_example.texinfo | 9 - .../bodyparts/copy_size_notes.texinfo | 3 - .../copylink_patterns_example.texinfo | 10 - .../bodyparts/copylink_patterns_notes.texinfo | 5 - .../bodyparts/create_example.texinfo | 15 - docs/reference/bodyparts/create_notes.texinfo | 18 - .../bodyparts/csv2xml_example.texinfo | 10 - .../reference/bodyparts/csv2xml_notes.texinfo | 14 - .../reference/bodyparts/ctime_example.texinfo | 13 - docs/reference/bodyparts/ctime_notes.texinfo | 3 - .../bodyparts/data_type_example.texinfo | 17 - .../bodyparts/data_type_notes.texinfo | 10 - .../database_columns_example.texinfo | 18 - .../bodyparts/database_columns_notes.texinfo | 2 - .../database_operation_example.texinfo | 6 - .../database_operation_notes.texinfo | 1 - .../bodyparts/database_rows_example.texinfo | 20 - .../bodyparts/database_rows_notes.texinfo | 7 - .../bodyparts/database_type_example.texinfo | 6 - .../bodyparts/database_type_notes.texinfo | 0 .../db_server_connection_db_example.texinfo | 15 - .../db_server_connection_db_notes.texinfo | 11 - .../bodyparts/db_server_host_example.texinfo | 6 - .../bodyparts/db_server_host_notes.texinfo | 2 - .../bodyparts/db_server_owner_example.texinfo | 6 - .../bodyparts/db_server_owner_notes.texinfo | 0 .../db_server_password_example.texinfo | 6 - .../db_server_password_notes.texinfo | 0 .../bodyparts/db_server_type_example.texinfo | 6 - .../bodyparts/db_server_type_notes.texinfo | 1 - .../default_repository_example.texinfo | 9 - .../default_repository_notes.texinfo | 13 - .../bodyparts/default_timeout_example.texinfo | 9 - .../bodyparts/default_timeout_notes.texinfo | 5 - .../bodyparts/defaultcopytype_example.texinfo | 10 - .../bodyparts/defaultcopytype_notes.texinfo | 3 - ...lete_if_contains_from_list_example.texinfo | 9 - ...delete_if_contains_from_list_notes.texinfo | 6 - .../delete_if_match_from_list_example.texinfo | 9 - .../delete_if_match_from_list_notes.texinfo | 9 - ..._if_not_contains_from_list_example.texinfo | 9 - ...te_if_not_contains_from_list_notes.texinfo | 5 - ...ete_if_not_match_from_list_example.texinfo | 9 - ...elete_if_not_match_from_list_notes.texinfo | 8 - ...if_not_startwith_from_list_example.texinfo | 10 - ...e_if_not_startwith_from_list_notes.texinfo | 5 - ...ete_if_startwith_from_list_example.texinfo | 9 - ...elete_if_startwith_from_list_notes.texinfo | 33 - docs/reference/bodyparts/deny_example.texinfo | 16 - docs/reference/bodyparts/deny_notes.texinfo | 7 - .../bodyparts/denybadclocks_example.texinfo | 10 - .../bodyparts/denybadclocks_notes.texinfo | 8 - .../bodyparts/denyconnects_example.texinfo | 8 - .../bodyparts/denyconnects_notes.texinfo | 9 - .../bodyparts/depends_on_example.texinfo | 24 - .../bodyparts/depends_on_notes.texinfo | 15 - .../reference/bodyparts/depth_example.texinfo | 10 - docs/reference/bodyparts/depth_notes.texinfo | 7 - .../bodyparts/dirlinks_example.texinfo | 10 - .../bodyparts/dirlinks_notes.texinfo | 18 - .../bodyparts/disable_example.texinfo | 10 - .../bodyparts/disable_mode_example.texinfo | 11 - .../bodyparts/disable_mode_notes.texinfo | 4 - .../reference/bodyparts/disable_notes.texinfo | 4 - .../bodyparts/disable_suffix_example.texinfo | 12 - .../bodyparts/disable_suffix_notes.texinfo | 3 - docs/reference/bodyparts/dist_example.texinfo | 10 - docs/reference/bodyparts/dist_notes.texinfo | 15 - .../bodyparts/domain_example.texinfo | 9 - docs/reference/bodyparts/domain_notes.texinfo | 5 - .../bodyparts/dryrun_example.texinfo | 9 - docs/reference/bodyparts/dryrun_notes.texinfo | 3 - .../dynamicaddresses_example.texinfo | 9 - .../bodyparts/dynamicaddresses_notes.texinfo | 7 - .../bodyparts/edit_backup_example.texinfo | 10 - .../bodyparts/edit_backup_notes.texinfo | 1 - .../bodyparts/edit_fstab_example.texinfo | 9 - .../bodyparts/edit_fstab_notes.texinfo | 2 - .../bodyparts/edit_template_example.texinfo | 56 - .../bodyparts/edit_template_notes.texinfo | 26 - .../editbinaryfilesize_example.texinfo | 10 - .../editbinaryfilesize_notes.texinfo | 9 - .../bodyparts/editfilesize_example.texinfo | 9 - .../bodyparts/editfilesize_notes.texinfo | 6 - .../empty_file_before_editing_example.texinfo | 9 - .../empty_file_before_editing_notes.texinfo | 4 - .../bodyparts/encrypt_example.texinfo | 10 - .../reference/bodyparts/encrypt_notes.texinfo | 4 - .../bodyparts/env_addresses_example.texinfo | 18 - .../bodyparts/env_addresses_notes.texinfo | 2 - .../bodyparts/env_baseline_example.texinfo | 6 - .../bodyparts/env_baseline_notes.texinfo | 2 - .../bodyparts/env_cpus_example.texinfo | 11 - .../bodyparts/env_cpus_notes.texinfo | 5 - .../bodyparts/env_disk_example.texinfo | 11 - .../bodyparts/env_disk_notes.texinfo | 4 - .../bodyparts/env_memory_example.texinfo | 11 - .../bodyparts/env_memory_notes.texinfo | 5 - .../bodyparts/env_name_example.texinfo | 14 - .../bodyparts/env_name_notes.texinfo | 3 - .../bodyparts/env_network_example.texinfo | 16 - .../bodyparts/env_network_notes.texinfo | 1 - .../bodyparts/env_spec_example.texinfo | 35 - .../bodyparts/env_spec_file_example.texinfo | 9 - .../bodyparts/env_spec_file_notes.texinfo | 9 - .../bodyparts/env_spec_notes.texinfo | 9 - .../bodyparts/environment_example.texinfo | 20 - .../environment_host_example.texinfo | 15 - .../bodyparts/environment_host_notes.texinfo | 9 - .../bodyparts/environment_notes.texinfo | 11 - .../environment_state_example.texinfo | 16 - .../bodyparts/environment_state_notes.texinfo | 21 - .../environment_type_example.texinfo | 25 - .../bodyparts/environment_type_notes.texinfo | 3 - .../bodyparts/error_bars_example.texinfo | 9 - .../bodyparts/error_bars_notes.texinfo | 6 - .../bodyparts/exclamation_example.texinfo | 9 - .../bodyparts/exclamation_notes.texinfo | 3 - .../bodyparts/exclude_dirs_example.texinfo | 10 - .../bodyparts/exclude_dirs_notes.texinfo | 3 - .../bodyparts/exclude_hosts_example.texinfo | 7 - .../bodyparts/exclude_hosts_notes.texinfo | 10 - .../bodyparts/exec_command_example.texinfo | 6 - .../bodyparts/exec_command_notes.texinfo | 5 - .../bodyparts/exec_group_example.texinfo | 10 - .../bodyparts/exec_group_notes.texinfo | 5 - .../bodyparts/exec_owner_example.texinfo | 9 - .../bodyparts/exec_owner_notes.texinfo | 8 - .../bodyparts/exec_program_example.texinfo | 11 - .../bodyparts/exec_program_notes.texinfo | 3 - .../bodyparts/exec_regex_example.texinfo | 11 - .../bodyparts/exec_regex_notes.texinfo | 6 - .../bodyparts/exec_timeout_example.texinfo | 10 - .../bodyparts/exec_timeout_notes.texinfo | 3 - .../bodyparts/execcommand_example.texinfo | 10 - .../bodyparts/execcommand_notes.texinfo | 2 - .../executorfacility_example.texinfo | 9 - .../bodyparts/executorfacility_notes.texinfo | 2 - .../bodyparts/expand_scalars_example.texinfo | 37 - .../bodyparts/expand_scalars_notes.texinfo | 13 - .../bodyparts/expireafter_example.texinfo | 8 - .../bodyparts/expireafter_notes.texinfo | 3 - .../bodyparts/export_zenoss_example.texinfo | 11 - .../bodyparts/export_zenoss_notes.texinfo | 4 - .../bodyparts/expression_example.texinfo | 8 - .../bodyparts/expression_notes.texinfo | 3 - .../bodyparts/extend_fields_example.texinfo | 10 - .../bodyparts/extend_fields_notes.texinfo | 8 - .../extraction_regex_example.texinfo | 10 - .../bodyparts/extraction_regex_notes.texinfo | 4 - .../failed_returncodes_example.texinfo | 33 - .../failed_returncodes_notes.texinfo | 26 - .../bodyparts/field_operation_example.texinfo | 10 - .../bodyparts/field_operation_notes.texinfo | 20 - .../bodyparts/field_separator_example.texinfo | 9 - .../bodyparts/field_separator_notes.texinfo | 4 - .../bodyparts/field_value_example.texinfo | 9 - .../bodyparts/field_value_notes.texinfo | 3 - .../bodyparts/file_result_example.texinfo | 21 - .../bodyparts/file_result_notes.texinfo | 31 - .../bodyparts/file_to_print_example.texinfo | 10 - .../bodyparts/file_to_print_notes.texinfo | 3 - .../bodyparts/file_types_example.texinfo | 11 - .../bodyparts/file_types_notes.texinfo | 4 - .../files_auto_define_example.texinfo | 9 - .../bodyparts/files_auto_define_notes.texinfo | 11 - .../files_single_copy_example.texinfo | 10 - .../bodyparts/files_single_copy_notes.texinfo | 7 - .../bodyparts/filetypes_example.texinfo | 8 - .../bodyparts/filetypes_notes.texinfo | 2 - .../bodyparts/findertype_example.texinfo | 9 - .../bodyparts/findertype_notes.texinfo | 2 - .../bodyparts/fips_mode_example.texinfo | 9 - .../bodyparts/fips_mode_notes.texinfo | 8 - .../bodyparts/first_last_example.texinfo | 10 - .../bodyparts/first_last_notes.texinfo | 6 - .../bodyparts/force_ipv4_example.texinfo | 9 - .../bodyparts/force_ipv4_notes.texinfo | 4 - .../bodyparts/force_update_example.texinfo | 9 - .../bodyparts/force_update_notes.texinfo | 6 - .../bodyparts/forgetrate_example.texinfo | 9 - .../bodyparts/forgetrate_notes.texinfo | 5 - .../forward_relationship_example.texinfo | 10 - .../forward_relationship_notes.texinfo | 1 - .../bodyparts/freespace_example.texinfo | 14 - .../bodyparts/freespace_notes.texinfo | 6 - .../bodyparts/fullencryption_example.texinfo | 9 - .../bodyparts/fullencryption_notes.texinfo | 5 - .../bodyparts/goal_categories_example.texinfo | 7 - .../bodyparts/goal_categories_notes.texinfo | 6 - .../bodyparts/goal_patterns_example.texinfo | 9 - .../bodyparts/goal_patterns_notes.texinfo | 6 - .../bodyparts/groups_example.texinfo | 9 - docs/reference/bodyparts/groups_notes.texinfo | 8 - .../bodyparts/handle_example.texinfo | 11 - docs/reference/bodyparts/handle_notes.texinfo | 9 - docs/reference/bodyparts/hash_example.texinfo | 10 - docs/reference/bodyparts/hash_notes.texinfo | 4 - .../bodyparts/hashpurge_example.texinfo | 10 - .../bodyparts/hashpurge_notes.texinfo | 4 - .../bodyparts/hashupdates_example.texinfo | 9 - .../bodyparts/hashupdates_notes.texinfo | 4 - .../bodyparts/histograms_example.texinfo | 10 - .../bodyparts/histograms_notes.texinfo | 5 - .../bodyparts/history_type_example.texinfo | 13 - .../bodyparts/history_type_notes.texinfo | 17 - .../host_licenses_paid_example.texinfo | 7 - .../host_licenses_paid_notes.texinfo | 6 - .../bodyparts/hostnamekeys_example.texinfo | 9 - .../bodyparts/hostnamekeys_notes.texinfo | 7 - .../reference/bodyparts/hosts_example.texinfo | 14 - docs/reference/bodyparts/hosts_notes.texinfo | 5 - .../bodyparts/hub_schedule_example.texinfo | 9 - .../bodyparts/hub_schedule_notes.texinfo | 3 - .../bodyparts/if_match_regex_example.texinfo | 11 - .../bodyparts/if_match_regex_notes.texinfo | 6 - .../bodyparts/ifelapsed_example.texinfo | 20 - .../bodyparts/ifelapsed_notes.texinfo | 8 - .../bodyparts/ifencrypted_example.texinfo | 11 - .../bodyparts/ifencrypted_notes.texinfo | 4 - .../bodyparts/ifvarclass_example.texinfo | 35 - .../bodyparts/ifvarclass_notes.texinfo | 32 - .../ignore_missing_bundles_example.texinfo | 4 - .../ignore_missing_bundles_notes.texinfo | 5 - .../ignore_missing_inputs.example.texinfo | 9 - .../ignore_missing_inputs.notes.texinfo | 4 - .../ignore_missing_inputs_example.texinfo | 6 - .../ignore_missing_inputs_notes.texinfo | 8 - .../reference/bodyparts/ilist_example.texinfo | 10 - docs/reference/bodyparts/ilist_notes.texinfo | 11 - .../bodyparts/in_range_define_example.texinfo | 9 - .../bodyparts/in_range_define_notes.texinfo | 4 - .../bodyparts/include_basedir_example.texinfo | 9 - .../bodyparts/include_basedir_notes.texinfo | 6 - .../bodyparts/include_dirs_example.texinfo | 9 - .../bodyparts/include_dirs_notes.texinfo | 2 - .../include_end_delimiter_example.texinfo | 11 - .../include_end_delimiter_notes.texinfo | 28 - .../include_start_delimiter_example.texinfo | 11 - .../include_start_delimiter_notes.texinfo | 21 - .../bodyparts/inform_example.texinfo | 9 - docs/reference/bodyparts/inform_notes.texinfo | 6 - .../bodyparts/inherit_aces_example.texinfo | 28 - .../bodyparts/inherit_aces_notes.texinfo | 2 - .../bodyparts/inherit_example.texinfo | 17 - .../reference/bodyparts/inherit_notes.texinfo | 13 - .../bodyparts/inputs_example.texinfo | 12 - docs/reference/bodyparts/inputs_notes.texinfo | 10 - ...sert_if_contains_from_list_example.texinfo | 9 - ...insert_if_contains_from_list_notes.texinfo | 9 - .../insert_if_match_from_list_example.texinfo | 11 - .../insert_if_match_from_list_notes.texinfo | 11 - ..._if_not_contains_from_list_example.texinfo | 11 - ...rt_if_not_contains_from_list_notes.texinfo | 7 - ...ert_if_not_match_from_list_example.texinfo | 12 - ...nsert_if_not_match_from_list_notes.texinfo | 7 - ...if_not_startwith_from_list_example.texinfo | 11 - ...t_if_not_startwith_from_list_notes.texinfo | 9 - ...ert_if_startwith_from_list_example.texinfo | 11 - ...nsert_if_startwith_from_list_notes.texinfo | 9 - .../bodyparts/insert_type_example.texinfo | 32 - .../bodyparts/insert_type_notes.texinfo | 23 - docs/reference/bodyparts/int_example.texinfo | 11 - docs/reference/bodyparts/int_notes.texinfo | 29 - .../bodyparts/intermittency_example.texinfo | 0 .../bodyparts/intermittency_notes.texinfo | 0 .../bodyparts/ipv4_address_example.texinfo | 9 - .../bodyparts/ipv4_address_notes.texinfo | 4 - .../bodyparts/ipv4_netmask_example.texinfo | 11 - .../bodyparts/ipv4_netmask_notes.texinfo | 3 - .../bodyparts/ipv6_address_example.texinfo | 8 - .../bodyparts/ipv6_address_notes.texinfo | 0 .../bodyparts/issymlinkto_example.texinfo | 10 - .../bodyparts/issymlinkto_notes.texinfo | 5 - .../kept_returncodes_example.texinfo | 18 - .../bodyparts/kept_returncodes_notes.texinfo | 26 - .../bodyparts/keycacheTTL_example.texinfo | 12 - .../bodyparts/keycacheTTL_notes.texinfo | 3 - .../bodyparts/lastseen_example.texinfo | 21 - .../bodyparts/lastseen_notes.texinfo | 10 - .../lastseenexpireafter_example.texinfo | 9 - .../lastseenexpireafter_notes.texinfo | 2 - .../bodyparts/leaf_name_example.texinfo | 10 - .../bodyparts/leaf_name_notes.texinfo | 2 - .../bodyparts/link_children_example.texinfo | 9 - .../bodyparts/link_children_notes.texinfo | 3 - .../bodyparts/link_type_example.texinfo | 10 - .../bodyparts/link_type_notes.texinfo | 13 - .../linkcopy_patterns_example.texinfo | 11 - .../bodyparts/linkcopy_patterns_notes.texinfo | 5 - .../bodyparts/listen_example.texinfo | 14 - docs/reference/bodyparts/listen_notes.texinfo | 6 - .../bodyparts/log_failed_example.texinfo | 28 - .../bodyparts/log_failed_notes.texinfo | 21 - .../log_file_growing_example.texinfo | 11 - .../bodyparts/log_file_growing_notes.texinfo | 6 - .../bodyparts/log_kept.example.texinfo | 29 - .../bodyparts/log_kept_example.texinfo | 12 - .../bodyparts/log_kept_notes.texinfo | 22 - .../bodyparts/log_level_example.texinfo | 9 - .../bodyparts/log_level_notes.texinfo | 8 - .../bodyparts/log_priority_example.texinfo | 7 - .../bodyparts/log_priority_notes.texinfo | 2 - .../bodyparts/log_repaired_example.texinfo | 32 - .../bodyparts/log_repaired_notes.texinfo | 13 - .../bodyparts/log_string_example.texinfo | 18 - .../bodyparts/log_string_notes.texinfo | 15 - .../logallconnections_example.texinfo | 9 - .../bodyparts/logallconnections_notes.texinfo | 3 - .../logencryptedtransfers_example.texinfo | 9 - .../logencryptedtransfers_notes.texinfo | 5 - .../bodyparts/mailfrom_example.texinfo | 9 - .../bodyparts/mailfrom_notes.texinfo | 1 - .../bodyparts/mailmaxlines_example.texinfo | 9 - .../bodyparts/mailmaxlines_notes.texinfo | 6 - .../bodyparts/mailto_example.texinfo | 9 - docs/reference/bodyparts/mailto_notes.texinfo | 2 - .../bodyparts/maproot_example.texinfo | 15 - .../reference/bodyparts/maproot_notes.texinfo | 12 - .../bodyparts/match_range_example.texinfo | 9 - .../bodyparts/match_range_notes.texinfo | 4 - .../bodyparts/max_children_example.texinfo | 17 - .../bodyparts/max_children_notes.texinfo | 7 - .../bodyparts/max_file_size_example.texinfo | 9 - .../bodyparts/max_file_size_notes.texinfo | 6 - .../bodyparts/maxconnections_example.texinfo | 18 - .../bodyparts/maxconnections_notes.texinfo | 3 - .../measurement_class_example.texinfo | 10 - .../bodyparts/measurement_class_notes.texinfo | 11 - docs/reference/bodyparts/meta_example.texinfo | 13 - docs/reference/bodyparts/meta_notes.texinfo | 6 - docs/reference/bodyparts/mode_example.texinfo | 9 - docs/reference/bodyparts/mode_notes.texinfo | 4 - .../bodyparts/module_example.texinfo | 10 - docs/reference/bodyparts/module_notes.texinfo | 149 - .../bodyparts/monitorfacility_example.texinfo | 9 - .../bodyparts/monitorfacility_notes.texinfo | 2 - .../bodyparts/mount_options_example.texinfo | 8 - .../bodyparts/mount_options_notes.texinfo | 3 - .../bodyparts/mount_server_example.texinfo | 9 - .../bodyparts/mount_server_notes.texinfo | 2 - .../bodyparts/mount_source_example.texinfo | 8 - .../bodyparts/mount_source_notes.texinfo | 2 - .../bodyparts/mount_type_example.texinfo | 9 - .../bodyparts/mount_type_notes.texinfo | 2 - .../mountfilesystems_example.texinfo | 9 - .../bodyparts/mountfilesystems_notes.texinfo | 3 - .../move_obstructions_example.texinfo | 12 - .../bodyparts/move_obstructions_notes.texinfo | 13 - .../reference/bodyparts/mtime_example.texinfo | 12 - docs/reference/bodyparts/mtime_notes.texinfo | 4 - .../bodyparts/namespace_example.texinfo | 12 - .../bodyparts/namespace_notes.texinfo | 6 - .../bodyparts/newname_example.texinfo | 9 - .../reference/bodyparts/newname_notes.texinfo | 0 .../bodyparts/no_output_example.texinfo | 9 - .../bodyparts/no_output_notes.texinfo | 2 - .../nonalphanumfiles_example.texinfo | 9 - .../bodyparts/nonalphanumfiles_notes.texinfo | 3 - docs/reference/bodyparts/not_example.texinfo | 9 - .../bodyparts/not_matching_example.texinfo | 11 - .../bodyparts/not_matching_notes.texinfo | 12 - docs/reference/bodyparts/not_notes.texinfo | 4 - .../bodyparts/number_of_lines_example.texinfo | 9 - .../bodyparts/number_of_lines_notes.texinfo | 1 - .../bodyparts/occurrences_example.texinfo | 9 - .../bodyparts/occurrences_notes.texinfo | 8 - docs/reference/bodyparts/or_example.texinfo | 10 - docs/reference/bodyparts/or_notes.texinfo | 4 - .../out_of_range_define_example.texinfo | 9 - .../out_of_range_define_notes.texinfo | 3 - .../output_directory_example.texinfo | 9 - .../bodyparts/output_directory_notes.texinfo | 5 - .../bodyparts/output_level_example.texinfo | 17 - .../bodyparts/output_level_notes.texinfo | 2 - .../bodyparts/output_prefix_example.texinfo | 9 - .../bodyparts/output_prefix_notes.texinfo | 3 - .../bodyparts/output_to_file_example.texinfo | 9 - .../bodyparts/output_to_file_notes.texinfo | 3 - .../bodyparts/owners_example.texinfo | 9 - docs/reference/bodyparts/owners_notes.texinfo | 11 - .../package_add_command_example.texinfo | 9 - .../package_add_command_notes.texinfo | 13 - .../package_arch_regex_example.texinfo | 10 - .../package_arch_regex_notes.texinfo | 10 - .../package_architectures_example.texinfo | 11 - .../package_architectures_notes.texinfo | 4 - .../bodyparts/package_changes_example.texinfo | 10 - .../bodyparts/package_changes_notes.texinfo | 7 - .../package_commands_useshell_example.texinfo | 9 - .../package_commands_useshell_notes.texinfo | 9 - ...ckage_default_arch_command_example.texinfo | 8 - ...package_default_arch_command_notes.texinfo | 11 - .../package_delete_command_example.texinfo | 10 - .../package_delete_command_notes.texinfo | 12 - .../package_delete_convention_example.texinfo | 11 - .../package_delete_convention_notes.texinfo | 17 - .../package_file_repositories_example.texinfo | 9 - .../package_file_repositories_notes.texinfo | 4 - .../package_installed_regex_example.texinfo | 9 - .../package_installed_regex_notes.texinfo | 7 - .../package_list_arch_regex_example.texinfo | 9 - .../package_list_arch_regex_notes.texinfo | 8 - .../package_list_command_example.texinfo | 10 - .../package_list_command_notes.texinfo | 11 - .../package_list_name_regex_example.texinfo | 10 - .../package_list_name_regex_notes.texinfo | 5 - ...ackage_list_update_command_example.texinfo | 10 - .../package_list_update_command_notes.texinfo | 5 - ...kage_list_update_ifelapsed_example.texinfo | 10 - ...ackage_list_update_ifelapsed_notes.texinfo | 4 - ...package_list_version_regex_example.texinfo | 9 - .../package_list_version_regex_notes.texinfo | 5 - .../package_multiline_start_example.texinfo | 12 - .../package_multiline_start_notes.texinfo | 5 - .../package_name_convention_example.texinfo | 9 - .../package_name_convention_notes.texinfo | 15 - .../package_name_regex_example.texinfo | 9 - .../package_name_regex_notes.texinfo | 7 - .../package_noverify_regex_example.texinfo | 10 - .../package_noverify_regex_notes.texinfo | 5 - ...ackage_noverify_returncode_example.texinfo | 8 - .../package_noverify_returncode_notes.texinfo | 3 - .../package_patch_arch_regex_example.texinfo | 9 - .../package_patch_arch_regex_notes.texinfo | 5 - .../package_patch_command_example.texinfo | 8 - .../package_patch_command_notes.texinfo | 14 - ...kage_patch_installed_regex_example.texinfo | 9 - ...ackage_patch_installed_regex_notes.texinfo | 5 - ...package_patch_list_command_example.texinfo | 6 - .../package_patch_list_command_notes.texinfo | 15 - .../package_patch_name_regex_example.texinfo | 8 - .../package_patch_name_regex_notes.texinfo | 5 - ...ackage_patch_version_regex_example.texinfo | 9 - .../package_patch_version_regex_notes.texinfo | 5 - .../bodyparts/package_policy_example.texinfo | 10 - .../bodyparts/package_policy_notes.texinfo | 22 - .../bodyparts/package_select_example.texinfo | 13 - .../bodyparts/package_select_notes.texinfo | 4 - .../package_update_command_example.texinfo | 9 - .../package_update_command_notes.texinfo | 12 - .../package_verify_command_example.texinfo | 11 - .../package_verify_command_notes.texinfo | 21 - ...kage_version_equal_command_example.texinfo | 7 - ...ackage_version_equal_command_notes.texinfo | 17 - .../bodyparts/package_version_example.texinfo | 12 - ...ckage_version_less_command_example.texinfo | 7 - ...package_version_less_command_notes.texinfo | 18 - .../bodyparts/package_version_notes.texinfo | 3 - .../package_version_regex_example.texinfo | 9 - .../package_version_regex_notes.texinfo | 6 - .../bodyparts/path_name_example.texinfo | 12 - .../bodyparts/path_name_notes.texinfo | 3 - .../bodyparts/pathtype_example.texinfo | 19 - .../bodyparts/pathtype_notes.texinfo | 27 - .../bodyparts/persist_time_example.texinfo | 9 - .../bodyparts/persist_time_notes.texinfo | 4 - .../bodyparts/persistence_example.texinfo | 17 - .../bodyparts/persistence_notes.texinfo | 57 - docs/reference/bodyparts/pgid_example.texinfo | 10 - docs/reference/bodyparts/pgid_notes.texinfo | 2 - docs/reference/bodyparts/pid_example.texinfo | 11 - docs/reference/bodyparts/pid_notes.texinfo | 1 - .../bodyparts/policy_example.texinfo | 10 - docs/reference/bodyparts/policy_notes.texinfo | 32 - docs/reference/bodyparts/port_example.texinfo | 18 - docs/reference/bodyparts/port_notes.texinfo | 7 - .../bodyparts/portnumber_example.texinfo | 9 - .../bodyparts/portnumber_notes.texinfo | 4 - docs/reference/bodyparts/ppid_example.texinfo | 10 - docs/reference/bodyparts/ppid_notes.texinfo | 1 - .../bodyparts/precedents_example.texinfo | 10 - .../bodyparts/precedents_notes.texinfo | 5 - .../bodyparts/preserve_example.texinfo | 10 - .../bodyparts/preserve_notes.texinfo | 6 - .../bodyparts/preview_example.texinfo | 9 - .../reference/bodyparts/preview_notes.texinfo | 6 - .../bodyparts/priority_example.texinfo | 9 - .../bodyparts/priority_notes.texinfo | 1 - .../bodyparts/process_owner_example.texinfo | 9 - .../bodyparts/process_owner_notes.texinfo | 4 - .../bodyparts/process_result_example.texinfo | 15 - .../bodyparts/process_result_notes.texinfo | 4 - .../bodyparts/process_stop_example.texinfo | 11 - .../bodyparts/process_stop_notes.texinfo | 3 - .../bodyparts/promise_kept_example.texinfo | 10 - .../bodyparts/promise_kept_notes.texinfo | 19 - .../promise_repaired_example.texinfo | 10 - .../bodyparts/promise_repaired_notes.texinfo | 18 - .../bodyparts/promiser_type_example.texinfo | 10 - .../bodyparts/promiser_type_notes.texinfo | 4 - .../reference/bodyparts/purge_example.texinfo | 10 - docs/reference/bodyparts/purge_notes.texinfo | 9 - .../bodyparts/qualifiers_example.texinfo | 11 - .../bodyparts/qualifiers_notes.texinfo | 5 - docs/reference/bodyparts/real_example.texinfo | 8 - docs/reference/bodyparts/real_notes.texinfo | 8 - .../bodyparts/recognize_join_example.texinfo | 17 - .../bodyparts/recognize_join_notes.texinfo | 7 - .../refresh_processes_example.texinfo | 10 - .../bodyparts/refresh_processes_notes.texinfo | 13 - .../registry_exclude_example.texinfo | 21 - .../bodyparts/registry_exclude_notes.texinfo | 4 - .../bodyparts/repair_denied_example.texinfo | 9 - .../bodyparts/repair_denied_notes.texinfo | 7 - .../bodyparts/repair_failed_example.texinfo | 10 - .../bodyparts/repair_failed_notes.texinfo | 7 - .../bodyparts/repair_timeout_example.texinfo | 12 - .../bodyparts/repair_timeout_notes.texinfo | 2 - .../repaired_returncodes_example.texinfo | 18 - .../repaired_returncodes_notes.texinfo | 28 - .../bodyparts/repchar_example.texinfo | 9 - .../reference/bodyparts/repchar_notes.texinfo | 1 - .../bodyparts/replace_value_example.texinfo | 9 - .../bodyparts/replace_value_notes.texinfo | 1 - .../bodyparts/report_changes_example.texinfo | 9 - .../bodyparts/report_changes_notes.texinfo | 3 - .../bodyparts/report_diffs_example.texinfo | 9 - .../bodyparts/report_diffs_notes.texinfo | 14 - .../bodyparts/report_level_example.texinfo | 9 - .../bodyparts/report_level_notes.texinfo | 7 - .../bodyparts/report_output_example.texinfo | 9 - .../bodyparts/report_output_notes.texinfo | 3 - .../bodyparts/report_to_file_example.texinfo | 15 - .../bodyparts/report_to_file_notes.texinfo | 4 - .../bodyparts/reports_example.texinfo | 9 - .../reference/bodyparts/reports_notes.texinfo | 7 - .../bodyparts/repository_example.texinfo | 12 - .../bodyparts/repository_notes.texinfo | 9 - .../require_comments_example.texinfo | 12 - .../bodyparts/require_comments_notes.texinfo | 7 - .../bodyparts/resource_type_example.texinfo | 43 - .../bodyparts/resource_type_notes.texinfo | 42 - .../bodyparts/restart_class_example.texinfo | 16 - .../bodyparts/restart_class_notes.texinfo | 12 - .../reference/bodyparts/rlist_example.texinfo | 9 - docs/reference/bodyparts/rlist_notes.texinfo | 10 - .../bodyparts/rmdeadlinks_example.texinfo | 9 - .../bodyparts/rmdeadlinks_notes.texinfo | 2 - .../bodyparts/rmdirs_example.texinfo | 9 - docs/reference/bodyparts/rmdirs_notes.texinfo | 51 - .../bodyparts/rotate_example.texinfo | 9 - docs/reference/bodyparts/rotate_notes.texinfo | 17 - .../reference/bodyparts/rsize_example.texinfo | 10 - docs/reference/bodyparts/rsize_notes.texinfo | 1 - .../bodyparts/rxdirs_example.texinfo | 9 - docs/reference/bodyparts/rxdirs_notes.texinfo | 5 - .../bodyparts/scan_arrivals_example.texinfo | 9 - .../bodyparts/scan_arrivals_notes.texinfo | 5 - .../bodyparts/schedule_example.texinfo | 9 - .../bodyparts/schedule_notes.texinfo | 21 - .../bodyparts/search_bsdflags_example.texinfo | 9 - .../bodyparts/search_bsdflags_notes.texinfo | 3 - .../bodyparts/search_groups_example.texinfo | 11 - .../bodyparts/search_groups_notes.texinfo | 4 - .../bodyparts/search_mode_example.texinfo | 54 - .../bodyparts/search_mode_notes.texinfo | 5 - .../bodyparts/search_owners_example.texinfo | 10 - .../bodyparts/search_owners_notes.texinfo | 4 - .../bodyparts/search_size_example.texinfo | 11 - .../bodyparts/search_size_notes.texinfo | 0 .../bodyparts/secureinput_example.texinfo | 9 - .../bodyparts/secureinput_notes.texinfo | 3 - .../bodyparts/select_class_example.texinfo | 16 - .../bodyparts/select_class_notes.texinfo | 11 - .../bodyparts/select_end_example.texinfo | 12 - .../bodyparts/select_end_notes.texinfo | 23 - .../bodyparts/select_field_example.texinfo | 8 - .../bodyparts/select_field_notes.texinfo | 2 - .../select_line_matching_example.texinfo | 18 - .../select_line_matching_notes.texinfo | 5 - .../select_line_number_example.texinfo | 9 - .../select_line_number_notes.texinfo | 2 - .../select_multiline_policy_example.texinfo | 12 - .../select_multiline_policy_notes.texinfo | 6 - .../bodyparts/select_start_example.texinfo | 12 - .../bodyparts/select_start_notes.texinfo | 20 - .../bodyparts/select_xpath_example.texinfo | 6 - .../bodyparts/select_xpath_notes.texinfo | 3 - .../bodyparts/sensible_count_example.texinfo | 9 - .../bodyparts/sensible_count_notes.texinfo | 3 - .../bodyparts/sensible_size_example.texinfo | 12 - .../bodyparts/sensible_size_notes.texinfo | 12 - .../bodyparts/sensiblecount_example.texinfo | 10 - .../bodyparts/sensiblecount_notes.texinfo | 0 .../bodyparts/sensiblesize_example.texinfo | 11 - .../bodyparts/sensiblesize_notes.texinfo | 1 - .../bodyparts/serverfacility_example.texinfo | 9 - .../bodyparts/serverfacility_notes.texinfo | 2 - .../bodyparts/servers_example.texinfo | 10 - .../reference/bodyparts/servers_notes.texinfo | 2 - .../bodyparts/service_args_example.texinfo | 9 - .../bodyparts/service_args_notes.texinfo | 8 - .../service_autostart_policy_example.texinfo | 9 - .../service_autostart_policy_notes.texinfo | 10 - .../service_dependence_chain_example.texinfo | 9 - .../service_dependence_chain_notes.texinfo | 24 - .../service_dependencies_example.texinfo | 10 - .../service_dependencies_notes.texinfo | 12 - .../bodyparts/service_policy_example.texinfo | 9 - .../bodyparts/service_policy_notes.texinfo | 6 - .../bodyparts/service_type_example.texinfo | 9 - .../bodyparts/service_type_notes.texinfo | 4 - .../bodyparts/showstate_example.texinfo | 11 - .../bodyparts/showstate_notes.texinfo | 113 - .../bodyparts/signals_example.texinfo | 19 - .../reference/bodyparts/signals_notes.texinfo | 3 - .../bodyparts/site_classes_example.texinfo | 8 - .../bodyparts/site_classes_notes.texinfo | 7 - .../bodyparts/skipidentify_example.texinfo | 9 - .../bodyparts/skipidentify_notes.texinfo | 4 - .../bodyparts/skipverify_example.texinfo | 9 - .../bodyparts/skipverify_notes.texinfo | 4 - .../reference/bodyparts/slist_example.texinfo | 20 - docs/reference/bodyparts/slist_notes.texinfo | 4 - .../bodyparts/smtpserver_example.texinfo | 9 - .../bodyparts/smtpserver_notes.texinfo | 4 - .../bodyparts/source_example.texinfo | 19 - docs/reference/bodyparts/source_notes.texinfo | 2 - .../specify_inherit_aces_example.texinfo | 7 - .../specify_inherit_aces_notes.texinfo | 10 - .../bodyparts/splaytime_example.texinfo | 9 - .../bodyparts/splaytime_notes.texinfo | 22 - .../start_fields_from_zero_example.texinfo | 17 - .../start_fields_from_zero_notes.texinfo | 9 - .../bodyparts/status_example.texinfo | 9 - docs/reference/bodyparts/status_notes.texinfo | 3 - .../bodyparts/stealth_example.texinfo | 9 - .../reference/bodyparts/stealth_notes.texinfo | 2 - .../bodyparts/stime_range_example.texinfo | 9 - .../bodyparts/stime_range_notes.texinfo | 6 - .../bodyparts/stream_type_example.texinfo | 6 - .../bodyparts/stream_type_notes.texinfo | 4 - .../bodyparts/string_example.texinfo | 10 - docs/reference/bodyparts/string_notes.texinfo | 6 - .../bodyparts/suspiciousnames_example.texinfo | 10 - .../bodyparts/suspiciousnames_notes.texinfo | 3 - .../bodyparts/synonyms_example.texinfo | 9 - .../bodyparts/synonyms_notes.texinfo | 4 - .../bodyparts/syslog_example.texinfo | 9 - .../bodyparts/syslog_host_example.texinfo | 8 - .../bodyparts/syslog_host_notes.texinfo | 3 - docs/reference/bodyparts/syslog_notes.texinfo | 2 - .../bodyparts/syslog_port_example.texinfo | 8 - .../bodyparts/syslog_port_notes.texinfo | 3 - .../bodyparts/tcpdump_example.texinfo | 10 - .../reference/bodyparts/tcpdump_notes.texinfo | 2 - .../bodyparts/tcpdumpcommand_example.texinfo | 9 - .../bodyparts/tcpdumpcommand_notes.texinfo | 3 - .../bodyparts/threads_example.texinfo | 9 - .../reference/bodyparts/threads_notes.texinfo | 2 - .../bodyparts/time_stamps_example.texinfo | 9 - .../bodyparts/time_stamps_notes.texinfo | 6 - .../bodyparts/timeout_example.texinfo | 9 - .../reference/bodyparts/timeout_notes.texinfo | 2 - .../bodyparts/timer_policy_example.texinfo | 9 - .../bodyparts/timer_policy_notes.texinfo | 5 - .../bodyparts/timezone_example.texinfo | 9 - .../bodyparts/timezone_notes.texinfo | 1 - .../reference/bodyparts/touch_example.texinfo | 10 - docs/reference/bodyparts/touch_notes.texinfo | 2 - .../track_growing_file_example.texinfo | 33 - .../track_growing_file_notes.texinfo | 9 - .../bodyparts/track_value_example.texinfo | 9 - .../bodyparts/track_value_notes.texinfo | 8 - .../bodyparts/transformer_example.texinfo | 25 - .../bodyparts/transformer_notes.texinfo | 45 - .../bodyparts/traverse_links_example.texinfo | 9 - .../bodyparts/traverse_links_notes.texinfo | 4 - .../bodyparts/trustkey_example.texinfo | 10 - .../bodyparts/trustkey_notes.texinfo | 16 - .../bodyparts/trustkeysfrom_example.texinfo | 9 - .../bodyparts/trustkeysfrom_notes.texinfo | 7 - .../bodyparts/ttime_range_example.texinfo | 9 - .../bodyparts/ttime_range_notes.texinfo | 2 - docs/reference/bodyparts/tty_example.texinfo | 9 - docs/reference/bodyparts/tty_notes.texinfo | 3 - .../bodyparts/type_check_example.texinfo | 9 - .../bodyparts/type_check_notes.texinfo | 3 - .../reference/bodyparts/umask_example.texinfo | 9 - docs/reference/bodyparts/umask_notes.texinfo | 4 - .../reference/bodyparts/units_example.texinfo | 15 - docs/reference/bodyparts/units_notes.texinfo | 2 - .../bodyparts/unmount_example.texinfo | 9 - .../reference/bodyparts/unmount_notes.texinfo | 1 - .../bodyparts/update_hashes_example.texinfo | 9 - .../bodyparts/update_hashes_notes.texinfo | 4 - .../bodyparts/useresult_example.texinfo | 41 - .../bodyparts/useresult_notes.texinfo | 5 - .../bodyparts/useshell_example.texinfo | 9 - .../bodyparts/useshell_notes.texinfo | 11 - .../bodyparts/value_kept_example.texinfo | 12 - .../bodyparts/value_kept_notes.texinfo | 4 - .../bodyparts/value_notkept_example.texinfo | 12 - .../bodyparts/value_notkept_notes.texinfo | 4 - .../bodyparts/value_repaired_example.texinfo | 12 - .../bodyparts/value_repaired_notes.texinfo | 4 - .../bodyparts/value_separator_example.texinfo | 9 - .../bodyparts/value_separator_notes.texinfo | 3 - .../bodyparts/verbose_example.texinfo | 11 - .../reference/bodyparts/verbose_notes.texinfo | 8 - .../bodyparts/verify_example.texinfo | 9 - docs/reference/bodyparts/verify_notes.texinfo | 3 - .../bodyparts/version_example.texinfo | 11 - .../reference/bodyparts/version_notes.texinfo | 5 - .../reference/bodyparts/vsize_example.texinfo | 9 - docs/reference/bodyparts/vsize_notes.texinfo | 4 - .../when_linking_children_example.texinfo | 10 - .../when_linking_children_notes.texinfo | 9 - .../bodyparts/when_no_source_example.texinfo | 9 - .../bodyparts/when_no_source_notes.texinfo | 4 - .../whitespace_policy_example.texinfo | 13 - .../bodyparts/whitespace_policy_notes.texinfo | 25 - docs/reference/bodyparts/xdev_example.texinfo | 9 - docs/reference/bodyparts/xdev_notes.texinfo | 1 - docs/reference/bodyparts/xor_example.texinfo | 10 - docs/reference/bodyparts/xor_notes.texinfo | 5 - .../bundletypes/agent_example.texinfo | 32 - .../reference/bundletypes/agent_notes.texinfo | 3 - .../bundletypes/common_example.texinfo | 17 - .../bundletypes/common_notes.texinfo | 6 - .../bundletypes/executor_example.texinfo | 3 - .../bundletypes/executor_notes.texinfo | 3 - .../bundletypes/monitor_example.texinfo | 28 - .../bundletypes/monitor_notes.texinfo | 2 - .../bundletypes/runagent_example.texinfo | 3 - .../bundletypes/runagent_notes.texinfo | 1 - .../bundletypes/server_example.texinfo | 25 - .../bundletypes/server_notes.texinfo | 3 - .../bundletypes/string_notes.texinfo | 1 - docs/reference/control/agent_example.texinfo | 22 - docs/reference/control/agent_notes.texinfo | 4 - docs/reference/control/common_example.texinfo | 29 - docs/reference/control/common_notes.texinfo | 4 - .../control/executor_example.texinfo | 16 - docs/reference/control/executor_notes.texinfo | 5 - docs/reference/control/file_example.texinfo | 14 - docs/reference/control/file_notes.texinfo | 6 - docs/reference/control/hub_example.texinfo | 9 - docs/reference/control/hub_notes.texinfo | 0 .../reference/control/monitor_example.texinfo | 16 - docs/reference/control/monitor_notes.texinfo | 6 - .../control/runagent_example.texinfo | 15 - docs/reference/control/runagent_notes.texinfo | 8 - docs/reference/control/server_example.texinfo | 16 - docs/reference/control/server_notes.texinfo | 6 - docs/reference/filelogic.png | Bin 14272 -> 0 bytes .../functions/accessedbefore_example.texinfo | 27 - .../functions/accessedbefore_notes.texinfo | 13 - .../functions/accumulated_example.texinfo | 40 - .../functions/accumulated_notes.texinfo | 30 - docs/reference/functions/ago_example.texinfo | 40 - docs/reference/functions/ago_notes.texinfo | 29 - docs/reference/functions/and_example.texinfo | 7 - docs/reference/functions/and_notes.texinfo | 1 - .../functions/canonify_example.texinfo | 11 - .../functions/canonify_notes.texinfo | 3 - .../functions/changedbefore_example.texinfo | 27 - .../functions/changedbefore_notes.texinfo | 3 - .../functions/classesmatching_example.texinfo | 20 - .../functions/classesmatching_notes.texinfo | 9 - .../functions/classify_example.texinfo | 8 - .../functions/classify_notes.texinfo | 4 - .../functions/classmatch_example.texinfo | 27 - .../functions/classmatch_notes.texinfo | 6 - .../functions/concat_example.texinfo | 7 - docs/reference/functions/concat_notes.texinfo | 1 - .../countclassesmatching_example.texinfo | 18 - .../countclassesmatching_notes.texinfo | 13 - .../countlinesmatching_example.texinfo | 18 - .../countlinesmatching_notes.texinfo | 16 - .../functions/difference_example.texinfo | 22 - .../functions/difference_notes.texinfo | 3 - .../functions/dirname_example.texinfo | 4 - .../reference/functions/dirname_notes.texinfo | 4 - .../functions/diskfree_example.texinfo | 18 - .../functions/diskfree_notes.texinfo | 3 - .../functions/escape_example.texinfo | 9 - docs/reference/functions/escape_notes.texinfo | 13 - .../reference/functions/every_example.texinfo | 32 - docs/reference/functions/every_notes.texinfo | 3 - .../functions/execresult_example.texinfo | 27 - .../functions/execresult_notes.texinfo | 20 - .../functions/fileexists_example.texinfo | 27 - .../functions/fileexists_notes.texinfo | 3 - .../functions/filesexist_example.texinfo | 37 - .../functions/filesexist_notes.texinfo | 3 - .../functions/filesize_example.texinfo | 21 - .../functions/filesize_notes.texinfo | 5 - .../functions/filestat_example.texinfo | 16 - .../functions/filestat_notes.texinfo | 5 - .../functions/filter_example.texinfo | 34 - docs/reference/functions/filter_notes.texinfo | 10 - .../functions/format_example.texinfo | 48 - docs/reference/functions/format_notes.texinfo | 7 - .../functions/getenv_example.texinfo | 26 - docs/reference/functions/getenv_notes.texinfo | 7 - .../functions/getfields_example.texinfo | 20 - .../functions/getfields_notes.texinfo | 30 - .../functions/getgid_example.texinfo | 27 - docs/reference/functions/getgid_notes.texinfo | 4 - .../functions/getindices_example.texinfo | 33 - .../functions/getindices_notes.texinfo | 2 - .../functions/getuid_example.texinfo | 27 - docs/reference/functions/getuid_notes.texinfo | 4 - .../functions/getusers_example.texinfo | 11 - .../functions/getusers_notes.texinfo | 7 - .../functions/getvalues_example.texinfo | 33 - .../functions/getvalues_notes.texinfo | 4 - docs/reference/functions/grep_example.texinfo | 23 - docs/reference/functions/grep_notes.texinfo | 4 - .../functions/groupexists_example.texinfo | 33 - .../functions/groupexists_notes.texinfo | 2 - docs/reference/functions/hash_example.texinfo | 28 - docs/reference/functions/hash_notes.texinfo | 9 - .../functions/hashmatch_example.texinfo | 19 - .../functions/hashmatch_notes.texinfo | 20 - .../functions/host2ip_example.texinfo | 9 - .../reference/functions/host2ip_notes.texinfo | 9 - .../functions/hostinnetgroup_example.texinfo | 8 - .../functions/hostinnetgroup_notes.texinfo | 1 - .../functions/hostrange_example.texinfo | 29 - .../functions/hostrange_notes.texinfo | 2 - .../functions/hostsseen_example.texinfo | 18 - .../functions/hostsseen_notes.texinfo | 7 - .../functions/hostswithclass_example.texinfo | 22 - .../functions/hostswithclass_notes.texinfo | 16 - .../functions/hubknowledge_example.texinfo | 10 - .../functions/hubknowledge_notes.texinfo | 22 - .../functions/ifelse_example.texinfo | 40 - docs/reference/functions/ifelse_notes.texinfo | 18 - .../functions/innetgroup_example.texinfo | 8 - .../functions/innetgroup_notes.texinfo | 2 - .../functions/intersection_example.texinfo | 22 - .../functions/intersection_notes.texinfo | 3 - .../functions/ip2host_example.texinfo | 16 - .../reference/functions/ip2host_notes.texinfo | 10 - .../functions/iprange_example.texinfo | 32 - .../reference/functions/iprange_notes.texinfo | 3 - .../functions/irange_example.texinfo | 8 - docs/reference/functions/irange_notes.texinfo | 7 - .../reference/functions/isdir_example.texinfo | 28 - docs/reference/functions/isdir_notes.texinfo | 4 - .../functions/isexecutable_example.texinfo | 7 - .../functions/isexecutable_notes.texinfo | 3 - .../functions/isgreaterthan_example.texinfo | 31 - .../functions/isgreaterthan_notes.texinfo | 3 - .../functions/islessthan_example.texinfo | 31 - .../functions/islessthan_notes.texinfo | 5 - .../functions/islink_example.texinfo | 29 - docs/reference/functions/islink_notes.texinfo | 3 - .../functions/isnewerthan_example.texinfo | 27 - .../functions/isnewerthan_notes.texinfo | 3 - .../functions/isplain_example.texinfo | 27 - .../reference/functions/isplain_notes.texinfo | 1 - .../functions/isvariable_example.texinfo | 31 - .../functions/isvariable_notes.texinfo | 3 - docs/reference/functions/join_example.texinfo | 21 - docs/reference/functions/join_notes.texinfo | 3 - .../functions/lastnode_example.texinfo | 24 - .../functions/lastnode_notes.texinfo | 3 - .../functions/laterthan_example.texinfo | 8 - .../functions/laterthan_notes.texinfo | 2 - .../functions/ldaparray_example.texinfo | 15 - .../functions/ldaparray_notes.texinfo | 44 - .../functions/ldaplist_example.texinfo | 16 - .../functions/ldaplist_notes.texinfo | 41 - .../functions/ldapvalue_example.texinfo | 17 - .../functions/ldapvalue_notes.texinfo | 32 - .../functions/length_example.texinfo | 24 - docs/reference/functions/length_notes.texinfo | 2 - .../reference/functions/lsdir_example.texinfo | 5 - docs/reference/functions/lsdir_notes.texinfo | 6 - .../functions/maparray_example.texinfo | 31 - .../functions/maparray_notes.texinfo | 4 - .../functions/maplist_example.texinfo | 16 - .../reference/functions/maplist_notes.texinfo | 4 - docs/reference/functions/none_example.texinfo | 32 - docs/reference/functions/none_notes.texinfo | 3 - docs/reference/functions/not_example.texinfo | 7 - docs/reference/functions/not_notes.texinfo | 1 - docs/reference/functions/now_example.texinfo | 10 - docs/reference/functions/now_notes.texinfo | 1 - docs/reference/functions/nth_example.texinfo | 27 - docs/reference/functions/nth_notes.texinfo | 7 - docs/reference/functions/on_example.texinfo | 10 - docs/reference/functions/on_notes.texinfo | 22 - docs/reference/functions/or_example.texinfo | 7 - docs/reference/functions/or_notes.texinfo | 1 - .../functions/parseintarray_example.texinfo | 37 - .../functions/parseintarray_notes.texinfo | 9 - .../functions/parserealarray_example.texinfo | 37 - .../functions/parserealarray_notes.texinfo | 9 - .../parsestringarray_example.texinfo | 37 - .../functions/parsestringarray_notes.texinfo | 9 - .../parsestringarrayidx_example.texinfo | 35 - .../parsestringarrayidx_notes.texinfo | 9 - .../functions/peerleader_example.texinfo | 22 - .../functions/peerleader_notes.texinfo | 57 - .../functions/peerleaders_example.texinfo | 23 - .../functions/peerleaders_notes.texinfo | 57 - .../reference/functions/peers_example.texinfo | 24 - docs/reference/functions/peers_notes.texinfo | 58 - .../functions/product_example.texinfo | 18 - .../reference/functions/product_notes.texinfo | 7 - .../functions/randomint_example.texinfo | 8 - .../functions/randomint_notes.texinfo | 3 - .../functions/readfile_example.texinfo | 10 - .../functions/readfile_notes.texinfo | 2 - .../functions/readintarray_example.texinfo | 38 - .../functions/readintarray_notes.texinfo | 37 - .../functions/readintlist_example.texinfo | 54 - .../functions/readintlist_notes.texinfo | 1 - .../functions/readrealarray_example.texinfo | 38 - .../functions/readrealarray_notes.texinfo | 3 - .../functions/readreallist_example.texinfo | 54 - .../functions/readreallist_notes.texinfo | 0 .../functions/readstringarray_example.texinfo | 43 - .../functions/readstringarray_notes.texinfo | 43 - .../readstringarrayidx_example.texinfo | 44 - .../readstringarrayidx_notes.texinfo | 40 - .../functions/readstringlist_example.texinfo | 56 - .../functions/readstringlist_notes.texinfo | 19 - .../functions/readtcp_example.texinfo | 40 - .../reference/functions/readtcp_notes.texinfo | 7 - .../functions/regarray_example.texinfo | 38 - .../functions/regarray_notes.texinfo | 14 - .../functions/regcmp_example.texinfo | 22 - docs/reference/functions/regcmp_notes.texinfo | 65 - .../functions/regextract_example.texinfo | 22 - .../functions/regextract_notes.texinfo | 22 - .../functions/registryvalue_example.texinfo | 18 - .../functions/registryvalue_notes.texinfo | 6 - .../functions/regldap_example.texinfo | 16 - .../reference/functions/regldap_notes.texinfo | 50 - .../functions/regline_example.texinfo | 28 - .../reference/functions/regline_notes.texinfo | 32 - .../functions/reglist_example.texinfo | 16 - .../reference/functions/reglist_notes.texinfo | 18 - .../remoteclassesmatching_example.texinfo | 6 - .../remoteclassesmatching_notes.texinfo | 30 - .../functions/remotescalar_example.texinfo | 8 - .../functions/remotescalar_notes.texinfo | 63 - .../functions/returnszero_example.texinfo | 28 - .../functions/returnszero_notes.texinfo | 3 - .../functions/rrange_example.texinfo | 6 - docs/reference/functions/rrange_notes.texinfo | 2 - .../functions/selectservers_example.texinfo | 49 - .../functions/selectservers_notes.texinfo | 36 - docs/reference/functions/some_example.texinfo | 32 - docs/reference/functions/some_notes.texinfo | 3 - .../functions/splayclass_example.texinfo | 28 - .../functions/splayclass_notes.texinfo | 37 - .../functions/splitstring_example.texinfo | 23 - .../functions/splitstring_notes.texinfo | 20 - .../functions/strcmp_example.texinfo | 30 - docs/reference/functions/strcmp_notes.texinfo | 0 .../functions/strftime_example.texinfo | 28 - .../functions/strftime_notes.texinfo | 247 - .../functions/sublist_example.texinfo | 37 - .../reference/functions/sublist_notes.texinfo | 6 - docs/reference/functions/sum_example.texinfo | 31 - docs/reference/functions/sum_notes.texinfo | 7 - .../functions/translatepath_example.texinfo | 25 - .../functions/translatepath_notes.texinfo | 11 - .../functions/unique_example.texinfo | 25 - docs/reference/functions/unique_notes.texinfo | 3 - .../functions/usemodule_example.texinfo | 30 - .../functions/usemodule_notes.texinfo | 16 - .../functions/userexists_example.texinfo | 32 - .../functions/userexists_notes.texinfo | 3 - docs/reference/functions_intro.texinfo | 288 - docs/reference/promise_common_intro.texinfo | 6 - .../reference/promises/access_example.texinfo | 69 - docs/reference/promises/access_intro.texinfo | 33 - docs/reference/promises/access_notes.texinfo | 3 - .../promises/build_xpath_example.texinfo | 10 - .../promises/build_xpath_intro.texinfo | 10 - .../promises/build_xpath_notes.texinfo | 7 - .../promises/classes_example.texinfo | 14 - docs/reference/promises/classes_intro.texinfo | 10 - docs/reference/promises/classes_notes.texinfo | 4 - .../promises/commands_example.texinfo | 18 - .../reference/promises/commands_intro.texinfo | 46 - .../reference/promises/commands_notes.texinfo | 19 - .../reference/promises/common_example.texinfo | 12 - docs/reference/promises/common_intro.texinfo | 11 - docs/reference/promises/common_notes.texinfo | 1 - .../promises/databases_example.texinfo | 60 - .../promises/databases_intro.texinfo | 77 - .../promises/databases_notes.texinfo | 5 - .../promises/defaults_example.texinfo | 94 - .../reference/promises/defaults_intro.texinfo | 4 - .../reference/promises/defaults_notes.texinfo | 3 - .../promises/delete_attribute_example.texinfo | 12 - .../promises/delete_attribute_intro.texinfo | 8 - .../promises/delete_attribute_notes.texinfo | 4 - .../promises/delete_lines_example.texinfo | 21 - .../promises/delete_lines_intro.texinfo | 6 - .../promises/delete_lines_notes.texinfo | 5 - .../promises/delete_text_example.texinfo | 12 - .../promises/delete_text_intro.texinfo | 8 - .../promises/delete_text_notes.texinfo | 4 - .../promises/delete_tree_example.texinfo | 12 - .../promises/delete_tree_intro.texinfo | 8 - .../promises/delete_tree_notes.texinfo | 4 - .../promises/edit_line_intro.texinfo | 5 - .../reference/promises/edit_xml_intro.texinfo | 10 - .../promises/field_edits_example.texinfo | 70 - .../promises/field_edits_intro.texinfo | 25 - .../promises/field_edits_notes.texinfo | 15 - docs/reference/promises/files_example.texinfo | 32 - docs/reference/promises/files_intro.texinfo | 428 - docs/reference/promises/files_notes.texinfo | 0 .../guest_environments_example.texinfo | 20 - .../promises/guest_environments_intro.texinfo | 16 - .../promises/guest_environments_notes.texinfo | 2 - .../promises/insert_lines_example.texinfo | 39 - .../promises/insert_lines_intro.texinfo | 19 - .../promises/insert_lines_notes.texinfo | 58 - .../promises/insert_text_example.texinfo | 12 - .../promises/insert_text_intro.texinfo | 8 - .../promises/insert_text_notes.texinfo | 4 - .../promises/insert_tree_example.texinfo | 12 - .../promises/insert_tree_intro.texinfo | 8 - .../promises/insert_tree_notes.texinfo | 4 - .../promises/interfaces_example.texinfo | 2 - .../promises/interfaces_intro.texinfo | 21 - .../promises/interfaces_notes.texinfo | 2 - .../promises/measurements_example.texinfo | 47 - .../promises/measurements_intro.texinfo | 41 - .../promises/measurements_notes.texinfo | 132 - docs/reference/promises/meta_example.texinfo | 21 - docs/reference/promises/meta_intro.texinfo | 8 - docs/reference/promises/meta_notes.texinfo | 3 - .../promises/methods_example.texinfo | 34 - docs/reference/promises/methods_intro.texinfo | 27 - docs/reference/promises/methods_notes.texinfo | 30 - .../promises/outputs_example.texinfo | 41 - docs/reference/promises/outputs_intro.texinfo | 15 - docs/reference/promises/outputs_notes.texinfo | 6 - .../promises/packages_example.texinfo | 26 - .../reference/promises/packages_intro.texinfo | 249 - .../reference/promises/packages_notes.texinfo | 54 - .../promises/processes_example.texinfo | 39 - .../promises/processes_intro.texinfo | 58 - .../promises/processes_notes.texinfo | 151 - .../promises/replace_patterns_example.texinfo | 19 - .../promises/replace_patterns_intro.texinfo | 17 - .../promises/replace_patterns_notes.texinfo | 10 - .../promises/reports_example.texinfo | 18 - docs/reference/promises/reports_intro.texinfo | 28 - docs/reference/promises/reports_notes.texinfo | 2 - docs/reference/promises/roles_example.texinfo | 14 - docs/reference/promises/roles_intro.texinfo | 29 - docs/reference/promises/roles_notes.texinfo | 6 - .../promises/services_example.texinfo | 24 - .../reference/promises/services_intro.texinfo | 30 - .../reference/promises/services_notes.texinfo | 82 - .../promises/set_attribute_example.texinfo | 13 - .../promises/set_attribute_intro.texinfo | 11 - .../promises/set_attribute_notes.texinfo | 4 - .../promises/set_text_example.texinfo | 12 - .../reference/promises/set_text_intro.texinfo | 8 - .../reference/promises/set_text_notes.texinfo | 4 - .../promises/storage_example.texinfo | 33 - docs/reference/promises/storage_intro.texinfo | 21 - docs/reference/promises/storage_notes.texinfo | 1 - docs/reference/promises/vars_example.texinfo | 26 - docs/reference/promises/vars_intro.texinfo | 9 - docs/reference/promises/vars_notes.texinfo | 1 - docs/reference/reference_basics.texinfo | 3666 ------- .../reference/reference_control_intro.texinfo | 17 - docs/reference/reference_logs.texinfo | 174 - .../reference/varcontexts/const_intro.texinfo | 3 - docs/reference/varcontexts/edit_intro.texinfo | 35 - .../reference/varcontexts/match_intro.texinfo | 30 - docs/reference/varcontexts/mon_intro.texinfo | 9 - docs/reference/varcontexts/sys_intro.texinfo | 21 - docs/reference/varcontexts/this_intro.texinfo | 118 - docs/reference/vars/const_dollar.texinfo | 14 - docs/reference/vars/const_endl.texinfo | 11 - docs/reference/vars/const_n.texinfo | 11 - docs/reference/vars/const_r.texinfo | 10 - docs/reference/vars/const_t.texinfo | 10 - docs/reference/vars/edit_filename.texinfo | 5 - docs/reference/vars/match_0.texinfo | 3 - docs/reference/vars/sys_arch.texinfo | 9 - docs/reference/vars/sys_cdate.texinfo | 8 - docs/reference/vars/sys_cf_agent.texinfo | 11 - docs/reference/vars/sys_cf_execd.texinfo | 10 - docs/reference/vars/sys_cf_hub.texinfo | 14 - docs/reference/vars/sys_cf_key.texinfo | 12 - docs/reference/vars/sys_cf_monitord.texinfo | 13 - docs/reference/vars/sys_cf_promises.texinfo | 13 - docs/reference/vars/sys_cf_runagent.texinfo | 4 - docs/reference/vars/sys_cf_serverd.texinfo | 12 - docs/reference/vars/sys_cf_twin.texinfo | 15 - docs/reference/vars/sys_cf_version.texinfo | 8 - docs/reference/vars/sys_class.texinfo | 9 - docs/reference/vars/sys_cpus.texinfo | 20 - docs/reference/vars/sys_crontab.texinfo | 8 - docs/reference/vars/sys_date.texinfo | 8 - docs/reference/vars/sys_doc_root.texinfo | 5 - docs/reference/vars/sys_domain.texinfo | 12 - .../vars/sys_enterprise_version.texinfo | 10 - docs/reference/vars/sys_expires.texinfo | 8 - docs/reference/vars/sys_exports.texinfo | 9 - docs/reference/vars/sys_flavor.texinfo | 10 - docs/reference/vars/sys_flavour.texinfo | 10 - docs/reference/vars/sys_fqhost.texinfo | 9 - docs/reference/vars/sys_fstab.texinfo | 8 - .../vars/sys_hardware_addresses.texinfo | 6 - .../sys_hardware_mac[interface_name].texinfo | 15 - docs/reference/vars/sys_host.texinfo | 9 - docs/reference/vars/sys_hub_master.texinfo | 12 - docs/reference/vars/sys_interface.texinfo | 8 - ...ys_interface_flags[interface_name].texinfo | 31 - docs/reference/vars/sys_interfaces.texinfo | 33 - docs/reference/vars/sys_ip_addresses.texinfo | 32 - docs/reference/vars/sys_ipv4.texinfo | 10 - .../vars/sys_ipv4[interface_name].texinfo | 28 - .../vars/sys_ipv4_1[interface_name].texinfo | 4 - .../vars/sys_ipv4_2[interface_name].texinfo | 4 - .../vars/sys_ipv4_3[interface_name].texinfo | 4 - docs/reference/vars/sys_key_digest.texinfo | 11 - .../vars/sys_last_policy_update.texinfo | 6 - docs/reference/vars/sys_license_owner.texinfo | 12 - .../vars/sys_licenses_granted.texinfo | 12 - .../vars/sys_licenses_installtime.texinfo | 13 - docs/reference/vars/sys_long_arch.texinfo | 9 - docs/reference/vars/sys_maildir.texinfo | 8 - docs/reference/vars/sys_nova_version.texinfo | 8 - docs/reference/vars/sys_os.texinfo | 8 - docs/reference/vars/sys_ostype.texinfo | 8 - docs/reference/vars/sys_policy_hub.texinfo | 12 - docs/reference/vars/sys_release.texinfo | 8 - docs/reference/vars/sys_resolv.texinfo | 8 - docs/reference/vars/sys_uqhost.texinfo | 9 - docs/reference/vars/sys_version.texinfo | 12 - docs/reference/vars/sys_windir.texinfo | 9 - docs/reference/vars/sys_winprogdir.texinfo | 9 - docs/reference/vars/sys_winprogdir86.texinfo | 9 - docs/reference/vars/sys_winsysdir.texinfo | 9 - docs/reference/vars/sys_workdir.texinfo | 26 - docs/tex-include/texinfo-altfont.tex | 31 - docs/tex-include/texinfo-logo.tex | 18 - docs/tex-include/texinfo.tex | 9000 ----------------- docs/tex-include/txi-cmbright.tex | 95 - docs/tex-include/txi-helvetica.tex | 93 - docs/tex-include/txi-iwona.tex | 91 - docs/tools/build-solutions-guide.c | 132 - docs/tools/build-stdlib.c | 308 - docs/tools/extract-images | 30 - docs/tools/texi2pdfclean | 24 - 1457 files changed, 81246 deletions(-) delete mode 100644 docs/guides/BDMA_model.png delete mode 100644 docs/guides/CFEngineFrontPage.pdf delete mode 100644 docs/guides/CfengineStdLibrary.texinfo delete mode 100644 docs/guides/Editormenu.png delete mode 100644 docs/guides/GetStarted.texinfo delete mode 100644 docs/guides/MissionPlan.png delete mode 100644 docs/guides/NewLogo.pdf delete mode 100644 docs/guides/ONarchitecture.png delete mode 100644 docs/guides/Orion.png delete mode 100644 docs/guides/OrionCloudPack.texinfo delete mode 100644 docs/guides/SpecialTopic_Adoption.texinfo delete mode 100644 docs/guides/SpecialTopic_Agility.texinfo delete mode 100644 docs/guides/SpecialTopic_ApplMgt.texinfo delete mode 100644 docs/guides/SpecialTopic_BDMA.texinfo delete mode 100644 docs/guides/SpecialTopic_Change.texinfo delete mode 100644 docs/guides/SpecialTopic_Cloud.texinfo delete mode 100644 docs/guides/SpecialTopic_ContentDrivenPolicies.texinfo delete mode 100644 docs/guides/SpecialTopic_DevOps.texinfo delete mode 100644 docs/guides/SpecialTopic_DistributedScheduling.texinfo delete mode 100644 docs/guides/SpecialTopic_Editing.texinfo delete mode 100644 docs/guides/SpecialTopic_FIPS.texinfo delete mode 100644 docs/guides/SpecialTopic_Federation.texinfo delete mode 100644 docs/guides/SpecialTopic_Hierarchy.texinfo delete mode 100644 docs/guides/SpecialTopic_ITIL.texinfo delete mode 100644 docs/guides/SpecialTopic_Iteration.texinfo delete mode 100644 docs/guides/SpecialTopic_Knowledge.texinfo delete mode 100644 docs/guides/SpecialTopic_MenuDrivenConfig.texinfo delete mode 100644 docs/guides/SpecialTopic_MissionCritical.texinfo delete mode 100644 docs/guides/SpecialTopic_Modules.texinfo delete mode 100644 docs/guides/SpecialTopic_Monitoring.texinfo delete mode 100644 docs/guides/SpecialTopic_NovaReportArch.texinfo delete mode 100644 docs/guides/SpecialTopic_OpenNebula.texinfo delete mode 100644 docs/guides/SpecialTopic_Packages.texinfo delete mode 100644 docs/guides/SpecialTopic_RBAC.texinfo delete mode 100644 docs/guides/SpecialTopic_Reporting.texinfo delete mode 100644 docs/guides/SpecialTopic_Rollback.texinfo delete mode 100644 docs/guides/SpecialTopic_Scalability.texinfo delete mode 100644 docs/guides/SpecialTopic_Scan.texinfo delete mode 100644 docs/guides/SpecialTopic_Schedule.texinfo delete mode 100644 docs/guides/SpecialTopic_Security.texinfo delete mode 100644 docs/guides/SpecialTopic_Teamwork.texinfo delete mode 100644 docs/guides/SpecialTopic_Virtualization.texinfo delete mode 100644 docs/guides/SpecialTopic_Vision.texinfo delete mode 100644 docs/guides/SpecialTopic_Windows.texinfo delete mode 100644 docs/guides/agility.png delete mode 100644 docs/guides/arch.png delete mode 100644 docs/guides/body_bundle.png delete mode 100644 docs/guides/boxes.png delete mode 100644 docs/guides/brainbrawn.png delete mode 100644 docs/guides/bval.png delete mode 100644 docs/guides/cdp_reports_generate.png delete mode 100644 docs/guides/cdp_services_report.png delete mode 100644 docs/guides/central_pull.png delete mode 100644 docs/guides/central_push.png delete mode 100644 docs/guides/cf-Compliance.texinfo delete mode 100644 docs/guides/cf-bestpractices.texinfo delete mode 100644 docs/guides/cf-copernicus.texinfo delete mode 100644 docs/guides/cf3-bestpractice.texinfo delete mode 100644 docs/guides/cf3-conceptguide.texinfo delete mode 100644 docs/guides/cf3-enterprise.texinfo delete mode 100644 docs/guides/cf3-glossary.texinfo delete mode 100644 docs/guides/cf3-installation.texinfo delete mode 100644 docs/guides/cf3-quickstart.texinfo delete mode 100644 docs/guides/cf3-solutions.texinfo.in delete mode 100644 docs/guides/cf3-tutorial.texinfo delete mode 100644 docs/guides/cf3-upgrade.texinfo delete mode 100644 docs/guides/cf_Quickref3.texinfo delete mode 100644 docs/guides/cf_evm.png delete mode 100644 docs/guides/cf_im.png delete mode 100644 docs/guides/cfcomdoc.css delete mode 100644 docs/guides/cfdiag.png delete mode 100644 docs/guides/cfengine-bdma.png delete mode 100644 docs/guides/cfengine-schematic.png delete mode 100644 docs/guides/cfengineword.png delete mode 100644 docs/guides/cfinf.png delete mode 100644 docs/guides/commitdlg.png delete mode 100644 docs/guides/compliance.png delete mode 100644 docs/guides/components.png delete mode 100644 docs/guides/convergence.pdf delete mode 100644 docs/guides/convergence.png delete mode 100644 docs/guides/coordination.png delete mode 100644 docs/guides/copernicus-planets.png delete mode 100644 docs/guides/copernicus.png delete mode 100644 docs/guides/delegate.png delete mode 100644 docs/guides/demolish.png delete mode 100644 docs/guides/dependency.png delete mode 100644 docs/guides/detail.png delete mode 100644 docs/guides/dikw.png delete mode 100644 docs/guides/editor-svnpath.png delete mode 100644 docs/guides/editor.png delete mode 100644 docs/guides/fed1.pdf delete mode 100644 docs/guides/fed2.pdf delete mode 100644 docs/guides/fed2.png delete mode 100644 docs/guides/fed3.pdf delete mode 100644 docs/guides/fed3.png delete mode 100644 docs/guides/file_change_diffs.png delete mode 100644 docs/guides/file_change_log.png delete mode 100644 docs/guides/firewall.png delete mode 100644 docs/guides/hierarchy.png delete mode 100644 docs/guides/hostpage.png delete mode 100644 docs/guides/hub.png delete mode 100644 docs/guides/hubs.png delete mode 100644 docs/guides/img-src/MissionPlan.odg delete mode 100644 docs/guides/img-src/agility.fig delete mode 100644 docs/guides/img-src/arch.fig delete mode 100644 docs/guides/img-src/authdir.fig delete mode 100644 docs/guides/img-src/brainbrawn.fig delete mode 100644 docs/guides/img-src/central_pull.fig delete mode 100644 docs/guides/img-src/central_push.fig delete mode 100644 docs/guides/img-src/cfengine-bdma.fig delete mode 100644 docs/guides/img-src/cfengine-schematic.fig delete mode 100644 docs/guides/img-src/components.fig delete mode 100644 docs/guides/img-src/coordination.fig delete mode 100644 docs/guides/img-src/dikw.fig delete mode 100644 docs/guides/img-src/fed1.fig delete mode 100644 docs/guides/img-src/fed2.fig delete mode 100644 docs/guides/img-src/fed3.fig delete mode 100644 docs/guides/img-src/firewall.fig delete mode 100644 docs/guides/img-src/hub.fig delete mode 100644 docs/guides/img-src/hubs.fig delete mode 100644 docs/guides/img-src/inherit.fig delete mode 100644 docs/guides/img-src/intersect.fig delete mode 100644 docs/guides/img-src/itilv3.fig delete mode 100644 docs/guides/img-src/matrix1.fig delete mode 100644 docs/guides/img-src/matrix2.fig delete mode 100644 docs/guides/img-src/nettolerance.fig delete mode 100644 docs/guides/img-src/networks.fig delete mode 100644 docs/guides/img-src/paradigms.fig delete mode 100644 docs/guides/img-src/rbac.fig delete mode 100644 docs/guides/img-src/redundhubs.fig delete mode 100644 docs/guides/img-src/schedule_patterns.fig delete mode 100644 docs/guides/img-src/update.fig delete mode 100644 docs/guides/img-src/user2root.fig delete mode 100644 docs/guides/impact.png delete mode 100644 docs/guides/influence_cfengine_inputs.png delete mode 100644 docs/guides/inherit.png delete mode 100644 docs/guides/intermediate.png delete mode 100644 docs/guides/intersect.png delete mode 100644 docs/guides/itilfcaps.png delete mode 100644 docs/guides/km1.png delete mode 100644 docs/guides/km2.png delete mode 100644 docs/guides/km3.png delete mode 100644 docs/guides/km4.png delete mode 100644 docs/guides/km5.png delete mode 100644 docs/guides/km6.png delete mode 100644 docs/guides/km7.png delete mode 100644 docs/guides/km8.png delete mode 100644 docs/guides/km9.png delete mode 100644 docs/guides/knowledge_bundle.png delete mode 100644 docs/guides/matrix1.png delete mode 100644 docs/guides/matrix2.png delete mode 100644 docs/guides/mission.png delete mode 100644 docs/guides/monitor.png delete mode 100644 docs/guides/nettolerance.png delete mode 100644 docs/guides/networks.png delete mode 100644 docs/guides/nova.png delete mode 100644 docs/guides/nova_const.png delete mode 100644 docs/guides/novaarch.png delete mode 100644 docs/guides/paradigms.png delete mode 100644 docs/guides/performance.png delete mode 100644 docs/guides/postamble.texinfo delete mode 100644 docs/guides/preamble.texinfo delete mode 100644 docs/guides/promise_page.png delete mode 100644 docs/guides/qs1.png delete mode 100644 docs/guides/qs2.png delete mode 100644 docs/guides/rbac.png delete mode 100644 docs/guides/redundhubs.png delete mode 100644 docs/guides/role-define-loba.png delete mode 100644 docs/guides/roll-forward.png delete mode 100644 docs/guides/savefiledlg.png delete mode 100644 docs/guides/schedule_patterns.png delete mode 100644 docs/guides/scope2.png delete mode 100644 docs/guides/service_catalogue.png delete mode 100644 docs/guides/setuid.png delete mode 100644 docs/guides/software.png delete mode 100644 docs/guides/status.png delete mode 100644 docs/guides/summary.png delete mode 100644 docs/guides/timeseries.png delete mode 100644 docs/guides/topic.png delete mode 100644 docs/guides/topicmap.png delete mode 100644 docs/guides/trends.png delete mode 100644 docs/guides/update.png delete mode 100644 docs/guides/updatedialog.png delete mode 100644 docs/guides/views.png delete mode 100644 docs/guides/weakest.png delete mode 100644 docs/guides/winevent-notkept-storage.png delete mode 100644 docs/guides/winevent-repaired-acl-closeup.png delete mode 100644 docs/guides/winhello.png delete mode 100644 docs/guides/winreg-create.png delete mode 100644 docs/guides/winreg-delete.png delete mode 100644 docs/guides/winservice-disabled_policy.png delete mode 100644 docs/guides/winservice-properties_name.png delete mode 100644 docs/reference/CFEngineFrontPage.pdf delete mode 100644 docs/reference/NewLogo.pdf delete mode 100644 docs/reference/bodyparts/abortbundleclasses_example.texinfo delete mode 100644 docs/reference/bodyparts/abortbundleclasses_notes.texinfo delete mode 100644 docs/reference/bodyparts/abortclasses_example.texinfo delete mode 100644 docs/reference/bodyparts/abortclasses_notes.texinfo delete mode 100644 docs/reference/bodyparts/aces_example.texinfo delete mode 100644 docs/reference/bodyparts/aces_notes.texinfo delete mode 100644 docs/reference/bodyparts/acl_directory_inherit_example.texinfo delete mode 100644 docs/reference/bodyparts/acl_directory_inherit_notes.texinfo delete mode 100644 docs/reference/bodyparts/acl_method_example.texinfo delete mode 100644 docs/reference/bodyparts/acl_method_notes.texinfo delete mode 100644 docs/reference/bodyparts/acl_type_example.texinfo delete mode 100644 docs/reference/bodyparts/acl_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/action_example.texinfo delete mode 100644 docs/reference/bodyparts/action_notes.texinfo delete mode 100644 docs/reference/bodyparts/action_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/action_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/addclasses_example.texinfo delete mode 100644 docs/reference/bodyparts/addclasses_notes.texinfo delete mode 100644 docs/reference/bodyparts/admit_example.texinfo delete mode 100644 docs/reference/bodyparts/admit_notes.texinfo delete mode 100644 docs/reference/bodyparts/agent_expireafter_example.texinfo delete mode 100644 docs/reference/bodyparts/agent_expireafter_notes.texinfo delete mode 100644 docs/reference/bodyparts/agentaccess_example.texinfo delete mode 100644 docs/reference/bodyparts/agentaccess_notes.texinfo delete mode 100644 docs/reference/bodyparts/agentfacility_example.texinfo delete mode 100644 docs/reference/bodyparts/agentfacility_notes.texinfo delete mode 100644 docs/reference/bodyparts/allclassesreport_example.texinfo delete mode 100644 docs/reference/bodyparts/allclassesreport_notes.texinfo delete mode 100644 docs/reference/bodyparts/allow_blank_fields_example.texinfo delete mode 100644 docs/reference/bodyparts/allow_blank_fields_notes.texinfo delete mode 100644 docs/reference/bodyparts/allowallconnects_example.texinfo delete mode 100644 docs/reference/bodyparts/allowallconnects_notes.texinfo delete mode 100644 docs/reference/bodyparts/allowconnects_example.texinfo delete mode 100644 docs/reference/bodyparts/allowconnects_notes.texinfo delete mode 100644 docs/reference/bodyparts/allowusers_example.texinfo delete mode 100644 docs/reference/bodyparts/allowusers_notes.texinfo delete mode 100644 docs/reference/bodyparts/alwaysvalidate_example.texinfo delete mode 100644 docs/reference/bodyparts/alwaysvalidate_notes.texinfo delete mode 100644 docs/reference/bodyparts/and_example.texinfo delete mode 100644 docs/reference/bodyparts/and_notes.texinfo delete mode 100644 docs/reference/bodyparts/args_example.texinfo delete mode 100644 docs/reference/bodyparts/args_notes.texinfo delete mode 100644 docs/reference/bodyparts/associates_example.texinfo delete mode 100644 docs/reference/bodyparts/associates_notes.texinfo delete mode 100644 docs/reference/bodyparts/atime_example.texinfo delete mode 100644 docs/reference/bodyparts/atime_notes.texinfo delete mode 100644 docs/reference/bodyparts/attribute_value_example.texinfo delete mode 100644 docs/reference/bodyparts/attribute_value_notes.texinfo delete mode 100644 docs/reference/bodyparts/audit_example.texinfo delete mode 100644 docs/reference/bodyparts/audit_notes.texinfo delete mode 100644 docs/reference/bodyparts/auditing_example.texinfo delete mode 100644 docs/reference/bodyparts/auditing_notes.texinfo delete mode 100644 docs/reference/bodyparts/authorize_example.texinfo delete mode 100644 docs/reference/bodyparts/authorize_notes.texinfo delete mode 100644 docs/reference/bodyparts/background_children_example.texinfo delete mode 100644 docs/reference/bodyparts/background_children_notes.texinfo delete mode 100644 docs/reference/bodyparts/background_example.texinfo delete mode 100644 docs/reference/bodyparts/background_notes.texinfo delete mode 100644 docs/reference/bodyparts/before_after_example.texinfo delete mode 100644 docs/reference/bodyparts/before_after_notes.texinfo delete mode 100644 docs/reference/bodyparts/binarypaddingchar_example.texinfo delete mode 100644 docs/reference/bodyparts/binarypaddingchar_notes.texinfo delete mode 100644 docs/reference/bodyparts/bindtointerface_example.texinfo delete mode 100644 docs/reference/bodyparts/bindtointerface_notes.texinfo delete mode 100644 docs/reference/bodyparts/bsdflags_example.texinfo delete mode 100644 docs/reference/bodyparts/bsdflags_notes.texinfo delete mode 100644 docs/reference/bodyparts/build_xpath_example.texinfo delete mode 100644 docs/reference/bodyparts/build_xpath_notes.texinfo delete mode 100644 docs/reference/bodyparts/bundle_return_value_index_example.texinfo delete mode 100644 docs/reference/bodyparts/bundle_return_value_index_notes.texinfo delete mode 100644 docs/reference/bodyparts/bundlesequence_example.texinfo delete mode 100644 docs/reference/bodyparts/bundlesequence_notes.texinfo delete mode 100644 docs/reference/bodyparts/call_collect_interval_example.texinfo delete mode 100644 docs/reference/bodyparts/call_collect_interval_notes.texinfo delete mode 100644 docs/reference/bodyparts/cancel_kept_example.texinfo delete mode 100644 docs/reference/bodyparts/cancel_kept_notes.texinfo delete mode 100644 docs/reference/bodyparts/cancel_notkept_example.texinfo delete mode 100644 docs/reference/bodyparts/cancel_notkept_notes.texinfo delete mode 100644 docs/reference/bodyparts/cancel_repaired_example.texinfo delete mode 100644 docs/reference/bodyparts/cancel_repaired_notes.texinfo delete mode 100644 docs/reference/bodyparts/cfruncommand_example.texinfo delete mode 100644 docs/reference/bodyparts/cfruncommand_notes.texinfo delete mode 100644 docs/reference/bodyparts/chdir_example.texinfo delete mode 100644 docs/reference/bodyparts/chdir_notes.texinfo delete mode 100644 docs/reference/bodyparts/check_foreign_example.texinfo delete mode 100644 docs/reference/bodyparts/check_foreign_notes.texinfo delete mode 100644 docs/reference/bodyparts/check_root_example.texinfo delete mode 100644 docs/reference/bodyparts/check_root_notes.texinfo delete mode 100644 docs/reference/bodyparts/checksum_alert_time_example.texinfo delete mode 100644 docs/reference/bodyparts/checksum_alert_time_notes.texinfo delete mode 100644 docs/reference/bodyparts/childlibpath_example.texinfo delete mode 100644 docs/reference/bodyparts/childlibpath_notes.texinfo delete mode 100644 docs/reference/bodyparts/chroot_example.texinfo delete mode 100644 docs/reference/bodyparts/chroot_notes.texinfo delete mode 100644 docs/reference/bodyparts/collapse_destination_dir_example.texinfo delete mode 100644 docs/reference/bodyparts/collapse_destination_dir_notes.texinfo delete mode 100644 docs/reference/bodyparts/collect_window_example.texinfo delete mode 100644 docs/reference/bodyparts/collect_window_notes.texinfo delete mode 100644 docs/reference/bodyparts/command_example.texinfo delete mode 100644 docs/reference/bodyparts/command_notes.texinfo delete mode 100644 docs/reference/bodyparts/comment_example.texinfo delete mode 100644 docs/reference/bodyparts/comment_notes.texinfo delete mode 100644 docs/reference/bodyparts/compare_example.texinfo delete mode 100644 docs/reference/bodyparts/compare_notes.texinfo delete mode 100644 docs/reference/bodyparts/copy_backup_example.texinfo delete mode 100644 docs/reference/bodyparts/copy_backup_notes.texinfo delete mode 100644 docs/reference/bodyparts/copy_patterns_example.texinfo delete mode 100644 docs/reference/bodyparts/copy_patterns_notes.texinfo delete mode 100644 docs/reference/bodyparts/copy_size_example.texinfo delete mode 100644 docs/reference/bodyparts/copy_size_notes.texinfo delete mode 100644 docs/reference/bodyparts/copylink_patterns_example.texinfo delete mode 100644 docs/reference/bodyparts/copylink_patterns_notes.texinfo delete mode 100644 docs/reference/bodyparts/create_example.texinfo delete mode 100644 docs/reference/bodyparts/create_notes.texinfo delete mode 100644 docs/reference/bodyparts/csv2xml_example.texinfo delete mode 100644 docs/reference/bodyparts/csv2xml_notes.texinfo delete mode 100644 docs/reference/bodyparts/ctime_example.texinfo delete mode 100644 docs/reference/bodyparts/ctime_notes.texinfo delete mode 100644 docs/reference/bodyparts/data_type_example.texinfo delete mode 100644 docs/reference/bodyparts/data_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/database_columns_example.texinfo delete mode 100644 docs/reference/bodyparts/database_columns_notes.texinfo delete mode 100644 docs/reference/bodyparts/database_operation_example.texinfo delete mode 100644 docs/reference/bodyparts/database_operation_notes.texinfo delete mode 100644 docs/reference/bodyparts/database_rows_example.texinfo delete mode 100644 docs/reference/bodyparts/database_rows_notes.texinfo delete mode 100644 docs/reference/bodyparts/database_type_example.texinfo delete mode 100644 docs/reference/bodyparts/database_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/db_server_connection_db_example.texinfo delete mode 100644 docs/reference/bodyparts/db_server_connection_db_notes.texinfo delete mode 100644 docs/reference/bodyparts/db_server_host_example.texinfo delete mode 100644 docs/reference/bodyparts/db_server_host_notes.texinfo delete mode 100644 docs/reference/bodyparts/db_server_owner_example.texinfo delete mode 100644 docs/reference/bodyparts/db_server_owner_notes.texinfo delete mode 100644 docs/reference/bodyparts/db_server_password_example.texinfo delete mode 100644 docs/reference/bodyparts/db_server_password_notes.texinfo delete mode 100644 docs/reference/bodyparts/db_server_type_example.texinfo delete mode 100644 docs/reference/bodyparts/db_server_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/default_repository_example.texinfo delete mode 100644 docs/reference/bodyparts/default_repository_notes.texinfo delete mode 100644 docs/reference/bodyparts/default_timeout_example.texinfo delete mode 100644 docs/reference/bodyparts/default_timeout_notes.texinfo delete mode 100644 docs/reference/bodyparts/defaultcopytype_example.texinfo delete mode 100644 docs/reference/bodyparts/defaultcopytype_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_contains_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_contains_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_match_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_match_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_contains_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_contains_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_match_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_match_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_startwith_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_not_startwith_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_startwith_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/delete_if_startwith_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/deny_example.texinfo delete mode 100644 docs/reference/bodyparts/deny_notes.texinfo delete mode 100644 docs/reference/bodyparts/denybadclocks_example.texinfo delete mode 100644 docs/reference/bodyparts/denybadclocks_notes.texinfo delete mode 100644 docs/reference/bodyparts/denyconnects_example.texinfo delete mode 100644 docs/reference/bodyparts/denyconnects_notes.texinfo delete mode 100644 docs/reference/bodyparts/depends_on_example.texinfo delete mode 100644 docs/reference/bodyparts/depends_on_notes.texinfo delete mode 100644 docs/reference/bodyparts/depth_example.texinfo delete mode 100644 docs/reference/bodyparts/depth_notes.texinfo delete mode 100644 docs/reference/bodyparts/dirlinks_example.texinfo delete mode 100644 docs/reference/bodyparts/dirlinks_notes.texinfo delete mode 100644 docs/reference/bodyparts/disable_example.texinfo delete mode 100644 docs/reference/bodyparts/disable_mode_example.texinfo delete mode 100644 docs/reference/bodyparts/disable_mode_notes.texinfo delete mode 100644 docs/reference/bodyparts/disable_notes.texinfo delete mode 100644 docs/reference/bodyparts/disable_suffix_example.texinfo delete mode 100644 docs/reference/bodyparts/disable_suffix_notes.texinfo delete mode 100644 docs/reference/bodyparts/dist_example.texinfo delete mode 100644 docs/reference/bodyparts/dist_notes.texinfo delete mode 100644 docs/reference/bodyparts/domain_example.texinfo delete mode 100644 docs/reference/bodyparts/domain_notes.texinfo delete mode 100644 docs/reference/bodyparts/dryrun_example.texinfo delete mode 100644 docs/reference/bodyparts/dryrun_notes.texinfo delete mode 100644 docs/reference/bodyparts/dynamicaddresses_example.texinfo delete mode 100644 docs/reference/bodyparts/dynamicaddresses_notes.texinfo delete mode 100644 docs/reference/bodyparts/edit_backup_example.texinfo delete mode 100644 docs/reference/bodyparts/edit_backup_notes.texinfo delete mode 100644 docs/reference/bodyparts/edit_fstab_example.texinfo delete mode 100644 docs/reference/bodyparts/edit_fstab_notes.texinfo delete mode 100644 docs/reference/bodyparts/edit_template_example.texinfo delete mode 100644 docs/reference/bodyparts/edit_template_notes.texinfo delete mode 100644 docs/reference/bodyparts/editbinaryfilesize_example.texinfo delete mode 100644 docs/reference/bodyparts/editbinaryfilesize_notes.texinfo delete mode 100644 docs/reference/bodyparts/editfilesize_example.texinfo delete mode 100644 docs/reference/bodyparts/editfilesize_notes.texinfo delete mode 100644 docs/reference/bodyparts/empty_file_before_editing_example.texinfo delete mode 100644 docs/reference/bodyparts/empty_file_before_editing_notes.texinfo delete mode 100644 docs/reference/bodyparts/encrypt_example.texinfo delete mode 100644 docs/reference/bodyparts/encrypt_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_addresses_example.texinfo delete mode 100644 docs/reference/bodyparts/env_addresses_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_baseline_example.texinfo delete mode 100644 docs/reference/bodyparts/env_baseline_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_cpus_example.texinfo delete mode 100644 docs/reference/bodyparts/env_cpus_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_disk_example.texinfo delete mode 100644 docs/reference/bodyparts/env_disk_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_memory_example.texinfo delete mode 100644 docs/reference/bodyparts/env_memory_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_name_example.texinfo delete mode 100644 docs/reference/bodyparts/env_name_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_network_example.texinfo delete mode 100644 docs/reference/bodyparts/env_network_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_spec_example.texinfo delete mode 100644 docs/reference/bodyparts/env_spec_file_example.texinfo delete mode 100644 docs/reference/bodyparts/env_spec_file_notes.texinfo delete mode 100644 docs/reference/bodyparts/env_spec_notes.texinfo delete mode 100644 docs/reference/bodyparts/environment_example.texinfo delete mode 100644 docs/reference/bodyparts/environment_host_example.texinfo delete mode 100644 docs/reference/bodyparts/environment_host_notes.texinfo delete mode 100644 docs/reference/bodyparts/environment_notes.texinfo delete mode 100644 docs/reference/bodyparts/environment_state_example.texinfo delete mode 100644 docs/reference/bodyparts/environment_state_notes.texinfo delete mode 100644 docs/reference/bodyparts/environment_type_example.texinfo delete mode 100644 docs/reference/bodyparts/environment_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/error_bars_example.texinfo delete mode 100644 docs/reference/bodyparts/error_bars_notes.texinfo delete mode 100644 docs/reference/bodyparts/exclamation_example.texinfo delete mode 100644 docs/reference/bodyparts/exclamation_notes.texinfo delete mode 100644 docs/reference/bodyparts/exclude_dirs_example.texinfo delete mode 100644 docs/reference/bodyparts/exclude_dirs_notes.texinfo delete mode 100644 docs/reference/bodyparts/exclude_hosts_example.texinfo delete mode 100644 docs/reference/bodyparts/exclude_hosts_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_command_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_group_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_group_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_owner_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_owner_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_program_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_program_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/exec_timeout_example.texinfo delete mode 100644 docs/reference/bodyparts/exec_timeout_notes.texinfo delete mode 100644 docs/reference/bodyparts/execcommand_example.texinfo delete mode 100644 docs/reference/bodyparts/execcommand_notes.texinfo delete mode 100644 docs/reference/bodyparts/executorfacility_example.texinfo delete mode 100644 docs/reference/bodyparts/executorfacility_notes.texinfo delete mode 100644 docs/reference/bodyparts/expand_scalars_example.texinfo delete mode 100644 docs/reference/bodyparts/expand_scalars_notes.texinfo delete mode 100644 docs/reference/bodyparts/expireafter_example.texinfo delete mode 100644 docs/reference/bodyparts/expireafter_notes.texinfo delete mode 100644 docs/reference/bodyparts/export_zenoss_example.texinfo delete mode 100644 docs/reference/bodyparts/export_zenoss_notes.texinfo delete mode 100644 docs/reference/bodyparts/expression_example.texinfo delete mode 100644 docs/reference/bodyparts/expression_notes.texinfo delete mode 100644 docs/reference/bodyparts/extend_fields_example.texinfo delete mode 100644 docs/reference/bodyparts/extend_fields_notes.texinfo delete mode 100644 docs/reference/bodyparts/extraction_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/extraction_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/failed_returncodes_example.texinfo delete mode 100644 docs/reference/bodyparts/failed_returncodes_notes.texinfo delete mode 100644 docs/reference/bodyparts/field_operation_example.texinfo delete mode 100644 docs/reference/bodyparts/field_operation_notes.texinfo delete mode 100644 docs/reference/bodyparts/field_separator_example.texinfo delete mode 100644 docs/reference/bodyparts/field_separator_notes.texinfo delete mode 100644 docs/reference/bodyparts/field_value_example.texinfo delete mode 100644 docs/reference/bodyparts/field_value_notes.texinfo delete mode 100644 docs/reference/bodyparts/file_result_example.texinfo delete mode 100644 docs/reference/bodyparts/file_result_notes.texinfo delete mode 100644 docs/reference/bodyparts/file_to_print_example.texinfo delete mode 100644 docs/reference/bodyparts/file_to_print_notes.texinfo delete mode 100644 docs/reference/bodyparts/file_types_example.texinfo delete mode 100644 docs/reference/bodyparts/file_types_notes.texinfo delete mode 100644 docs/reference/bodyparts/files_auto_define_example.texinfo delete mode 100644 docs/reference/bodyparts/files_auto_define_notes.texinfo delete mode 100644 docs/reference/bodyparts/files_single_copy_example.texinfo delete mode 100644 docs/reference/bodyparts/files_single_copy_notes.texinfo delete mode 100644 docs/reference/bodyparts/filetypes_example.texinfo delete mode 100644 docs/reference/bodyparts/filetypes_notes.texinfo delete mode 100644 docs/reference/bodyparts/findertype_example.texinfo delete mode 100644 docs/reference/bodyparts/findertype_notes.texinfo delete mode 100644 docs/reference/bodyparts/fips_mode_example.texinfo delete mode 100644 docs/reference/bodyparts/fips_mode_notes.texinfo delete mode 100644 docs/reference/bodyparts/first_last_example.texinfo delete mode 100644 docs/reference/bodyparts/first_last_notes.texinfo delete mode 100644 docs/reference/bodyparts/force_ipv4_example.texinfo delete mode 100644 docs/reference/bodyparts/force_ipv4_notes.texinfo delete mode 100644 docs/reference/bodyparts/force_update_example.texinfo delete mode 100644 docs/reference/bodyparts/force_update_notes.texinfo delete mode 100644 docs/reference/bodyparts/forgetrate_example.texinfo delete mode 100644 docs/reference/bodyparts/forgetrate_notes.texinfo delete mode 100644 docs/reference/bodyparts/forward_relationship_example.texinfo delete mode 100644 docs/reference/bodyparts/forward_relationship_notes.texinfo delete mode 100644 docs/reference/bodyparts/freespace_example.texinfo delete mode 100644 docs/reference/bodyparts/freespace_notes.texinfo delete mode 100644 docs/reference/bodyparts/fullencryption_example.texinfo delete mode 100644 docs/reference/bodyparts/fullencryption_notes.texinfo delete mode 100644 docs/reference/bodyparts/goal_categories_example.texinfo delete mode 100644 docs/reference/bodyparts/goal_categories_notes.texinfo delete mode 100644 docs/reference/bodyparts/goal_patterns_example.texinfo delete mode 100644 docs/reference/bodyparts/goal_patterns_notes.texinfo delete mode 100644 docs/reference/bodyparts/groups_example.texinfo delete mode 100644 docs/reference/bodyparts/groups_notes.texinfo delete mode 100644 docs/reference/bodyparts/handle_example.texinfo delete mode 100644 docs/reference/bodyparts/handle_notes.texinfo delete mode 100644 docs/reference/bodyparts/hash_example.texinfo delete mode 100644 docs/reference/bodyparts/hash_notes.texinfo delete mode 100644 docs/reference/bodyparts/hashpurge_example.texinfo delete mode 100644 docs/reference/bodyparts/hashpurge_notes.texinfo delete mode 100644 docs/reference/bodyparts/hashupdates_example.texinfo delete mode 100644 docs/reference/bodyparts/hashupdates_notes.texinfo delete mode 100644 docs/reference/bodyparts/histograms_example.texinfo delete mode 100644 docs/reference/bodyparts/histograms_notes.texinfo delete mode 100644 docs/reference/bodyparts/history_type_example.texinfo delete mode 100644 docs/reference/bodyparts/history_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/host_licenses_paid_example.texinfo delete mode 100644 docs/reference/bodyparts/host_licenses_paid_notes.texinfo delete mode 100644 docs/reference/bodyparts/hostnamekeys_example.texinfo delete mode 100644 docs/reference/bodyparts/hostnamekeys_notes.texinfo delete mode 100644 docs/reference/bodyparts/hosts_example.texinfo delete mode 100644 docs/reference/bodyparts/hosts_notes.texinfo delete mode 100644 docs/reference/bodyparts/hub_schedule_example.texinfo delete mode 100644 docs/reference/bodyparts/hub_schedule_notes.texinfo delete mode 100644 docs/reference/bodyparts/if_match_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/if_match_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/ifelapsed_example.texinfo delete mode 100644 docs/reference/bodyparts/ifelapsed_notes.texinfo delete mode 100644 docs/reference/bodyparts/ifencrypted_example.texinfo delete mode 100644 docs/reference/bodyparts/ifencrypted_notes.texinfo delete mode 100644 docs/reference/bodyparts/ifvarclass_example.texinfo delete mode 100644 docs/reference/bodyparts/ifvarclass_notes.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_bundles_example.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_bundles_notes.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_inputs.example.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_inputs.notes.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_inputs_example.texinfo delete mode 100644 docs/reference/bodyparts/ignore_missing_inputs_notes.texinfo delete mode 100644 docs/reference/bodyparts/ilist_example.texinfo delete mode 100644 docs/reference/bodyparts/ilist_notes.texinfo delete mode 100644 docs/reference/bodyparts/in_range_define_example.texinfo delete mode 100644 docs/reference/bodyparts/in_range_define_notes.texinfo delete mode 100644 docs/reference/bodyparts/include_basedir_example.texinfo delete mode 100644 docs/reference/bodyparts/include_basedir_notes.texinfo delete mode 100644 docs/reference/bodyparts/include_dirs_example.texinfo delete mode 100644 docs/reference/bodyparts/include_dirs_notes.texinfo delete mode 100644 docs/reference/bodyparts/include_end_delimiter_example.texinfo delete mode 100644 docs/reference/bodyparts/include_end_delimiter_notes.texinfo delete mode 100644 docs/reference/bodyparts/include_start_delimiter_example.texinfo delete mode 100644 docs/reference/bodyparts/include_start_delimiter_notes.texinfo delete mode 100644 docs/reference/bodyparts/inform_example.texinfo delete mode 100644 docs/reference/bodyparts/inform_notes.texinfo delete mode 100644 docs/reference/bodyparts/inherit_aces_example.texinfo delete mode 100644 docs/reference/bodyparts/inherit_aces_notes.texinfo delete mode 100644 docs/reference/bodyparts/inherit_example.texinfo delete mode 100644 docs/reference/bodyparts/inherit_notes.texinfo delete mode 100644 docs/reference/bodyparts/inputs_example.texinfo delete mode 100644 docs/reference/bodyparts/inputs_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_contains_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_contains_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_match_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_match_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_contains_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_contains_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_match_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_match_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_startwith_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_not_startwith_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_startwith_from_list_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_if_startwith_from_list_notes.texinfo delete mode 100644 docs/reference/bodyparts/insert_type_example.texinfo delete mode 100644 docs/reference/bodyparts/insert_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/int_example.texinfo delete mode 100644 docs/reference/bodyparts/int_notes.texinfo delete mode 100644 docs/reference/bodyparts/intermittency_example.texinfo delete mode 100644 docs/reference/bodyparts/intermittency_notes.texinfo delete mode 100644 docs/reference/bodyparts/ipv4_address_example.texinfo delete mode 100644 docs/reference/bodyparts/ipv4_address_notes.texinfo delete mode 100644 docs/reference/bodyparts/ipv4_netmask_example.texinfo delete mode 100644 docs/reference/bodyparts/ipv4_netmask_notes.texinfo delete mode 100644 docs/reference/bodyparts/ipv6_address_example.texinfo delete mode 100644 docs/reference/bodyparts/ipv6_address_notes.texinfo delete mode 100644 docs/reference/bodyparts/issymlinkto_example.texinfo delete mode 100644 docs/reference/bodyparts/issymlinkto_notes.texinfo delete mode 100644 docs/reference/bodyparts/kept_returncodes_example.texinfo delete mode 100644 docs/reference/bodyparts/kept_returncodes_notes.texinfo delete mode 100644 docs/reference/bodyparts/keycacheTTL_example.texinfo delete mode 100644 docs/reference/bodyparts/keycacheTTL_notes.texinfo delete mode 100644 docs/reference/bodyparts/lastseen_example.texinfo delete mode 100644 docs/reference/bodyparts/lastseen_notes.texinfo delete mode 100644 docs/reference/bodyparts/lastseenexpireafter_example.texinfo delete mode 100644 docs/reference/bodyparts/lastseenexpireafter_notes.texinfo delete mode 100644 docs/reference/bodyparts/leaf_name_example.texinfo delete mode 100644 docs/reference/bodyparts/leaf_name_notes.texinfo delete mode 100644 docs/reference/bodyparts/link_children_example.texinfo delete mode 100644 docs/reference/bodyparts/link_children_notes.texinfo delete mode 100644 docs/reference/bodyparts/link_type_example.texinfo delete mode 100644 docs/reference/bodyparts/link_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/linkcopy_patterns_example.texinfo delete mode 100644 docs/reference/bodyparts/linkcopy_patterns_notes.texinfo delete mode 100644 docs/reference/bodyparts/listen_example.texinfo delete mode 100644 docs/reference/bodyparts/listen_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_failed_example.texinfo delete mode 100644 docs/reference/bodyparts/log_failed_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_file_growing_example.texinfo delete mode 100644 docs/reference/bodyparts/log_file_growing_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_kept.example.texinfo delete mode 100644 docs/reference/bodyparts/log_kept_example.texinfo delete mode 100644 docs/reference/bodyparts/log_kept_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_level_example.texinfo delete mode 100644 docs/reference/bodyparts/log_level_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_priority_example.texinfo delete mode 100644 docs/reference/bodyparts/log_priority_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_repaired_example.texinfo delete mode 100644 docs/reference/bodyparts/log_repaired_notes.texinfo delete mode 100644 docs/reference/bodyparts/log_string_example.texinfo delete mode 100644 docs/reference/bodyparts/log_string_notes.texinfo delete mode 100644 docs/reference/bodyparts/logallconnections_example.texinfo delete mode 100644 docs/reference/bodyparts/logallconnections_notes.texinfo delete mode 100644 docs/reference/bodyparts/logencryptedtransfers_example.texinfo delete mode 100644 docs/reference/bodyparts/logencryptedtransfers_notes.texinfo delete mode 100644 docs/reference/bodyparts/mailfrom_example.texinfo delete mode 100644 docs/reference/bodyparts/mailfrom_notes.texinfo delete mode 100644 docs/reference/bodyparts/mailmaxlines_example.texinfo delete mode 100644 docs/reference/bodyparts/mailmaxlines_notes.texinfo delete mode 100644 docs/reference/bodyparts/mailto_example.texinfo delete mode 100644 docs/reference/bodyparts/mailto_notes.texinfo delete mode 100644 docs/reference/bodyparts/maproot_example.texinfo delete mode 100644 docs/reference/bodyparts/maproot_notes.texinfo delete mode 100644 docs/reference/bodyparts/match_range_example.texinfo delete mode 100644 docs/reference/bodyparts/match_range_notes.texinfo delete mode 100644 docs/reference/bodyparts/max_children_example.texinfo delete mode 100644 docs/reference/bodyparts/max_children_notes.texinfo delete mode 100644 docs/reference/bodyparts/max_file_size_example.texinfo delete mode 100644 docs/reference/bodyparts/max_file_size_notes.texinfo delete mode 100644 docs/reference/bodyparts/maxconnections_example.texinfo delete mode 100644 docs/reference/bodyparts/maxconnections_notes.texinfo delete mode 100644 docs/reference/bodyparts/measurement_class_example.texinfo delete mode 100644 docs/reference/bodyparts/measurement_class_notes.texinfo delete mode 100644 docs/reference/bodyparts/meta_example.texinfo delete mode 100644 docs/reference/bodyparts/meta_notes.texinfo delete mode 100644 docs/reference/bodyparts/mode_example.texinfo delete mode 100644 docs/reference/bodyparts/mode_notes.texinfo delete mode 100644 docs/reference/bodyparts/module_example.texinfo delete mode 100644 docs/reference/bodyparts/module_notes.texinfo delete mode 100644 docs/reference/bodyparts/monitorfacility_example.texinfo delete mode 100644 docs/reference/bodyparts/monitorfacility_notes.texinfo delete mode 100644 docs/reference/bodyparts/mount_options_example.texinfo delete mode 100644 docs/reference/bodyparts/mount_options_notes.texinfo delete mode 100644 docs/reference/bodyparts/mount_server_example.texinfo delete mode 100644 docs/reference/bodyparts/mount_server_notes.texinfo delete mode 100644 docs/reference/bodyparts/mount_source_example.texinfo delete mode 100644 docs/reference/bodyparts/mount_source_notes.texinfo delete mode 100644 docs/reference/bodyparts/mount_type_example.texinfo delete mode 100644 docs/reference/bodyparts/mount_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/mountfilesystems_example.texinfo delete mode 100644 docs/reference/bodyparts/mountfilesystems_notes.texinfo delete mode 100644 docs/reference/bodyparts/move_obstructions_example.texinfo delete mode 100644 docs/reference/bodyparts/move_obstructions_notes.texinfo delete mode 100644 docs/reference/bodyparts/mtime_example.texinfo delete mode 100644 docs/reference/bodyparts/mtime_notes.texinfo delete mode 100644 docs/reference/bodyparts/namespace_example.texinfo delete mode 100644 docs/reference/bodyparts/namespace_notes.texinfo delete mode 100644 docs/reference/bodyparts/newname_example.texinfo delete mode 100644 docs/reference/bodyparts/newname_notes.texinfo delete mode 100644 docs/reference/bodyparts/no_output_example.texinfo delete mode 100644 docs/reference/bodyparts/no_output_notes.texinfo delete mode 100644 docs/reference/bodyparts/nonalphanumfiles_example.texinfo delete mode 100644 docs/reference/bodyparts/nonalphanumfiles_notes.texinfo delete mode 100644 docs/reference/bodyparts/not_example.texinfo delete mode 100644 docs/reference/bodyparts/not_matching_example.texinfo delete mode 100644 docs/reference/bodyparts/not_matching_notes.texinfo delete mode 100644 docs/reference/bodyparts/not_notes.texinfo delete mode 100644 docs/reference/bodyparts/number_of_lines_example.texinfo delete mode 100644 docs/reference/bodyparts/number_of_lines_notes.texinfo delete mode 100644 docs/reference/bodyparts/occurrences_example.texinfo delete mode 100644 docs/reference/bodyparts/occurrences_notes.texinfo delete mode 100644 docs/reference/bodyparts/or_example.texinfo delete mode 100644 docs/reference/bodyparts/or_notes.texinfo delete mode 100644 docs/reference/bodyparts/out_of_range_define_example.texinfo delete mode 100644 docs/reference/bodyparts/out_of_range_define_notes.texinfo delete mode 100644 docs/reference/bodyparts/output_directory_example.texinfo delete mode 100644 docs/reference/bodyparts/output_directory_notes.texinfo delete mode 100644 docs/reference/bodyparts/output_level_example.texinfo delete mode 100644 docs/reference/bodyparts/output_level_notes.texinfo delete mode 100644 docs/reference/bodyparts/output_prefix_example.texinfo delete mode 100644 docs/reference/bodyparts/output_prefix_notes.texinfo delete mode 100644 docs/reference/bodyparts/output_to_file_example.texinfo delete mode 100644 docs/reference/bodyparts/output_to_file_notes.texinfo delete mode 100644 docs/reference/bodyparts/owners_example.texinfo delete mode 100644 docs/reference/bodyparts/owners_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_add_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_add_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_arch_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_arch_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_architectures_example.texinfo delete mode 100644 docs/reference/bodyparts/package_architectures_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_changes_example.texinfo delete mode 100644 docs/reference/bodyparts/package_changes_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_commands_useshell_example.texinfo delete mode 100644 docs/reference/bodyparts/package_commands_useshell_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_default_arch_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_default_arch_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_delete_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_delete_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_delete_convention_example.texinfo delete mode 100644 docs/reference/bodyparts/package_delete_convention_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_file_repositories_example.texinfo delete mode 100644 docs/reference/bodyparts/package_file_repositories_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_installed_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_installed_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_arch_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_arch_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_name_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_name_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_update_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_update_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_update_ifelapsed_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_update_ifelapsed_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_list_version_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_list_version_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_multiline_start_example.texinfo delete mode 100644 docs/reference/bodyparts/package_multiline_start_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_name_convention_example.texinfo delete mode 100644 docs/reference/bodyparts/package_name_convention_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_name_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_name_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_noverify_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_noverify_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_noverify_returncode_example.texinfo delete mode 100644 docs/reference/bodyparts/package_noverify_returncode_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_arch_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_arch_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_installed_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_installed_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_list_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_list_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_name_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_name_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_version_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_patch_version_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/package_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_select_example.texinfo delete mode 100644 docs/reference/bodyparts/package_select_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_update_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_update_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_verify_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_verify_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_version_equal_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_version_equal_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_version_example.texinfo delete mode 100644 docs/reference/bodyparts/package_version_less_command_example.texinfo delete mode 100644 docs/reference/bodyparts/package_version_less_command_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_version_notes.texinfo delete mode 100644 docs/reference/bodyparts/package_version_regex_example.texinfo delete mode 100644 docs/reference/bodyparts/package_version_regex_notes.texinfo delete mode 100644 docs/reference/bodyparts/path_name_example.texinfo delete mode 100644 docs/reference/bodyparts/path_name_notes.texinfo delete mode 100644 docs/reference/bodyparts/pathtype_example.texinfo delete mode 100644 docs/reference/bodyparts/pathtype_notes.texinfo delete mode 100644 docs/reference/bodyparts/persist_time_example.texinfo delete mode 100644 docs/reference/bodyparts/persist_time_notes.texinfo delete mode 100644 docs/reference/bodyparts/persistence_example.texinfo delete mode 100644 docs/reference/bodyparts/persistence_notes.texinfo delete mode 100644 docs/reference/bodyparts/pgid_example.texinfo delete mode 100644 docs/reference/bodyparts/pgid_notes.texinfo delete mode 100644 docs/reference/bodyparts/pid_example.texinfo delete mode 100644 docs/reference/bodyparts/pid_notes.texinfo delete mode 100644 docs/reference/bodyparts/policy_example.texinfo delete mode 100644 docs/reference/bodyparts/policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/port_example.texinfo delete mode 100644 docs/reference/bodyparts/port_notes.texinfo delete mode 100644 docs/reference/bodyparts/portnumber_example.texinfo delete mode 100644 docs/reference/bodyparts/portnumber_notes.texinfo delete mode 100644 docs/reference/bodyparts/ppid_example.texinfo delete mode 100644 docs/reference/bodyparts/ppid_notes.texinfo delete mode 100644 docs/reference/bodyparts/precedents_example.texinfo delete mode 100644 docs/reference/bodyparts/precedents_notes.texinfo delete mode 100644 docs/reference/bodyparts/preserve_example.texinfo delete mode 100644 docs/reference/bodyparts/preserve_notes.texinfo delete mode 100644 docs/reference/bodyparts/preview_example.texinfo delete mode 100644 docs/reference/bodyparts/preview_notes.texinfo delete mode 100644 docs/reference/bodyparts/priority_example.texinfo delete mode 100644 docs/reference/bodyparts/priority_notes.texinfo delete mode 100644 docs/reference/bodyparts/process_owner_example.texinfo delete mode 100644 docs/reference/bodyparts/process_owner_notes.texinfo delete mode 100644 docs/reference/bodyparts/process_result_example.texinfo delete mode 100644 docs/reference/bodyparts/process_result_notes.texinfo delete mode 100644 docs/reference/bodyparts/process_stop_example.texinfo delete mode 100644 docs/reference/bodyparts/process_stop_notes.texinfo delete mode 100644 docs/reference/bodyparts/promise_kept_example.texinfo delete mode 100644 docs/reference/bodyparts/promise_kept_notes.texinfo delete mode 100644 docs/reference/bodyparts/promise_repaired_example.texinfo delete mode 100644 docs/reference/bodyparts/promise_repaired_notes.texinfo delete mode 100644 docs/reference/bodyparts/promiser_type_example.texinfo delete mode 100644 docs/reference/bodyparts/promiser_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/purge_example.texinfo delete mode 100644 docs/reference/bodyparts/purge_notes.texinfo delete mode 100644 docs/reference/bodyparts/qualifiers_example.texinfo delete mode 100644 docs/reference/bodyparts/qualifiers_notes.texinfo delete mode 100644 docs/reference/bodyparts/real_example.texinfo delete mode 100644 docs/reference/bodyparts/real_notes.texinfo delete mode 100644 docs/reference/bodyparts/recognize_join_example.texinfo delete mode 100644 docs/reference/bodyparts/recognize_join_notes.texinfo delete mode 100644 docs/reference/bodyparts/refresh_processes_example.texinfo delete mode 100644 docs/reference/bodyparts/refresh_processes_notes.texinfo delete mode 100644 docs/reference/bodyparts/registry_exclude_example.texinfo delete mode 100644 docs/reference/bodyparts/registry_exclude_notes.texinfo delete mode 100644 docs/reference/bodyparts/repair_denied_example.texinfo delete mode 100644 docs/reference/bodyparts/repair_denied_notes.texinfo delete mode 100644 docs/reference/bodyparts/repair_failed_example.texinfo delete mode 100644 docs/reference/bodyparts/repair_failed_notes.texinfo delete mode 100644 docs/reference/bodyparts/repair_timeout_example.texinfo delete mode 100644 docs/reference/bodyparts/repair_timeout_notes.texinfo delete mode 100644 docs/reference/bodyparts/repaired_returncodes_example.texinfo delete mode 100644 docs/reference/bodyparts/repaired_returncodes_notes.texinfo delete mode 100644 docs/reference/bodyparts/repchar_example.texinfo delete mode 100644 docs/reference/bodyparts/repchar_notes.texinfo delete mode 100644 docs/reference/bodyparts/replace_value_example.texinfo delete mode 100644 docs/reference/bodyparts/replace_value_notes.texinfo delete mode 100644 docs/reference/bodyparts/report_changes_example.texinfo delete mode 100644 docs/reference/bodyparts/report_changes_notes.texinfo delete mode 100644 docs/reference/bodyparts/report_diffs_example.texinfo delete mode 100644 docs/reference/bodyparts/report_diffs_notes.texinfo delete mode 100644 docs/reference/bodyparts/report_level_example.texinfo delete mode 100644 docs/reference/bodyparts/report_level_notes.texinfo delete mode 100644 docs/reference/bodyparts/report_output_example.texinfo delete mode 100644 docs/reference/bodyparts/report_output_notes.texinfo delete mode 100644 docs/reference/bodyparts/report_to_file_example.texinfo delete mode 100644 docs/reference/bodyparts/report_to_file_notes.texinfo delete mode 100644 docs/reference/bodyparts/reports_example.texinfo delete mode 100644 docs/reference/bodyparts/reports_notes.texinfo delete mode 100644 docs/reference/bodyparts/repository_example.texinfo delete mode 100644 docs/reference/bodyparts/repository_notes.texinfo delete mode 100644 docs/reference/bodyparts/require_comments_example.texinfo delete mode 100644 docs/reference/bodyparts/require_comments_notes.texinfo delete mode 100644 docs/reference/bodyparts/resource_type_example.texinfo delete mode 100644 docs/reference/bodyparts/resource_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/restart_class_example.texinfo delete mode 100644 docs/reference/bodyparts/restart_class_notes.texinfo delete mode 100644 docs/reference/bodyparts/rlist_example.texinfo delete mode 100644 docs/reference/bodyparts/rlist_notes.texinfo delete mode 100644 docs/reference/bodyparts/rmdeadlinks_example.texinfo delete mode 100644 docs/reference/bodyparts/rmdeadlinks_notes.texinfo delete mode 100644 docs/reference/bodyparts/rmdirs_example.texinfo delete mode 100644 docs/reference/bodyparts/rmdirs_notes.texinfo delete mode 100644 docs/reference/bodyparts/rotate_example.texinfo delete mode 100644 docs/reference/bodyparts/rotate_notes.texinfo delete mode 100644 docs/reference/bodyparts/rsize_example.texinfo delete mode 100644 docs/reference/bodyparts/rsize_notes.texinfo delete mode 100644 docs/reference/bodyparts/rxdirs_example.texinfo delete mode 100644 docs/reference/bodyparts/rxdirs_notes.texinfo delete mode 100644 docs/reference/bodyparts/scan_arrivals_example.texinfo delete mode 100644 docs/reference/bodyparts/scan_arrivals_notes.texinfo delete mode 100644 docs/reference/bodyparts/schedule_example.texinfo delete mode 100644 docs/reference/bodyparts/schedule_notes.texinfo delete mode 100644 docs/reference/bodyparts/search_bsdflags_example.texinfo delete mode 100644 docs/reference/bodyparts/search_bsdflags_notes.texinfo delete mode 100644 docs/reference/bodyparts/search_groups_example.texinfo delete mode 100644 docs/reference/bodyparts/search_groups_notes.texinfo delete mode 100644 docs/reference/bodyparts/search_mode_example.texinfo delete mode 100644 docs/reference/bodyparts/search_mode_notes.texinfo delete mode 100644 docs/reference/bodyparts/search_owners_example.texinfo delete mode 100644 docs/reference/bodyparts/search_owners_notes.texinfo delete mode 100644 docs/reference/bodyparts/search_size_example.texinfo delete mode 100644 docs/reference/bodyparts/search_size_notes.texinfo delete mode 100644 docs/reference/bodyparts/secureinput_example.texinfo delete mode 100644 docs/reference/bodyparts/secureinput_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_class_example.texinfo delete mode 100644 docs/reference/bodyparts/select_class_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_end_example.texinfo delete mode 100644 docs/reference/bodyparts/select_end_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_field_example.texinfo delete mode 100644 docs/reference/bodyparts/select_field_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_line_matching_example.texinfo delete mode 100644 docs/reference/bodyparts/select_line_matching_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_line_number_example.texinfo delete mode 100644 docs/reference/bodyparts/select_line_number_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_multiline_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/select_multiline_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_start_example.texinfo delete mode 100644 docs/reference/bodyparts/select_start_notes.texinfo delete mode 100644 docs/reference/bodyparts/select_xpath_example.texinfo delete mode 100644 docs/reference/bodyparts/select_xpath_notes.texinfo delete mode 100644 docs/reference/bodyparts/sensible_count_example.texinfo delete mode 100644 docs/reference/bodyparts/sensible_count_notes.texinfo delete mode 100644 docs/reference/bodyparts/sensible_size_example.texinfo delete mode 100644 docs/reference/bodyparts/sensible_size_notes.texinfo delete mode 100644 docs/reference/bodyparts/sensiblecount_example.texinfo delete mode 100644 docs/reference/bodyparts/sensiblecount_notes.texinfo delete mode 100644 docs/reference/bodyparts/sensiblesize_example.texinfo delete mode 100644 docs/reference/bodyparts/sensiblesize_notes.texinfo delete mode 100644 docs/reference/bodyparts/serverfacility_example.texinfo delete mode 100644 docs/reference/bodyparts/serverfacility_notes.texinfo delete mode 100644 docs/reference/bodyparts/servers_example.texinfo delete mode 100644 docs/reference/bodyparts/servers_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_args_example.texinfo delete mode 100644 docs/reference/bodyparts/service_args_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_autostart_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/service_autostart_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_dependence_chain_example.texinfo delete mode 100644 docs/reference/bodyparts/service_dependence_chain_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_dependencies_example.texinfo delete mode 100644 docs/reference/bodyparts/service_dependencies_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/service_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/service_type_example.texinfo delete mode 100644 docs/reference/bodyparts/service_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/showstate_example.texinfo delete mode 100644 docs/reference/bodyparts/showstate_notes.texinfo delete mode 100644 docs/reference/bodyparts/signals_example.texinfo delete mode 100644 docs/reference/bodyparts/signals_notes.texinfo delete mode 100644 docs/reference/bodyparts/site_classes_example.texinfo delete mode 100644 docs/reference/bodyparts/site_classes_notes.texinfo delete mode 100644 docs/reference/bodyparts/skipidentify_example.texinfo delete mode 100644 docs/reference/bodyparts/skipidentify_notes.texinfo delete mode 100644 docs/reference/bodyparts/skipverify_example.texinfo delete mode 100644 docs/reference/bodyparts/skipverify_notes.texinfo delete mode 100644 docs/reference/bodyparts/slist_example.texinfo delete mode 100644 docs/reference/bodyparts/slist_notes.texinfo delete mode 100644 docs/reference/bodyparts/smtpserver_example.texinfo delete mode 100644 docs/reference/bodyparts/smtpserver_notes.texinfo delete mode 100644 docs/reference/bodyparts/source_example.texinfo delete mode 100644 docs/reference/bodyparts/source_notes.texinfo delete mode 100644 docs/reference/bodyparts/specify_inherit_aces_example.texinfo delete mode 100644 docs/reference/bodyparts/specify_inherit_aces_notes.texinfo delete mode 100644 docs/reference/bodyparts/splaytime_example.texinfo delete mode 100644 docs/reference/bodyparts/splaytime_notes.texinfo delete mode 100644 docs/reference/bodyparts/start_fields_from_zero_example.texinfo delete mode 100644 docs/reference/bodyparts/start_fields_from_zero_notes.texinfo delete mode 100644 docs/reference/bodyparts/status_example.texinfo delete mode 100644 docs/reference/bodyparts/status_notes.texinfo delete mode 100644 docs/reference/bodyparts/stealth_example.texinfo delete mode 100644 docs/reference/bodyparts/stealth_notes.texinfo delete mode 100644 docs/reference/bodyparts/stime_range_example.texinfo delete mode 100644 docs/reference/bodyparts/stime_range_notes.texinfo delete mode 100644 docs/reference/bodyparts/stream_type_example.texinfo delete mode 100644 docs/reference/bodyparts/stream_type_notes.texinfo delete mode 100644 docs/reference/bodyparts/string_example.texinfo delete mode 100644 docs/reference/bodyparts/string_notes.texinfo delete mode 100644 docs/reference/bodyparts/suspiciousnames_example.texinfo delete mode 100644 docs/reference/bodyparts/suspiciousnames_notes.texinfo delete mode 100644 docs/reference/bodyparts/synonyms_example.texinfo delete mode 100644 docs/reference/bodyparts/synonyms_notes.texinfo delete mode 100644 docs/reference/bodyparts/syslog_example.texinfo delete mode 100644 docs/reference/bodyparts/syslog_host_example.texinfo delete mode 100644 docs/reference/bodyparts/syslog_host_notes.texinfo delete mode 100644 docs/reference/bodyparts/syslog_notes.texinfo delete mode 100644 docs/reference/bodyparts/syslog_port_example.texinfo delete mode 100644 docs/reference/bodyparts/syslog_port_notes.texinfo delete mode 100644 docs/reference/bodyparts/tcpdump_example.texinfo delete mode 100644 docs/reference/bodyparts/tcpdump_notes.texinfo delete mode 100644 docs/reference/bodyparts/tcpdumpcommand_example.texinfo delete mode 100644 docs/reference/bodyparts/tcpdumpcommand_notes.texinfo delete mode 100644 docs/reference/bodyparts/threads_example.texinfo delete mode 100644 docs/reference/bodyparts/threads_notes.texinfo delete mode 100644 docs/reference/bodyparts/time_stamps_example.texinfo delete mode 100644 docs/reference/bodyparts/time_stamps_notes.texinfo delete mode 100644 docs/reference/bodyparts/timeout_example.texinfo delete mode 100644 docs/reference/bodyparts/timeout_notes.texinfo delete mode 100644 docs/reference/bodyparts/timer_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/timer_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/timezone_example.texinfo delete mode 100644 docs/reference/bodyparts/timezone_notes.texinfo delete mode 100644 docs/reference/bodyparts/touch_example.texinfo delete mode 100644 docs/reference/bodyparts/touch_notes.texinfo delete mode 100644 docs/reference/bodyparts/track_growing_file_example.texinfo delete mode 100644 docs/reference/bodyparts/track_growing_file_notes.texinfo delete mode 100644 docs/reference/bodyparts/track_value_example.texinfo delete mode 100644 docs/reference/bodyparts/track_value_notes.texinfo delete mode 100644 docs/reference/bodyparts/transformer_example.texinfo delete mode 100644 docs/reference/bodyparts/transformer_notes.texinfo delete mode 100644 docs/reference/bodyparts/traverse_links_example.texinfo delete mode 100644 docs/reference/bodyparts/traverse_links_notes.texinfo delete mode 100644 docs/reference/bodyparts/trustkey_example.texinfo delete mode 100644 docs/reference/bodyparts/trustkey_notes.texinfo delete mode 100644 docs/reference/bodyparts/trustkeysfrom_example.texinfo delete mode 100644 docs/reference/bodyparts/trustkeysfrom_notes.texinfo delete mode 100644 docs/reference/bodyparts/ttime_range_example.texinfo delete mode 100644 docs/reference/bodyparts/ttime_range_notes.texinfo delete mode 100644 docs/reference/bodyparts/tty_example.texinfo delete mode 100644 docs/reference/bodyparts/tty_notes.texinfo delete mode 100644 docs/reference/bodyparts/type_check_example.texinfo delete mode 100644 docs/reference/bodyparts/type_check_notes.texinfo delete mode 100644 docs/reference/bodyparts/umask_example.texinfo delete mode 100644 docs/reference/bodyparts/umask_notes.texinfo delete mode 100644 docs/reference/bodyparts/units_example.texinfo delete mode 100644 docs/reference/bodyparts/units_notes.texinfo delete mode 100644 docs/reference/bodyparts/unmount_example.texinfo delete mode 100644 docs/reference/bodyparts/unmount_notes.texinfo delete mode 100644 docs/reference/bodyparts/update_hashes_example.texinfo delete mode 100644 docs/reference/bodyparts/update_hashes_notes.texinfo delete mode 100644 docs/reference/bodyparts/useresult_example.texinfo delete mode 100644 docs/reference/bodyparts/useresult_notes.texinfo delete mode 100644 docs/reference/bodyparts/useshell_example.texinfo delete mode 100644 docs/reference/bodyparts/useshell_notes.texinfo delete mode 100644 docs/reference/bodyparts/value_kept_example.texinfo delete mode 100644 docs/reference/bodyparts/value_kept_notes.texinfo delete mode 100644 docs/reference/bodyparts/value_notkept_example.texinfo delete mode 100644 docs/reference/bodyparts/value_notkept_notes.texinfo delete mode 100644 docs/reference/bodyparts/value_repaired_example.texinfo delete mode 100644 docs/reference/bodyparts/value_repaired_notes.texinfo delete mode 100644 docs/reference/bodyparts/value_separator_example.texinfo delete mode 100644 docs/reference/bodyparts/value_separator_notes.texinfo delete mode 100644 docs/reference/bodyparts/verbose_example.texinfo delete mode 100644 docs/reference/bodyparts/verbose_notes.texinfo delete mode 100644 docs/reference/bodyparts/verify_example.texinfo delete mode 100644 docs/reference/bodyparts/verify_notes.texinfo delete mode 100644 docs/reference/bodyparts/version_example.texinfo delete mode 100644 docs/reference/bodyparts/version_notes.texinfo delete mode 100644 docs/reference/bodyparts/vsize_example.texinfo delete mode 100644 docs/reference/bodyparts/vsize_notes.texinfo delete mode 100644 docs/reference/bodyparts/when_linking_children_example.texinfo delete mode 100644 docs/reference/bodyparts/when_linking_children_notes.texinfo delete mode 100644 docs/reference/bodyparts/when_no_source_example.texinfo delete mode 100644 docs/reference/bodyparts/when_no_source_notes.texinfo delete mode 100644 docs/reference/bodyparts/whitespace_policy_example.texinfo delete mode 100644 docs/reference/bodyparts/whitespace_policy_notes.texinfo delete mode 100644 docs/reference/bodyparts/xdev_example.texinfo delete mode 100644 docs/reference/bodyparts/xdev_notes.texinfo delete mode 100644 docs/reference/bodyparts/xor_example.texinfo delete mode 100644 docs/reference/bodyparts/xor_notes.texinfo delete mode 100644 docs/reference/bundletypes/agent_example.texinfo delete mode 100644 docs/reference/bundletypes/agent_notes.texinfo delete mode 100644 docs/reference/bundletypes/common_example.texinfo delete mode 100644 docs/reference/bundletypes/common_notes.texinfo delete mode 100644 docs/reference/bundletypes/executor_example.texinfo delete mode 100644 docs/reference/bundletypes/executor_notes.texinfo delete mode 100644 docs/reference/bundletypes/monitor_example.texinfo delete mode 100644 docs/reference/bundletypes/monitor_notes.texinfo delete mode 100644 docs/reference/bundletypes/runagent_example.texinfo delete mode 100644 docs/reference/bundletypes/runagent_notes.texinfo delete mode 100644 docs/reference/bundletypes/server_example.texinfo delete mode 100644 docs/reference/bundletypes/server_notes.texinfo delete mode 100644 docs/reference/bundletypes/string_notes.texinfo delete mode 100644 docs/reference/control/agent_example.texinfo delete mode 100644 docs/reference/control/agent_notes.texinfo delete mode 100644 docs/reference/control/common_example.texinfo delete mode 100644 docs/reference/control/common_notes.texinfo delete mode 100644 docs/reference/control/executor_example.texinfo delete mode 100644 docs/reference/control/executor_notes.texinfo delete mode 100644 docs/reference/control/file_example.texinfo delete mode 100644 docs/reference/control/file_notes.texinfo delete mode 100644 docs/reference/control/hub_example.texinfo delete mode 100644 docs/reference/control/hub_notes.texinfo delete mode 100644 docs/reference/control/monitor_example.texinfo delete mode 100644 docs/reference/control/monitor_notes.texinfo delete mode 100644 docs/reference/control/runagent_example.texinfo delete mode 100644 docs/reference/control/runagent_notes.texinfo delete mode 100644 docs/reference/control/server_example.texinfo delete mode 100644 docs/reference/control/server_notes.texinfo delete mode 100644 docs/reference/filelogic.png delete mode 100644 docs/reference/functions/accessedbefore_example.texinfo delete mode 100644 docs/reference/functions/accessedbefore_notes.texinfo delete mode 100644 docs/reference/functions/accumulated_example.texinfo delete mode 100644 docs/reference/functions/accumulated_notes.texinfo delete mode 100644 docs/reference/functions/ago_example.texinfo delete mode 100644 docs/reference/functions/ago_notes.texinfo delete mode 100644 docs/reference/functions/and_example.texinfo delete mode 100644 docs/reference/functions/and_notes.texinfo delete mode 100644 docs/reference/functions/canonify_example.texinfo delete mode 100644 docs/reference/functions/canonify_notes.texinfo delete mode 100644 docs/reference/functions/changedbefore_example.texinfo delete mode 100644 docs/reference/functions/changedbefore_notes.texinfo delete mode 100644 docs/reference/functions/classesmatching_example.texinfo delete mode 100644 docs/reference/functions/classesmatching_notes.texinfo delete mode 100644 docs/reference/functions/classify_example.texinfo delete mode 100644 docs/reference/functions/classify_notes.texinfo delete mode 100644 docs/reference/functions/classmatch_example.texinfo delete mode 100644 docs/reference/functions/classmatch_notes.texinfo delete mode 100644 docs/reference/functions/concat_example.texinfo delete mode 100644 docs/reference/functions/concat_notes.texinfo delete mode 100644 docs/reference/functions/countclassesmatching_example.texinfo delete mode 100644 docs/reference/functions/countclassesmatching_notes.texinfo delete mode 100644 docs/reference/functions/countlinesmatching_example.texinfo delete mode 100644 docs/reference/functions/countlinesmatching_notes.texinfo delete mode 100644 docs/reference/functions/difference_example.texinfo delete mode 100644 docs/reference/functions/difference_notes.texinfo delete mode 100644 docs/reference/functions/dirname_example.texinfo delete mode 100644 docs/reference/functions/dirname_notes.texinfo delete mode 100644 docs/reference/functions/diskfree_example.texinfo delete mode 100644 docs/reference/functions/diskfree_notes.texinfo delete mode 100644 docs/reference/functions/escape_example.texinfo delete mode 100644 docs/reference/functions/escape_notes.texinfo delete mode 100644 docs/reference/functions/every_example.texinfo delete mode 100644 docs/reference/functions/every_notes.texinfo delete mode 100644 docs/reference/functions/execresult_example.texinfo delete mode 100644 docs/reference/functions/execresult_notes.texinfo delete mode 100644 docs/reference/functions/fileexists_example.texinfo delete mode 100644 docs/reference/functions/fileexists_notes.texinfo delete mode 100644 docs/reference/functions/filesexist_example.texinfo delete mode 100644 docs/reference/functions/filesexist_notes.texinfo delete mode 100644 docs/reference/functions/filesize_example.texinfo delete mode 100644 docs/reference/functions/filesize_notes.texinfo delete mode 100644 docs/reference/functions/filestat_example.texinfo delete mode 100644 docs/reference/functions/filestat_notes.texinfo delete mode 100644 docs/reference/functions/filter_example.texinfo delete mode 100644 docs/reference/functions/filter_notes.texinfo delete mode 100644 docs/reference/functions/format_example.texinfo delete mode 100644 docs/reference/functions/format_notes.texinfo delete mode 100644 docs/reference/functions/getenv_example.texinfo delete mode 100644 docs/reference/functions/getenv_notes.texinfo delete mode 100644 docs/reference/functions/getfields_example.texinfo delete mode 100644 docs/reference/functions/getfields_notes.texinfo delete mode 100644 docs/reference/functions/getgid_example.texinfo delete mode 100644 docs/reference/functions/getgid_notes.texinfo delete mode 100644 docs/reference/functions/getindices_example.texinfo delete mode 100644 docs/reference/functions/getindices_notes.texinfo delete mode 100644 docs/reference/functions/getuid_example.texinfo delete mode 100644 docs/reference/functions/getuid_notes.texinfo delete mode 100644 docs/reference/functions/getusers_example.texinfo delete mode 100644 docs/reference/functions/getusers_notes.texinfo delete mode 100644 docs/reference/functions/getvalues_example.texinfo delete mode 100644 docs/reference/functions/getvalues_notes.texinfo delete mode 100644 docs/reference/functions/grep_example.texinfo delete mode 100644 docs/reference/functions/grep_notes.texinfo delete mode 100644 docs/reference/functions/groupexists_example.texinfo delete mode 100644 docs/reference/functions/groupexists_notes.texinfo delete mode 100644 docs/reference/functions/hash_example.texinfo delete mode 100644 docs/reference/functions/hash_notes.texinfo delete mode 100644 docs/reference/functions/hashmatch_example.texinfo delete mode 100644 docs/reference/functions/hashmatch_notes.texinfo delete mode 100644 docs/reference/functions/host2ip_example.texinfo delete mode 100644 docs/reference/functions/host2ip_notes.texinfo delete mode 100644 docs/reference/functions/hostinnetgroup_example.texinfo delete mode 100644 docs/reference/functions/hostinnetgroup_notes.texinfo delete mode 100644 docs/reference/functions/hostrange_example.texinfo delete mode 100644 docs/reference/functions/hostrange_notes.texinfo delete mode 100644 docs/reference/functions/hostsseen_example.texinfo delete mode 100644 docs/reference/functions/hostsseen_notes.texinfo delete mode 100644 docs/reference/functions/hostswithclass_example.texinfo delete mode 100644 docs/reference/functions/hostswithclass_notes.texinfo delete mode 100644 docs/reference/functions/hubknowledge_example.texinfo delete mode 100644 docs/reference/functions/hubknowledge_notes.texinfo delete mode 100644 docs/reference/functions/ifelse_example.texinfo delete mode 100644 docs/reference/functions/ifelse_notes.texinfo delete mode 100644 docs/reference/functions/innetgroup_example.texinfo delete mode 100644 docs/reference/functions/innetgroup_notes.texinfo delete mode 100644 docs/reference/functions/intersection_example.texinfo delete mode 100644 docs/reference/functions/intersection_notes.texinfo delete mode 100644 docs/reference/functions/ip2host_example.texinfo delete mode 100644 docs/reference/functions/ip2host_notes.texinfo delete mode 100644 docs/reference/functions/iprange_example.texinfo delete mode 100644 docs/reference/functions/iprange_notes.texinfo delete mode 100644 docs/reference/functions/irange_example.texinfo delete mode 100644 docs/reference/functions/irange_notes.texinfo delete mode 100644 docs/reference/functions/isdir_example.texinfo delete mode 100644 docs/reference/functions/isdir_notes.texinfo delete mode 100644 docs/reference/functions/isexecutable_example.texinfo delete mode 100644 docs/reference/functions/isexecutable_notes.texinfo delete mode 100644 docs/reference/functions/isgreaterthan_example.texinfo delete mode 100644 docs/reference/functions/isgreaterthan_notes.texinfo delete mode 100644 docs/reference/functions/islessthan_example.texinfo delete mode 100644 docs/reference/functions/islessthan_notes.texinfo delete mode 100644 docs/reference/functions/islink_example.texinfo delete mode 100644 docs/reference/functions/islink_notes.texinfo delete mode 100644 docs/reference/functions/isnewerthan_example.texinfo delete mode 100644 docs/reference/functions/isnewerthan_notes.texinfo delete mode 100644 docs/reference/functions/isplain_example.texinfo delete mode 100644 docs/reference/functions/isplain_notes.texinfo delete mode 100644 docs/reference/functions/isvariable_example.texinfo delete mode 100644 docs/reference/functions/isvariable_notes.texinfo delete mode 100644 docs/reference/functions/join_example.texinfo delete mode 100644 docs/reference/functions/join_notes.texinfo delete mode 100644 docs/reference/functions/lastnode_example.texinfo delete mode 100644 docs/reference/functions/lastnode_notes.texinfo delete mode 100644 docs/reference/functions/laterthan_example.texinfo delete mode 100644 docs/reference/functions/laterthan_notes.texinfo delete mode 100644 docs/reference/functions/ldaparray_example.texinfo delete mode 100644 docs/reference/functions/ldaparray_notes.texinfo delete mode 100644 docs/reference/functions/ldaplist_example.texinfo delete mode 100644 docs/reference/functions/ldaplist_notes.texinfo delete mode 100644 docs/reference/functions/ldapvalue_example.texinfo delete mode 100644 docs/reference/functions/ldapvalue_notes.texinfo delete mode 100644 docs/reference/functions/length_example.texinfo delete mode 100644 docs/reference/functions/length_notes.texinfo delete mode 100644 docs/reference/functions/lsdir_example.texinfo delete mode 100644 docs/reference/functions/lsdir_notes.texinfo delete mode 100644 docs/reference/functions/maparray_example.texinfo delete mode 100644 docs/reference/functions/maparray_notes.texinfo delete mode 100644 docs/reference/functions/maplist_example.texinfo delete mode 100644 docs/reference/functions/maplist_notes.texinfo delete mode 100644 docs/reference/functions/none_example.texinfo delete mode 100644 docs/reference/functions/none_notes.texinfo delete mode 100644 docs/reference/functions/not_example.texinfo delete mode 100644 docs/reference/functions/not_notes.texinfo delete mode 100644 docs/reference/functions/now_example.texinfo delete mode 100644 docs/reference/functions/now_notes.texinfo delete mode 100644 docs/reference/functions/nth_example.texinfo delete mode 100644 docs/reference/functions/nth_notes.texinfo delete mode 100644 docs/reference/functions/on_example.texinfo delete mode 100644 docs/reference/functions/on_notes.texinfo delete mode 100644 docs/reference/functions/or_example.texinfo delete mode 100644 docs/reference/functions/or_notes.texinfo delete mode 100644 docs/reference/functions/parseintarray_example.texinfo delete mode 100644 docs/reference/functions/parseintarray_notes.texinfo delete mode 100644 docs/reference/functions/parserealarray_example.texinfo delete mode 100644 docs/reference/functions/parserealarray_notes.texinfo delete mode 100644 docs/reference/functions/parsestringarray_example.texinfo delete mode 100644 docs/reference/functions/parsestringarray_notes.texinfo delete mode 100644 docs/reference/functions/parsestringarrayidx_example.texinfo delete mode 100644 docs/reference/functions/parsestringarrayidx_notes.texinfo delete mode 100644 docs/reference/functions/peerleader_example.texinfo delete mode 100644 docs/reference/functions/peerleader_notes.texinfo delete mode 100644 docs/reference/functions/peerleaders_example.texinfo delete mode 100644 docs/reference/functions/peerleaders_notes.texinfo delete mode 100644 docs/reference/functions/peers_example.texinfo delete mode 100644 docs/reference/functions/peers_notes.texinfo delete mode 100644 docs/reference/functions/product_example.texinfo delete mode 100644 docs/reference/functions/product_notes.texinfo delete mode 100644 docs/reference/functions/randomint_example.texinfo delete mode 100644 docs/reference/functions/randomint_notes.texinfo delete mode 100644 docs/reference/functions/readfile_example.texinfo delete mode 100644 docs/reference/functions/readfile_notes.texinfo delete mode 100644 docs/reference/functions/readintarray_example.texinfo delete mode 100644 docs/reference/functions/readintarray_notes.texinfo delete mode 100644 docs/reference/functions/readintlist_example.texinfo delete mode 100644 docs/reference/functions/readintlist_notes.texinfo delete mode 100644 docs/reference/functions/readrealarray_example.texinfo delete mode 100644 docs/reference/functions/readrealarray_notes.texinfo delete mode 100644 docs/reference/functions/readreallist_example.texinfo delete mode 100644 docs/reference/functions/readreallist_notes.texinfo delete mode 100644 docs/reference/functions/readstringarray_example.texinfo delete mode 100644 docs/reference/functions/readstringarray_notes.texinfo delete mode 100644 docs/reference/functions/readstringarrayidx_example.texinfo delete mode 100644 docs/reference/functions/readstringarrayidx_notes.texinfo delete mode 100644 docs/reference/functions/readstringlist_example.texinfo delete mode 100644 docs/reference/functions/readstringlist_notes.texinfo delete mode 100644 docs/reference/functions/readtcp_example.texinfo delete mode 100644 docs/reference/functions/readtcp_notes.texinfo delete mode 100644 docs/reference/functions/regarray_example.texinfo delete mode 100644 docs/reference/functions/regarray_notes.texinfo delete mode 100644 docs/reference/functions/regcmp_example.texinfo delete mode 100644 docs/reference/functions/regcmp_notes.texinfo delete mode 100644 docs/reference/functions/regextract_example.texinfo delete mode 100644 docs/reference/functions/regextract_notes.texinfo delete mode 100644 docs/reference/functions/registryvalue_example.texinfo delete mode 100644 docs/reference/functions/registryvalue_notes.texinfo delete mode 100644 docs/reference/functions/regldap_example.texinfo delete mode 100644 docs/reference/functions/regldap_notes.texinfo delete mode 100644 docs/reference/functions/regline_example.texinfo delete mode 100644 docs/reference/functions/regline_notes.texinfo delete mode 100644 docs/reference/functions/reglist_example.texinfo delete mode 100644 docs/reference/functions/reglist_notes.texinfo delete mode 100644 docs/reference/functions/remoteclassesmatching_example.texinfo delete mode 100644 docs/reference/functions/remoteclassesmatching_notes.texinfo delete mode 100644 docs/reference/functions/remotescalar_example.texinfo delete mode 100644 docs/reference/functions/remotescalar_notes.texinfo delete mode 100644 docs/reference/functions/returnszero_example.texinfo delete mode 100644 docs/reference/functions/returnszero_notes.texinfo delete mode 100644 docs/reference/functions/rrange_example.texinfo delete mode 100644 docs/reference/functions/rrange_notes.texinfo delete mode 100644 docs/reference/functions/selectservers_example.texinfo delete mode 100644 docs/reference/functions/selectservers_notes.texinfo delete mode 100644 docs/reference/functions/some_example.texinfo delete mode 100644 docs/reference/functions/some_notes.texinfo delete mode 100644 docs/reference/functions/splayclass_example.texinfo delete mode 100644 docs/reference/functions/splayclass_notes.texinfo delete mode 100644 docs/reference/functions/splitstring_example.texinfo delete mode 100644 docs/reference/functions/splitstring_notes.texinfo delete mode 100644 docs/reference/functions/strcmp_example.texinfo delete mode 100644 docs/reference/functions/strcmp_notes.texinfo delete mode 100644 docs/reference/functions/strftime_example.texinfo delete mode 100644 docs/reference/functions/strftime_notes.texinfo delete mode 100644 docs/reference/functions/sublist_example.texinfo delete mode 100644 docs/reference/functions/sublist_notes.texinfo delete mode 100644 docs/reference/functions/sum_example.texinfo delete mode 100644 docs/reference/functions/sum_notes.texinfo delete mode 100644 docs/reference/functions/translatepath_example.texinfo delete mode 100644 docs/reference/functions/translatepath_notes.texinfo delete mode 100644 docs/reference/functions/unique_example.texinfo delete mode 100644 docs/reference/functions/unique_notes.texinfo delete mode 100644 docs/reference/functions/usemodule_example.texinfo delete mode 100644 docs/reference/functions/usemodule_notes.texinfo delete mode 100644 docs/reference/functions/userexists_example.texinfo delete mode 100644 docs/reference/functions/userexists_notes.texinfo delete mode 100644 docs/reference/functions_intro.texinfo delete mode 100644 docs/reference/promise_common_intro.texinfo delete mode 100644 docs/reference/promises/access_example.texinfo delete mode 100644 docs/reference/promises/access_intro.texinfo delete mode 100644 docs/reference/promises/access_notes.texinfo delete mode 100644 docs/reference/promises/build_xpath_example.texinfo delete mode 100644 docs/reference/promises/build_xpath_intro.texinfo delete mode 100644 docs/reference/promises/build_xpath_notes.texinfo delete mode 100644 docs/reference/promises/classes_example.texinfo delete mode 100644 docs/reference/promises/classes_intro.texinfo delete mode 100644 docs/reference/promises/classes_notes.texinfo delete mode 100644 docs/reference/promises/commands_example.texinfo delete mode 100644 docs/reference/promises/commands_intro.texinfo delete mode 100644 docs/reference/promises/commands_notes.texinfo delete mode 100644 docs/reference/promises/common_example.texinfo delete mode 100644 docs/reference/promises/common_intro.texinfo delete mode 100644 docs/reference/promises/common_notes.texinfo delete mode 100644 docs/reference/promises/databases_example.texinfo delete mode 100644 docs/reference/promises/databases_intro.texinfo delete mode 100644 docs/reference/promises/databases_notes.texinfo delete mode 100644 docs/reference/promises/defaults_example.texinfo delete mode 100644 docs/reference/promises/defaults_intro.texinfo delete mode 100644 docs/reference/promises/defaults_notes.texinfo delete mode 100644 docs/reference/promises/delete_attribute_example.texinfo delete mode 100644 docs/reference/promises/delete_attribute_intro.texinfo delete mode 100644 docs/reference/promises/delete_attribute_notes.texinfo delete mode 100644 docs/reference/promises/delete_lines_example.texinfo delete mode 100644 docs/reference/promises/delete_lines_intro.texinfo delete mode 100644 docs/reference/promises/delete_lines_notes.texinfo delete mode 100644 docs/reference/promises/delete_text_example.texinfo delete mode 100644 docs/reference/promises/delete_text_intro.texinfo delete mode 100644 docs/reference/promises/delete_text_notes.texinfo delete mode 100644 docs/reference/promises/delete_tree_example.texinfo delete mode 100644 docs/reference/promises/delete_tree_intro.texinfo delete mode 100644 docs/reference/promises/delete_tree_notes.texinfo delete mode 100644 docs/reference/promises/edit_line_intro.texinfo delete mode 100644 docs/reference/promises/edit_xml_intro.texinfo delete mode 100644 docs/reference/promises/field_edits_example.texinfo delete mode 100644 docs/reference/promises/field_edits_intro.texinfo delete mode 100644 docs/reference/promises/field_edits_notes.texinfo delete mode 100644 docs/reference/promises/files_example.texinfo delete mode 100644 docs/reference/promises/files_intro.texinfo delete mode 100644 docs/reference/promises/files_notes.texinfo delete mode 100644 docs/reference/promises/guest_environments_example.texinfo delete mode 100644 docs/reference/promises/guest_environments_intro.texinfo delete mode 100644 docs/reference/promises/guest_environments_notes.texinfo delete mode 100644 docs/reference/promises/insert_lines_example.texinfo delete mode 100644 docs/reference/promises/insert_lines_intro.texinfo delete mode 100644 docs/reference/promises/insert_lines_notes.texinfo delete mode 100644 docs/reference/promises/insert_text_example.texinfo delete mode 100644 docs/reference/promises/insert_text_intro.texinfo delete mode 100644 docs/reference/promises/insert_text_notes.texinfo delete mode 100644 docs/reference/promises/insert_tree_example.texinfo delete mode 100644 docs/reference/promises/insert_tree_intro.texinfo delete mode 100644 docs/reference/promises/insert_tree_notes.texinfo delete mode 100644 docs/reference/promises/interfaces_example.texinfo delete mode 100644 docs/reference/promises/interfaces_intro.texinfo delete mode 100644 docs/reference/promises/interfaces_notes.texinfo delete mode 100644 docs/reference/promises/measurements_example.texinfo delete mode 100644 docs/reference/promises/measurements_intro.texinfo delete mode 100644 docs/reference/promises/measurements_notes.texinfo delete mode 100644 docs/reference/promises/meta_example.texinfo delete mode 100644 docs/reference/promises/meta_intro.texinfo delete mode 100644 docs/reference/promises/meta_notes.texinfo delete mode 100644 docs/reference/promises/methods_example.texinfo delete mode 100644 docs/reference/promises/methods_intro.texinfo delete mode 100644 docs/reference/promises/methods_notes.texinfo delete mode 100644 docs/reference/promises/outputs_example.texinfo delete mode 100644 docs/reference/promises/outputs_intro.texinfo delete mode 100644 docs/reference/promises/outputs_notes.texinfo delete mode 100644 docs/reference/promises/packages_example.texinfo delete mode 100644 docs/reference/promises/packages_intro.texinfo delete mode 100644 docs/reference/promises/packages_notes.texinfo delete mode 100644 docs/reference/promises/processes_example.texinfo delete mode 100644 docs/reference/promises/processes_intro.texinfo delete mode 100644 docs/reference/promises/processes_notes.texinfo delete mode 100644 docs/reference/promises/replace_patterns_example.texinfo delete mode 100644 docs/reference/promises/replace_patterns_intro.texinfo delete mode 100644 docs/reference/promises/replace_patterns_notes.texinfo delete mode 100644 docs/reference/promises/reports_example.texinfo delete mode 100644 docs/reference/promises/reports_intro.texinfo delete mode 100644 docs/reference/promises/reports_notes.texinfo delete mode 100644 docs/reference/promises/roles_example.texinfo delete mode 100644 docs/reference/promises/roles_intro.texinfo delete mode 100644 docs/reference/promises/roles_notes.texinfo delete mode 100644 docs/reference/promises/services_example.texinfo delete mode 100644 docs/reference/promises/services_intro.texinfo delete mode 100644 docs/reference/promises/services_notes.texinfo delete mode 100644 docs/reference/promises/set_attribute_example.texinfo delete mode 100644 docs/reference/promises/set_attribute_intro.texinfo delete mode 100644 docs/reference/promises/set_attribute_notes.texinfo delete mode 100644 docs/reference/promises/set_text_example.texinfo delete mode 100644 docs/reference/promises/set_text_intro.texinfo delete mode 100644 docs/reference/promises/set_text_notes.texinfo delete mode 100644 docs/reference/promises/storage_example.texinfo delete mode 100644 docs/reference/promises/storage_intro.texinfo delete mode 100644 docs/reference/promises/storage_notes.texinfo delete mode 100644 docs/reference/promises/vars_example.texinfo delete mode 100644 docs/reference/promises/vars_intro.texinfo delete mode 100644 docs/reference/promises/vars_notes.texinfo delete mode 100644 docs/reference/reference_basics.texinfo delete mode 100644 docs/reference/reference_control_intro.texinfo delete mode 100644 docs/reference/reference_logs.texinfo delete mode 100644 docs/reference/varcontexts/const_intro.texinfo delete mode 100644 docs/reference/varcontexts/edit_intro.texinfo delete mode 100644 docs/reference/varcontexts/match_intro.texinfo delete mode 100644 docs/reference/varcontexts/mon_intro.texinfo delete mode 100644 docs/reference/varcontexts/sys_intro.texinfo delete mode 100644 docs/reference/varcontexts/this_intro.texinfo delete mode 100644 docs/reference/vars/const_dollar.texinfo delete mode 100644 docs/reference/vars/const_endl.texinfo delete mode 100644 docs/reference/vars/const_n.texinfo delete mode 100644 docs/reference/vars/const_r.texinfo delete mode 100644 docs/reference/vars/const_t.texinfo delete mode 100644 docs/reference/vars/edit_filename.texinfo delete mode 100644 docs/reference/vars/match_0.texinfo delete mode 100644 docs/reference/vars/sys_arch.texinfo delete mode 100644 docs/reference/vars/sys_cdate.texinfo delete mode 100644 docs/reference/vars/sys_cf_agent.texinfo delete mode 100644 docs/reference/vars/sys_cf_execd.texinfo delete mode 100644 docs/reference/vars/sys_cf_hub.texinfo delete mode 100644 docs/reference/vars/sys_cf_key.texinfo delete mode 100644 docs/reference/vars/sys_cf_monitord.texinfo delete mode 100644 docs/reference/vars/sys_cf_promises.texinfo delete mode 100644 docs/reference/vars/sys_cf_runagent.texinfo delete mode 100644 docs/reference/vars/sys_cf_serverd.texinfo delete mode 100644 docs/reference/vars/sys_cf_twin.texinfo delete mode 100644 docs/reference/vars/sys_cf_version.texinfo delete mode 100644 docs/reference/vars/sys_class.texinfo delete mode 100644 docs/reference/vars/sys_cpus.texinfo delete mode 100644 docs/reference/vars/sys_crontab.texinfo delete mode 100644 docs/reference/vars/sys_date.texinfo delete mode 100644 docs/reference/vars/sys_doc_root.texinfo delete mode 100644 docs/reference/vars/sys_domain.texinfo delete mode 100644 docs/reference/vars/sys_enterprise_version.texinfo delete mode 100644 docs/reference/vars/sys_expires.texinfo delete mode 100644 docs/reference/vars/sys_exports.texinfo delete mode 100644 docs/reference/vars/sys_flavor.texinfo delete mode 100644 docs/reference/vars/sys_flavour.texinfo delete mode 100644 docs/reference/vars/sys_fqhost.texinfo delete mode 100644 docs/reference/vars/sys_fstab.texinfo delete mode 100644 docs/reference/vars/sys_hardware_addresses.texinfo delete mode 100644 docs/reference/vars/sys_hardware_mac[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_host.texinfo delete mode 100644 docs/reference/vars/sys_hub_master.texinfo delete mode 100644 docs/reference/vars/sys_interface.texinfo delete mode 100644 docs/reference/vars/sys_interface_flags[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_interfaces.texinfo delete mode 100644 docs/reference/vars/sys_ip_addresses.texinfo delete mode 100644 docs/reference/vars/sys_ipv4.texinfo delete mode 100644 docs/reference/vars/sys_ipv4[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_ipv4_1[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_ipv4_2[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_ipv4_3[interface_name].texinfo delete mode 100644 docs/reference/vars/sys_key_digest.texinfo delete mode 100644 docs/reference/vars/sys_last_policy_update.texinfo delete mode 100644 docs/reference/vars/sys_license_owner.texinfo delete mode 100644 docs/reference/vars/sys_licenses_granted.texinfo delete mode 100644 docs/reference/vars/sys_licenses_installtime.texinfo delete mode 100644 docs/reference/vars/sys_long_arch.texinfo delete mode 100644 docs/reference/vars/sys_maildir.texinfo delete mode 100644 docs/reference/vars/sys_nova_version.texinfo delete mode 100644 docs/reference/vars/sys_os.texinfo delete mode 100644 docs/reference/vars/sys_ostype.texinfo delete mode 100644 docs/reference/vars/sys_policy_hub.texinfo delete mode 100644 docs/reference/vars/sys_release.texinfo delete mode 100644 docs/reference/vars/sys_resolv.texinfo delete mode 100644 docs/reference/vars/sys_uqhost.texinfo delete mode 100644 docs/reference/vars/sys_version.texinfo delete mode 100644 docs/reference/vars/sys_windir.texinfo delete mode 100644 docs/reference/vars/sys_winprogdir.texinfo delete mode 100644 docs/reference/vars/sys_winprogdir86.texinfo delete mode 100644 docs/reference/vars/sys_winsysdir.texinfo delete mode 100644 docs/reference/vars/sys_workdir.texinfo delete mode 100644 docs/tex-include/texinfo-altfont.tex delete mode 100644 docs/tex-include/texinfo-logo.tex delete mode 100644 docs/tex-include/texinfo.tex delete mode 100644 docs/tex-include/txi-cmbright.tex delete mode 100644 docs/tex-include/txi-helvetica.tex delete mode 100644 docs/tex-include/txi-iwona.tex delete mode 100644 docs/tools/build-solutions-guide.c delete mode 100644 docs/tools/build-stdlib.c delete mode 100755 docs/tools/extract-images delete mode 100755 docs/tools/texi2pdfclean diff --git a/docs/guides/BDMA_model.png b/docs/guides/BDMA_model.png deleted file mode 100644 index d72c53165359d1e51d681cb6cdd5bcdd2cbc2a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68436 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ⅈfz@8mWY@6(42yA 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 N1z8oD3Mtbs{}18w^?LvS diff --git a/docs/guides/CFEngineFrontPage.pdf b/docs/guides/CFEngineFrontPage.pdf deleted file mode 100644 index 26e35bee2f6dc9015e8e65220fe04c5664112813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60068 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 F{|_Ud>oouX diff --git a/docs/guides/CfengineStdLibrary.texinfo b/docs/guides/CfengineStdLibrary.texinfo deleted file mode 100644 index 820eea79e7..0000000000 --- a/docs/guides/CfengineStdLibrary.texinfo +++ /dev/null @@ -1,3708 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c *********************************************************************** - -@c %** start of header -@setfilename CfengineStdLibrary.info -@settitle Community Open Promise Body Library -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Community Open Promise Body Library -@subtitle A CFEngine Standard -@author CFEngine AS - -@c @smallbook - -@fonttextsize 10 - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2012 CFEngine AS -@end titlepage -@c *************************** File begins here ************************ -@ifinfo -@dircategory CFEngine Training -@direntry -* cfengine Reference: - CFEngine is a language based framework - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo -@ifnottex -@node Top, Basic company information and procedures, (dir), (dir) -@top CFEngine-Open-Promise-Body-Library -@end ifnottex -@ifhtml -@html -COMPLETE TABLE OF CONTENTS -

Summary of contents

-@end html -@end ifhtml -@iftex -@contents -@end iftex -@node The Purpose Of This Handbook -@chapter The Purpose Of This Handbook - -@sp 1 - -CFEngine is built on promises. Promises were chosen as the model for CFEngine's -configuration language, because they represent an expression of intention. - -If you are using custom scripts to manage your systems, you are using -@i{recipes}. Take a look at any cookbook and you will see that all -recipes look the same: take flour, eggs, butter, sugar ... and you -know nothing because you can make a hundred things from these steps. -If you don't make clear your intention, it is very hard to know what -the recipe is supposed to be: is it a cake, a waffle, a pastry? - -The same is true in system administration. Recipes are not merely -scripts, they encapsulate knowledge and experience. Their value is -in communicating @i{desired outcomes} or states. - -This library of standard components is like a cookbook that tells you -only how to make basics well. It gives these basic skills names and -therefore gives you a common vocabulary -- you will put together these -basics in creative ways to build your systems. - -@sp 2 - -@cartouche - -Please contribute to this guide by helping to develop a repertoire of -basic skills and names. This collection should be comprehensive but -parsimonious. Basics are only basics if they are few and carefully -thought out. This is a work in progress and your experience is welcome. - -This library will be moderated by CFEngine, and contributions and discussions -ca n be made to the help-cfengine@@cfengine.org mailing list. - -@end cartouche - - - - - -@node body acl access_generic -@section body acl access_generic(acl) - -@verbatim -body acl access_generic(acl) -# default/inherited ACLs are left unchanged, -# applicable for both files and directories on all platforms -{ -acl_method => "overwrite"; -aces => { "@(acl)" }; - -windows:: -acl_type => "ntfs"; - -!windows:: -acl_type => "posix"; -} - - -@end verbatim - -@node body acl ntfs -@section body acl ntfs(acl) - -@verbatim -body acl ntfs(acl) -{ -acl_type => "ntfs"; -acl_method => "overwrite"; -aces => { "@(acl)" }; -} - - -@end verbatim - -@node body acl strict -@section body acl strict - -@verbatim -body acl strict -# NOTE: May need to take ownership of file/dir -# to be sure no-one else is allowed access -{ -acl_method => "overwrite"; - -windows:: -aces => { "user:Administrator:rwx" }; -!windows:: -aces => { "user:root:rwx" }; -} - - -@end verbatim - -@node body action bg -@section body action bg(elapsed,expire) - -@verbatim -body action bg(elapsed,expire) -{ -ifelapsed => "$(elapsed)"; -expireafter => "$(expire)"; -background => "true"; -} - - -@end verbatim - -@node body action if_elapsed -@section body action if_elapsed(x) - -@verbatim -body action if_elapsed(x) -{ -ifelapsed => "$(x)"; -expireafter => "$(x)"; -} - - -@end verbatim - -@node body action if_elapsed_day -@section body action if_elapsed_day - -@verbatim -body action if_elapsed_day -{ -ifelapsed => "1440"; # 60 x 24 -expireafter => "1400"; -} - - -@end verbatim - -@node body action ifwin_bg -@section body action ifwin_bg - -@verbatim -body action ifwin_bg -{ -windows:: -background => "true"; -} - - -@end verbatim - -@node body action immediate -@section body action immediate - -@verbatim -body action immediate -{ -ifelapsed => "0"; -} - - -@end verbatim - -@node body action log_repaired -@section body action log_repaired(log,message) - -@verbatim -body action log_repaired(log,message) -{ -log_string => "$(sys.date), $(message)"; -log_repaired => "$(log)"; -} - - -@end verbatim - -@node body action log_verbose -@section body action log_verbose - -@verbatim -body action log_verbose -{ -log_level => "verbose"; -} - - -@end verbatim - -@node body action measure_performance -@section body action measure_performance(x) - -@verbatim -body action measure_performance(x) -{ -measurement_class => "Detect changes in $(this.promiser)"; -ifelapsed => "$(x)"; -expireafter => "$(x)"; -} - - -@end verbatim - -@node body action policy -@section body action policy(p) - -@verbatim -body action policy(p) -{ -action_policy => "$(p)"; -} - - -# Log a message to log=[/file|stdout] - -@end verbatim - -@node body action sample_rate -@section body action sample_rate(x) - -@verbatim -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} - - -@end verbatim - -@node body action warn_only -@section body action warn_only - -@verbatim -body action warn_only -{ -action_policy => "warn"; -ifelapsed => "60"; -} - - -@end verbatim - -@node body changes detect_all_change -@section body changes detect_all_change - -@verbatim -body changes detect_all_change - -# This is fierce, and will cost disk cycles - -{ -hash => "best"; -report_changes => "all"; -update_hashes => "yes"; -} - - -@end verbatim - -@node body changes detect_content -@section body changes detect_content - -@verbatim -body changes detect_content - -# This is a cheaper alternative - -{ -hash => "md5"; -report_changes => "content"; -update_hashes => "yes"; -} - - -@end verbatim - -@node body changes diff -@section body changes diff - -@verbatim -body changes diff -# Generates diff report (Nova and above) -{ -hash => "sha256"; -report_changes => "content"; -report_diffs => "true"; -update_hashes => "yes"; -} - - -@end verbatim - -@node body changes diff_noupdate -@section body changes diff_noupdate - -@verbatim -body changes diff_noupdate -{ -hash => "sha256"; -report_changes => "content"; -report_diffs => "true"; -update_hashes => "no"; -} - - -@end verbatim - -@node body changes noupdate -@section body changes noupdate - -@verbatim -body changes noupdate -# Use on (small) files that should never change -{ -hash => "sha256"; -report_changes => "content"; -update_hashes => "no"; -} - - -@end verbatim - -@node body classes always -@section body classes always(x) - -@verbatim -body classes always(x) - -# Define a class no matter what the outcome of the promise is - -{ - promise_repaired => { "$(x)" }; - promise_kept => { "$(x)" }; - repair_failed => { "$(x)" }; - repair_denied => { "$(x)" }; - repair_timeout => { "$(x)" }; -} - -# agent bundles - - - - -@end verbatim - -@node body classes cf2_if_else -@section body classes cf2_if_else(yes,no) - -@verbatim -body classes cf2_if_else(yes,no) - -# meant to match cf2 semantics - -{ -promise_repaired => { "$(yes)" }; -repair_failed => { "$(no)" }; -repair_denied => { "$(no)" }; -repair_timeout => { "$(no)" }; -} - - -@end verbatim - -@node body classes cmd_repair -@section body classes cmd_repair(code,cl) - -@verbatim -body classes cmd_repair(code,cl) -{ -repaired_returncodes => { "$(code)" }; -promise_repaired => { "$(cl)" }; -} - - -@end verbatim - -@node body classes enumerate -@section body classes enumerate(x) - -@verbatim -body classes enumerate(x) - -# -# This is used by commercial editions to count -# instances of jobs in a cluster -# - -{ -promise_repaired => { "mXC_$(x)" }; -promise_kept => { "mXC_$(x)" }; -persist_time => "15"; -} - - -@end verbatim - -@node body classes if_else -@section body classes if_else(yes,no) - -@verbatim -body classes if_else(yes,no) - -{ -promise_kept => { "$(yes)" }; -promise_repaired => { "$(yes)" }; -repair_failed => { "$(no)" }; -repair_denied => { "$(no)" }; -repair_timeout => { "$(no)" }; -} - - -@end verbatim - -@node body classes if_notkept -@section body classes if_notkept(x) - -@verbatim -body classes if_notkept(x) -{ -repair_failed => { "$(x)" }; -repair_denied => { "$(x)" }; -repair_timeout => { "$(x)" }; -} - - -@end verbatim - -@node body classes if_ok -@section body classes if_ok(x) - -@verbatim -body classes if_ok(x) -{ -promise_repaired => { "$(x)" }; -promise_kept => { "$(x)" }; -} - - -@end verbatim - -@node body classes if_ok_cancel -@section body classes if_ok_cancel(x) - -@verbatim -body classes if_ok_cancel(x) -{ -cancel_repaired => { "$(x)" }; -cancel_kept => { "$(x)" }; -} - - -@end verbatim - -@node body classes if_repaired -@section body classes if_repaired(x) - -@verbatim -body classes if_repaired(x) -{ -promise_repaired => { "$(x)" }; -} - - -@end verbatim - -@node body classes state_repaired -@section body classes state_repaired(x) - -@verbatim -body classes state_repaired(x) -{ -promise_repaired => { "$(x)" }; -persist_time => "10"; -} - - -@end verbatim - -@node body contain in_dir -@section body contain in_dir(s) - -@verbatim -body contain in_dir(s) -{ -chdir => "$(s)"; -} - - -@end verbatim - -@node body contain in_dir_shell -@section body contain in_dir_shell(s) - -@verbatim -body contain in_dir_shell(s) -{ -chdir => "$(s)"; -useshell => "useshell"; -} - - -@end verbatim - -@node body contain in_dir_shell_and_silent -@section body contain in_dir_shell_and_silent(dir) - -@verbatim -body contain in_dir_shell_and_silent(dir) -{ -useshell => "useshell"; -no_output => "true"; -chdir => "$(dir)"; -} - - -@end verbatim - -@node body contain in_shell -@section body contain in_shell - -@verbatim -body contain in_shell -{ -useshell => "useshell"; -} - - -@end verbatim - -@node body contain in_shell_and_silent -@section body contain in_shell_and_silent - -@verbatim -body contain in_shell_and_silent -{ -useshell => "useshell"; -no_output => "true"; -} - - -@end verbatim - -@node body contain in_shell_bg -@section body contain in_shell_bg - -@verbatim -body contain in_shell_bg -{ -useshell => "useshell"; -background => "true"; -} - - -@end verbatim - -@node body contain jail -@section body contain jail(owner,root,dir) - -@verbatim -body contain jail(owner,root,dir) -{ -exec_owner => "$(owner)"; -useshell => "useshell"; -chdir => "$(dir)"; -chroot => "$(root)"; -} - - - - -@end verbatim - -@node body contain setuid -@section body contain setuid(x) - -@verbatim -body contain setuid(x) -{ -exec_owner => "$(x)"; -useshell => "noshell"; -} - - -@end verbatim - -@node body contain setuid_sh -@section body contain setuid_sh(x) - -@verbatim -body contain setuid_sh(x) -{ -exec_owner => "$(x)"; -useshell => "useshell"; -} - - -@end verbatim - -@node body contain setuidgid_sh -@section body contain setuidgid_sh(owner,group) - -@verbatim -body contain setuidgid_sh(owner,group) -{ -exec_owner => "$(owner)"; -exec_group => "$(group)"; -useshell => "useshell"; -} - - -@end verbatim - -@node body contain silent -@section body contain silent - -@verbatim -body contain silent -{ -no_output => "true"; -} - - -@end verbatim - -@node body contain silent_in_dir -@section body contain silent_in_dir(s) - -@verbatim -body contain silent_in_dir(s) -{ -chdir => "$(s)"; -no_output => "true"; -} - - -@end verbatim - -@node body copy_from backup_local_cp -@section body copy_from backup_local_cp(from) - -@verbatim -body copy_from backup_local_cp(from) -# Local copy, keeping a backup of old versions -{ - source => "$(from)"; - copy_backup => "timestamp"; -} - - -# Copy only if the file does not already exist, i.e. seed the placement - -@end verbatim - -@node body copy_from local_cp -@section body copy_from local_cp(from) - -@verbatim -body copy_from local_cp(from) -{ -source => "$(from)"; -} - - -@end verbatim - -@node body copy_from local_dcp -@section body copy_from local_dcp(from) - -@verbatim -body copy_from local_dcp(from) -{ -source => "$(from)"; -compare => "digest"; -} - - -@end verbatim - -@node body copy_from no_backup_cp -@section body copy_from no_backup_cp(from) - -@verbatim -body copy_from no_backup_cp(from) -{ -source => "$(from)"; -copy_backup => "false"; -} - - -@end verbatim - -@node body copy_from no_backup_dcp -@section body copy_from no_backup_dcp(from) - -@verbatim -body copy_from no_backup_dcp(from) -{ -source => "$(from)"; -copy_backup => "false"; -compare => "digest"; -} - - -@end verbatim - -@node body copy_from no_backup_rcp -@section body copy_from no_backup_rcp(from,server) - -@verbatim -body copy_from no_backup_rcp(from,server) -{ -servers => { "$(server)" }; -source => "$(from)"; -compare => "mtime"; -copy_backup => "false"; -} - - -@end verbatim - -@node body copy_from perms_cp -@section body copy_from perms_cp(from) - -@verbatim -body copy_from perms_cp(from) -{ -source => "$(from)"; -preserve => "true"; -} - -@end verbatim - -@node body copy_from remote_cp -@section body copy_from remote_cp(from,server) - -@verbatim -body copy_from remote_cp(from,server) -{ -servers => { "$(server)" }; -source => "$(from)"; -compare => "mtime"; -} - - -@end verbatim - -@node body copy_from remote_dcp -@section body copy_from remote_dcp(from,server) - -@verbatim -body copy_from remote_dcp(from,server) -{ -servers => { "$(server)" }; -source => "$(from)"; -compare => "digest"; -} - - -@end verbatim - -@node body copy_from secure_cp -@section body copy_from secure_cp(from,server) - -@verbatim -body copy_from secure_cp(from,server) -{ -source => "$(from)"; -servers => { "$(server)" }; -compare => "digest"; -encrypt => "true"; -verify => "true"; -} - - -@end verbatim - -@node body copy_from seed_cp -@section body copy_from seed_cp(from) - -@verbatim -body copy_from seed_cp(from) -{ -source => "$(from)"; -compare => "exists"; -} - - -@end verbatim - -@node body copy_from sync_cp -@section body copy_from sync_cp(from,server) - -@verbatim -body copy_from sync_cp(from,server) -{ -servers => { "$(server)" }; -source => "$(from)"; -purge => "true"; -preserve => "true"; -type_check => "false"; -} - - -@end verbatim - -@node body database_server local_mysql -@section body database_server local_mysql(username, password) - -@verbatim -body database_server local_mysql(username, password) -{ -db_server_owner => "$(username)"; -db_server_password => "$(password)"; -db_server_host => "localhost"; -db_server_type => "mysql"; -db_server_connection_db => "mysql"; -} - - -@end verbatim - -@node body database_server local_postgresql -@section body database_server local_postgresql(username, password) - -@verbatim -body database_server local_postgresql(username, password) -{ -db_server_owner => "$(username)"; -db_server_password => "$(password)"; -db_server_host => "localhost"; -db_server_type => "postgres"; -db_server_connection_db => "postgres"; -} - - -@end verbatim - -@node body delete tidy -@section body delete tidy - -@verbatim -body delete tidy - -{ -dirlinks => "delete"; -rmdirs => "true"; -} - - -@end verbatim - -@node body depth_search include_base -@section body depth_search include_base - -@verbatim -body depth_search include_base -{ -include_basedir => "true"; -} - - -@end verbatim - -@node body depth_search recurse -@section body depth_search recurse(d) - -@verbatim -body depth_search recurse(d) - -{ -depth => "$(d)"; -xdev => "true"; -} - - -@end verbatim - -@node body depth_search recurse_ignore -@section body depth_search recurse_ignore(d,list) - -@verbatim -body depth_search recurse_ignore(d,list) -{ -depth => "$(d)"; -exclude_dirs => { @(list) }; -} - - -@end verbatim - -@node body edit_defaults backup_timestamp -@section body edit_defaults backup_timestamp - -@verbatim -body edit_defaults backup_timestamp -{ -empty_file_before_editing => "false"; -edit_backup => "timestamp"; -#max_file_size => "300000"; -} - - -@end verbatim - -@node body edit_defaults empty -@section body edit_defaults empty - -@verbatim -body edit_defaults empty -{ -empty_file_before_editing => "true"; -edit_backup => "false"; -#max_file_size => "300000"; -} - - -@end verbatim - -@node body edit_defaults no_backup -@section body edit_defaults no_backup - -@verbatim -body edit_defaults no_backup -{ -edit_backup => "false"; -} - - -@end verbatim - -@node body edit_defaults std_defs -@section body edit_defaults std_defs - -@verbatim -body edit_defaults std_defs -{ -empty_file_before_editing => "false"; -edit_backup => "false"; -#max_file_size => "300000"; -} - - -@end verbatim - -@node body edit_field col -@section body edit_field col(split,col,newval,method) - -@verbatim -body edit_field col(split,col,newval,method) -{ -field_separator => "$(split)"; -select_field => "$(col)"; -value_separator => ","; -field_value => "$(newval)"; -field_operation => "$(method)"; -extend_fields => "true"; -allow_blank_fields => "true"; -} - - -@end verbatim - -@node body edit_field line -@section body edit_field line(split,col,newval,method) - -@verbatim -body edit_field line(split,col,newval,method) -{ -field_separator => "$(split)"; -select_field => "$(col)"; -value_separator => " "; -field_value => "$(newval)"; -field_operation => "$(method)"; -extend_fields => "true"; -allow_blank_fields => "true"; -} - - -@end verbatim - -@node body edit_field quoted_var -@section body edit_field quoted_var(newval,method) - -@verbatim -body edit_field quoted_var(newval,method) -{ -field_separator => "\""; -select_field => "2"; -value_separator => " "; -field_value => "$(newval)"; -field_operation => "$(method)"; -extend_fields => "false"; -allow_blank_fields => "true"; -} - - -@end verbatim - -@node body environment_resources kvm -@section body environment_resources kvm(name, arch, cpu_count, mem_kb, disk_file) - -@verbatim -body environment_resources kvm(name, arch, cpu_count, mem_kb, disk_file) -{ -env_spec => -" - $(name) - $(mem_kb) - $(mem_kb) - $(cpu_count) - - hvm - - - - - - - destroy - restart - restart - - /usr/bin/kvm - - - - - - - - - - -"; -} - - - -@end verbatim - -@node body file_select all -@section body file_select all - -@verbatim -body file_select all -{ -leaf_name => { ".*" }; -file_result => "leaf_name"; -} - - -@end verbatim - -@node body file_select by_name -@section body file_select by_name(names) - -@verbatim -body file_select by_name(names) -{ -leaf_name => { @(names)}; -file_result => "leaf_name"; -} - - -@end verbatim - -@node body file_select days_old -@section body file_select days_old(days) - -@verbatim -body file_select days_old(days) -{ -mtime => irange(0,ago(0,0,"$(days)",0,0,0)); -file_result => "mtime"; -} - - -@end verbatim - -@node body file_select dirs -@section body file_select dirs - -@verbatim -body file_select dirs -{ -file_types => { "dir" }; -file_result => "file_types"; -} - - -@end verbatim - -@node body file_select ex_list -@section body file_select ex_list(names) - -@verbatim -body file_select ex_list(names) -{ -leaf_name => { @(names)}; -file_result => "!leaf_name"; -} - - -@end verbatim - -@node body file_select exclude -@section body file_select exclude(name) - -@verbatim -body file_select exclude(name) -{ -leaf_name => { "$(name)"}; -file_result => "!leaf_name"; -} - - -@end verbatim - -@node body file_select name_age -@section body file_select name_age(name,days) - -@verbatim -body file_select name_age(name,days) -{ -leaf_name => { "$(name)" }; -mtime => irange(0,ago(0,0,"$(days)",0,0,0)); -file_result => "mtime.leaf_name"; -} - - -@end verbatim - -@node body file_select plain -@section body file_select plain - -@verbatim -body file_select plain -{ -file_types => { "plain" }; -file_result => "file_types"; -} - -@end verbatim - -@node body file_select size_range -@section body file_select size_range(from,to) - -@verbatim -body file_select size_range(from,to) -{ -search_size => irange("$(from)","$(to)"); -file_result => "size"; -} - - -@end verbatim - -@node body link_from linkchildren -@section body link_from linkchildren(tofile) - -@verbatim -body link_from linkchildren(tofile) -{ -source => "$(tofile)"; -link_type => "symlink"; -when_no_source => "force"; -link_children => "true"; -when_linking_children => "if_no_such_file"; # "override_file"; -} - - -@end verbatim - -@node body link_from ln_s -@section body link_from ln_s(x) - -@verbatim -body link_from ln_s(x) -{ -link_type => "symlink"; -source => "$(x)"; -when_no_source => "force"; -} - - -@end verbatim - -@node body location after -@section body location after(str) - -@verbatim -body location after(str) -{ -before_after => "after"; -select_line_matching => "$(str)"; -} - - -@end verbatim - -@node body location before -@section body location before(str) - -@verbatim -body location before(str) -{ -before_after => "before"; -select_line_matching => "$(str)"; -} - - - - -@end verbatim - -@node body location start -@section body location start - -@verbatim -body location start -{ -before_after => "before"; -} - - -@end verbatim - -@node body match_value line_match_value -@section body match_value line_match_value(line_match, extract_regex) - -@verbatim -body match_value line_match_value(line_match, extract_regex) -{ -select_line_matching => "$(line_match)"; -extraction_regex => "$(extract_regex)"; -} - - -@end verbatim - -@node body match_value scan_changing_file -@section body match_value scan_changing_file(line) - -@verbatim -body match_value scan_changing_file(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "false"; -} - - -@end verbatim - -@node body match_value scan_log -@section body match_value scan_log(line) - -@verbatim -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - - -@end verbatim - -@node body match_value single_value -@section body match_value single_value(regex) - -@verbatim -body match_value single_value(regex) -{ -select_line_matching => "$(regex)"; -extraction_regex => "($(regex))"; -} - - -@end verbatim - -@node body mount nfs -@section body mount nfs(server,source) - -@verbatim -body mount nfs(server,source) -{ -mount_type => "nfs"; -mount_source => "$(source)"; -mount_server => "$(server)"; -edit_fstab => "true"; -} - - - -@end verbatim - -@node body mount nfs_p -@section body mount nfs_p(server,source,perm) - -@verbatim -body mount nfs_p(server,source,perm) -{ -mount_type => "nfs"; -mount_source => "$(source)"; -mount_server => "$(server)"; -mount_options => {"$(perm)"}; -edit_fstab => "true"; -} - - -@end verbatim - -@node body mount unmount -@section body mount unmount - -@verbatim -body mount unmount -{ -mount_type => "nfs"; -edit_fstab => "true"; -unmount => "true"; -} - - -@end verbatim - -@node body package_method apt -@section body package_method apt - -@verbatim -body package_method apt -{ -package_changes => "bulk"; -package_list_command => "/usr/bin/dpkg -l"; -package_list_name_regex => ".i\s+([^\s]+).*"; -package_list_version_regex => ".i\s+[^\s]+\s+([^\s]+).*"; -package_installed_regex => ".i.*"; # packages that have been uninstalled may be listed -package_name_convention => "$(name)"; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_ifelapsed => "240"; - -have_aptitude:: - package_add_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_list_update_command => "/usr/bin/aptitude update"; - package_delete_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes -q remove"; - package_update_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_patch_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_verify_command => "/usr/bin/aptitude show"; - package_noverify_regex => "(State: not installed|E: Unable to locate package .*)"; - - package_patch_list_command => "/usr/bin/aptitude --assume-yes --simulate --verbose full-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; - -!have_aptitude:: - package_add_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_list_update_command => "/usr/bin/apt-get update"; - package_delete_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes -q remove"; - package_update_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_patch_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_verify_command => "/usr/bin/dpkg -s"; - package_noverify_returncode => "1"; - - package_patch_list_command => "/usr/bin/apt-get --just-print dist-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; - -} - - -@end verbatim - -@node body package_method dpkg_version -@section body package_method dpkg_version(repo) - -@verbatim -body package_method dpkg_version(repo) -{ -package_changes => "individual"; -package_list_command => "/usr/bin/dpkg -l"; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_command => "/usr/bin/apt-get update"; -package_list_update_ifelapsed => "240"; - -package_list_name_regex => ".i\s+([^\s]+).*"; -package_list_version_regex => ".i\s+[^\s]+\s+([^\s]+).*"; - -package_installed_regex => ".i.*"; # packages that have been uninstalled may be listed - -package_file_repositories => { "$(repo)" }; - -debian.x86_64:: - package_name_convention => "$(name)_$(version)_amd64.deb"; - -debian.i686:: - package_name_convention => "$(name)_$(version)_i386.deb"; - -have_aptitude:: - package_patch_list_command => "/usr/bin/aptitude --assume-yes --simulate --verbose full-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; -!have_aptitude:: - package_patch_list_command => "/usr/bin/apt-get --just-print dist-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; - -debian:: - package_add_command => "/usr/bin/dpkg --install"; - package_delete_command => "/usr/bin/dpkg --purge"; - package_update_command => "/usr/bin/dpkg --install"; - package_patch_command => "/usr/bin/dpkg --install"; -} - - -@end verbatim - -@node body package_method emerge -@section body package_method emerge - -@verbatim -body package_method emerge -{ - package_changes => "individual"; - package_list_command => "/bin/sh -c '/bin/ls -d /var/db/pkg/*/* | cut -c 13-'"; - package_list_name_regex => ".*/([^\s]+)-\d.*"; - package_list_version_regex => ".*/[^\s]+-(\d.*)"; - package_installed_regex => ".*"; # all reported are installed - package_name_convention => "$(name)"; - package_list_update_command => "/bin/true"; # I prefer manual syncing - #package_list_update_command => "/usr/bin/emerge --sync"; # if you like automatic - package_list_update_ifelapsed => "240"; # should happen every 4 hours - - package_add_command => "/usr/bin/emerge -q --quiet-build"; - package_delete_command => "/usr/bin/emerge --depclean"; - package_update_command => "/usr/bin/emerge --update"; - package_patch_command => "/usr/bin/emerge --update"; - package_verify_command => "/usr/bin/emerge -s"; - package_noverify_regex => ".*(Not Installed|Applications found : 0).*"; -} - - -@end verbatim - -@node body package_method freebsd -@section body package_method freebsd - -@verbatim -body package_method freebsd -{ - package_changes => "individual"; - - # Could use rpm for this - package_list_command => "/usr/sbin/pkg_info"; - - # Remember to escape special characters like | - - package_list_name_regex => "([^\s]+)-.*"; - package_list_version_regex => "[^\s]+-([^\s]+).*"; - - package_name_regex => "([^\s]+)-.*"; - package_version_regex => "[^\s]+-([^\s]+).*"; - - package_installed_regex => ".*"; - - package_name_convention => "$(name)-$(version)"; - - - package_add_command => "/usr/sbin/pkg_add -r"; - package_delete_command => "/usr/sbin/pkg_delete"; -} - - -@end verbatim - -@node body package_method generic -@section body package_method generic - -@verbatim -body package_method generic -{ -SuSE:: - package_changes => "bulk"; - package_list_command => "/bin/rpm -qa --queryformat \"i | repos | %{name} | %{version}-%{release} | %{arch}\n\""; - # set it to "0" to avoid caching of list during upgrade - package_list_update_command => "/usr/bin/zypper list-updates"; - package_list_update_ifelapsed => "0"; - package_patch_list_command => "/usr/bin/zypper patches"; - package_installed_regex => "i.*"; - package_list_name_regex => "[^|]+\|[^|]+\|\s+([^\s]+).*"; - package_list_version_regex => "[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; - package_list_arch_regex => "[^|]+\|[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; - package_patch_installed_regex => ".*Installed.*|.*Not Applicable.*"; - package_patch_name_regex => "[^|]+\|\s+([^\s]+).*"; - package_patch_version_regex => "[^|]+\|[^|]+\|\s+([^\s]+).*"; - package_name_convention => "$(name)"; - package_add_command => "/usr/bin/zypper --non-interactive install"; - package_delete_command => "/usr/bin/zypper --non-interactive remove --force-resolution"; - package_update_command => "/usr/bin/zypper --non-interactive update"; - package_patch_command => "/usr/bin/zypper --non-interactive patch$"; # $ means no args - package_verify_command => "/usr/bin/zypper --non-interactive verify$"; - -redhat:: - package_changes => "bulk"; - package_list_command => "/bin/rpm -qa --qf '%{name} %{version}-%{release} %{arch}\n'"; - package_patch_list_command => "/usr/bin/yum --quiet check-update"; - package_list_name_regex => "^(\S+?)\s\S+?\s\S+$"; - package_list_version_regex => "^\S+?\s(\S+?)\s\S+$"; - package_list_arch_regex => "^\S+?\s\S+?\s(\S+)$"; - package_installed_regex => ".*"; - package_name_convention => "$(name)"; - package_list_update_command => "/usr/bin/yum --quiet check-update"; - package_list_update_ifelapsed => "0"; # sometimes, caching is pretty disturbing - package_patch_installed_regex => "^\s.*"; - package_patch_name_regex => "([^.]+).*"; - package_patch_version_regex => "[^\s]\s+([^\s]+).*"; - package_patch_arch_regex => "[^.]+\.([^\s]+).*"; - package_add_command => "/usr/bin/yum -y install"; - package_update_command => "/usr/bin/yum -y update"; - package_patch_command => "/usr/bin/yum -y update"; - package_delete_command => "/bin/rpm -e --nodeps --allmatches"; - package_verify_command => "/bin/rpm -V"; - -# package_changes => "bulk"; -# package_list_command => "/usr/bin/yum list installed"; -# package_patch_list_command => "/usr/bin/yum check-update"; -# package_list_name_regex => "([^.]+).*"; -# package_list_version_regex => "[^\s]\s+([^\s]+).*"; -# package_list_arch_regex => "[^.]+\.([^\s]+).*"; -# package_installed_regex => ".*(installed|\s+@).*"; -# package_name_convention => "$(name).$(arch)"; -# package_list_update_ifelapsed => "240"; -# package_patch_installed_regex => "^\s.*"; -# package_patch_name_regex => "([^.]+).*"; -# package_patch_version_regex => "[^\s]\s+([^\s]+).*"; -# package_patch_arch_regex => "[^.]+\.([^\s]+).*"; -# package_add_command => "/usr/bin/yum -y install"; -# package_delete_command => "/bin/rpm -e --nodeps"; -# package_verify_command => "/bin/rpm -V"; - -debian:: - package_changes => "bulk"; - package_list_command => "/usr/bin/dpkg -l"; - package_list_name_regex => ".i\s+([^\s]+).*"; - package_list_version_regex => ".i\s+[^\s]+\s+([^\s]+).*"; - package_installed_regex => ".i.*"; # packages that have been uninstalled may be listed - package_name_convention => "$(name)"; - package_list_update_ifelapsed => "240"; # 4 hours - -debian.have_aptitude:: - package_add_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_list_update_command => "/usr/bin/aptitude update"; - package_delete_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes remove"; - package_update_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_patch_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/aptitude -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --assume-yes install"; - package_verify_command => "/usr/bin/aptitude show"; - package_noverify_regex => "(State: not installed|E: Unable to locate package .*)"; - - package_patch_list_command => "/usr/bin/aptitude --assume-yes --simulate --verbose full-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; - -debian.!have_aptitude:: - package_add_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_list_update_command => "/usr/bin/apt-get update"; - package_delete_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes remove"; - package_update_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_patch_command => "/usr/bin/env DEBIAN_FRONTEND=noninteractive LC_ALL=C /usr/bin/apt-get -o Dpkg::Options::=--force-confold -o Dpkg::Options::=--force-confdef --yes install"; - package_verify_command => "/usr/bin/dpkg -s"; - package_noverify_returncode => "1"; - - package_patch_list_command => "/usr/bin/apt-get --just-print dist-upgrade"; - package_patch_name_regex => "^Inst\s+(\S+)\s+.*"; - package_patch_version_regex => "^Inst\s+\S+\s+\[?\(?([^\],\s]+).*"; - -freebsd:: - package_changes => "individual"; - package_list_command => "/usr/sbin/pkg_info"; - package_list_name_regex => "([^\s]+)-.*"; - package_list_version_regex => "[^\s]+-([^\s]+).*"; - package_name_regex => "([^\s]+)-.*"; - package_version_regex => "[^\s]+-([^\s]+).*"; - package_installed_regex => ".*"; - package_name_convention => "$(name)-$(version)"; - package_add_command => "/usr/sbin/pkg_add -r"; - package_delete_command => "/usr/sbin/pkg_delete"; - -alpinelinux:: - package_changes => "individual"; - package_list_command => "/sbin/apk info -v"; - package_list_name_regex => "([^\s]+)-.*"; - package_list_version_regex => "[^\s]+-([^\s]+).*"; - package_name_regex => "([^\s]+)-.*"; - package_version_regex => "[^\s]+-([^\s]+).*"; - package_installed_regex => ".*"; - package_name_convention => "$(name)-$(version)"; - package_add_command => "/sbin/apk add"; - package_delete_command => "/sbin/apk del"; - -gentoo:: - package_changes => "individual"; - package_list_command => "/bin/sh -c '/bin/ls -d /var/db/pkg/*/* | cut -c 13-'"; - package_list_name_regex => ".*/([^\s]+)-\d.*"; - package_list_version_regex => ".*/[^\s]+-(\d.*)"; - package_installed_regex => ".*"; # all reported are installed - package_name_convention => "$(name)"; - package_list_update_command => "/bin/true"; # I prefer manual syncing - #package_list_update_command => "/usr/bin/emerge --sync"; # if you like automatic - package_list_update_ifelapsed => "240"; # should happen every 4 hours - - package_add_command => "/usr/bin/emerge -q --quiet-build"; - package_delete_command => "/usr/bin/emerge --depclean"; - package_update_command => "/usr/bin/emerge --update"; - package_patch_command => "/usr/bin/emerge --update"; - package_verify_command => "/usr/bin/emerge -s"; - package_noverify_regex => ".*(Not Installed|Applications found : 0).*"; - -archlinux:: - package_changes => "bulk"; - package_list_command => "/usr/bin/pacman -Q"; - package_list_name_regex => "(.*)\s+.*"; - package_list_version_regex => ".*\s+(.*)"; - package_installed_regex => ".*"; - package_name_convention => "$(name)"; - package_list_update_ifelapsed => "240"; - package_add_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed"; - package_delete_command => "/usr/bin/pacman -Rs --noconfirm"; - package_update_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed"; -} - - - -@end verbatim - -@node body package_method ips -@section body package_method ips - -@verbatim -body package_method ips -{ - package_changes => "bulk"; - package_list_command => "/usr/bin/pkg list -v --no-refresh"; - package_list_name_regex => "pkg://.+?/([^\s]+)@.*$"; - package_list_version_regex => "[^\s]+@([^\s]+).*"; - package_installed_regex => ".*(i..)"; # all reported are installed - - # set it to "0" to avoid caching of list during upgrade - package_list_update_command => "/bin/true"; # Fixme later - package_list_update_ifelapsed => "240"; - - package_add_command => "/usr/bin/pkg install --accept "; - package_list_update_command => "/usr/bin/pkg refresh --full"; - package_delete_command => "/usr/bin/pkg uninstall"; - package_update_command => "/usr/bin/pkg install --accept"; - package_patch_command => "/usr/bin/pkg install --accept"; - package_verify_command => "/usr/bin/pkg list -a -v --no-refresh"; - package_noverify_regex => "(.*---|pkg list: no packages matching .* installed)"; -} - - -# SmartOS (solaris 10 fork by Joyent) uses pkgin - -@end verbatim - -@node body package_method msi_explicit -@section body package_method msi_explicit(repo) - -@verbatim -body package_method msi_explicit(repo) -# use software name as promiser, e.g. "7-Zip", and explicitly -# specify any package_version and package_arch -{ -package_changes => "individual"; -package_file_repositories => { "$(repo)" }; - -package_installed_regex => ".*"; - -package_name_convention => "$(name)-$(version)-$(arch).msi"; -package_delete_convention => "$(firstrepo)$(name)-$(version)-$(arch).msi"; - -package_add_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /i"; -package_update_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /i"; -package_delete_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /x"; -} - - -@end verbatim - -@node body package_method msi_implicit -@section body package_method msi_implicit(repo) - -@verbatim -body package_method msi_implicit(repo) -# Use whole file name as promiser, e.g. "7-Zip-4.50-x86_64.msi", -# the name, version and arch is then deduced from the promiser -{ -package_changes => "individual"; -package_file_repositories => { "$(repo)" }; - -package_installed_regex => ".*"; - -package_name_convention => "$(name)-$(version)-$(arch).msi"; -package_delete_convention => "$(firstrepo)$(name)-$(version)-$(arch).msi"; - -package_name_regex => "^(\S+)-(\d+\.?)+"; -package_version_regex => "^\S+-((\d+\.?)+)"; -package_arch_regex => "^\S+-[\d\.]+-(.*).msi"; - -package_add_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /i"; -package_update_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /i"; -package_delete_command => "\"$(sys.winsysdir)\msiexec.exe\" /qn /x"; -} - - -@end verbatim - -@node body package_method pacman -@section body package_method pacman - -@verbatim -body package_method pacman - -{ -package_changes => "bulk"; - -package_list_command => "/usr/bin/pacman -Q"; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_ifelapsed => "240"; - -package_list_name_regex => "(.*)\s+.*"; -package_list_version_regex => ".*\s+(.*)"; -package_installed_regex => ".*"; - -package_name_convention => "$(name)"; -package_add_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed"; -package_delete_command => "/usr/bin/pacman -Rs --noconfirm"; -package_update_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed"; -} - - - # Single bundle for all the similar managers simplifies promises - -@end verbatim - -@node body package_method rpm_filebased -@section body package_method rpm_filebased(path) - -@verbatim -body package_method rpm_filebased(path) - -# Contributed by Aleksey Tsalolikhin. Written on 29-Feb-2012. -# Based on yum_rpm body in COPBL by Trond Hasle Amundsen. -# Purpose: install packages from local filesystem-based package repository. -# Note: Specify the path to the local package repository in the argument. - -# Example of how to use it: -# -# {{{ -# packages: -# "epel-release" -# package_policy => "add", -# package_version => "5-4", -# package_architectures => { "noarch" }, -# package_method => rpm_filebased("/repo/RPMs"); -# }}} - -{ - package_file_repositories => { "$(path)" }; - # the above is an addition to Trond's yum_rpm body - - package_add_command => "/bin/rpm -ihv "; - # The above is a change from Trond's yum_rpm body, this makes the commands rpm only. - # The reason I changed the install command from yum to rpm is yum will be default - # refuse to install the epel-release RPM as it does not have the EPEL GPG key, - # but rpm goes ahead and installs the epel-release RPM and the EPEL GPG key. - - package_name_convention => "$(name)-$(version).$(arch).rpm"; - # The above is a change from Tron's yum_rpm body. When package_file_repositories is in play, - # package_name_convention has to match the file name, not the package name, per the - # CFEngine 3 Reference Manual - - # set it to "0" to avoid caching of list during upgrade - package_list_update_command => "/usr/bin/yum --quiet check-update"; - package_list_update_ifelapsed => "240"; - - # The rest is unchanged from Trond's yum_rpm body - package_changes => "bulk"; - package_list_command => "/bin/rpm -qa --qf '%{name} %{version}-%{release} %{arch}\n'"; - - package_list_name_regex => "^(\S+?)\s\S+?\s\S+$"; - package_list_version_regex => "^\S+?\s(\S+?)\s\S+$"; - package_list_arch_regex => "^\S+?\s\S+?\s(\S+)$"; - - package_installed_regex => ".*"; - - - package_delete_command => "/bin/rpm -e --allmatches"; - package_verify_command => "/bin/rpm -V"; -} - - -# OpenSolaris based systems (Solaris 11, Illumos, etc) use the much better -# Image Package System. - -@end verbatim - -@node body package_method rpm_version -@section body package_method rpm_version(repo) - -@verbatim -body package_method rpm_version(repo) -{ -package_changes => "individual"; - -package_list_command => "/bin/rpm -qa --queryformat \"i | repos | %{name} | %{version}-%{release} | %{arch}\n\""; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_command => "/usr/bin/yum --quiet check-update"; -package_list_update_ifelapsed => "240"; - -package_list_name_regex => "[^|]+\|[^|]+\|\s+([^\s|]+).*"; -package_list_version_regex => "[^|]+\|[^|]+\|[^|]+\|\s+([^\s|]+).*"; -package_list_arch_regex => "[^|]+\|[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; - -package_installed_regex => "i.*"; - -package_file_repositories => { "$(repo)" }; - -package_name_convention => "$(name)-$(version).$(arch).rpm"; - -package_add_command => "/bin/rpm -ivh "; -package_update_command => "/bin/rpm -Uvh "; -package_patch_command => "/bin/rpm -Uvh "; -package_delete_command => "/bin/rpm -e --nodeps"; -package_noverify_regex => ".*[^\s].*"; -} - - -@end verbatim - -@node body package_method smartos -@section body package_method smartos - -@verbatim -body package_method smartos -{ - package_changes => "bulk"; - package_list_command => "/opt/local/bin/pkgin list"; - package_list_name_regex => "(.*)\-[0-9]+.*"; - package_list_version_regex => ".*\-([0-9][^\s]+).*"; - - package_installed_regex => ".*"; # all reported are installed - - package_list_update_command => "/opt/local/bin/pkgin -y update"; - package_list_update_ifelapsed => "240"; - - package_add_command => "/opt/local/bin/pkgin -y install"; - - package_delete_command => "/opt/local/bin/pkgin -y remove"; - package_update_command => "/opt/local/bin/pkgin upgrade"; -} - - -# The older solaris package system is poorly designed, with too many different -# names to track. See the example in tests/units/unit_package_solaris.cf -# to see how to use this - -@end verbatim - -@node body package_method solaris -@section body package_method solaris (pkgname, spoolfile, adminfile) - -@verbatim -body package_method solaris (pkgname, spoolfile, adminfile) -{ -package_changes => "individual"; -package_list_command => "/usr/bin/pkginfo -l"; -package_multiline_start => "\s*PKGINST:\s+[^\s]+.*"; -package_list_name_regex => "\s*PKGINST:\s+([^\s]+).*"; -package_list_version_regex => "\s*VERSION:\s+([^\s]+).*"; -package_list_arch_regex => "\s*ARCH:\s+([^\s]+)"; -package_installed_regex => "\s*STATUS:\s*(completely|partially)\s+installed.*"; -package_name_convention => "$(name)"; -package_add_command => "/usr/sbin/pkgadd -n -a /tmp/$(adminfile) -d /tmp/$(spoolfile)"; -package_delete_command => "/usr/sbin/pkgrm -n -a /tmp/$(adminfile)"; -} - - -# -# The following bundle is part of a package setup for solaris, see unit examples -# - -@end verbatim - -@node body package_method windows_feature -@section body package_method windows_feature - -@verbatim -body package_method windows_feature -{ -package_changes => "individual"; - -package_name_convention => "$(name)"; -package_delete_convention => "$(name)"; - -package_installed_regex => ".*"; -package_list_name_regex => "(.*)"; -package_list_version_regex => "(.*)"; # FIXME: the listing does not give version, so takes name for version too now - -package_add_command => "$(sys.winsysdir)\\WindowsPowerShell\\v1.0\\powershell.exe -Command \"Import-Module ServerManager; Add-WindowsFeature -Name\""; -package_delete_command => "$(sys.winsysdir)\\WindowsPowerShell\\v1.0\\powershell.exe -Command \"Import-Module ServerManager; Remove-WindowsFeature -confirm:$false -Name\""; -package_list_command => "$(sys.winsysdir)\\WindowsPowerShell\\v1.0\\powershell.exe -Command \"Import-Module ServerManager; Get-WindowsFeature | where {$_.installed -eq $True} |foreach {$_.Name}\""; -} - - -@end verbatim - -@node body package_method yum -@section body package_method yum - -@verbatim -body package_method yum -{ -package_changes => "bulk"; -package_list_command => "/usr/bin/yum --quiet list installed"; -package_patch_list_command => "/usr/bin/yum --quiet check-update"; - -# Remember to escape special characters like | - -package_list_name_regex => "([^.]+).*"; -package_list_version_regex => "[^\s]\s+([^\s]+).*"; -package_list_arch_regex => "[^.]+\.([^\s]+).*"; - -package_installed_regex => ".*(installed|\s+@).*"; -package_name_convention => "$(name).$(arch)"; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_command => "/usr/bin/yum --quiet check-update"; -package_list_update_ifelapsed => "240"; - -package_patch_installed_regex => "^\s.*"; -package_patch_name_regex => "([^.]+).*"; -package_patch_version_regex => "[^\s]\s+([^\s]+).*"; -package_patch_arch_regex => "[^.]+\.([^\s]+).*"; - -package_add_command => "/usr/bin/yum -y install"; -package_update_command => "/usr/bin/yum -y update"; -package_patch_command => "/usr/bin/yum -y update"; -package_delete_command => "/bin/rpm -e --nodeps"; -package_verify_command => "/bin/rpm -V"; -} - - -@end verbatim - -@node body package_method yum_rpm -@section body package_method yum_rpm - -@verbatim -body package_method yum_rpm - -# Contributed by Trond Hasle Amundsen - -# More efficient package method for RedHat - uses rpm to list instead of yum -# Notes: -# - using $(name).$(arch) instead of $(name) for package_name_convention -# causes uninstallation to fail. -# - using allmatches to remove for all architectures -# - -{ - package_changes => "bulk"; - package_list_command => "/bin/rpm -qa --qf '%{name} %{version}-%{release} %{arch}\n'"; - package_patch_list_command => "/usr/bin/yum --quiet check-update"; - - package_list_name_regex => "^(\S+?)\s\S+?\s\S+$"; - package_list_version_regex => "^\S+?\s(\S+?)\s\S+$"; - package_list_arch_regex => "^\S+?\s\S+?\s(\S+)$"; - - package_installed_regex => ".*"; - package_name_convention => "$(name)"; - - # set it to "0" to avoid caching of list during upgrade - package_list_update_command => "/usr/bin/yum --quiet check-update"; - package_list_update_ifelapsed => "240"; - - package_patch_installed_regex => "^\s.*"; - package_patch_name_regex => "([^.]+).*"; - package_patch_version_regex => "[^\s]\s+([^\s]+).*"; - package_patch_arch_regex => "[^.]+\.([^\s]+).*"; - - package_add_command => "/usr/bin/yum -y install"; - package_update_command => "/usr/bin/yum -y update"; - package_patch_command => "/usr/bin/yum -y update"; - package_delete_command => "/bin/rpm -e --nodeps --allmatches"; - package_verify_command => "/bin/rpm -V"; -} - - -@end verbatim - -@node body package_method zypper -@section body package_method zypper - -@verbatim -body package_method zypper - -{ -package_changes => "bulk"; - -package_list_command => "/bin/rpm -qa --queryformat \"i | repos | %{name} | %{version}-%{release} | %{arch}\n\""; - -# set it to "0" to avoid caching of list during upgrade -package_list_update_command => "/usr/bin/zypper list-updates"; -package_list_update_ifelapsed => "240"; - -package_patch_list_command => "/usr/bin/zypper patches"; -package_installed_regex => "i.*"; -package_list_name_regex => "[^|]+\|[^|]+\|\s+([^\s]+).*"; -package_list_version_regex => "[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; -package_list_arch_regex => "[^|]+\|[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; - -package_patch_installed_regex => ".*Installed.*|.*Not Applicable.*"; -package_patch_name_regex => "[^|]+\|\s+([^\s]+).*"; -package_patch_version_regex => "[^|]+\|[^|]+\|\s+([^\s]+).*"; - -package_name_convention => "$(name)"; -package_add_command => "/usr/bin/zypper --non-interactive install"; -package_delete_command => "/usr/bin/zypper --non-interactive remove --force-resolution"; -package_update_command => "/usr/bin/zypper --non-interactive update"; -package_patch_command => "/usr/bin/zypper --non-interactive patch$"; # $ means no args -package_verify_command => "/usr/bin/zypper --non-interactive verify$"; -} - - -@end verbatim - -@node body perms m -@section body perms m(mode) - -@verbatim -body perms m(mode) -{ -mode => "$(mode)"; -} - - -@end verbatim - -@node body perms mo -@section body perms mo(mode,user) - -@verbatim -body perms mo(mode,user) -{ -owners => { "$(user)" }; -mode => "$(mode)"; -} - - -@end verbatim - -@node body perms mog -@section body perms mog(mode,user,group) - -@verbatim -body perms mog(mode,user,group) -{ -owners => { "$(user)" }; -groups => { "$(group)" }; -mode => "$(mode)"; -} - - -@end verbatim - -@node body perms og -@section body perms og(u,g) - -@verbatim -body perms og(u,g) -{ -owners => { "$(u)" }; -groups => { "$(g)" }; -} - - -@end verbatim - -@node body perms owner -@section body perms owner(user) - -@verbatim -body perms owner(user) -{ -owners => { "$(user)" }; -} - - -@end verbatim - -@node body process_count any_count -@section body process_count any_count(cl) - -@verbatim -body process_count any_count(cl) - -{ -match_range => "0,0"; -out_of_range_define => { "$(cl)" }; -} - - -@end verbatim - -@node body process_count check_range -@section body process_count check_range(name,lower,upper) - -@verbatim -body process_count check_range(name,lower,upper) -{ -match_range => irange("$(lower)","$(upper)"); -out_of_range_define => { "$(name)_out_of_range" }; -} - - -@end verbatim - -@node body process_select days_older_than -@section body process_select days_older_than(d) - -@verbatim -body process_select days_older_than(d) -{ -stime_range => irange(ago(0,0,"$(d)",0,0,0),now); -process_result => "stime"; -} - - -@end verbatim - -@node body process_select exclude_procs -@section body process_select exclude_procs(x) - -@verbatim -body process_select exclude_procs(x) -{ -command => "$(x)"; -process_result => "!command"; -} - - -@end verbatim - -@node body rename disable -@section body rename disable - -@verbatim -body rename disable -{ -disable => "true"; -} - - -@end verbatim - -@node body rename rotate -@section body rename rotate(level) - -@verbatim -body rename rotate(level) -{ -rotate => "$(level)"; -} - - -@end verbatim - -@node body rename to -@section body rename to(file) - -@verbatim -body rename to(file) -{ -newname => "$(file)"; -} - - -@end verbatim - -@node body replace_with comment -@section body replace_with comment(c) - -@verbatim -body replace_with comment(c) -{ -replace_value => "$(c) $(match.1)"; -occurrences => "all"; -} - - -@end verbatim - -@node body replace_with uncomment -@section body replace_with uncomment - -@verbatim -body replace_with uncomment -{ -replace_value => "$(match.1)"; -occurrences => "all"; -} - - - -@end verbatim - -@node body replace_with value -@section body replace_with value(x) - -@verbatim -body replace_with value(x) -{ -replace_value => "$(x)"; -occurrences => "all"; -} - - -@end verbatim - -@node body select_region INI_section -@section body select_region INI_section(x) - -@verbatim -body select_region INI_section(x) -{ -select_start => "\[$(x)\]\s*"; -select_end => "\[.*\]\s*"; -} - - -@end verbatim - -@node body service_method bootstart -@section body service_method bootstart - -@verbatim -body service_method bootstart -{ - service_autostart_policy => "boot_time"; - service_dependence_chain => "start_parent_services"; -windows:: - service_type => "windows"; -} - - -@end verbatim - -@node body service_method force_deps -@section body service_method force_deps - -@verbatim -body service_method force_deps -{ - service_dependence_chain => "all_related"; -windows:: - service_type => "windows"; -} - - -@end verbatim - -@node body volume min_free_space -@section body volume min_free_space(free) - -@verbatim -body volume min_free_space(free) -{ -check_foreign => "false"; -freespace => "$(free)"; -sensible_size => "10000"; -sensible_count => "2"; -} - - -@end verbatim - -@node bundle agent cronjob -@section bundle agent cronjob(commands,user,hours,mins) - -@verbatim -bundle agent cronjob(commands,user,hours,mins) - - # For adding lines to crontab for a user - # methods: - # "cron" usebundle => cronjob("/bin/ls","mark","*","5,10"); - -{ -vars: - SuSE:: - "crontab" string => "/var/spool/cron/tabs"; - redhat|fedora:: - "crontab" string => "/var/spool/cron"; - !(SuSE|redhat|fedora):: - "crontab" string => "/var/spool/cron/crontabs"; - -files: - -!windows:: - "$(crontab)/$(user)" - - comment => "A user's regular batch jobs are added to this file", - create => "true", - edit_line => append_if_no_line("$(mins) $(hours) * * * $(commands)"), - perms => mo("644","$(user)"), - classes => if_repaired("changed_crontab"); - -processes: - -changed_crontab:: - "cron" - comment => "Most crons need to be huped after file changes", - signals => { "hup" }; - -} - - - - -@end verbatim - -@node bundle agent standard_services -@section bundle agent standard_services(service,state) - -@verbatim -bundle agent standard_services(service,state) -{ - # DATA, - -vars: - - any:: - - "stakeholders[cfengine3]" slist => { "cfengine_in" }; - "stakeholders[acpid]" slist => { "cpu", "cpu0", "cpu1", "cpu2", "cpu3" }; - "stakeholders[mongod]" slist => { "mongo_in" }; - "stakeholders[postfix]" slist => { "smtp_in" }; - "stakeholders[sendmail]" slist => { "smtp_in" }; - "stakeholders[www]" slist => { "www_in", "wwws_in", "www_alt_in" }; - "stakeholders[ssh]" slist => { "ssh_in" }; - "stakeholders[mysql]" slist => { "mysql_in" }; - "stakeholders[nfs]" slist => { "nfsd_in" }; - "stakeholders[syslog]" slist => { "syslog" }; - "stakeholders[rsyslog]" slist => { "syslog" }; - "stakeholders[tomcat5]" slist => { "www_alt_in" }; - "stakeholders[tomcat6]" slist => { "www_alt_in" }; - - linux:: - - "startcommand[acpid]" string => "/etc/init.d/acpid start"; - "stopcommand[acpid]" string => "/etc/init.d/acpid stop"; - "pattern[acpid]" string => ".*acpid.*"; - - "startcommand[cfengine3]" string => "/etc/init.d/cfengine3 start"; - "stopcommand[cfengine3]" string => "/etc/init.d/cfengine3 stop"; - "pattern[cfengine3]" string => ".*cf-execd.*"; - - "startcommand[fancontrol]" string => "/etc/init.d/fancontrol start"; - "stopcommand[fancontrol]" string => "/etc/init.d/fancontrol stop"; - "pattern[fancontrol]" string => ".*fancontrol.*"; - - "startcommand[hddtemp]" string => "/etc/init.d/hddtemp start"; - "stopcommand[hddtemp]" string => "/etc/init.d/hddtemp stop"; - "pattern[hddtemp]" string => ".*hddtemp.*"; - - "startcommand[irqbalance]" string => "/etc/init.d/irqbalance start"; - "stopcommand[irqbalance]" string => "/etc/init.d/irqbalance stop"; - "pattern[irqbalance]" string => ".*irqbalance.*"; - - "startcommand[lm-sensor]" string => "/etc/init.d/lm-sensor start"; - "stopcommand[lm-sensor]" string => "/etc/init.d/lm-sensor stop"; - "pattern[lm-sensor]" string => ".*psensor.*"; - - "startcommand[mongod]" string => "/etc/init.d/mongod start"; - "stopcommand[mongod]" string => "/etc/init.d/mongod stop"; - "pattern[mongod]" string => ".*mongod.*"; - - "startcommand[openvpn]" string => "/etc/init.d/openvpn start"; - "stopcommand[openvpn]" string => "/etc/init.d/openvpn stop"; - "pattern[openvpn]" string => ".*openvpn.*"; - - "startcommand[postfix]" string => "/etc/init.d/postfix start"; - "stopcommand[postfix]" string => "/etc/init.d/postfix stop"; - "pattern[postfix]" string => ".*postfix.*"; - - "startcommand[rsync]" string => "/etc/init.d/rsync start"; - "stopcommand[rsync]" string => "/etc/init.d/rsync stop"; - "pattern[rsync]" string => ".*rsync.*"; - - "startcommand[rsyslog]" string => "/etc/init.d/rsyslog start"; - "stopcommand[rsyslog]" string => "/etc/init.d/rsyslog stop"; - "pattern[rsyslog]" string => ".*rsyslogd.*"; - - "startcommand[sendmail]" string => "/etc/init.d/sendmail start"; - "stopcommand[sendmail]" string => "/etc/init.d/sendmail stop"; - "pattern[sendmail]" string => ".*sendmail.*"; - - "startcommand[ssh]" string => "/etc/init.d/sshd start"; - "stopcommand[ssh]" string => "/etc/init.d/sshd stop"; - "pattern[ssh]" string => ".*sshd.*"; - - "startcommand[tomcat5]" string => "/etc/init.d/tomcat5 start"; - "stopcommand[tomcat5]" string => "/etc/init.d/tomcat5 stop"; - "pattern[tomcat5]" string => ".*tomcat5.*"; - - "startcommand[tomcat6]" string => "/etc/init.d/tomcat6 start"; - "stopcommand[tomcat6]" string => "/etc/init.d/tomcat6 stop"; - "pattern[tomcat6]" string => ".*tomcat6.*"; - - "startcommand[varnish]" string => "/etc/init.d/varnish start"; - "stopcommand[varnish]" string => "/etc/init.d/varnish stop"; - "pattern[varnish]" string => ".*varnish.*"; - - "startcommand[wpa_supplicant]" string => "/etc/init.d/wpa_supplicant start"; - "stopcommand[wpa_supplicant]" string => "/etc/init.d/wpa_supplicant stop"; - "pattern[wpa_supplicant]" string => ".*wpa_supplicant.*"; - - SuSE|suse:: - - "startcommand[mysql]" string => "/etc/init.d/mysqld start"; - "stopcommand[mysql]" string => "/etc/init.d/mysqld stop"; - "pattern[mysql]" string => ".*mysqld.*"; - - "startcommand[www]" string => "/etc/init.d/apache2 start"; - "stopcommand[www]" string => "/etc/init.d/apache2 stop"; - "pattern[www]" string => ".*apache2.*"; - - - redhat:: - - "startcommand[anacron]" string => "/etc/init.d/anacron start"; - "stopcommand[anacron]" string => "/etc/init.d/anacron stop"; - "pattern[anacron]" string => ".*anacron.*"; - - "startcommand[atd]" string => "/etc/init.d/atd start"; - "stopcommand[atd]" string => "/etc/init.d/atd stop"; - "pattern[atd]" string => ".*sbin/atd.*"; - - "startcommand[auditd]" string => "/etc/init.d/auditd start"; - "stopcommand[auditd]" string => "/etc/init.d/auditd stop"; - "pattern[auditd]" string => ".*auditd.*"; - - "startcommand[autofs]" string => "/etc/init.d/autofs start"; - "stopcommand[autofs]" string => "/etc/init.d/autofs stop"; - "pattern[autofs]" string => ".*automount.*"; - - "startcommand[bluetoothd]" string => "/etc/init.d/bluetooth start"; - "stopcommand[bluetoothd]" string => "/etc/init.d/bluetooth stop"; - "pattern[bluetoothd]" string => ".*hcid.*"; - - "startcommand[capi]" string => "/etc/init.d/capi start"; - "stopcommand[capi]" string => "/etc/init.d/capi stop"; - "pattern[capi]" string => ".*capiinit.*"; - - "startcommand[conman]" string => "/etc/init.d/conman start"; - "stopcommand[conman]" string => "/etc/init.d/conman stop"; - "pattern[conman]" string => ".*conmand.*"; - - "startcommand[cpuspeed]" string => "/etc/init.d/cpuspeed start"; - "stopcommand[cpuspeed]" string => "/etc/init.d/cpuspeed stop"; - "pattern[cpuspeed]" string => ".*cpuspeed.*"; - - "startcommand[crond]" string => "/etc/init.d/crond start"; - "stopcommand[crond]" string => "/etc/init.d/crond stop"; - "pattern[crond]" string => ".*crond.*"; - - "startcommand[dc_client]" string => "/etc/init.d/dc_client start"; - "stopcommand[dc_client]" string => "/etc/init.d/dc_client stop"; - "pattern[dc_client]" string => ".*dc_client.*"; - - "startcommand[dc_server]" string => "/etc/init.d/dc_server start"; - "stopcommand[dc_server]" string => "/etc/init.d/dc_server stop"; - "pattern[dc_server]" string => ".*dc_server.*"; - - "startcommand[dnsmasq]" string => "/etc/init.d/dnsmasq start"; - "stopcommand[dnsmasq]" string => "/etc/init.d/dnsmasq stop"; - "pattern[dnsmasq]" string => ".*dnsmasq.*"; - - "startcommand[dund]" string => "/etc/init.d/dund start"; - "stopcommand[dund]" string => "/etc/init.d/dund stop"; - "pattern[dund]" string => ".*dund.*"; - - "startcommand[gpm]" string => "/etc/init.d/gpm start"; - "stopcommand[gpm]" string => "/etc/init.d/gpm stop"; - "pattern[gpm]" string => ".*gpm.*"; - - "startcommand[haldaemon]" string => "/etc/init.d/haldaemon start"; - "stopcommand[haldaemon]" string => "/etc/init.d/haldaemon stop"; - "pattern[haldaemon]" string => ".*hald.*"; - - "startcommand[hidd]" string => "/etc/init.d/hidd start"; - "stopcommand[hidd]" string => "/etc/init.d/hidd stop"; - "pattern[hidd]" string => ".*hidd.*"; - -# "startcommand[ip6tables]" string => "/etc/init.d/ip6tables start"; -# "stopcommand[ip6tables]" string => "/etc/init.d/ip6tables stop"; -# "pattern[ip6tables]" string => ".*ip6tables.*"; - -# "startcommand[iptables]" string => "/etc/init.d/iptables start"; -# "stopcommand[iptables]" string => "/etc/init.d/iptables stop"; -# "pattern[iptables]" string => ".*iptables.*"; - - "startcommand[irda]" string => "/etc/init.d/irda start"; - "stopcommand[irda]" string => "/etc/init.d/irda stop"; - "pattern[irda]" string => ".*irattach.*"; - - "startcommand[iscsid]" string => "/etc/init.d/iscsid start"; - "stopcommand[iscsid]" string => "/etc/init.d/iscsid stop"; - "pattern[iscsid]" string => ".*iscsid.*"; - - "startcommand[isdn]" string => "/etc/init.d/isdn start"; - "stopcommand[isdn]" string => "/etc/init.d/isdn stop"; - "pattern[isdn]" string => ".*isdnlog.*"; - - "startcommand[lvm2-monitor]" string => "/etc/init.d/lvm2-monitor start"; - "stopcommand[lvm2-monitor]" string => "/etc/init.d/lvm2-monitor stop"; - "pattern[lvm2-monitor]" string => ".*vgchange.*"; - - "startcommand[mcstrans]" string => "/etc/init.d/mcstrans start"; - "stopcommand[mcstrans]" string => "/etc/init.d/mcstrans stop"; - "pattern[mcstrans]" string => ".*mcstransd.*"; - - "startcommand[mdmonitor]" string => "/etc/init.d/mdmonitor start"; - "stopcommand[mdmonitor]" string => "/etc/init.d/mdmonitor stop"; - "pattern[mdmonitor]" string => ".*mdadm.*"; - - "startcommand[mdmpd]" string => "/etc/init.d/mdmpd start"; - "stopcommand[mdmpd]" string => "/etc/init.d/mdmpd stop"; - "pattern[mdmpd]" string => ".*mdmpd.*"; - - "startcommand[messagebus]" string => "/etc/init.d/messagebus start"; - "stopcommand[messagebus]" string => "/etc/init.d/messagebus stop"; - "pattern[messagebus]" string => ".*dbus-daemon.*"; - - "startcommand[microcode_ctl]" string => "/etc/init.d/microcode_ctl start"; - "stopcommand[microcode_ctl]" string => "/etc/init.d/microcode_ctl stop"; - "pattern[microcode_ctl]" string => ".*microcode_ctl.*"; - - "startcommand[multipathd]" string => "/etc/init.d/multipathd start"; - "stopcommand[multipathd]" string => "/etc/init.d/multipathd stop"; - "pattern[multipathd]" string => ".*multipathd.*"; - - "startcommand[mysql]" string => "/etc/init.d/mysqld start"; - "stopcommand[mysql]" string => "/etc/init.d/mysqld stop"; - "pattern[mysql]" string => ".*mysqld.*"; - - "startcommand[netplugd]" string => "/etc/init.d/netplugd start"; - "stopcommand[netplugd]" string => "/etc/init.d/netplugd stop"; - "pattern[netplugd]" string => ".*netplugd.*"; - - "startcommand[NetworkManager]" string => "/etc/init.d/NetworkManager start"; - "stopcommand[NetworkManager]" string => "/etc/init.d/NetworkManager stop"; - "pattern[NetworkManager]" string => ".*NetworkManager.*"; - - "startcommand[nfs]" string => "/etc/init.d/nfs start"; - "stopcommand[nfs]" string => "/etc/init.d/nfs stop"; - "pattern[nfs]" string => ".*nfsd.*"; - - "startcommand[nfslock]" string => "/etc/init.d/nfslock start"; - "stopcommand[nfslock]" string => "/etc/init.d/nfslock stop"; - "pattern[nfslock]" string => ".*rpc.statd.*"; - - "startcommand[nscd]" string => "/etc/init.d/nscd start"; - "stopcommand[nscd]" string => "/etc/init.d/nscd stop"; - "pattern[nscd]" string => ".*nscd.*"; - - "startcommand[oddjobd]" string => "/etc/init.d/oddjobd start"; - "stopcommand[oddjobd]" string => "/etc/init.d/oddjobd stop"; - "pattern[oddjobd]" string => ".*oddjobd.*"; - - "startcommand[pand]" string => "/etc/init.d/pand start"; - "stopcommand[pand]" string => "/etc/init.d/pand stop"; - "pattern[pand]" string => ".*pand.*"; - - "startcommand[pand]" string => "/etc/init.d/pand start"; - "stopcommand[pcscd]" string => "/etc/init.d/pand stop"; - "pattern[pcscd]" string => ".*pcscd.*"; - - "startcommand[portmap]" string => "/etc/init.d/portmap start"; - "stopcommand[portmap]" string => "/etc/init.d/portmap stop"; - "pattern[portmap]" string => ".*portmap.*"; - - "startcommand[postgresql]" string => "/etc/init.d/postgresql start"; - "stopcommand[postgresql]" string => "/etc/init.d/postgresql stop"; - "pattern[postgresql]" string => ".*postmaster.*"; - - "startcommand[rdisc]" string => "/etc/init.d/rdisc start"; - "stopcommand[rdisc]" string => "/etc/init.d/rdisc stop"; - "pattern[rdisc]" string => ".*rdisc.*"; - - "startcommand[rdisc]" string => "/etc/init.d/rdisc start"; - "stopcommand[rdisc]" string => "/etc/init.d/rdisc stop"; - "pattern[rdisc]" string => ".*rdisc.*"; - - "startcommand[readahead_early]" string => "/etc/init.d/readahead_early start"; - "stopcommand[readahead_early]" string => "/etc/init.d/readahead_early stop"; - "pattern[readahead_early]" string => ".*readahead.*early.*"; - - "startcommand[readahead_later]" string => "/etc/init.d/readahead_later start"; - "stopcommand[readahead_later]" string => "/etc/init.d/readahead_later stop"; - "pattern[readahead_later]" string => ".*readahead.*later.*"; - - "startcommand[restorecond]" string => "/etc/init.d/restorecond start"; - "stopcommand[restorecond]" string => "/etc/init.d/restorecond stop"; - "pattern[restorecond]" string => ".*restorecond.*"; - - "startcommand[rpcgssd]" string => "/etc/init.d/rpcgssd start"; - "stopcommand[rpcgssd]" string => "/etc/init.d/rpcgssd stop"; - "pattern[rpcgssd]" string => ".*rpc.gssd.*"; - - "startcommand[rpcidmapd]" string => "/etc/init.d/rpcidmapd start"; - "stopcommand[rpcidmapd]" string => "/etc/init.d/rpcidmapd stop"; - "pattern[rpcidmapd]" string => ".*rpc.idmapd.*"; - - "startcommand[rpcsvcgssd]" string => "/etc/init.d/rpcsvcgssd start"; - "stopcommand[rpcsvcgssd]" string => "/etc/init.d/rpcsvcgssd stop"; - "pattern[rpcsvcgssd]" string => ".*rpc.svcgssd.*"; - - "startcommand[saslauthd]" string => "/etc/init.d/saslauthd start"; - "stopcommand[saslauthd]" string => "/etc/init.d/saslauthd stop"; - "pattern[saslauthd]" string => ".*saslauthd.*"; - - "startcommand[smartd]" string => "/etc/init.d/smartd start"; - "stopcommand[smartd]" string => "/etc/init.d/smartd stop"; - "pattern[smartd]" string => ".*smartd.*"; - - "startcommand[svnserve]" string => "/etc/init.d/svnserve start"; - "stopcommand[svnserve]" string => "/etc/init.d/svnserve stop"; - "pattern[svnserve]" string => ".*svnserve.*"; - - "startcommand[syslog]" string => "/etc/init.d/syslog start"; - "stopcommand[syslog]" string => "/etc/init.d/syslog stop"; - "pattern[syslog]" string => ".*syslogd.*"; - - "startcommand[tcsd]" string => "/etc/init.d/tcsd start"; - "stopcommand[tcsd]" string => "/etc/init.d/tcsd stop"; - "pattern[tcsd]" string => ".*tcsd.*"; - - "startcommand[www]" string => "/etc/init.d/httpd start"; - "stopcommand[www]" string => "/etc/init.d/httpd stop"; - "pattern[www]" string => ".*httpd.*"; - - "startcommand[xfs]" string => "/etc/init.d/xfs start"; - "stopcommand[xfs]" string => "/etc/init.d/xfs stop"; - "pattern[xfs]" string => ".*xfs.*"; - - "startcommand[ypbind]" string => "/etc/init.d/ypbind start"; - "stopcommand[ypbind]" string => "/etc/init.d/ypbind stop"; - "pattern[ypbind]" string => ".*ypbind.*"; - - "startcommand[yum-updatesd]" string => "/etc/init.d/yum-updatesd start"; - "stopcommand[yum-updatesd]" string => "/etc/init.d/yum-updatesd stop"; - "pattern[yum-updatesd]" string => ".*yum-updatesd.*"; - - debian|ubuntu:: - - "startcommand[atd]" string => "/etc/init.d/atd start"; - "stopcommand[atd]" string => "/etc/init.d/atd stop"; - "pattern[atd]" string => "atd.*"; - - "startcommand[bluetoothd]" string => "/etc/init.d/bluetoothd start"; - "stopcommand[bluetoothd]" string => "/etc/init.d/bluetoothd stop"; - "pattern[bluetoothd]" string => ".*bluetoothd.*"; - - "startcommand[bootlogd]" string => "/etc/init.d/bootlogd start"; - "stopcommand[bootlogd]" string => "/etc/init.d/bootlogd stop"; - "pattern[bootlogd]" string => ".*bootlogd.*"; - - "startcommand[crond]" string => "/etc/init.d/cron start"; - "stopcommand[crond]" string => "/etc/init.d/cron stop"; - "pattern[crond]" string => ".*cron.*"; - - "startcommand[kerneloops]" string => "/etc/init.d/kerneloops start"; - "stopcommand[kerneloops]" string => "/etc/init.d/kerneloops stop"; - "pattern[kerneloops]" string => ".*kerneloops.*"; - - "startcommand[mysql]" string => "/etc/init.d/mysql start"; - "stopcommand[mysql]" string => "/etc/init.d/mysql stop"; - "pattern[mysql]" string => ".*mysqld.*"; - - "startcommand[NetworkManager]" string => "/etc/init.d/network-manager start"; - "stopcommand[NetworkManager]" string => "/etc/init.d/network-manager stop"; - "pattern[NetworkManager]" string => ".*NetworkManager.*"; - - "startcommand[ondemand]" string => "/etc/init.d/ondemand start"; - "stopcommand[ondemand]" string => "/etc/init.d/ondemand stop"; - "pattern[ondemand]" string => ".*ondemand.*"; - - "startcommand[plymouth]" string => "/etc/init.d/plymouthd start"; - "stopcommand[plymouth]" string => "/etc/init.d/plymouthd stop"; - "pattern[plymouth]" string => ".*plymouthd.*"; - - "startcommand[postgresql84]" string => "/etc/init.d/postgresql-8.4 start"; - "stopcommand[postgresql84]" string => "/etc/init.d/postgresql-8.4 stop"; - "pattern[postgresql84]" string => ".*postgresql.*"; - - "startcommand[postgresql91]" string => "/etc/init.d/postgresql-9.1 start"; - "stopcommand[postgresql91]" string => "/etc/init.d/postgresql-9.1 stop"; - "pattern[postgresql91]" string => ".*postgresql.*"; - - "startcommand[saned]" string => "/etc/init.d/saned start"; - "stopcommand[saned]" string => "/etc/init.d/saned stop"; - "pattern[saned]" string => ".*saned.*"; - - "startcommand[udev]" string => "/etc/init.d/udev start"; - "stopcommand[udev]" string => "/etc/init.d/udev stop"; - "pattern[udev]" string => ".*udev.*"; - - "startcommand[udevmonitor]" string => "/etc/init.d/udevmonitor start"; - "stopcommand[udevmonitor]" string => "/etc/init.d/udevmonitor stop"; - "pattern[udevmonitor]" string => ".*udevadm.*monitor.*"; - - "startcommand[www]" string => "/etc/init.d/httpd stop"; - "stopcommand[www]" string => "/etc/init.d/httpd stop"; - "pattern[www]" string => ".*apache2.*"; - - - # METHODS that implement these ............................................ - -classes: - - "start" expression => strcmp("start","$(state)"), - comment => "Check if to start a service"; - "stop" expression => strcmp("stop","$(state)"), - comment => "Check if to stop a service"; - -# Do we want to include the packages here too? - -processes: - - start:: - - "$(pattern[$(service)])" -> { "@(stakeholders[$(service)])" } , - - comment => "Verify that the service appears in the process table", - restart_class => "restart_$(service)"; - - stop:: - - "$(pattern[$(service)])" -> { "@(stakeholders[$(service)])" }, - - comment => "Verify that the service does not appear in the process", - process_stop => "$(stopcommand[$(service)])", - signals => { "term", "kill"}; - - commands: - - "$(startcommand[$(service)])" -> { "@(stakeholders[$(service)])" }, - - comment => "Execute command to restart the $(service) service", - ifvarclass => "restart_$(service)"; -} - - - -@end verbatim - -@node bundle common paths -@section bundle common paths - -@verbatim -bundle common paths -{ - vars: - - # - # Common full pathname of commands for OS - # - aix:: - - "awk" string => "/usr/bin/awk"; - "crontabs" string => "/var/spool/cron/crontabs"; - "df" string => "/usr/bin/df"; - "dig" string => "/usr/bin/dig"; - "egrep" string => "/usr/bin/egrep"; - "grep" string => "/usr/bin/grep"; - "ls" string => "/usr/bin/ls"; - "netstat" string => "/usr/bin/netstat"; - "cksum" string => "/usr/bin/cksum"; - "sort" string => "/usr/bin/sort"; - "find" string => "/usr/bin/find"; - "cat" string => "/bin/cat"; - "sed" string => "/usr/bin/sed"; - "diff" string => "/usr/bin/diff"; - "cut" string => "/usr/bin/cut"; - "printf" string => "/usr/bin/printf"; - "tr" string => "/usr/bin/tr"; - "echo" string => "/usr/bin/echo"; - "bc" string => "/usr/bin/bc"; - "dc" string => "/usr/bin/dc"; - - solaris:: - - "awk" string => "/usr/bin/awk"; - "crontabs" string => "/var/spool/cron/crontabs"; - "df" string => "/usr/bin/df"; - "dig" string => "/usr/sbin/dig"; - "egrep" string => "/usr/bin/egrep"; - "grep" string => "/usr/bin/grep"; - "ls" string => "/usr/bin/ls"; - "netstat" string => "/usr/bin/netstat"; - "cksum" string => "/usr/bin/cksum"; - "sort" string => "/usr/bin/sort"; - "find" string => "/usr/bin/find"; - "cat" string => "/usr/bin/cat"; - "sed" string => "/usr/bin/sed"; - "diff" string => "/usr/bin/diff"; - "cut" string => "/usr/bin/cut"; - "printf" string => "/usr/bin/printf"; - "tr" string => "/usr/bin/tr"; - "echo" string => "/usr/bin/echo"; - "bc" string => "/usr/bin/bc"; - "dc" string => "/usr/bin/dc"; - - # - "svcs" string => "/usr/bin/svcs"; - "svcadm" string => "/usr/sbin/svcadm"; - - redhat:: - - "awk" string => "/bin/awk"; - "crontabs" string => "/var/spool/cron"; - "df" string => "/bin/df"; - "dig" string => "/usr/bin/dig"; - "egrep" string => "/bin/egrep"; - "grep" string => "/bin/grep"; - "ls" string => "/bin/ls"; - "netstat" string => "/bin/netstat"; - "cksum" string => "/usr/bin/cksum"; - "sort" string => "/bin/sort"; - "find" string => "/usr/bin/find"; - "cat" string => "/bin/cat"; - "sed" string => "/bin/sed"; - "diff" string => "/usr/bin/diff"; - "cut" string => "/bin/cut"; - "printf" string => "/usr/bin/printf"; - "tr" string => "/usr/bin/tr"; - "echo" string => "/bin/echo"; - "bc" string => "/usr/bin/bc"; - "dc" string => "/usr/bin/dc"; - - # - "svc" string => "/sbin/service"; - "useradd" string => "/usr/sbin/useradd"; - "groupadd" string => "/usr/sbin/groupadd"; - - all:: - "ping" string => "/usr/bin/ping"; - -} -@end verbatim - -@node bundle edit_line append_groups_starting -@section bundle edit_line append_groups_starting(v) - -@verbatim -bundle edit_line append_groups_starting(v) - - # For adding groups to /etc/group, needs - # an array v[groupname] string => "line..." - -{ -vars: - - "index" slist => getindices("$(v)"); - -classes: - - "add_$(index)" not => groupexists("$(index)"), - comment => "Class created if group does not exist"; - -insert_lines: - - "$($(v)[$(index)])", - - comment => "Append users into a group file format", - ifvarclass => "add_$(index)"; - -} - - -@end verbatim - -@node bundle edit_line append_if_no_line -@section bundle edit_line append_if_no_line(str) - -@verbatim -bundle edit_line append_if_no_line(str) -{ -insert_lines: - - "$(str)" - - comment => "Append a line to the file if it doesn't already exist"; -} - - -@end verbatim - -@node bundle edit_line append_if_no_lines -@section bundle edit_line append_if_no_lines(list) - -@verbatim -bundle edit_line append_if_no_lines(list) -{ -insert_lines: - - "$(list)" - - comment => "Append lines to the file if they don't already exist"; -} - - -@end verbatim - -@node bundle edit_line append_to_line_end -@section bundle edit_line append_to_line_end(start,end) - -@verbatim -bundle edit_line append_to_line_end(start,end) -# -# Lines starting with "$(start)" and not ending with "$(end)" -# will get appended with "$(end)", whitespaces will be left unmodified. -# For example, append_to_line_end("kernel", "vga=791") would replace -# "kernel /boot/vmlinuz root=/dev/sda7" -# with -# "kernel /boot/vmlinuz root=/dev/sda7 resume=/dev/sda9 vga=791" -# -# WARNING: Be careful not to have multiple promises matching the same line, -# which would result in the line growing indefinetively. -{ -field_edits: - - "\s*$(start)\s.*" - comment => "Append lines with $(this.start) and $(this.end)", - edit_field => line("(^|\s)$(start)\s*", "2", "$(end)","append"); -} - - -@end verbatim - -@node bundle edit_line append_user_field -@section bundle edit_line append_user_field(group,field,allusers) - -@verbatim -bundle edit_line append_user_field(group,field,allusers) - - # For adding users to to a file like /etc/group - # at field position "field", comma separated subfields - -{ -vars: - - "val" slist => { @(allusers) }; - -field_edits: - - "$(group):.*" - - comment => "Append users into a password file format", - edit_field => col(":","$(field)","$(val)","alphanum"); -} - - -@end verbatim - -@node bundle edit_line append_users_starting -@section bundle edit_line append_users_starting(v) - -@verbatim -bundle edit_line append_users_starting(v) - - # For adding to /etc/passwd or etc/shadow, needs - # an array v[username] string => "line..." - -{ -vars: - - "index" slist => getindices("$(v)"); - -classes: - - "add_$(index)" not => userexists("$(index)"), - comment => "Class created if user does not exist"; - -insert_lines: - - "$($(v)[$(index)])", - - comment => "Append users into a password file format", - ifvarclass => "add_$(index)"; -} - - -@end verbatim - -@node bundle edit_line comment_lines_containing -@section bundle edit_line comment_lines_containing(regex,comment) - -@verbatim -bundle edit_line comment_lines_containing(regex,comment) - - # Comment lines of a file containing a regex - -{ -replace_patterns: - - "^(.*$(regex).*)$" - - replace_with => comment("$(comment)"), - comment => "Comment out lines in a file"; -} - - -@end verbatim - -@node bundle edit_line comment_lines_matching -@section bundle edit_line comment_lines_matching(regex,comment) - -@verbatim -bundle edit_line comment_lines_matching(regex,comment) - - # Comment lines of a file matching a regex - -{ -replace_patterns: - - "^($(regex))$" - - replace_with => comment("$(comment)"), - comment => "Search and replace string"; -} - - -@end verbatim - -@node bundle edit_line create_solaris_admin_file -@section bundle edit_line create_solaris_admin_file - -@verbatim -bundle edit_line create_solaris_admin_file -{ -insert_lines: - - "mail= -instance=unique -partial=nocheck -runlevel=nocheck -idepend=nocheck -rdepend=nocheck -space=nocheck -setuid=nocheck -conflict=nocheck -action=nocheck -networktimeout=60 -networkretries=3 -authentication=quit -keystore=/var/sadm/security -proxy= -basedir=default", - comment => "Insert contents of Solaris admin file (automatically install packages)"; -} - - -@end verbatim - -@node bundle edit_line delete_lines_matching -@section bundle edit_line delete_lines_matching(regex) - -@verbatim -bundle edit_line delete_lines_matching(regex) -{ -delete_lines: - - "$(regex)" - - comment => "Delete lines matching regular expressions"; -} - - -@end verbatim - -@node bundle edit_line expand_template -@section bundle edit_line expand_template(templatefile) - -@verbatim -bundle edit_line expand_template(templatefile) - - # Read in the named text file and expand $(var) - # inside the file - -{ -insert_lines: - - "$(templatefile)" - - insert_type => "file", - comment => "Expand variables in the template file", - expand_scalars => "true"; -} - -@end verbatim - -@node bundle edit_line insert_file -@section bundle edit_line insert_file(templatefile) - -@verbatim -bundle edit_line insert_file(templatefile) -{ -insert_lines: - - "$(templatefile)" - comment => "Insert the template file into the file being edited", - insert_type => "file"; -} - - -@end verbatim - -@node bundle edit_line insert_lines -@section bundle edit_line insert_lines(lines) - -@verbatim -bundle edit_line insert_lines(lines) -{ -insert_lines: - - "$(lines)" - comment => "Append lines if they don't exist"; -} - - -@end verbatim - -@node bundle edit_line maintain_key_values -@section bundle edit_line maintain_key_values(v,sep) - -@verbatim -bundle edit_line maintain_key_values(v,sep) - - # Contributed by David Lee - # Purpose: Sets the RHS of configuration items with an giving separator - -{ - vars: - "index" slist => getindices("$(v)"); - # Be careful if the index string contains funny chars - "cindex[$(index)]" string => canonify("$(index)"); - # Matching pattern for line (basically key-and-separator) - "keypat[$(index)]" string => "\s*$(index)\s*$(sep)\s*"; - - # Values may contain regexps. Escape them for replace_pattern matching. - "ve[$(index)]" string => escape("$($(v)[$(index)])"); - - classes: - "$(cindex[$(index)])_key_in_file" - comment => "Dynamic Class created if patterns matching", - expression => regline("^$(keypat[$(index)]).*", "$(edit.filename)"); - - replace_patterns: - # For convergence need to use negative lookahead on value: - # "key sep (?!value).*" - "^($(keypat[$(index)]))(?!$(ve[$(index)])).*" - comment => "Replace definition of $(index)", - replace_with => value("$(match.1)$($(v)[$(index)])"); - - insert_lines: - "$(index)$(sep)$($(v)[$(index)])", - comment => "Insert definition of $(index)", - ifvarclass => "!$(cindex[$(index)])_key_in_file"; -} - - -@end verbatim - -@node bundle edit_line manage_variable_values_ini -@section bundle edit_line manage_variable_values_ini(tab, sectionName) - -@verbatim -bundle edit_line manage_variable_values_ini(tab, sectionName) - - # Sets the RHS of configuration items in the file of the form - # LHS=RHS - # If the line is commented out with #, it gets uncommented first. - # Adds a new line if none exists. - # Removes any variable value pairs not defined for the ini section - # The argument is an associative array containing tab[SectionName][LHS]="RHS" - # don't change value when the RHS is dontchange - - # Based on set_variable_values_ini - # Added delete lines section to empty out undefined variable values for INI section - - # CAUTION : for it to work nicely, you should use Cfengine with the commit n°3229 - # otherwise you may risk a segfault - - # - # If you are running 3.2.1 or earlier or more specifically git commit # or - # earlier you can use this to work around the segfault bug. - # vars: - # "$(file)" - # edit_line => append_if_no_line("[#EOF#]"), - # create => "true", - # comment => "Work around bug where eof did not mean end - # of section and thus cannot select a region. This promise - # should be placed before your call to this bundle"; - # "$(file)" - # edit_line => manage_variable_values_ini("context.array", "SectionName"), - # create => "true", - # comment => "Set the variale values only in the specified ini region"; - # - -{ - vars: - "index" slist => getindices("$(tab)[$(sectionName)]"); - - # Be careful if the index string contains funny chars - "cindex[$(index)]" string => canonify("$(index)"); - - classes: - "edit_$(cindex[$(index)])" not => strcmp("$($(tab)[$(sectionName)][$(index)])","dontchange"), - comment => "Create conditions to make changes"; - - field_edits: - - # If the line is there, but commented out, first uncomment it - "#+$(index)\s*=.*" - select_region => INI_section("$(sectionName)"), - edit_field => col("=","1","$(index)","set"), - ifvarclass => "edit_$(cindex[$(index)])"; - - # match a line starting like the key something - "$(index)\s*=.*" - edit_field => col("=","2","$($(tab)[$(sectionName)][$(index)])","set"), - select_region => INI_section("$(sectionName)"), - classes => if_ok("manage_variable_values_ini_not_$(cindex[$(index)])"), - ifvarclass => "edit_$(cindex[$(index)])"; - - delete_lines: - ".*" - select_region => INI_section("$(sectionName)"), - comment => "Remove all entries in the region so there are no extra entries"; - - insert_lines: - "[$(sectionName)]" - location => start, - comment => "Insert lines"; - - "$(index)=$($(tab)[$(sectionName)][$(index)])", - select_region => INI_section("$(sectionName)"), - ifvarclass => "!manage_variable_values_ini_not_$(cindex[$(index)]).edit_$(cindex[$(index)])"; - -} - - -@end verbatim - -@node bundle edit_line replace_line_end -@section bundle edit_line replace_line_end(start,end) - -@verbatim -bundle edit_line replace_line_end(start,end) -# -# Lines starting with "$(start)" will get the ending given in "$(end)", -# whitespaces will be left unmodified. -# For example, replace_line_end("ftp", "2121/tcp") would replace -# "ftp 21/tcp" -# with -# "ftp 2121/tcp" -{ -field_edits: - - "\s*$(start)\s.*" - comment => "Replace lines with $(this.start) and $(this.end)", - edit_field => line("(^|\s)$(start)\s*", "2", "$(end)","set"); -} - - -@end verbatim - -@node bundle edit_line replace_or_add -@section bundle edit_line replace_or_add(pattern,line) - -@verbatim -bundle edit_line replace_or_add(pattern,line) - - # Replace a pattern in a file with a single line. - # If the pattern is not found, add the line to the file. - # The pattern must match the whole line (it is automatically - # anchored to the start and end of the line) to avoid - # ambiguity. - -{ -vars: - "cline" string => canonify("$(line)"); - -replace_patterns: - "^(?!$(line)$)$(pattern)$" - comment => "Replace a pattern here", - replace_with => value("$(line)"), - classes => always("replace_done_$(cline)"); - -insert_lines: - "$(line)" - ifvarclass => "replace_done_$(cline)"; -} - - -@end verbatim - -@node bundle edit_line resolvconf -@section bundle edit_line resolvconf(search,list) - -@verbatim -bundle edit_line resolvconf(search,list) - - # search is the search domains with space - # list is an slist of nameserver addresses - -{ -delete_lines: - - "search.*" comment => "Reset search lines from resolver"; - "nameserver.*" comment => "Reset nameservers in resolver"; - -insert_lines: - - "search $(search)" comment => "Add search domains to resolver"; - "nameserver $(list)" comment => "Add name servers to resolver"; -} - - -@end verbatim - -@node bundle edit_line set_colon_field -@section bundle edit_line set_colon_field(key,field,val) - -@verbatim -bundle edit_line set_colon_field(key,field,val) - - # Set the value of field number "field" of the - # line whose first field is "key", in a colon-separated file. - -{ -field_edits: - - "$(key):.*" - - comment => "Edit a colon-separated file, using the first field as a key", - edit_field => col(":","$(field)","$(val)","set"); -} - - -@end verbatim - -@node bundle edit_line set_config_values -@section bundle edit_line set_config_values(v) - -@verbatim -bundle edit_line set_config_values(v) - - # Sets the RHS of configuration items in the file of the form - # LHS RHS - # If the line is commented out with #, it gets uncommented first. - # Adds a new line if none exists. - # The argument is the fully-qualified name of an associative array containing v[LHS]="rhs" - -{ -vars: - "index" slist => getindices("$(v)"); - - # Be careful if the index string contains funny chars - "cindex[$(index)]" string => canonify("$(index)"); - -replace_patterns: - # If the line is there, maybe commented out, uncomment and replace with - # the correct value - "^\s*($(index)\s+(?!$($(v)[$(index)])$).*|# ?$(index)\s+.*)$" - comment => "Correct the value", - replace_with => value("$(index) $($(v)[$(index)])"), - classes => always("replace_attempted_$(cindex[$(index)])"); - -insert_lines: - "$(index) $($(v)[$(index)])" - ifvarclass => "replace_attempted_$(cindex[$(index)])"; - -} - -@end verbatim - -@node bundle edit_line set_config_values_matching -@section bundle edit_line set_config_values_matching(v,pat) - -@verbatim -bundle edit_line set_config_values_matching(v,pat) - - # Sets the RHS of configuration items in the file of the form - # LHS RHS - # If the line is commented out with #, it gets uncommented first. - # Adds a new line if none exists. - # Only elements of "v" that match the regex "pat" are used - # The argument is the fully-qualified name of an associative array containing v[LHS]="rhs" - -{ -vars: - "allparams" slist => getindices("$(v)"); - "index" slist => grep("$(pat)", "allparams"); - - # Be careful if the index string contains funny chars - "cindex[$(index)]" string => canonify("$(index)"); - -replace_patterns: - # If the line is there, maybe commented out, uncomment and replace with - # the correct value - "^\s*($(index)\s+(?!$($(v)[$(index)])).*|# ?$(index)\s+.*)$" - comment => "Correct the value", - replace_with => value("$(index) $($(v)[$(index)])"), - classes => always("replace_attempted_$(cindex[$(index)])"); - -insert_lines: - "$(index) $($(v)[$(index)])" - ifvarclass => "replace_attempted_$(cindex[$(index)])"; - -} - - -@end verbatim - -@node bundle edit_line set_user_field -@section bundle edit_line set_user_field(user,field,val) - -@verbatim -bundle edit_line set_user_field(user,field,val) - - # Set the value of field number "field" in - # a :-field formatted file like /etc/passwd - -{ -field_edits: - - "$(user):.*" - - comment => "Edit a user attribute in the password file", - edit_field => col(":","$(field)","$(val)","set"); -} - - -@end verbatim - -@node bundle edit_line set_variable_values -@section bundle edit_line set_variable_values(v) - -@verbatim -bundle edit_line set_variable_values(v) - - # Sets the RHS of variables in the file of the form - # LHS = RHS - # Adds a new line if no LHS exists, repairs RHS values if one does exist - # - # To use: - # 1) Define an array, where the keys are the LHS and the values are the RHS - # "stuff[lhs-1]" string => "rhs1"; - # "stuff[lhs-2]" string => "rhs2"; - # 2) The parameter passed to the edit_line promise is the fully qualified - # name of the array (i.e., "bundlename.stuff") WITHOUT any "$" or "@" - -{ -vars: - - "index" slist => getindices("$(v)"); - - # Be careful if the index string contains funny chars - - "cindex[$(index)]" string => canonify("$(index)"); - -field_edits: - - # match a line starting like the key = something - - "\s*$(index)\s*=.*" - - edit_field => col("=","2","$($(v)[$(index)])","set"), - classes => if_ok("$(cindex[$(index)])_in_file"), - comment => "Match a line starting like key = something"; - -insert_lines: - - "$(index)=$($(v)[$(index)])", - - comment => "Insert a variable definition", - ifvarclass => "!$(cindex[$(index)])_in_file"; -} - -@end verbatim - -@node bundle edit_line set_variable_values_ini -@section bundle edit_line set_variable_values_ini(tab, sectionName) - -@verbatim -bundle edit_line set_variable_values_ini(tab, sectionName) - - # Sets the RHS of configuration items in the file of the form - # LHS=RHS - # If the line is commented out with #, it gets uncommented first. - # Adds a new line if none exists. - # The argument is an associative array containing tab[SectionName][LHS]="RHS" - # don't change value when the RHS is dontchange - - # Based on set_variable_values from cfengine_stdlib.cf, modified to - # use section to define were to write, and to handle commented-out lines. - - # CAUTION : for it to work nicely, you should use Cfengine with the commit n°3229 - # otherwise you may risk a segfault - - # - # If you are running 3.2.1 or earlier or more specifically git commit # or - # earlier you can use this to work around the segfault bug. - # vars: - # "$(file)" - # edit_line => append_if_no_line("[#EOF#]"), - # create => "true", - # comment => "Work around bug where eof did not mean end - # of section and thus cannot select a region. This promise - # should be placed before your call to this bundle"; - # "$(file)" - # edit_line => set_variable_values_ini("context.array", "SectionName"), - # create => "true", - # comment => "Set the variale values only in the specified ini region"; - # - -{ - vars: - "index" slist => getindices("$(tab)[$(sectionName)]"); - - # Be careful if the index string contains funny chars - "cindex[$(index)]" string => canonify("$(index)"); - - classes: - "edit_$(cindex[$(index)])" not => strcmp("$($(tab)[$(sectionName)][$(index)])","dontchange"), - comment => "Create conditions to make changes"; - - field_edits: - - # If the line is there, but commented out, first uncomment it - "#+$(index)\s*=.*" - select_region => INI_section("$(sectionName)"), - edit_field => col("=","1","$(index)","set"), - ifvarclass => "edit_$(cindex[$(index)])"; - - # match a line starting like the key something - "$(index)\s*=.*" - edit_field => col("=","2","$($(tab)[$(sectionName)][$(index)])","set"), - select_region => INI_section("$(sectionName)"), - classes => if_ok("set_variable_values_ini_not_$(cindex[$(index)])"), - ifvarclass => "edit_$(cindex[$(index)])"; - - insert_lines: - "[$(sectionName)]" - location => start, - comment => "Insert lines"; - - "$(index)=$($(tab)[$(sectionName)][$(index)])", - select_region => INI_section("$(sectionName)"), - ifvarclass => "!set_variable_values_ini_not_$(cindex[$(index)]).edit_$(cindex[$(index)])"; - -} - - -@end verbatim - -@node bundle edit_line uncomment_lines_containing -@section bundle edit_line uncomment_lines_containing(regex,comment) - -@verbatim -bundle edit_line uncomment_lines_containing(regex,comment) - - # Uncomment lines of a file where the regex matches - # the text after the comment string - -{ -replace_patterns: - - "^$(comment)\s?(.*$(regex).*)$" - - replace_with => uncomment, - comment => "Uncomment a line containing a fragment"; -} - - -@end verbatim - -@node bundle edit_line uncomment_lines_matching -@section bundle edit_line uncomment_lines_matching(regex,comment) - -@verbatim -bundle edit_line uncomment_lines_matching(regex,comment) - - # Uncomment lines of a file where the regex matches - # the text after the comment string - -{ -replace_patterns: - - "^$(comment)\s?($(regex))$" - - replace_with => uncomment, - comment => "Uncomment lines matching a regular expression"; -} - - -@end verbatim - -@node bundle edit_line warn_lines_matching -@section bundle edit_line warn_lines_matching(regex) - -@verbatim -bundle edit_line warn_lines_matching(regex) -{ -delete_lines: - - "$(regex)" - - comment => "Warn about lines in a file", - action => warn_only; -} - - -@end verbatim - - - -@ifhtml -@html - -@end html -@end ifhtml - -@ifhtml -@contents -@end ifhtml - - -@bye - diff --git a/docs/guides/Editormenu.png b/docs/guides/Editormenu.png deleted file mode 100644 index 3238a92ab05a88b718a0fa13fc50b7f5c1572c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25986 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 v+5i3P-&scVu&Kpc5OCc;&!M|^_XUw)<{^(b

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node -@chapter Getting Started with CFEngine - -@node -@section What does getting started entail? - -@sp 1 - -@i{Choosing your hub. -Assumptions about your operating system (working package manager) -Start with no initial CFEngine policies.} - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node -@section Installing CFEngine - - -@menu -* Installing the software:: -* Upgrading:: -* What is the default configuration - out of the box:: -@end menu - -CFEngine is designed to be simple to install in its default configuration. The installation -process has three phases: - -@itemize -@item Unpacking the software. -@item Obtaining a license (only for commercial editions). -@item Adapting policy. -@end itemize - -@node -@section Installing the software on a new host -@c @node Installing from software binaries, Upgrading, Installing CFEngine, Installing CFEngine -@c @section Installing the software on a new host - -You should start from a blank system. If you wish to install CFE Nova and you have -already developed a policy using CFE Community, set aside this policy during the installation process. You will be able -to integrate it back later. - -In the following, @file{} represents either @file{community} or @file{nova}, depending on whether you are installing CFE Community or CFE Nova. - -CFEngine is provided in two packages, @file{cfengine-} and @file{cfengine--expansion}. The main software package -(for each operating system) must be installed on every host. The second package (expansion) is only installed on -the @i{hub} or @i{policy server}. @b{You should install and set up the hub first}. - -The @file{cfengine-} package may be installed on a wide range of supported operating systems, including -Linux, Solaris, Windows, etc. The @file{cfengine--expansion} -package currently only supports the following Linux operating systems: -@example -Debian -Ubuntu -Red Hat -SuSE -@end example -@noindent This means you must have one Linux computer running as your hub. -No special software is required on other machines in your -network. CFEngine bundles all dependencies in the binary package. - -On a new host, installation follows the following procedure. References to package managers -assume that additional packages might need to be installed on the policy server, e.g. the Apache -Web Server, MySQL database, etc. Remember, root privilege is required for the installation. - -@enumerate -@item Verify that the machine's network connection is working and that it can resolve -names. On the hub, verify that package managers @code{yum}, -@code{zypper} or @code{apt-get} are working (for example by typing @code(apt-get update)). They will be used to -install a web, database and php server (if not already -installed). If you are not able to set up a package manager and -repository on the hub, please look in the Frequently Asked Questions -below for manual installation. - -@item Copy the binary packages to the system. On the hub or policy server: - -@noindent CFE Community -@example -cfengine-community-3.@var{xxx.[rpm|deb]} -cfengine-community-expansion-3.@var{xxx.[rpm|deb]} -@end example - -@noindent CFE Nova -@example -cfengine-nova-2.@var{xxx.[rpm|deb]} -cfengine-nova-expansion-2.@var{xxx.[rpm|deb]} -@end example - -@sp 1 - -@noindent On all other machines: - -@noindent CFE Community -@example -cfengine-community-3.@var{xxx.[rpm|deb]} -@end example -@noindent CFE Nova -@example -cfengine-nova-2.@var{xxx.[rpm|deb]} -@end example - -@item Unpack the software: -@table @i -@item Red Hat family -@example -host# rpm -ihv @var{packages} -@end example - -@item SUSE family -@example -host# rpm -ihv @var{packages} -@end example - -@item Debian family -@example -host# dpkg --install @var{packages} -@end example - -@end table - -@item On the hub, a public key has now been created in @file{/var/cfengine/ppkeys/localhost.pub} as part of the -package installation. Users of CFE Community may skip to the next step. CFE Nova users: you should send this public key to CFEngine Support as an attachment in the ticket system (@url{https://cfengine.com/otrs/customer.pl}), -to obtain a license file @file{license.dat}. *** Save the returned license file to @file{/var/cfengine/masterfiles/license.dat} -on the hub @b{before continuing} ***. See more details for the software licensing here; -@url{https://cfengine.com/software/Licensing.pdf} - -@item The remaining steps apply to all hosts, but you should @b{install the hub or policy server first}. -Find the hostname or IP address of the hub (policy server), here we assume @samp{123.456.789.123} is the address. -@verbatim - hub # /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end verbatim -Use the same command on all hosts, i.e. *** do not bootstrap the policy server with a localhost address *** -If you mistype the address of the hub, we recommend doing the following steps to re-boostrap. -@verbatim - hub # /var/cfengine/bin/cf-agent --bootstrap 123.456.789.124 - hub # killall cf-execd cf-serverd cf-monoitord cf-hub - hub # rm -rf /var/cfengine/inputs/* - hub # rm -f /var/cfengine/policy_server.dat - hub # /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end verbatim - -@item The software should now be running. - -@end enumerate - -@noindent @b{How to assess success in this procedure (CFE Community and CFE Nova):} - -@enumerate - -@item Look at the process list on the systems with @samp{ps waux | grep cf}. -You should be able to see @code{cf-execd} running, and eventually other processes from -the CFEngine suite like @code{cf-monitord} @code{cf-serverd}. For CFE Nova, you should -also eventually see @code{cf-hub} running on the hub. Note that it may take 5--10 minutes before all the -processes get started. - -@item Look for files in @file{/var/cfengine/inputs} (Unix) -or @file{C:\Program Files\Cfengine\inputs} (Windows). For CFE Nova users the license -file will be copied out from the policy server to the clients as part -of the normal distribution of policy. Each Unix machine should get a -copy of the @file{license.dat} file in @file{/var/cfengine/inputs} -(Unix) or @file{C:\Program Files\Cfengine\inputs} (Windows). -@end enumerate - -@noindent @b{How to assess success in this procedure (CFE Nova only):} - -@enumerate 3 -@item On the hub, the file @file{/var/cfengine/promise_knowledge.cf} should have been -created, and should contain data. - -@item Finally, try to connect to the web server at port 80 on the hub / policy host. -You should see a summary page like the one shown in the figure -below. There should be at least 1 host registered, since the hub will -pull reports from itself also. -@end enumerate - -@sp 1 -@center @image{summary,15cm,,The front page} -@center The opening page of the CFEngine Nova Mission Portal. -@sp 1 - - -@node -@section What is the default configuration? - -Following the above procedure, you should have a fully functional -CFEngine on all clients. However, in the default configuration, -CFEngine does nothing other than looking after itself, and looking for -possible policy updates from @file{/var/cfengine/masterfiles} -on the policy server. On CFE Nova, the policy server is configured to collect data -from non-policy server machines and generate reports that are -integrated into the knowledge base. - -To alter policies, you need to change the files on the policy hub, -in the directory @file{/var/cfengine/masterfiles}. To begin with -most of the policy examples are commented out in these files: -@sp 1 -@cartouche -@smallexample -cdp_inputs/ cfengine.cf failsafe.cf knowledge.cf @b{promises.cf} update.cf -cdp_lib/ cfengine_stdlib.cf file_change.cf OrionCloud/ -@end smallexample -@end cartouche -@sp 1 -To change this, you can go to the main file @file{promises.cf}, and include additional -pre-made bundles of promises. You should always verify the contents of the bundles -you include before activating and deploying to new machines. - -@i{Remark: this section will and below have to be modified according to what is included in the PolicyBase. Will the update procedure also be included in Community 3.2?} - - -@cartouche -@verbatim -bundle agent main -{ -methods: - - any:: - - "general" usebundle => def; - -# "jobs" usebundle => system_scheduling; -# "security" usebundle => change_management; -# "security" usebundle => security_files; -# "windows boxes" usebundle => active_directory; - -# windows:: -# "windows boxes" usebundle => software_local; -# "windows boxes" usebundle => app_baseline; -# "windows boxes" usebundle => win_services; -# "windows boxes" usebundle => win_registry; -# "windows boxes" usebundle => win_emergency; - -# !windows:: -# "security" usebundle => system_xinetd; -# "maintenance" usebundle => garbage_collection; -} -@end verbatim -@end cartouche - -@node -@section Frequently Asked Questions - -@node -@subsection How do I install the prerequisites for the hub manually? - -Here is a list of dependencies for the hub to be checked if The Mission Portal displays -nothing; -@itemize -@item Red Hat/CentOS/Fedora -@example -httpd, mysql, mysql-server, php, php-bcmath, subversion -@end example -@item SUSE -@example -apache2, apache2-mod_php5, apache2-prefork, mysql, php5, subversion -@end example -@item Debian/Ubuntu -@example -apache2, mysql-server, php5 -@end example -@end itemize - -To install all of these, you might want to use @code{yum} on Red Hat/CentOS/Fedora, -@code{zypper} on SUSE or @code{apt} on Debian/Ubuntu. - -@subsection Why do I get a promise failed with the message @code{Can't stat -/var/cfengine/master_software_updates/SOME-OS} on some hosts? - -There is a built-in promise to automatically upgrade the Nova -binaries. By default, the clients will check for an update package -every time Nova runs. So if the clients find that there is no source -directory to download the files from, the message will be displayed. - -To fix the problem, simply create an empty directory mentioned in the -message on the hub. -@verbatim - hub # mkdir /var/cfengine/master_software_updates/SOME-OS -@end verbatim - - -@subsection I did bootstrap the hub @emph{before} obtaining a license file, what should I do? - -Four steps need to be followed to correct this minor issue. -@enumerate -@item obtain a working license file and copy it to @file{/var/cfengine/masterfiles} -@verbatim - hub # cp /tmp/license.dat /var/cfengine/masterfiles -@end verbatim -@item killall Nova running processes -@verbatim - hub # killall cf-execd cf-serverd cf-monitord cf-hub -@end verbatim -@item wipe out @file{/var/cfengine/inputs } -@verbatim - hub # rm -rf /var/cfengine/inputs -@end verbatim -@item bootstrap the policy hub -@verbatim - hub # /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end verbatim -@end enumerate - - -@subsection On my hub, I get messages of connection failures to a database. For example, in @code{messages}, I can see something like @code{!! Could not open connection to report database for saving}. What should I do? - -This message comes from the @code{cf-hub} process. It is responsible -for pulling reports from hosts that have contacted the hub to get -policy updates. When these reports are fetched, they are stored in a -local MongoDB database on the hub, and connecting to this database is -what is failing. - -Probably, the issue is that the database server is not running on your -hub. Run the @code{ps}-command to check this. -@verbatim - hub # ps -e | grep mongod - hub # -@end verbatim - -If the @code{mongod} process @emph{is} running, it must be -misconfigured or in some bad state. Please look at the newest entry in -@file{/var/log/mongod.log} to diagnose the problem, and contact -CFEngine Technical Support if necessary. - -If the @code{mongod} process @emph{is not} running, please follow the -steps below. -@itemize -@item Run - hub # @code{/var/cfengine/bin/cf-twin -Kvf failsafe.cf > /tmp/cfout} -@item Check again if the @code{mongod} is running, if so, the problem -is probably fixed now. -@item If @code{mongod} is still not running, please search the output -file for lines starting as follows. - -@verbatim -... -nova> -> Making a one-time restart promise for mongod -... -... -nova> -> Executing '/var/cfengine/bin/mongod.... -nova> -> Backgrounding job /var/cfengine/bin/mongod... -nova> -> Completed execution of /var/cfengine/bin/mongod... -... -@end verbatim - -If you don't see the first line above, Nova does not try to start -@code{mongod} --- so check if you bootstrapped your hub correctly. If -you see all lines, Nova starts @code{mongod}, but the process just -terminates immideatley after. If so, continue to the next step. - -@item Look at the newest entry in @file{/var/log/mongod.log}. It -should give you more details of why the @code{mongod} process refuses -to start. The two most common scenarios are described next. - -@item If @code{mongod} has been terminated unexpectedly, it might have -left a lock-file behind that stops it from starting again. Try -deleteting @file{/var/cfengine/state/mongod.lock} if it exists. - -@item If the database is corrupted, you can have @file{mongod} create a new one my moving -@file{/var/cfengine/state/cf-report.*} out of the way. There are also -tools and documentation for repairing a database at -@url{http://www.mongodb.org/}. - -Note that almost all of the @code{cfreport} database is completely -recreated with data collected from clients every six hours, so -deleting it is normally acceptable. But CFEngine AS or CFEngine Inc -can not be held responsible for data loss in this respect. - - -@end itemize - -@subsection How do I upgrade from community version to Nova? - -There is no shortcut for this task. We urge you to set aside your -current community policy while you install Nova, setup the Nova hub by -following this/Nova supplement document, and then integrate your existing -policy to the hub manually, in small testable steps. - -CFEngine Nova is compatible with the Community Edition of CFEngine 3, but -some process files are now managed by CFEngine for user convenience. - -@subsection Let's say I'd like to deploy Nova on my Debian/Ubuntu network. Describe this step by step? - -Here we go: - -@b{Debian/Ubuntu Installation Example:} -@itemize -@item @b{Hub(policy-server)} -@enumerate -@item Verify that the package manager is working (eg. @code{apt-get update}) -@item Download the Nova and Nova Supplement package -@item Unpack the software: -@verbatim - hub # dpkg --install cfengine-nova_2.0.1-1_x86_64.deb - hub # dpkg --install cfengine-nova-expansion_2.0.1-1_x86_64.deb -@end verbatim -@item Send the file: @code{"/var/cfengine/ppkeys/localhost.pub"} to Cfengine Support (OTRS ticket system) -@item You will receive a license file: @code{license.dat} -@item Copy the license file to: @code{"/var/cfengine/masterfiles/license.dat"} -@item Bootstrap the hub: -@verbatim - hub # /var/cfengine/bin/cf-agent --bootstrap - *** Warning: do not use 127.0.0.1 as the ip address *** -@end verbatim -@end enumerate -@item @b{Clients} -@enumerate -@item Verify that the package manager is working (eg. @code{apt-get update}) -@item Download the Nova package -@item Unpack the software: -@verbatim - hub # dpkg --install cfengine-nova_2.0.1-1_x86_64.deb -@end verbatim -@item Bootstrap the Client to the hub: -@verbatim - client # /var/cfengine/bin/cf-agent --bootstrap -@end verbatim -@end enumerate -@end itemize - -To check if the installation went as expected, see @code{"How to assess success in this procedure"} section in the Nova_Supplement Guide. - -@bye diff --git a/docs/guides/MissionPlan.png b/docs/guides/MissionPlan.png deleted file mode 100644 index 37cea471d6cb0f6733c4730882daaffb9d357d59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27131 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 B0)7Ah diff --git a/docs/guides/NewLogo.pdf b/docs/guides/NewLogo.pdf deleted file mode 100644 index cb51106b1dad97f0d07611eddff33866a5d17956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13566 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 diff --git a/docs/guides/ONarchitecture.png b/docs/guides/ONarchitecture.png deleted file mode 100644 index 249dd34da44e5c38282899131513666b6111b4a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36589 zcmcG$bx>VR^DYX3z{Y|HO>hZrf#AswvXNi`f(3WCV8IeL?hq_^fB?bWo#5{74#8c| z@O^cwez)r0I_ICW>V1o_S*)4q>3;g@r)LqUASa21PKu6zfPf_h6H`J!cruHCfcO^j z1bnih$*=;xAUY^XLJf!^Gr771Xgn$zZTdLp}$90Da15ofH#aI$gBKT5%<-I-t_!e=S5M8j^%}ULcMQB2Uqtko26e5 zV#_uMZa4Z8xI?-Ppk+g@$dA$CuS5?537UQ3b zyilSL=`DcRQvf~W^mCTIe>w^#JSEB-9C`Qy6+2^?af~qy=8evTmx2=sqm?x)cK*f& z?!XDA#@)fbjU$J=MrRd!8;QW43EM)_@QpB#LaTQ{o5DdrXpSUAlMlvu6UI#%%4a?I z#^rEny*G}ViwhG4=>U3(=p6*Z4-un2IzBcZ%NfoqYMd!CkW7&ETMtlX%6g3+@My?7 z>se+-47eR`Av`1`WV+0RLcp=Bw>Qt@=3GQXgew7)<(V?d_V)ItBJB^dvY1#{cN>W| zKVMtWvwlOCaiPKok7%|d2;|`TUIFPX1vlQ^T(GmT-LC|*YkS>&$yG+LL}5x4y}vY= z$X7>0L#uQ8hmL^}t>n!J)@W-h4)vE%i~Z|`h0m2; zGi=J^u+cYN@9JP}&Gwv*wkmK7uNc_KdzBHd^n0A_w61tmN{Z)tPYie{VF-pY(em=L zM#1^%_NZHfHZeWo4KT(O6`{s0)LvtoSjyhMwA;{aJ1efa`t6tHgM%Uk#{I=68xCSx z0*MS;HpWqLsN>x)bJNG$aOdays|LASx{_)zZ>}LZRl9g;<`dthVGP9K>4{yh^zQ z%w}pxnBezplo`X}Y=IrI3hxP}TwJRA$dd(~B_LQ7B1u(xL0W9s=;#_H`cD^1Q9mjx z^L*J+rl3d_@wg5lef>wL$rD`f{V=8E zdbrW4PkT=t*_SH%01y)u`{i7*UK{XGy13q>^$PQGx8t?$z3H->)9tpz;Fd_jpBfeB z>Q~CdzEHh8a^?eAMDO|~hMTMFhZG@xety@h<8=nPBmgDv=4-!L{Gv`@huBP@SbG9T zl?;faY>90;m6hy&?XO+rrAErkuvq&AgKBMin*;|ZA~n_P-^^?H(AIE92{}~=2{#Ir zvYHw(5s~Cea$z^e(cd3z7V58np=Q^jO-xJ<*!r(dHn;J6j>147U3yMppP;tUezz|2r!bO|4_3jn*H>{$tR*{1#o<$#Bo zeIWQPCNam-Qj3pFEQ{G>;b(P`g`OB@Yzh(CdtsNuw6Zd85ho|74p&zA(vq%T->UC| zV&3?Q52?myi8mkL`%9(4NCB?+w8KpKTZ7}qv>Y7wrj7uP#HLt{WOn~i$-{w?cYdz6 z)tfFg%9cykDAsM6)baYayBjR?edTEt&l;|tUetKrCklRhL$FQ2KCHc+!QtT#CxfEh zO^$eW(exkWk_FD@KDnejw~s18(yz~UC);(R;P_8#Fbg29Jo2{+P&X#im_f4U&QD$%a&xlKpt4)hrIQu&}T|qhh5& z7Z}#0FTTX>Z0EJb#E*5Pke9->;=#|?bSgCNe(5axF4%!hhfsw|;6Hz^`reBx#iaEI z78u>20~V1s@+0TxR|*OWxPqM>=l#XJ^J21)>oJ%oSn>70szq}i(pV$Wo4vA}97g!i zT6eTr0#vQqc6p;eu{S;k_dl23dG5-JzTPs9j*bpCc6e!1MvHD&U!NGn$i$@RbKQCK zHzY_p-=cdN`ADanKJBT_5H(nRSUwD{Atv-sWZ=#4?%Cy{R5bm+`8qxUf$PmwuZ0>1 z6CV_;mm==*F)_Y4=EJ}KuKW$|ZwyFGoGmr#{VkiI)Pn7BcYXHzL*nsEtuo_&R0?;6 zb7vv9)10a*zB`z$?I8e^7aI&nijR<81+%==(6`tpqf!)mJqXNPi40?CEd)oOX;&%s6Tc-`I{G^M&9OM%qT8_W9FZ1ns0 z?=o?0%gN_6ASc19VY=1rZnp*XPUzl?iRit$+8$iNDpQ;hS z)kEifbaLkZZ@yOiV!U#K{?)5jOiWCioFzFq5Kok}5JrNa+Aq83JLADs1(c8D1g-f> z$;u{i8b~NB{{SATtD7dB^*t4lk%pyL#QoBCf3Aj#ippXle|w^UYzo)}fk4VNAT;#f zWKpWWf9F85AV5T|_f<8he{eH~FF_QsYLw?VA1sL89=0XgG@|i7@(_eSJmCN|td^R; z>FMdkv3(}xx2NsGO%q~cj&wX&xEss;$Zay zU8~yLxe8><+|PBqE{XkDfHCci6ok9*mL0`ToOfV^YksN3h{aU=b3U zTei~p-=^pUJ>nXzunVjX%jr^IJ>sYxLAO)WjwfI=Ncuv<*HP^MnVo~$J??IATU%T2 zFPa`&k^x;n2+GX=MGJPtdcO8qs$gsBUfMe!Y8o2#*e}k`Hj{%#wo+oCZocn0_YELa&|myCp$Y=kmfJ~4Zu)u z$AZLY#Uv!C;ULqUEk4{6p~7kLxRs3V&vmvlo(S*=q)uGue={QDEqO5_E!az9LbN@Er2mobT=PUbLP&gY zm{?dsf`e(W!vGF~*yXcXxV^tQU~Mo4GuF`-Nln2^U0r$(d!a~*>i>OLU@ zv@)!&83l{BDtWmboxc_HBKmeUgYzP_Oz@7y?9bG6f=XX!TRybPI{dHc} z;L_%%qzLBiBcOT12m`weXffOBxA;LWMMA-REC!im3`Krt@+wXToZ zay0;xYYz*m7FxMQ*8Tq9C?4DusFx@VrukET{4cD&q2c7@80j;R{0h}dRzMbU z$!_4ansIS+8`(?}@z9tm0K*4*8g_=g5OmrrK9=YVr$EIX=<7Q@IzkkDbOZo1{fT^? zCq(s)(~5RZPWvNS7%pl?4reX z3DCvW>v36t^HC~^A46y8cpfhT&&LNKAXp|yw*Ejce!7QzC;`6ZWWqxzelPyy7jXDA z3Edm@L@p-;w+0b<`p3k@&HWMX6epe4*w_ei3Iq+!H5~)2n~aR?=JLoOS&ji(2eyAK z?^6-*X0YZ;dvWm0W=_IxhwlFV&yDV`hK7dL)`iMUtTK};F7dLzlak2c3c9*W0IC)} zZ~kps6FIMSMS>NkfHXq2wztO;*DG#X1!5#wE?a?7B80dEtWoV613Wh{> z_~$yOicm80Jrnx5vFV7Y6|4nddsd7|-6uY(xTTf%#HMjV(?GAVsvi zh}lSHpy@gU3d>b)JnmsmJ`7qV%p5Lg4K*j_BHt=Qr{-3V_t=m~_YKjN|SzKHV-e8B8hAthzty zq-Zr69UXnl-h-kKx1tYM*i%7Edwca3lZ6ox5!fP^2>JhU;G{vMSSI>N2iEkmdl5dt$PluE01^q~isQ9v@F!{D@GD zQA+W$^fL0|;^Nz9*YA8#Vh&=yUhMZPbp4O|R-@(*Fyq3)!lL_0=-mSz$X?-rfl?nn ztP9_Rk`jxIH{ZPs8)OyCwl}r}=>U*eH7jpHl=m!0fHAyjnDLnB>RrnKWw*Ar=5>Aj zKWbXR-2~**l95-RuAQ!>vohtAmzPf&PT385Tn{6G zR2FqyZ$tg#wKJZ_2a+?8mT2H|NpFspT9Duhd8!2<9s#(_73qkYm~5VG4*L81SDB4& zfWrJ8#N%?=9~933B{DNK>Rs$~b#(#cl?=EXG+fNh&wIGLCnY8MJ$vypDM@zW(`8R? zZZ4qg_I7r;AG5=PgJroLXj z02Bnc=GO2sH7P2J%W{f?fq?-OL=_tI6&8~Kz?ZWf1?KAx8h3&7?Ci|cyPkkz=qbwM zWo&3DG#M46$G0ni^cgUHN(pg&u7p3ONDyr7PSnl8R7uEulb0x{sR1__9v;3l00kB$ zsImF@h^WSZN3X4|^~SO5)Vtv7R2X!It*sg6!@#0yfjh3OtbqJ4l{Et7w2QrIZgzI; z)K~87!2e#nu}uRvwE1BHU|D#yDmAt3Fn1jtKuDmU0B&DWQlgZroIMIkv_Al_LGDsv zig9bW&rbE!XmEQi;tE!NbNj)3biEtFA2NP7dU270-4hKPo8q-O;6sT(vI3}Dks|zc=0Sd;%0{O~YkzZdvfS+B zEuoOG@VNOGQ&UDLWYY;56*W=z_kRMV9$+TPU>Fq~cpUg=pw|ijl~)AlHZ}(jH%$*2 zgn@)I<~%?Dl#_Mgf_)%`=Sz59165)f$;}I2+Z1jLq|8N+i_eypmVlE_JgOe=AlqLG!jFbtDU|@dz+g;Dk}x75;)%;V21#HA?bQ;epb_^;svU+H}Y)J!>E~#!ZzQI zKo)Ac-eFEsUD@50dD*$l7%Jg|BnL?c)&3ESad*_~8EX*iZ$AV@DjzjJsyo%rm>3ve z&tq6@)F;#5`}<*$*^@g1X9Mc5k6t{dK?fxqYzht(Y_7um0UmJVgNp5W zy`2rJv-#d$461U#sDPj_=Hed#!+|O)Dl&g6G*ovQ|Dysps5A^l$*^=bt5Lwq%#0xl zybPM+QAqb<{Bbtk9xwVC z6OeS^zCZVI-YD5Gw?2g{C@2hpS^?lHIS{<$ngg5Zqs@kYiL>->tgYp1)kFzd%txu% z@Woey^px{ztXMrULoz(7`-$v-^@84ebg*GJr=#)*^L75xzb$c~AdTph8cHcCDFNXU zggIb4c3`MnWdXYtu`+f%Qc_Y1ia|TAB5ja~cVZF}0`tnh94yRp>eB)y{SGn@l#GRX zSNj?vE-pOLUOO$Itomb-RRZgRjlaL%Ekg16CW|CI88xoYheHR<7e+xtm4JGg#&n@> zL`+XfsS8psK$Ut-)m#-roqaYY~Z5G_Y%z&qY5O&(1 zo8Aisj%_nj-aR_XO;5iuDlhuE$~t-26r^ozJA@8IecGa?dp9s~S^80+xio_L1BGc> zHW}E28V(+JJ0N%fxHQ4@=P0PCUO*fY>sPBXte6dTQk;5D3}{rNK$?9BK@K#ZN!9B z=sp!{0TO35{)g~x9P}mRvfo2MsKy!*qW?W;dJr+}!tv7!3JOwY8h2nd)2s`9A$Sg; z&m|N)G%wEr2*RBqB&z^s0M4(iWe%JEM{-eOB(Sg1Vv5m_;s@yj;ZOXZ#0oRexdGS* zFj=_hkLeJo!%?t$TuPzorn8j=1q-A^lHd;9yR^i_#G)dbFIICt(LyeB4PUE3OhX=- zMt`y(A2YKBP(dN-LqiJGlKGk=8%|}*d5L5{lzx(D!!SMKIOumR5jVUon5_dVHt<}oS(&VmdAk~nGT zZ=fX5NQC5o@{!OBGrIe+CG$z!HA_BKWMUBh0{|a_-K(h0%A4TltTP~odLts8A1vye zy@;Q;-yX?AL_#_JH|q@S)M~Ojo>!&Y@*R|PIpaH^q@C$D*`F$*(MHkwOpNJwvGA20 z2!4PJsFKT5M}qzx2uoaL#|eq*Ih1V95y5$U0Mr@3e&ONcYgSs4kdT;d-i)Xq0*wq* zoc};ctgA~|cy1i~6yv#U(i=O_9sq>9Wwt+nBw4Ns@aN*Jf~6*a6#Vs|VG|&(jT8;j@yQ8j=K%#z zi*N-2S zyZ!mu>!=*Sp8fPd-e-w~6`OqL0j4c>=+Oy>8>#!Wq>XMn3M8xMfkq1xBV*U#;9z$* zkhyz-oNY5-YczNiUQc}&Ki>I_Z4X=S5UQ0V+O*&NZDIVU*s<0l<%@{muvrko#>NIR zDYyWmQ_TbUTPgQP?>bikh{bRJ8IPhTL6Vx>5ojB^kHKZcr7k8WW^KI>*uY+m_eEF} z{x9~qrc^})xx**=KUSl7ZR9S`K7GB9*qtc2S$w$X16~cD77~er>Zb$RoR2*#`JXW9 z=3nj8)2<-Zg3RmjuVRvmoBQ8MqRkt-QBy7}{x29wX?sEfPWg;Iz=Uk`4LR-pnTNHUyuEA3!UCxIz$FONX5 zot~WmE!OF{BD(DKVNUuzgmvDPt&fK6HZ8=ERRfMQvbiDQaU59dY;$v^Yi9P?ifF>pv)@WusHC!m;RngV;w!8cCNEcpPWv-H=tomm-Vx8{u)Vd*8 z0yJHLDdy$Nmw@+@hIUL(lVlg^ufJ=hrB!;u1ndNQ*=TJ-q4`4^$j;c+{<`X_SxO}= z!8da72r+6!MgkYTFkn8JFI#M}j$bQPXdV5f!$yg9RIe?onk+x~sE#1NGQbP+lUAb5 z$&Ag(@O@feSIPS}_yMx>HTR3|k$QvEPdNNk}7TWB<*L&z9<3uQ&n2x<$%RXBoDn! zE3Sl>Wm(ed#KcD5Ht4*h=xr#iPdt0~Y*Y8?yKnHOO{5|t4#Y9o$$H+r1SJzc`yex4 zoJg6T`Of@vR`|vr%sO?AabF~Rkgrs}OJq>h!ine+S&yN_Sbh%NCJTWfJfxVHxHZ8t z!LBD71F7M}C{*P|dhe|?G^Y3#ksHncxL58me|pvkx~`^&XS;`lE-2lQiZ3rOfn2AXzE5J*eH32c0l5>zn6Q)aR|nBys|~(()(wrmw`6vLmBo zRnh9hD(9}-f~awW@RZ#sp6lZ;v}3WBD-?T6c>EYqf8LhQSQp{`AJ*Qe5DNdgmWaksn zj!SSgYk88b<1J`hezncxOdksF82T0x3j)cTi)o{c672>PSo-8 zxbdghIXzg!cM?POM(=(QC9+2Wuq8=C2WKD*5KHdX3}r}x z=l+`8Pn;$`X+2?rftTjFiu%vU$f-JVQOAbbC~o%X4sSggy+T z+F9PkvjG)5itKf%Ay48|s0q)^dhrO|FXX|oC1iT-mwD5Ke6}Z=bsneJv!b`&IOyt) z_3ND!s}bEg84~l0RR}DDU$_HK{_UMs!WgD zO9fCc#ImWlxFmVpSiuz@95yq}D-U6x%hV1JR&D6^{&p&d$txMnHP~Xs%*Cwr(2y2^3?DVK*Yu>t-|ka2vbs2 zMf$!?6im0aMi}*47wDv(PwFW7QoCHAZa8ctx$YK#l}a#KU3QTDn=FiBBv@*A?3@Jt z0!mh{vNQ&UTcZwrGzsHY;ee9g?+-UcM(Pp}foM z-?WD5$PA9*1R!o#<0ju)2>(%jSBHxwxz|yeFX>)CEki4i{K>wQjpv8qmn9!`CVm-- z3m>5% zVbi;|H3s@pU*8AW#16BH5aph2$H`9x(hFtTjCA6EluO0MojtF+Yu@?9o^1MDJXukp z&D6{igmOjv_4(xX+fUAvu7QQWSY=Qe1D<9u)|w>CeY%wl3rt;{bHCiEVfD z^Tao=&vb+xB$oF*^#+o5^HhyK*PC_?#?@7?b#$71u7%^cy{7Nrrp;ueGjdKANK#Go zxGL4@ewhSxQ-2nneG*cQq}cPVEyZ>Yk8p~Me-i~@uYJ!ErMRy|El^!O(W zg+*NP2+%+e1A2j9ZLlOv9SKv5jp9HPyyFy~oVY~t?oA#Y3yFRn0-EL%-k&YHO9LrJY7-;AL4wW^ zazG7bkg+O>YIDkiUC8UeRK=nV1WbGb@HCPS^*?jyoc!WR;rh!>OS>GWqZIz4S6-Hf zBvhVF%LS++^H#Ihe>q z2MRzA;EK6u(?qJfy?wJcx@Sx0<5r9+6=X{I5Thi>cDA+M0Z|f^hO>pA3q#3PO?IEX zba$Su^hd?!O%xVfKh%Rqn7|;~h=zBq_U^Q1!kjtQ)&-~wprN>&>U4$ z(}4<${F+>q$Ag(vijMUwC<%E9exII_$-Lh*{`pVZitFsHbPo^{lI4gTQkjhlK7ZZk zV2*u84U2?oRMmrobc2JB_Yc}UL2 zYuPP`cmnIc4#8O-FIV$Fw4910c+iQt6%MJt1~RGyfzuj=t$6IQu_{OtiY{&2#JZdXaK~U@!;GlCOmvphCLyq zLk8nH2(_{OiT(n!kL1~$c3LAF{neyo+6h|k@|#|HY=B@cEL5XXWCG|*zg18r%ks6@ zY8H_A?Mq)CM1WwcK4rV&i3PvG9>*pKEA0l1Wmo9HS3)ZAhiLJ zk4Iw0&uRq9MX^j8hyBe>++k;N>*tFqO%g+KJnSw9EiOWXd++n(awPT+=6S+^of-Ca+K z0rlhGj&vMK`o$#OtHGE|ScGrrm$$*n5n-ZtnT4NkCN36GIbqL>w(}O8QI$U z61oEpnamexew0tDKEK*jst_=|I=+0kuL9XpQZjtvg;2b6sdB;o*JH!JOsVjPOB%Bi zV|YZ*Y#lg0c;mPqBEQx6^@73&)g(nQ&TTKgZ@T7grotp!Hg}20eLoQopueEa%;~}D zHV~M>e{a}EZriZQLS6*RAO0KpoBMdy1e-V^B-UbrJzvzg4|rb?H`l)P;sOwpdoT4U zC7!(D2(e=L5aCNl#mk;@q$Lg=;jYlI0_Q_O!vLHp6q(p|yeK`zkSCyl&!EBW`ADNE&jhU38O)UIq&6zam{7YzJ+>@L%r&+n?k-G2u?m!(P8I@yg;Bp?OMAd zkrC0wxV4^9FP_OOA6U#Mer#Flx4N}raJn#n!c_9(6Je+`{hbXVBOdeM6GBW{7hm6) zn`5H+_XAn)km69VSndvE%4w1-__87x2`XkP2}M%KC?3{suRwmJhLa}DIu4EaLZ~FD zhmnzgthPP&nS;(LV&*lMo)K=2kJtlAZ{$NMOYqa4QIt*K>Kfp`n(N|GwHm)TTK z8Cc)@&&rva#J;iy`WiEp~BDJMi^E) zsF>VoI47M#M0gt+?_UUg*9&yGFcWa@F*ZrcJT>v3&fn28jTtT!`ROHmN3Mi#k75mY z{XiLXK@ljO#HqDx--Vxbzol@_5fZ2F^H1ZuCzNu8huKE3=vwmWvnl_Axzs%jNk2O; ze{9fGN_>Zt&}KT&1;Jkne@1|EX>Kn!7R!Ix8&FZ34|^89)Ql$|sWziU^w?#6JkRli z8rRy9I=VaMEPup=6EB6DQ_zA2 zL75wO<%VBhjPy!pDb?r1w8LP7e5zW)Iw}gh%~ROoN%*#=~Q2P6xbbC7`Mg=nRwrJ-zfT zuL@6DLO6axQ~uhLql(WV-r!P0#h+NCO(l}2*Rk3+@AkG+N*jjVk)0S@1yC>di$FFl zO!=u($dJAYSs~^s2N9xJ;lpu?h?#8~{Z`*ZGP*U3R0K@-Gv~K=Af{=2rw*7&e;&i~ zBJJZdn517FtA8rG^X<<9W9F)nf4B|h?Up2Xioikd-l9Tj@z6dg!v|%rPCw>G<8xK5 zkZQO#7cPM|l4Q6cY3Rr#Q9j}rBFg+u^VkFmr)K5J(e%Cm_*^ zfd(PE3;O4|Lj8!{?w?S2d0Uvn>HfKJrj5t%xw4aoNM-IIYzBvnf4rfIkR;S&(;@u*fjH8{v)$ z^OvO+WtIOyKo(-0y5ftDAn*~WTheoLhfQZ**WIsZ;mENt4YUSrw0u-$lKS(X_ZR2+ z>ItaNDB)1~WTmIbhZ94Aw!WgeHgdf()~s?;{5L(!5UQGNhA@>?oY(xQf;I023S`$r z5LZ@fE--)DBcWx&(4H|+o15c{LV}QU*ut(X9+ukrsPal2YnI4Fum4Jek)xZ$^jX3X_MbB&DdfYtm~=D(z}s4Xo@%Ql#?pvI zZk@ShPM&aev~%!bPdSjuROP9~74MCP>P9LBj-z$j)n|o;k!aVOz#kxd`!$ z&1}?PAJEkKHx-@i-EhU^B*!8KGb7gyY1if8Ktbv@l%!Li#cYdE!9-Aq!OEZh9mR+j zEvC;wY)dBdgdr1|pl=3PcIpehO(rF&Z@Z$Y%D*XAK?RzQuZ~P;B&)bb?|#u_x>vS^ zUl{72c$XsmBN!yD|07~7b2jQd?9EhHSF*Ikn*VjiC7QUJKkl~&F$lfyPU40SB_n%n(b zqTZ@7;o&vYM9l;(Ri3gl;^CsH;cmQ#Gzm5Y_z}^kk0MEpyDHGWt!RfSY@eFry<3naQ;-ZrIlY9{Q|Y=12i`O<#al~R&_b6;JH#>$Cy+2c zF*pCxNfazNB-U_ZRxPzJi=zvBqO28n*uiA@mBk*RP{yyN`l4lmGI!dMjdysuK0YWz zL&DL*%7tGHeY7ew)I3x z;Ich0n%OuzOE_Y#*AT&yg^ia?0T+qu==L_C$Ch3`xjOQQF+2G=H4!YV z$ju?X;n7?{hpQ(0Ye_ZHNTDzil1QZh!tPTECi{na(#Lw>K)>-C~@Bot#M zk{ly>YGdn9Jg`8=DxL8C4tNP+d&M(T<7b!u9g!DOA4rq`kM5H6|fu3bDRn-Tumh^BbWCt=59vznKZ<| z|3&>Qmom2(i%IRLWr_P21fwwYXjMblzgI3A>QYYdRQ$Uy#5F=YuDz7S=9`Z))8An5 zx}cHxo_yku`?$T2R^WxaIoWHqB;)M6k80C{IpZVQ!&XlkN=TGpc`n}YPwNSLdNM?p zo7=|2#w~3>X~5CbvaE(Jj=*o+Bddxm%8`^$HTr_!)?3@7#q)h~&%r_8s=5(8c-7W+ z!e}gbLDBdd%*5{5sc#Tmgd^sXwbM?i$4qhigX+7;AG4PMObM{6)b@H;4PjM=Y9vop zmyFDGgkGeTpvc1rj^{p%u;Li+DFJbrtQUP75KYAWLVL1QZ97(F+Ex}1uALP^cY>Jt z2;V=ns_tY$6RMneT=Q=elNmv?sojozVe`4q84tk$YI_b0{_-I6$B`Tk^~_zBi&gpb zOnwv>g7c>uGUwfXo+7xY&9y{Q>?R@ZZzA>xhfHZY_HW6kj-iA{ni^qCNC`jEyEhy5W*tMZARiEa1%o%(sHNQEH1w*Z zH%Zzf_7ESX96@{at5?XVxQs6bfM>|Z=dT1*Y6P6OnunJOfNdV z_w_7s=fsOz8(?0uQEh}}DRs@4-2dH9K5wU&ZjX|L#zp+{Qr1o!$P@ccfm=Y$IV%`7 zn%{+sJ5zA1!6t-|)u8(31I@-Xsx}@{!*`#_Q_abtG#FTxfVOz}sVU!cUKUDegyC0s zdS)^jKbBHrvSBbmy4I8!?NJ##>#o9S#}N244}2H`If2xbdkjn7^OgLl$kF1+zzWyo zyeR^-S3FSin9T-xvN}ASinVg^Y+{;pXXE9pWVB9R-G7^W5cH>vc&On&4qIveqTsXp zh)p#H7kn%)Z_BhTz#3G=p(%;+{$0S36vLO8D5a@w86>9m%zq4Jefooo&uHh6WbD_p zK@QB`(o=h~T~-7!NY8h%Tx9W;;sPP22I$)M+aA+j+{nI!zyIdK6uPZ3avV!g^;WG_ z!@Q|;b(zCM2Q|B{^OKoaB~4d@ZS!qZ!Hb2G`l?}vmG2NPnEj9JOr`0g?Z_o(u!P0~ z!ZE(&Pb0r(L_!MSk$?`?(ZCHyOf0POLlWABEZSrmsZ?rQf{;<0w~a8sI`^~cYs9sR z7x&as`3@+7$rjMzd{j4MW>15}w#uixA6?H~$w!Cr4I|-`-+z8oJ|PJ75tD}b@+`cK z9GT4mAW;S0B!nXD_sWc@37E4@u4o!qY>xTSRsjC z)7LC*iYG*SwaehBF=OB>fh4YkD@n(MJUFwID^a1Jf?G2*6#MCCStL2IN3+N`h0;B?Bms^6Ytfw z=LFu=xUZi6MUjqgU2y@&jff(Kb&(MW0{c88r|A3k{iR>Lz$2@3Yq-47kl%VYX znt*ntMi?B^N5H}wgN&hf{Y3#U-+RB$cx|f-FEtq3ZGprHoFmZy`6fj)j7O7tXwNTN zL3Zfcb}r~|v#N@&drGqUfN2)jtEnK9=N|*9(+iNF=hf4H+A3*{Mc!jS)!a444VCxCj>)9yg!kG;dZ?NBA>w+a z=wO$jYRYDLtDkINXr1~hB{<2@YJsSGsW|;o<|oE60pg6BHj)gBAMQ-3^|u!;msECp zg78Lp4)V_BrprF}f^S0l=YF{3^ZN7FZY+2Wa=av&9V0#xHv@zZeIMhA?!HKw=+?HzMR}gi^sXh z)LP9aUsJ{+^OLx?faqsfJtfZ(`&vn>A}(6QkbQ)adaXyC!U^sQPh+u>*F<$03nvRN zDbp(~1UXF-R+Iw!>3$HMSCPt+3L->=nc z`mR>L;Jg@^8(?JNU6L%PQwe3CA53hxLuq^;ge5T%a4(o^pw^SGb;}sh4e4q8;2mD>%n+WqA?b&pg6<#mZI$ zv(e>uZ|#?qzgX1pxGW5orjLZ-=%YJosYOgm`Xok6NDFakY?Y9A8r>gB9)|-q`nrTR zG1>=5-@!i0c(B7d@S%~%?w5R(H4c4AAbE>d2HS7)nqx+tyv}g4sqFr}`H)}gvxNp_ zyZnYrvZ*1a<6OnDw$GrL=h;nMjq5g^r;%*jqssOeyB|LuC8#SZiu2jvg~tdAR^47( zWGL@6zua9a;}t8&Ba9M$_zjW&nw002bOXPgWoaJo6{iaM5%4Yy5^5aPJvBF%FZw`` zqT_NebXWA%|CzDFM4AVCr@VK6P88?SD_5d}b;#f?183a*MMbedeMxR+=2%9KA3SToHYD=Af`FcN0*GBAD1Sxmd!%nN~aHRDu^-zgbi+{JNU(+S1 z{*AWI<{$l~TvFJMk(9_#T-n%IsMvL2cRrX=Sy_I!i3deju9-zY#xMV~i?_CWI@gQp zH)b3mwRR=%c%f`DM5&A-wfx$W_(0BCs7{Lf=E9RV&^zQ#!&UU6)w7`fh*nrwhQUwB zT_%CAP}mKo%(OdMd$vVoXGcZCP;B3#+JSAe%^EF~oxC%i9}5kF{R*6#U^&!qx}9`b zYTne=wAfP6TOAk`cuVq6KKmW!vm=jvUnC7t3**1W?q&RZ$KD9p69ol2IS_~~Iu@b1 zDQa1`PbX~4G5wuYeZJ1@tFHMEbmwA?AD}=2k34DpFtx>O0*jZj4E1_wi6@$Nut;CAP zS-r4O>8%a1UduDvDp+}4reEAN-Hc}ky+B0D*Vz{_#bHpR-E*0bZg26lH`Gh!>n;73 z5=7r<&KxIMen=Twmvt0Py#IVb=_&Y|9~BeTlYg?zXP?i8hDE-`oTKkJSR5Jc@fBe^ z=Kb=z{rFdDQ*ko^$yZy<)w#N=7>m!XZ8hL+Ne+vT?^wG|)IR;M#{N5=>;L;7$EApr zY_hVlN0CkOKvtO{R3b##SuM&aBYTt?vI|HnDnevsgpfq3zSqa|_5S?%yIg*c zKVGkA*5m%TjdQN&dd|6?L*I4On6Gp@UEN>0lVz3V(Io{`rzO5$pQ{%X{la*dF7&Fe z+@~&ug*S~cmz;xqIt#kRB2!ZtV$Dd?3b&_u_6pcMZVwE!^ZII0tuv6f-%>Jnx4aGg z6upm~dBrtnliM|;{U)yh&#hjw&+BRueJpLt7|PERz_Krw)j3BuWR*AB+{r$NF89(! z=F%4Ck!d;CH%@5j;83)vHlStg@V!>@u6sFOgVxSug)RP%m8GM8#V$3+>Z84dzr*`V z?Z?V=)dX7B*M(o5mk`?_QG=>TzJia2HEPwo@4o)H{%Y*P;R|fSH-6ao|9QVy-jS}n zDleJTb>T2g_{0pXkIdVhc~;RsCuOclh@8KC^&nSEo^m34X$#vW(O%XXJ5p~rDA7Bm8%V-0sAZ8y{j;~LdcXNp%gHo_X#yC#bIcNDF*-Rz4i)7o zj1uMV+00jsQWV9MZD?7KA61#pjIn1<`k1MZ9oeB_-JqwdWGb9M$18VJN~DZU-gILj zN7<`mvHa=SD|fc=KTHQdC+JXcPnJm+Bo!HH@UZ7A`?Q{86Q=90qB|7n@0IXw==HO; zZ#B&gS8AkB$EBO_$62r9>(#e>oHPhg6`_4dl6xJn+clYOOg$8M!S2BigQXe4u#y)-M=T-X^`60*l zuct37+L?u^`=-#>XxDg6Rk%nGO#hfu4Wif>x)e-*fLu|`{MflCONvWnwVJ~HU8Z*i z)-LPyQ#&1IIeFsQ4YePy3&`w~KavZtvBlUk-4K-tXp}9jw9I@J8A7MsnRvgZMo9Dd z=kfMX$B{%C)}@u{<|{f=UMF9Zs+Wt$QUL$v6d@U4p{STFS6G3Bc@5G>Bnozc)_xf(r8_twi|Y;yLglYKYq zqw%f}aZ5EFbvj~~2;12W_K7S9@15qTNjmh2UV`=VVU~6FR?h`n1vucRi5)REiEdIzp=T(L*c9ahm$mN#!4=p zJHV8&NeyJY9rv9OPR-7Hc#X{i=^E0%mKQoi&l(xuPP44tuch23>eJPTKCfwCUjTQ^cGKC zak$}NFLv(yzOW{zbCMH1?-Ebfb~92sqBSiIsbl|DUiQw4pPKjR<_?ksZzZ+e;$fHS z!5%D^7yb}>#D=MY<a6&!frkUW!(9 zM~289Z;OgsH?BEq*v$3bu{MX%iP2iQb&BCOvN)YHL-#AH2ZA}nbvEwM{Ss4U;bfL6 zB}6g)DtdmWJYisMnoCb{>OkE^4u0-}cP2|aqYqC|`m07xIl0_aG~=7L7hu^-{$bq8 z;-&ca&-JARq@P%ZSE{8_-v=ZU}-d7DXOI zTcLZEhPDP{Xu_v_iSxCaXh_M+&PH*2nd|siYip~Y-w)}Mvp2sCNE~~XlijIHS4p4# zO+;I}gYGgv2*A+WkYVJImdzwN43i2Jz>74y8MPHmGcoJkT0# zedrGR@#6=Ff~SLlL9|6tMV!RLSl3_c#d*pRaqPGHEctgn64Pz1vkqK;{^L*2(eM^!NYXu)OixHz_Fz?IdWI`i?HNKj@7b7;wuD)eKk|w0+fb@1S2L zI=|45*PSYFocUbw!3FZ-#@!cdq{k!+WPLB1Ybm==p3!!Wwbs_|`SEpRL_i6uQBaU# z+@s;?S@z%ov)=QJ6kiX1v5b;dbdPU*9V|wRAX4mCP^r1JRPe{^kKxOxpHowcUt7ty zs_v*I29Kx607z+4yuUnB@vrLY#>Ohj<(aVKXbi=P#Dl~=SmI*;`-+B2#jBfh> z`{|FylPWZ|4D8i>N<;7ZlJ~lv4_c+r;PC0C>p1k+mWY4q!>jL}JF9;Fe!0s`l(+oG zy4&^nLqP^h>B|3o_xjJ}TYtB&LHOWO5BrNv(&C-W;>=uMHQbpR${Yt+Wt@CB7R?po zc_}i*ySLf4YPf^WQ$E{=M=JX}9hbLTH*sj9^{Tfwv6BtDB6S`!9oP-JyqTrlX0Mqg z>Ud~-n&N^_Vmlw}<)OnN?pDPj1$Q}Ne`^xx<#Rc$DRMdW_DihKA8(>C%z? zTkQgmAXm0k`t}&Fws-A9G~Yz%hhDT2o`sy!?b#)9!-)IK{aQuQ(i=YCdYhQfmK5GO z6q;RM=}wWEp&hqqCiDK;AGB|y^}D&HWlf1GkS6Q<_vZu4BPe<9PC+}dS4m3#vGL8l z$wN{s-0LUyJJ?&@t_~y@8vXR%&u_=Xg!gZ5bU7&C>gpf=!!SF&CNnDZQn2I>&jgv) z`t?6(O%^!$@bee@!7N{+;tL05y~bs{CddU9lW&vMK}bL^)nPD=rt##XW6J1M>U*r| z`N@u3T@8J?lM{{iz75%ZzV~^ekbOAwn8Tb$n?rEQ2#m$Y@AvjnQqK2gHln}%QPFwv zrTq2${Spl0XtC+dRNF~Py0~@Y)ZBqW!;TZ))TGBn6^#;v-KN{_y4KdW*=}sh=b?KQ zjjdQG)U!|YkVvQpzdr2xlQ3F|X5WA4FM{BdNT-M!`-2A$%)~zIU5k}q9}_+<@v{2* zDfIMuSe-X8xNw-|=}g@3D2}gVPmH02^+Ss%;>45F$9|TfnaG`;nT-u*(Eq$L-HZH` zXLTOvdpZ%p3hBFq87T%v#(B@`%Ui#AhX)-$e>FPSVpi~8IN|BdLG){kjxJOUMi;vd z*mbUXDV*l0v-tRJom2TbdewG3sCs;9az56l$+6sG3C9@)TSbyG@8lbFGEA;E>Y)Gi zy!~E{k00NcI>F#S9vw8DN?TU;%zt4jrdT(CYgo|d(32`ZfcBYTM-iixlGL!EAUj_+ zmW3a`&_m4~1a&>7F{y~f`m_Yv@PD0&v-=3& z<%Bj^GeHLQnjJ)c zIk9`?^j`Y*lMQ=Q@dxP8 z_C?PeIu~Ep)%lxee}|v)SsZdl`{zQe`^N3OJam95x1wd&p_fZ{IN(1all67a{w|y6 ze1cXHTWhUaK?P1LZuAe_qRlB}(d>f;z@oENFL3Ih~P*I96Gd*b zPYyw9hcD;B>a#;llg|ubJVxTMt z&65kbz4&y>%F0D$`yq@)?6`%WQ-)p(3~T6y-rKgeN+?M}Tj4bxudS^O&C?H+Pw~X` zk~O)_h^W7J%$YqYg&K3YF$6`(JQS2J?^bKrhqI^q02TRS^E#GlQnD7caz zkROvmr|ef&m!ap@%o67p2lCzqpcr6#dr^k*#fxw2_x2y;gpY-+-KQF#ap+dQeEBlR zUD}19EfxN9pusxU=G5Lq|v2@(-T?vM`e9N`q4&ip${+_B&enZOuRuZOMDdh_MtcwrG`( zVwLW2I2wun?RU%u^Oo2({P5IZ>DqY+J)m_l%KmNoE8kTc-Pm(Z-HZ6}P*H=b6m%7? zY^0(;9jD~U`vm|60a4Mt_tE}aOLW|5fm6P*p>*q4Sx%Edf7fJUBEx-gE6&geDa#{? z;-O(-zn~n19`1b+4E3FzL{EygGXJRv+5Z0iAOR>;z+~RLd-w0w>?1Bs3LHa-a#VTF z_pi-#ilwPl6!ZRSEUaPOOaAzR<;8|DjEyZNEloKuJDxr&PC(xe ze*`!GY^59b==`)EQKBYQ{_2?DZ)c@)XYCl8x7l%)^Jz=zE{7cMz;bq_$l@;j`G&r7 zN{?Mrlap&iNuRS-9#DcLA;$USG%uR#Au(|L-}ZN)T>HFdk8Thc z8xMCuZzC`u;Mkva@1E{CT&(oIY8`8QMm_&}o^Mo13hB$K~TZgHyUV zs&W$<+HwE>0rudam@YJwu+EmCE&lvM6!#KhoS&{gcm(YuCLY+yR7^Bq(0t5^Of zj#nf?mzAlleRP7ARJV8q54rDvwP$>9HA`#?Gt&EJY!p z#Z<_`CMYa?N|oMs2dze7{B1!N!#g?44ZmBJ#%8~W*L;3av)Hh;U0*ty_Uh;I=(kkm ztM*^IRv{-t^~)|#u6O#hLK+iq{mbAKE zjqU$o(TN7?A*YQbsY|=06IxnM=-fRjsh+JKtx0#_!2H~tgOk(Vu$fjgLbtWeK`t|X z3h)z>H{r|@)hitC^$qqb$+%EI243EQ~hW#O%S6&SHlL zqULnW%&i9>hlPYZhxXuCmE;_8(P13>l%%9T(8?iniOQ?7nu^j19n!w%QL(mv^n!(0 zYI5>$ftdt7J*B;|mY&|m>S{@8Y0ZtFE`EN0(R^A|RD|;bIk;i-45${F=o(sDip-xH z1e`E4HbxY-GwfP5;P+6;MMV$$)Ey_=9Fn&Qc?0l~X^Dya`D~i&((M!KVP}JV`OuL{ zCmrKabS9`5`VY|V*b+IVrgjk;cNu3?6HLv_P%|sk#GBdl{dHT{r0#78%jU7M*Hu+p zPzT6jue9feG6tfJ39}(`Z$JTix}nYqvKJR zgp!k!^&TFsZ)o6AQX`zRvH|u}xU8FJJ7FhO-Smp#5}zbHrm`zUfH* z65l(M$rP8B7#SHG21|S{HS+}h+F0rw7mD}HX;(xCeDj7u?|wFUm4>O+kehtdX@mPg{o}k6H)D+M2l*fOkqki9gCfJr zxWQtpD~^sa%%^(i*FS&$JpX7wy23nzzTQXUKzV(M`4N{d@{lpag&=O6si`Tt{{Kzf zI|z{nf|^=)cQ@MfpW8I=nIx|~y9^+KR_Ni!n)~VLC?4A6 zvP*gxoygl4nnc{T=-61Jf;6vH)8tBZkpP=R+!l-C6ni|PXFBQBQ9i3fCN5i8!f@f#oC(%d{v{;E9`1L*lrQczL-hKPV$ zJ3xrbSnWr|>`F>E5wGDQK9ssd?VgTrh@Y#5?&3R$vAC*SCxVxS%R#+}w$oBmPoF-G zaA$6Mx(w=WuCA_5m(i*W?VS>$^S`m-R&{pw?%jWT!dSRZ%FmGbKg=#wrwU6*cF-_z z$_q(+VR1*2Z`{6hzq*K3))J{bQ;Nab3eQL8Eu*^Z$L7;QmJeu`@{ETd6@n`aaYDS_ zzk3HgPkDsF=vBArb4nqDs4I2e`)#uiA3mIW{N%Is>C_XG2qYjvf&ibf=ll;?f~KY> zz{U%^Zvq5CeYN4y)2B~)>}3)X6QNyj5sDO@(^8_y}gSxFl%u|F(=XM}c{K&2wT!hDl1mdNlRcl^8tm^6 zi;D6`@DAYsNLr&E;uSoNGqi_@K5N{UyTvzu0k$#IW{#>A2s(CMYG)q$MJ$tB}FFW1aVkg0n;F#h6CuTzk@um zzRo-HMa8LSnWB|>Cj)pn#~}y&>VLs|0iZpA@$}6J-=(u?xDVlN;`BneICLcMY#CI! zfzY9zf&4k>h&BNr?ui_5YfzHJXNxJPrV~+X8-kz&9OE9 zX^NM3W-&f?sJWe#)5NdfD?@f8da@zc4=! zqnD<9Bhh0Ut3;8B2&~MU#DYTg`gPGa0}cPL7C_-%BZ7bd34-guQvQUQ4#Br z932~5xYg&=Um-I_{;2*=E1smKrKP&E@~E`*0Tz}nNS5&P+e3xT+}zxVD!Pp|QWpU53uSI#shvA_Lbcq&%+d0;`rQBe^Q&Fwt21ZV;5+)aJ9!pZ#d<;$w7^>F0+=}OvV zJZ5Ht(a|)iBu~Nn4G#XqEyLA?pdDBd>V5l~b(6v3L88Oi$w}em6VI&u`~EW+#-fCL zV|9^EP8s4us=v?gP2hCX(rSaW7Lgb8UAbUqXNUL$!W;0^0(^X*oohx!NiIMysRDrq z9z{?{$nnaRyqugrfUaI%UcLq>IU1|>D)>)1D?&;}=Gcu5(XnOf!3hXYc6W7wXd7~> zh>7XL#)BQp%*wKHbUeULd==*A=015MZ_`Afs8|E!=QDeqyje%HEK7)qdsh}2wl;x3 ztILV;#pg4=xkB2-XN(ODhF;(L4NM6EC0y>}%uH)LJB>*C3Ue-mr0=DuhHbU(U#NTd zB8`(%V)4Q&XtU!rIoPDd$1fmoZ`<|eO{G-@;3zJx49G^lxxE8RMv)119vj(xYHE!^ zK|xQS3Ufx`^95suM4Ww|47c4@xU~l7xeT!2xw&`!Th6wML=>KJCmt0YLYds1>gc4q@kJ+v zb_a_jHrr@lSJ52P80qc3{pr-|U!_of3wg=X?F9a|-5H_{36+|J*DQ8+$%}wx8#vKFEmF0q|@ysa-yO3M+XP3Q>VP#+@gE8IM~@C?xUI-;ACKA6#MuwuYZoa9DB+1v*qhy z8WeyKPYMd4-glNx;NWq;+JFE8gf{0&P4GJh_LBe0y^iP5*4DmY9~|P1D9)%ddR>X` z%9XEB;qf*N?vTTi5sBwS@pC$3dr9e8SbRYMG&B&Bswbd`hY=L{IXN?6G(eSfbayAr zc|Q&axqsib^rL!@YY9E1=980!9a28H^uS!>h(;;8*>-hz`9o#htXX>h{sTmxA(8A4~ViRN#5rk2;?@7J(bNL)k@*b`r$m?zY`2z{GR?`AI zsJCEupsr(Hewk4)aXWl&cGk?$a20{K&$Lp*Ar4m7%huK<;3+^91R79USXh`AStP{8 zAuv1e*Qcnk5OLPm`T3;e7QYc?rg9hv&2z7y&;q%yQ9D>+-b9E|&me*G7*^v2B85yAGLFnE5Xx-SGBhLy0}8%9P5KH`dKx)Vh6bWobx?SP+IPkl4b0i#hYy@bY?=Uaxf_CL zF1xrK^IjavH+)RKpY#5Mt&q{xxIPw2f&=tLhlhs|dPA~#8pJ!gWP>H*=Nb@1L8w(q zUVaPnPjvM3DoRV~Pa9cTL8JCJU@*=pO!~&g2EyLu^n?%Z-km;s_9kN9wKcE=53qp+ zQ(~%{2cQuPQh~U-%gaP@FJMK8-DtaRil?|$jpAGI?J#iId?+qXl*Ja&F)(C5d-fXa z2;6m5RTbhpui3WWH=@SUR?mZyMCn?!KGE&n$3rH57nCOj9 z4Xc0*5&~i$eTnpL`=4L|fv|D9jz~)<498V_FInj5=y-a18X5J&fhxMszSj$Cw_W)9 z^@gu6;tgsjop!H*3WajE$LZ7W0LcM?8z$VUFX;j`zIgr|lGZC58!lIWX({gHb7lg> zO%4ofM7jbY4HF|{@XP1l?m9R)?8Ptwph~>6p^1s}ckOdk9*4xlmY~)JbyCnn^A%#} z^!2|XK8N09VlRW!e6!Z@K-Tq*#VSb2xuiR2?c#^nD0K4j?``NB-mkw8{#5r;#Wk}m z#Hk>qV$(kIebOmgSXjV$j^+HYcpVXYt}%afN3l&aAXmw_`Om!$JA3mODAIHrsQ|Z<~dK;}*!7 zfB@3aWj0dJBM=+|rCC~98Wp9V(mvIErM&dT3lI*VAI#35r`}KMa2!BCF)faHRpE_@52D!Q_Vt@h;Y($)kL|p}@8()P@g#iO>?LS(&ciw*lyjSs=lC0d^7RZym ze{XWRGwilFNmQ$dnAjf#O+;mDAXXSuUF&P-O-vH%>i$7ZY~Q|pFqw->OB1RjOL-L) zGKz{L;L$(?BWv-Zq9U27tYRamu;70#B{))UxlzJ5nr?|rFaPhAxdd`3nFSPV@KjXR2@A@^UrSOalER7k{1wzX-6R`+4Uzm3i^u>AotltlVsg^_mF^qe)7?FG3JIYH9r4+vz?+6a3B@9pzs$Ac32`=RHVfgc|Q31UruV{`?mO`=me zE!XQ#??2f@2?B=?065FlL&d!RrbnXC}75x70MgRKuvLf|8dQ77U;2LR!+9lE{@9S9<1)0=! zGYSjYX=vQQx#Z^ZYp2#BGQ>54rOY0f=dv&;JOgIt1QsYr{c-a{m9y6k=bD<-VLs=( z7U(1ZKBc9lw_9P@6>pLMMu1v#^@6Fkwj<>30NUsj{0W2rj61;_iJSo1#LS?0jIs!g zw9?Vp6V-av({oo}fK78qT-*RQCC80>wYZ%2orR9BZp{*tUF;Nm^QT(!y?ghjD_!Hs zjH|o#`vV}AEqN9rFXX-%3Hiuu_kKy{n0LqBzzx|mtievw9CiW8!l{Q2|0r@-K(#ok>$oiHB@o+{m6e5aM(q3i z`C;(~y0y|cvABNNy)L-#wl)Wx*l7{W0of$V$`=<~A#DgNvRWS-OD7>AaqiqFoGK`M zL&ckB1{^2wdv0dt5r{P6c*OFyOjAMQ+k9F0QMWzSaKpaiv=jSIY}P1o7VCsC9>%7oPjh(1_qVBt67NtVVi+bkY3PxbZqI%m%GPrtWIh` z)|ino0rpryULMnp#zsa`M#J!nME)M3>0SqbTq8(IA&arGsmvUK@yrKE+?A6ZHJmChB?SJk{VlB`MJ$!ft zVu+7VL=Y%);3?zdp+YWEdH?Ct%K({ryDnK86X;g6#~Pk^EwVma0Kv(3fn(@;@}2X zvb?a6oR)SfZy+!*&>xbtFkzFi_zn0pT`es)509*~`CpYQsW;?m@@zDi#LTtuP2Bys zXos5THX{tSotNHpbwnoNw7cScUosZmzs`4VsP$6mM}V0;_Px~9EfNTG1@zNzf(ird z=yxciViwPT^5hgM8Cs_%?y67czy+8Y8R?ul1rn(+KYwL?9TuP0uM?TA6OVJUvuRG* zflNR18leg-CUQy`%%(w9UH&=OH-*#6J$@42(_HieVorJXNX$(^Tnq?zj|OEKEDt)* zA&+55Oh&-r>+9+9E7467diAQSY(itRLK8*#Lc=NwgcIH5RLa)u>}d(OKa1&EjKyaU zytsMw#m>O`GZ=y}^VzlT&xzWNA3t6}g#P;V>a?^^SmRv%N6)gegLaRtsLM<$;V1w| zUNkhMb&-$13RaV@xV)?^WDuYTB9u^2Er0%8&i`*M$m<-bK4eEB;i!i$Vi6-VGiFcj3`LPdU$diqMnQb?urD>)ISE!$owkyyWsYnq`aw|~JT9;)zHMS*q2T}b z=3hxjJp(@=jCRC*%F%s*w3?ZvWkF#f&>rxk{`MF!A?yUO)EnckJ(&#LVPt(Bm8><+ zG#d8Zi(mrJh%%iSj^zEDRP?E|{P~$ejDtB_>r0eX#sPF-N@!#xQP0=dcmQt= zy~>P&0^)!oVCVl>kZ5S*1{oL{#uOKS!-Wg7jYj#-d1MS=5iNg=M%=#-t#8C9VS_1l zfCaO&BLMe`iu+lQI$&TPB4;%UM$9CFuY|F2_wrhzPJGp!+n;uCiA;z|eWb{5=bJ9? zvn3SVG-AGdFPh<#aHQqgdyp#>q_Zlu-xuC2dF047z;?t{2ytl%dHRoJq@+qqN~}vi z;ts;4L!bFB%vQ$tC=4`eYs)Vw>1%Dh_wSspZYKzLOyYtoJ9VlX`P`w8AB)bvg47X~ zvftsTv9U4ee*kduKw5hG0h2f;5)L!b5GGQ-3-)zdc&O)PHmWeZKyj%u6*!`%QOEtZ zA8t#ee^`HSW(7U*=qQlYD3qG}_xIaBhoi|wMPf&|&uVH4AnulsD9+E<($^>QiqkQAHw0iuvGjQb~sqLz}2trfq7uKxFO|D*;JF*-VGK^ZJ0xcA_(T3yrMuwg&e z*ZDj>I5^S}5V_=oL7n#f^GmwoUaZ_TU!@IZFpOHy< zb+MKD%zGYruz&?mpIUINGEz}7iB?|w&L4BAx>E%3#1YXlf)UB9UryqhYo}t!nJ<#$ zK$$zFs6xVl9B~bQZEa~!SoE`@_;Vf;R&WgO!V#bfkNJwQ?>(}=Qvl;+s=6TYIeXedOau z3;`&ww%FArx}t%+1W?_`$OxOj;Db^YO3X^@w}3_Zv%Q_Gmv$Y1@LBb%16&-)dB{V8 z8(}L5K117)Pq{X<1Y}}Gz&^cv>5nk?v?7-zPB>sHqAG=(n}_A=^V7Fa8yg!C-6 zlY`@x(?`kLQf88}M+h7MdS}6%5hr7`eu|OVdE+RnGfJ7@@<9ioHe~JfIz#j^QKl<6 z6!<5ejn3kU_`ay@G_j7BmM@4&C^C^xa?`oJ@i;g4!{4!V7G)o%a7G&9>&?_^M`x$I z4kd{Ly+Ya;RJ1{6&WD3fI10i?NvRflP+QCHQM_a6+m9dc#A!zHpA6Y(mrnv|_vUJn za7mx4u&VY{IH&M+?as2O1$RJ`>#dj)6H`+eNy&gPGTVbsdYs5e4ySV135FY9 z7$m}-5B*ig${3L3T6)@Y?pGFBRlwPt3mS|H1sb8@5Wt82K3vZV`{v|l4DxU|%6e_Ix}w4x z+U3MtrMGuF9tw3Do?c!kQahoypue?eFS!~lE9$nU*=wBr!cDh8YTn&{&~LVfV@^lM zxGdvL9|IdBBhsO^_VzNU#QP8Ii`2Ee`rT$i2upCUs`$P!-PzUgbF5B@)3qaB2QlGKM6AbX+Z%ZyICM%?YRQ?s!^DQ zKOnK3`TtFLQ~{wftSzJF0kHuW0)M*@U5V7`d4c1g*+7H1@E zGroGs&W^I$KvrELi>x{94Q?!A+(+;^5Vgl(9>8@hjrVuT%yTBsmdpx8*@k3X^_OY> zDbYEO{Q)yXPe(^XK*i6~LgK5dvy)BE?E=Dej3~0-gvwecV#{{J|NlYkQxF(3@I;Bi12 zKzY<ZOdC3Ux4eKwLIuP9`}a}ftk`$C^K+M}PzX|) z0X9HkY^O<{5B*-GCg}IwMa?g%jyWug*BW1hw zWq7+A{y~KT>}YsuLvwfcsoFcH92^|Z&PyE~I#yQWC?tk2iZ~$E(%--K5<{o5zGHY3 z%0H>5d9mY!if4Wsiw6i=h^RJ|B!OgbMiE)AtgK-0$(ki#bJW4(Ep~$DE|_12Iwv`H zJq%A?7F?NHSg5}B+uNxylzgDa)g1$aovtVx5h&iGtBtvm_HbJ6FN2}z8(BQ@>XOmX;o|q8q92jSsF!g`QzwV{GL^5Aj3?cXqqqiiU-5E2pT?CQdh1z@qDaIv_a_jM_vf;%*;$c4^D+{YTlo5(m78=7pMRL-GE_6A^x(?!|PwVG3^dk zNadLaw;837Y0JLC=#jYA$Vcoq_|zp`g@T@@O;OUV_*_J(@&+ zShS>Eyv{s-#g-TeQblc9ZiDt|*B6h#M=9tl)cVV_z$!tXG8-k{-) z5pMcyqpeN3<$Lw2l()R}(WArhlGNpfJkgt05T88eaPeZ`!3_X z{L8%TX@Kd$rc+3)d@ZiCQHxGUV5FnN(3LfC^;4@(Yor!`H9|pHRpBVX&0x@<+A|(9 zvS8HO{B6G2M9cm4i@O#*x4Pcu(3h7aw(4bR1t=?V>+8t10pLUv;OcZcJ#aT29pSZX zbiw^jlPnpmsZ+sAfvC3Cg>e8L;8rSb&#g7PwbjZ>Ijjn(7u*sV{j4WX+7F&Vb*R`X z6G2c>@dnJdaqh|bZbXSbNa3Su4cAqL0^mOMD;rWclT^1*c!xs4#w96bWd!^)Ge4*( z{X`Cfv;kjmwQ3XvKeW4XBHUPSBg`?{xTkpa%U*&O-VtG6@1M^uS;*@H-OJH?@L8A} zIHhDIs5XP}^~H)IX?#RRMh}tamu0QNxGS1Yh4*by6S01HjydviuWUN$1Ps7b4Cqf!Z45}f=9#^a075W_I7p{SR)`V?g9f%k%>@* zsU7Y~3M@dw7N%Zt`E7eDC?7k<`M}-N)9FWeO?5TOt!i)mP8`y$Kt>C0sHxG777GPDDmd8fZ_(Uppe2I_V^LKA zTspiZw#iMm3&dZQMs*ON(T;tT|~bF?8|SE z3<&msI1+mzv^C2zh9pcDiA7LiRfzrPDW*{TOpyuRbkePX7uEB*=WI z(@_+nM<<#J+Q{gI^uYW&dVx?X4-sbgK^y@1C|D9W>s%P1Vc(<^kLSOB#WXiS|0tGM zvBn`yd?0u>C31}!M5JM<>*6tc^P{0?Vh$Y!D@2#C8H5UU%Zf!*&!PYjCk)sC znYWYt^v6w|Jn+1*0tE#H7{Lfu1+zRbVb3;Nq^-P^Mbb6|8HBpJI($IQJSbSiI0z;_K8IC>H?x1+TJuEE;5y8TxRlw z)GN-m-UTKZDLXrMsq~ZdMkvv(_0pae;bOj9V@&>KM}~5;lSyKRiHg0K2$Q>T$j@Uy z?PH8E%#@sTy`k?02jga&RuvCU^X?@NY@ATZ*^x%^ptHHE%krFvN|IPex2S)vI!QD? z@{+#8<&{eIeaduyh00lKd%t4R>`K|~o-9zb|0}a9`$y;#K7j-n3@qlO-MPL~A?C#k zNpKSzf{7;{BMWdisS97om(3{syy}aB3Vh6?JG2x}5Gv-ItoH4Tz)8f|r#CxyDuf3G z?II66f?Ax8N$nQ~?Fes}85lxj75PYR(t_@63d^bN+^#k;Fu=GPdwY9$k^sD4II^*K z?~+qdQH2?5aInxYkL2(3Q_aI>RwKiK3pI1>8avk`nE53X3w1p_f@mQ~k>GddSe^h# zq_V}q;&I%C%#GW6+(=2oUy6&1``%G#j^MwqXkLbYprmhmOL>RN9=sEAJ{!_DD6T=H z=eQ8J(k@3|zHN6`N#v{X(ctN}*5~P!P4ZI1S{L~@JJ&{Y*9$W;1k4idh(n?+A+_$UL08XhXXAxB=e=H9tCc> zas9fD`D9(1{N=_+d+2wA`yvl-MhV0O+#;$*E<8G;lAQRdyL$;p0S0@ZuMZ(p5N%%N zifw0PNm*IyQO8*Hl3=>|*bPz=zEiM1AOT=Afj&?G(SG4@TbA?t9RBbRZ{J2WPJnSr zeL>Gjq7{jN>JqFs$_5cBqTsR7X!@;$XtFVnP0t5_id41dI9z$oMa9L%MMcd?mbeC2 zE?FTwuhz^S*#3BV`dagi%U=Lla{ zAug(3L=k3ldUe{AJTG0-@C%*eq;%n~jCtpu3-;iPROLsEm={ET5jW!XYfdZOAQ95r zDr5t=aS`DP|$`voCeu9lsa@)N$dr-a}vNd*8u305>6BfEAc{ zpOA3|6QG;@fp$>we8t%rwR!%8XPacEqD*4xnkZ@jxeyW|*4*VGmkQ7ieiAo>CVU9F z?ja4Z?O^hW#@xvXi$KvwXU|l_D;KO(@p8Jne(4VPaJONu`9wYIHnXCplS~TcL-{I! zC<5S+IePT-m!=uaj&T7V9h=*4LCuvcEkM4fJ=Xa2X}*fnZ=xGN2Q~Igt+oY1%`HyU z0(Tsji#VY;yaKx~k~EY?r%rYAi4Cozr1S^A4+1IO{M8A*2We^RJ7y za4vp3Vn`CxExP=THuhr4nV_UYuIJU-5|lF4gLI`7JO-u@l8@@S z={BBVzrm?)+(h<4|GW2KZco^>6$wrAsNew_{9|=?p}BRilDvu$Xjuly-zr2ddi# zc*flemMP-er&oQ0$OLK-g2p+Gw(C)ngcK_4MDP6l%{DK{K@XGgqFOIXCY=?3&}|=g zi+ZwasM6Sm56tMUJ~~v?-$ZWXi^ym`R>lPmRX(|p7eo>Ga-ojCf%iU2 zKh?kE|2DMVyxz%iblLW|-rmt@#WdUINo!x86R7q_U0aC_))Wi>^B2qB6KZNZ!<%_h z%n2o278$&C-xy@8mF-QRVr@9JTKp%Kty(`MC9OvAD zlkx~T!S|JIT@Z=ScH0iRzGowuhHQR$LB0>zA2q4{m{#GT)x48S>Z$H)`!CJSpK>s0 zGBSELCYr{l*y}Ev3=3{~&BG_I@C;{^W@YUwQMV*pFW`D zBH$}bX)5}WBa_94M}ctiMnJiYiYCLzP$7lZ#l4YWuCl2 z+DytJTiTSR;n%meTT8+E-QCfy&8XgaPp1!|k^I+c$!+*lT2uD;X9un5wjJQ0@Cl+3 zj`7+vdy@Cjy~*%0g*--est_)V7dAo@%6^|>XUSt9jI8`SjX%Ii>2Vu;HrIJ6UG3v7 zj}-HGmnjxDmFPzG!1IUBn=$;3G(KiPe&xbz#$Na14<*@B$E7EHG($cROhx^D;>KSz z^3kb?=EjZ_)~+O+S=aT}0W7D83d-_t;GHlNExfd=$;RIDN48LP&SLQxB`0N_af9o4 z`)dmM^?k~E8G${DIZvWztBt&c9#``E?oHpOs)za5NaL~a^V!8f6;gO+{aSKb#;IFd zvUmA<`17Y)UF|8^kQr;Tv)|h7E@+?Vrl}xsg5a)0@q?avPsvVd`Q=lbgF#31RLZ=0 z+Jf^czcZBf95mz`YYsb9*6}UeplnYTnYw`}k4D4RAIHB%#zL1ejw7XWbusd)_7#E4A#%!eg!Sn}6>82s9-0|X zNV3WkO{XT}d+ctQW*Dxw|C6ZGQ7wU03Z)qg+BR+NMjk6VIccdLL`+YR!48FVzyicN2oUz% zcGzLgB!)_;bo+{{N_0exYLeSBhPQ?P`!ACJ`wGd5*8lz;1xae+>;JwETl&9$|KHdD l-;e#jumAt~>zn)k?a%#E-FRkf)t~tHv^Dh9pAjwu{C^9@oKgS) diff --git a/docs/guides/Orion.png b/docs/guides/Orion.png deleted file mode 100644 index 314dcebb05e6a1439ab2373a5c003d8bc4dec8ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110926 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 z 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 TI-{F}00000NkvXXu0mjfK((<} diff --git a/docs/guides/OrionCloudPack.texinfo b/docs/guides/OrionCloudPack.texinfo deleted file mode 100644 index a2bf653a78..0000000000 --- a/docs/guides/OrionCloudPack.texinfo +++ /dev/null @@ -1,632 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename orion-cloud.info -@settitle The Cfengine Orion Cloud Pack -@setchapternewpage odd -@c %** end of header - -@titlepage -@title The Cfengine Orion Cloud Pack - EC2 -@subtitle A Cfengine Handbook -@author Cfengine AS - - -@page - -@cartouche -@quotation -Get the Cloud under Orion's belt with the Cfengine Orion Cloud Pack. - -This document describes the Three Steps you need to bring reliability -and efficiency to Managed Services running out of the Amazon Cloud. -Set up and tear down machines as you like, and bring instant -configuration and compliance, with self-healing to your business. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010- Cfengine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@menu -* Introduction to Orion:: -* Some background on EC2:: -* Prerequisites for setting up Orion:: -* Three steps to the cloud:: -* How do I know that CFEngine is maintaining the system?:: -* Benefits for users running CFEngine Nova:: -* The Cloud Pack Nursury:: -* Orion Support:: -* Orion License:: -* Cultural References to Orion and Cloud:: -@end menu - -@node Top -@top CFEngine-Tutorial -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node Introduction to Orion -@unnumberedsec Introduction to the CFEngine Orion Cloud Pack - -@sp 1 - -Welcome to the CFEngine Orion Cloud Pack. This version of the package -has been designed to work specificallgy with the @i{Amazon Elastic -Compute Cloud}. It allows you to configure a cloud computer or -`platform instance' to run common services in a reproducible and -maintainable way and without human intervention. - -@sp 1 -@cartouche -The CFEngine Cloud Pack is not a tool for performing elastic scaling -of services on demand, rather it is a simple repeatable process for -speeding up system installation with automatic self-healing, for a -consistent and compliant outcome. -@end cartouche -@sp 1 - -CFEngine is uniquely suited to work in the Cloud because it is capable -of install systems and maintaining and repairing them with hands-free -capabilities that cannot be matched by other software. -The CFEngine Orion Cloud Pack may also be used on any other non-Cloud systems -that run the base operating-systems discussed here. - -You can thus -test and learn about CFEngine using disposable Cloud `instances' and -then use your experience on more permanent hardware elsewhere, if you -wish. Or, you can simply use the CFEngine Orion Cloud Pack to bring up -cloud services and configure them to a desired state on demand. - -@node Some background on EC2 -@unnumberedsec Some background on EC2 - -If you are familiar with Amazon Amazon Elastic Compute Cloud (EC2), -you will find the instructions here straightforward. You can -choose between these alternative paths: -@itemize -@item Do It Yourself: launch your own Amazon Machine Image and install CFEngine -on your own, then install the Orion Cloud Pack software and continue. If you choose -this option, your CFEngine policies are only examples and are unsupported. - -@item With our Help: use one of our publicly available images, located -in the Amazon storage area, which has CFEngine Community Edition -pre-installed for your convenience, then follow the Orion Cloud Pack -installation procedure to continue. You will then have access to 30 -days of E-mail support from CFEngine, with a maximum of 5 enquires. -@end itemize - -@sp 1 - -@cartouche -An Amazon Machine Image or AMI is a pre-configured server designed to -be launched and available on demand. Each AMI template has a unique -number of the form @code{ami-XXXXX}. Advanced users may also create -their own images customized with applications, data and configuration -settings as desired. The AMIs are the @i{baseline} or starting point -for Cloud Computing. -@end cartouche - -@page - -@node Prerequisites for setting up Orion -@unnumberedsec Prerequisites for setting up Orion -@sp 1 - -To get started in the Cloud, you will need an Amazon Web services -account and some familiarity with either the web interface or command -line tools@footnote{This booklet is not meant as an introduction to using the -Amazon EC2. See the Appendices for references to Cloud Resources.}. - -@sp 1 -@cartouche -You should know something about configuration of -@i{security groups}. For a start-to-finish guide to launching an AMI -and setting up the CFEngine Orion Cloud Pack see Appendix A. -@end cartouche - -@sp 1 -@noindent We have published the following AMIs on EC2 storage for your convenience: - -@sp 1 -@multitable @columnfractions .33 .33 .33 -@item @tab us-east @tab us-west -@item Ubuntu Server 9.10 32 @tab ami-XXXXXX @tab ami-XXXXXX -@item Ubuntu Server 9.10 64 @tab ami-XXXXXX @tab ami-XXXXXX -@item Centos 5.4 32 @tab ami-XXXXXX @tab ami-XXXXXX -@item Centos 5.4 64 @tab ami-XXXXXX @tab ami-XXXXXX -@end multitable - -@sp 1 -@noindent You should subscribe to one or more of these. The following -sections assume that you have already acquired such an instance. - -@node Three steps to the cloud -@unnumberedsec Three steps to the cloud - -To use the CFEngine Orion Cloud Pack, there are just three steps: -@sp 1 -@enumerate -@item @b{UNPACK}: Copy the CFEngine Orion Cloud Pack to your EC2 instance -and unpack the files in @file{/var/cfengine/masterfiles}. - -@item @b{CUSTOMIZE}: Edit the policy promise examples for your purposes. -In particular, look at the master file @file{promises.cf}, comment out -or uncomment the promises you want. The default promises construct a -PHP enabled webserver. You should also place the IP address of the policy -server in the @file{policy_server.dat} file, like this: -@example -echo "@var{IP-address}" > /var/cfengine/policy_server.dat -@end example -This tells CFEngine where to look for the cloud pack. If you are -running on a single test machine, you can make this localhost -(127.0.0.1); if you are running several machines, make it the first -machine where you installed the cloud-pack. - -Fill in the @code{policy_server} variable with the appropriate IP -address in @file{update.cf} and @file{promises.cf}. This guide assumes -that the single instance your hvae created will be its own policy -server. However when setting up multiple instances one or more may be -‘promoted' to be policy servers. - -@item @b{ACTIVATE}: Run @code{cf-agent -f /var/cfengine/masterfiles/failsafe.cf'} -to start CFEngine management. -@end enumerate - -@sp 1 -You now have a running `instance', with services configured and -maintained by CFEngine. - -@node How do I know that CFEngine is maintaining the system? -@unnumberedsec How do I know that CFEngine is maintaining the system? - -Execute @samp{ps aux | grep cf-} to see cf-agent, cf-serverd and -cf-execd in the process table. To test self repair try stopping the -web server. - -@page - - - -@node Benefits for users running CFEngine Nova -@unnumberedsec Additional benefits for users running CFEngine Nova - -@sp 1 - -If you have access to a commercial edition of the CFEngine -software, such as CFEngine Nova, you will have a number of immediate -benefits to simplify Cloud Management. - -@itemize -@item @b{Knowledge and monitoring} - -Without any further configuration or third party software, you can -monitor your cloud instances with CFEngine Nova's reporting features. -You can add special logging and see performance trend analysis, -integrated into your Nova Knowledge Map. - -@sp1 -@center{@image{monitor,10cm,,Monitorng,png}} - -@item @b{Compliance reporting} - -Not only will -you see the automatically integrated policy documentation but you will -be able to trace the behaviour and utilization of your systems over -the lifetime of the virtual instance. - -@item @b{Set up databases using @code{database} promsises} - -Most users working in the cloud are running some kind of Model View Controller -web framework in which a database (like MySQL or PostgreSQL) features -importantly. With CFEngine Nova, you can also manage the creation of -databases for the setting up the data services and applications -inside PHP, Java and other frameworks. - -@end itemize - - - -@page -@node The Cloud Pack Nursury -@unnumberedsec The Cloud Pack Contents - - -The files in the Cloud Pack fall into 3 categories: essential set up -files for getting CFEngine running, examples of pro-active maintenance -and examples of basic machine installation and setup. -@sp 1 -@multitable @columnfractions .35 .65 -@item @b{Essential Files} @tab @b{Description} -@item @file{promises.cf} @tab Main configuration file. -@item @file{update.cf} @tab Update configuration. -@item @file{failsafe.cf} @tab Falisafe configuration. -@item @file{cfengine_stdlib.cf} @tab CFEngine standard library. -@end multitable - -@sp 1 - -@multitable @columnfractions .35 .65 -@item @b{Maintenance examples} @tab @b{Description} -@item @file{change_mgt.cf} @tab Implement security tripwire on files/directories. -@item @file{ensure_ownership.cf} @tab Home directory ownership and permission maintenance. -@item @file{fix_broken_software.cf} @tab Package installation and permission correction. -@item @file{garbage_collection.cf} @tab Log rotation and removal. -@item @file{harden_xinetd.cf} @tab Disable xinetd services specified. -@item @file{iptables.cf} @tab Secure system with sysctl.conf and iptables. -@item @file{name_resolution.cf} @tab Edit /etc/resolv.conf to the specified DNS servers -@end multitable - -@sp 1 - -@multitable @columnfractions .35 .65 -@item @b{System setup examples} @tab @b{Description} -@item @file{c_cpp_env.cf} @tab Set up C programming environment. -@item @file{db_mysql.cf} @tab Install and run MySQL -@item @file{db_postgresql.cf} @tab Install and run PostgreSQL -@item @file{db_sqllite.cf} @tab Install and run SQLlite -@item @file{jboss_server.cf} @tab Prepare JAVA environment and run JBOSS. -@item @file{nagios.cf} @tab Setup NAGIOS monitoring node. -@item @file{nginx_perlcgi.cf} @tab Setup NGINX webserver perlCGI. -@item @file{nginx_phpcgi.cf} @tab Setup NGINX webserver phpCGI. -@item @file{ntp.cf} @tab Setup NTP server and clients. -@item @file{perl_env.cf} @tab PERL programming language install. -@item @file{php_webserver.cf} @tab Setup a PHP webserver. -@item @file{python_env.cf} @tab PYTHON programming install. -@item @file{ruby_env.cf} @tab Setup ruby on rails environment. -@item @file{sshd_conf.cf} @tab Ensure sshd config is correct. -@item @file{tomcat_server.cf} @tab Setup a tomcat server. -@item @file{varnish.cf} @tab Set up Varnish web accelerator -@end multitable - - -@page -@node Orion Support -@unnumberedsec Orion Support - -@sp 1 -Your CFEngine Orion Cloud Pack comes with 30 days of email support to -help you get started (@code{cloudsupport@@cfengine.com}). Support -applies to the single individual who is recorded as the purchaser of -the software, unless otherwise agreed with CFEngine. - -On receipt of a query, our engineers will respond -withing 48 hours on business days for a maximum period of 30 days from -the date of purchase of the Orion Cloud Pack. Existing users of -CFEngine Nova will receive support transparently under their existing -support arrangements. - -Support queries may cover issues connected with the use of CFEngine -Orion Cloud Pack, but not with the use of your Cloud provider. Support -does not include the development of new solutions or other consulting. -Users are free to seek Professional Services from CFEngine for such -matters. - -@node Orion License -@unnumberedsec Orion License - -The CFEngine Orion Cloud Pack is not Free or Open Source Software. -It is provided under a perpetual license as part of the -CFEngine Cloud Pack (hereby called The Software). The Software may be -used within a single Internet Domain. If no Internet Domain is -registered, it may be used within a single legal organization -possessing a maximum of 1024 computers, or by a single individual with -up to 250 computers. Multiple licenses may be purchased, as needed. - -The Licensee may modify, adapt and create derivative works based upon -the Software, for use within its organisation and for sharing between -other consecutive licensees. However, the Licensee shall not -reproduce, distribute, resell, rent, lease or disclose the Software in -any manner or form to any other third party not holding a license for -the Software. - -The Licensee may not transfer any of its rights under this agreement -without the prior and express written consent of CFEngine. - -CFEngine does not transfer any copyrights or other intellectual -property rights relating to the Software to the Licensee. Such rights -are protected by intellectual property legislation in the United -States, Europe and other jurisdictions and by international treaty -provisions. CFEngine and its suppliers retain all rights in the -Software that are not expressly granted to the Licensee through this -license. - -The Licensee is not allowed to remove, alter or destroy any proprietary, -trademark or copyright markings or notices placed upon or contained -within the Software. - -To the maximum extent permitted by law, CFEngine disclaims any -warranty for the Software. The Software, any services and any related -documentation are provided on an "as is" basis without warranty of any -kind, whether express or implied, including, but not limited to, -implied warranties of merchantability, fitness for a particular -purpose or non-infringement. Hereunder the parties acknowledges that -CFEngine does not warrant for the performance of any data centre on -which the Software runs, or the absence of any errors in the Software, -and that any such errors does not constitute a contractual defect. - -The liability of the parties in contract, tort (including negligence) -or otherwise shall for all incidents during the entire term of 30 days -from the date of purchase be limited to a half of the fees paid for a -perpetual license. CFEngine or its suppliers shall not be liable for -any special, incidental, indirect or consequential damages whatsoever -(including, without limitation, damages for loss of business profits, -lost savings, business interruption, loss of business information, -personal injury, loss of privacy, loss of goodwill or any other -financial loss) arising out of the use of or inability to use the -Software, even if advised of the possibility of such damages. - -For third-party software that is integrated with or used by -CFEngine, the current terms of the relevant third party software -supplier shall apply. - - - -@page -@node Cultural References to Orion and Cloud -@unnumberedsec Cultural References to Orion and Cloud - -Orion, the hunter from Greek mythology, was taken by renaissance -mythologist Natalis Comes to be an allegory for an approaching storm -cloud. - -Better-known today, Orion is the name of one of the most famous and -studied astronomical constellations in the night sky. It contains the -three bright stars of Orion's belt (the three steps to the cloud) and -the @i{Orion M42 Nebula} (a gigantic dust cloud): -@url{http://en.wikipedia.org/wiki/Orion_Nebula} beneath its belt. -Now with the CFEngine Orion Cloud Pack, you too can get the Cloud -under your belt. - -The Orion Nebula is, in fact, part of a much larger cloud or nebula in -the constellation of Orion -(@url{http://en.wikipedia.org/wiki/Orion_Molecular_Cloud_Complex}). We -chose the name Orion for our Cloud Pack (apart from the obvious puns) -because we believe that Cloud Computing is only a stepping stone -towards what we term @i{Molecular Computing}, in which many -independent platforms and services bond together to form @i{network -patterns}. These patterned systems act like molecules with new -properties, bonded together by @i{promises}. This view follows -naturally from a description of computing using Promise Theory, -replacing traditional monolithic and hierarchical systems with a more -natural form of engineering -(@url{https://cfengine.com/inside/deepBackground}). - -@sp 1 -@center{@image{Orion,9cm,,Orion,png}} - -@center{Hubble Image: http://apod.gsfc.nasa.gov/apod/ap051013.html} - - - -@node EC2 Cloud Command line setup -@appendix EC2 Cloud command line setup - -This Appendix details the creation of an EC2 instance, i.e. the -pre-requisites for CFEngine installation, using a command-line approach. -You may also use the web interface. - -For greater depth and explanation of all the commands and options see -the getting started guide: -@smallexample -@url{http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/}. -@end smallexample - -@sp 2 -@enumerate -@item Create an amazon web services account and sign up for Amazon Elastic Compute Cloud (EC2) at @url{http://aws.amazon.com/ec2/}. - -@item Login and go to the access identifiers page. - -@item Create new X.509 certificate. - -@item Download the private key file and the X.509 certificate. - -@item Download the EC2 api tools: -@smallexample -http://developer.amazonwebservices.com/connect/entry.jspa -?categoryID=88&externalID=351 -@end smallexample - -@item Extract the tools into a suitable directory: $dir. - -@item Setup EC2 control environment: -@itemize - @item Install Java - @item @code{export EC2_HOME=~/$dir} - @item @code{export PATH=$PATH:$EC2_HOME/bin} - @item @code{export EC2_PRIVATE_KEY=pk-KEYNAME.pem} - @item @code{export EC2_CERT=cert-KEYNAME.pem} - @item @code{export JAVA_HOME=/path/to/java/} -@end itemize -@item Create keys for accessing your instances: -@itemize - @item @code{cd $dir} - @item @code{ec2-add-keypair keyname} - where 'keyname' is users choice. - Save output to a file: -@end itemize -@itemize - @item @code{vi $dir/keyname} - @item paste in key and save. - @item @code{sudo chmod 600 keyname} -@end itemize -@item Choose an Amazon Machine Image (AMI) to launch: e.g. @samp{ami-6d0be204}, an Ubuntu 9.10 server with CFEngine community pre-installed (small instance in us-east region). - - - -@item @b{Warning billing begins after the next command}. Run the instance: -@itemize - @item @code{ec2-run-instances ami-6d0be204 -k keyname} - - Note is it possible to launch an instance without specifying a -key but it will not be accessible via ssh if you do not create one. The selected -public AMI is an Ubuntu 9.10 i368 server with CFEngine community -installed. -@end itemize -@item Get status of your instance: -@itemize - @item @code{ec2-describe-instances} - - This will reveal the external URL to your instance similar to: - - @code{ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com} -@end itemize - -@item Allow ssh: -@itemize - @item @code{ec2-authorize default -p 22} - - Note this will allow ssh access to all instances in the default security group from anywhere on port 22. - - @item Allow http traffic: - @code{ec2-authorize default -p 80} -@end itemize - -@item Access via ssh: -@itemize - @item @code{ssh -i keyname ubuntu@@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com} -@end itemize -@end enumerate - - - -@node EC2 Cloud CFEngine Configuration -@appendix EC2 Cloud CFEngine Configuration - -You will need @code{root} access to the Amazon instance. -@sp 1 -@enumerate -@item Copy the CFEngine Orion Cloud Pack to your instance and unpack it: -@smallexample -scp -i keyname cloud_pack.tar ubuntu@@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com -mv cloud_pack.tar /var/cfengine/masterfiles -cd /var/cfengine/masterfiles -tar xvf cloud_pack.tar -@end smallexample - -@item Set policy server ip address: e.g. - -@code{ifconfig eth0 ...} - -@item Copy this IP address to the policy server variable in the @file{update.cf} and -@file{promises.cf} files. - -@item @code{cf-agent -f /var/cfengine/masterfiles/failsafe.cf} -@end enumerate - -@noindent Note billing continues as long as instances are running. -To terminate an instance: - -@itemize - @item @code{ec2-terminate-instances instance_number} - The instance number (i-xxxxxxxx) is revealed by running: - @item @code{ec2-describe-instances} -@end itemize - - - - -@node Integrating the Cloud Pack Futher -@appendix Integrating the Cloud Pack Futher - -The Orion Cloud Pack is delivered in a form that makes it easy to choose the -services. As you move forward, or want to integrate these methods into a larger -framework, you can choose to alter the way in which you `call up' these -methods. - -In the Cloud Pack, all bundles are listed in the @code{bundlesequence}, -making them simple to compare and comment out, but we may also re-bundle -them in a single bundle like this: - -@verbatim -body common control -{ -bundlesequence => { "update", "main" }; -} - -@end verbatim - -@noindent To re-bundle, we create a single agent bundle (e.g. called `main') and -call the bundles as method promises. An advantage of this is to make it easier to -classify different parts of your configuration in a single location. For instance, -you might want two groups of servers supporting different platforms, one supporting -Ruby and one supporting PHP: - -@verbatim - -bundle agent main -{ -methods: - - group1:: - "environment 1" usebundle => ruby_on_rails; - - group2:: - "environment 2" usebundle => php_apache; - - any:: - "common" usebundle => fix_broken_software; - "common" usebundle => garbage_collection; - "common" usebundle => harden_xinetd; -} - -@end verbatim -@noindent This approach allows a great control over the execution of the bundles, -with additional transaction controls, but cannot be considered superior to the simple -list used in the Cloud Pack. Ultimately this is a question of style. - - -@node Ubuntu quirks -@appendix Ubuntu quirks - -The Ubuntu operating systems does not have a root account you can log onto directly. -You first log in as the @samp{ubuntu} user, and then type @samp{sudo su} to become -root. - -@bye diff --git a/docs/guides/SpecialTopic_Adoption.texinfo b/docs/guides/SpecialTopic_Adoption.texinfo deleted file mode 100644 index e70d6dc158..0000000000 --- a/docs/guides/SpecialTopic_Adoption.texinfo +++ /dev/null @@ -1,297 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-adopt.info -@settitle Adopting Cfengine in Your Organization -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Adopting CFEngine in Your Organization -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine is a framework and a methodology with far reaching -implications for the way you do IT management. The CFEngine approach -asks you to think in terms of @i{promises} and @i{cooperation} between -parts; it automates repair and maintenance processes and provides -simple integrated Knowledge Management. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What does adoption involve?, (dir), (dir) -@top Adoption -@menu -* What does adoption involve?:: -* The Mission Plan:: -* Commercial or Free?:: -* Installation or Pilot:: -* Identifying the Team:: -* Training and Certification:: -* Mission Goal and Knowledge Management:: -* Build:: -* Contact CFEngine:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What does adoption involve?, The Mission Plan, Top, Top -@unnumberedsec What does adoption involve? -@sp 1 - -CFEngine is a framework and a methodology with far reaching -implications for the way you do IT management. The CFEngine approach -asks you to think in terms of @i{promises} and @i{cooperation} between -parts; it automates repair and maintenance processes and provides -simple integrated Knowledge Management. - -To use CFEngine effectively, you should spend a little time learning -about the approach to management, as this will save you a lot of time -and effort in the long run. - -@node The Mission Plan, Commercial or Free?, What does adoption involve?, Top -@unnumberedsec The Mission Plan -@sp 1 - -At CFEngine, we refer to the management of your datacentre as `The -Mission'. The diagram below shows the main steps in preparing mission -control. Some training is recommended, and as much planning as you can -manage in advance. Once a mission is underway, you should expect to -work by making small corrections to the mission plan, rather than -large risky changes. - -@center @image{MissionPlan,10cm,,Mission Plan,png} - -Planning does not mean sitting around a table, or in front of a whiteboard. -Successful planning is a dialogue between theory and practice. It should include -test pilots and proof-of-concept implementations. - -@node Commercial or Free?, Installation or Pilot, The Mission Plan, Top -@unnumberedsec Commercial or Free? -@sp 1 - -The first decision you should make is whether you will choose a route -of commercial assistance or manage entirely on your own. You can -choose different levels of assistance, from just training, to -consulting, to commercial versions of the software that simplify -certain processes and offer extended features. - -At the very minimum, we recommend that you take a training course -on CFEngine. Users who don't train often end up using only a fraction -of the software's potential, and in a sub-optimal way. Think of this -as an investment in your future. - -The advantages of the commercial products include greatly simplified -set up procedures, continuous monitoring and automatic knowledge -integration. See the CFEngine Nova Supplement for more information. - -@node Installation or Pilot, Identifying the Team, Commercial or Free?, Top -@unnumberedsec Installation or Pilot -@sp 1 - -You are free to download Community Editions of CFEngine at any time to -test the software. There is a considerable amount of documentation and -example policy available on the cfengine.com web-site -to try some simple examples of system management. - -If you intend to purchase a significant number of commercial licenses -for CFEngine software, you can request a pilot process, during which a -specialist will install and demonstrate the commercial edition on -site. - -@node Identifying the Team, Training and Certification, Installation or Pilot, Top -@unnumberedsec Identifying the Team -@sp 1 - -CFEngine will become a core discipline in your organization, taking -you from reactive fire-fighting to proactive and strategic -practices. You should invest in a team that embraces its methods. The -CFEngine team will become the enabler of business agility, security, -reliability and standardization. - -The CFEngine team needs to have administrator or super-user access -to systems, and it needs the `headroom' or `slack' to think -strategically. It needs to build up processes and workflows that -address quality assurance and minimize the risk of change. - -All teams are important centres for knowledge, and you should provide -incentives to keep the core team strong and in constant dialogue with -your organization's strategic leadership. Treat your CFEngine team as -a trusted partner in business. - -@node Training and Certification, Mission Goal and Knowledge Management, Identifying the Team, Top -@unnumberedsec Training and Certification -@sp 1 - -Once you have tried the simplest examples using CFEngine, we recommend -at least three days of in-depth training. We can also arrange more -in-depth training to qualify as a CFEngine Mission Specialist. - -@node Mission Goal and Knowledge Management, Build, Training and Certification, Top -@unnumberedsec Mission Goal and Knowledge Management -@sp 1 - -The main aim of Knowledge Management is to learn from experience, and -use the accumulated learning to improve the predictability of workflow -processes. During every mission, there will be unexpected events, and -an effective team will use knowledge of past and present to respond to -these unpredictable changes with confidence - -The goal of an IT mission is a @i{predictable operational state} that -lives up to specific policy-determined promises. You need to work out -what this desired state should be before you can achieve it. No one -knows this exactly in advance, and most organizations will change -course over time. However, with good planning and understanding of the -mission, such adjustments to policy can be small and regular. - -@sp 1 - -@cartouche - -Many small changes are less risky than few large changes, and the -culture of agility keeps everyone on their toes. Using CFEngine to run -your mission, you will learn to work pro-actively, adjusting the system -by refining the mission goal rather than reacting to unexpected -events. - -@end cartouche - -@sp 1 -To work consistently and predictably, even when understaffed, requires -a strategy for describing system resources, policy and state. -CFEngine can help with all of these. See the Special Topics Guide on -Knowledge Management. - -A major component of a successful mission, is documenting -@i{intentions}. What is the goal, and how does it break down into -concrete, achievable states? CFEngine can help you in this process, -with training and Professional Services, but you must establish a -culture of commitment to the mission and learn how to express these -commitments in terms of CFEngine @i{promises}. - -@node Build, Contact CFEngine, Mission Goal and Knowledge Management, Top -@unnumberedsec Build, Deploy, Manage, Audit -@sp 1 - -The four mission phases are sometimes referred to as - -@table @emph -@item Build -A mission is based on decisions and resources that need to -be put assembled or `built' before they can be applied. This is -the planning phase. - -In CFEngine, what you build is a template of proposed promises for the -machines in an organization such that, if the machines all make and -keep these promises, the system will function seamlessly as -planned. This is how it works in a human organization, and this is how -is works for computers too. - -@item Deploy -Deploying really means launching the policy into production. In -CFEngine you simply publish your policy (in CFEngine parlance these -are `promise proposals') and the machines see the new proposals and -can adjust accordingly. Each machine runs an agent that is capable of -keeping the system on course and maintaining it over time without -further assistance. - -@item Manage -Once a decision is made, unplanned events will occur. Such incidents -traditionally set off alarms and humans rush to make new transactions -to repair them. Under CFEngine guidance, the autonomous agent manages -the system, and humans only manage knowledge and have to deal with -rare events that cannot be dealt with automatically. - -@item Audit -CFEngine performs continuous analysis and correction, and commercial -editions generate explicit reports on mission status. Users can sit -back and examine these reports to check mission progress, or examine -the current state in relation to the knowledge map for the mission. - -@end table - -@node Contact CFEngine, , Build, Top -@unnumberedsec Contact CFEngine -@sp 1 - -Contact CFEngine today for more information: @code{contact@@CFEngine.com}. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Agility.texinfo b/docs/guides/SpecialTopic_Agility.texinfo deleted file mode 100644 index ce638c2aab..0000000000 --- a/docs/guides/SpecialTopic_Agility.texinfo +++ /dev/null @@ -1,1293 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-agility.info -@settitle Agility in Infrastructure Engineering -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Agility in Infrastructure Engineering -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - - -@cartouche -@quotation -Agility is a widely used term in today's fast moving IT industry. It -reflects a need and a desire to respond quickly to changes in the -environment. This document explains the management factors that -affect speed, agility and scale in common scenarios, and what CFEngine can -do to help you be agile. -@end quotation -@end cartouche - -@vskip 2cm -Last updated December 2011 - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Understanding Agility, (dir), (dir) -@top Agility - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@menu -* Understanding Agility:: -* Aspects of CFEngine that bring agility:: -* Agility in your work:: -@end menu - -@node Understanding Agility, Aspects of CFEngine that bring agility, Top, Top -@chapter Understanding Agility -@sp 1 - -We intuitively recognize agility as the capability to respond rapidly -enough and flexibly enough to a difficult challenge. If we imagine an -animal surviving in the wild, a climber on a rock-face or a wrestler engaged in -combat, we identify the skills of @i{anticipation}, @i{speed} of response and -the ability to @i{adapt} or bend without breaking to meet the challenges. - -@itemize -@item Anticipate. -@item Act. -@item Adapt. -@end itemize - -In infrastructure management, agility represents the need to handle -changing demand for service, to repair an absence of service, and to -improve and deploy new services in response to changes from users and -market requirements. It is tied to economic, business or work-related -imperatives by the need to maintain a competitive lead. - -The compelling event that our system must respond to might represent -danger, or merely a self-imposed deadline. In either case, there is -generally a penalty associated with a lack of agility: a blow, a fall or -a loss. - - -@menu -* What make agility possible?:: -* The capacity of a system:: -* Speed:: -* Precision:: -* Comprehension:: -* Efficiency:: -@end menu - -@c ..................................................................... -@node What make agility possible?, The capacity of a system, Understanding Agility, Understanding Agility -@section What make agility possible? -@sp 1 - -To understand agility, we have to understand time and the @i{capacity} -for change. Agility is a relative concept: it's about adapting quickly -enough, in the right context, with the right measure and in the right -way. Below, we'll try to gain an @i{engineering} perspective on agility to -see what enables it and what throttles it. - -@sp 1 -@cartouche -@noindent To respond to a challenge there are four stages that need attention: - -@itemize -@item To comprehend the challenge. -@item To solve the challenge. -@item To respond to the challenge. -@item To confirm or verify the response. -@end itemize -@end cartouche - -@sp 1 -Each of these phases takes actual clock-time and requires a certain flexibility. -Our goal is to keep these phases simple and therefore cheap for the long-term. -Affording the time and flexibility needed is the key to being agile. -Technology can help with this, if we adopt sound practices. -@sp 1 - -@cartouche -Intuitively, we understand agility to be related to our capacity to -respond to a situation. -Let's try to pin this idea down more precisely. -@end cartouche - -@c ..................................................................... -@node The capacity of a system, Speed, What make agility possible?, Understanding Agility -@section The capacity of a system - -The capacity of a system is defined to be its maximum rate of -change. Most often, this refers to speed of the system response to a -single request@footnote{Capacity is often loosely referred to as `bandwidth' -because of its connection to signal propagation in communication -science, but this is not strictly correct, as bandwidth refers to parallel -channels.}. - -In engineering, capacity is measured in @i{changes per second}, so it -represents the maximum speed of a system within a single thread of -activity@footnote{For example, for a single coding frequency, the capacity of -a communications channel is measured in bits per second, and the -bandwidth is the number multiplied by the number of parallel -frequencies.}. - - -@c ..................................................................... -@node Speed, Precision, The capacity of a system, Understanding Agility -@section Speed - - -Speed is the rate at which change takes place. For a configuration tool like CFEngine, -speed can be measured either as - -@table @i -@item Clock speed -The actual elapsed wall-clock time-rate at which work gets done, -including any breaks and pauses in the schedule. - -This depends on how often checks are made, or the interval between them, - e.g. in CFEngine, the default -schedule is to verify promises every five minutes. - -@item System speed -The average speed of the system when it is actually busy working on a problem, -excluding breaks and pauses. For example, once CFEngine has been scheduled -at the end of a five minute interval, it might take a few seconds to -make necessary changes. -@end table - -Engineers can try to define an engineering scale of agility -as the ratio of available speed to required speed and ratio of number -ways a system can be changed to the number of ways imperatives require -us to change. - -@sp 1 - -@cartouche - -@i{Agility is proportional to both how much speed we can muster compared to what is required, -and the number of change-capabilities we possess, compared to what -we need to meet a challenge. In other words: how well equipped are we? -As engineers, we could write something like this:} - -@verbatim - - Available speed under control Changes available - Agility =~ ----------------------------- * ----------------------- - Required speed Changes Required -@end verbatim -@end cartouche -@sp 1 - -@noindent Although such a scale might be hard to measure and follow in practice, -the definition makes simple engineering sense@footnote{If available -speed matches need, and we have the capability to make all required -changes, then we can claim exactly 100% agility. If we have less than -required, then we get a smaller number, and if we have excess speed or -changeability then we can even claim a super-efficiency.}, and brings -some insight into what we need to think about. -What it suggests is that agility is a combination of @i{speed} and @i{precision}. - - -What is required speed? It is is the rate of change we have to be -able to enact in order to achieve and maintain a state (keep a -promise) that is aligned with our intent. This requires a dependence -on technology and human processes. - -The weakest link in any chain of dependencies limits the speed. -The weakest link might be a human who doesn't understand what to do, or a -broken wire or a misconfigured switch, so there are many -possible failure modes for agility. An organization is an information -rich @i{society} with complex interplays between Man and Machine; agility -challenges us to think about these weakest links and try to bolster -them with CFEngine's technology. - -For example: - -@itemize -@item If we think in terms of -services, it is the Service Level you have to achieve in order to -comply with a Service Level Agreement. - -@item If we think of a support -ticket, it is the speed we have to work at in order to keep the impact -of an unpredicted change within acceptable levels. -@end itemize - -What we call `acceptable' -is a subjective judgement, i.e. a matter for policy to decide. So -there are many uncertainties and relativisms in such definitions. It would -be inconceivable to claim any kind of industry standard for these. - -@sp 1 -@center @image{agility,12cm} -@center How agility depends on technology measures. -@sp 1 - - -We can write some scaling laws for the dependencies of agility to see where -the failure modes might arise. -@sp 1 -@cartouche -@i{The speed available to meet a challenge -is (on average) the maximum speed we can reliably maintain over time -divided by the number of challenges we have to share between.} -@verbatim - - Expected capacity * reliability - Average available speed =~ ------------------------------- - Consumers or challenges -@end verbatim -@end cartouche -@sp 1 -This expression says that the rate at which we get work done on average depends -no only on how we share maximum capacity amongst a number of different consumers, -clients, processes, etc, but also on how much of the time this capacity is fully -available, perhaps because systems are down or unavailable. - -The appearance of reliability in this expression therefore tells us that maintenance -of the system, and anticipation of failure will play a key role in agility. -Remarkably this is usually unexpected for most practitioners, and most of system planning -goes into first time deployment, rather than maintaining operational state. - - - -@c ..................................................................... -@node Precision, Comprehension, Speed, Understanding Agility -@section Precision - -Acting quickly is not enough: we also need to be accurate in responding to -change@footnote{In the 20th century, science learned that there is no such thing as -determinism -- the idea that you can guarantee an outcome absolutely. -If you still think in such terms, you will be quickly disappointed. -The best we can accomplish is to maximize the likelihood of a -predictable result, relative to the kind of environment in which we -work.}. We need to be able to: - -@sp 1 -@itemize -@item Model the desired outcome accurately in terms of universal policy coordinates: Why, When, Where, What, How. -@item Maximize the chance that the promised outcome will be achieved. -@end itemize -@sp 1 - -@noindent Precision is maximized when: - -@sp 1 -@itemize -@item Changes are `precise', i.e. they can be made at a highly granular level, without disturbing areas that are not relevant (few side-effects). -@item Policy is able to model or describe the desired state accurately, i.e. within the relevant area, the state is within acceptable tolerances. -@item If any assumptions are hidden, they are describable in terms of the model, not determined by the limitations of the software@footnote{In some other configuration software, assumptions are hard-coded into the tools themselves, making the outcome -undocumented.}. - -@item The agent executes the details of the model quickly and verifiably, -in a partially unpredictable environment, i.e. it should be fault tolerant. -@item If the model cannot be implemented, it is possible to determine why -and decide whether the problem lies in an incorrect assumption or a flaw in the implementation. -@end itemize -@sp 1 - -@cartouche -CFEngine is a fault tolerant system -- it continues to work on what it -can even when some parts of its model don't work out as -expected@footnote{Other systems that claim to be deterministic simply stop with -error messages. What is the correct behaviour? Clearly, this is a subjective choice. The important thing is that your -system for change behaves in a predictable way. -}. -@end cartouche - - -@c ..................................................................... -@node Comprehension, Efficiency, Precision, Understanding Agility -@section Comprehension - -The next challenge is concerns a human limitation. One of the greatest -challenges in any organization lies in comprehending the system. -@sp 1 -@cartouche -@i{Comprehensibility increases if something is predictable, or steady in its -behaviour, but it decreases in proportion to the number of things we need -to think about -- which includes the many different contexts such as environments, -or groups of machines with different purposes or profiles.} -@verbatim - Predictability (Reliability) Predictability - Comprehensibility =~ ---------------------------- = ---------------- - Contexts Diversity -@end verbatim -@end cartouche -@sp 1 -@noindent Our ability to comprehend behaviour depends on how predictable it is, i.e. -how well it meets our expectations. For technology, we expect -behaviour to be as close as possible on our intentions. CFEngine's -maintenance of promises ensures that this is done with best possible -effort and a rapid cycle of checking. - -To keep the number of contexts to a minimum, CFEngine avoids mixing up -@i{what} policy is being expressed with @i{how} the promises are -kept. It uses a declarative language to separate the what from the -how. This allows ordinary users to see what was intended without -having to know the meaning of how, as was the case when scripting was -used to configure systems. - - -@c ..................................................................... -@node Efficiency, , Comprehension, Understanding Agility -@section Efficiency - -Finally, if we think about the efficiency of a configuration, which is -another way of estimating its simplicity, we are interested in how -much work it takes to represent our intentions. There are two ways we -can think about efficiency: the efficiency of the automated process -and the human efficiency in deploying it. - -If the technology has a high overhead, the cost of maintaining -change is high and efficiency is low: -@sp 1 -@cartouche -@i{The efficiency of the technology decreases with the more resources -it uses, e.g. like memory and CPU. Resources used to run the technology -itself are pure overhead and take away from the real work of your system.} -@verbatim - Resources used - Resource Efficiency =~ 1 - --------------- - Total resources -@end verbatim -@end cartouche -@sp 1 -@noindent It is a design goal of CFEngine to maintain minimal overhead in -all situations. The second aspect of efficiency is how much planning -or rule-making is needed to manage the relevant issues. -@sp 1 -@cartouche -@i{The efficiency of a model decreases when you put more effort into -managing a certain number of things. If you can manage a large number -of things with a few simple constraints, that is efficient.} -@verbatim - Number of objects affected - Model Efficiency =~ ------------------------------- - Number of rules and constraints -@end verbatim -@end cartouche -@sp 1 -General patterns play a role too in simplifying, because the reduce the -number of special rules and constraints down to fewer more generic rules. -If we make good use of patterns, we can make few rules that cover many -cases. If there are no discernible patterns, every special case is a -costly exception. This affects not just the technology cost, but also -the cognitive cost (i.e. the comprehensibility). - -Efficiency therefore plays a role in agility, because it affects the -cost of change. Greater efficiency generally means greater speed, -and more greater likelihood for precision. - - -@c ******************************************************************************************* -@node Aspects of CFEngine that bring agility, Agility in your work, Understanding Agility, Top -@chapter Aspects of CFEngine that bring agility -@sp 1 - -We can now summarize some qualities of CFEngine that favour agility: -@sp 1 -@cartouche -@enumerate -@item Ability to express clear intentions about desired outcome (comprehension). -@item Availability of insight into system performance and state (comprehension). - -@item Ability to manage large numbers of hosts and resources with a few generic patterns (efficiency). -@item Ability to bundle related details into simple containers (comprehension without loss of adaptability). - -@item Ability to accurately customize policy down to a low level without programming (adaptability). - -@item Ability to recover quickly from faults and failures. The default, parallelized execution framework verifies promises every 5 minutes -for rapid fault detection and change deployment (clock speed)@footnote{Two related concepts that are frequently referred to are the -classic reliability measures: Mean Time Before Failure (MTBF) or -proactive health and Mean Time To Repair (MTTR), speed of -recovery: -(i) If we are proactive or quick at recovering from -minor problems, larger outages can be avoided. Recovery agility plays a -role in avoiding cascade failure. - -(ii) If the time to repair is long, or the repair is inaccurate, this could -result if more widespread problems. Inaccurate change or repair often leads to -attempts to `roll-back', causing further problems. -} -. -@item A quick system monitoring/sampling rate -- every 2.5 minutes (Nyquist frequency), -for automated hands-free response to errors. -@item Ability to recover cheaply. The lightweight resource footprint of CFEngine that consumes few system resources -required for actual business (system speed -- low overhead, maximum capacity). - -@item Ability to increase number of clients without significant penalty (scalability and easy increase of capacity). - -@item A single framework for all devices and operating systems (ease of migrating from one platform to another). -@end enumerate -@end cartouche - - - - - -@c ..................................................................... -@menu -* What agility means in different environments:: -* Separating What from How:: -* Packaging limits agility:: -* How abstraction improves agility:: -* Increasing system capacity - by scaling:: -@end menu - -@node What agility means in different environments, Separating What from How, Aspects of CFEngine that bring agility, Aspects of CFEngine that bring agility -@section What agility means in different environments - -Let's examine some example cases where agility plays a role. -Agility only has meaning relative to an environment, so in the following -sections, we cite the remarks of CFEngine users (in quotes), and -their example environments. - -Users' expectations for agility can differ dramatically in the present; but if we -think just a few years down the line, and follow the trends, it seems clear -that limber systems must prevail in IT's evolutionary jungle. - - -@menu -* Desktop management:: -* Web shops:: -* Cloud providers:: -* High Performance Computing:: -* Government:: -* Finance:: -* Manufacturing:: -@end menu - -@node Desktop management, Web shops, What agility means in different environments, What agility means in different environments -@subsection Desktop management - -"The desktop space can be a very volatile environment, with multiple platforms." - -@table @i -@item Speed: - -Speed is -essential when there is a need to respond to a security threat that -affects all of the desktop systems; e.g. when dealing with malware -that requires the distribution of updated @file{virus.dat} files, -etc. CFEngine can be very helpful by automating the process of -distributing and restarting the application responsible for virus -detection and mitigation. Systems that have been breached, need to be -returned to known and secure state quickly to avoid loss. CFEngine can -quickly detect and correct host based intrusions using file-scanning -techniques and can secure hosts for examination, or just repair them -quickly. - -Another case for agility lies in user request processing. For example, -when a new user joins a workplace and needs resources such as desktop, -laptop, phone, Internet connection, VPN connection, VM instances, -etc. Speed is of the essence to minimize employee downtime. - -@item Precision: - -Desktop environments can involve many different platforms: Windows, -multiple flavours of Linux and Macintosh, etc. A uniform low-cost way -of `provisioning' and maintaining all of these, as well as responding -to common threats is of significant value. - -Precision is important to ensure that the resources made available are -indeed the correct ones. Inaccuracy can be a potential security issue, -or merely a productivity question. - -Precision also comes into play when an enterprise rolls out new -patches or productivity upgrades. These upgrades need to be uniformly -and precisely distributed to all of the desktop systems during a given -change window. By design, desktop clients running CFEngine -automatically check for changes in system state and can precisely -propagate desired state. In the case of system restoration due to -corruption or hardware failure, CFEngine can greatly reduce the time -needed to return to the most current enterprise build. - -@end table - - -@node Web shops, Cloud providers, Desktop management, What agility means in different environments -@subsection Web shops - -Modern web-based companies often base their entire financial -operations around an active web site. Down-time of the web service is -mission critical. - -@table @i -@item Speed: - -The frequency of maintenance is not usually critical in web shops, -since configuration changes can be planned to occur over hours rather -than minutes. During software updates and system repairs, however, -speed and orchestration are issues, as time lost during upgrades is -often revenue lost, and a lack of coordination of multiple parts could -cause effective downtime. - -It is therefore easy to scale the management of a web service, as change -is rarely considered to be time-critical. - -Resource availability for the web service is an issue on busy web -servers, however web services are typically quite slow already and it -is easy to load balance a web service, so resource efficiency of the -management software is not usually considered a high priority, until -the possible savings become significant with thousands of hosts. - -Credit card information is subject to PCI-DSS regulation and requires -a continuous verification for auditing purposes, but these systems are -often separated from the main web service. Speed of execution can be seen -as an advantage by some auditors where repairs to security matters and -detection of breaches are carefully monitored. - - -@item Precision: - -The level of customization in a web shop could be quite high, as there -is a stack of interdependent services including databases and name -services that have to work seamlessly, and the rate of deployment of -new versions of the software might be relatively high. - -Customization and individuality is a large part of a website's business -competitiveness. Maintaining precise - -@end table - - -@node Cloud providers, High Performance Computing, Web shops, What agility means in different environments -@subsection Cloud providers - -@table @i -@item Speed: -The cloud was designed for shorter time-scales, and relatively quick turnover of -needs. That suggests that configuration will change quite often. -For Infrastructure-as-a-Service providers and consumers, set up -and tear-down rates are quite high so efficient and speedy configuration -is imperative. - -@item Precision: - -For Software and Platform as a service providers, stability, -high performance and regulation are key issues, and scaling up and down -for demand is probably the fastest rate of change. - -@end table - - -@node High Performance Computing, Government, Cloud providers, What agility means in different environments -@subsection High Performance Computing - -High Performance clusters are typically found in the oil and gas -industry, in movie, financial, weather and aviation industries, and -any other modelling applications where raw computation is used to -crunch numbers. - -@table @i -@item Speed: - -The lightweight footprint of CFEngine is a major benefit here, as -every CPU cycle and megabyte of memory is precious, so workflow is not -disrupted. - -"A single node in the compute grid being out of sync with the others -can cause the entire grid to cause failed jobs or otherwise introduce -unpredictability into the environment, as it may produce results that -differ from its peers. Thus it is imperative that repairs to an -incorrect state happen as soon as possible, to minimize the impact of -these issues." - -@item Precision: -"Precision is exquisitely important in an HPC grid. When making a -configuration change, due to the homogeneity of the environment, small -changes can have enormous impacts due to the quantity of affected -systems. I liken this to the "monoculture" problem in replanted -forests -- everything is the same, so what would ordinarily be a -small, easily-contained problem like a fungus outbreak, quickly -spreads into an uncontrollable disaster. Thus, with HPC systems it is -imperative that any changes deployed are precise, to ensure that no -unintended consequences will occur. This is clearly directly related -to comprehensibility of the environment -- it is difficult or -impossible to make a precise change when you don't fully comprehend -the environment." - -@end table - - -@node Government, Finance, High Performance Computing, What agility means in different environments -@subsection Government - -@table @i -@item Speed: - -Government is not known for speed. - - -@item Precision: - -"Government systems are reviewed and audited under FISMA and so one has -often thought in terms of the ability to reduce complexity to make the -problem manageable. Government typically wants the one-size-fits-all -solution to system management and could benefit from something that -can manage complexity and diversity while providing some central -control (I bet you hate that word). The only thing we might have in -common with finance is auditing but I'm sure the methods and goals are -completely different. Finance is big money trying to make more big -money. Government is focused more on compliance with its own -regulations." - - -@end table - -@node Finance, Manufacturing, Government, What agility means in different environments -@subsection Finance - -@table @i -@item Speed: - -One of the key factors in finance is liability. Fear of error, has led -to very slow processing of change. - -High availability in CFEngine is used for continuous auditing and -security. Passing regulatory frameworks like SOX, SAS-70, ISO 20k, etc -can depend on this non-intrusive availability. Liability is a major -concern and significant levels of approval are generally required to -make changes, with tracking of individual responsibility. Out-of-hours -change windows are common for making upgrades and making intended -changes. Scalability of reporting is a key here, but change happens -slowly. - - -@item Precision: - -Security and hence tight control of approved software are major challenges -in government regulated institutions. Agility has been a low priority -in the past, but this will have to change as the rest of the world's -IT services accelerate. - -@end table - - -@node Manufacturing, , Finance, What agility means in different environments -@subsection Manufacturing - -SCADA (supervisory control and data acquisition) generally refers to -industrial control systems (ICS): computer systems that monitor and -control industrial, infrastructure, or facility-based processes, as -described below. - -@table @i -@item Speed: - -Manufacturing is a curious mix of all the mention areas and more. In -addition to the above, there is an tool component. The -tools can design, build, test, track, and ship a physical -unit. Downtime of any component is measured in missed revenue, -so speed of detection and repair is crucial. - - -@item Precision: - - -"We need to ensure agility and accuracy of -reporting. We need to know what is going on at any microsecond of the -day. One faulty tool can throw a wrench in the whole works. The -digital equivalent of the steam whistle to stop the line. - -From there, all the tool information is fed upstream to servers, from -there to databases, then reports, that statistical analysis, and so -on. Each piece needs to move with the product and incorporate it. It -is a steady chain of events where are all information is liquid and -relevant. - -Not only do you have the security requirements, from virus updates to -top secret classification, but these tools need to never stop, -ever. Also, these tools need constant reconfiguration depending on the -product they are working on: e.g. you can't use the same set of -procedures on XBox chip as a cellphone memory module. And all the -tools are different too: one may be a probe to detect microscopic -fractures in the layers, one tool may just track it's position in -line. Supply and demand, cost and revenue." - - - -@end table - - -@c ..................................................................... -@node Separating What from How, Packaging limits agility, What agility means in different environments, Aspects of CFEngine that bring agility -@section Separating What from How (DevOps) -@sp 1 - -If you have to designs a programmatic solution to a challenge, it will -cost you highly in terms of cognitive investment, testing and clarity -of purpose to future users. Thinking @i{process} (how) instead of @i{knowledge} (what) is -a classic carry-over from the era of 2nd Wave industrialization@footnote{See @url{http://www.cfengine.com/blog/sysadmin-3.0-and-the-third-wave}}. - -@sp 1 -@cartouche -Think of CFEngine as an active knowledge management system, -rather than as a relatively passive programming framework. - -For `DevOps': programming is for your application, consider its deployment -to be part of the documentation. -@end cartouche -@sp 1 - -Many programmatic systems and `APIs' force you to explain how -something will be accomplished and the statement about `what' the -outcome will be is left to an implicit assumption. Such systems are -called imperative systems. - -CFEngine is a declarative system. In a declarative system, the reverse -is true. You begin by writing down What you are trying to accomplish -and the How is more implicit. The way this is done is by separating -data from algorithm in the model. CFEngine encourages this with its -language, but you can go even further by using the tools optimally. - -CFEngine allows you to represent raw data as variables, or as -strings within your policy. For example: - -@smallexample -bundle agent name -@{ -vars: - - "main_server" string => "abc.123.com"; - - "package_source[ubuntu]" string => "repository.ubuntu.com"; - "package_source[suse]" string => "repository.suse.com"; - - # Promises that use these data - # - # packages: - # processes: - # files: - # services: , etc - -@} -@end smallexample - -@noindent By separating `what' data like this out of the details of how -they are used, it becomes easier to comprehend and locate, and it -becomes fast to change, and the accuracy of the change is easily -perceived. Moreover, CFEngine can track the impact of such a change by -seeing where the data are used. - -@cartouche -CFEngine's knowledge management can tell you which system promises -depend on which data in a clear manner, so you will know the impact -of a change to the data. -@end cartouche - -You can also keep data outside your policy in databases, or sources like: - -@itemize -@item LDAP -@item NIS -@item DNS -@item System files -@end itemize - -@noindent For example, reading in data from a system file is very convenient. -This is what Unix-like system do for passwords and user management. - -@smallexample -@end smallexample - -What you might lose when making an input matrix is the @i{why}. -Is there an explanation that fits all these cases, or does each -case need a special explanation? We recommend that you include -as much information as possible about `why'. - - - - - -@c ..................................................................... -@node Packaging limits agility, How abstraction improves agility, Separating What from How, Aspects of CFEngine that bring agility -@section Packaging limits agility -@sp 1 - - -Atomicity enables agility. Atomicity, or the avoidance of dependency, is a -key approach to simplicity. Today this is often used to argue to -packaging of software. - -Handling software and system configuration as packages of data makes -certain processes appear superficially easy, because you get a single object -to deal with, that has a name and a version number. -However, to maintain flexibility we should -not bundle too many features into a package. - -@sp 1 -@cartouche -@i{A tin of -soup or a microwave meal might be a superficially easy way to make -dinner, for many scenarios, but the day you get a visitor with special -dietary requirements (vegetarian or allergic etc) then the -prepackaging is a major obstacle to adapting: the recipe cannot be -changed and repackaged without going back to the factory that made -it. Thus oversimplification generally tends to end up sending up back -to work around the technology.} -@end cartouche -@sp 1 - -CFEngine's modelling language gives you control over the smallest -ingredients, but also allows you to package your own containers -or work with other suppliers' packages. This ensures that -adaptability is not sacrificed for superficial ease. - -For example: your system's package model can cooperate with -CFEngine make asking CFEngine to promise to work with the -package manager: - -@verbatim - -packages: - - "apache2"; - "php5"; - "opera"; - -@end verbatim - -@noindent If you need to change what happens under the covers, it -is very simple to do this in CFEngine. You can copy the details -of the existing methods, because the details are not hard-coded, -and you can make your own custom version quickly. -@verbatim - -packages: - - "apache2" - - package_method => my_special_package_manager_interface; - -@end verbatim - - -@c ..................................................................... -@node How abstraction improves agility, Increasing system capacity - by scaling, Packaging limits agility, Aspects of CFEngine that bring agility -@section How abstraction improves agility -@sp 1 - -Abstraction allows us to turn special cases into general patterns. This leads to a compression -of information, as we can make defaults for the general patterns, which do not have to be -repeated each time. - -Service promises are good example of this@footnote{Service promises, -as described here, were introduced into version 3.3.0 of CFEngine in -2012.}, for example: - -@verbatim -services: - - "www"; - -@end verbatim -@noindent In this promise, all of the details of what happens to turn on the -web service have been hidden behind this simple identifier @samp{www}. -This looks easy, but is it simple? - -In this case, it is both easy and simple. Let's check why. We have to -ask the question: how does this abstraction improve speed and precision -in the long run? - -Obviously, it provides short term ease by allowing many complex -operations to take place with the utterance of just a single -word@footnote{All good magic stories begin like this.}. But any -software can pull that smoke and mirrors trick. To be agile, it must -be possible to understand and change the details of what happens when -this services is promised. Some tools hard-code processes for this kind -of statement, requiring an understanding of programming in a -development language to alter the result. In CFEngine, the definitions -underlying this are written in the high-level declarative CFEngine -language, using the same paradigm, and can therefore be altered by the -users who need the promise, with only a small amount of work. - -Thus, simplicity is assured by having consistency of interface -and low cost barrier to changing the meaning of the definition. - - -@c ..................................................................... -@node Increasing system capacity - by scaling, , How abstraction improves agility, Aspects of CFEngine that bring agility -@section Increasing system capacity (by scaling) - -Capacity in IT infrastructure is increased by increasing machine -power. Today, at the limit of hardware capacity, this typically means -increasing the number of machines serving a task. Cloud services have -increased the speed agility with which resources can be deployed -- -whether public or private cloud -- -but they do not usually provide any customization tools. This is -where CFEngine brings significant value. - -The rapid deployment of new services is assisted by: - -@sp 1 -@itemize -@item Virtualization hypervisor control or private cloud management (libvirt integration). -@item Rapid, massively-parallelized custom configuration. -@item Avoidance of network dependencies. -@end itemize -@sp 1 - -Related to capacity is the issue of scaling services for massive available -capacity. - -By scalability we mean the intrinsic capacity of a system to -handle growth. Growth in a system can occur in three ways: by the volume of input -the system must handle, in the total size of its infrastructure, -and by the complexity of the processes within it. - -For a system to be called scalable, growth should proceed unhindered, -i.e. the size and volume of processing may expand without -significantly affecting the average service level per node. - -Although most of us have an intuitive notion of what scalability -means, a full understanding of it is a very complex issue, mainly -because there are so many factors to take into account. One factor -that is often forgotten in considering scalability, is the human -ability to @i{comprehend} the system as it grows. Limitations of -comprehension often lead to over-simplification and -lowest-common-denominator standardization. - -Scalability is addressed in a separate document: @i{Scale and Scalability}, -so we shall not discuss it further here. - - - - -@c ***************************************************************************** -@node Agility in your work, , Aspects of CFEngine that bring agility, Top -@chapter Agility in your work - -@menu -* Easy versus simple:: -* How does complexity affect agility?:: -* An effective understanding helps agility:: -* Maximizing business imperatives:: -* What does agility cost?:: -* Who is responsible for agility?:: -@end menu - - -@c ..................................................................... -@node Easy versus simple, How does complexity affect agility?, Agility in your work, Agility in your work -@section Easy versus simple - -@cartouche -Just as we separate goals from actions, and strategy from tactics, -so we can separate what is easy from what is simple. Easy brings -short-term gratification, but simple makes the future cost less. -@end cartouche -@sp 1 - -@i{Easy} is about barriers to adoption. If there is a cost associated with -moving ahead that makes it hard: - -@itemize -@item A psychological cost -@item A cognitive cost -@item It takes too long -@item It costs too much money -@end itemize - -@i{Simple} is about what happens next. Once you have started, what happens if you -want to change something? - -Total cost of ownership is reduced if a design is simple, as there are -only a few things to learn in total. Even if those things are hard to -learn, it is a one-off investment and everything that follows will be easy. - -Unlike some tools, with CFEngine, you do not need to program `how' to -do things, only what you want to happen. This is always done by using the -same kinds of declarations, based on the same model. You don't -need to learn new principles and ideas, just more of the same. - - - -@c ..................................................................... -@node How does complexity affect agility?, An effective understanding helps agility, Easy versus simple, Agility in your work -@section How does complexity affect agility? -@sp 1 - - -In the past@footnote{Perhaps not just in the past. We are emerging -from an industrial era of management where mass producing everything -the same was the cheapest approach to scaling up services. However, -today personal freedom demands variety and will not tolerate such -oversimplification.}, it was common to manage change by making -everything the same. Today, the individualized @i{custom experience} -is what today's information-society craves. Being forced into a -single mold is a hindrance to adaptability and therefore to -agility. To put it another way, in the modern world of commerce, consumers -rule the roost, and agility is competitive edge in a market of many -more players than before. - -Of course, it is not quite that simple. Today, we live in a culture of -`ease', and we focus on what can be done easily (low initial -investment) rather than worrying about long term simplicity (Total -Cost of Ownership). - -At CFEngine, we believe that `easy' answers often suffer from the sin -of over-simplification, and can lead to risky practices. After all, anyone can make -something appear superficially easy by papering over a mess, or applying raw -effort, but this will not necessarily scale up cheaply over time. -Moreover, making a risky process `too easy' can encourage haste and -carelessness. - -Any problem has an intrinsic complexity, which can be measured by the -smallest amount of information required to manage it, without loss of control. - - -@sp 1 -@cartouche -@itemize -@item @i{Ease} is the absence of a barrier or cost to action. - -@item @i{Simplicity} is a strategy for minimizing Total Cost of Ownership. -@end itemize -@end cartouche -@sp 1 - -Making something truly simple is a very hard problem, but it is an -investment in future change. What is easy today might be expensive to make easy tomorrow. -But if something is truly simple, then the work is all up front in learning -the basics, and does not come -as an unexpected surprise down the line. - -At CFEngine, we believe in agility through simplicity, and so we -invest continuous research into making our technology genuinely simple for trained -users. We know that a novice user will not necessarily find CFEngine easy, but -after a small amount of training, CFEngine will be a tool for life, not just a hurried -deployment. - -Simplicity in CFEngine is addressed in the following ways: - -@sp 1 -@itemize -@item The software has few dependencies that complicate installation and upgrading. -@item Changes made are atomic and minimize dependencies. -@item Each host works as an independent entity, reducing communication fragility. -@item The configuration model is based on Promise Theory -- a very consistent and simple -approach to modelling autonomous cooperative systems. -@item All hosts run the same software agents on all operating -platforms (from mobile phones to mainframes), and understand a single common language of intent, which they can translate into native system calls. So there are few exceptions -to deal with. -@item Comprehensive facilities are allowed for making use of patterns and other total-information-reducing tactics. -@end itemize - -@sp 1 -A certain level of complexity might be necessary and desirable -- complexity is relative. -Some organizations still try to remain agile by avoiding complexity. However, the ability -to respond to complex scenarios often requires us to dabble with diversity. Avoiding -it merely creates a lack of agility, as one is held back by the need to -over-simplify. - - -@c ..................................................................... -@node An effective understanding helps agility, Maximizing business imperatives, How does complexity affect agility?, Agility in your work -@section An effective understanding helps agility -@sp 1 - -All configuration issues, including fitness for purpose, boil down to -three things: why, what and how. Knowing why we do something is the -most important way of avoiding error and risk of failure. Simplicity -then comes from keeping the `what' and the `how' separate, and -reducing the how to a predictable, repairable transaction. This is -what CFEngine's @i{convergent promise} technology does. - -Knowledge is an antidote to uncertainty. Insight into patterns, brings -simplicity to the information management, and insight into behaviour -allows us to estimate impact of change, thus avoiding the risk associated -with agility. - -@cartouche -In configuration `what' represents transitory knowledge, while `how' -is often more lasting and can be absorbed into the infrastructure. The -consistency and repairability of `how' makes it simpler to change what -without risk. -@end cartouche - - - -@c ..................................................................... -@node Maximizing business imperatives, What does agility cost?, An effective understanding helps agility, Agility in your work -@section Maximizing business imperatives - -Agility allows companies and public services to compete and address -the needs of continuous service improvement. This requires insight -into IT operations from business and vice versa. Recently, the -`DevOps' movement in web arenas has emphasized the need for a more -streamlined approach to integrating business-driven change and IT -operations. Whatever we choose to call this, and in whatever arena, -`connecting the dots between business and IT' is a major enabler for -agility to business imperatives. - -Some business issues are inherently complex, e.g. software -customization and security, because they introduce multifaceted -conflicts of interest that need to resolved with clear documentation -about @i{why}. - -@sp 1 -@cartouche -Be careful about choosing a solution because it has a low initial -outlay cost. Look to the long term cost, or the Total Cost of Ownership -over the next 5 years. - -Many businesses have used the argument: @i{everything is getting cheaper -so it doesn't matter if my software is inefficient -- I can brute force -it in a year's time with more memory and a faster CPU.} The flaw in this -argument is that complexity and scale are also increasing, and you will -need those savings down the line even more than you do now. -@end cartouche -@sp 1 -The ability to model our intentions in a clearly -understandable way enables insight and understanding; this, in turn, -allows us to anticipate and comprehend challenges. CFEngine's -knowledge management features help to make the configuration itself a -part of the documentation of the system. Instead of relying on command line tools -to interact, the user documents intentions (as `promises to be kept'). -These promises, and how well they have been kept, can be examined either -from the original specification or in the Mission Portal. - -In the industrial age, the strategy was to supply sufficient force to -a small problem in order to `control' it by brute force. In systems -today the scale and complexity are such that no such brute force -approach can seriously be expected to work. Thus one is reduced to a more even -state of affairs: learning to work with the environment `as is', -with clear expectations of what is possible and controlling only certain -parts on which crucial things depend. - - -@c ..................................................................... -@node What does agility cost?, Who is responsible for agility?, Maximizing business imperatives, Agility in your work -@section What does agility cost? -@sp 1 - -CFEngine is designed to have a low Total Cost of Ownership, by being -exceptionally lightweight and conceptually simple. The investment in -CFEngine is a `learning curve' that some find daunting. Indeed, at CFEngine, -we work on reducing this initial learning curve all the time -- but what -really saves you in the end is simplicity without over-simplification. - -@sp 1 -@cartouche -At a recent deployment in the banking sector, CFEngine replaced an incumbent software solution -where 200 machines were required to make the management infrastructure -scale to the task. - -CFEngine replaced this with 3 machines, and a reduced workforce. -After the replacement the clock-time required for system updates went -from 45 minutes to 16 seconds. -@end cartouche -@sp 1 - -The total cost of providing for agility can be costly or it -can be cheap. By design, CFEngine aims to make scale and agility -inexpensive in the long run. - -@c ..................................................................... -@node Who is responsible for agility?, , What does agility cost?, Agility in your work -@section Who is responsible for agility? -@sp 1 - -The bottom line is: you are! Diversity and customization are basic -freedoms that user-driven services demand in today's world, and having -the agility to meet changing desires is going to be an increasingly -important and prominent feature of IT, as we delve -further into the information-based society. - -@sp 1 -@cartouche -Competitive edge, response to demands, in both private sector and research, -makes agility the actual product of a not-too-distant tomorrow. -@end cartouche -@sp 1 - -Who or what makes agility a reality? The simple answer to this -question is everyone and everything. Change is a chain of dependent -activities and the weakest link in the chain is the limiting -factor. Often, that is human knowledge, since it is the part of the -chain that we take most for granted. - -CFEngine has been carefully designed to support agile operations for -the long term, by investing in knowledge management, speed and -efficiency. - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_ApplMgt.texinfo b/docs/guides/SpecialTopic_ApplMgt.texinfo deleted file mode 100644 index ca56fcc543..0000000000 --- a/docs/guides/SpecialTopic_ApplMgt.texinfo +++ /dev/null @@ -1,522 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-appmgt.info -@settitle Application Management -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Application Management -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine is able to install, update and uninstall services and -applications across all managed nodes in a platform-independent -manner. - -Updating software across all nodes can be made as simple as copying a -package to a software server. Thereafter, applications can be managed -and customized using CFEngine. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is Application Management?, (dir), (dir) -@top Application Management -@menu -* What is Application Management?:: -* How can CFEngine help?:: -* Package management:: -* Enterprise Software Reporting:: -* Integrated software installation:: -* Customizing applications:: -* Starting and stopping software:: -* Auditing software applications:: -@end menu - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is Application Management?, How can CFEngine help?, Top, Top -@unnumberedsec What is Application Management? -@sp 1 - -Application management concerns the deployment and updating of -software, as well as customization of for actual use, in other words -all the activities required to make an application ready for -use. Initially, software installation packages must be deployed on -host machines, however, we frequently encounter the need to update software due -to security flaws, bugs or new features. - -It is generally unwise to let every application update itself -automatically to the newest version from the internet; we want to -decide which version gets installed and also make sure that the load -on the network does not impair performance during mass-updates. Equally -important is making sure certain applications are not present, -especially when they are known to have security issues. - -Using CFEngine, you can verify that the software is in a -promised state and is properly customized for use. - -@node How can CFEngine help?, Package management, What is Application Management?, Top -@unnumberedsec How can CFEngine help? -@sp 1 - -CFEngine assists with application management in a number of ways. Following -the BDMA lifecycle, we note: - -@table @i -@item Build -CFEngine can be used to automate the build of packaged software releases -using standardized or custom package formats. -@item Deploy -CFEngine can distribute and install packaged software on any kind of platform. -@item Manage -CFEngine can start, stop, restart, monitor, and upgrade, and customize software -applications. -@item Audit -CFEngine can monitor and report on packages and patches installed on systems and their -versions and status. -@end table - -@node Package management, Enterprise Software Reporting, How can CFEngine help?, Top -@unnumberedsec Package management -@sp 1 - -Application management is simple today on most operating systems due to the -introduction of @i{package systems}. - -All major operating systems now have some sort of package management -system, e.g. RPM for Linux, and MSI for Windows. However, their -capabilities and methods vary greatly. Moreover, the packages they need -to install have to be made available to the hosts that need them and -the package manager has to be executed at the right time and -place. This is where CFEngine assists. - -Some package managers support online automatic access of online -repositories and can download data from the network. Others have to -have packages copied to local storage first. CFEngine can work with -both types of system to integrate software management. -@itemize -@item CFEngine communicates with the system using its own standards -to utilize the approach suitable for that software system. -@item Custom software repositories can be made, and CFEngine's -agents can perform this distribution -by collecting software packages to local storage and then -installing from there. -@end itemize - -When software packages are available on local storage, CFEngine -can check whether they are already installed, and if so, which version -and architecture are installed. This, in turn, can be verified against -the policy for the software --- should it indeed be installed, updated or -removed? - -Using the CFEngine standard library, agents know how to talk to the -native package manager to query information and get the system into -the desired state. - -CFEngine can edit configuration files in real time to ensure that -applications are customized to local needs at all times. - - - -@node Enterprise Software Reporting, Integrated software installation, Package management, Top -@unnumberedsec Enterprise Software Reporting -@sp 1 - -In commercial releases of CFEngine, the state of software installation -is reported centrally and is easily accessible through the Knowledge -Map. - -Commercial editions of CFEngine also support querying Windows machines -for installed MSI packages and thus allows for easy software -deployment in heterogeneous Unix and Windows -environments. - -@node Integrated software installation, Customizing applications, Enterprise Software Reporting, Top -@unnumberedsec Integrated software installation -@sp 1 - -CFEngine gives complete freedom to users, so there are many -ways to design a system that achieves a desired software end-state. Consider -the following example setup which ensures that one particular -application is up to date on all hosts. The procedure below is -very similar to the way that commercial CFEngine editions update. - -Rather than using an OS-specific package repository, like yum, we -create a universal approach using CFEngine's distribution and -installation promises. - -We first look at the example on an RPM system, then we show the -modifications required to handle Windows instead. The examples -use body parts from the standard library. - -@sp 1 -@center @image{update,10cm,,Updating software.,png} -@sp 1 - - - -@menu -* Distributing software packages to client hosts:: -* Stopping and restarting an application for update:: -* Adapting to Windows:: -* Notes on Windows systems:: -@end menu - -@node Distributing software packages to client hosts, Stopping and restarting an application for update, Integrated software installation, Integrated software installation -@unnumberedsubsec Distributing software packages to client hosts - -To begin with, we promise that the relevant software packages will be locally -available to the agents from software servers, i.e. we promise that a -local copy of all deployed software packages will exist in the -directory @file{/software_repo} on local storage. The copy will be collected -and compared against a directory called @file{/master_software_repo} -on host @code{server.example.org} in this example. - -@sp 1 -@cartouche -We say that this approach is @file{data-driven} because, by placing -software package data in the central repository, client hosts update -automatically, as they promise to subscribe to the data. -@end cartouche - -@sp 1 - -@verbatim -files: - - "/software_repo" - - comment => "Copy app1 updates from software server", - copy_from => remote_cp("/master_software_repo/app1/$(sys.flavour)", - "server.example.org"), - depth_search => recurse("inf"), - classes => if_repaired("newpkg_app1"); - -@end verbatim - -When the agent copies a relevant software package from the software -server (@code{sys.flavour} is the local operating system), the class -@code{newpkg_app1} will get defined. This class can act as a trigger -to stop the application, update it, and start it again. - -@node Stopping and restarting an application for update, Adapting to Windows, Distributing software packages to client hosts, Integrated software installation -@unnumberedsubsec Stopping and restarting an application for update - -On some operating systems, software cannot be updated while it is running. -CFEngine can promise to enure that a program is stopped before update: - -@verbatim -processes: - - newpkg_app1:: - - "app1" signals => { "term", "kill" }; - -@end verbatim - -CFEngine @i{normal ordering}, ensures that @code{processes} -promises are always run prior to @code{packages} promises, so the -application will be stopped before updated. Next we promise the -version of the software we want to install. In this case, any -version greater than 1.0.0. - -@verbatim -packages: - - newpkg_app1:: - - "app1" - - package_policy => "update", - package_select => ">=", - package_architectures => { "i586" }, - package_version => "1.0.0", - package_method => rpm_version("/software_repo"), - classes => if_else("app1_update", "app1_noupdate"); -@end verbatim - - -By promising carefully what package and version you want, using -@code{package_policy}, @code{package_select}, and -@code{package_version}, CFEngine can keep this promise by updating to -the latest version of the package available in the directory -repository @file{/software_repo}. If the available versions are all -`less than' than "1.0.0", an update will not take place. The -@code{package_version} specification should match the versioning -format of the software, whatever it is, e.g. you would write something -like "1.00.00.0" if two digits were used in the two middle version -number positions. - -@sp 1 -@cartouche -CFEngine automatically adapts its versioning -to the conventions used by individual package schemas. -@end cartouche -@sp 1 - -To summarize, in order for CFEngine to be able to match installed packages with the -ones in the directory repository, the same naming convention must be -applied. That is, the package name, version and architecture must have -the same format in the list of installed packages as the file names of -available packages. - -From the promise above, we see that CFEngine will interpret -@code{app1} as the name, @code{1.0.0} as the version and @code{i586} -as the architecture of the package. Using this while looking at the -@code{package_name_convention} in the rpm package method, we see that -CFEngine will look for packages named as @code{app1-X.Y.Z-i586.rpm}, -with X, Y, Z producing the largest version available in the directory -repository. If an available version is larger than the one installed, -an update will take place --- the update command is run. - -Finally, we set classes from the software update in case we want to -act differently depending on the outcome. - -Replacing the policy @samp{update} with @samp{add} is all that is -required to install the package (once) instead of updating. Using policy -@samp{add} will do nothing if the package is already installed, but -installs the largest version available if it is not. Use -@code{package_select => "=="} to install the exact version instead of -the largest. - - -@node Adapting to Windows, Notes on Windows systems, Stopping and restarting an application for update, Integrated software installation -@unnumberedsubsec Adapting to Windows - -@sp 1 - -To adapt our example to Windows, we change the path to the local -software repository from @file{/software_repo} to @file{c:\software_repo}, to -support the Windows path format. Other than that, all we have to -change is the @code{package_method}, yielding the following. - -@verbatim - - package_method => msi_version("c:\software_repo"), - -@end verbatim - -Refer to the @code{msi_version} body in the standard library. - -@node Notes on Windows systems, , Adapting to Windows, Integrated software installation -@unnumberedsubsec Notes on Windows systems - -CFEngine implements Windows packaging using the MSI subsystem, -internally querying the Windows Management Interface for information. However, -not all Windows systems have the reqired information. - -CFEngine relies on the name (lower-cased with spaces replaced by -hyphen) and version fields found inside the msi packages to look for -upgrades in the package repository. - -Problems can arise when the format of these fields differ from their -format in the file names. For example, a package file name may be -@code{7zip-4.65-x86_64.msi}, while the product name in the msi is -given as @code{7-Zip 4.65 (x64 edition)}, and the version is -@code{4.65.00.0}. - -For the formats to match, we can change the product name to -@code{7zip} and the version to @code{4.65} in the msi-package. Free -tools such as @code{InstEd} can both view and change the product name -and version (Tables->Property->ProductName and ProductVersion). - - -@node Customizing applications, Starting and stopping software, Integrated software installation, Top -@unnumberedsec Customizing applications - -@sp 1 -By definition, we cannot explain how to customize software for all -cases. For Unix-like systems however, software customization is -usually a matter of editing a configuration text file. CFEngine can -edit files, for instance, to add a configuration line to a file, you -might so something like this: - -@verbatim -bundle agent my_application_customize -{ -files: - - "$(prefix)/config.cf" - - comment => "Set the permissions and add a line...", - perms => mo("0600","root"), - edit_line => append_if_no_line("My custom setting..."); -} - -@end verbatim -@noindent To set a number of variables inside a file, you might do something like this: -@verbatim -bundle agent my_application_customize -{ -vars: - - # want to set these values by the names of their array keys - - "rhs[serverhost]" string => "123.456.789.123"; - "rhs[portnumber]" string => "1234"; - "rhs[admin]" string => "admin@example.org"; - -files: - - "$(prefix)/config.cf" - - comment => "Add new variables or set existing ones", - edit_line => set_variable_values("setvars.rhs"); - -} - -@end verbatim -You can also create file templates with customizable variables using -the @code{expand_template} method from the standard library. - -@node Starting and stopping software, Auditing software applications, Customizing applications, Top -@unnumberedsec Starting and stopping software - -CFEngine is promise or compliance oriented. You promise whether software will be -running or not running at different times and locations by making -@code{processes} or @code{services} promises. - -To start a service, you might do something like this: - -@verbatim -processes: - - "myprocess" restart_class => "start_me"; - -commands: - - start_me:: - - "/path/to/software" - - # ... many security options, etc - -@end verbatim -@noindent or using services -@verbatim -services: - - windows:: - - "Dhcp" - service_policy => "start", - service_dependencies => { "Alerter", "W32Time" }, - service_method => winmethod; - -@end verbatim -To stop a service, you take one of these approaches: - -@verbatim -processes: - - "badprocess" - signals => { "term", "kill" }; - - "snmp" - process_stop => "/etc/init.d/snmp stop"; - -@end verbatim - - - -@node Auditing software applications, , Starting and stopping software, Top -@unnumberedsec Auditing software applications - -@sp 1 -Commercial Editions of CFEngine generate reports about installed -software, showing package names and versions that are installed. -There is a huge variety in the functionality offered by different -package systems. The most sophisticated package managers are those -provided by OpenSuSE Linux and RedHat. These know the difference -between installation packages and software updates and can keep -track of installed software transparently. Most package systems -have fewer functions. - -CFEngine tries to make the best of each package system to collect -information about the state of software. In commercial editions -you have access to reports on the software installed on each system -in the network, to the extent permitted by the software subsystems -on those hosts. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_BDMA.texinfo b/docs/guides/SpecialTopic_BDMA.texinfo deleted file mode 100644 index e5977f9dad..0000000000 --- a/docs/guides/SpecialTopic_BDMA.texinfo +++ /dev/null @@ -1,335 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-bdma.info -@settitle BDMA -@setchapternewpage odd -@c %** end of header - -@titlepage -@title BDMA -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Build, Deploy, Manage, Audit is a simple and traditional model of the -IT infrastructure lifecycle, based on human workflows and -processes. CFEngine's approach to the IT infrastructure is somewhat -different, but the four pillars of the lifecycle can still be -addressed in the framework of automation. This guide explains how to -think about the IT infrastructure lifecycle when using CFEngine. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is BDMA?, (dir), (dir) -@top BDMA -@menu -* What is BDMA?:: -* Stem cell hosts:: -* Recommendations for Build:: -* Recommendations for Deploy:: -* Recommendations for Manage:: -* Recommendations for Audit:: -* Summary BDMA workflow:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is BDMA?, Stem cell hosts, Top, Top -@unnumberedsec What is BDMA? -@sp 1 - -The four mission phases are sometimes referred to as - -@table @emph -@item Build -A mission is based on decisions and resources that need to -be put assembled or `built' before they can be applied. This is -the planning phase. - -In CFEngine, what you build is a template of proposed promises for the -machines in an organization such that, if the machines all make and -keep these promises, the system will function seamlessly as -planned. This is how it works in a human organization, and this is how -is works for computers too. - -@item Deploy -Deploying really means launching the policy into production. In -CFEngine you simply publish your policy (in CFEngine parlance these -are `promise proposals') and the machines see the new proposals and -can adjust accordingly. Each machine runs an agent that is capable of -keeping the system on course and maintaining it over time without -further assistance. - -@item Manage -Once a decision is made, unplanned events will occur. Such incidents -traditionally set off alarms and humans rush to make new transactions -to repair them. Under CFEngine guidance, the autonomous agent manages -the system, and humans only manage knowledge and have to deal with -rare events that cannot be dealt with automatically. - -@item Audit -CFEngine performs continuous analysis and correction, and commercial -editions generate explicit reports on mission status. Users can sit -back and examine these reports to check mission progress, or examine -the current state in relation to the knowledge map for the mission. - -@end table - -@image{BDMA_model,12cm,,,,png} - - -@node Stem cell hosts, Recommendations for Build, What is BDMA?, Top -@unnumberedsec Stem cell hosts -@sp 1 -At CFEngine we talk about stem cell hosts. A stem cell host is a generic -foundation of software that is the @i{necessary and sufficient} basis for -any future purpose. To make a finished system from this stem cell host, -you only have to `differentiate' the system from this generic basis by running CFEngine. - -Differentiation of hosts involves adding or subtracting software packages, -and/or configuring the basic system. This strategy is cost effective, -as you do not have to maintain more than one base-line `image' for -each operating system; rather, you use CFEngine to implement and -maintain the morphology of the differences. Stem cell hosts are -normally built using PXE services by booting and installing automatically -from the network. - -@node Recommendations for Build, Recommendations for Deploy, Stem cell hosts, Top -@unnumberedsec Recommendations for Build -@sp 1 -There are many approaches to building complete systems. -When you use CFEngine, you should try to progress from -thinking only about putting bytes on disks, to planning -a long term set of promises to keep. - -@itemize -@item What services do you want to support? -@item What promises do you want to keep concerning these services? -@item Are these promises sustainable and convergently implementable? -@item Formulate proposed intentions in the form of CFEngine promises. -@item Discuss the impact of these in your team of CFEngine Mission Specialists (more than one pair of eyes). -@end itemize - -It is worth spending extra time in the build planning to simplify -your system as much as possible. A clear formulation here will save -time both in maintenance and training later, as employees come and go. -The better you understand your intentions, the simpler the system will be. - -We cannot emphasize enough the value of the promise discipline. If you can -formulate your requirements as promises to be kept, you have identified not only -what, where, when and how, but also who is responsible and affected by every promise. - -Building systems is resource intensive. CFEngine works well with @b{rPath}, allowing optimized -build that can shave off many minutes from the build time for machines. CFEngine can then take over where -rPath leaves off, performing surgically precise customization. - -@node Recommendations for Deploy, Recommendations for Manage, Recommendations for Build, Top -@unnumberedsec Recommendations for Deploy -@sp 1 - -Deploying a policy is a potentially dangerous operation, as it will -lead to change, with associated risk. Side-effects are common, and -often result from incomplete planning. (See the CFEngine Special -Topics Guide on @i{Change Management}). - -The following sequence forms a checklist for deploying successful policy change: -@enumerate -@item Discuss the impact of changes in the team. -@item Commit the changes to promises in version control, e.g. subversion. -@item Make a change in the CFEngine input files. -@item Run the configuration through @samp{cf-promises --inform} to check for problems. -@item Move the policy to a test system. -@item Try running the configuration in dry-run model: @samp{cf-agent --dry-run} -@item Try running the policy once on a single system, being observant of unexpected behaviour. -@item Try running the policy on a small number of systems. -@item Construct a test environment and examine the effect of these promises in practice. -@item Move the policy to the production environment. -@item If possible, test on one or a few machines before releasing for general use. -@end enumerate - -CFEngine recommends a process of many small incremental changes, rather than large -high-risk deployments. - -CFEngine allows you to apply changes at a much finer level of granularity than -any package based management system, thus it complements basic package management with -its deployment and real time repair (see next section). - - -@node Recommendations for Manage, Recommendations for Audit, Recommendations for Deploy, Top -@unnumberedsec Recommendations for Manage -@sp 1 - -Managing systems is an almost trivial task with CFEngine. Once a model -for desired state has been created, you just sit back and watch. You -should be ready for `hands free' operation. No one should make changes -to the system by hand. All changes should follow the deployment -strategy above. - -All that remains to do is wait for email alerts from CFEngine and to -browse reports about the system state. In CFEngine Nova, these reports -are generated automatically and integrated into the system knowledge -base. - -Most email alerts from CFEngine are information only. It is possible -(but not recommended) to make CFEngine very verbose about its -operations. It is common to look for confirmation early in the phase -of adopting CFEngine, as trust in the software is building. Eventually -users turn off the verbosity and the default is for CFEngine to send -as little email or output as possible. - -@cartouche -Consider a single line E-mail, in confirmation of a change, arriving -from 1000 computers in a single day. Learning to trust the software -saves unnecessary communication and needless human involvement. -The Nova Mission Portal makes notification and alerting largely -unnecessary. -@end cartouche - -@node Recommendations for Audit, Summary BDMA workflow, Recommendations for Manage, Top -@unnumberedsec Recommendations for Audit -@sp 1 - -Auditing systems is a continuous process when using CFEngine -Nova. Report data are collected on a continuous and distributed -basis. These data are then collected from each distributed location -according to a schedule of your choosing to collate and integrate the -reports from all systems. - -The reports CFEngine provides are meant to offer simple summaries of -the kind of information administrators need about their environment, -avoiding unnecessary detail. - -@table @emph -@item Available patches report -Patches already installed on system if available. -@item Classes report -User defined classes observed on the system -- inventory data. -@item Compliance report -Total summary of host compliance, all promises aggregated over time. -@item File_changes report -Latest observed changes to system files with time discovered. -@item File_diffs report -Latest observed differences to system files, in a simple diff format. -@item Hashes report -File hash values measured (change detection). -@item Installed patches report -Patches not yet installed, but published by vendor if available. -@item Installed software report -Software already installed on system if available. -@item Lastseen report -Time and frequency of communications with peers, host reliability. -@item Micro-audit report -Generated by CFEngine self-auditing. This report is not aggregated. -@item Monitor summary report -Pseudo-real-time measurement of time series data. -@item Performance report -Time cost of verifying system promises. -@item Promise report -Per-promise average compliance report over time. -@item Promises not kept report -Promises that were recently un-kept. -@item Promises repaired report -Promises that were recently kept by repairing system state. -@item Setuid report -Known setuid programs found on system. -@item Variables report -Current variable values expanded on different hosts. -@end table - -@node Summary BDMA workflow, , Recommendations for Audit, Top -@unnumberedsec Summary BDMA workflow -@sp 1 - -@enumerate -@item Define a stem cell host template -@item Set up PXE network booting and kickstart / jumpstart OS tools with CFEngine integrated -@item Get CFEngine running and updating on all hosts, but making no system changes. -@item Define a service catalogue. -@item Discuss and formulate a policy increment, thinking convergence at all times -@item Publish (deploy) the policy. -@item Follow emails and reports in the CFEngine Knowledge Map (Manage). -@item Adjust policy if necessary, following procedures for change management (Manage) -@item View reports (or enjoy the silence) to audit system state. -@end enumerate - -CFEngine works well with package based management software. Users of -rPath, for example, can achieve substantially improved efficiency in -the build phase. CFEngine takes over where package based systems leave -off, providing an unprecedented level of control `hands free'. - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Change.texinfo b/docs/guides/SpecialTopic_Change.texinfo deleted file mode 100644 index 7e54311e37..0000000000 --- a/docs/guides/SpecialTopic_Change.texinfo +++ /dev/null @@ -1,634 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-change.info -@settitle Change Management and Incident Repair -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Change Management and Incident Repair -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Change Management is about the planning and implementation -of intended changes to an IT system, as well as the detection, -documentation and possible repair of unintended changes. -Change Management involves the assessment of current system state, -the planning, testing and quality assurance cycles, and -scheduling of improvements. - -This guide explains change management in the -framework of CFEngine's self-healing automation. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009, updated 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - - -@node Top, What is change management?, (dir), (dir) -@top Change Management -@menu -* What is change management?:: -* Regulation - authorized and unauthorized change:: -* Intended and unintended change:: -* How fast should changes be made?:: -* Partially centralized change:: -* The decision point:: -* Promises about change vs state:: -* Promises about change:: -* Change management and knowledge management:: -* Non-destructive change:: -* Change and convergence:: -* The change decision process or release management:: -* Deploying policy changes:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is change management?, Regulation - authorized and unauthorized change, Top, Top -@unnumberedsec What is change management? -@sp 1 -Change Management is about the planning and implementation -of intended changes to an IT system, as well as the detection, -documentation and possible repair of unintended changes. -Change Management involves the assessment of current system state, -the planning, testing and quality assurance cycles, and -scheduling of improvements. - -There are many accounts of change management in the industry. Often -these make assumptions about the management framework being used. In -the context of CFEngine automation, some of these approaches are -considered antiquated. This guide explains change management in the -framework of CFEngine's self-healing automation. - -@node Regulation - authorized and unauthorized change, Intended and unintended change, What is change management?, Top -@unnumberedsec Regulation: authorized and unauthorized change -@sp 1 - -It is common to speak of @i{authorized} and @i{unauthorized} change in -the IT industry. Many organizations think in these authoritarian terms -and use management techniques designed for a slower-moving -world. Today's e-commerce companies usually have much more agile and -dynamical processes for change. - -The purpose of change regulation is to minimize the risk of actions -taken by humans, i.e. to avoid human error. This approach makes sense -in low-tech companies that have environments where change is only -about long-term wear and tear or intended modifications to -infrastructure (like a adding new building, or fitting a new gasket on -a car). In today's IT-driven organizations, problems arise a thousand -or more times faster than that, and a new approach is needed. - -Procedures for change, based on legacy regulative methods are incorporated -into popular frameworks for human management, such as ITIL. They begin -by making a formal Request For Change (RFC), which is processed by -management in order to secure permission to exercise a change during -an allocated time-window. In some cases, an ordinary repair such as -restarting a server could take weeks to process, as mandatory Root -Cause Analysis (RCA) is undertaken. The Mean Time To Repair (MTTR) is -dominated by internal bureaucracy. - -Today's IT-based organizations, experience unintended change too quickly -for such a process however, and there is a real risk of lost revenues -from not repairing issues quickly. As many organizations are fearful -of litigation or management reprisals, preferring to err on the side of -caution, it is necessary to evaluate the best strategy for avoiding -exposure to risk. -To use automation effectively, it makes sense to separate change management -into two phases: -@itemize -@item Change of policy itself - which defines desired state. - -Policy has a strategic impact, and its change deserves a process that includes -expert opinions, staged testing and ultimately a phased deployment -during a controllable time-window. - -@item Change that brings systems into compliance with policy. - -Once policy is frozen for a period of time, any unintended changes -must be considered infractions (non-compliance), and repairs should be made according -to what has already been decided. This should happen without delay, -rather than starting a new process to delay action. The ethical issue -is now turned on its head: execessive caution in fixing what has -already been decided may be seen as prevarication and even negligence. - -@end itemize - -@cartouche -The CFEngine way of managing change is to migrate systems through -states of @i{stable equilibrium}. One should not believe that systems -continue flawlessly because no intended changes are made. Change -management with CFEngine should be about planning one stable state -after another, but expecting run-time errors. The rate at which you -move through revisions of stable policy depends on your needs. -The rate at which compliance is repaired should be `as soon as possible'. - -To use an analogy: if policy changes are like take-off and landing, -then a period of stable operations is like a smooth flight, on course -to the correct destination. If unintended changes happen to change -that, like the weather, immediate course corrections should be made to -avoid loss. -@end cartouche - - -@node Intended and unintended change, How fast should changes be made?, Regulation - authorized and unauthorized change, Top -@unnumberedsec Intended and unintended change -@sp 1 - -To institue a rational approach to change management, i.e. one that is -suited to business's operational time-scales, we need to think about -separating change into two the categories implied above: change by -design and change by fate. It is desirable to exercise due diligence -in the design of a system's intended state, but we must be ready to -quickly repair faults that might disrupt business services. We need -to distinguish: -@itemize -@item Purposeful change of an intended policy (planning). -@item Change in the actual system state and behaviour (implementation and maintenance). -@end itemize -What is intended and what actually happens should not be confused. -It is impossible to `lock down' or fully control changes made to -computer systems, without switching them off. A mandatory level of risk -must be anticipated. - - -@cartouche -It is by defining a desired operational state that one can avoid re-processing -every since repair to a system. -@end cartouche - -@node How fast should changes be made?, Partially centralized change, Intended and unintended change, Top -@unnumberedsec How fast should changes be made? -@sp 1 - -Time scales are crucially important in engineering, and deserve equal -importance in IT management. Ask yourself: how do you know if -something is changing or not? You've probably heard catchetisms such -as: - -@itemize -@item A watched kettle never boils. -@item Tempus fugit (time flies). -@end itemize - -These phrases capture the idea that, if we expect to see change at a -certain rate, it is possible to miss changes that occur at either a -faster or slower rate. When we manage a @i{dynamical} process, we have -to attend to the system at the same rate as change takes place. - - -If there is a process changing the system once a day, then to keep the -system aligned with its desired state, there must be a corrective -process that repairs this once per day (the Mean Time To Repair or -MTTR should be the same as the Mean Time Before Failure MTBF), else -the system will experience significant deviations from policy. In the -worst case, this could result in security leaks or loss of -revenue. This is not the full story of course: there will always be -some delay between error and repair (actual time to repair). To -minimize the impact of lost compliance and deviations from intended -state, changes should be made before serious consequences can ensue -that require more significant repairs@footnote{For example, suppose a -process runs out of control and starts filling up logs with error -messages -- the disk might fill up and cause a much more serious -problem, such as a total system failure with crash, is this were left unattended.}. - -Thus, mean time to repair is not a metric that should be used to -define ideal time to repair. The ideal time should be that which -minimizes the risk of losses to operations, and therefore revenues. - -The advantage of CFEngine's two-phase approach to change is that -approved changes can be made a quickly as possible, without -significant use of resources. CFEngine's lightweight agents can -run every five minutes to achieve a tight alignment with operational -and business goals. - -@sp 1 -@cartouche -In information theory, Nyquist's theorem says that, in order to properly -track (and potentially correct) a process that happens at rate @math{R}, -one must sample the system at twice this rate @math{2R}. -In CFEngine, we have chosen a repair resolution of 5 minutes for configuration -sampling, because measurements show that many system characteristics have -auto-correlations times of 10-20 minutes@footnote{Nyquist's -theorem is the main reason why CD-players sample at 44kHz in order to cover the -audible spectrum of 22kHz for most young people. Even though hearing deteriorates -with age, and most people cannot hear this well, it provides a quality margin.}. -@end cartouche - -@node Partially centralized change, The decision point, How fast should changes be made?, Top -@unnumberedsec Partially centralized change -@sp 1 - -It is not necessary to assume a central model of authority to manage -change. Indeed, many CFEngine users have highly devolved organizations -with many decision makers. Federated regions of an organization can -maintain independent policies, aligned with different cultures if -necessary. - -@sp 1 -@cartouche -What may be problematic is to have teams that are not aligned, so that -there are @i{conficting intentions}. In this case, one individual -might instigate a change that conflicts with another. This often -happens in `hit'n'run system administration', where there is no concerted -plan or modus operandi. -@end cartouche - -@sp 1 -To keep federated teams aligned with common criteria for policy, -strong communication is required. For this we provide access to -information through the Mission Portal. This shows the policy itself -in different regions, as well as reports about the compliance of -systems. Users can also exchange messages about their intentions, -through policy comments and personal logs in the system. - - -@node The decision point, Promises about change vs state, Partially centralized change, Top -@unnumberedsec The decision point -@sp 1 - - -By making all changes through a single point of control and -verification, you avoid@footnote{Promise theory tells us that -coordination requires mutual agreement between all agents that work in -a coordinated way on common resources. Every decision necessarily -comes from a single point of origin (but there could be many of these, -making non-overlapping decisions); consistency only starts to go -wrong when intentions about common resources conflict.} the -problem of multiple intentions, because all intentions will be -clear to see. CFEngine works with promises, because a promise -is simply the expression of an intention. - -@image{arch,15cm,,The CFEngine architecture,png} - -If you work in a federated environment, then each distinct region of -policy can have its own policy server or hub. These will not conflict, -unless a host subscribes to updates from more than one hub. - -@node Promises about change vs state, Promises about change, The decision point, Top -@unnumberedsec Promises about change vs state -@sp 1 - -CFEngine works by keeping promises, so think about how promises -apply to change. - -You could promise to @i{make} a change, but that is a very weak -promise because it would be kept by a single transitory event (the -moment at which the change is made) and then it would go away. To -have control over your system at all times you need to make promises -about @i{state}, because state is something that persists for long -times, and thus the promise persists. - -When we care about the state of a system, we make promises that describe -that state at all times, because we know that there might be other -forces for change that can bring about unintended states. If we intend the -state of the system to persist, we should promise that. -Thinking always about periods of stable equilbrium will minimize issues -with non-compliance. - -@sp 1 -@cartouche -To make a change of state, you should think about @i{changing the promises} -that describe your desired state, not about @i{promising to make a change} of state. -@end cartouche -@sp 1 - -An analogy: think of change management as navigation though a sea of possible -states. If you promise changes, you promise to alter course relative -to your current state, e.g. turn left, turn right, alter heading by 10 -degrees to starboard, etc. However, you are now vulnerable to things -you don't know about. Winds and currents blow you off course and can -lead to unintended changes that invalidate these course corrections, -if you have not promised to monitor and avoid them. That is why -modern navigators use @i{beacons}. - -In CFEngine, a beacon is a promise of desired end-state (the end of -your journey). It's the place you want to be -- and the journey -doesn't interest you. Navigators used fixed stars, lighthouses and -now artificial radio signals to guide ships and planes on their -intended course at all times, because beacons promise absolute desired -location, not relative instructions to get there. CFEngine uses -promises in the same way, to guide systems to their desired outcomes, -not merely a script of relative corrections. So CFEngine works somewhat like a -system auto-pilot. - -@node Promises about change, Change management and knowledge management, Promises about change vs state, Top -@unnumberedsec Promises about change -@sp 1 - -To help you think of change in terms of promises, consider the following -promises made during change management, with CFEngine examples. -@table @i - -@item You promise a desired state for your system (beacon). - -@verbatim -packages: - - "apache" - - comment => "Ensure Apache webserver installed", - package_policy => "add", - package_method => yum; - -processes: - - "apache" - - comment => "Ensure apache webserver running", - restart_class => restart_apache; - -@end verbatim - -@item You change a promise you have made about state to promise a new desired state. - -You edit @file{promises.cf} and track the changes using a change management repository -like Subversion or CVS. - -@item A third party promises a change and we promise to accept that change. - -@verbatim -packages: - - "apache" - - comment => "Ensure Apache webserver up to date", - package_policy => "update", - package_method => yum; - -@end verbatim - -@item We promise to monitor unintended changes. - -@verbatim - -files: - - "/usr" -> "Security team" - - changes => detect_all_change, - depth_search => recurse("inf"); - -@end verbatim - -@item We promise two conflicting outcomes (a validation error to be corrected). - -Conflicts of intention are easy to see when they are mediated by CFEngine. -@verbatim - -files: - - "/etc/passwd" -> "Security team" - perms => owner("root"); - - "/etc/passwd" -> "Security team" - perms => owner("mark"); - -@end verbatim - - -@end table - -Perhaps you can think of more promises for your own organization. CFEngine encourages -promise thinking because it promotes stable expectations about the system. Let us -underline what traditional approaches ignore about change management: - -@sp 1 -@cartouche -If you have made no promise about your system state, you should not be -surprised by anything that happens there. You cannot assume that no -change will happen. -@end cartouche -@sp 1 - -@node Change management and knowledge management, Non-destructive change, Promises about change, Top -@unnumberedsec Change management and knowledge management -@sp 1 - -The decision to manage change is an economic trade-off. The more -promises we make about state, the higher the cost of keeping them. You -have to decide how much you are willing to spend on navigating change. - -CFEngine makes desired state cheap, but the true cost of change -management is not implementation but the cost of @i{changing -knowledge}, i.e. losing track of your place within your intentions. If -your system behaviour is dominated by changing external currents that -you ignore, you will constantly be fighting to steer reactively. - -Knowledge Management is necessary to maintain a guidance system that -makes course programming reliable and effective. CFEngine allows you -to document all of your intentions as promises to be kept. CFEngine -Nova additionally provides a continuously updated knowledge map as -part of its `auto-pilot navigation' facilities, based on what we -promise and what it discovers about the environment impacting on -systems. Hence, it tracks both promised state, and unintended changes. - -Lack of knowledge about your system is the cause of unexpected -side-effects and unpleasant surprises. The key to predictability in -system operations is CFEngine's core principle of @i{convergence}. -CFEngine Missions Specialists always think @i{convergence}. - -@node Non-destructive change, Change and convergence, Change management and knowledge management, Top -@unnumberedsec Non-destructive change -@sp 1 - -The IT industry, for the most part, has not really progressed beyond -the idea of baselining systems. In the traditional conception of -change management you start by baselining, i.e. establishing a known -starting configuration. Then you generally assume that you are the -only source of change. If something goes wrong you do not try to -repair the fault, but merely start again, destroying and rebuilding. - -In fact, all kinds of things change beyond our control all the -time. Bugs emerge, items are stolen, things get broken by accident and -external circumstances conspire to confound the order we would like to -preserve. The suggestion that only authorized people actually make -changes is simply wrong. - -@sp 1 -@center @image{demolish,8cm,,Rollback,png} -@sp 1 - -In reality, circumstances are part of the picture, as well as changing -inventory and releases. CFEngine uses the idea of ``convergence'' -(see figure below) to ensure desired state, independently of where you -start from. In this way of thinking, the configuration details might -be changing in a quite unpredictable way, and it is our job to -continuously monitor and repair this general dilapidation. Rather than -assuming a constant state in between changes, CFEngine assumes a -constant ``ideal state'' or @emph{goal} to be achieved at all -times. - -@node Change and convergence, The change decision process or release management, Non-destructive change, Top -@unnumberedsec Change and convergence -@sp 1 - -Change requires action, and implementation is the most dangerous part -of change, as it leads to consquences that a difficult to predict, especially -if you have incomplete knowledge of your environment. - -Reliabilty and dependability on promises requires you to think about -the convergence of all change operations. Many change procedures fail -because they are built in a highly fragile manner (left hand figure): -you require exact knowledge of where you start from, and you have a recipe -that (if applied once and only once) will take you to the desired end state. - -@sp 1 -@center @image{convergence,12cm,,Rollback,png} -@sp 1 -Such a procedure cannot maintain the desired state, without -demolishing it and rebuilding it from scratch. -With CFEngine you focus on the end state (right hand figure), not -where you start from. Every change, action or recipe may be -repeated a infinite number of times@footnote{Some writers like to call this -property idempotence.} without adverse consquences, -because every action will only bring you to the desired state, no matter -where you start from. - -@node The change decision process or release management, Deploying policy changes, Change and convergence, Top -@unnumberedsec The change decision process or release management -@sp 1 - -The process of managing intended changes is often called @i{release -management}. A @emph{release} is a collection of authorized changes -to the promises of desired state for a system. - -A release is traditionally a larger umbrella under which many smaller -changes are made. Changes are assembled into @emph{releases} and then -they are `rolled out'. - -@sp 1 -@cartouche -At CFEngine we encourage many small, incremental changes above -large risky changes, as every change has unexpected consequences, -and small changes minimize risk. (See the Special Topics Guide -on BDMA.) -@end cartouche -@sp 1 - -Release management is about the -designing, testing and scheduling the release, i.e. everything to do with -the release process except the explicit implementation of it. - -New releases are usually made in response to the occurrence of -unintended changes, called @emph{incidents} (incident management). An -incident is an event that leads to unintended behaviour. The root -cause of many incidents is often called a @emph{problem} (problem -management). One goal of CFEngine is to plan pro-actively to handle -incidents automatically, thus taking them off the list of things to -worry about. Changes can introduce new incidents, so it is important -to test changes to promises in advance. - -@enumerate -@item Formulate proposed intentions in the form of promises. -@item Discuss the impact of these in your team of CFEngine Mission Specialists (more than one pair of eyes). -@item Construct a test environment and examine the effect of these promises in practice. -@item Commit the changes to promises in version control, e.g. subversion. -@item Deploy promises changes into live environment on a small number of machines. -@item Finally deploy to all machines. -@end enumerate -At each stage, we make careful, low-risk incursions on the system and -see how it responds. Note that some side-effects could take days to -emerge, so the schedule for change should account for the expected impact. - - -@node Deploying policy changes, , The change decision process or release management, Top -@unnumberedsec Deploying policy changes -@sp 1 - -The following sequence forms a checklist for deploying successful policy change: -@enumerate -@item Discuss the impact of changes in the team. -@item Construct a test environment and examine the effect of these promises in practice. -@item Make a change in the CFEngine input files. -@item Run the configuration through @samp{cf-promises --inform} to check for problems. -@item Commit the tested changes to promises in version control, e.g. subversion. -@item Move the policy to a test system. -@item Try running the configuration in dry-run model: @samp{cf-agent --dry-run} -@item Try running the policy once on a single system, being observant of unexpected behaviour. -@item Try running the policy on a small number of systems. -@item Move the policy to the production environment. -@item If possible, test on one or a few machines before releasing for general use. -@end enumerate - -@noindent Be aware of the differences in your environment. A decision will not necessarily work everywhere -in the same way. - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Cloud.texinfo b/docs/guides/SpecialTopic_Cloud.texinfo deleted file mode 100644 index 20893bc3fa..0000000000 --- a/docs/guides/SpecialTopic_Cloud.texinfo +++ /dev/null @@ -1,314 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-cloud.info -@settitle Cloud -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Cloud Computing and Managed Services -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Cloud Computing is a new economic approach to computer resource management - in which computers can be created and retired on demand. The challenges -of managing this increasingly dynamic environment are considerable. CFEngine -Nova brings scalable assurances about compliance and performance. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What is Cloud Computing?, (dir), (dir) -@top Cloud Computing -@menu -* What is Cloud Computing?:: -* Is Cloud Computing for everything and everyone?:: -* How does CFEngine enable Cloud Computing?:: -* Permanent infra-structure with vibrant change:: -* How does Cloud relate to virtualization?:: -* Isn't virtualization inefficient?:: -* Challenges for Cloud Computing:: -* What if I change my mind about Cloud Computing?:: -* The future - molecular computing:: -@end menu - - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is Cloud Computing?, Is Cloud Computing for everything and everyone?, Top, Top -@unnumberedsec What is Cloud Computing? - - -Cloud Computing refers to the commoditization of -computing, i.e. a world in which computers may be borrowed on demand -from a resource pool, like renting a car or loaning a book from the -library. The term `Cloud' comes from a model of the Internet, where -the precise details of how everything fits together are fuzzy. In a -strongly networked environment, it might matter less where objects are -physically located. - -Commoditization of computers is an important strategy for business -because it has the potential to eliminate a lot of the investment -overhead for equipment during times of rapid change, as well as to -recycle no-longer needed resources and save on redundant investment. You may think of -Cloud Computing as `Recycle-able Computing' -- a world in which you can -use something for a short time and then discard it, without fear of waste. - -@node Is Cloud Computing for everything and everyone?, How does CFEngine enable Cloud Computing?, What is Cloud Computing?, Top -@unnumberedsec Is Cloud Computing for everything and everyone? - -Cloud Computing does for computers what the database did for -information. Instead of having to keep reams of paper physically on -site, databases allowed us to virtualize the information and care less -about where the data were stored. Today we can call up a resource -easily and cheaply from a database, and have someone else manage the -service for us. Cloud computing allows us to dial up a new -computer, like a book from the library, and then return it to the pool -for others to use when we are done. It frees us from thinking about -the specific location of the host, and we can appoint someone to -manage this abstraction for us. - -Of course, this has negative aspects too. In a security environment, -you do indeed want to know exactly where your resources are. If you -are storing diamonds, you want a bank not a library, and you want to -know exactly where the physical objects are. The same is true for -valuable data and computers. - -Cloud Computing might be popular in the contemporary press, but it should be seen -in clear terms as one strategy of several for managing resources efficiently. -Some people still buy books, cars and dig wells, while others loan books, rent -cars and get water from the water authority. Different economic models -have different applications. - -@node How does CFEngine enable Cloud Computing?, Permanent infra-structure with vibrant change, Is Cloud Computing for everything and everyone?, Top -@unnumberedsec How does CFEngine enable Cloud Computing? - -CFEngine has technology that can quickly bring machines, either real -or virtual, from an uninitiated state to a fully working and customized -state in seconds or minutes, without any human intervention. -It can thus turn a generic resource into a specialized managed -service on demand. CFEngine makes it extremely cheap to rebuild -systems from scratch. This is exactly what a vibrant recycling -regime needs to work efficiently. - -@node Permanent infra-structure with vibrant change, How does Cloud relate to virtualization?, How does CFEngine enable Cloud Computing?, Top -@unnumberedsec Permanent infra-structure with vibrant change - -Not all your computers should be disposable. Certain key -infrastructure items like DNS servers, directory servers, databases, -etc are part of a permanent infrastructure. What you need there is -unwavering stability, not agility and impermanence. - -CFEngine's lightweight repair capabilities are not only suitable for -building machines quickly, but also for maintaining their state over -time. It only pays to `rent services' (either from yourself or from a third -party cloud provider) if you use the service infrequently, or your needs -are constantly changing. The lack of permanence of cloud services can -itself become an overhead if what you really need is constancy and security. - -The overhead of investment in physical infrastructure is cheap if that -one term investment will last you for a long time, unchanged. -For that reason, cloud services will never solve everyone's needs -all the time. It is merely one product of choice. - - -@node How does Cloud relate to virtualization?, Isn't virtualization inefficient?, Permanent infra-structure with vibrant change, Top -@unnumberedsec How does Cloud relate to virtualization? - -Virtualization is the tool that makes Cloud Computing practical. -Every time a physical machine needs to be deployed or retired, it -requires the physical presence of a human. To deploy or recycle a -physical machine, somehow usually has to touch the box. - -To deploy and tear down a virtual machine, however, no one needs to -touch anything literally. Machines can be installed, moved and -retired on command, using the physical computers as the host -for a purely software process. Virtualization turns computer deployment -into a software application. - -CFEngine can help to manage the deployment of virtual machines, by -working on the physical host directly. It can also run on every -virtual machine to manage them in a seamless process in which no one -needs to think about what kind of machine software is running on. -CFEngine can bring stability to the hosts or the virtual guests, or it -can keep virtual machines running without the need to -reboot@footnote{Rebooting a virtual machine in the cloud often means -losing all of its special properties, so one needs to be ready -to rebuild in case of catastrophe.}. - - -@node Isn't virtualization inefficient?, Challenges for Cloud Computing, How does Cloud relate to virtualization?, Top -@unnumberedsec Isn't virtualization inefficient? - -Virtualized computers run as software simulations, adding an extra -layer of overhead. Using virtual machines is thus not as fast or -processor-efficient as using real machines, however the processing -overhead is written off in different ways. - -About 70-80% of the electrical power used by a computer is wasted just -by turning it on. Only the remaining 20% go to solving real -problems. However, most computers are very under-utilized (2-5%), so -that many more machines than necessary are switched on at any one -moment, compounding the cost of merely being switched on with an -additional cost of cooling. This expense costs datacentres money -every day. By squeezing 5-10 virtual machines into a single physical -host container, one has a net saving of electrical power and man-power and -often indistinguishable performance. - -Virtualization is a form of packaging, which enables service providers -to separate services more easily with a `Chinese Wall' barrier. -This is useful when dealing with services belonging to different companies -or different users on the same physical host. The packaging aspect -of virtual machines is therefore a form of `information management'. - - -@node Challenges for Cloud Computing, What if I change my mind about Cloud Computing?, Isn't virtualization inefficient?, Top -@unnumberedsec Challenges for Cloud Computing - -Dealing with scale, rapid change and impermanence could quickly lead -to a processing overhead for humans, i.e. in the management of the -cloud computers. In order to cope, some models force an -oversimplification onto the user, forcing them to make do with second -best (a `cheap rental'). - -However, the requirements of computing are getting more complicated, -not less. Even as this new economic management of resources comes -into focus, companies are having to deal with increasing legislation -about privacy, security, compliance with audits, and more. CFEngine -addresses this challenge by integrating transparency of process -and business goals into its scalable approach to continuous maintenance. - -The approach used by CFEngine is to: -@sp 1 -@itemize -@item Help to bring comprehension to the scope of the problem (Knowledge Management and Model-based Desired State Computing). -@item Help to implement change quickly and cheaply (through Lightweight Automation). -@item Help to bring measurable assurance about the state of compliance with policy (continuous maintenance). -@end itemize -@sp 1 -CFEngine's model promise-based computing provides both a language of -assurance for keeping promises, and a measuring stick against which -compliance can be measured. It is not necessary to make ad hoc -judgements; every statement about the system can be documented and -woven into a narrative about the system that can be understood -both by technicians and management stakeholders. - - -@itemize -Deployment and maintaining real or virtual machines - -Instant Managed services from `stem cell' hosts - -Modelling the required properties of all machines and -allowing non-experts insight into that model to see how -their business goals are being handled. - -Focus on outcomes rather than implementation. - -Bring systems from any state into compliance. - -@end itemize - -@node What if I change my mind about Cloud Computing?, The future - molecular computing, Challenges for Cloud Computing, Top -@unnumberedsec What if I change my mind about Cloud Computing? - -CFEngine can be used in a public or in a private cloud, and it can be -used on local servers, desktops and even mobile devices. CFEngine is -designed to be simple and lightweight, but powerful in its concepts -and capabilities. It out-performs most other management software and -imposes fewer limitations. If you want to move a service or a -server-role, it is a simple matter to do so. CFEngine will continue -to manage the service no matter what the underlying resource model. - - -@node The future - molecular computing, , What if I change my mind about Cloud Computing?, Top -@unnumberedsec The future - molecular computing - -At CFEngine, we believe that Cloud Computing is just a rehearsal for a -real change in the way computing services are managed. In the future, -the capabilities that assured management of recycle-able parts bring -to services will allow atomic services to be combined into new and -complex fabrics of functionality. The chemistry of these services will -enable businesses and other organizations to express unique functions -by combining a standard set of elementary parts. CFEngine's role in -such a fabric would be the same as today: bringing self-maintaining, -knowledge-based management to an infrastructure where users are free -to make the most of shared pools. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_ContentDrivenPolicies.texinfo b/docs/guides/SpecialTopic_ContentDrivenPolicies.texinfo deleted file mode 100644 index e2be156063..0000000000 --- a/docs/guides/SpecialTopic_ContentDrivenPolicies.texinfo +++ /dev/null @@ -1,197 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-cdp.info -@settitle Content-Driven Policies -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Content-Driven Policies -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -This document describes simplified policy writing using Content-Driven -Policies in CFEngine Nova. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is a Content-Driven Policy?, (dir), (dir) -@top Content-Driven Policies -@menu -* What is a Content-Driven Policy?:: -* Why should I use Content-Driven Policies?:: -* How do Content-Driven Policies work in detail?:: -* Can I make my own Content-Diven Policies?:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is a Content-Driven Policy?, Why should I use Content-Driven Policies?, Top, Top -@unnumberedsec What is a Content-Driven Policy? - -@sp 1 - -A Content-Driven Policy is a text file with lines containing -semi-colon separated fields, like a spreadsheet or tabular file. Each line in the file is -parsed and results in a specific type of promise being made, depending on which type the -Content-Driven Policy is. The @samp{services} Content-Driven Policy is -shown below. - -@sp 1 -@smallexample -# masterfiles/cdp_inputs/service_list.txt - -Dnscache;stop;fix;windows -ALG;start;warn;windows -RemoteRegistry;start;fix;Windows_Server_2008 - -@end smallexample -@sp 1 - -The meaning of the fields are different depending of the policy type, -but explained in the file header. With these three lines, we ensure -the correct status of three services on all our Windows machines and -are given specialized reports on the outcome. The Content-Driven -Policy services report is shown below. - -@image{cdp_services_report,15cm} - -@node Why should I use Content-Driven Policies?, How do Content-Driven Policies work in detail?, What is a Content-Driven Policy?, Top -@unnumberedsec Why should I use Content-Driven Policies? - -@sp 1 -As seen in the example above, Content-Driven Policies are easy to write -and maintain, especially for users not very familiar with the CFEngine -language. They are designed to capture the essence of a specific, -popular use of CFEngine, and make it easier. For example, the services -Content-Driven Policy above has the following equivalent in the CFEngine -language. - -@smallexample - -bundle agent service_example -@{ -services: - - "Dnscache" - comment => "Check services status of Dnscache", - handle => "srv_Dnscache_windows", - service_policy => "stop", - service_method => force_deps, - action => policy("fix"), - ifvarclass => "windows"; - - "ALG" - comment => "Check services status of ALG", - handle => "srv_ALG_windows", - service_policy => "start", - service_method => force_deps, - action => policy("warn"), - ifvarclass => "windows"; - - "RemoteRegistry" - comment => "Check services status of ALG", - handle => "srv_ALG_windows", - service_policy => "start", - service_method => force_deps, - action => policy("fix"), - ifvarclass => "Windows_Server_2008"; - -@} - -@end smallexample - -Writing this policy is clearly more time-consuming and error-prone. On -the other hand, it allows for much more flexibility than Content-Driven -Policies, when that is needed. - -CFEngine provides Content-Driven Policies to cover mainstream -management tasks like the following. - -@itemize -@item File change/difference management -@item Service management -@item Database management -@item Application / script management -@end itemize - -@node How do Content-Driven Policies work in detail?, Can I make my own Content-Diven Policies?, Why should I use Content-Driven Policies?, Top -@unnumberedsec How do Content-Driven Policies work in detail? -@sp 1 - -The text files in @code{masterfiles/cdp_inputs/} -(e.g. @samp{registry_list.txt}) are parsed into CFEngine lists by -corresponding @code{cdp_*} files in @code{masterfiles/} -(e.g. @samp{cdp_registry.cf}). It is the latter set of files that -actually implement the policies in the text files. - -The Knowledge Map contains reports specifically designed to match the -Content-Driven Policies. - -@node Can I make my own Content-Diven Policies?, , How do Content-Driven Policies work in detail?, Top -@unnumberedsec Can I make my own Content-Diven Policies? -@sp 1 - -It is possible to mimic the structure of the existing Content-Driven -Policies to implement new ones, for new purposes. - -However, CFEngine AS will be creating more of these best-practice -policies. Thus, making a feature request at CFEngine Support may -result in your proposal being developed and supported by professionals -at CFEngine AS. Furthermore, Knowledge Map reports currently need to -be developed induvidually by CFEngine AS. - -@bye diff --git a/docs/guides/SpecialTopic_DevOps.texinfo b/docs/guides/SpecialTopic_DevOps.texinfo deleted file mode 100644 index b8306581f3..0000000000 --- a/docs/guides/SpecialTopic_DevOps.texinfo +++ /dev/null @@ -1,551 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-devops.info -@settitle CFEngine for `DevOps' -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine for `DevOps' and Cloud Developers -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Today's Cloud model is about managing re-usable infrastructure -resources; DevOps extends this to manage and customize application -resources. CFEngine handles -deployment, customization and repair at all levels from the operating -platform to the business applications. - -CFEngine has the sophistication to enable precise integration -of software systems, and the responsiveness to determine the state of -systems within a few minutes in massive cloud-scale deployments. It -runs on everything from handhelds, to smartphones, to individual servers -to datacentres, to mainframes and clouds. -@end quotation -@end cartouche - -@vskip 2cm - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - - -@node Top, What is DevOps? , (dir), (dir) -@top Cfengine for Devops -@menu -* What is DevOps? :: -* Why is DevOps happening now? :: -* Should Web and IT management be closely related?:: -* How do we make controlled change faster?:: -* What role does CFEngine play in DevOps?:: -* Getting used to declarative expression:: -* Using CFEngine to integrate software components:: -* Cloud computing is a rehearsal:: -@end menu - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is DevOps? , Why is DevOps happening now? , Top, Top -@unnumberedsec What is DevOps? -@sp 1 -DevOps is a term coined by Patrick Debois in 2009, from an -amalgamation of Development and Operations. It expresses a -change in the way companies are thinking about IT -- a change from segregated -IT infrastructure to highly integrated platforms. -Leading the way is a group of highly innovative Web-based companies -whose businesses depend on very specific arrangements of -infrastructure. It is about giving software developers more influence -over the IT infrastructure their applications run on, and allowing -change at the same speed as agile development teams. - -@node Why is DevOps happening now? , Should Web and IT management be closely related?, What is DevOps? , Top -@unnumberedsec Why is DevOps happening now? -@sp 1 - -The proliferation of Free and Open Source -software has put powerful software components in the hands of a -broader range of developers than ever before -- and businesses -everywhere are exploiting this software by adapting it and combining -it is a wealth of mutations. This blurs the line between what used to -be development and what used to be the system administrator's domain (operations). -We have entered an age analogous to that of hobby electronics for IT -systems, where we can order off-the-shelf components and build cool -new applications from them anywhere. - -After 20 years of scepticism, business and Free Open Source software have -made friends and are working together creatively for the benefit of -willing consumers. -With this basic premise of agility, companies working in this area -naturally embrace a rapid innovation cycle, meaning a fast release -cycle too. Traditional IT management methods can be perceived as too -slow in such an environment. An important part of DevOps is that it -naturally encompasses the idea of business integration -- or IT -for a purpose. - -@node Should Web and IT management be closely related?, How do we make controlled change faster?, Why is DevOps happening now? , Top -@unnumberedsec Should Web and IT management be closely related? -@sp 1 - -Web frameworks have seen the rise of languages like PHP, Java, Python -and Ruby, all of which offer frameworks for fast deployment. -Languages that work well for application development are not well -suited to managing infrastructure however: they focus too much on low -level details that one would like to suppress. The fact that -programmers already know the languages does not change this. - -An important principle for robustness and stability of systems is weak -coupling between components. This brings flexibility rather than brittle -fragility. Giving programmers direct control over -infrastructure from their applications risks insufficient separation -in which infrastructure management becomes a second-class citizen run -by amateurs who just want to get code out there and don't properly -understand the implications. The System Administrator role exists for -a reason. - -Should we use the web and HTTP for everything just because we -know it? We suggest not. HTTP is an inefficient protocol -for operations. It was designed for 1:1 communication with centralized -certificate verification, not for decentralized 1000000:1 -communication, as testified by the extensive need for load balancers -in web farms. - -At CFEngine, we believe in lightweight management -- made as simple -as possible, but no simpler. - -@node How do we make controlled change faster?, What role does CFEngine play in DevOps?, Should Web and IT management be closely related?, Top -@unnumberedsec How do we make controlled change faster? -@sp 1 - -It is important to be able to make changes quickly. Automation can -implement change quickly if humans can get their acts together. Human -IT processes and best practices (e.g. ITIL, COBIT, etc) tend to over -bureaucratize change, leading to unnecessary overhead which frustrates -agile companies. - -To be confident and efficient (`less haste more speed'), there needs -to be a model for the system that everyone agrees on. Models compress -information and cache understanding, meaning we have less to talk -about@footnote{Consider, for example, US versus Norwegian legal -systems. In Norway more details are codified into federal law. This -means that there is less to talk about in court and legal proceedings -are much more quickly resolved as there is less need to reinvent -interpretations on the fly.}. Finally, models allow us to make -predictions, so they aid understanding and help us to avoid mistake. - -@cartouche -CFEngine's promise model offers a flexible approach to weakly-coupled -autonomous resource configuration. It simultaneously allows efficient, -convergent, and repeatable implementation, and a simple definition of -@i{compliance} with requirements@footnote{For an explanation of convergence, -see the Special Topics Guide on Change Management and Incident Repair.}. All web-based companies using credit -cards will know about the need for PCI-DSS compliance, for instance. -And US-traded companies will know about Sarbanes-Oxley (SOX). -@end cartouche - - -@node What role does CFEngine play in DevOps?, Getting used to declarative expression, How do we make controlled change faster?, Top -@unnumberedsec What role does CFEngine play in DevOps? -@sp 1 - -The challenges for IT management today are about increasing complexity (driven -by the circuitry of online applications) and increasing scale. - -CFEngine is not a programming language, but a documentation language -for system state that has the pleasant side effect of enforcing that -state on a continuous basis. It gets away from the idea of `build -automation' to complete lifecycle management. It's continuity is a -natural partner for a rapid development environment, as mistakes can be -quickly fixed on the fly with minimal impact on the system. - -CFEngine's wins are that it is massively scalable, very low impact and rich in functionality. -It will not break at a few hundred machines or choke off network communications with -overhead. It will fix practically any well-defined problem within 5 minutes, bringing dependability and -agility. - -Knowledge, business integration - metrics - -The advantage CFEngine brings is that users can have clear expectations about their -systems at all times. Today's programmers are more sophisticated than script monkeys. - -@node Getting used to declarative expression, Using CFEngine to integrate software components, What role does CFEngine play in DevOps?, Top -@unnumberedsec Getting used to declarative expression -@sp 1 - -CFEngine uses a pragmatic mixture of the declarative (functional) and -imperative to represent configurations. Programmers are taught mainly -imperative programming today, so a declarative approach could seem like -a barrier to adoption. The principles are very simple however, and easy for -developers to grasp. - -In spite of the focus on readability for documenting @i{intent}, -all the familiar structures of imperative programming are, in fact, available -in CFEngine, just optimized for clarity. - -@cartouche -The main goals of CFEngine are @i{convergence to a desired state}, @i{repeatability} -and @i{clear intentions}. -@end cartouche - -@menu -* Expressing actions or tasks in CFEngine:: -* Expressing conditionals in CFEngine:: -* Expressing loops in CFEngine:: -* Expressing subroutines in CFEngine:: -@end menu - -@node Expressing actions or tasks in CFEngine, Expressing conditionals in CFEngine, Getting used to declarative expression, Getting used to declarative expression -@unnumberedsubsec Expressing actions or tasks in CFEngine -@sp 1 - -Most of the actionable items have builtin operational support, -which is designed to be convergent and safely repeatable. -To keep declarations clear, CFEngine organizes similar -operations into chapters in a simple separation of concerns. - -@example -files: - @var{"affected object" ...details....} - -processes: - @var{"affected object" ...details....} - -@end example -@noindent In general, many such promises and types are collected into bundles, so -that the form is -@cartouche -@example - bundle agent SomeUserDefinedName - @{ - type_of_promise: - - @var{"affected object/promiser" - - body of the promise/details} - - ... - @} -@end example -@end cartouche -@node Expressing conditionals in CFEngine, Expressing loops in CFEngine, Expressing actions or tasks in CFEngine, Getting used to declarative expression -@unnumberedsubsec Expressing conditionals in CFEngine -@sp 1 - -CFEngine uses the idea of contexts (also called classes or class-contexts@footnote{ -The term classes was originally used but has since been overloaded with connotations from -Object Orientation, etc, making the term confusing.}) to address declarations to -certain environments. The contexts or classes are written as a prefix, a bit like a -target in a Makefile. They represent known properties of the environment. -@cartouche -@example - bundle agent SomeUserDefinedName - @{ - type_of_promise: - - @b{property::} - - @i{make one promise...} - - @b{!property::} - - @i{make a different promise...} - @} - -@end example -@end cartouche -@noindent This is the mechanism by which all decisions are made in CFEngine. Class contexts -are evaluated by @code{cf-agent} and are cached so that they can be used at any time. - -How do we know if the property has been evaluated or not? CFEngine evaluates certain -hard-classes by default. In addition, you can probe as many more as you like, as -separate promises. -@verbatim - classes: - - "cached_result" expression => fileexists("/some/file"); - "bigger" and => { isgreaterthan("1","0"), "cached_result" }; - -@end verbatim -This is different from a programming language where you generally make these tests -in-line when you need them. In CFEngine the chance that you need the same test multiple -times is greater, so the determination is separated entirely from the usage. - -To go from @i{if-then-else} thinking to using classes, you just need to thihnk about -classes as booleans: -@example -bundle agent Name -@{ -classes: - - "cached_result" expression => fileexists("/some/file"); - "bigger" and => @{ isgreaterthan("1","0"), "cached_result" @}; - -reports: - - @b{bigger::} - "Bigger is true...."; - - @b{cached_result&!bigger::} - "Mathematics seems to be awry..."; - - # may also be written @b{cached_result.!bigger::} - -@} -@end example -These results can then be extended and reused efficiently. -The class definitions can be hidden away and suitably meaningful class names -replace a lot of redundant syntax. - -All the information about class contexts is evaluated at the end-host, -in a decentralized manner avoiding clogging of network communications -that befuddles many centralized approaches. This keeps CFEngine execution -very fast and with a low overhead. - -@node Expressing loops in CFEngine, Expressing subroutines in CFEngine, Expressing conditionals in CFEngine, Getting used to declarative expression -@unnumberedsubsec Expressing loops in CFEngine -@sp 1 - -Lists and loops go hand in hand, and they are a very effective way of reducing -syntax and simplifying the expression of intent. Saying `do this to all the following' -is generally easier to comprehend than `do this to the first, do this to the next,...' and -so on, because our brains are wired to see patterns. - -Thus, loops are as useful for configuration as for programming. We -only want to simplify the syntax once again to hide redundant words -like `foreach'. To do this, CFEngine makes loops implicit. If you -use a scalar variable reference @samp{$(mylist)} to a list variable -@samp{@@(mylist)}, CFEngine assumes you want to iterate over each -case. -@verbatim -vars: - "my_list" slist => { "one", "two", "three" }; - -files: - "/tmp/file_$(my_list)" - create => "true"; - -@end verbatim -@noindent The above evaluates to three promises: -@example -files: - - "/tmp/file_one" - create => "true"; - - "/tmp/file_two" - create => "true"; - - "/tmp/file_three" - create => "true"; - -@end example -@noindent Similarly the following -@verbatim -bundle agent x -{ -vars: - "hi" string => "Hello"; - "list1" slist => { "a", "b", "c" }; - "list2" slist => { "1", "2", "3", "4" }; - "list3" slist => { "x", "y", "z" }; - -reports: - !silly_non_existent_context:: - "$(hi) $(list1) $(list2) $(list3)"; -} -@end verbatim -@noindent Results in: -@smallexample -R: Hello a 1 x -R: Hello b 1 x -R: Hello c 1 x -R: Hello a 2 x -R: Hello b 2 x -R: Hello c 2 x -R: Hello a 3 x -R: Hello b 3 x -R: Hello c 3 x -R: Hello a 4 x -R: Hello b 4 x -R: Hello c 4 x -R: Hello a 1 y -R: Hello b 1 y -R: Hello c 1 y -R: Hello a 2 y -R: Hello b 2 y -R: Hello c 2 y -R: Hello a 3 y -R: Hello b 3 y -R: Hello c 3 y -R: Hello a 4 y -R: Hello b 4 y -R: Hello c 4 y -R: Hello a 1 z -R: Hello b 1 z -R: Hello c 1 z -R: Hello a 2 z -R: Hello b 2 z -R: Hello c 2 z -R: Hello a 3 z -R: Hello b 3 z -R: Hello c 3 z -R: Hello a 4 z -R: Hello b 4 z -R: Hello c 4 z -@end smallexample - -@node Expressing subroutines in CFEngine, , Expressing loops in CFEngine, Getting used to declarative expression -@unnumberedsubsec Expressing subroutines in CFEngine -@sp 1 -Subroutines are used for both expressing and reusing parameterizable -chunks of code, and for naming chunks for better management of intention. -In CFEngine you define these as @code{methods}. A method is simply a bundle -of promises, possibly with parameters. To call a method, you make a -method-use-bundle promise. In this example, we call a bundle called @code{subtest} -which accepts a parameter from its calling bundle. - -@verbatim -body common control -{ -# Master execution list -bundlesequence => { "testbundle" }; -} - -########################################### - -bundle agent testbundle -{ -vars: - "userlist" slist => { "one", "two", "three" }; - -methods: - "any" usebundle => subtest("$(userlist)"); -} - -########################################### - -bundle agent subtest(user) -{ -commands: - "/bin/echo Fix $(user)"; -} - -@end verbatim -@noindent The use of methods brings multi-dimensional patterns -to convergent configuration management. - -@node Using CFEngine to integrate software components, Cloud computing is a rehearsal, Getting used to declarative expression, Top -@unnumberedsec Using CFEngine to integrate software components -@sp 1 - -Integration of software components may be addressed with a variety -of approaches and techniques: - -@itemize -@item Standard template methods from the COPBL community library (`out of the box' -solutions). -@item Customized, personalized configurations. -@item Package management for software dependencies. -@item File management - copying, editing, permissions, etc. -@item Process management - starting, stopping, restarting. -@item Security. -@item Monitoring performance and change. -@end itemize - -@noindent Needless to say, all of these are easily achievable with 5 minute repair accuracy -using our CFEngine framework. - -@node Cloud computing is a rehearsal, , Using CFEngine to integrate software components, Top -@unnumberedsec Cloud computing is a rehearsal -@sp 1 - -We have barely made a dent in CFEngine in this Short Topics Guide. -Let us end by noting briefly that DevOps and Cloud Computing are -merely rehearsals for what is to come next: molecular computing in -which we synthesize complex clusters of components based on higher -level rule based schemas. - -In this future version of IT, knowledge management will be the key -challenge for understanding how to build systems. We fully expect the -APIs of the future virtualized infrastructure to be promise oriented, -and for CFEngine to remain a viable approach to configuration after -other frameworks have become outmoded. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_DistributedScheduling.texinfo b/docs/guides/SpecialTopic_DistributedScheduling.texinfo deleted file mode 100644 index e1d9d06e72..0000000000 --- a/docs/guides/SpecialTopic_DistributedScheduling.texinfo +++ /dev/null @@ -1,611 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-distsched.info -@settitle Distributed Scheduling -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Distributed Scheduling and Workflows -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Distributed scheduling is about tying together jobs to create a -workflow across multiple machines. It introduces a level of fragility -into system automation. Using CFEngine promises, we can create self-healing -workflows, but we recommend minimizing dependencies. This document shows how -to build workflows using CFEngine primitives. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node top, What is distributed scheduling?, (dir), (dir) -@top CFEngine-Tutorial -@menu -* What is distributed scheduling?:: -* Coordinating dispatch:: -* Job scheduling and periodic maintenance:: -* Fancy distributed encapsulation:: -* More links in the chain:: -* Self-healing workflows:: -* Long workflow chains:: -* Summary of Distributed Scheduling:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is distributed scheduling?, Coordinating dispatch, top, top -@unnumberedsec What is distributed scheduling? - -@sp 1 -Scheduling refers to the execution of non-interactive processes or -tasks (usually called `jobs') at designated times and places around a -network of computers (see the Special Topics Guide on Scheduling). -Distributed Scheduling refers to the chaining of different jobs into a -coordinated workflow that spans several computers. For example, you -schedule a processing job on @code{machine1} and @code{machine2}, and -when these are finished you need to schedule a job on @code{machine3}. -This is distributed scheduling. - - -@node Coordinating dispatch, Job scheduling and periodic maintenance, What is distributed scheduling?, top -@unnumberedsec Coordinating dispatch - -Dispatch is the term used for starting actually the execution of a job -that has been scheduled. There are two ways to achieve distributed -job scheduling: -@itemize -@item Centralized dispatch of jobs. -@item Peer to peer signalling with local dispatch of jobs. -@end itemize -There are pros and cons to centralization. Centralization makes -consistency easy to determine, but it creates bottlenecks in -processing and allows one machine to see all -information. Decentralization provides an automatic and natural -load-balancing of job dispatch, and it allows machines to -reveal information on a `need to know' basis. - -CFEngine is a naturally decentralized system, and only policy -definition is usually centralized, but you can set up practically any -architecture you like, in a secure fashion. - -@node Job scheduling and periodic maintenance, Fancy distributed encapsulation, Coordinating dispatch, top -@unnumberedsec Job scheduling and periodic maintenance - -You promise to execute tasks or keep promises at distributed -places and times: - -@itemize -@item You tell CFEngine @i{what} and @i{how} with the details of a promise. -@item You tell CFEngine @i{where} and @i{when} promises should be kept, using @i{classes}. -@end itemize - -CFEngine is designed principally to maintain desired state on a continuous -basis. -There are three cases for job scheduling: -@itemize -@item Unique jobs run once and only once. -@item Standard jobs run sporadically on demand. -@item Standard jobs run on a regular schedule. -@end itemize -This list transfers to workflow processes too. If one job needs to -follow after another (because it depends on it for something), we can -ask if this workflow is a standard and regular occurrence, or a one-off phenomenon. - -@menu -* One-off workflows:: -* Regular workflows:: -@end menu - -@node One-off workflows, Regular workflows, Job scheduling and periodic maintenance, Job scheduling and periodic maintenance -@unnumberedsubsec One-off workflows - -In CFEngine, you code a one-off workflow by specifying the space-time coordinates -of the event that starts it. For example, if you want a job to be run a 16:45 on Monday -24th January 2012, you would make a class corresponding to this time, and place the -promise of a job (or jobs) in this class. Let's look at some examples of this, in which -host1 executes a command called @file{my_job}, and host2 follows up with a bundle of -promises afterwards. - -The simplest case is to schedule the exact times. -@verbatim -bundle agent workflow_one -{ -methods: - - Host2.Day24.January.Year2012.Hr16.Min50_55:: - - "any" usebundle => do_my_job_bundle; - -commands: - - Host1.Day24.January.Year2012.Hr16.Min45_50:: - - "/usr/local/bin/my_job"; - -} -@end verbatim -Host1 runs its task at 16:45, and Host2 excutes its part in the -workflow five minutes later. The advantage of this approach is that no -direct communication is required between Host1 and Host2. The -disadvantage is that you, as the orchestrator, have to guess how long -the jobs will take. Moreover Host2 doesn't know for certain whether -host1 succeeded in carrying out its job, so it might be a fruitless -act. - -We can change this by signalling between the processes. Whether not you consider -this an improvement or not depends on what you value highest: avoidance of -communication or certainty of outcome. In this version, we increase the certainty -of control by asking the predecessor or upstream host for confirmation of success -if the job was carried out. -@verbatim -bundle agent workflow_one -{ -classes: - - Host2:: - - "succeeded" expression => remoteclassesmatching - ( - "did.*", # get classes matching - "Host1", # from this server - "no", # encrypt comms? - "hostX" # prefix - ); -methods: - - Host2.hostX_did_my_job - - "any" usebundle => do_my_job_bundle; - -commands: - - Host1.Day24.January.Year2012.Hr16.Min45_50:: - - "/usr/local/bin/my_job", - classes => state_repaired("did_my_job"); -} -@end verbatim -In this example, the methods promise runs on Host2 and the commands promise runs -one Host1 as before. Now, host 1 sets a signal class @samp{did_my_job} -when it carries out the job, and Host2 collects it by contacting the @code{cf-serverd} -on Host1. Assuming that Host1 has agreed to let Host2 know this information, by granting -access to it, Host2 can inherit this class, with a prefix of its own choosing. Thus -is transforms the class @samp{did_my_job} on Host1 into @samp{hostX_did_my_job} on Host2. - -The advantage of this method is that the second job will only be started if the first -completed, and we don't have to know how long the job took. The disadvantage of this is that -we have to exchange some network information, and this has a small network cost, and requires -some extra configuration on the server side to grant access to this context information: - -@verbatim -bundle server access_rules -{ -access: - - "did_my_job" - - resource_type => "context", - admit => { "Host2" }; -} - -@end verbatim - - -@node Regular workflows, , One-off workflows, Job scheduling and periodic maintenance -@unnumberedsubsec Regular workflows - -To make a job happen at a specific time, we used a very specific time -classifier @samp{Day24.January.Year2012.Hr16.Min45_50}. If we now want -to make this workflow into a regular occurrence, repeating at some -interval we have two options: - -@itemize -@item We repeat this at the same time each week, day, hour, etc. -@item We don't care about the precise time, we only care about the interval between executions. -@end itemize -The checking of promises in CFEngine is controlled by @i{classes} and -by @i{ifelapsed locks}, which may be used for these two cases -respectively. If nothing else is specified, CFEngine runs every 5 -minutes and reconsiders the state of all its active promises. To be -specific about the time, we just alter which promises are active at -different times. Classes (as used already) allow us to anchor a -promise to a particular region of time and space. Locks, on the other -hand, allow us to say that a promise will only be rechecked if a certain -time has elapsed since the last time. - -So, to make a promise repeat, we simply have to be less specific about the time. -Let us make the promise on Host1 apply every day between 16:00:00 (4 pm) and 16:59:59, -and add an ifelapsed lock saying that we do not want to consider rechecking more often -tha once every 100 minutes (more than 1 hour). Now we have a workflow process -that starts at 16:00 hours each day and runs only once each day. - -@verbatim -bundle agent workflow_one -{ -classes: - - Host2:: - - "succeeded" expression => remoteclassesmatching( - "did.*", - "Host1", - "no", - "hostX" - ); -methods: - - Host2.hostX_did_my_job - - "any" usebundle => do_my_job_bundle; - -commands: - - Host1.Hr16:: - - "/usr/local/bin/my_job", - action => if_elapsed("100"), - classes => state_repaired("did_my_job"); - - -@end verbatim - -@node Fancy distributed encapsulation, More links in the chain, Job scheduling and periodic maintenance, top -@unnumberedsec Fancy distributed encapsulation - -We could try to be fancy about distributed scheduling, packaging -it into a reusable structure. This may or may not be a good idea, depending -on your aesthetics. The following example, from the community unit tests, -shows how we might proceed. - -@verbatim - -body common control - -{ -bundlesequence => { job_chain("Hr16.Min10_15") }; -} - -######################################################## - -bundle common g -{ -vars: - - # Define the name of the signal passed between hosts - - "signal" string => "pack_a_name"; -} - -######################################################## - -bundle agent job_chain(time) -{ -vars: - - # Define the names of the two parties - - "client" string => "downstream.exampe.org"; - "server" string => "upstream.example.org"; - -classes: - - # derive some classes from the names defined in variables - - "client_primed" expression => classmatch(canonify("$(client)")), - ifvarclass => "$(time)"; - - "server_primed" expression => classmatch(canonify("$(server)")), - ifvarclass => "$(time)"; - - client_primed:: - - "succeeded" expression => remoteclassesmatching( - "$(g.signal)", - "$(server)", - "yes", - "hostX" - ); -methods: - - client_primed:: - - "downstream" usebundle => do_job("Starting local follow-up job"), - action => if_elapsed("5"), - ifvarclass => "hostX_$(g.signal)"; - - server_primed:: - - "upstream" usebundle => do_job("Starting remote job"), - action => if_elapsed("5"), - classes => state_repaired("$(g.signal)"); - -reports: - - !succeeded:: - - "Server communication failed", - - ifvarclass => "$(time)"; -} - -######################################################### - -bundle agent do_job(job) -{ -commands: - - # do whatever... - - "/bin/echo $(job)"; -} - -######################################################### -# Server config -######################################################### - -body server control -{ -allowconnects => { "127.0.0.1" , "::1" }; -allowallconnects => { "127.0.0.1" , "::1" }; -trustkeysfrom => { "127.0.0.1" , "::1" }; -allowusers => { "mark" }; -} - -######################################################### - -bundle server access_rules() -{ -access: - - "$(g.signal)" - - resource_type => "context", - admit => { "127.0.0.1" }; -} - -@end verbatim - -@node More links in the chain, Self-healing workflows, Fancy distributed encapsulation, top -@unnumberedsec More links in the chain - -In the examples above, we only had two hosts cooperating about -jobs. In general, it is not a good idea to link together many -different hosts unless there is a good reason for doing so. In HPC or -Grid environments, where distributed jobs are more common and results -are combined from many sub-tasks, one typically uses some more -specialized middleware to accomplish this kind of cooperation. Such -software makes compromises of its own, but is generally better suited -to the specialized task for which it was written than a tool like -CFEngine (whose main design criteria are to be secure and generic). - -Nevertheless, there are some tricks left in CFEngine for distributed -scheduling if we want to trigger a number of follow-ups from a single job, or -aggregate a number of jobs to drive a single follow-up (see figure). - -@sp 1 -@center @image{schedule_patterns,5cm,,Rollback,png} -@sp 1 - -@menu -* Aggregation of multiple jobs:: -* Triggering multiple follow-ups:: -@end menu - -@node Aggregation of multiple jobs, Triggering multiple follow-ups, More links in the chain, More links in the chain -@unnumberedsubsec Aggregation of multiple jobs - -When aggregating jobs, we must combine their exit status using AND or OR. -The most common case it that we require all the prerequisites in place in order to -generate the final result, i.e. trigger the followup only if all of the prerequisites -succeeded. -@verbatim -bundle agent workflow_one -{ -vars: - - "n" slist => { "2", "3", "4" }; - -classes: - - "succeeded$(n)" expression => remoteclassesmatching( - "did.*", - "Host$(n)", - "no", - "hostX" - ), - ifvarclass => "Host$(n)"; -methods: - - Host2.Host3.Host4.hostX_did_my_job - - "any" usebundle => do_my_job_bundle; - -commands: - - Host1.Hr16:: - - "/usr/local/bin/my_job", - action => if_elapsed("100"), - classes => state_repaired("did_my_job"); -@end verbatim -@noindent This example shows an all-or-nothing result. The follow-up job -will only be executed if all three jobs finish within the same 5 -minute time-frame. There is no error handling or recovery except to schedule the whole -thing again. - -Triggering from one or more predecessors, i.e. combining with OR, looks similar, -we just have to change the class expression: -@verbatim -... - -methods: - - (Host2|Host3|Host4).hostX_did_my_job - - "any" usebundle => do_my_job_bundle; - -... -@end verbatim - - -@node Triggering multiple follow-ups, , Aggregation of multiple jobs, More links in the chain -@unnumberedsubsec Triggering multiple follow-ups - -The converse scenario is to trigger a number of jobs from a single pre-requisite. -This is simply a case of listing the jobs under the trigger classes. -@verbatim -bundle agent workflow_one -{ -classes: - - Host2:: - - "succeeded" expression => remoteclassesmatching( - "did.*", - "Host1", - "no", - "hostX" - ); -methods: - - Host2.hostX_did_my_job - - "any" usebundle => do_my_job_bundle1; - "any" usebundle => do_my_job_bundle2; - "any" usebundle => do_my_job_bundle3; - -commands: - - Host1.Hr16:: - - "/usr/local/bin/my_job", - action => if_elapsed("100"), - classes => state_repaired("did_my_job"); - -@end verbatim - - -@node Self-healing workflows, Long workflow chains, More links in the chain, top -@unnumberedsec Self-healing workflows - -To apply CFEngine's self-healing concepts to workflow scheduling, we -can imagine the concept of a convergent workflow, i.e. one that, if we -repeat everything a sufficient number of times, will eventually lead -to the result. The outcome of the chained sequence of jobs must have -an outcome that is repeatably achievable and which will eventually be -achieved if we try a sufficient number of times. Using CFEngine this -is a natural outcome -- however, most system designers do not think in -terms of repeatable sustainable outcomes and fault-tolerance. - -Beware however, one-off jobs @i{cannot} be made convergent, because -they only have a single chance to succeed. It is a question of -business process design whether you design workflows to be sustainable -and repeatable, or whether you trust the outcome of a single shot -process. Using the persistent classes in CFEngine together with the -if-elapsed locks to send signals between hosts, it is simple and -automatic to make convergent self-healing workflows. - - -@node Long workflow chains, Summary of Distributed Scheduling, Self-healing workflows, top -@unnumberedsec Long workflow chains - -Long workflow chains are those which involve more than one trigger. -These can be created by repeating the pattern above several times. -Note however, that each link in the chain introduces a new level of -uncertainty and potential failure. In general, we would not recommend -creating workflows with long chains. - -@node Summary of Distributed Scheduling, , Long workflow chains, top -@unnumberedsec Summary of Distributed Scheduling - -Distributed scheduling is about tying together jobs to create a -workflow across multiple machines. It introduces a level of fragility -into system automation. Using CFEngine promises, we can create self-healing -workflows, but we recommend minimizing dependencies. This document shows how -to build workflows using CFEngine primitives. - - - - - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/SpecialTopic_Editing.texinfo b/docs/guides/SpecialTopic_Editing.texinfo deleted file mode 100644 index 036cd3d5ab..0000000000 --- a/docs/guides/SpecialTopic_Editing.texinfo +++ /dev/null @@ -1,1047 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-editing.info -@settitle Promising and Editing File Content -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Promising and Editing File Content -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -The ability to edit files convergently is a popular and widely used -aspect of CFEngine. This document proposes some best practices for -managing file content. - -The examples contained here assume the inclusion of the standard COPBL -library as an input. -@end quotation -@end cartouche - -@vskip 2cm - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - - -@node Top, From boiler-plates to convergent file editing, (dir), (dir) -@top Editing -@menu -* From boiler-plates to convergent file editing:: -* Why is file editing difficult?:: -* What does file editing involve?:: -* Three approaches to managing files:: -* Constructing files from promises:: -* Editing bundles:: -* Choosing an approach to file editing:: -* Pitfalls to watch out for in file editing:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@c ********************************************************************* - -@node From boiler-plates to convergent file editing, Why is file editing difficult?, Top, Top -@unnumberedsec From boiler-plates to convergent file editing -@sp 1 - -Many configuration management systems allow you to determine -configuration file content to some extent, usually by over-writing -files with boiler-plate (template) files. This approach works for some -cases, but it is a blunt and inflexible instrument, which forces you -to take over the ownership of the file `all or nothing' and determine -its entire content yourself. This is more than is necessary or -desirable in general. - -Other approaches to file editing us search and replace, e.g. with the -long-standing Unix tools @file{awk} and @file{sed}. Adding a user to a -structured file such as the password file, only if the user is not -already defined, is a more complex operation. - -Cfengine allows you to model both whole files and parts of files, in any -format, and promise that these fragments will satisfy certain promises -about their state. This is potentially different from more common templating -approaches to file management in which pre-adjusted copies of files -are generated for all recipients at a single location and then -distributed. - - -The most important thing about making changes to files is that the -result end up being predictable. There are three ways to approach this -problem. You should choose the simplest approach that solves your -problem and try not to be prejudiced by what you have done before. - - - - - - - -@c ********************************************************************* - - -@node Why is file editing difficult?, What does file editing involve?, From boiler-plates to convergent file editing, Top -@unnumberedsec Why is file editing difficult? -@sp 1 - -File content is not made up of simple data objects like permission flags or -process tables: files contain compound, ordered structures (known as -grammars) and they cannot always be determined from a single source of -information. To determine the outcome of a file we have to adopt either -a fully deterministic approach, or live with a partial approximation. - -Some approaches to file editing try to `know' the intended format of a -file, by hardcoding it. If the file then fails to follow this format, -the algorithms might break. CFEngine gives you generic tools to be -able to handle files in any line-based format, without the need to -hard-code specialist knowledge about file formats. - -@cartouche -Remember that all changes are adapted to your local context and implemented at the final -destination by @code{cf-agent}. -@end cartouche - - -@c ********************************************************************* - -@node What does file editing involve?, Three approaches to managing files, Why is file editing difficult?, Top -@unnumberedsec What does file editing involve? -@sp 1 - -There are several ways -to approach desired state management of file contents: - -@sp 1 -@enumerate -@item Copy a finished file template to the desired location, completely overwriting existing content. -@item Copy and adapt an almost finished template, filling in variables or macros to yield a desired content. -@item Make corrections to whatever the existing state of the file might be. -@end enumerate -@sp 1 -There are advantages and disadvantages with each of these approaches and the best approach depends on -the type of situation you need to describe. - -@sp 1 -@multitable @columnfractions .5 .5 -@item @b{For the approach} @tab @b{Against the approach} -@item 1. Deterministic. @tab Hard to specialize the result and the source must still be maintained by hand. -@item 2. Deterministic. @tab Limited specialization and must come from a single source, again maintained by hand. -@item 3. Non-deterministic/partial model. @tab Full power to customize file even with multiple managers. -@end multitable -@sp 1 - - -Approaches 1 and 2 are best for situations where very few variations -of a file are needed in different circumstances. Approach 3 is best -when you need to customize a file significantly, especially when you don't know the -full details of the file you are starting from. Approach 3 is generally required -when adapting configuration files provided by a third party, since the basic -content is determined by them. - - - -@c ********************************************************************* - - -@node Three approaches to managing files, Constructing files from promises, What does file editing involve?, Top -@unnumberedsec Three approaches to managing files - - -@menu -* Copying a finished file template into place:: -* Contextual adaptation of a file template:: -* Example file template:: -* Combining copy with template expansion:: -* Making delta changes to someone else's file:: -@end menu - -@node Copying a finished file template into place, Contextual adaptation of a file template, Three approaches to managing files, Three approaches to managing files -@unnumberedsubsec Copying a finished file template into place - -Use this approach if a simple substution of data will solve the problem in all contexts. - -@enumerate -@item Maintain the content of the file in a version controlled repository. -@item Check out the file into a staging area. -@item Copy the file into place. -@end enumerate - -@cartouche -@verbatim -bundle agent something -{ -files: - - "/important/file" - - copy_from => secure_cp("/repository/important_file_template","svn-host"); -} -@end verbatim -@end cartouche - -@c ********************************************************************* - - -@node Contextual adaptation of a file template, Example file template, Copying a finished file template into place, Three approaches to managing files -@unnumberedsubsec Contextual adaptation of a file template - -There are several approaches here: -@enumerate -@item Encode the boiler-plate template directly in the CFEngine configuration, and have full use of the power of the CFEngine language to adapt it. -@item Keep a separate boiler-plate file and edit/adapt it. -@item Copy a template from a repository then edit/adapt it. -@item Copy a generic template with embedded variables that can be expanded like macro-substitution. -@end enumerate -@noindent Choose the approach that you consider to be simplest and most reliable for the purpose you need. -Don't use templating, for instance, simply because it is what you are used to, or you might waste a lot -of time and effort maintaining data that you don't need to. - -To expand a template file on a local disk: -@cartouche -@verbatim -bundle agent templating -{ -files: - - "/home/mark/tmp/file_based_on_template" - - create => "true", - edit_line => expand_template("/tmp/source_template"); -} -@end verbatim -@end cartouche -@noindent As of CFEngine version 3.3.0 you can also use a new templating file format -and write: -@cartouche -@verbatim -bundle agent templating -{ -files: - - "/home/mark/tmp/file_based_on_template" - - create => "true", - edit_template => "/tmp/source_template"; -} -@end verbatim -@end cartouche - - -@noindent For example, the source template file might look like this, with -embedded CFEngine variables: -@example -mail_relay = $(sys.fqhost) -important_user = $(mybundle.variable) -#... -@end example -@noindent These variables will be filled in by CFEngine assuming they are defined -within your CFEngine configuration. - -If you use the new @code{edit_template} promise, you can embed directives to CFEngine -context-classes and mark out regions of a file to be treated as an iteratable -block. - -@cartouche -@verbatim -#This is a template file /templates/input.tmpl - -These lines apply to anyone - -[%CFEngine solaris.Monday:: %] -Everything after here applies only to solaris on Mondays -until overridden... - -[%CFEngine linux:: %] -Everything after here now applies now to linux only. - -[%CFEngine BEGIN %] -This is a block of text -That contains list variables: $(some.list) -With text before and after. -[%CFEngine END %] - -nameserver $(some.list) -@end verbatim -@end cartouche -@sp 1 -@noindent For example: if we use this template in a promise: -@sp 1 -@cartouche -@verbatim -bundle agent test -{ -vars: - "var" slist => { "1", "2", "3"}; - -files: - "/tmp/expander" - create => "true", - edit_template => "/templates/input.tmpl"; -} - -@end verbatim -@end cartouche -@noindent The result would look like this, on a linux host: -@sp 1 -@verbatim -#This is a template file /templates/input.tmpl - -These lines apply to anyone -Everything after here now applies now to linux only. -This is a block of text -That contains list variables: 1 -With text before and after. -This is a block of text -That contains list variables: 2 -With text before and after. -This is a block of text -That contains list variables: 3 -With text before and after. -nameserver 1 -nameserver 2 -nameserver 3 -@end verbatim -@sp 1 - -@node Example file template, Combining copy with template expansion, Contextual adaptation of a file template, Three approaches to managing files -@unnumberedsubsec Example file template - -@sp 1 -@verbatim -[%CFEngine any:: %] - - ServerAdmin $(stage_file.params[apache_mail_address][1]) - DocumentRoot /var/www/htdocs - ServerName $(stage_file.params[apache_server_name][1]) - AddHandler cgi-script cgi - ErrorLog /var/log/httpd/error.log - AddType application/x-x509-ca-cert .crt - AddType application/x-pkcs7-crl .crl - SSLEngine off - CustomLog /var/log/httpd/access.log - - -[%CFEngine webservers_prod:: %] -[%CFEngine BEGIN %] - - ServerAdmin $(stage_file.params[apache_mail_address][1]) - DocumentRoot /var/www/htdocs - ServerName $(stage_file.params[apache_server_name][1]) - AddHandler cgi-script cgi - ErrorLog /var/log/httpd/error.log - AddType application/x-x509-ca-cert .crt - AddType application/x-pkcs7-crl .crl - SSLEngine on - SSLCertificateFile $(stage_file.params[apache_ssl_crt][1]) - SSLCertificateKeyFile $(stage_file.params[apache_ssl_key][1]) - CustomLog /var/log/httpd/access.log - -[%CFEngine END %] - -@end verbatim - -@node Combining copy with template expansion, Making delta changes to someone else's file, Example file template, Three approaches to managing files -@unnumberedsubsec Combining copy with template expansion - -What about getting your template to the end-host? To convergently -copy a file from a source and then edit it, use the following -construction with a staging file. -@cartouche -@verbatim -bundle agent master -{ -files: - "$(final_destination)" - create => "true", - edit_line => fix_file("$(staging_file)"), - edit_defaults => empty, - perms => mo("644","root"), - action => if_elapsed("60"); -} - -bundle edit_line fix_file(f) -{ -insert_lines: - "$(f)" - insert_type => "file"; - # expand_scalars => "true" ; - -replace_patterns: - "searchstring" - replace_with => value("replacestring"); -} - -@end verbatim -@end cartouche - -@c ********************************************************************* - -@node Making delta changes to someone else's file, , Combining copy with template expansion, Three approaches to managing files -@unnumberedsubsec Making delta changes to someone else's file - -Edit a file with multiple promises about its state, when you do not want -to determine the entire content of the file, or if it is unsafe to -make unilateral changes, e.g. because its contents are also -being managed from another source like a software package manager. - -For modifying a file, you have access to the full power of text editing -promises. This is a powerful framework. - -@cartouche -@verbatim -# Resolve conf edit - -body common control -{ -bundlesequence => { "g", resolver(@(g.searchlist),@(g.nameservers)) }; -inputs => { "cfengine_stdlib.cf" }; -} - -bundle common g # global -{ -vars: - "searchlist" slist => { "example.com", "cfengine.com" }; - "nameservers" slist => { "10.1.1.10", "10.3.2.16", "8.8.8.8" }; - -classes: - "am_name_server" - expression => reglist("@(nameservers)","$(sys.ipv4[eth1])"); -} - -bundle agent resolver(s,n) -{ -files: - "$(sys.resolv)" # test on "/tmp/resolv.conf" # - create => "true", - edit_line => doresolv("@(this.s)","@(this.n)"), - edit_defaults => empty; -} - -# For your private library ...................... - -bundle edit_line doresolv(s,n) -{ -insert_lines: - "search $(s)"; - "nameserver $(n)"; -delete_lines: - # To clean out junk - "nameserver .*| search .*" not_matching => "true"; -} -@end verbatim -@end cartouche - - - - - -@c ********************************************************************* - - -@node Constructing files from promises, Editing bundles, Three approaches to managing files, Top -@unnumberedsec Constructing files from promises -@sp 1 - -Making finished templates for files and filling in the blanks using variables -is a flexble approach in many cases, but it is not flexible enough for all -cases. A very flexible approach, but one that requires more thought, is to build -a final result (desired end-state) from a set of promises about what the file -should contain. This might or might not include templates in the sense of complete -files that are read in. - -@cartouche -If you are using CFEngine 3.3 or later, you have the option of using @code{edit_template} -and its embedded language constructs to keep decisions and loops inside templates. Let's -set aside that for a while and look at the alternatives, placing the data entirely -within bundles of `edit'-promises. -@end cartouche - -There is language support for this kind of editing in the standard -library, and you can store data and template components within a -CFEngine configuration itself, or as a separate file. For example: - -@verbatim -# - -body common control -{ -bundlesequence => { "main" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -# - -bundle common data -{ -vars: - "person" string => "Mary"; - "animal" string => "a little lamb"; -} - -# - -bundle agent main -{ -files: - "/tmp/my_result" - create => "true", - edit_line => expand_template("/tmp/my_template_source"), - edit_defaults => empty; -} - -@end verbatim -@noindent Suppose the file @file{my_template_source} contains the following -text: - -@smallexample - This is a file template containing variables to expand - - e.g $(data.person) had $(data.animal) -@end smallexample -@sp 1 -@noindent Then we would have the file content: -@sp 1 -@smallexample -host$ more /tmp/my_result - This is a file template containing variables to expand - - e.g Mary had a little lamb -@end smallexample - -@menu -* Adding a line here and there:: -* Lists inline:: -@end menu - -@node Adding a line here and there, Lists inline, Constructing files from promises, Constructing files from promises -@unnumberedsubsec Adding a line here and there - - -@noindent A simple file like this could also be defined in-line, without a separate template file: -@verbatim -# - -body common control -{ -bundlesequence => { "main" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -# - -bundle common data -{ -vars: - "person" string => "Mary"; - "animal" string => "a little lamb"; -} - -# - -bundle agent main -{ -vars: - "content" string => - "This is a file template containing variables to expand -e.g $(data.person) had $(data.animal)"; - -files: - - "/tmp/my_result" - create => "true", - edit_line => append_if_no_line("$(content)"), - edit_defaults => empty; -} - -@end verbatim - - -@node Lists inline, , Adding a line here and there, Constructing files from promises -@unnumberedsubsec Lists inline - - -@sp 1 -Here is a more complicated example, that includes list expansion. List expansion (iteration) -adds some trickiness because it is an ordered process, which needs to be anchored somehow. -@verbatim -# - -body common control -{ -bundlesequence => { "main" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -# - -bundle common data -{ -vars: - - "person" string => "Mary"; - "animal" string => "a little lamb"; - - "mylist" slist => { "one", "two", "three" }; - "clocks" slist => { "five", "six", "seven" }; - - # or read the list from a file with readstringlist() - -} - -# - -bundle agent main -{ -files: - - - "/tmp/my_result" - - create => "true", - edit_line => my_expand_template, - edit_defaults => empty; -} - -# - -bundle edit_line my_expand_template -{ -vars: - - # import the lists, due to current limitation - - "mylist" slist => { @(data.mylist) }; - "clocks" string => join(", ","data.clocks"); - "other" string => "eight"; - -insert_lines: - - " - This is a file template containing variables to expand - - e.g $(data.person) had $(data.animal) - - and it said: - "; - - " - $(mylist) o'clock "; - " - ROCK! - $(clocks) o'clock, $(other) o'clock - "; - - " ROCK! - The end. - " - - insert_type => "preserve_block"; # So we keep duplicate line -} - -@end verbatim -This results in a file output containing: -@smallexample -host$ ~/LapTop/cfengine/core/src/cf-agent -f ./test.cf -K -host$ more /tmp/my_result - - This is a file template containing variables to expand - - e.g Mary had a little lamb - - and it said: - - one o'clock - two o'clock - three o'clock - ROCK! - five, six, seven o'clock, eight o'clock - ROCK! - The end. - -@end smallexample - -Splitting this example into several promises seems unnecessary and inconvenient, so we could use a special -function @code{join()} to make pre-expand the scalar list and insert it as a single object: - -@verbatim -# - -body common control -{ -bundlesequence => { "main" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -# - -bundle common data -{ -vars: - - "person" string => "Mary"; - "animal" string => "a little lamb"; - - "mylist" slist => { "one", "two", "three", "" }; - "clocks" slist => { "five", "six", "seven" }; - - # or read the list from a file with readstringlist() - -} - -# - -bundle agent main -{ -files: - - - "/tmp/my_result" - - create => "true", - edit_line => my_expand_template, - edit_defaults => empty; -} - -# - -bundle edit_line my_expand_template -{ -vars: - - # import the lists, due to current limitation - - "mylist" string => join(" o'clock$(const.n) ","data.mylist"); - "clocks" string => join(", ","data.clocks"); - "other" string => "eight"; - -insert_lines: - - " - This is a file template containing variables to expand - - e.g $(data.person) had $(data.animal) - - and it said: - - $(mylist) - ROCK! - $(clocks) o'clock, $(other) o'clock - ROCK! - The end. - " - - insert_type => "preserve_block"; # So we keep duplicate line -} - -@end verbatim -Finally, since this is now entirely contained within a single set of quotes (i.e. there is a single -promiser), we could replace the in-line template with one read from a file: -@verbatim -# - -body common control -{ -bundlesequence => { "main" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -# - -bundle common data -{ -vars: - - "person" string => "Mary"; - "animal" string => "a little lamb"; - - "mylist" slist => { "one", "two", "three", "" }; - "clocks" slist => { "five", "six", "seven" }; - - # or read the list from a file with readstringlist() - -} - -# - -bundle agent main -{ -files: - - - "/tmp/my_result" - - create => "true", - edit_line => my_expand_template, - edit_defaults => empty; -} - -# - -bundle edit_line my_expand_template -{ -vars: - - # import the lists, due to current limitation - - "mylist" string => join(" o'clock$(const.n) ","data.mylist"); - "clocks" string => join(", ","data.clocks"); - "other" string => "eight"; - -insert_lines: - - "/tmp/my_template_source" - expand_scalars => "true", - insert_type => "file"; -} - -@end verbatim -@noindent - - - -@c ********************************************************************* - -@node Editing bundles, Choosing an approach to file editing, Constructing files from promises, Top -@unnumberedsec Editing bundles - -Unlike other aspects of configuration, promising the content of a single -file object involves possibly many promises about the atoms within the file. -Thus we need to be able to state bundles of promises for what happens inside -a file and tie it (like a body-template) to the @code{files} promise. -This is done using an @code{edit_line =>} or @code{edit_xml =>} constraint@footnote{At the time of writing -only @code{edit_line} is implemented.}, for -instance: - -@verbatim -files: - - "/etc/passwd" - - create => "true", - - # other constraints on file container ... - - edit_line => mybundle("one","two","three"); -@end verbatim - -Editing bundles are defined like other bundles for the agent, except that they have a type -given by the left hand side of the constraint (just like body templates): - -@verbatim -bundle edit_line mybundle(arg1,arg2,arg3) -{ -insert_lines: - - "newuser:x:1111:110:A new user:/home/newuser:/bin/bash"; - "$(arg1):x:$(arg2):110:$(arg3):/home/$(arg1):/bin/bash"; -} -@end verbatim - - - -@menu -* Standard library methods for simple editing:: -* Expressing expand_template as promises:: -@end menu - -@node Standard library methods for simple editing, Expressing expand_template as promises, Editing bundles, Editing bundles -@unnumberedsubsec Standard library methods for simple editing - -You may choose to write your own editing bundles for specific purposes; you can also use -ready-made templates from the standard library for a lot of purposes. If you follow the -guidelines for choosing an approach to editing below, you will be able to re-use standard -methods in perhaps most cases. Using standard library code keeps your own intentions clear -and easily communicable. -For example, to insert hello into a file at the end once only: -@verbatim -files: - - "/tmp/test_insert" - - create => "true", - edit_line => append_if_no_line("hello"), -edit_defaults => empty; - -@end verbatim -Or to set the shell for a user -@verbatim -files: - - "/etc/passwd" - create => "true", - edit_line => set_user_field("mark","7","/my/favourite/shell"); - -@end verbatim - -Some other examples of the standard editing methods are: - -@verbatim - append_groups_starting(v) - append_if_no_line(str) - append_if_no_lines(list) - append_user_field(group,field,allusers) - append_users_starting(v) - comment_lines_containing(regex,comment) - edit_line comment_lines_matching(regex,comment) - delete_lines_matching(regex) - expand_template(templatefile) - insert_lines(lines) - resolvconf(search,list) - set_user_field(user,field,val) - set_variable_values(v) - set_variable_values2(v) - uncomment_lines_containing(regex,comment) - uncomment_lines_matching(regex,comment) - warn_lines_matching(regex) -@end verbatim - -You find these in the documentation for the COPBL. - - -@c ********************************************************************* - - -@node Expressing expand_template as promises, , Standard library methods for simple editing, Editing bundles -@unnumberedsubsec Expressing @code{expand_template} as promises - -As on CFEngine 3.3.0, CFEngine has a new template mechanism to make it -easier to encode complex file templates. These templates map simply to @code{edit_line} bundles -in the following way. - -@itemize -@item Each line in a template maps to a separate @code{insert_lines} promise unless it is grouped with @samp{[%CFEngine BEGIN %]} and @samp{[%CFEngine END %]} tags. -@item Each multi-line group, marked with @samp{[%CFEngine BEGIN %]} and @samp{[%CFEngine END %]} tags maps to a multi-line @code{insert_lines} promise, with @code{insert_type => "preserve_block"}. -@item Each line that expresses a context-class: @samp{[%CFEngine @var{classexpression}:: %]} maps to a normal -class expression in a bundle. -@end itemize - -The order of lines in the template is preserved within each block, or if @code{edit_defaults} is used -to empty the resulting generated file before editing: e.g. with the standard library method: - -@verbatim - - "/tmp/expander" - - create => "true", - edit_template => "/home/a10004/input.dat", - edit_defaults => empty; - -@end verbatim - - -@node Choosing an approach to file editing, Pitfalls to watch out for in file editing, Editing bundles, Top -@unnumberedsec Choosing an approach to file editing - -There are two decisions to make when choosing how to manage file content: - -@table @i -@item How can the desired content be constructed from the necessary source(s)? -Is there more than one source of infromation that needs to be merged? - -@item Do the contents need to be adapted to the specific environment? -Is there context-specific information in the file? -@end table - -@cartouche -Use the simplest approach that requires the smallest number of promises to solve the -problem. -@end cartouche - -@node Pitfalls to watch out for in file editing, , Choosing an approach to file editing, Top -@unnumberedsec Pitfalls to watch out for in file editing - -File editing is different from most other kinds of configuration -promise because it is fundamentally an order dependent configuration -process. Files contain non-regular grammars. CFEngine attempts to simplify -the problem by using models for the file structure, essentially factoring out -as much of the context dependence as possible. - -Order dependence increases the fragility of maintainence, so you should do what you can to minimize it. - -@itemize -@item Try to use substitution within a known template if order is important. -@end itemize - -The simplest kinds of files for configuration are line-based, with no special order. For such -cases, simple line insertions are usually enough to configure files. - -The increasing introduction of XML for configuration is a major headache for configuration -management. - -@ifhtml -@html - -@contents -@end html - - -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_FIPS.texinfo b/docs/guides/SpecialTopic_FIPS.texinfo deleted file mode 100644 index 17ef6bdbb8..0000000000 --- a/docs/guides/SpecialTopic_FIPS.texinfo +++ /dev/null @@ -1,150 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-fips.info -@settitle FIPS certification -@setchapternewpage odd -@c %** end of header - -@titlepage -@title FIPS validated cryptography in CFEngine -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -The FIPS 140-2 validation for approved cryptographic modules is a current -government requirement in the USA. This document explains the use of -FIPS 140-2 validated modules in commercial CFEngine versions. - -FIPS 140-3 is underway and will supercede FIPS 140-2 at some unknown time in the future. - -QA: MB,NP,CR -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} July 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - - -@iftex -@contents -@end iftex - - -@unnumberedsec What is FIPS 140-2? -@sp 1 - -FIPS 140-2 is a standard published by the National Institute of -Standards and Technology (NIST)[1]. NIST also established the -Cryptographic Module Validation Program (CMVP)[2] that validates -cryptographic modules to the FIPS 140-2 standard. Vendors seek -validation for their cryptographic modules in order to provide -assurance that their encryption solutions are properly implemented -to an accepted standard. - -A cryptographic module that has already been issued a FIPS 140-2 -validation certificate may be incorporated or embedded into -another product. [3] - -In order to use a validated cryptographic module and attest FIPS 140-2 -validation, the new product must: -@itemize -@item Reference the certificate number of the validated module, -@item Must not alter the original validated module. -@item Must adhere to the documented security policy for the validated module. -@end itemize - - -@unnumberedsec What is the certificate number? -@sp 1 - -CFEngine attests to NIST certificate number 1111. - -These validations were not initiated by CFEngine, but any user of -this Open Source software module can use them provided we follow the -instructions in the security policy. - -@unnumberedsec Declaration from CFEngine -@sp 1 - -The current FIPS 140-2 Crypto Policy Officer for CFEngine resides -at CFEngine AS/Inc headquarters. The security officer attests that -packages provided by CFEngine, on the customer download site -software.CFEngine.com, whose names contain the term FIPS in upper or -lower case have been compiled according to the security policy for -certificate 1111 [5]. CFEngine packages, marked FIPS, have been built -from source code located at: - -@url{http://www.openssl.org/source/openssl-fips-1.2.tar.gz} - -@noindent according to the security policy documented in [6]. -CFEngine can provide compliant software on all Unix-like platforms, -but not currently on Windows. - - -@unnumberedsec Algorithms -@sp 1 - -CFEngine uses OpenSSL encryption code from the libcrypto library. It -does not use any SSL or TLS specific modules. CFEngine uses RSA -encryption for authentication. Commercial versions of CFEngine use -AES-256 symmetric encryption with a random session key for transport. - -@unnumberedsec Future policy -@sp 1 - -It is CFEngine's policy to obtain a private validation of the -OpenSSL crypto module at some time in the next two years for the principal -purpose of branding. This is a long process and does not alter the -specification of the software in any way. - -@page -@unnumberedsec References -@sp 1 - -@enumerate -@item Security policy 1111: - -@item @url{http://csrc.nist.gov/groups/STM/cmvp/standards.html} - -@item @url{http://csrc.nist.gov/groups/STM/cmvp/index.html} - -@item @url{http://csrc.nist.gov/groups/STM/cmvp/documents/CMVPFAQ.pdf} - -@item @url{http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#1111} - -@item @url{http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140crt/140crt1111.pdf} -@item @url{http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1111.pdf} - - -@end enumerate - -@bye - - diff --git a/docs/guides/SpecialTopic_Federation.texinfo b/docs/guides/SpecialTopic_Federation.texinfo deleted file mode 100644 index 89a5030368..0000000000 --- a/docs/guides/SpecialTopic_Federation.texinfo +++ /dev/null @@ -1,593 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-federation.info -@settitle Orchestration -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Federation and Organizational Complexity -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Each business or organization has a necessary and sufficient level of -complexity for its tasks: too complex and resources are wasted due to -vlack of comprehension, too simple and the business is not being served -properly. Complexity often arises when organizations merge because -leaders attempt to reorganize hierarchically. This ST Guide explains -strategies that are suited to cope with complexity, and how best to -organize a CFEngine configuration. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - -@node Top, What is organizational complexity?, (dir), (dir) -@top Federation -@menu -* What is organizational complexity?:: -* What is federation?:: -* Coordination:: -* The Authority Paradox:: -* The social contract:: -* Service oriented federation:: -* Each part disconnected providing services:: -* Disconnected parts inheriting a single baseline:: -* Handling multiple sources:: -* Global assurance:: -* Merging and dividing enterprises:: -* Why federation does not reduce predictabilty:: -* The benefits of federated management:: -@end menu - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is organizational complexity?, What is federation?, Top, Top -@unnumberedsec What is organizational complexity? - -Complexity is a measure of the amount of information needed to explain -something. It implies a `mental cost' (and therefore a time and -monetary cost) to comprehend a pattern of structure and behaviour. - -The term organization has two distinct meanings in English: it can be -intended as a euphemism for an @i{institution} or a business, and it -can be intended to mean an ordered @i{structural pattern} (i.e. the -state of being organized). To avoid confusion, we shall refer to -businesses and public institutions as enterprises, and use the term -organization to mean an architectural pattern with a certain level of -complexity. - -Organizational Complexity is therefore the amount of information, and -hence cost, needed to manage an enterprise or system. In information -science, the complexity of a system is commonly defined as the length -of the shortest document that fully describes it. A complex system -requires a long document to capture its workings; a simple system -requires only a short document. - - -@node What is federation?, Coordination, What is organizational complexity?, Top -@unnumberedsec What is federation? - -A federation is a pattern of organization obtained by merging a number -of initially independent parts. The implication is that the resulting -organization is not a singular rigid unit, but rather a more loosely -coupled collective of autonomous parts. - -Federation is a natural structure for any enterprise that has parts -with fundamentally different functions or orgins. It can also be a -stepping stone on the way from a set of independent actors to a state -of unified integration. - -@sp 1 -@cartouche -Companies that merge or acquire other companies, as well as -companies that reorganize to outsource tasks are natural candidates -for federated management. -@end cartouche -@sp 1 - -Promise theory predicts that a federated organization is naturally -@i{service oriented}, with two main architectures: -@itemize -@item The different parts of the collective bind together -by promising each other services. - - -@item The parts offer services to external parties, but are bound -together by promising to coordinate with a central entity. - -@end itemize - -@node Coordination, The Authority Paradox, What is federation?, Top -@unnumberedsec Coordination, hierarchy and centralization - -Federated parts of an enterprise are said to be coordinated by an -entity, if they receive common information from it. Merely delivering -services (i.e. keeping promises) to a common entity does not lead to -coordination. Think of an orchestra. The conductor does not bring -about any coordination simply by listening, but rather by providing -common signals to the federated agents. On the other hand, the -conductor is a bottleneck who throttles the productivity of the -federated agents. If the agents rely too much on the conductor, or are -discouraged from acting independently, the amplification of effort is lost. - -@center @image{coordination,12cm,,,png} -@center Coordination implies common knowledge. -@sp 1 -The need for coordination is often exaggerated in human organizations --- it comes from an unrealistic desire to absolutely determine the -outcome of decisions. Realistically, it is only a means to bring -consistency to distributed parts. - - -@sp 1 -@cartouche -In ITIL and current IT parlance, a central hub containing coordination -information is called a Configuration Management Database (CMDB). The -term CMDB refers to a range of quite different approaches to -coordinating information that will not be discussed here. -In Object Orientation, the term @i{inheritance} is used to signify the -use of common information by federated parts. -@end cartouche -@sp 1 - -It is possible for federated parts to inherit coordinating information -from more than one source, just as it is possible for someone to have -two different jobs. In that case, one must be careful to avoid -conflicting directions. As organizational complexity grows, the -possibility of conflicting direction and expectation also grows unless strict principles -are adhered to. - -Promise Theory tells us that such conflicts can only be resolved by a -party receiving information, not by the parties sending it. This leads -to the model known as `voluntary cooperation' used by CFEngine, which -implies that each federated part must effectively choose which inputs it is -willing to use from external parties. - - - -@node The Authority Paradox, The social contract, Coordination, Top -@unnumberedsec The Authority Paradox - -For some, the idea that an organization should be built on voluntary -cooperation sounds wrong. However, no matter how much we might crave -certainty of outcome, making demands on the compliance of federated parts -does nothing to improve that certainty; indeed, it can -have the reverse effect. The confusion lies in a misunderstanding of desired -authority over the actual power to change, i.e. in what is intended or desired and -what is actually possible. Promise Theory resolves this confusion -by building a model based directly on the agents that can effect change. - -Authority is about who, in an enterprise, may decide what is -intended. Most people perceive authority through hierarchies or -`chains of command' in which the top of the hierarchical pyramid is -the master, and the layers below must follow: those at the top are -more powerful than those on the bottom. This is a cultural -prejudice. However this perception is, at best misleading, and in fact -is incorrect. - -Humans have been organizing things into hierarchies for most of -recorded history. We have a deeply held notion that favours -hierarchies as an organizational form. It is worth examining why. In -early times the upper echelons of hierarchy were the strong and the -educated, served by a relatively unspecialised workforce. They wielded -their power by guile and by violent force, and the lower layers cowered -in fear. From Kings and leaders to middle managers and class-system -underdogs, institutions and government, documents and tables of -contents, everywhere we look we see hierarchical structures. - -@sp 1 -@center @image{brainbrawn,8cm,,,png} -@sp 1 -@center The authority paradox -@sp 1 - -Today, education and peaceful society turns the reality of the power -hierarchy upside down: the true specialists are at the bottom of the -hierarchy, closer to the levers and the expertise to effect change. -Today `low level' means more specialised, not less educated. Low -level experts are held together by relatively unspecialised `managers' -who serve mainly as coordinators and communications links. However, -the culture and perception of authority from the top remains today. - -These changes create a paradox in modern systems. The leadership of -intent is assumed to come from above, but the real power to act is -down below. This necessitates the binding together of organizations -by a social contract of @i{voluntary cooperation}. - -The same is true in computer systems. Most system designs assume -that the point of command will be placed at the top of an -organizational tree, and that every part of the system (represented in -the branches and leaves) will follow the commands made from the top. -This turns out to be a poor model because, in reality, the top has -neither the knowledge nor the proximity to enforce changes below. - -No central management of either enterprise or computers can force -individual agents to comply with their wishes, without their low level -consent. The perception of authority is thus only a -fiction@footnote{Think of an orchestra. The real expertise lies in the -players (below). The conductor (above) offers coordination and -guidance, but has no real power to create music. Music is possible -because each player has his/her own copy of the script, and can work -autonomously, with only a little guidance.}. - - - - -@node The social contract, Service oriented federation, The Authority Paradox, Top -@unnumberedsec The social contract - -Social contracts lie at the heart of all human and computer -organizations. For computers these contracts may be as simple as -`access control settings', nonetheless there are human politics behind -them. Most enterprises struggle more with their internal sociology -(or politics) than with their technological solutions. - -When an organization is formed by merging independent parts, this is -especially important. The loss of identity and the feeling of loss of -autonomy by these parts can fuel a breakdown of the social contract -- -i.e. a loss of loss of voluntary cooperation. In terms of system -management, it therefore makes sense to preserve as much of the -identity and autonomy of the parts as possible. - -From an information perspective, this is also the lowest cost solution. -The expertise to run the merged entity already exists within -it@footnote{At least we may assume this.}, and the proximity to make -change is automatic, so to increase the organizational distance -between decision, expertise and change will at best lead to increased -overhead and at worst lead to the disconnection of decision making from -expertise. - -@sp 1 -@cartouche -Low level autonomy is a cost saving strategy that reduces the overhead -of management and improves the link between expertise and action. -@end cartouche - - -@node Service oriented federation, Each part disconnected providing services, The social contract, Top -@unnumberedsec Service oriented federation - -Service oriented means business oriented. -Let us now consider what this means for IT configuration. In -particular, how should a CFEngine configuration be structured for an -efficient organization? In the examples below, we shall adopt a -service oriented view, in which an enterprise is organized as a set of -federated entities, some of whom depend on each other for services. - - - -@node Each part disconnected providing services, Disconnected parts inheriting a single baseline, Service oriented federation, Top -@unnumberedsec Each part disconnected, providing services - -Each federated entity manages its own @file{promises.cf} file. Each has, in effect, its -own independent CFEngine configuration. - -@sp 1 -@center @image{fed1,12cm,,,pdf} -@center Independent configurations - complete autonomy - -The configuration may still use resources provided by other entities' machines, but -the other entities have no influence on the set of promises used to maintain any given one. - - - - - -@node Disconnected parts inheriting a single baseline, Handling multiple sources, Each part disconnected providing services, Top -@unnumberedsec Disconnected parts inheriting a single baseline - -A more common model for federation is to have a baseline constitution -for all the parts of the enterprise defined by an umbrella -organization. We can refer to this as a `global infrastructure' -service. - -Traditionally (i.e. hierarchically) one would think of this global -entity as being superior to the other entities, i.e. making them -subordinate, but this is not necessary, nor correct according to the -reality. The role of the global service is rather to provide a point -of consistent coordination, or centralized expertise to the others. -Compliance with the proposals of the global coordinator will be -assured if it plays a valuable roles. - -@sp 1 -@cartouche -Since the real power to change still lies in the hands of the -federated entities, the global infrastructure unit must build -a social contract with them to assure that its wishes are -complied with. This goal is attended to by making the global -entity a valued service for the federated entities. If the -global service is perceived as being of no value, it will be -ignored. -@end cartouche -@sp 1 - -@noindent The next step from full autonomy is thus to use methods that -have been defined by an enterprise-wide global infrastructure service. - -@sp 1 -@center @image{fed2,10cm,,,png} -@center Independent configurations using a common baseline -@sp 1 - - -@cartouche -@verbatim - -# -# Federated promises.cf -# - - bundle agent main - { - files: - - "$(sys.workdir)/inputs/baseline.cf" - - copy_from => remote_cp( - "/masterfiles/baseline.cf", - "central_service.example.com" - ); - methods: - - # Inherit the baseline constitution - - "baseline" usebundle => company_baseline; - - # All other local promises here .... - } - -@end verbatim -@end cartouche -@sp 1 - -The CFEngine code snippet above represents the CFEngine configuration -for any of the hosts in one of the federated departments. The -configuration is extremely simple. It begins by downloading the -@file{baseline.cf} configuration, provided by the global -infrastructure service, and then goes on to promise to use this as a -`method'. Finally, the major part of the configuration is the set of -special promises determined by the department itself. Federation is thus -technically trivial. The difficulties are rather conceptual and -sociological. - -Let us remark on the likelihood for conflict. Although the source of -the baseline is external, CFEngine configuration promises are always -implemented by the federated departments themselves, none are (or can -be) implemented by any external party such as the infrastructure -service. Thus, it is the responsibility of federated departments to -ensure that there are no conflicts between the baseline and their own -promises. Moreover, as the parts have no power to change the baseline, but -have agreed to follow it, the logical outcome must be that their own -special promises must not conflict with the global infrastructure -proposal. So all requirements are met without the need for central enforcement. - - -@node Handling multiple sources, Global assurance, Disconnected parts inheriting a single baseline, Top -@unnumberedsec Handling multiple sources - -Consider briefly the case in which there is more than one entity -offering promise proposals. If a part of the federation serves two -masters (see department 3 in the figure below), i.e. it promises to -implement the wishes of two external sources, then those sources must -either agree one hundred percent in their proposals, or they must not -overlap at all. Since these `masters' may or may not be coordinated, -it is up to the federated entity (department 3) to make the decision -about which of the sources to obey. - -@sp 1 -@center @image{fed3,12cm,,,png} -@center Multiple inheritance can lead to incorrect expectations. -@sp 1 - -The possiblity of conflict is easily handled in this architecture, -because it recognizes that the federated entity must be the final -arbiter of confict. - - -@node Global assurance, Merging and dividing enterprises, Handling multiple sources, Top -@unnumberedsec Global assurance - -The lack of a hierarchy has not made information chaotic and -disorganized. It has only provided a simple means of -scalability and conflict resolution. - -So what makes a federation different from a collection of completely -independent enterprises? The answer to this question us usually -some minimum set of common promises that all parts of the federation -must keep: a baseline constitution. - -Now, since the real power lies in the leaves of the organizational -tree, but the designated authority lies at the root, the root needs to -monitor the behaviour of the federated entities to ensure that this -baseline constition is being complied with. This can be handled by -performing an audit of the whole federation according to a single -standard@footnote{Think, once again, about the orchestra. The -conductor observes the behaviour of each autonomous player to -determine whether the orchestra is playing together and is playing the -same piece of music.}. - - -@sp 1 -@cartouche -CFEngine allows single-point-of-coodination monitoring of hosts -by a variety of mechanisms, so that compliance can be assured. -@end cartouche - - -@node Merging and dividing enterprises, Why federation does not reduce predictabilty, Global assurance, Top -@unnumberedsec Merging and dividing enterprises - -Autonomy makes the merging and division of enterprise systems trivial. -It is the way to enable out-sourcing and in-sourcing. - -Imagine trying to combine two cups of coffee. Now try combining two -combine two buildings or houses of cards. Coffee mixes easily because -it is not full of dependencies (bonds) between its parts. Buildings -are not fluid: at best one can build bridges between them, and try to -build something else around them and then take them apart. The same -applies to any system, whether human, software or mechanical. - -To merge two systems or enterprises, it will be much simpler if they -are fluid to begin with -- i.e. they are basically composed of -autonomous parts, loosely coupled, not rigidly joined together. Hierarchical -organization is rigid, like a house of cards. Service-oriented -systems are loosely coupled. By keeping the internal organization of -systems as far as possible like independent service atoms, you -facilitate reorganization by merging and division. - -@node Why federation does not reduce predictabilty, The benefits of federated management, Merging and dividing enterprises, Top -@unnumberedsec Why federation does not reduce predictabilty - -The fear that many traditionalists have of federated management is -that they cannot be certain of the outcome unless they have absolute -authority. This fear is misplaced however. Certainty of outcome does -not depend on whether authority is federated or not: there are many -reasons why outcomes fail to be realized, including misunderstandings, accidents, force -majeur and simple disagreements. - -Certain knowledge can only be obtained by observing the results -directly@footnote{This is why society needs a police force to monitor -and respond to those who do not obey proposed law -- whether they have -promised to or not. This is the role of CFEngine.}, and repairing the -system if promises have not been kept. -Trying to enforce rules and command from above is an expensive and -often ineffective way to manage systems, like swimming against the -current. Trust in the federated system reduces the cost of verifying -one's assumptions. - -Hierarchies are sometimes used for oversight. Just as a conductor -takes care of the big picture for his orchestra, so managers in a -hierarchy can use their position to coordinate the larger picture for -their subordinates. However, like the orchestra, the manager should -not think that he has a real influence on the outcome. As long as each -player has the script and the instruments, the music can go on for -quite some time without its conductor. The role of a manager is one of -advice. - -@sp 1 -@cartouche -Rules of thumb for scalable management: - -@itemize -@item Use autonomy to scale: proximity to the affected area -avoids unnecessary dependency and transport of materials. -Trust costs less. - -@item If you need to enforce a common baseline (or constitution) for all, -then arrange this as a service, not as a punitive force. Use local -caching and the principal of convergence to a desired state -(idempotence) to provide assurance without the cost of monitoring. - -@item Trust lowers costs. -@end itemize -@end cartouche - -@node The benefits of federated management, , Why federation does not reduce predictabilty, Top -@unnumberedsec The benefits of federated management - -Hierarchy is familiar, but not essential. A hierarchy is only a -so-called `spanning tree' for a more general network of relationships. -It may be thought of as one possible point of view, amongst many -- -one way of traversing a network of relationships. - -A federated organization is automatically specialized into departments, -each of which knows its requirements best. - -One could take an enterprise and divide it into -skill-areas or departments, then divide each department into -geopgraphical teams. Conversely, we could divide the enterprise by -country first and subdivide each country into regions, then divide -these into skills. There is no unique way to traverse the -enterprise. In truth, it is not a hierarchy, but a network of -relationships. - -If the federated teams or clusters in an enterprise have sufficient -autonomy, both in resources and intended authority, then they don't -need to communicate with or wait for other parts to do their jobs. -Forcing that communication, due to lack of trust, will add overhead -and increase costs, without improving the certainty of outcome. - -Promise Theory tells us that organization by autonomy automatically -indentifies the parts of a system that can operate independently -- -i.e., the essential `atoms' of the system. Thus, it is a method for -identifying the raw material building blocks from which everything -else can be built. Starting with these available raw materials, it -encourages a rational approach to design of systems that are efficient -and service oriented. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Hierarchy.texinfo b/docs/guides/SpecialTopic_Hierarchy.texinfo deleted file mode 100644 index eae1675cd5..0000000000 --- a/docs/guides/SpecialTopic_Hierarchy.texinfo +++ /dev/null @@ -1,616 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-hierarchy.info -@settitle Hierarchies -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Hierarchies: Authority, Structure and Inheritance -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Using hierarchies is one way of distributing the load from a single CFEngine -policy server. They are also useful when an organization has different types -of machine classes. These classes can be based on location or on function, -and oftentimes the distinction of machine class will also be reflected in -differences in configuration. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is a hierarchy?, (dir), (dir) -@top Hierarchies - -@menu -* What is a hierarchy?:: -* How hierarchy compares to sets:: -* Classes are sets:: -* For and against hierarchies:: -* Inheritance and its forms:: -* Expressing is-a or has-a:: -* How to organize your organization:: -* Applications of hierarchy:: -@end menu - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is a hierarchy?, How hierarchy compares to sets, Top, Top -@unnumberedsec What is a hierarchy? - -A hierarchy is an organizational structure with tree-like branches. In -a hierarchy, parts of the system belong to other parts, like -collections of boxes inside other boxes. Each time you move, you -either ascend or descend to a different level with respect to the -root. Hierarchies are called @i{Directed Acyclic Graphs} (DAG) in -mathematics (see figure below (a) and (b)). - -@sp 1 -@center @image{networks,10cm,,Network organizational structures.,png} -@sp 1 - -@noindent Hierarchies are often associated with @i{authority}, as -we use hierarchies to organize human `chains of command'. In this -case, a hierarchy typically has multiple levels, as in (b). You might -interpret this diagram as showing a single point of top level -management, then satellite areas of middle management each with their -own clusters of slaves (leaf nodes). When drawing hierarchies, the root of the tree is -placed at the top or centre of the picture and is considered to be -@i{authoritative}, i.e. more important than the `leaves'. Each leaf -node is then subject to the control of the root in a @i{top down} -manner. - - -The opposite of a hierarchy is a @code{mesh} or web (figure (c)), -which has no special or privileged node -- nodes are simply connected -by some kind of relationship. In mesh organization, each individual -has an area of responsibility and they talk on demand to other nodes, -without any particular ranking. If you move in a mesh, you cannot -easily measure how far you are away from a given point, as their might -be more than one way of getting there. - -Mesh architectures are often robust to failure as there can be multiple -`peer to peer' routes for passing messages or information. - -@cartouche -Top-down is is a cultural prejudice or `norm', as most human societies work in this -way. However it is not a necessity. A network service is bottom-up -- there -it is the leaves which drive requests that end at a single central server. -Hierarchies are special cases of @i{networks}, and (as all special cases) they are fragile, -because the have top-down redundancy, but not bottom-up redundancy. -We say that hierarchies have a Single Point of Faliure at the root, -as failure at that point will disconnect the network. - -@sp 1 -@center @image{nettolerance,6cm,,Network organizational structures.,png} -@end cartouche - -@sp 1 - - - -@node How hierarchy compares to sets, Classes are sets, What is a hierarchy?, Top -@unnumberedsec How hierarchy compares to sets - -@sp 1 - -Some languages (like Object Oriented languages) are designed to -enforce hierarchies. CFEngine is not one of these. In CFEngine you can -build a hierarchy if you want to, but you can also build any other -kind of network. The parts of your system can also work with complete -autonomy if that is what you want. CFEngine does not push a model onto you. - -@noindent Consider this example of CFEngine classes. It expresses a tree -structure. -@verbatim -classes: - - # Conceptual hierarchy - - "top" or => { "middle_1", "middle_2", "middle_3" }; - "middle_1" or => { "slave_1", "slave_2", "slave_3" }; - "middle_2" or => { "slave_4", "slave_5", "slave_6" }; - -@end verbatim -This example is contrived. The core classes that CFEngine cares about -are the slaves, since CFEngine is a bottom-up system. The definition -of the middle and top classes are @i{aggregations} of clusters of -basic member attributes. - -Consider this example of a geographically distributed organization, -with finance, engineering and legal departments in three countries. -@verbatim -# Hierarchy - - "headquarters" or => { "usa", "uk", "norway" }; - "department" or => { "finance", "engineering", "legal" }; - -@end verbatim -@noindent We can express the full hierarchy like this: -@verbatim -usa.finance -usa.engineering -usa.legal -uk.finance -uk.engineering -uk.legal -norway.finance -norway.engineering -norway.legal -@end verbatim -@noindent In this notation, the dot looks like `member' because the -departments are smaller than the countries and are contained within them. -You might feel that this model is upside down and that one should consider -the finance department to be a unified global entity, with branches in -three different countries. In that case, you would write -@verbatim -finance.uk -finance.usa -finance.norway -@end verbatim - -This highlights the fact that we often want to slice and dice organizations -in different ways, and attending too closely to a single hierarchical model -prevents that. -The key is to notice that the `.' (dot) operator is really an intersection -of sets (AND)@footnote{It is a commutative operator, which is why it makes sense -to write both @code{usa.finance} and @code{finance.usa}.}, and that this is -a much more flexible notion than hierarchy. - -@node Classes are sets, For and against hierarchies, How hierarchy compares to sets, Top -@unnumberedsec Classes are sets - -@quotation -@i{`Sets, sets, sets ... all you ever think about it sets!'@*} -@* --- Anonymous -@end quotation - - -Underlying hierarchies and networks is the concept of @i{sets}. A set -or @i{collection} of something is just a number of instances that -satisfy some property. For example, the @i{set of all Windows -machines}, or the @i{set of times between 2 and 3 o'clock}. Sets can -be thought of as networks in which the elements are all joined to each -other by a common relationship `in the same set as'. - -The name of a set can be thought of as a property that characterizes -the members, and as such it behaves like an abstract box or container for the members. -Containment in classes is the basis for hierarchies in Object Orientation, for instance. - -We often write subset membership using a membership `.' character, e.g. if @samp{linux} -is the set of hosts with property `linux', then a subset (or sub-class) of these -hosts is `debian' (see figure). The class @i{64 bit hosts} is not a subset of -linux, as part of it lies outside. It is a subset of @i{hosts}. - -@example -linux.debian -linux @i{AND} debian -linux @i{intersect} debian -@end example - -@center @image{intersect,5cm,,Overlapping sets.,png} - -Sets can be made hierarchical when every subset is contained entirely by one and -only one parent set, and in turn contains zero or more whole subsets which it -does not share with any other. The problem with hierarchical sets is -that they are too restrictive. If you design them incorrectly in the -first place, you shut parts of the organization inside a box that -prevents other parts from accessing them. - -CFEngine works only with sets. It does not assume that sets never overlap. -Indeed, it encourages you to use as many overlapping sets as possible to -create optimum, simple categories to address the parts of your organization. -This gives us great power. We can for instance extract the list of all English -speaking entities from the definitions about our organization, by adding a -defintion of set @i{union} (OR or @samp{|}) and @i{intersection} (AND or @samp{.}): -@verbatim -# Hierarchy - - "headquarters" or => { "usa", "uk", "norway" }; - "department" or => { "finance", "engineering", "legal" }; - - "english_speaking" expression => "(usa|uk).!legal"; - -@end verbatim -@noindent Thus the English speakers are those entities belonging to -the USA `AND' the UK, excepting presumably the legal department. - - -@node For and against hierarchies, Inheritance and its forms, Classes are sets, Top -@unnumberedsec For and against hierarchies - -@sp 1 -Hierarchies are good at bringing consistency. They are bad at scaling. -They bring consistency because the root node acts as a single point of -authority, i.e. the network speaks with a single voice. The scale -poorly because they funnel communication to a single point of failure -and processing so that the weakest link is the most authoratative -node. - -The Internet was designed by smart engineers to @i{not} be a hierarchy -so that it would be robust to failure of single nodes. Since then, -incorrigable humans have done their best to make it hierarchical from -the viewpoint of the Domain Name Service (DNS) classification, so that -organizational identifiers seem to fall into simple tree-like -hierarchies. - -Because the idea of hierarchy is so prevalent, it is many peoples' first -instinct to build hierarchical organizations. At CFEngine we believe that -the idea is over-used, and causes as many problems as it brings solutions, -so CFEngine does not encourage it. - -This document tries to show how to use hierarchy sensibly and usefully to -simplify rather than to enforce authority. - -@node Inheritance and its forms, Expressing is-a or has-a, For and against hierarchies, Top -@unnumberedsec Inheritance and its forms - -@sp 1 -Perhaps the most popular application of hierarchy is to use the -property of having a single-point of definition to avoid maintaining -the same information in more than one place. @i{This is an efficiency}. -Inheritance is expressed in different ways: - -@itemize -@item Special subset @i{extends} base set properties, emphasizing that the -leaf builds on, or adds the root in order to extend it. -@item Special subset @i{inherits} base set properties, emphasizing that -the leaf is a consumer of the root and does not necessarily offer any more. -@item Special subset @i{depends on}, emphasizing that the root is a single -point of failure for the leaf. -@end itemize -These are basically equivalent expressions of the same thing. No -matter how we choose to express this, inheritance is a client-server -relationship in which a single source is feeding a number of possible -users. - -@sp 1 -@cartouche -In Promise Theory, we consider this to be a use-promise (service) relationship. -A single point promises information, and a number of leaf-nodes promise to use it. -@end cartouche -@sp 1 - -@sp 1 -@center @image{inherit,10cm,,Network organizational structures.,png} -@sp 1 -The figure shows how we maintain common information in a `base' or server. -Then the users or consumers of the information are so-called derived classes. - -We can use the notion of inheritance at different levels within CFEngine. -These are a matter of using the global scope with bundle names. - -@table @i -@item Inheritance of classes/sets -We can aggregate smaller classes into larger ones (yielding multiple -inheritance of class attributes): -@verbatim -classes: - - "group_name" or => { - "base_class_1", - "base_class_2", - "base_class_3" - }; - -@end verbatim -Note that CFEngine naturally forms a bottom-up hierarchy, never a top-down hierarchy. - -@item Inheritance of class definitions -CFEngine divides its promises into bundles that have private classes -and variables. Bundles called `common bundles' define @i{global classes}, -so they are automatically inherited by all other bundles. - -@item Inheritance of variable definitions - -Variables in CFEngine are globally accessible, but you must say -what bundle you are talking about by writing @samp{$(bundle.scalar)} -or @samp{@@(bundle.list)}. If you omit the `bundle', it is assumed -that the variable is in the current bundle. - -@verbatim -bundle agent child_bundle(parameter) -{ -vars: - - "extend_list" slist => { "extension", @(foreign.list) }, - policy => "ifdefined"; - -reports: - - "Inherit parameter value $(parameter)"; - "Inherit foreign scalar value $(foreign.scalar)"; - -} -@end verbatim -The policy @code{ifdefined} means that CFEngine will ignore -the foreign list if it does not exist. This means you can -include a number of lists from other bundles to extend -the behviour of your own, if they are provided. - -@item Inheritance of bundles -Bundles cannot really be merged like sets, but since they -make promises you can @i{use} them. - -@verbatim -bundle agent child_bundle -{ -methods: - - "extend_method" use => base_bundle(parameter1,parameter2); - -} -@end verbatim - -A bundle can only be used if it exists, so we can also talk about -plug-ins for bundles. In CFEngine, you include entire bundles either -in the the @code{bundlesequence}, or as @code{methods}. - -Normally you have to know exactly which bundles are going to exist in -advance, as CFEngine considers missing code to be a security issue and -will signal an error for missing bundles. This is the default -behaviour, but we can override it using the following @code{body agent -control} promises. -@table @code -@item ignore_missing_bundles -Skip over any bundles listed in the @code{bundlesequence} constraint and continue -without error. -@item ignore_missing_inputs -Skip over any input files listed in the @code{inputs} contraint and continue -without error. -@end table - -@end table - - -@cartouche -Be aware of the security implications of inheritance. Because of the assumption of -authority, by promising to use the inheritance, you have subordinated your input -to the source -- or voluntarily given up the right to say no to whatever you -have subscribed to. You have implicity @i{trusted} them. -@end cartouche - - -@node Expressing is-a or has-a, How to organize your organization, Inheritance and its forms, Top -@unnumberedsec Expressing `is a' or `has a' - -Let us re-emphasize for the record that CFEngine is not intended to be -an object oriented system. At CFEngine we do not believe that Object -Orientation is a good way to think about complex architectures. - -That said, all object-oriented class relationships are expressable as -set relationships, as sets are the basis of all computing. We can therefore -understand relationships like `is a' and `has a' in CFEngine, even if they -are not the recommended way of thinking. - -For example, if we say that @code{debian} `is a' (kind of) -@code{linux}, or conversely that @code{linux} `has a' (subtype called) -@code{debian}, then we are expression @i{container} promises. We mean -that @code{debian} is a subset of @code{linux}, and this means. In -concrete terms @code{debian} might or might not extend @code{linux}, -or vice versa. When `objects' get as complicated as operating systems -it does not really make sense to speak so simplistically. - -If we want to say that a host `is a' server, we can code this as membership -in the set of servers: - -@verbatim -classes: - - "servers" or => { "host1", "host2" }; - -processes: - - servers:: # the next rules `extend' or add to the class servers - - "..." - -@end verbatim - - - -@node How to organize your organization, Applications of hierarchy, Expressing is-a or has-a, Top -@unnumberedsec How to organize your organization - -Faced with the choice of how to classify systems, where does one -begin? This is the dilemma that programmers face when designing new -software, and if they make the wrong choices for their class -hierarchy, it can cost a lot of work to redesign everything again from -the beginning. This is why inheritance and strict class hierarchies -are a very fragile way of organizing something. Using a patchwork of -sets, CFEngine potentially avoids this problem -- but you can still -make a mess -- it seems to be programmed into us to put systems into -hierarchy-like `container' categories anyway, and this can end with -confusion. - -The keyt issue is: how tdo we slice and dice the cake into the largest -pieces? In other words, what is that basic paradigm that you use to partition your -system operations? Some alternatives include: - -@itemize -@item Geographically (by site or country) -@item By business department (sales, accounting, research) -@item By security zone (private, DMZ, public, etc) -@item By operating system (solaris, linux, darwin) -@item By customer or client (e.g. for managed services) -@item By task, service or role in the network (webservers, dns, workstations) -@end itemize - -However, you choose to begin, you can further subdivide these major categories -by simply ANDing with other categories. - - - -@node Applications of hierarchy, , How to organize your organization, Top -@unnumberedsec Applications of hierarchy - -When a small organization uses CFEngine, machines are often configured by -"what they do" or "what they have" (@i{e.g.,} they "are a webserver" or they -"have ntp-based time synchronization"). These attributes are best expressed -using CFEngine classes (and class promises), so that the @code{.cf} files -can simply express configuration options based on "has-a" or "is-a" options. - - -For example: - -@verbatim -bundle agent maintain_servers -{ -classes: - "has_dhcpd" or => { classmatch("ipv4_10_\d+_\d+_1") }; - "has_httpd" or => { "www_example_com" }; - "has_sshd" or => { "any" }; - -processes: - has_dhcpd:: - "dhcpd" restart_class => "start_dhcpd"; - - has_httpd:: - "httpd" restart_class => "start_httpd"; - - has_sshd:: - "sshd" restart_class => "start_sshd"; - -commands: - freebsd.start_dhcpd:: - "/usr/local/etc/rc.d/isc-dhcpd.sh start"; - - start_httpd:: - "/usr/local/sbin/apachectl start"; - - freebsd.start_sshd:: - "/etc/rc.d/sshd start"; - - linux.start_sshd:: - "/etc/init.d/ssh start"; -} -@end verbatim - -@noindent As you can see, the #1 machine on every net-10 subnet has the dhcp -server for that subnet, the machine @code{www.example.com} has a web server, -and every machine has an ssh server. - -But what happens when we want to maintain configuration information -differently for different regions, or different IP addresses? Our usage of -classes can get complicated, and can obscure the the details of what you want -CFEngine to maintain. For example, if we want to maintain both internal and -external webservers for different parts of a larger corporation, we might see -something like this: - -@verbatim -files: - internal.has_httpd.nyc:: - # Files maintained for internal webserver in New York - - external.has_httpd.nyc:: - # Files maintained for external webserver in New York - - internal.has_httpd.london:: - # Files maintained for internal webserver in London - - external.has_httpd.london:: - # Files maintained for external webserver in London - - internal.has_httpd.tokyo:: - # Files maintained for internal webserver in Tokyo - - external.has_httpd.tokyo:: - # Files maintained for external webserver in Tokyo -@end verbatim - -@noindent When you compound this by ading more services, locations, and finer -and finer discriminations, the configuration files can rapidly grow so -complicated as to obfuscate the intentions. - -To be sure, having classes like @code{nyc}, @code{london}, and @code{tokyo} -can be very useful when using CFEngine to centrally administer a large -network of computers, but there are other ways of doing this that make -maintenance easier and the logic more apparent. - -1) Copying files to local machines -2) Symlinks -3) Local changes $(site_local) -4) Machine naming -> classes -5) Using dist classes to select from a set of machines, not just query them - in order; also splayclass -6) Versioning, RPM/SVN for distro, vs CFEngine -7) updating with cf-agent -DUpdateNow - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_ITIL.texinfo b/docs/guides/SpecialTopic_ITIL.texinfo deleted file mode 100644 index 96891bf396..0000000000 --- a/docs/guides/SpecialTopic_ITIL.texinfo +++ /dev/null @@ -1,1376 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-itil.info -@settitle ITIL -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine and ITIL -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -The IT Infrastructure Library (ITIL) is a set of human management practices -surrounding IT infrastructure that are designed to bring quality assurance -and continuous improvement to organizations. - -ITIL has emerged as a de-facto set of ideas about service management. -Many of ITIL's ideas are rooted in and old fashioned view of the -service desk and human remediation. This document explains how to -accomplish the major goals of ITIL, in the automated framework of -CFEngine. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What it ITIL?, (dir), (dir) -@top ITIL -@menu -* What it ITIL?:: -* ITIL history and versions:: -* Basics:: -* Version 2:: -* Version 3:: -* Service orientation and ITIL:: -* CFEngine in ITIL clothes?:: -* ITIL processes:: -* Which ITIL processes apply to CFEngine?:: -* Using CFEngine to implement ITIL objectives:: -* How can CFEngine or promises help an enterprise:: -* What is maintenance?:: -* ITIL and CFEngine Summary:: -* ITIL glossary:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What it ITIL?, ITIL history and versions, Top, Top -@unnumberedsec What it ITIL? -@sp 1 - -The IT Infrastructure Library (ITIL) is a set of human management practices -surrounding IT infrastructure that are designed to bring quality assurance -and continuous improvement to organizations. -ITIL has emerged as a de-facto set of ideas about service management. -Many of ITIL's ideas are rooted in and legacy views of the service desk -and human remediation. This document explains how to accomplish the -major goals of ITIL, in the automated framework of CFEngine. - -More concretely, the IT Infrastructure Library (ITIL) is a collection -of books, in which ``best practices'' for IT Service Management (ITSM) -are described. Today, ITIL can be seen as a de-facto standard in the -discipline of ITSM, for which it provides guidelines by its current -core titles Service Strategy, Service Design, Service Transition, -Service Operation and Continual Service Improvement. ITIL follows the -principle of process-oriented management of IT services. - -In effect, the responsibilities for specific IT management decisions -can be shared between different organizational units as the management -processes span the entire IT organization independent from its -organizational partition. Whether this means a centralization or -decentralization of IT management in the end, depends on the concrete -instances of ITIL processes in the respective scenario. - - -@sp 1 -@node ITIL history and versions, Basics, What it ITIL?, Top -@unnumberedsec ITIL history and versions -@sp 1 - -ITIL has its roots in the early 1990s, and since then was subject to -numerous improvements and enhancements. Today, the most popular -release of ITIL is given by the books of ITIL version 2 (often -referred to as ITILv2), while the British OGC (Office of Government -Commerce), owner and publisher of ITIL, is currently promoting ITIL -version 3 (ITILv3) under the device "`ITIL Reloaded"'. A further ITIL -version has already been planned, owing to perceived problems with -version 3. - -ITILv3 is not just an improved version of the ITILv2 books, but rather -comes with a completely renewed structure, new sets of processes and a -different scope with respect to the issue of IT strategies, -IT-business-alignment and continual improvement. In the following, we -run through the basics of both versions, highlighting commonalities -and differences. - -@sp 1 -@node Basics, Version 2, ITIL history and versions, Top -@unnumberedsec Basics -@sp 1 - -ITIL is an attempt to implement the @i{Deming Quality Circle} as a -model for continual quality improvement. Quality relates to the -provided IT services as well as the management processes deployed to -manage these services. Continual improvement in ITIL means to follow -the method of Plan-Do-Check-Act: - -@table @b -@item Plan -Plan the provision of high-quality IT services, i.e. set up the required management processes for the delivery and support of these services, define measurable goals and the course of action in order to fulfill them. -@item Do - Put the plans into action. -@item Check - Measure all relevant performance indicators, and quantify the achieved quality compared to the quality objectives. Check for potentials of improvement. -@item Act - In response to the measured quality, start activities for future improvements. This step leads into the Plan phase again. -@end table - -@sp 1 -@node Version 2, Version 3, Basics, Top -@unnumberedsec Version 2 -@sp 1 - -Although ITIL version 3 was released during the summer of 2007, -it is its predecessor that has achieved great acceptance amongst -IT service providers all over the world. Also due to the fact that the -International ISO/IEC 20000 standard emerged from those -basic principles and processes coming from ITILv2, it is this version -experiencing the biggest distribution and popularity. - -The core modules of ITIL version 2 are the books entitled Service -Support and Service Delivery. While the Service Support processes -(e.g. Incident Management, Change Management) aim at supporting -day-to-day IT service operation, the Service Delivery processes -(e.g. Service Level Management, Capacity Management, Financial -Management) are supposed to cover IT service planning like resource -and quality planning, as well as strategies for customer relationships -or dealing with unpredictable situations. - -@sp 1 -@node Version 3, Service orientation and ITIL, Version 2, Top -@unnumberedsec Version 3 -@sp 1 - -In 2007, version 2 was replaced by its successor version 3, aimed at -covering the entire service life cycle from a management -perspective and striving for a more substantiated idea of IT business alignment. -Many version 2 processes and ideas have been recycled -and extended by various additional processes and principles. The five -service life cycle stages accordant to versin 3 are: - -@enumerate -@item Service Strategy: Common strategies and principles for customer-oriented, business-driven service delivery and management -@item Service Design: Principles and processes for the stage of designing new or changed IT services -@item Service Transition: Principles and processes to ensure quality-oriented implementation of new or changed services into the operational environment -@item Service Operation: Principles and processes for supporting service operation -@item Continual Service Improvement: Methods for planning and achieving service improvements at regular intervals -@end enumerate - -@sp 1 -@node Service orientation and ITIL, CFEngine in ITIL clothes?, Version 3, Top -@unnumberedsec Service orientation and ITIL - -Why service and process orientation? What is ITIL trying to do? As we -mentioned in the introduction, the `top down hierarchical' control -view of human organization fell from favour in business research in -the 1980s and service oriented autonomy was identified as a new -paradigm for levelling organizations -- getting rid of deep -hierarchies that hinder communication and open up communication -directly. - -If we look at ITIL through the eyeglass of a hierarchical organization, -some of its procedures could be seen as restrictive, throttling -scalable freedoms. We do not believe -that this is their intention. Rather ITIL's guidelines try to make a -predictable and reliable face for business and IT operations so that -customers feel confidence, without choking the creative process that -lies behind the design of new services. - -@sp 1 -@node CFEngine in ITIL clothes?, ITIL processes, Service orientation and ITIL, Top -@unnumberedsec CFEngine in ITIL clothes? -@sp 1 - -CFEngine users are interested in the ability to manage, i.e. cope with -system configuration in a way that enables a business or other -organization to do its work effectively. They don't want -human procedures because this is what CFEngine is supposed to -eliminate. To be able to use ITIL to help in this task, we have to first -think of the process of setting up as a number of services. What -services are these? We have to think a little sideways to see the -relationship. - -@table @b -@item Service Management -Providing a sensible configuration policy, responding to discovered problems or the needs of end-users. -@item Change Management -A minor edit of the configuration policy, with appropriate quality controls. Or a change that comes -from a completely different source, outside the scope of intended change. -@item Release Management -A new configuration policy, consisting of many changes. This could be a major and disruptive change so it should be planned carefully. -@item Capacity Management -Having enough resources for cfservd to answer all queries in a network. Having enough people and machines to support the processes of deploying and following CFEngine's progress. -@end table - -@sp 1 -@node ITIL processes, Which ITIL processes apply to CFEngine?, CFEngine in ITIL clothes?, Top -@unnumberedsec ITIL processes -@sp 1 - -The following management processes are in scope of ITILv3: - -@itemize -@item Service Level Management: Management of Service Level Agreements (Alas), i.e. service level and quality promises. -@item Service Catalogue Management: deciding on the services that will be provided and how they -are advertised to users. -@item Capacity Management: Planning and provision of adequate business, service and resource capacities. -@item Availability Management: Resource provision and monitoring of service, from a customer viewpoint. -@item Continuity Management: Development of strategies for dealing with potential disasters. -@item Information Security Management: Ensuring a minimum level of information security throughout the IT organization. -@item Supplier Management: Maintaining supplier relationships. -@item Transition Planning and Support: Ensuring that new or changed services are deployed into the operational environment with the minimal impact on existing services -@item Asset and Configuration Management: Management of IT assets and Configuration Items. -@item Release Management: Planning, building, testing and rolling out hardware and software configurations. -@item Change Management: Assessment of current state, authorization and scheduling of improvements. -@item Service Validation and Testing: ensuring that services meet their specifications. -@item Knowledge Management: organizing and integrating experience and methodology for future reference. -@item Incident Management: responding to deviations from acceptable service. -@item Event Management: Efficient handling of service requests and complaints. -@item Problem Management: Problem identification by trend analysis of incidents. -@item Request Fulfillment: Fulfilling customer service requests. -@item Access Management: Management of access rights to information, services and resources. -@end itemize - -@menu -* Service Strategy:: -* Service Design:: -* Service Operation:: -* Continual Service Improvement:: -@end menu - -@node Service Strategy, Service Design, ITIL processes, ITIL processes -@unnumberedsubsec Service Strategy - -Service strategy is about deciding what services you want to -formalize. In other words, what parts of your system administration tasks can you -wrap in procedural formalities to ensure that they are carried out most excellently? - -@node Service Design, Service Operation, Service Strategy, ITIL processes -@unnumberedsubsec Service Design - -Service design is about deciding what will be delivered, when it will be delivered, -how quickly the service will respond to the needs of its clients etc. This stage is probably -something of a mental barrier to those who are not used to service-oriented thinking. - -@node Service Operation, Continual Service Improvement, Service Design, ITIL processes -@unnumberedsubsec Service Operation - -How shall we support service operation? What resources do we need to provide, both human -and computer? Can we be certain of having these resources at all times, or is there -resource sharing taking place? If services are chained into ``supply chains'', remember that -each link of the chain is a possible delay, and a possible misunderstanding. Successfully running -services can be more complex at task than we expect, and this is why it is useful to -formalize them in an ITIL fashion. - -@node Continual Service Improvement, , Service Operation, ITIL processes -@unnumberedsubsec Continual Service Improvement - -Continual improvement is quite self-explanatory. We are obviously -interested in learning from our mistakes and improving the quality and -efficiency by which we respond to service requests. But it is -necessary to think carefully about when and where to introduce this -aspect of management. How often should we revise out plans and change -procedures? If this is too often, the overhead of managing the quality -becomes one of the main barriers to quality itself! Continual has to mean regular -on a time-scale that is representative for the service being provided, e.g. -reviews once per week, once per month? No one can tell you about your needs. -You have to decide this from local needs. - -@sp 1 -@unnumberedsec Tool Support -@sp 1 - -In the field of tool support for IT Service Management accordant to -ITIL, various white papers and studies have been published. In -addition, there are papers available from BMC, HP, IBM and other -vendors that describe specific (commercial) solutions. Generally, the -market for tools is growing rapidly, since ITIL increasingly gains -attention especially in large and medium-size enterprises. Today, it -is already hard to keep track of the variety of functionalities -different tools provide. This makes it even more difficult to approach -this topic in a way satisfactory to the entire researchers', vendors' -and practitioners' community. - -That is why this document follows a different approach: Instead of thinking -of ever new tools and computer-aided solutions for ITIL-compliant IT Service -Management, this book analyses how the existing and well-established -technologies used for traditional systems administration can -fit into an ITIL-driven IT management environment, and it guides -potential practitioners in integrating a respective tool suite -- namely -CFEngine -- with ITIL and its processes. - -To avoid any misunderstanding: We do not argue that CFEngine -- -originally invented for configuring distributed hosts -- may be -deployed as a comprehensive solution for automating ITIL, but what we -believe is CFEngine and its more recent innovations can @emph{bridge -the gap} between the technology of distributed systems management and -business-driven IT Service Management. -To make the case we must show: - -@enumerate -@item How ITIL terminology relates to the terminology of CFEngine and hence -to a traditional system administrator's language, and -@item Which parts (processes and activities) of -ITIL can be (partially) supported by CFEngine, and how. -@end enumerate - - - -@sp 1 -@node Which ITIL processes apply to CFEngine?, Using CFEngine to implement ITIL objectives, ITIL processes, Top -@unnumberedsec Which ITIL processes apply to CFEngine? -@sp 1 - -@image{itilfcaps,14cm,,FCAPS and ITIL,png} - -In version 2, ITIL divides itself into @emph{service -support} and @emph{service delivery}. For -instance, service support might mean having a number of CFEngine -experts who can diagnose problems, or who have sufficient knowledge -about CFEngine to solve problems using the software. It could also -mean having appropriate tools and mechanisms in place to carry out the -tasks. Service delivery is about how these people make their knowledge -available through formal processes, how available are they and how -much work can they cope with? CFEngine enables a few persons to -perform a lot of work very cheaply, but we should not forget to track our performance -and quality for the process of continual improvement. - -Service support is composed of a number of issues: -@itemize -@item Incident management: collecting and dealing with incidents. -@item Problem management: root cause analysis and designing long term countermeasures. -@item Configuration management: maintaining information about hardware and software and -their interrelationships. -@item Change management: implementing major sequenced changes in the infrastructure. -@item Release management: planning and implementing major ``product'' changes. -@end itemize -Although the difference between change management and release -management is not completely clear in ITIL, we can think of a release -as a change in the nature of the service, while change management -deals with alterations possibly still within the scope of the same release. -Thus is release is a more major change. - -Service delivery, on the other hand, is dissected as follows: -@itemize -@item Service Level Management -@item Problem management -@item Configuration management -@item Change management -@item Release management -@end itemize -These issues are somewhat clearer once we understand the usage of the -terms ``problem'', ``service'' and ``configuration''. Once again, it -is important that we don't mix up configuration management in ITIL -with configuration management as used in a Unix parlance. - -The notion of system administration in the sense of Unix does not -exist in ITIL. In the world of business, reinvented through the eyes -of ITIL's mentors, system administration and all its functions are -wrapped in a model of service provision. - -@menu -* ITIL Configuration Management (CM):: -* CMDB Asset Management:: -* Change management in the enterprise:: -* Change management vs convergence:: -* Release management:: -* Incident and problem management:: -* Service Level Management (SLM):: -@end menu - -@node ITIL Configuration Management (CM), CMDB Asset Management, Which ITIL processes apply to CFEngine?, Which ITIL processes apply to CFEngine? -@unnumberedsubsec ITIL Configuration Management (CM) -@sp 1 - -Perhaps the most obvious example is the term configuration management. - -@table @b -@item Configuration Management -The process (and life-cycle) responsible for maintaining information -about configuration items (CI) required to deliver an IT service, -including their relationships. -@end table - -As we see, this is comparable to our intuitive idea of ``asset -management'', but with ``relationships'' between the items -included. ITIL also defines ``Asset Management'' as ``a process -responsible for tracking and reporting the value of financially valuable assets'' -and is a component of ITIL Configuration Management. - -In the CFEngine world, configuration management involves planning, -deciding, implementing (``base-lining'') and verifying (``auditing'') -the inventory. It also involves maintaining the security and privacy -of the data, so that only authorized changes can be made and private -assets are not made public. - -In this document we shall try not to mix the ITIL concept with the -more prosaic system administration notion of a configuration which -includes the current state of software configuration on the -individual computers and routers in a network. - -Since CFEngine is a completely distributed system that deals with -individual devices on a one-by-one basis, we must interpret this asset -management at two levels: - -@itemize -@item The local assets of an individual device at the level of virtual -structures and containers within it: files, attributes, software packages, -virtual machines, processes etc. This is the traditional domain of automation -for CFEngine's autonomic agent. - -@item The collective assets of a network of such devices. -@end itemize -Since a single host can be thought of as a network of assets connected -through virtual pathways, it really isn't such a huge leap to see the -whole network in a similar light. This is especially true when many of the -basic resources are already shared objects, such as shared storage. - -@node CMDB Asset Management, Change management in the enterprise, ITIL Configuration Management (CM), Which ITIL processes apply to CFEngine? -@unnumberedsubsec CMDB Asset Management -@sp 1 - -Why bother to collect an inventory of this kind? Is it bureaucracy -gone mad, or do we need it for insurance purposes? Both of these -things are of course possibilities. - -The data in an ITIL Configuration Management Database (CMDB) can be -used for planning the future and for knowing how to respond to -incidents, in other words for service level management (SLM) and for -capacity planning. An organization needs to know what resources it -has to know whether its can deliver on its promises. -Moreover, for finance and insurance it is clearly a sound policy to have a database of -assets. - -For continuity management, risk analysis and redundancy assessment we -need to know how much equipment is in use and how much can be brought -in at a moment's notice to solve a business problem. These are a few -of the reasons why we need to keep track of assets. - -@sp 1 -@cartouche -CFEngine does not subscribe the the ITIL notion of a CMDB. Instead -we have a semantic Knowledge Map and distributed knowledge for -scalable analysis of the system. -@end cartouche - -@node Change management in the enterprise, Change management vs convergence, CMDB Asset Management, Which ITIL processes apply to CFEngine? -@unnumberedsubsec Change management in the enterprise -@sp 1 - -If we make changes to a technical installation, or even a business -process, this can affect the service that customers experience. -Major changes to service delivery are often written into service level -agreements since they could result in major disruptions. -Details of changes need to be known by a help-desk and service personnel. - -The decision to make a change is more than a single person should -usually make alone (see the CFEngine Special Topics Guide on @i{Change -Management}). ITIL recommends an advisory board for changes. - -@node Change management vs convergence, Release management, Change management in the enterprise, Which ITIL processes apply to CFEngine? -@unnumberedsubsec Change management vs convergence -@sp 1 - -We should be especially careful here to decide what we mean by -change. ITIL assumes a traditional model of change management that -CFEngine does not necessarily need. ITIL's ideas apply to the management of -CFEngine's configuration, not specifically to the way in which CFEngine carries out its -automated manipulations of the system. - -In traditional idea of change management you start by ``base-lining'' a -system, or establishing a known starting configuration. Then you -assume that things only change when you actively implement a change, -such as ``rolling out a new version'' or committing a release. This, -of course, is very optimistic. - -In most cases all kinds of things change beyond our control. Items are -stolen, things get broken by accident and external circumstances -conspire to confound the order we would like to preserve. The idea -that only authorized people make changes is nonsense. - -CFEngine takes a different view. It thinks that changes in -circumstances are part of the picture, as well as changes in inventory -and releases. It deals with the idea of ``convergence''. In this way -of thinking, the configuration details might be changing at random in -a quite unpredictable way, and it is our job to continuously monitor -and repair general dilapidation. Rather than assuming a constant state -in between changes, CFEngine assumes a constant ``ideal state'' or -@emph{goal} to be achieved between changes. An important thing to realize about including -changes of external circumstances is that you cannot ``roll back'' -circumstances to an earlier state -- they are beyond our control. - -@node Release management, Incident and problem management, Change management vs convergence, Which ITIL processes apply to CFEngine? -@unnumberedsubsec Release management -@sp 1 - -A @emph{release} in ITIL is a collection of authorized changes to a system. -One part of Change Management is therefore @emph{Release Management}. -A release is generally a larger umbrella under which many smaller -changes are made. It is major change. -Changes are assembled into @emph{releases} and then they are rolled out. - -In fact release management, as described by ITIL, has nothing to do -with change management. It is rather about the management of -designing, testing and scheduling the release, i.e. everything to do with -the release process except the explicit implementation of it. -@emph{Deployment} or @emph{rollout} describe the physical movement of -configuration items as part of a release process. - -@node Incident and problem management, Service Level Management (SLM), Release management, Which ITIL processes apply to CFEngine? -@unnumberedsubsec Incident and problem management -@sp 1 -ITIL distinguishes between @emph{incidents} and @emph{problems}. An incident is -an event that might be problematic, but in general would observe -incidents over some length of time and then diagnose @emph{problems} based -on this experience. - -@table @i -@item Incident -An event or occurrence that demands a response. -@end table - -One goal of CFEngine is to plan pro-actively to handle incidents -automatically, thus taking them off the list of things to worry about. - -@table @i -@item Problem -A pattern of consequence arising from certain incidents that is detrimental -to the system. It is often a negative trend that needs to be addressed. -@end table - - -Changes can introduce new incidents. -An integrated way to make the tracking of cause and effect easier is -clearly helpful. If we are the cause of our own problems, we are in -trouble! - -@node Service Level Management (SLM), , Incident and problem management, Which ITIL processes apply to CFEngine? -@unnumberedsubsec Service Level Management (SLM) -@sp 1 -Also loosely referred to as Quality of Service. This is the -process of making sure that Service Level Promises are kept, -or Service Level Agreements (SLA) are adhered to. -We must assess the impact of changes on the ability to deliver -on promises. - - -@node Using CFEngine to implement ITIL objectives, How can CFEngine or promises help an enterprise, Which ITIL processes apply to CFEngine?, Top -@unnumberedsec Using CFEngine to implement ITIL objectives -@sp 1 - -How does CFEngine fit into the management of a service organization? -There are several ways: -@itemize -@item It offers a rapid detection and repair of faults that help to avoid formal incidents. -@item It simplifies the deployment (release) of services. -@item Allows resources to be understood and planned better. -@end itemize -These properties allow for greater @emph{predictability} -of system services and therefore they contribute to customer confidence. - - -Any tool for assisting with change management lies somewhere between -ITIL's notion of change management and the infrastructure itself. It -must essentially be part of both (see figure). This applies -to CFEngine too. - - -@image{cfinf,14cm,,CFEngine is both infrastructure and a part responsible for infrastructure.,png} - -CFEngine can manage itself as well as other resources: itself, its -software, its policy and the resulting plans for the configuration of -the system. In other words, CFEngine is itself part of the infrastructure -that we might change. - -@node How can CFEngine or promises help an enterprise, What is maintenance?, Using CFEngine to implement ITIL objectives, Top -@unnumberedsec How can CFEngine or promises help an enterprise -@sp 1 - -Traditional methods of managing IT infrastructure involve working from -crisis to crisis -- waiting for `incidents' to occur and then initiating fire -suppression responses or, if there is time, proactive changes. With CFEngine, -these can be combined and made into a management @emph{service}, with -continuous service quality. - -CFEngine can assist with: -@enumerate -@item Maintenance assurance. -@item Reporting for auditing. -@item Change management. -@item Security verification. -@end enumerate - -Promise theory comes with a couple of principles: -@enumerate -@item Separation of concerns. -@item Fundamental attention to autonomy of parts. -@end enumerate - -Other approaches to discussing organization talk about the separation -of concerns, so why is promise theory special? Object Orientation -(OO) is an obvious example. Promise theory is in fact quite different to -object orientation (which is a misnomer). - -Object orientation asks users to model abstract classes (roles) long -before actual objects with these properties exist. It does not provide -a way to model the instantiated objects that later belong to those -classes. It is mainly a form of information structure -modelling. Object orientation models only abstract patterns, not -concrete organizations. - -Promise theory on the other hand considers only actual existing objects -(which it calls agents) and makes no presumptions that any -two of these will be similar. Any patterns that might emerge can be -exploited, but they are not imposed at the outset. Promise theory's -insistence on autonomy of agents is an extreme viewpoint from which -any other can be built (just as atoms are a basic building block from which -any substance can be built) so there is no loss of generality by making -this assumption. - -In other words, OO is a design methodology with a philosophy, whereas -promises are a model for an arbitrary existing system. - -@node What is maintenance?, ITIL and CFEngine Summary, How can CFEngine or promises help an enterprise, Top -@unnumberedsec What is maintenance? -@sp 1 - -Maintenance is a process that ITIL does not formally spend any time -on explicitly, but it is central to real-world quality control. - -Imagine that you decide to paint your house. Release 1 is going to be -white and it is going to last for 6 years. Then release 2 is going to -be pink. We manage our painting service and produce release -1 with all of the care and quality we expect. Job done? No. - -It would be wrong for us to assume that the house will stay this fine -colour for 6 years. Wind, rain and sunshine will spoil the paint over -time and we shall need to touch up and even repaint certain areas in -white to maintain release 1 for the full six years. Then when it is time -for release 2, the same kind of maintenance will be required for that too. - -Unless we read between the lines, it would seem that ITIL's answer to -this is to wait for a crisis to take place (an incident). We then -mobilize some kind of response team. But how serious an incident do we -require and what kind of incident response is required? A graffiti artist? -A lightening strike? A bird anoints the paint-work? CFEngine is -like the gardener who patrols the grounds constantly plucking weeds, -before the flower beds are overrun. Call it continual improvement if -you like: the important thing is that the process your be pro-active -and not too expensive. - -Maintenance is necessary because we do not control all of the -changes that take place in a system. There is always some kind of -``weather'' that we have to work against. CFEngine is about this -process of Maintenance. We call it ``convergence'' to the ideal state, -where the ideal state is the specified version release. -Keep this in mind as you read about ITIL change management. - - -@node ITIL and CFEngine Summary, , What is maintenance?, Top -@unnumberedsec ITIL and CFEngine Summary -@sp 1 - -ITIL is about processes designed mainly for humans in a workplace. It -represents a service oriented view of an organization, and as such is -more scalable than hierarchical views of management. CFEngine is also -a service oriented technology, thus there is some overlap of concepts. -Indeed CFEngine is a good tool for implementing and assisting in -certain ITIL processes, but we believe that no automation system can -really support what ITIL is about. - -@image{topic,15cm,,ITIL terminology,png} - -@node ITIL glossary, , Top, Top -@appendix ITIL glossary - -This section lists some of the many terms from ITIL, especially the ISO/IEC 20000 -version of the text, and offers some comments and translations into common CFEngine -terminology. - -@menu -* Active Monitoring:: -* Availability:: -* Alert:: -* Audit :: -* Baseline:: -* Benchmark :: -* Capability:: -* Change record:: -* Chronological Analysis:: -* Configuration:: -* Configuration Item (CI):: -* Configuration Management Database (CMDB):: -* Document:: -* Emergency Change:: -* Error:: -* Event:: -* Exception:: -* Failure:: -* Incident:: -* Monitoring:: -* Passive Monitoring:: -* Policy:: -* Proactive Monitoring:: -* Problem:: -* Promise:: -* Reactive Monitoring:: -* Record:: -* Recovery:: -* Remediation:: -* Repair:: -* Release:: -* Request for Change:: -* Abandon Autonomy?:: -* Resilience:: -* Restoration:: -* Role:: -* Service desk:: -* Service Level Agreement:: -* Service Management:: -* Warning:: -@end menu - -@node Active Monitoring, Availability, ITIL glossary, ITIL glossary -@unnumberedsec Active Monitoring - -Monitoring of a configuration item or IT service that uses automated regular checks to discover the current status. - -@cartouche -CFEngine performs programmed checks of all of its promises each time cfagent is started. -Cfagent is, in a sense, an active monitor for a set of promises that are described in its -configuration file. -@end cartouche - -@node Availability, Alert, Active Monitoring, ITIL glossary -@unnumberedsec Availability - -The ability of a component or service to perform its required function. - -Availability = Hours operational / Agreed service hours - - -@cartouche -Availability or intermittency in CFEngine refers to the responsiveness of -hosts in a network when remotely connecting to cfservd. - -Intermittency = Successful~ attempts / Total Attempts - -@end cartouche -This is a measurement that cfagent automatically makes. - -@node Alert, Audit , Availability, ITIL glossary -@unnumberedsec Alert - -A warning that a threshold has been reached, something has changed or a failure has occurred. - - -@cartouche -A CFEngine alert fits this description quite well. -Most alerts are user-defined, but a few are side effects of certain configuration -rules. -@end cartouche - -@node Audit , Baseline, Alert, ITIL glossary -@unnumberedsec Audit - - -A formal inspection and verification to check whether a standard or -set of guidelines is being followed. - - - - -@cartouche -CFEngine's notion of an audit is more like the notion from system -accounting. However, the data generated by this extra logging -information could be collected and used in a more detailed examination -of CFEngine's operations, suitable for use in a formal inspection -(e.g. for compliance). -@end cartouche - - -@node Baseline, Benchmark , Audit , ITIL glossary -@unnumberedsec Baseline - - -A snapshot of the state of a service or an individual configuration -item at a point in time - - -@cartouche -In CFEngine parlance, we refer to this as an initial state or -configuration. In principle a CFEngine initial state does not have to -be a known-base line, since the changes we make will not generally be -relative to an existing configuration. CFEngine encourages users to -define the final state (regardless of initial state). -@end cartouche - - -@node Benchmark , Capability, Baseline, ITIL glossary -@unnumberedsec Benchmark - -The recorded state of something at a specific point in time. - - -@cartouche -CFEngine does not use this term in any of its documentation, though -our general understanding of a ``benchmark'' is that of a standardized -performance measurement under special conditions. CFEngine regularly -records state and performance data in a variety of ways, for example -when making file copies. -@end cartouche - -@node Capability, Change record, Benchmark , ITIL glossary -@unnumberedsec Capability - -The ability of someone or something to carry out an activity. - - -@cartouche -CFEngine does not use this concept specifically. The notion of a capability -is terminology used in role-based access control. -@end cartouche - -@node Change record, Chronological Analysis, Capability, ITIL glossary -@unnumberedsec Change record - -A record containing details of which configuration items are affected -and how they are affected by an authorized change. - - - -@cartouche -CFEngine's default modus operandi is to @emph{not} record changes made -to a system unless requested by the user. Changes can be written as -log entries or audit entries by switching on reporting.@end cartouche - -An ``inform'' promise means that cf-agent promises to notify the -changes to its standard output (which is usually sent by email or -printed on a console output). A ``syslog'' promise implies that -cfagent will log the message to the system log daemon. Both of the -foregoing messages give only a simple message of actual changes. An -``audit'' promise is a promise to record extensive details about the -process that cfagent undergoes in its checking of other promises. - - -@node Chronological Analysis, Configuration, Change record, ITIL glossary -@unnumberedsec Chronological Analysis - -An analysis based on the timeline of recorded events (used to help identify possible causes of problems). - - - -@cartouche -A timeline analysis could easily be carried out based on audit -information, system logs and cfenvd behavioural records. -@end cartouche - -@node Configuration, Configuration Item (CI), Chronological Analysis, ITIL glossary -@unnumberedsec Configuration - -A group of configuration items (CI) that work together to deliver an IT service. - -@cartouche -A configuration is the current state of resources on a system. This is, in -principle, different from the state we would like to achieve, or what has -been promised. -@end cartouche - -@node Configuration Item (CI), Configuration Management Database (CMDB), Configuration, ITIL glossary -@unnumberedsec Configuration Item (CI) - -A component of an infrastructure which is or will be under the control -of configuration management. - - -@cartouche -A configuration item is any object making a promise -in CFEngine. We often speak of the promise object, or ``promiser''.@end cartouche - -@node Configuration Management Database (CMDB), Document, Configuration Item (CI), ITIL glossary -@unnumberedsec Configuration Management Database (CMDB) - -Database containing all the relevant details of each configuration -item and details of the important relationships between them. - - -@cartouche - -CFEngine has no asset database except for its own list of -promises. The only relationships is cares about are those which are -explicitly coded as promises. In the future, CFEngine 3 is likely -to extend the notion of promises to allow more general records of the -CMDB kind, but only to the extent that they can be verified autonomically. -@end cartouche - -@node Document, Emergency Change, Configuration Management Database (CMDB), ITIL glossary -@unnumberedsec Document - -Information and its supporting medium. - - - -@cartouche -ITIL originally considered a document to be only a container for -information. In version 3 it considers also the medium on which -the data are recorded, i.e. both the file and the filesystem on which it resides.@end cartouche - -@node Emergency Change, Error, Document, ITIL glossary -@unnumberedsec Emergency Change - -A change that must be introduced as soon as possible -- for example to -solve a major incident or to implement a critical security patch. - - - -@cartouche -CFEngine has no specific concept for this. -@end cartouche - -@node Error, Event, Emergency Change, ITIL glossary -@unnumberedsec Error - -A design flaw or malfunction that causes a failure. - - - -@cartouche -CFEngine often uses the term configuration error to mean a deviation of -a configuration from its promised state. The ITIL meaning of the term would -translated into ``bug in the CFEngine software'' or ``bug in the -promised configuration''. -@end cartouche - - -@node Event, Exception, Error, ITIL glossary -@unnumberedsec Event - -A change of state that has significance for the management of a -configuration item or IT service. - - - -@cartouche -The same basic definition applies to CFEngine also, but CFEngine makes -all such events into @emph{classes}, since its approach to observing -the environment is to measure and then classify it into approximate -expected states. CFEngine class attributes (usually from cfenvd) may -be considered as event notifications as they change. -@end cartouche - -@node Exception, Failure, Event, ITIL glossary -@unnumberedsec Exception, Failure, Event, Summary - -An @b{event} that is generated when a service or device is currently operating abnormally. - - - -@cartouche -A state in which configuration policy is violated (could lead to a -warning or an automated correction). -@end cartouche - - -@node Failure, Incident, Exception, ITIL glossary -@unnumberedsec Failure - -Loss of ability to operate to specification or to deliver the required output. - - - -@cartouche -ITIL's idea of a failure is something that prevents a promise from being kept. -CFEngine's autonomy model means that it is unlikely for such a failure -to occur, since promises are only allowed to be made about resources for which -we have all privileges. Occasionally, environmental issues might interfere and -lead to failure. -@end cartouche - -@node Incident, Monitoring, Failure, ITIL glossary -@unnumberedsec Incident - -Any event that is not expected in normal operations and which might -cause a degradation of service quality. - - - -@cartouche -CFEngine's philosophy of convergence gives us only one option for -interpreting this term, namely as a temporary deviation from promised -behaviour. A deviation must be temporary if CFEngine is operating -continually, since it will repair any problem on its next invocation -round. Events which do not impact promises made by CFEngine are of no -interest to CFEngine, since autonomy means it cannot be responsible -for anything beyond its own promises. -@end cartouche - -@node Monitoring, Passive Monitoring, Incident, ITIL glossary -@unnumberedsec Monitoring - -Repeated observation of a configuration item, IT service or process in -order to detect events and ensure that the current status is known. - - - -@cartouche -CFEngine incorporates a number of different kinds of monitoring, including monitoring of kept -configuration-promises and passive monitoring of behaviour. -@end cartouche - -@node Passive Monitoring, Policy, Monitoring, ITIL glossary -@unnumberedsec Passive Monitoring - -Monitoring of a configuration item or IT service that relies on an alert or notification to discover the current status. - - - -@cartouche -Cfenvd is CFEngine's passive monitoring component. It observes system -related behaviour and learns about it. It assumes that there is likely -to be a weekly periodicity in the data in order to best handle its -statistical inference. -@end cartouche - -@node Policy, Proactive Monitoring, Passive Monitoring, ITIL glossary -@unnumberedsec Policy - -Formally documented management expectations and intentions. Policies -are used to direct decisions, and to ensure consistent and appropriate -development and implementation of processes, standards, roles, -activities, IT infrastructures, etc. - - -@cartouche -CFEngine's configuration policy is an automatable set of promises -about the static and runtime state of a computer. Roles are identified -by the kinds of behaviour exhibited by resources in a network. We say -that a number of resources (hosts or smaller configuration objects) -play a specific promised role if they make identical promises. Any resource can -play a number of roles. Decisions in CFEngine are made entirely on the basis -of the result of monitoring a host environment. -@end cartouche - -@node Proactive Monitoring, Problem, Policy, ITIL glossary -@unnumberedsec Proactive Monitoring, Problem, Policy, Summary - -Monitoring that looks for patterns of events to predict possible future failures. - - - -@cartouche -All CFEngine monitoring is pro-active in the sense that it can lead to automated follow-up actions. -@end cartouche - -@node Problem, Promise, Proactive Monitoring, ITIL glossary -@unnumberedsec Problem - -Unknown underlying cause of one or more incidents. - - - -@cartouche -A repeated deviation from policy that suggests a change of policy or -specific counter-measures. A promise needs to be reconsidered or new promises -are required. -@end cartouche - -@node Promise, Reactive Monitoring, Problem, ITIL glossary -@unnumberedsec Promise, Reactive Monitoring, Problem, Summary - -ITIL does not define this term, although promises are deployed in -various ways -- for instance in terms of cooperation, communication -interfaces within or between processes or contractual relationships as -defined by Service Level Agreements, Operational Level Agreements and -Underpinning Contracts. - - - -@cartouche -A promise in CFEngine is a single rule in the CFEngine language. The promiser is the resource -whose properties are described, and the promisee is implicitly the CFEngine monitor. -@end cartouche - -@node Reactive Monitoring, Record, Promise, ITIL glossary -@unnumberedsec Reactive Monitoring - -Monitoring that takes action in response to an event -- for example -submitting a batch job when the previous job completes, or logging an -incident when an error occurs. - - - -@cartouche -The concept of reactive monitoring is unclear because the duration of an event and the speed of -a response are undefined. In a sense, all CFEngine monitoring is potentially reactive. It is possible -to attach actions which keep promises to any observable condition discernable by CFEngine's monitor. -CFEngine is not usually considered event driven however, since it does not react ``as soon as possible'' -but at programmed intervals. -@end cartouche - -@node Record, Recovery, Reactive Monitoring, ITIL glossary -@unnumberedsec Record - -Information in readable form that is maintained by the service provider about operations. - - - -@cartouche -A log entry or database item. -@end cartouche - -@node Recovery, Remediation, Record, ITIL glossary -@unnumberedsec Recovery - -Returning a Configuration Item or an IT service to a working -state. Recovering of an IT service often includes recovering data to a -known consistent state. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. -@end cartouche - -@node Remediation, Repair, Recovery, ITIL glossary -@unnumberedsec Remediation - -Recovery to a known state after a failed change or release. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. - -However, this concept is like the notion of ``rollback'' which often involves a more -significant restoration of a system from backup. This is discussed later. -@end cartouche - -@node Repair, Release, Remediation, ITIL glossary -@unnumberedsec Repair - -The replacement or correction of a failed configuration item. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation.@end cartouche - -@node Release, Request for Change, Repair, ITIL glossary -@unnumberedsec Release, Request for Change, Repair, Summary - -A collection of new or changed configuration items that are introduced together. - - - -@cartouche -An instantiation of the entire CFEngine system under a specific -version of a policy, i.e. a specific set of promises. -@end cartouche - -@node Request for Change, Abandon Autonomy?, Release, ITIL glossary -@unnumberedsec Request for Change - -A form to be completed requesting the need for change. This is to be followed up. - - - -@cartouche -This has no counterpart in CFEngine. It is part of human communication -which coordinates autonomous machines. Clearly autonomous computers do not -listen to change requests from other computers, but when machines cooperate -in clusters or groups they take suggestions from the collaborative process. -An RFC in an ITIL sense is part of an organizational process that goes beyond - CFEngine's level of jurisdiction. This is an example of what ITIL adds to -the autonomous CFEngine model. -@end cartouche - - -@node Abandon Autonomy?, Resilience, Request for Change, ITIL glossary -@unnumberedsec Abandon Autonomy? - -Why not simply abandon autonomy of machines if this seems to interfere -with the need for organizational change? There are good reasons why -autonomy is the correct model for resources. Autonomy reduces the risk to a -resource of attack, mistake and error propagation. - -ITIL's processes exist precisely to minimize the risk of negative -impact of change, so the goals are entirely compatible. When an organization -discusses a change it examines information from possible several autonomous -systems and discusses how they will change their pattern of collaboration. -There is no point in this process at which it is necessary for one of the -systems to give up its autonomy. - - -@node Resilience, Restoration, Abandon Autonomy?, ITIL glossary -@unnumberedsec Resilience - -The ability of a configuration item or IT service to resist failure or to recover quickly following a failure. - - - -@cartouche -CFEngine's purpose is to make a system resilient to unpredictable change.@end cartouche - -@node Restoration, Role, Resilience, ITIL glossary -@unnumberedsec Restoration - -Actions taken to return an IT service to the users after repair and recovery from an incident. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. - -However, this concept seems to suggest a more catastrophic failure -which often involves a more significant restoration of a system from -backup. This is discussed later. -@end cartouche - -@node Role, Service desk, Restoration, ITIL glossary -@unnumberedsec Role - -A set of responsibilities, activities and authorities granted to a person or a team. Roles are defined in processes. - - - -@cartouche -A role in CFEngine is a class of agents that make the same kind of promise. The type -of role played by the class is determined by the nature of the promise they make. e.g. -a promise to run a web server would naturally lead to the role ``web server''. -@end cartouche - -@node Service desk, Service Level Agreement, Role, ITIL glossary -@unnumberedsec Service desk - -Interface between users and service provider. - - - -@cartouche -A help desk. This is not formally part of CFEngine's tool set. -@end cartouche - -@node Service Level Agreement, Service Management, Service desk, ITIL glossary -@unnumberedsec Service Level Agreement - -A written agreement between the service provider that documents agreed -services, levels and penalties for non-compliance. - - - -@cartouche -An agreement assumes a set of promises that propose behaviour and an -acceptance of those promises by the client. If we assume that the -users are satisfied with out policies, then an SLA can be -interpreted as a combination of a configuration policy -(configuration service promises), and the CFEngine execution -schedule. -@end cartouche - - -@node Service Management, Warning, Service Level Agreement, ITIL glossary -@unnumberedsec Service Management - - The management of services. - -@node Warning, , Service Management, ITIL glossary -@unnumberedsec Warning - -An @b{event} that is generated when a service or device is approaching its threshold. - - - -@cartouche -A message generated in place of a correction to system state when a deviation from policy is detected. -Note that CFEngine is not based on fixed thresholds. All ``thresholds'' for action or warning -are defined as a matter of policy. -@end cartouche - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Iteration.texinfo b/docs/guides/SpecialTopic_Iteration.texinfo deleted file mode 100644 index 6b6ef778c5..0000000000 --- a/docs/guides/SpecialTopic_Iteration.texinfo +++ /dev/null @@ -1,597 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-iterate.info -@settitle Iteration in CFEngine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Iteration, Explored and Explained -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Iteration is about repeating operations in a list. - -In CFEngine it is the process by which a list variuable is expanded -into its component parts -- a powerful and much-used idiom in -CFEngine. It enables a level of abstraction that can save the system -maintainer the job of repetitive specification of similar promises -with slight differences, and can save time and ease readability of -configuration files. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is Iteration?, (dir), (dir) -@top Iteration -@menu -* What is Iteration?:: -* Iterated promises:: -* Iterating across multiple lists:: -* Iterating over nested lists:: -* Fixing Iterating across nested lists:: -* Iterating revisted:: -* Nesting promises workaround:: -* Power:: -* Summary of iteration:: -@end menu -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is Iteration?, Iterated promises, Top, Top -@unnumberedsec What is iteration? - -@sp 1 - -Iteration is about repeating operations in a list. In CFEngine, -iteration is used to make a number of related promises, that fall into -a pattern based on elements of a list. This is what would correspond -to something like this pseudo-code in an imperative language: - -@quotation -@i{ foreach item in list}@* - @i{make promise}@* -@i{end} -@end quotation - -@noindent In CFEngine, we do not write loops; rather, they are implicit. -Suppose @samp{@@(list)} is a list variable (the @samp{@@} means list). If we -refer to this identifier using a scalar reference @samp{$(list)}, then -CFEngine understands this to mean, take each scalar item in the list and -repeat the current promise, replacing the instance with elements of the list -in turn. - -@node Iterated promises, Iterating across multiple lists, What is Iteration?, Top -@unnumberedsec Iterated promises - -Consider the following set of promises to report on the values of four -separate monitor values: - -@verbatim -bundle agent no_iteration -{ -reports: - cfengine_3:: - "mon.value_rootprocs is $(mon.value_rootprocs)"; - "mon.value_otherprocs is $(mon.value_otherprocs)"; - "mon.value_diskfree is $(mon.value_diskfree)"; - "mon.value_loadavg is $(mon.value_loadavg)"; -} -@end verbatim - -What we did was create four distinct reports, where each report announces -which monitor variable it will be reporting, and the follows with the actual -value of that monitor variable. For simple reports, this is perfectly -adequate and straightforward, but it lacks abstraction and repeatability. -Suppose we wanted to add a variable to report, we'd need a new report -promise. If we wanted to change the wording of the reports, we'd possibly -have to edit four promises, and this can be time consuming and error-prone. - -Consider instead the following example, which generates exactly the same reports: - -@verbatim -bundle agent iteration1 -{ -vars: - "monvars" slist => { - "rootprocs", - "otherprocs", - "diskfree", - "loadavg" - }; - -reports: - - cfengine_3:: - - "mon.value_$(monvars) is $(mon.value_$(monvars))"; -} -@end verbatim - -What we have done is to first specify a list variable @code{monvars}, and then -iterate over the values contained in that list by referencing the list -variable @i{as a scalar}. In CFEngine, simply referring to a list variable -as a scalar automatically iterates over that variable. - -Note that in terms of raw "lines of code", neither example shows an advantage -(and in fact, the reports that are created by the iteration in this second -example are @i{identical} to the reports in the first example). - -However, we already have a gain in maintainer efficiency. By changing the -single report format, we automatically change all the reports. And we have -separated the semantics of the reports from the list of monitoring variables. - -Admittedly, this is a simple example, but if you understand this one, we can -continue with more compelling examples. - -@node Iterating across multiple lists, Iterating over nested lists, Iterated promises, Top -@unnumberedsec Iterating across multiple lists - -@sp 1 -Although iteration is a powerful concept in and of itself, CFEngine can -iterate across multiple lists simultaneously. In the previous example, we -looked at the current values of four monitor variables, but since CFEngine -also gives us access to the averaged values and the standard deviation, how -would we create a series of reports that listed all three statistical -components of each variable? The answer is simply to do another iteration: - -@verbatim -bundle agent iteration2 -{ -vars: - "stats" slist => { "value", "av", "dev" }; - - "monvars" slist => { - "rootprocs", - "otherprocs", - "diskfree", - "loadavg" - }; -reports: - - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim - -Through the addition of a new list called @code{stats}, we can now iterate -over both it and the @code{monvars} list in the same promise. The reports -that we thus generate will report on @code{value_rootprocs}, -@code{av_rootprocs}, and @code{dev_rootprocs}, followed next by -@code{value_otherprocs}, @code{av_otherprocs}, etc, ending finally with -@code{dev_loadavg}. The leftward lists are iterated over completely before -going to the next value in the rightward lists. - -@node Iterating over nested lists, Fixing Iterating across nested lists, Iterating across multiple lists, Top -@unnumberedsec Iterating over nested lists - -Recall that CFEngine iterates over complete promise units, not small parts of -a promise. Let's look at an example that could show a common misunderstanding. - -If you look at the monitor variables that are described in the CFEngine -Reference Guide, you'll notice that some variables reference the number of -packets @i{in} and @i{out} of a host. So you might be -tempted to do the following, which might not do what you expect. - -@verbatim -bundle agent iteration3a -{ -vars: - "stats" slist => { "value", "av", "dev" }; - "inout" slist => { "in", "out" }; - - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - "smtp_$(inout)", # - "www_$(inout)", # look here - "wwws_$(inout)" # - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim -@noindent What this says is, for each value in @samp{$(inout)}, define @samp{monvars} -to be a variable. There are thus two attempts to defined the single name @samp{monvars} -as a list with two different right-hand-sides (one for `in' and one for `out'). -This will result in the error: - -@smallexample - !! Redefinition of variable "monvars" (embedded list in RHS) in context "iteration3a" - !! Redefinition of variable "monvars" (embedded list in RHS) in context "iteration3a" -@end smallexample - -Whenever a promise contains an iteration (that is, when the promise string or -any of its attributes contain a scalar reference to a list variable), that -promise is automatically re-stated with successive values from the list. So -the example above is exactly the same as if we had said the following: - -@verbatim -bundle agent iteration3b -{ -vars: - "stats" slist => { "value", "av", "dev" }; - - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - "smtp_in", - "www_in", "wwws_in" - }; - - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - "smtp_out", - "www_out", "wwws_out" - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim - -Notice that the promise is repeated twice, but the only thing that is -different is the @i{right hand side} of the promise -- the contents of the -list, expanded using iteration over the @code{inout} list variable. Not only -will this not do what we want, it will generate an error, because the second -promise on the variable @code{monvars} will overwrite the value promised in -the first promise! All that we will see in the reports are the @i{second} -definition of the @code{monvars} list. - -@node Fixing Iterating across nested lists, Iterating revisted, Iterating over nested lists, Top -@unnumberedsec Fixing Iterating across nested lists - -@verbatim -bundle agent iteration3c -{ -vars: - "stats" slist => { "value", "av", "dev" }; - "inout" slist => { "in", "out" }; - - "monvars_$(inout)" slist => { - "smtp_$(inout)", # - "www_$(inout)", # look here - "wwws_$(inout)" # - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars_in) is $(mon.$(stats)_$(monvars_in))"; - "mon.$(stats)_$(monvars_out) is $(mon.$(stats)_$(monvars_out))"; -} - -@end verbatim -CFEngine does not allow an unlimited level of nesting, for reasons of -efficiency and readability, and adding further levels of nesting -will start to work against you. Note that we had to explicitly refer to the -two variables that we created: @code{$(monvars_in)} and -@code{$(monvars_out)}, and specifying more will get very messy very quickly. -However, the next sections show an easier-to-read workaround. - -@node Iterating revisted, Nesting promises workaround, Fixing Iterating across nested lists, Top -@unnumberedsec Iterating across multiple lists, revisted - -When a list variable is referenced as a scalar variable (that is, when -the list variable is referenced as @code{$(list)}) instead of as a -list (using @code{@@(list)}), CFEngine assumes that it should -substitute each scalar from the list in turn, and thus iterate over -the list elements using a loop. - -If more than one list variable is referenced in this manner in a -single promise, each list variable is iterated over, so that every -possible combination of scalar components is represented. Consider -the following example. - -In this example, note that the @code{letters} list is -referenced in both the left-hand and right-hand side of the promise, -the @code{digits} list is referenced only in the left-hand side, and -the @code{symbols} list is only referenced in the left-hand side: - - -@verbatim -bundle agent iteration4a -{ -vars: - "letters" slist => { "a", "b" }; - "digits" slist => { "1", "2" }; - "symbols" slist => { "@", "#" }; - -commands: - "/bin/echo ${letters}, ${digits}+${digits}, " - args => "${letters} and ${symbols}'"; -} -@end verbatim - -Like a backwards-reading odometer, the left-most variable cycles the fastest -and the right-most list cycles the slowest. Most importantly, no matter how -many times or places a list variable is referenced as a scalar in a single -promise, each combination of values is visited @i{only once}, regardless of -whether the iteration variable is in the lefthand side or the righthand side -of a promise or both. - -The example above is exactly equivalent to this (much more) verbose set of -promises. As you can see, there are @code{2*2*2 = 8} promises generated, -which contains every possible comination of elements from the lists -@code{letters}, @code{digits}, and @code{symbols}: - -@verbatim -bundle agent iteration4b -{ -commands: - "/bin/echo a, 1+1, " - args => "a and @"; - "/bin/echo b, 1+1, " - args => "b and @"; - "/bin/echo a, 2+2, " - args => "a and @"; - "/bin/echo b, 2+2, " - args => "b and @"; - "/bin/echo a, 1+1, " - args => "a and #"; - "/bin/echo b, 1+1, " - args => "b and #"; - "/bin/echo a, 2+2, " - args => "a and #"; - "/bin/echo b, 2+2, " - args => "b and #"; -} -@end verbatim - -@node Nesting promises workaround, Power, Iterating revisted, Top -@unnumberedsec Nesting promises workaround - -Recall the problem of nesting iterations, we can now see how to repair -our error. The key is to ensure that there is a distinct and unique -promise created for every combination of iterated variables that we -want to use. Here is how to solve the problem of listing the input -and output packet counts: - -@verbatim -bundle agent iteration5a -{ -vars: - "stats" slist => { "value", "av", "dev" }; - "inout" slist => { "in", "out" }; - "io_names" slist => { "smtp", "www", "wwws" }; - "io_vars[$(io_names)_$(inout)]" int => "0"; - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - getindices("io_vars") - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim - -@noindent The output of this is -@smallexample -R: mon.value_rootprocs is $(mon.value_rootprocs) -R: mon.av_rootprocs is $(mon.av_rootprocs) -R: mon.dev_rootprocs is $(mon.dev_rootprocs) -R: mon.value_otherprocs is $(mon.value_otherprocs) -R: mon.av_otherprocs is $(mon.av_otherprocs) -R: mon.dev_otherprocs is $(mon.dev_otherprocs) -R: mon.value_diskfree is $(mon.value_diskfree) -R: mon.av_diskfree is $(mon.av_diskfree) -R: mon.dev_diskfree is $(mon.dev_diskfree) -R: mon.value_loadavg is $(mon.value_loadavg) -R: mon.av_loadavg is $(mon.av_loadavg) -R: mon.dev_loadavg is $(mon.dev_loadavg) -R: mon.value_wwws_in is $(mon.value_wwws_in) -R: mon.av_wwws_in is $(mon.av_wwws_in) -R: mon.dev_wwws_in is $(mon.dev_wwws_in) -R: mon.value_www_out is $(mon.value_www_out) -R: mon.av_www_out is $(mon.av_www_out) -R: mon.dev_www_out is $(mon.dev_www_out) -R: mon.value_www_in is $(mon.value_www_in) -R: mon.av_www_in is $(mon.av_www_in) -R: mon.dev_www_in is $(mon.dev_www_in) -R: mon.value_smtp_in is $(mon.value_smtp_in) -R: mon.av_smtp_in is $(mon.av_smtp_in) -R: mon.dev_smtp_in is $(mon.dev_smtp_in) -R: mon.value_wwws_out is $(mon.value_wwws_out) -R: mon.av_wwws_out is $(mon.av_wwws_out) -R: mon.dev_wwws_out is $(mon.dev_wwws_out) -R: mon.value_smtp_out is $(mon.value_smtp_out) -R: mon.av_smtp_out is $(mon.av_smtp_out) -R: mon.dev_smtp_out is $(mon.dev_smtp_out) -@end smallexample - -In this case, all we are doing is creating an array called @code{io_vars}. -Note that the indices of the elements of the array are iterated from @i{two} -lists, so in this case we'll have @code{2*3 = 6} elements in the array, -covering all the combinations of the two lists @code{inout} and -@code{inout-names}. - -The values of the array elements can be whatever we like. In this case, we're -making all the values @code{0}, because we don't care what the actual values -are -- we only care about the @i{keys} of the array. We add the list of the -keys to the @code{monvars} list by using the return value from -@code{getindices("io_vars")}. - -Looking at the example above, you might just as easily be tempted to do the -following: - -@verbatim -bundle agent iteration5b -{ -vars: - "stats" slist => { "value", "av", "dev" }; - "inout" slist => { "in", "out" }; - "io_names" slist => { "smtp", "www", "wwws" }; - "io_vars[$(io_names)_$(inout)]" string => "$(io_names)_$(inout)"; - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - @(io_vars) - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim -@noindent However, this is wrong. -We cannot use @code{@@(io_vars)}, because @code{io_vars} is not a -@i{list}, it is an @i{array}! You can only use the @code{@@} dereferencing -sigil on lists. - -@node Power, Summary of iteration, Nesting promises workaround, Top -@unnumberedsec The power of iteration in CFEngine - -Iteration and abstraction are power tools in CFEngine. In closing, consider -the following simple and straightforward example, where we report on all of -the monitoring variables available to us in CFEngine: - -@verbatim -bundle agent iteration6 -{ -vars: - "stats" slist => {"value", "av", "dev"}; - - "inout" slist => {"in", "out"}; - "io_names" slist => { - "netbiosns", "netbiosdgm", "netbiosssn", - "irc", - "cfengine", - "nfsd", - "smtp", - "www", "wwws", - "ftp", - "ssh", - "dns", - "icmp", "udp", - "tcpsyn", "tcpack", "tcpfin", "tcpmisc" - }; - "io_vars[$(io_names)_$(inout)]" string => "$(io_names)_$(inout)"; - - "n" slist => {"0", "1", "2", "3"}; - "n_names" slist => { - "temp", - "cpu" - }; - "n_vars[$(n_names)$(n)]" string => "$(n_names)$(n)"; - - "monvars" slist => { - "rootprocs", "otherprocs", - "diskfree", - "loadavg", - "webaccess", "weberrors", - "syslog", - "messages", - getindices("io_vars"), - getindices("n_vars") - }; - -reports: - cfengine_3:: - "mon.$(stats)_$(monvars) is $(mon.$(stats)_$(monvars))"; -} -@end verbatim - -In this example, we create a two arrays (@code{io_vars} and @code{n_vars}), -and a number of lists (but the most important ones are @code{stats} and -@code{monvars}). We have but a single report promise, but it iterates over -these latter two lists. With only a single reports promise and intelligent -use of lists and arrays, we are able to report on every one of the -@code{3*(8+2*18+4*2)==156} monitor variables. And to change the format of -every report, we will only have a single statement to change. - -@node Summary of iteration, , Power, Top -@unnumberedsec Summary of iteration - -Used judiciously and intelligently, iterators are a powerful way of -expressing patterns. They enable you to abstract out the concepts -from the nitty-gritty details, and to specify, in very few lines, -complex combinations of elements. Perhaps more importantly, they ease -the burden of maintainability, by making short work of -repetitive problems. - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Knowledge.texinfo b/docs/guides/SpecialTopic_Knowledge.texinfo deleted file mode 100644 index ca39659210..0000000000 --- a/docs/guides/SpecialTopic_Knowledge.texinfo +++ /dev/null @@ -1,998 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-knowledge.info -@settitle Implementing Knowledge Management -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Implementing Knowledge Management -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Everyone agrees that Knowledge Management is important, but few -really appreciate what it means to manage knowledge, or how to -begin. CFEngine's application area is principally operational, but it -provides tools for integrating with business development and -organizational management. - -This short guide suggests how to begin implementing a knowledge -management strategy using CFEngine Nova as a centrepiece for integrating -data from many different sources. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What is knowledge management?, (dir), (dir) -@top Knowledge -@menu -* What is knowledge management?:: -* Risk and uncertainty:: -* How should you begin?:: -* The CFEngine Knowledge map:: -* Pitfalls to avoid:: -* Using the Knowledge Map:: -* Types of information:: -* Example company_knowledge.cf:: -* Knowledge transfer:: -* How does CFEngine Nova help?:: -* Knowledge Management Objectives:: -@end menu - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is knowledge management?, Risk and uncertainty, Top, Top -@unnumberedsec What is knowledge management? - -@sp 1 - -Everyone agrees that Knowledge Management is important, but -few really appreciate what it means to manage knowledge, or how to -begin. Ironically perhaps, even learning institutions (so-called knowledge -based industries) like schools and universities often do not do a good -job of this. Having a wealth of knowledge is not the same as knowing -how to foster and protect it. Most organizations take their -knowledge for granted. - -In the worst case, poorly run organizations end up as collections of -individuals, each of whom possesses knowledge and experience, -but none of whom knows anything about the others' roles. This scenario presents a -high risk for the continuity of the organization, since taking out -even a single player could cripple a key work process. - -The end result is that many organizations are caught in a poverty trap -of knowledge: they spend their time reacting to emergencies cultivated -by a lack of confidence and certainty, and they are too busy patching over holes that -they never have time to learn enough to escape the pattern. - - -@cartouche -The Third Wave of configuration management emphasizes the role of knowledge -in coping with the diversity and adaptability that modern organizations crave. -This document is a beginning towards thinking about IT management in a new way: -as a knowledge resource, or a set of insight-driven intentions that are -maintained by smart machinery. This vision is about rehumanizing System Administration -through a proper division of labour between Man and Machine. -@end cartouche - -@node Risk and uncertainty, How should you begin?, What is knowledge management?, Top -@unnumberedsec Risk and uncertainty - -@sp 1 - -Knowledge exists to reduce our uncertainty about the world. We don't -generally learn in order to get smart, or to be experts; rather we -learn by necessity and feel smart when there are no remaining -surprises. Experts are people who can answer questions they already -know the answer to; they are supposedly extra-ordinary. Innovators are -people who can solve new problems -- they are even rarer. - -The main aim of knowledge management is not to make everyone an -expert, but to improve the predictability of workflow processes so -that we can respond to unpredictable changes in the environment with -greater confidence, without losing the feeling of control over -the situations we find ourselves in. -To do that, we have to make the connections between the appropriate -parts to that we can always obtain the answers. - -@node How should you begin?, The CFEngine Knowledge map, Risk and uncertainty, Top -@unnumberedsec How should you begin? - -@sp 1 -The road to maturity can be seen as stepping through one or more of -the following progressions: - -@sp 1 -@itemize -@item Data --> Information --> Knowledge --> Wisdom (DIKW) - -@item Objectives --> Results - -@item Intentions --> Promises --> Assessments -@end itemize -@sp 1 - -@image{dikw,12cm,,DIKW,png} - -Each of these sequences represents an increasing level of commitment. -You need to have data to interpret them as information. You need to -have goals or objectives in order to realize them and see results. You -need to have intentions to make promises, and so on. Ask yourself: -does everyone in your team know your business goals, and how to -translate their efforts into progess? - - - - - - - - - -@node The CFEngine Knowledge map, Pitfalls to avoid, How should you begin?, Top -@unnumberedsec The CFEngine Knowledge map - -Maps guide us to where we need to get to from where we are (even when we don't -fully understand where we are). A map places us in the context or a larger -picture and helps us to find our way. -The Knowledge map is a part of the CFEngine Mission Portal, -which in turn is provided with CFEngine Enterprise Edition. -Significant instrumentation of the software, user process and policy analysis -are provided in these editions in order to make Knowledge mining as transparent -to the user as possible. - -@cartouche -Our first task in Knowledge Management is to create a map of the knowledge -landscape in which we work. -@end cartouche - -CFEngine contains a tool @code{cf-know} for creating a map called a -Topic Map, that forms to basis of our approach to documentation. -Further, CFEngine Enterprise Editions, starting with Nova help fill in -the landscape of this map automatically. - -To build a map, you will need data (hence the beginning of the DIKW chain). -To use a map, you need an objective or an intention, hence the others. - -Ask yourself: what are the places in this map, and what are the paths between them? -This is a question every organization needs to ask itself. - -@sp 1 -@node Pitfalls to avoid, Using the Knowledge Map, The CFEngine Knowledge map, Top -@unnumberedsec Pitfalls to avoid - -@sp 1 - -CFEngine does a lot of work for you, but you need to do something to help -yourself too. As with all information, garbage in leads to garbage out. -Your organization should create documents and references -to capture its internal knowledge. If you are doing this well, it should not be -a major task. - -Knowledge gets out of control when you don't standardize ideas, -concepts and procedures. By standardizing topics and concepts, you -prevent an explosion of redundancy -- only then can you see -the signal in the noise. Standardization minimizes the number of things -you have to deal with. Be careful though, if you go too far, standardization -can become a straightjacket, preventing you from clear and free expression. -Too much standardization and you will be stuck in a rut. - -@cartouche -Dedicate yourself to a culture of simplicity, but not of -over-simplification (which often backfires). Always work to avoid -special cases and exceptions, unless they can be rigorously justified. -@end cartouche - -This is a question of economics: is it worth the cost of maintaining a -special case? CFEngine's is designed to make it a lot easier and -cheaper to manage exceptions, so you needn't worry too much. Just -don't go mad. - -Simplification is the hardest thing you will ever do. Anyone can make -something more complicated, but it takes real work to simplify -something@footnote{This is a general statement of the second law of -thermodynamics -- entropy tends to increase. If we want to reduce it -locally, we have to expend a lot of effort.}. Einstein's famous quote -captures this: @i{You should always make everything as simple as -possible, but no simpler.} - - - -@node Using the Knowledge Map, Types of information, Pitfalls to avoid, Top -@unnumberedsec Using the Knowledge Map - -CFEngine's exploration of knowledge management is still in its infancy --- we are learning constantly about how to use state of the art -technologies and techniques. This is still very much an experimental area -that we continue to improve upon. - -Let's look at the current state of the smart index which we call the -(Copernicus) Knowledge Map. If you go to the Mission Portal Library and -search for a topic, you will land in the Knowledge Map. You will immediately -see a graphical image and number of tabs that contain various different -renditions of the information. - -Presently, these are called: -@itemize -@item Map - a visual view of a small neighbourhood of the closest related topics -that places the search topic in the context of closely related items. The search -topic might not be a the centre of this little universe, as other topics can -be more important. The size of the plantary balls is an indication of the topic's -connectedness in the web. -@item Leads - an explanation with full text for the nearest neighbours of the search topic. -@item References - Actual document links or remarks made about the search topic. -@item Same context - Other topics discussed in the same context. -@end itemize - -@menu -* Knowledge map example 1:: -* Knowledge map example 2:: -@end menu - -@node Knowledge map example 1, Knowledge map example 2, Using the Knowledge Map, Using the Knowledge Map -@unnumberedsubsec Knowledge map example 1 - -You enter the knowledge map by searching, or being referred there by a link in -the Mission Portal. Suppose we enter @samp{webserver} into the search field. -CFEngine searches for matching topics in its index, and returns references in -different contexts. The context `any' represents an unspecific reference to the topic -name: - -@image{km1,12cm,,DIKW,png} - -Suppose we click on the first of these in any context; this leads us to a special -landing page about that particular topic which contains the four tabs mentioned above. -By default we end up in the graphical view. This gives an immediate impression of -roughly where CFEngine considers this topic to lie in the scope of its knowledge. -However, its value is rather limited. -@image{km2,12cm,,DIKW,png} - -The next step is to walk through the tabs to `drill down' to actual -content. The second tab points us to the `brainstorming' value of the -associative links -- now with explanations in text. If we select -another tab we arrive at further leads for assisted thinking: these -associative-thinking pointers can guide you to matters that are -related and provide context for the current topic. - -@image{km3,12cm,,DIKW,png} - - - -Leads are helpful if you didn't really know what you were -looking for in the first place -- and you would like some explanation -of what it what you guessed. - - -If we select one of these, we go the landing page for that new topic in the advertised -context. - -@image{km4,12cm,,DIKW,png} - - -Note that several topics might be highlighted -in yellow on a page -- if they have been named, or if they are topics of special importance in -this local cluster (meaning that they are highly referred to). - -In this view we are able to see, at a glance, that this somewhat -Byzantine string is the name of a file, and that is pertains only to -certain operating systems. Walking through the tabs again, we see -both where we came from and where we can go from here, with -more detailed explanations. - -@image{km5,12cm,,DIKW,png} - -So far the map has only shown us topics -- or named subjects -categorized by their context. This gives us a kind of compass for -knowing what the topic is about, but it tells us little about the -subject itself. The third tab points us to actual expansive -information about the topic, if any is known. This might be information -from the documentation, external links or commentary and remarks made in -policy. - -@cartouche -If there are no references to external information, this tab does not appear. -Let's choose one of these references; now we are taken to a new topic -altogether, where we see a new view of the system information. -@end cartouche - -@image{km6,12cm,,DIKW,png} - -Because the topic name is categorized in the context of `promises', we -know that (although this is the name of a file and it refers to -RedHat-like operating systems) that this is also the object of a -promise. The references page contains a link that then points us to -actual information about this promise. The textual comment that was attributed -to the promise in the policy itself, and a link to the promise's definiton. -Clicking on the defintion link takes us the the promise-viewer. - -@image{km7,12cm,,DIKW,png} - -The Copernicus Knowledge Map view will take you a while to get used to -- use it -to help you think about matters, and see how they fit together into a systematic -overview of your environment. - - -@node Knowledge map example 2, , Knowledge map example 1, Using the Knowledge Map -@unnumberedsubsec Knowledge map example 2 - -Let's look at another example. Suppose we enter @samp{vital signs} as -the search text, and go to the leads. We find a long list of other -topics. CFEngine says that `vital signs' generalizes, or is an -umbrella concept, for these other concepts. - -@image{km8,12cm,,DIKW,png} - - One of these -concepts is a class context that represents an anomaly -detected by CFEngine @samp{loadavg_high_dev2}. -Clicking on this, we see the -significance of this concept quite easily from its relationship -to other concepts: - -@image{km9,12cm,,DIKW,png} - -The load average being high might be an anomaly, but we also see that it -refers to system performance, as does a whole bunch of other concepts. - -@cartouche -The value of the semantic indexing is that it is information a casual user -can actually learn from. By providing context and leads for further thinking, -the Mission Portal becomes an quasi-intelligent assistant for working on -the system. -@end cartouche - -@node Types of information, Example company_knowledge.cf, Using the Knowledge Map, Top -@unnumberedsec Types of information - -@sp 1 - -There are many kinds of information that contribute to a strategy for -managing knowledge. The ability to learn from past mistakes demands -that we look both forwards and backwards, while realizing that -knowledge grows older and less useful the older it gets. -For instance, what is known about the past? What -is current? How can we track these things? Information comes in -logically different categories as well as different types. Data have -different sources, and are about different epochs. We need to unify -and integrate these in Knowledge Management. - -@table @i - -@item Conceptual information (Always) - -Conceptual information is knowledge of a general nature that defines -basic terms and concepts that describe the operational area of the -organization. e.g. background theory, compliance requirements, frameworks, license -expiry documents. Contracts and agreements. - -This information comes from the wider culture of the enterprise. It is often -treated poorly as our modern culture has an unreasonable suspicion of anything that -seems `academic'. - -@item System observations (Past) - -Recording what has actually happened in the organization. This includes -the IT system, but also the business services and workflows, e.g. -changes, transactions, logs, incidents, events, performance values (Key -Performance Indicators), audits, security scans, etc. This includes -what it traditionally called system monitoring. - -This comes from probing and monitoring human-computer processes. - -@item Enterprise process documentation (Now) - -These documents are about business internals, recipes, manuals and -how-tos. They allow individuals to work autonomously without constant -supervision, because they all have a copy of the script. This -information is about @i{orchestration} of parts. In an orchestra each -player can manage to play his or her part with only minimal advice -from a conductor because they each have a copy of their music. Their -music is their process documentation. - -This is closely related to policy and comes from internal management bodies. - -@item Policy (Future) - -Here are the promises and intentions of the IT mission. Documents of -all degrees of technicality form policy. They contain the decisions -you have made for steering the mission under all possible -contingencies. - -Policy is informed by all of the above, and usually changes in -response to recurring `problems' identified in the observations. It -originates from internal management. - -@end table - - - - -@sp 1 -@unnumberedsec Stories and narratives - -In the foregoing section, we saw how leads in the Knowledge Map's -semantic index could help us to see immediate relationships between -system issues. The next question is: what about connections that are less -immediate or obvious? - -In future releases you will be able to ask the agent to brainstorm for you -about topics, telling any stories is knows about topics. A story is a -simply a path through the web of connected information that follows -some kind of connectness. Most interesting stories have a thread of -cause and effect. CFEngine attempts to reason forth narratives that -might be sensible or which might offer some kind of insight. This is -not usually a directly useful revelation, but more often a thought -provoking stimulus for a human to take further. - -Machine intelligence is never a substitute for the real thing, at least -not in our present day technologies, but it can be a useful amplifier of -`leads' to get a smart human thinking about the right things. -Most CFEngine stories relate to policy, and they are generated automatically -by the knowledge engine, so you will not get any stories until you have -something interesting in your policy. - -Stories will be usable from the command-line, or as a tab within the -Mission Portal. The command line is useful for interactive -thinking: - -A story can be quite simple: -@cartouche -@smallexample -atlas$ src/cf-know --tell-me-about ftpusers -F: "ftpusers" seems to affect "any::/etc/ftpusers" (with 50 % probability) - - "ftpusers" (in any), - see also "/etc/ftpusers" (in any), -@end smallexample -@end cartouche -@noindent Other stories could be more involved: -@cartouche -@smallexample -cf-know --tell-me-about anomalies::cpu0_high_dev2 - -F: "anomalies::cpu0_high_dev2" -seems to affect "any::performance" (with 100 % probability) - - "cpu0_high_dev2" (in anomalies), - is a special case of "vital signs" (in any), - which is a generalization of "users_high_dev1" (in anomalies), - and this (users_high_dev1) is a special case of "performance" (in any) - -(Note also that performance, which was mentioned, is a generalization of -"anomalies::users_high_dev1") - -@end smallexample -@end cartouche - -@noindent Stories can also be quite spurious, because knowledge itself can be spurious. -For instance, some guesses might be quite wrong as the system gets the wrong end of the stick, -so to speak, as it uses general patterns and these patterns always have exceptions: -@cartouche -@smallexample -atlas$ src/cf-know --tell-me-about operating_systems::suse - -F: "operating_systems::suse" seems to affect "any::gnu/linux" (with 100 % probability) - - "suse" (in operating_systems), - is a special case of "linux" (in any), - and this (linux) seems to refer to "gnu/linux" (in any) - -F: "operating_systems::suse" seems to affect "any::unitedlinux" (with 100 % probability) - - "suse" (in operating_systems), - is a special case of "linux" (in any), - and this (linux) seems to refer to "unitedlinux" (in any) - -@end smallexample -@end cartouche -@noindent Or: -@cartouche -@smallexample -atlas$ src/cf-know --tell-me-about functions - -F: "any::functions" seems to affect "any::arrays" (with 100 % probability) - - "functions" (in any), - seems to refer to "functions which read" (in any), - which seems to refer to "functions which read arrays" (in any), - and this (functions which read arrays) seems to be referred to in "arrays" (in any) - -F: "any::functions" seems to affect "any::expression" (with 100 % probability) - - "functions" (in any), - seems to refer to "functions which read" (in any), - which seems to refer to "functions which read classes" (in any), - which seems to be referred to in "class" (in data_types), - which seems to refer to "a cfengine class expression" (in any), - and this (a cfengine class expression) seems to be referred to in "expression" -(in any) -... -@end smallexample -@end cartouche - -As you can see, the story generator looks for causative connections between the things -that it knows about. Some topics are from the documentation, and some from your -configuration policy. - -@cartouche -@smallexample -F: "any::functions" seems to affect "any::readrealarray" (with 100 % probability) - - "functions" (in any), - seems to refer to "functions which read" (in any), - which seems to be referred to in "class" (in data_types), - which seems to be referred to in "functions which return" (in any), - which seems to refer to "functions which return real" (in any), - which seems to be referred to in "real" (in vars_promises), - and this (real) seems to refer to "readrealarray" (in any) - -(Note also that readrealarray, which was mentioned, seems to refer to -"any::functions which read classes") -(Note also that readrealarray, which was mentioned, seems to refer to -"any::functions which return class") -@end smallexample -@end cartouche - -@sp 1 -@unnumberedsec Creating your own map - -@sp 1 -CFEngine provides a lot of knowledge about your system out of the box, that includes a domain -model about the space of IT management, and an automated analysis of the deployed policy. -Below are some notes about how this is built, and things you can do to improve the information -by adding knowledge that cannot be discovered automatically. -@enumerate - -@item You begin by documenting your intentions by creating a CFEngine automation policy, i.e. bundles of promises. - -@item You add comments, handles, promisees etc to your policy to full explain your intentions. - -@item You can assign each host in your network to a special class that represents its -physical location, using @code{classes:} promises. You should then collect -such classes into a topic context called @samp{locations::} in the @file{company_knowledge.cf} file. - -@item CFEngine runs @code{cf-promises -r} to build a decompsition of your -current policy. - -@item CFEngine runs @code{cf-know -bf enterprise_build.cf} to build the knowledge map. - -@item You may create enterprise process documents and written policies for your -organization, which you will link into the knowledge map. - -@item CFEngine Nova creates the Knowledge Map which includes -a conceptual framework for IT management, and which integrates with -the CFEngine software documentation. - -@item You may now extend the basic knowledge map with more of your -own special documentation by placing references and -additional concepts into the file @file{company_knowledge.cf}, on the policy server. - -@end enumerate - -@unnumberedsec Documenting goals - -Business goals are shown in the Goals app (and service catalogue) in the Mission Portal of CFEngine Enterprise -for each hub. To document the fact that a promise or bundle contributes to a business goal, -you must do two things: - -@enumerate -@item Document the goal (see below under the example @file{company_knowledge.cf} file). e.g. -@verbatim -topics: - - goals:: - "goal 1" comment => "Do good things"; - "goal 2" comment => "Be first"; - "goal 3" comment => "Be best"; - -@end verbatim -@item Make the goal a promisee of the promise concerned. - -@verbatim -methods: - - "security" -> { goal_1, goal_2 } - - comment => "Basic change management", - usebundle => change_management; - "maintenance" - comment => "Perform log rotation", - usebundle => garbage_collection; -@end verbatim - -@end enumerate - -@unnumberedsec Documenting locations - -To document the location of a host, make sure that it is placed inside a class that represents its address: - -@verbatim -classes: - - "london" or => { "host1", "host2" }; - "alexandria" or => { "host3", "host4", "host5" }; - -@end verbatim -@noindent Then designate these classes as locations in the knowledge map: -@verbatim -topics: - - locations:: - - "london" comment => "29 Market Street, London XW4, third on the left"; - "alexandria" comment => "Secret chamber, discovered by Indiana Jones"; - -@end verbatim - -@node Example company_knowledge.cf, Knowledge transfer, Types of information, Top -@unnumberedsec Example @file{company_knowledge.cf} - -@smallexample - -bundle knowledge company_knowledge -@{ -things: - - regions:: - - "Americas" comment => "USA, Latin America and Canada"; - - "EMEA" comment => "Europe, The Middle-East and Africa"; - - "APAC" comment => "Asia and the Pacific countries"; - - countries:: - - "USA"; - - "Germany"; - - "UK" synonyms => @{ "Great Britain" @}, - is_located_in => @{ "EMEA", "Europe" @}; - - "Netherlands" synonyms => @{ "Holland" @}, - is_located_in => @{ "EMEA", "Europe" @}; - - "Singapore" is_located_in => @{ "APAC", "Asia" @}; - - site_locations:: - - # Use this for the names of - - "London_1" is_located_in => @{ "London", "UK" @}; - "New_Jersey" is_located_in => @{ "USA" @}; - - routers:: - - "oslo-hub-p6 " comment => "Cisco xyz router, 3rd floor machine room, 6 Penny Street"; - "oslo-hub-trunk" comment => "Cisco BGP router, floor machine room"; - "nyc-hub-456" comment => "Juniper 123 router, 3rd floor machine room"; - - networks:: - - "192.23.45.0/24" - comment => "Secure network, zone 0. Single octet for corporate offices", - is_connected_to => @{ "oslo-hub-123" @}; - - "192.12.74.0/23" comment => "Zone 1, double octet for the London office developer network", - is_connected_to => @{ "oslo-hub-123" @}; - - "192.12.74.0/23" - comment => "Secure, single octet for the NYC office", - is_connected_to => @{ "nyc-hub-456" @}; - - -####### - -topics: - - company:: - - "ED" comment => "Exceptional Devices Ltd"; - - ED:: - - "EGC" comment => "Enterprise grid computing", - association => a("develops stuff within", - "ED", - "contains its engineering unit"); - - "EBC" comment => "Enterprise business computing", - association => a("handles business services within", - "ED", - "contains its business unit"); - - "ED terminology" comment => "Internal company nomenclature"; - - ED_terminology:: - - "interactive job" comment => "Interactive software running in the grid"; - - "apps" comment => "Software applications", - association => a("are also referred to as", - "interactive jobs", - "are also referred to as"); - - "business services" comment => "Support services for sales"; - -######################## -# GOALS as topics -######################## - - goals:: - - "goal 1" comment => "The company mission depends on reliability to our customers"; - "goal 2" comment => "Should be running recent versions of key software"; - "goal 3" comment => "The company must be compliant with Sarbanes Oxley act."; - "goal 4" comment => "Comply with US Export restrictions for class D countries"; - - -####### -# Documents below -####### - -occurrences: - - # Fill in company references here - - work_shifts:: - - "http://www.example.com/shifts_and_rotas.ods" - represents => @{ "Spreadsheet" @}; - - - current_projects:: - - "http://www.example.com/scope_of_work.html" - represents => @{ "SOW" @}; - - - software_licenses:: - - "This CFEngine software license expires $(sys.expires)" - representation => "literal", - represents => @{ "CFEngine Nova" @}; - -@} - -@end smallexample - -@sp 1 -@unnumberedsec What other special documents should an organization have? - -@sp 1 -CFEngine cannot produce everything you need for your library of knowledge. -There cannot be hard and fast rules about this. Here are some suggestions: - -@itemize -@item A policy on human roles and responsibilities, to avoid gaps in and unecessary doubling of effort. -@item A risk/security policy. -@item A standardization and procedure manual. -@item Incident logs of matters not detected and repaired by CFEngine. -@item Repair logs of matters not detected and repaired by CFEngine. -@item Requests for change (RFC) logs. -@item Promises in your organization that are not just for CFEngine to keep, documenting intentions. -@item A policy on Knowledge Retention and Business Continuity. -@end itemize - -@sp 1 -@cartouche -Hint: a simple way to have a log is to use a tickets system like OTRS or a moderated mailing list, and to email -new entries. Something like a Mailman archive allows then tracking and integration. -@end cartouche -@sp 1 - -@node Knowledge transfer, How does CFEngine Nova help?, Example company_knowledge.cf, Top -@unnumberedsec Knowledge transfer - -@sp 1 - -Passing on knowledge to others could be considered a `best -practice'. Alas, this is not as easy as it sounds. There are plenty -of strategies to achieve knowledge transfer: - -@itemize -@item Reading -@item Taking courses -@item Research -@item Repetition -@item Job swapping and promotion -@end itemize - -@noindent These are just a few. However, this list is old news, and -these items alone will not lead to knowledge transfer. - -One of the most important @i{barriers} to knowledge transfer is that -individuals refuse to learn new things. A lack of dynamism in a -company or organization establishes patterns of habit that are hard to -break. The longer they last, the more likely they are to continue. - -Promise theory makes clear that, even if all staff promise -to write excellent documentation, they do not necessarily promise -to read each others' documents. Transfer requires a commitment both -to send and to receive. - - -@cartouche -@itemize -@item The final step to managing knowledge is to foster a culture -of knowledge acquisition, retention and transfer. - -@item Knowledge transfer requires a commitment by all parties -@itemize -@item to learn outside of their box. - -@item to pass on their expertise to others. -@end itemize -@end itemize -@end cartouche - -Communication skills are clearly important, but this is a serious flaw -in the idea. Written communication skills are not as common as we -might think. This means it is hard for the writer, and also for the -reader. - -The solution taken by CFEngine is to reduce the problem of -documentation to one of coding notes and relationships. This requires -only minor writing skills. The technology can then assemble these notes -using intelligent algorithms and present the result in an organized form -with visual aids. You should pay special attention to the syntax items: - -@verbatim - comment => - handle => - depends_on => - - -> { promisees } - -@end verbatim - - -You need to foster a culture of using information, in order for it -to become assimilated as knowledge. Unused information will perish. - - -@node How does CFEngine Nova help?, Knowledge Management Objectives, Knowledge transfer, Top -@unnumberedsec How does CFEngine Nova help? - -@itemize -@item CFEngine assists knowledge management by providing tools for integration -of knowledge sources. - -@item A formal structure for encoding policy at relationships at a functional level - -@item Technical syntax makes annotation easy for IT workers, and CFEngine can construct -the surrounding story using intelligent algorithms. -@end itemize - - - - - -@node Knowledge Management Objectives, , How does CFEngine Nova help?, Top -@unnumberedsec Knowledge Management Objectives - -As a manifesto for us as developers at CFEngine, as well as for you as -users of the software, and as infrastructure engineers, it is helpful -to make a list of questions that we would like to be able to answer -using enterprise software. The following list is not to be regarded -as a set of features in CFEngine, but rather as a set of challenges -to be addressed in different ways. - -@itemize - -@item Tell me about the promise(s). -@item Tell me what happened to Y. -@item Tell me about security. -@item Tell me about performance. -@item Tell me about compliance. -@item Where are the resource problems? -@item Where is the greatest/least activity? -@item How much spare capacity do I have? -@item Where are things changing fastest? - -@item When do I need to think about X? -@item What do I need to know about X? -@item What are the most important things that happened? - -@item Why is this here? -@item What can I do about X? -@item Who changed X last? -@item When can I expect X? -@item Where can I find X? -@item What things affect X? -@item What promises have been made about X? -@item What stories lead to conclusion X? - -@end itemize - - - - - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_MenuDrivenConfig.texinfo b/docs/guides/SpecialTopic_MenuDrivenConfig.texinfo deleted file mode 100644 index 67991619f3..0000000000 --- a/docs/guides/SpecialTopic_MenuDrivenConfig.texinfo +++ /dev/null @@ -1,440 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-menus.info -@settitle Menu Driven Configuration -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Menu Driven Configuration -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Efficient organizations strive for simplicity and clockwork repetitive -procedures to extend and streamline their operations, but -over-simplification can lead to limitation and can get in the way of -progress. In this short guide, we consider how to use CFEngine's agile -framework to structure a simple menu-like approach to organizing -systems for predictable productivity. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - -@node Top, What is menu-driven configuration, (dir), (dir) -@top Menu Driven Configuration -@menu -* What is menu-driven configuration:: -* How do you create menus with CFEngine:: -* How do I select from menus:: -* How do I nest menus and make dependencies:: -* Strong and weak dependency:: -* How do I see what machines keep which promises:: -* Can I see a score-card of compliance:: -* Should I use menu driven configuration:: -@end menu - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is menu-driven configuration, How do you create menus with CFEngine, Top, Top -@unnumberedsec What is menu-driven configuration? - -@sp 1 -A menu is a list of simple choices. The purpose of a menu is to hide -the detailed breakdown of how those choices are implemented. A menu -item uses a single name to represent all the processes needed to bring -about the result. Naming things is an important aspect of knowledge -management. - -Menus work well as long as the choices you are presented with are -sufficient to cover your needs. If a menu is too short, it will force -you to choose sub-optimally, leading to an oversimplification of -your issues. This can lead to frustration and compromise. - -CFEngine does not force pre-determined menus onto you, rather it -allows you to make your own from building block operations. This -document explains how to simplify your interface to complex -configuration decisions by organizing it according to what amounts to -a number of context dependent menus -- i.e. menus that automatically -adapt to the environments in which they are run. - -@sp 1 -@cartouche -Once menus have been defined, they can be presented simply in any kind of -interface, including custom graphical user interfaces. -@end cartouche -@sp 1 - -@node How do you create menus with CFEngine, How do I select from menus, What is menu-driven configuration, Top -@unnumberedsec How do you create menus with CFEngine? - -@sp 1 - -A menu is a list of delegated methods. To create a menu, you need to -be able to name complex methods. CFEngine does this by grouping -promises into @i{bundles}. You must then present these bundles in some -kind of list for different machines in your environement to select -from. CFEngine has two mechanisms for presenting a bundle of lists. - -@itemize -@item The first approach is to use the @code{bundlesequence} as your menu. This is the master -execution list that CFEngine uses to process work. You `choose' promise bundles there by -commenting out the ones you don't want to use: - -@verbatim -body common control -{ -bundlesequence => { - "common_stuff", -# "change_management", -# "garbage_collection", -# "harden_xinetd", -# "my_firewall", - "php_apache", -# "j_def", "jboss_account", "jboss_server", -# "ruby_on_rails", -# "tomcat_server", -# "db_mysql", -# "db_postgresql", - }; -} -@end verbatim - -@noindent The advantage of the bundlesequence is that it provides a @i{definite ordering} of -the bundles. In the example above, the order doesn't matter much. The -disadvantage of this bundlesequence is that it is hard to adapt it to -more than one environment -- it is like a `set taster menu'. Every -machine using this configuration will get what it's given. That is too -heavy-handed for more sophisticated environments. - -@item The second approach is to use @code{methods} promises to embed bundles in a master-bundle, -in the manner of subroutines. - -@verbatim -body common control -{ -bundlesequence => { - "common_stuff", - "main", - }; - -} - -bundle agent main -{ -methods: - - context1:: # Menu for context 1 - "course2" usebundle => php_apache; - - context2:: # Menu for context 2 - "course2" usebundle => j_def; - "course2" usebundle => jboss_account; - "course2" usebundle => jboss_server; - - any:: # Menu items for everyone - "course1" usebundle => changemanagement; - -} -@end verbatim -@noindent In this example, we've just pointed the master bundlesequence to a `main' subroutine -(like in a C program) and we list the bundles we want to combine into menus in order, in different -contexts. So in context 1, machines see a PHP menu; in context 2, they see a Java menu. Both of them -get a common `dessert' of change management. - -This `method' approach makes light work of adaptation, but while the -order is preserved in most cases, you cannot guarantee that CFEngine -will execute the bundles in the written order, because other -`transaction constraints' (including CFEngine's convergent algorithms) -can interfere. In many cases ordering is less important than we have been taught to -think, but if you truly need strong ordering then there are mechanisms to ensure -the strict order of keeping promises. -@end itemize - - -@node How do I select from menus, How do I nest menus and make dependencies, How do you create menus with CFEngine, Top -@unnumberedsec How do I select from menus? - -Because CFEngine is a distributed system, every machine running -CFEngine can make its own choices. You can suggest a menu for -different classes of machines, that operate in different contexts. - -A machine selects a menu choice by virtue of being in a context that -has been defined. For instance, you might make separate menu choices based -on operating system: - -@verbatim -bundle agent main -{ -methods: - - ubuntu:: # Menu for context 1 - "course2" usebundle => php_apache; - - solaris:: # Menu for context 2 - "course2" usebundle => j_def; - "course2" usebundle => jboss_account; - "course2" usebundle => jboss_server; - - any:: # Menu items for everyone - "course1" usebundle => changemanagement; - -} -@end verbatim - -@noindent Alternatively, you might choose based on other context information, such -as the time of day, or membership in some abstract group: - -@verbatim -bundle agent main -{ -methods: - - Hr16.Min45:: # Menu for context 1 - "course2" usebundle => backup_system; - - mygroup:: # Menu for context 2 - "course2" usebundle => attach_storage_devices; - -} -@end verbatim - -The expressions like @samp{Hr16.Min45} are called `class expressions' -because they classify different contexts or scenarios, and CFEngine -knows how to keep promises only in the correct context. This is how -you select from a menu -- by correctly identifying the context a -system belongs to and describing the menu of promise-bundles that apply to it. - -@node How do I nest menus and make dependencies, Strong and weak dependency, How do I select from menus, Top -@unnumberedsec How do I nest menus and make dependencies? - -@sp 1 -Recursion is the term used to express a hierarchy of levels of description. -When a promise depends on something else, which in turn depends on a third -promise being kept, we say that there is nesting or recursion. - -A dependency (something we depend on to keep a promise) is often used as -a strategy for hiding detail. You push details into `black boxes' on which -you depend, and in doing so simpify the view for yourself. This is the menu -idea once again. So when you pick a menu item in the restaurant, the kitchen -breaks down your choice into a sub-menu of promises required to deliver your -selection, and so on down the chain. - -CFEngine allows bundles of promises to depend on other promises by -writing those promises inside the bundles. A bundle can even rely on -bundles of promises by using the @code{methods} approach -recursively. So, for example you could make a general menu choice -`setup_server', which depends on bundles `setup_general' -and `setup_solaris' and `setup_linux'. - -@verbatim -bundle agent main -{ -methods: # bulk dependency by bundle - linux:: - "linux machines" usebundle => setup_linux; - solaris:: - "sun machines" usebundle => setup_solaris; - any:: - "all" usebundle => setup_general; - -files: - # other promises -} - -# - -bundle agent setup_general -{ -commands: # Dependenc on individual promise - Hr06:: - "/usr/local/bin/do_backup" - comment => "Command dependence"; -} - -bundle agent setup_linux -{ -packages: - ubuntu:: # Dependence on software - "apache2" - package_policy => "add", - package_method => "yum"; - -} - -# other bundles ... -@end verbatim - -Notice how each `menu level' simplifies the appearance of the problem by -hiding details in the lower levels. This is the way you make components -in systems and delegate responsibility for different tasks to different -bundle maintainers. - - -@node Strong and weak dependency, How do I see what machines keep which promises, How do I nest menus and make dependencies, Top -@unnumberedsec Strong and weak dependency - -@sp 1 - -Weak dependency means that you `outsource' tasks that you will -eventually make use of, i.e. you depend on the outcomes but you don't -have to wait for the result. This kind of dependence brings -flexibility and allows delegation. - -Strong dependency means that you are completely dependent on getting the -result from somewhere else before you can continue. This kind of -dependence creates fragile or `brittle' systems. If part of the system -breaks, then everything breaks. It leads to `single points of failure'. - -We recommend avoiding strong dependency when designing systems. Whenever -possible, a system should survive the temporary loss of a part, and -should continue in a sensible and predictable manner. - - -@node How do I see what machines keep which promises, Can I see a score-card of compliance, Strong and weak dependency, Top -@unnumberedsec How do I see what machines keep which promises? - -@sp 1 -Once you have arranged your system promises in nested bundles to handle all of the -dependences, you no longer have a complete overview of the system. This is the challenge -of menu hierarchies -- hierarchy simplifies for individuals by offloading -responsibility, but it makes it harder for anyone to get a total overview. - -To get back to the total overview, you can use CFEngine's Knowledge Map. - -@image{knowledge_bundle,15cm} - -The knowledge map renders all of the relationships between promises as -a lexicon and visual map. It allows you to see the total set of -promises and bundles either as a generic flat network, or as a -hierarchy. It also allows you to search for issues within the -total network. The knowledge map puts back what the hierarchy -takes away, by allowing you to construct your own view of the system. - -If there are dependences they may be seen as a graphical representation -of issues. The lower image in this figure shows the direct dependences -of the `grant_reports' promises, i.e. all those that might be affected -by a change, and all those on which this promise depends. - -@image{impact,15cm} - - -@node Can I see a score-card of compliance, Should I use menu driven configuration, How do I see what machines keep which promises, Top -@unnumberedsec Can I see a score-card of compliance? - -@sp 1 -One reason people make lists is to be able to tick off the -menu items to know when a job is complete. CFEngine allows -you to measure whether all of the menu-promises have been -kept, by viewing reports tied into the knowledge map. - -There is one crucial difference between system configuration -and menus at a restaurant though: the order of the items in -the menu does not always have to be preserved, and in fact it is very -inefficient to use the menu as a strictly ordered list. -Computer configuration can benefit greatly from parallel execution, -and CFEngine is designed to parallelize tasks for greater efficiency. - -@cartouche -We advise against designing systems that base their outcome on a -strict ordering of promises. Although traditional programming methods -teach us to think in terms of imperative ordering, you will succeed -more effectively if you avoid it. -@end cartouche - - -@node Should I use menu driven configuration, , Can I see a score-card of compliance, Top -@unnumberedsec Should I use menu driven configuration? - -@sp 1 -A menu driven approach is a good way of modelling a complex -environment, with delegation. It is a form of knowledge management. -It allows you to view your system through a kind of compliance -scorecard. - -The idea of nesting layers of menus is similar to what has been -advocated by Object Oriented programming languages for several -years. However, OO also shows how you can go too far in creating deep -and complex hierarchies that become impossible to understand. If you -create too many levels, you invite inefficiency and complexity. - -We recommend keeping system organization simple, and avoiding -dependence whenever it does not provide a compelling and tangible -benefit. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_MissionCritical.texinfo b/docs/guides/SpecialTopic_MissionCritical.texinfo deleted file mode 100644 index 683d6d6358..0000000000 --- a/docs/guides/SpecialTopic_MissionCritical.texinfo +++ /dev/null @@ -1,804 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-critical.info -@settitle CFEngine for Mission Critical Operations -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine for Mission Critical Operations (draft) -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -As IT services dominate the operations of an increasing number of industries, -many companies now view all online services as mission critical. Today, mission critical -no longer just means the protection of human lives, but the protection of crucial -operational assets. - -By making a fully redundant architecture for information -updates, it is possible to make reliable promises about availability -of status information. Users get reliable and predictable insight, -with fault recovery times of only a few minutes in case of failure -- -something that cannot easily be matched by push-based centralization. - -This guide explains how to set up redundant hub availability for a single Nova -star network. -@end quotation -@end cartouche - -@vskip 2cm - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - -@node Top, What are Mission Critical Operations?, (dir), (dir) -@top CFEngine for Mission Critical Operations -@menu -* What are Mission Critical Operations?:: -* Factors affecting Risk:: -* Model-based planning for stability:: -* Key terminology for Mission Critical Systems:: -* Strategy for Mission Critical Operations:: -* How CFEngine contributes to reducing mission risks:: -* High availability access to the Mission Portal:: -* Redundant hub architecture:: -* How do I make a change in mission-critical infrastructure?:: -* Separating Policy Changes from ad-hoc Changes:: -* Appendix 1:: -* Appendix 2:: -@end menu - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What are Mission Critical Operations?, Factors affecting Risk, Top, Top -@unnumberedsec What are Mission Critical Operations? -@sp 1 - -Mission Critical operation refers to the use and management of systems -where the availability and correctness of a system has to be ensured -at all times. A mission is said to be critical when any noticable -failure in the system would cause a signifiant loss to some -stakeholder. - -Risk for mission critical systems deals with issues like monetary -losses (e.g. in time critical trading applications) or, in the worst -case, even the loss of human life (transport systems). - -What makes a system robust in a mission critical setting depends on a -number of factors. This Special Topics Guide discusses the role of -CFEngine in a mission critical environment. - -@node Factors affecting Risk, Model-based planning for stability, What are Mission Critical Operations?, Top -@unnumberedsec Factors affecting Risk -@sp 1 - -Risk is about predictability. The ability to predict the behaviour of -a system depends both on the complexity of the system itself and the -environment around it, since interaction with the environment is what -usually provokes failures (the environment is the most unpredictable -element of any system, since it is the part over which we have little -control). - -The cost of predicting and avoiding failures can be prohibitive in a -purely manual regime but automated systems can do a lot to reduce -costs. CFEngine can play a key role here in reducing the cost of -maintaining system state, even in a rapidly changing environment. - -@sp 1 -@itemize -@item Planning for eventualities. -@item Verifying system correctness with sufficient frequency. -@end itemize -@sp 1 - -@cartouche -The key observation for dealing with mission criticality is that -systems are dynamical entities. Most software systems only manage -the static setup of hosts. CFEngine manages both the static -resources and the run-time state. -@end cartouche - -@node Model-based planning for stability, Key terminology for Mission Critical Systems, Factors affecting Risk, Top -@unnumberedsec Model-based planning for stability -@sp 1 - -The key to handling mission criticality is to build a model of your -critical scenario that is based on a prediction of behaviour. In -science and engineering, this is something one does all the time -(e.g. wind-tunnel studies), but in Computer Engineering, the methods -of modelling are still quite undeveloped. -In the nuclear power industry and space programmes, for instance, -it is common to use formalized fault-analysis to avoid and secure -against error. - -The purpose of a model is to describe expectations. If a model is -sufficiently well conceived, it should be possible to identify key -causal factors in the mission that bring about critical behaviour. - -@sp 1 -@cartouche -CFEngine's methodology is based on the idea of promises: a promise -being something that aims to alter our expectations of outcome in a -postive way. -@end cartouche -@sp 1 - -In CFEngine, you make promises about the factors that underpin the -stability of your system, and CFEngine's task is to work on your -behalf to keep those promises. Promises cannot be guaranteed `kept' at -all times, especially in time-critical situations (such a guarantee -would require infinite resources to maintain), but a known schedule of -verification and repair allows us to bring a level of predictability -to a system, within certain tolerances. This is a best-effort engineering -definition of predictability. - -Examples of promises that you might want to include in a -foundation for a mission critical system are things that -bring trusted stability, e.g. -@itemize -@item Check that key processes and applications are running. -@item Automated garbage collection that prevents a system from -choking on its own biproducts. -@item Scan for rootkits (security breaches) every few hours. -@end itemize - -The economic aspect of mission criticality is key: the -loss of a key application or subsystem for even a minute could result -in loss of significant revenues in an online company, or the loss -of flight systems for a few seconds could result in a plane losing -control and crashing. - - -@node Key terminology for Mission Critical Systems, Strategy for Mission Critical Operations, Model-based planning for stability, Top -@unnumberedsec Key terminology for Mission Critical Systems -@sp 1 - - -@table @i - -@item Mean Time Before Failure (MTBF) -The average measured time between faults occurring on a system. -Although this is a well established measurement in the theory of -faults and errors, estimating this quantity is not without its challenges. - - -@item Mean Time To Repair (MTTR) -The average time it takes to repair a system after a failure has occurred. -The type or meaning of repairs is not specified. - -@item Sampling frequency -The rate at which we interact with the system in order to measure or -repair it. According to Nyquist's theorem, we have to sample a system -twice as fast as the rate at which we expect to detect an important change. - -@item Single point of failure -Any point in the design of a system that would lead to complete -failure if destroyed. There might be several `single points of failure' -in a system. Single refers to the fact that it only takes the failure -of one of these to cause the total breakdown of the system. -For example, the axel, or a tyre on a car would be examples of single points -of failure for the `driving system'. - -@end table - - - - -@node Strategy for Mission Critical Operations, How CFEngine contributes to reducing mission risks, Key terminology for Mission Critical Systems, Top -@unnumberedsec Strategy for Mission Critical Operations -@sp 1 - -There are many aspects to thinking about complete reliability of systems. - -@cartouche -The main goal of any system is to seek predictability. Having clear -and accurate expectations of a system helps to steer it in a low-risk direction. -@end cartouche - -@noindent Usually these fall into a mixture of two categories: - -@table @i - -@item Redundancy -Elimination of `single points of failure' when failure strikes. -@item Avoidance -Proactive maintainence to keep the system in a zone of low risk. -@item Certainty of knowledge -Knowing accurately what is going in a system can enable correct decisions -to be made more quickly when something unexpected happens. -@end table - -@noindent It is impossible to discuss a comprehensive list of points for ensuring -reliability, but a few general principles come to mind: -@itemize -@item Maximize Mean Time Before Failure -@item Minimize Mean Time To Repair -@item Maximize the relevance of information from the system -to mission goals. -@item Separate procedures for handling change into those for intended change (planned changes to the mission) and unintended change (changes that should not happen in an ideal world), falling into two cases: expected (for which we have written policy to repair) and unexpected (incidents that are handled manually). - -@item Certainty about information returned by the system, with multiple confirmation. - -@item Graceful failure modes: failover servers, backups, automatic elasticity (e.g. cloud technology) - -@item Peak load handling. (Also called Long Tail events.) - - -@item Design for self-correction (negative feedback controllers). -This includes, low-impact of management overhead on the mission system to avoid -cascade failure. - -@end itemize - - - - - -@node How CFEngine contributes to reducing mission risks, High availability access to the Mission Portal, Strategy for Mission Critical Operations, Top -@unnumberedsec How CFEngine contributes to reducing mission risks -@sp 1 - -@itemize -@item Automated monitoring and repair according to a policy model. - -@item Providing up to date knowledge about the system - -@item Automatic restoration of compliance with policy, with MTTR 2.5 minutes by default. - -@item Accuracy of knowledge: all data include running estimates of the certainty -of the data. - -@item Automatic updates of statistics about the system, with continuous updating -for accurate and up to date information with context - -@item Independence of infrastructure dependencies (network/cmdb) -CFengine will continue to work even if the network communications -are impaired. - -@end itemize - - -@node High availability access to the Mission Portal, Redundant hub architecture, How CFEngine contributes to reducing mission risks, Top -@unnumberedsec High availability access to the Mission Portal -@sp 1 - -CFEngine is designed to be a system that is resilient to failure. -That, in fact, is the opposite of a high availability system, -where failures are not supposed to occur at all. - -The Mission Portal has a role to play in Mission Criticality, -as it is a single source of information, collected, -categorized and calibrated for system engineers. Being a single -source website, it is can also be regarded as a single point of -failure from the point of view of a mission critical application. - -@cartouche -The information in the mission portal is largely status information -about systems. The content of the Mission Portal database is not in -any way deterministic for the configured state of your IT system -- it -is only a report of actual state, not a template for intended state. If the Mission -Portal is `down' or unavailable, it does not in any way imply that the -actual distributed system is down or that there is any fault. -@end cartouche - - -@menu -* Setting up redundant monitoring hubs:: -@end menu - -@node Setting up redundant monitoring hubs, , High availability access to the Mission Portal, High availability access to the Mission Portal -@unnumberedsubsec Setting up redundant monitoring hubs - -If information and insight into your IT system are indeed Mission -Critical for you, it is possible to create a high availability access -to the mission information in the portal. -In general, we recommend a small amount of professional services to -help set up such a system, as there are several details that need to -be taken into account. - -The CFEngine star-network `hub' is the report aggregator for the CFEngine commercial edition (Nova/Enterprise). -CFEngine commercial editions support multiple hubs for redundancy -during reporting. By making a cluster of three (or more) hubs, you -can ensure that reports will always be available and up to date, at -the time-resolution promised by CFEngine. - -To set up redundant hubs, you will need three physical computers, or -at least three virtual machines on different physical computers. -The idea is to use the underlying technology of the MongoDB database -to provide a replicated data store. If a single database server goes down -a secondary replica can take over the role. The commercial editions -of CFEngine interface with this database through @code{cf-hub}, -and this process can be made aware of the underlying replica technology -in the database. The architecture is intended to be as simple as possible -for the CFEngine user to employ. - -@sp 1 -@itemize - -@item Install each of the three systems with the Nova extension package for -policy hubs. - -@item The MongoDB backend needs to be set up specially before standard bootstrapping -of nodes in an high availability managed network. Alternatively, if you have already bootstrapped -hosts, you can manually establish hub redundancy with a little database infrastructure work -and some additional CFEngine configuration. - -To do this, configure the Mongo database to set up a minimal replica set. This underlying -mechanism for automatic failover. For example, a configuration like the following should -be typed into the mongo client on one of the hub machines. Text like the following -example can be pasted directly into the mongo shell. - -@verbatim -host$ mongo - -db.runCommand({"replSetInitiate" : { -"_id" : "CFEngineNova", -"members" : [ -{ -"_id" : 1, -"host" : "10.10.10.1:27017" -}, -{ -"_id" : 2, -"host" : "10.10.10.2:27017" -}, -{ -"_id" : 3, -"host" : "10.10.10.3:27017" -} -]}}) - -@end verbatim - -To bootstrap the Mongo DB replication you should follow the procedure -from the @i{MongoDB Definitive Guide, O'Reilly}. An example is shown below, -assuming the three IP addresses for the hubs have IP addresses -10.10.10.1, 10.10.10.2, 10.10.10.2, we would arrange for the following -CFEngine pseudo-code to be executed before bootstrapping any of the -hubs: -@verbatim - -commands: - - 10_10_10_1:: - - /var/cfengine/bin/mongod --fork \ - --logpath /var/log/mongod.log \ - --dbpath $(sys.workdir)/state \ - --replSet CFEngineNova/10.10.10.2:27017 - - 10._10_10_2|10_10_10_3:: - - /var/cfengine/bin/mongod --fork \ - --logpath /var/log/mongod.log \ - --dbpath $(sys.workdir)/state \ - --replSet CFEngineNova/10.10.10.1:27017 - -@end verbatim -Although we write the above in CFEngine pseudo-code, these steps need to be -carried out before boostrapping hosts, as the Mongo services need to -be initialized before anything can be written to the database, and the -bootstrapping of the license initialization writes information to be -stored in Mongo. During a single hub installation, these steps -can be automated, but bootstrapping the replication prevents -a fully automated installation. - - -@item Copy the public and private key from the licensed hub, along with the -@file{license.dat} file to the secondary hubs. -All hubs will share the same public-private key pair and license file. - -@item Start the @code{cf-hub} on each of the three machines. - -@end itemize - -@sp 1 -Next, we'll run through the operation and failure modes of the symmetric hubs. -The arrangement of the hubs is shown schematically in the figure below. -@sp 1 -@center @image{redundhubs,9cm,,,png} -@sp 1 -@center Fig 1. Only one master hub at a time collects data in a symmetric cluster. -@sp 1 - -@node Redundant hub architecture, How do I make a change in mission-critical infrastructure?, High availability access to the Mission Portal, Top -@unnumberedsec Redundant hub architecture - -To set up redundancy, you create three hubs, each running a Mongo -database server and a @code{cf-hub} process will play the role of a -virtual cluster. All three hosts make promises to one another to -coordinate their data. The Mongo replica sub-system promises its own -coordination independently. We essentially make three completely -symmetrical hub hosts, with different IP addresses. - -@enumerate -@item Set up three completely symmetrical hosts, with identical public-private key pairs. -That is, generate a key pair only for one of the hubs and then copy those keys to -@file{/var/cfengine/ppkeys/localhost.pub} and @file{/var/cfengine/ppkeys/localhost.priv} -on the other two hosts. This must be done manually to bootstrap -the hub redundancy. - -@item The underlying Mongo database infrastructure binds together these hosts into a small cluster called a replica set. - - -A voting mechanism selects a `hub_master' from this set, which is going to be the active hub. - -@item Each host is configured to copy the public keys from all the -others, so that they all converge on the same set of keys. The -following snippet shows the main principles involved in a replica -setup. - -@verbatim -vars: - - "hub_hosts" slist => { "hub1", "hub2", "hub3" }; - -files: - - am_policy_hub:: - - "$(sys.workdir)/ppkeys" - comment => "All hubs converge knowledge of client keys", - copy_from => secure_cp("$(sys.workdir)/ppkeys","$(hub_hosts)"), - depth_search => recurse("inf"); - -@end verbatim - -@item For optimization we set up a policy that rewrites the IP address in @file{policy_server.dat}, -to point existing clients away from a hub that is no longer responding, to the current master -or primary. Clients will initially pick up these changes by failing over, as in the previous point. - -@verbatim -files: - - am_hub_master:: - - "$(sys.workdir)/policy_server.dat" - comment => "Point clients to the current hub master", - edit_line => append_if_no_line("$(sys.hub_master)") - edit_defaults => empty; - -@end verbatim - - -@item To make the redundany hubs double as redundant policy servers, we make sure that -the copying of policy in @file{update.cf} uses the replicas as failover servers -for policy updates. This means that changes to policy should always be copied to -@file{/var/cfengine/masterfiles} on all three hub hosts. - -@verbatim -body copy_from update_copy -{ -... -servers => { $(sys.policy_server), "hub3", "hub2", "hub1" }; -... -} -@end verbatim -The policy server variable will point to one of these hubs. If a hub -host, doubling in its role as policy server, fails for some reason, -the clients will all fail over to the next hub, and updates will -continue. By the time this happens, we can expect the main policy will have been -adjusted by the edit in the previous point, and clients will be pointed to a new -primary. It does not matter that hosts appear twice in the list; we -could, for instance place @code{hub1} last in the list if we assume -that hub1 is the initial primary, so as to minimize the wait due to a -double-failover. - - -@end enumerate - -@sp 1 -@cartouche -With this configuration, all the hubs promise to synchronize their keys, -and share `last seen' client host data with each other in order to symmetrize. -However, only one of the hubs actually collected reports from the clients. -This is the host that is elected by the MongoDB replica-set vote. -@end cartouche -@sp 1 - -With the approach taken above we can be sure that data are being collected redundantly -without duplication of network overhead. - -Note that the standard Nova configuration files contains example -configurations for the replica set configuration. Integrating all the -settings can require extensive modifications, as mentioned above. - - -@menu -* Features of hub/policy server redundancy:: -* Variables and classes for hubs:: -@end menu - -@node Features of hub/policy server redundancy, Variables and classes for hubs, Redundant hub architecture, Redundant hub architecture -@unnumberedsubsec Features of hub/policy server redundancy - -The Nova starburst hub configuration supports the following properties: -@itemize -@item Redundant availability of policy changes, with automatic failover. -@item Redundant responsibility for report collection from managed hosts, with automatic reassignment of hub master. -@item Redundant availability for the Mission Portal console, with about 15 second changeover. -@item Fault tolerance of all parts of CFEngine to complete network failure. -@end itemize - -@node Variables and classes for hubs, , Features of hub/policy server redundancy, Redundant hub architecture -@unnumberedsubsec Variables and classes for hubs - -CFEngine Nova/Enterprise supports special classes to help write policy -for managing the hub infrastructure. -@verbatim - -am_policy_hub -am_hub_master - -@end verbatim - -The variable @samp{$(sys.hubmaster)} is also available @i{on hosts that are -hubs}, and points to that host currently voted into the role of hub master. - -@sp 1 - -@cartouche -Setting up redundant hubs might be best done with some professional -service assistance. Although it is quite simple, it changes the -bootstrapping procedure in the beginning of a Nova/Enterprise -deployment. -@end cartouche - - -@node How do I make a change in mission-critical infrastructure?, Separating Policy Changes from ad-hoc Changes, Redundant hub architecture, Top -@unnumberedsec How do I make a change in mission-critical infrastructure? -@sp 1 - -To make changes in a mission critical environment, you publish a fully -tested, risk-assessed policy to @file{/var/cfengine/masterfiles} on -all three of the hubs in the cluster. The policy on all hubs should be -the synchronized. It might be worth setting up a promise to verify -that the contents of these directories are the same between all hubs, -since unsychronized policies could cause serious issues. - -@verbatim -vars: - - "hubs" slist => { "hub1", "hub2", "hub3" }; - -files: - - "$(sys.workdir)/masterfiles" - - copy_from => secure_cp("$(sys.workdir)/masterfiles","$(hubs)"), - action => warn; - -@end verbatim - -All changes to a mission critical system should be classified -according to the level of risk to the mission. Changes fall into -different categories. - -@itemize -@item Regular routine maintenance to the system (preplanned). -@item Course or goal corrections to policy (replanned). -@item Unforeseen repairs (unplanned). -@end itemize - -In each case, we recommend that changes be made using CFEngine's -hands-free automation. Humans should never be the instruments of -change. By using CFEngine, you can get a documented and predictable -handle on change, using technology designed for stability with agility. - -CFEngine has the ability to change entire systems of thousands of -hosts within a timeframe of 5 to 10 minutes. - -@node Separating Policy Changes from ad-hoc Changes, Appendix 1, How do I make a change in mission-critical infrastructure?, Top -@unnumberedsec Separating Policy Changes from @i{ad-hoc} Changes -@sp 1 - -In mission critical environments, there are often struct processes for -approving change. Unintelligently applied, such rules can do more harm -than good -- i.e. when the process for approving changes causes -greater risk to the survival of the mission than not acting at all does. It -is important to separate changes into categories that allow the -minimization of risk. If we take the categories in the previous -section: - -@table @i -@item Regular routine maintenance to the system (preplanned). -Changes here have alredy gone through risk assessment, and root cause has been -deemed understood or irrelevant. These changes should be automated and implemented -in the minimum time. e.g. restarting a web server that crashed or was stopped accidentally. - -@item Course or goal corrections to policy (replanned). -This is a change in the mission plan and requires significant impact analysis -for each change. Although many businesses are concerned about liabilities, the -real aim of this analysis is to mitigate loss. - -@item Unforeseen repairs (unplanned). -These changes are usually discovered and repaired manually. Once some kind -of root cause analysis is performed to the required level, there should be -an analysis of how to automate the prevention of this kind of change in the -future. - -@end table - - -@sp 2 -@cartouche - -This is a partially finished Special Topics Guide, in which additional material -can be expected at a later date. It is made available in its current -form for your convenience. - -@end cartouche - - -@page -@node Appendix 1, Appendix 2, Separating Policy Changes from ad-hoc Changes, Top -@unnumberedsec Appendix MongoDB access from the command line. - - - - -@cartouche -@b{Using more than one hub at a time}: -If you want to be able to perform queries on any one of the redundant -hosts, not only the master, then it's necessary to set a flag on each -of the running mongo servers (master and slave): -@verbatim -host$ mongo - -rs.slaveOk(); -@end verbatim -This ensures that updates are synchonrized for querying. -e.g. In this example we see the first query fail, and the second -succeed after setting the flag: -@verbatim -CFEngineNova:SECONDARY> use cfreport -switched to db cfreport - -CFEngineNova:SECONDARY> db.notebook.find(); -error: { "$err" : "not master and slaveok=false", "code" : 13435 } - -CFEngineNova:SECONDARY> db.notebook.find(); -CFEngineNova:SECONDARY> rs.slaveOk(); -not master and slaveok=false -CFEngineNova:SECONDARY> db.notebook.find(); -{ "_id" : ObjectId("4e5cd788d5d6b92c00000000"), -"_kh" : "SHA=9e9ad21d192fa...1635", -"_rD" : "0 : 10.10.160.115", "_t" : 1, "n" : [ - { - "u" : "admin", - "m" : "This machine is a web server", - "d" : 319944880 - } -] } - -@end verbatim -@end cartouche - - - -@page -@node Appendix 2, , Appendix 1, Top -@unnumberedsec Appendix Shutting down Mongo with replication - - -Anytime you shutdown mongo, it will automatically failover. You can~t -specifically tell which node to become primary, but you can use -replFreeze and replSetStepDown to alter which is eligible to become -primary (small difference). - -Basically we would freeze a node from becoming primary, then tell the -primary to step down, which leaves only one node (see -@url{http://www.mongodb.org/display/DOCS/Forcing+a+Member+to+be+Primary} for -a good explanation). - -However, failover is the easy part. The other half to the action is -that all client will receive a new policy_server.dat based on the new -primary. This will create quite a flux in the system for a bit as it -reconfigure. This will take 10-20 minutes for everyone to stabilize. I -would reserve a full failover for when the primary will be down for an -extended period of time. - -Since the outages you have are fairly quick, I would just shutdown -mongo/cfengine (or freeze) the secondaries to prevent a -failover. Shutting them down would prevent all client from getting new -files, but that shouldn~t be an issue. - -If you freeze the secondaries, and leave CFE runnning, the clients -will update from the secondaries (they will get a license error). - -To freeze the secondaries: - -On any node: -@verbatim -# mongo -host `IP OF THE SECONDARY' # or login to the node and run plain ´mongo¡. -> rs.status() # this will show the status of the replicaSet -> rs.freeze(seconds) # how many seconds before the host can become primary. -> exit -@end verbatim - -Set the freeze for several hours (for four hours - -@samp{rs.freeze(14400)}). Then shutdown cfengine on the primary as normal -(@code{/etc/init.d/cfengine3 stop}). When you are done with the change, bring -up cfengine (@code{cf-agent -f failsafe.cf}), then set the freeze time for 0 -seconds to unfreeze it (@samp{rs.freeze(0)}). - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Modules.texinfo b/docs/guides/SpecialTopic_Modules.texinfo deleted file mode 100644 index 29446e3692..0000000000 --- a/docs/guides/SpecialTopic_Modules.texinfo +++ /dev/null @@ -1,1774 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-orchestrate.info -@settitle Modularizing and Orchestrating System Policy -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Modularizing and Orchestrating System Policy -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine is a descriptive framework for promising system state. It has -a language interface and a graphical interface, and supports a number -of levels of expression and abstraction. - -Ordering of operations is less important than you probably think. We -are taught to think of computing as an linear sequence of steps, but -this ignores a crucial fact about distributed systems: that many parts -are independent of each other and exist in parallel. Nevertheless -there are cases of strong inter-dependency where order and modularity -are important. - -This guide explains the many freedoms within CFEngine's Promise Model -for modularizing, ordering and making black, grey and white boxes. This allows us to -retain all of the important advantages of promises (autonomy, -convergence, atomicity etc) that lead to scalable predictability in -huge networks. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What is modularity?, (dir), (dir) -@top Orchestration - -@menu -* What is modularity?:: -* What is orchestration?:: -* How does CFEngine deal with modularity and orchestration?:: -* Levels of policy abstraction:: -* Is CFEngine patch or package oriented?:: -* High level services in CFEngine:: -* Hiding details:: -* Black grey and white box encapsulation in CFEngine:: -* Bulk operations are handled by repeating patterns over lists:: -* Ordering operations in CFEngine:: -* Bundle ordering:: -* Overriding order:: -* Distributed Orchestration between hosts with CFEngine Enterprise:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is modularity?, What is orchestration?, Top, Top -@unnumberedsec What is modularity? - -@sp 1 -Modularity is the ability to separate concerns within a total process, and hide -the details of the different concerns in different containers. In CFEngine, this is a -@i{service oriented view}, in which different aspects of a problem are -separated and turned into generic components that offer a service. We -often talk about black boxes, grey boxes or white boxes depending on -the extent to which the user of a service can see the details within -the containers. - -@node What is orchestration?, How does CFEngine deal with modularity and orchestration?, What is modularity?, Top -@unnumberedsec What is orchestration? - -@sp 1 -Orchestration is the ability to coordinate many different processes in -time and space, around a system, so that the sum of those processes -yields a harmonious result through cooperation. - -Orchestration is not about centralized control, though this is common -misperception. An orchestra does not manage to play a symphony -because the conductor pulls every player's strings or blows every -trumpet in person, but rather because each @i{autonomous} player has a -copy of the script, knows what to do, and can use just the little -additional information from the conductor to access a viewpoint that -is not available to an individual. An orchestra is a weakly coupled -expert system in which the management (conductor) provides a service -to the players. - -CFEngine works like an orchestra -- this is why is scales so well. -Each computer is an autonomous entity, getting its script and a few -occasional pieces of information from the policy server (conductor). -The coupling between the agents is weak -- there is slack that makes -the behaviour robust to minor errors in communication or timing. - -@node How does CFEngine deal with modularity and orchestration?, Levels of policy abstraction, What is orchestration?, Top -@unnumberedsec How does CFEngine deal with modularity and orchestration? - -Promise Theory provides simple principles for hiding details: agents are -considered to reveal a kind of @i{service interface} to peers, that is -advertised by making a promise to someone. We assume an agent exerts -best effort in keeping its promises. Orchestration requires a promise -to coordinate and the promise to use that coordination service. -These basic ideas are built into CFEngine. - -CFEngine provides containers called @i{bundles} for creating modular -parts. Bundles can be independent (and therefore parallelizable) -or they can be dependent (in which case the sequence in which they -verify their promises matters). - -In a computer centre with many different machines, there is an -additional dimension to orchestration -- multiple orchestras. Each -machine has a number of resources that need to be orchestrated, and -the different machines themselves might also need to cooperate because -they provide services to one another. The principles are the same in -both cases, but the confusion between them is typically the reason why -large systems do not scale well. - -@node Levels of policy abstraction, Is CFEngine patch or package oriented?, How does CFEngine deal with modularity and orchestration?, Top -@unnumberedsec Levels of policy abstraction - -CFEngine offers a number of layers of abstraction. The most fundamental atom -in CFEngine is the promise. Promises can be made about many system issues, -and you described in what context promises are to be kept. - -@table @i -@item Menu level -At this high level, a user `selects' from a set of pre-defined `services' (or bundles in CFEngine parlance). -In commercial editions, users may view the set of services as a Service Catalogue, from which each -host selects its roles. The selection is not made by every host, rather one places hosts into roles that -will keep certain promises, just as different voices in an orchestra are assigned certain parts to play. - -@cartouche -@smallexample -bundle agent service_catalogue # menu -@{ -methods: - any:: # selected by everyone - "everyone" usebundle => @b{time_management}, - comment => "Ensure clocks are synchronized"; - "everyone" usebundle => garbage_collection, - comment => "Clear junk and rotate logs"; - - mailservers:: # selected by hosts in class - "mail server" -> @{ "goal_3", "goal_1", "goal_2" @} - usebundle => @b{app_mail_postfix}, - comment => "The mail delivery agent"; - "mail server" -> goal_3, - usebundle => @b{app_mail_imap}, - comment => "The mail reading service"; - "mail server" -> goal_3, - usebundle => @b{app_mail_mailman}, - comment => "The mailing list handler"; -@} -@end smallexample -@end cartouche - -The resulting menu of services can be browsed in the Mission Portal interface. -@float -@sp 1 -@center @image{service_catalogue,15cm,,iso,png} -@center A human-readable Service Catalogue generated from technical specifications -@center shows what goals are being attended to automatically -@sp 1 -@end float - - -@item Bundle level -At this level, users can switch on and off predefined features, or re-use -standard methods, e.g. for editing files: - -@cartouche -@verbatim -body common control -{ -bundlesequence => { - webserver("on"), - dns("on"), - security_set("on"), - ftp("off") - }; -} -@end verbatim -@end cartouche -The set of bundles that can be selected from is extensible by the user. - -@item Promise level -This is the most detailed level of configuration, and gives full -@i{convergent} promise behaviour to the user. At this promise level, -you can specificy every detail of promise-keeping behaviour, and -combine promises together, reusing bundles and methods from standard -libraries, or creating your own. - -@cartouche -@smallexample -bundle agent addpasswd -@{ -vars: - - # want to set these values by the names of their array keys - - "pwd[mark]" string => "mark:x:1000:100:Mark B:/home/mark:/bin/bash"; - "pwd[fred]" string => "fred:x:1001:100:Right Said:/home/fred:/bin/bash"; - "pwd[jane]" string => "jane:x:1002:100:Jane Doe:/home/jane:/bin/bash"; - -files: - - "/etc/passwd" # Use standard library functions - create => "true", - comment => "Ensure listed users are present", - perms => mog("644","root","root"), - edit_line => append_users_starting("addpasswd.pwd"); - -@} -@end smallexample -@end cartouche - -@item Spread-sheet level (data-driven) - -CFEngine commercial editions support a kind of spreadsheet. In a spreadsheet -approach, you create only the data to be inserted into predefined -promises. The data are entered in tabular form, and may be browsed in -the web interface. This form of entry is preferred in some -environments, especially on the Windows platform. - - -@end table - - - - -@node Is CFEngine patch or package oriented?, High level services in CFEngine, Levels of policy abstraction, Top -@unnumberedsec Is CFEngine patch-oriented or package-oriented? - -Some system management products are patching systems. They package lumps -of software and configuration along with scripts. If something goes wrong -they simply update or replace the package with a new one. This is a patching -model of system installation, but it is not a good model for repair as it nearly -always leads to interruption of service or even requires a reboot. - -Installation of packages overwrites too much data in one go to be an effective model -of simple repair@footnote{Sometimes it is desirable to reinstall an entire package, but normally this is only true -for software upgrades. CFEngine has an interface for working in concert with local -package managers (RPM,DEB,MSI, etc).}. It can be both ineffecient and destructive. CFEngine manages addressable -entities at the lowest possible level so that ultra-fine-grained repair can be -performed with no interruption of service, e.g. altering a field within a line in a file, -or restarting one process, or altering one bit of a flag in each file in a set of directories. -The power to express sophisticated patterns is what makes CFEngine's approach both -non-intrusive and robust. - -@node High level services in CFEngine, Hiding details, Is CFEngine patch or package oriented?, Top -@unnumberedsec High level services in CFEngine - -CFEngine is designed to handle high level simplicity (without -sacrificing low level capability) by working with configuration -@i{patterns}, after all configuration is all about promising -consistent patterns of system @i{state} in the resources of the -system. Lists, for instance, are a particularly common kind of -pattern: @i{for each of the following... make a similar promise}. -There are several ways to organize patterns, using containers, lists -and associative arrays. Let's look at how to configure a number of -application services. - - -At the simplest or highest level, we can turn services into "genes" -to switch on and off on your basic "stem cell" machines. - -@verbatim -body agent control -{ -bundlesequence => { - webserver("on"), - dns("on"), - security_set("on"), - ftp("off") - }; -} -@end verbatim - -This obviously looks simple, but this kind of simplicity is cheating -as we are hiding @i{all} the details of what is going to happen -- we -don't know if they are hard-coded, or whether we can decide -ourselves. Anyone can play that game! The true test is whether we can -retain the power to decide the low-level details without having to -program in a low level language like Ruby, Python or Perl. Let's peel -back some of the layers, knowing that we can hide as many of the -details as we like. - - -A simple, but low level approach to deploying a service, that veteran -users will recognize, is the following. This is a simple example of -orchestration between a promise to raise a signal about a missing process and -another promise to restart said process once its absence has been -discovered and signalled. - -@verbatim -bundle agent application_services -{ -processes: - - "sshd" restart_class => "start_ssh"; - "httpd" restart_class => "start_spache"; - -commands: - - start_ssh:: - "/etc/init.d/sshd restart"; - - start_apache:: - "/etc/init.d/apache restart"; - -} -@end verbatim - -But the first thing we see is that there is a repeated pattern, so we could -rewrite this as a single promise for a list of services, at the cost of a loss -of transparency. However, this is the power of abstraction. - -@page -@verbatim -bundle agent application_services -{ -vars: - - "service" slist => { "ssh", "apache", "mysql" }; - - # - # Apply the following promises to this list... - # - -services: - - "$(service)"; - -} -@end verbatim - -@node Hiding details, Black grey and white box encapsulation in CFEngine, High level services in CFEngine, Top -@unnumberedsec Hiding details - -Resource abstraction, or hiding system specific details inside a kind of -grey-box, is just another service as far as CFEngine is concerned -- and we -generally map services to bundles. - -Many system variables are discovered automatically by CFEngine and provided -"out of the box", e.g. the location of the filesystem table might be @code{/etc/fstab}, -or @code{/etc/vfstab} or even @code{/etc/filesystems}, but CFEngine allows you to -refer simply to @code{$(sys.fstab)}. Soft-coded abstraction needs cannot -be discovered by the system however. -So how do we create this mythical resource abstraction layer? It is -simple. Elsewhere we have defined basic settings. - -@page -@verbatim -bundle common res # abstraction layer -{ -vars: - - solaris:: - - "cfg_file[ssh]" string => "/etc/sshd_config"; - "daemon[ssh] " string => "sshd"; - "start[ssh] " string => "/etc/init.d/sshd restart"; - - linux.SuSE:: - - "cfg_file[ssh]" string => "/etc/ssh/sshd_config"; - "daemon[ssh] " string => "sshd"; - "start[ssh] " string => "/etc/init.d/sshd restart"; - - default:: - - "cfg_file[ssh]" string => "/etc/sshd_config"; - "daemon[ssh] " string => "sshd"; - "start[ssh] " string => "/etc/init.d/sshd restart"; - -classes: - - "default" and => { "!SuSE", "solaris" }; -} -@end verbatim - - -Some of the attempts to recreate a CFEngine-like tool try to hard code -many decisions, meaning that minor changes in operating system versions -require basic recoding of the software. CFEngine does not make decisions -for you without your permission. - - -@node Black grey and white box encapsulation in CFEngine, Bulk operations are handled by repeating patterns over lists, Hiding details, Top -@unnumberedsec Black, grey and white box encapsulation in CFEngine - -CFEngine's ability to abstract system decisions as promises also -applies to bundles of promises. After all, we can package promises -as bumper compendia for grouping together related matters in -a single package. Naturally, CFEngine never abandons its insistence -on convergence, merely for the sake of making things look -simple. Using CFEngine, you can create convergent orchestration. - -@verbatim -bundle agent services -{ -vars: - "service" slist => { "dhcp", "ntp", "sshd" }; -methods: - "any" usebundle => fix_service("$(service)"), - comment => "Make sure the basic application services are running"; -} -@end verbatim -The code above is all you really want to see. The rest can be hidden in libraries that -you rarely look at. In CFEngine, we want the intentions to shine forth and the -low level details to be clear on inspection, but hidden from view. - -We can naturally modularize the packaged bundle of fully convergent -promises and keep it as library code for reuse. Notice that -CFEngine adds comments in the code that follow processes through -execution, allowing you to see the full intentions behind the -promises in logs and error messages. In commercial versions, you can -trace these comments to see your process details. - -@verbatim -bundle agent fix_service(service) -{ -files: - - "$(res.cfg_file[$(service)])" - - # - # reserved_word => use std templates, e.g. cp(), p(), or roll your own - # - copy_from => cp("$(g.masterfiles)/$(service)","policy_host.mydomain"), - perms => p("0600","root","root"), - classes => define("$(service)_restart", "failed"), - comment => "Copy a stock configuration file template from repository"; - -processes: - - "$(res.daemon[$(service)])" - - restart_class => canonify("$(service)_restart"), - comment => "Check that the server process is running..."; - -commands: - - "$(res.start[$(service)])" - - comment => "Method for starting this service", - ifvarclass => canonify("$(service)_restart"); - -} - -@end verbatim - -@node Bulk operations are handled by repeating patterns over lists, Ordering operations in CFEngine, Black grey and white box encapsulation in CFEngine, Top -@unnumberedsec Bulk operations are handled by repeating patterns over lists - - -The power of CFEngine is to be able to handle lists of similar -patterns in a powerful way. You can also wrap the whole experience in -a method-bundle, and we can extend this kind of pattern to -implement other interfaces, all without low level programming. - -@page -@verbatim -# -# Remove certain services from xinetd - for system hardening -# - -bundle agent linux_harden_methods -{ -vars: - - "services" slist => { - "chargen", - "chargen-udp", - "cups-lpd", - "finger", - "rlogin", - "rsh", - "talk", - "telnet", - "tftp" - }; -methods: - - # - # for each $(services) in @(services) do disable_xinetd($(services)) - # - - "any" usebundle => disable_xinetd("$(services)"); -} -@end verbatim - - - -In the library of generic templates, we may keep one or more methods for implementing -service disablement. For example, this simple interface to Linux's @code{chkconfig} -is one approach, which need not be hard-coded in Ruby using Cfeninge. - -@verbatim -# -# For the standard library -# - -bundle agent disable_xinetd(name) -{ -vars: - "status" - - string => execresult("/sbin/chkconfig --list $(name)", "useshell"); - -classes: - "on" expression => regcmp(".*on","$(status)"); - "off" expression => regcmp(".*off","$(status)"); - -commands: - on:: - "/sbin/chkconfig $(name) off", - comment => "disable $(name) service"; - -reports: - on:: - "disable $(name) service."; - off:: - "$(name) has been already disabled. Don't need to perform the action."; - -} -@end verbatim - -@node Ordering operations in CFEngine, Bundle ordering, Bulk operations are handled by repeating patterns over lists, Top -@unnumberedsec Ordering operations in CFEngine - -Ordering of operations is less important than you probably -think. We are taught to think of computing as an linear sequence of -steps, but this ignores a crucial fact about distributed systems: that -many parts are independent of each other and exist in parallel. - -Nevertheless there are sometimes cases of strong inter-dependency -(that we strive to avoid, as they lead to most of the difficulties of -system management) where order @i{is} important. In re-designing -CFEngine, we have taken a pragmatic approach to ordering. Essentially, -CFEngine takes care of ordering for you for most cases -- and you can -override the order in three ways: - -@itemize -@item CFEngine checks promises of the same type in the order in which they are defined, unless overridden -@item Bulk ordering of composite promises (called bundles) is handled using an overall list using the bundlesequence (replaces the actionsequence in previous CFEngines) -@item Dependency coupling through dynamic classes, may be used to guarantee ordering in the few cases -where this is required, as in the example below: -@end itemize - -@node Bundle ordering, Overriding order, Ordering operations in CFEngine, Top -@unnumberedsec Bundle ordering - -There are two methods, working at different levels. -At the top-most level there is the master @code{bundlesequence} - -@sp 1 -@verbatim -body common control -{ -bundlesequence => { "bundle_one", "bundle_two", "bundle_three" }; -} -@end verbatim -@sp 1 -@noindent For simple cases this is good enough, but the main -purpose of the bundlesequence is to easily be able to switch on -or off bundles by commenting them out. - -A more flexible way of ordering bundles is to wrap the ordered process -in a master-bundle. Then you can create new sequences of bundles -(parameterized in more sophisticated ways) using @code{methods} -promises. Methods promises are simply promises to re-use bundles, -possibly with different parameters. - -The default behaviour is to retain the order of these promises; the effect -is to `execute' these bundles in the assumed order: -@sp 1 -@verbatim -bundle agent a_bundle_subsequence -{ -methods: - classes:: - "any" usebundle => bundle_one("something"); - "any" usebundle => bundle_two("something"); - "any" usebundle => bundle_three("something"); - -} -@end verbatim -@sp 1 -@noindent Alternatively, the same effect can be achieved as follows. -@sp 1 -@verbatim -bundle agent a_bundle_subsequence -{ -methods: - classes:: - "any" usebundle => generic_bundle("something","one"); - "any" usebundle => generic_bundle("something","two"); - "any" usebundle => generic_bundle("something","three"); - -} -@end verbatim -@sp 1 -@noindent Or ultimately: -@sp 1 -@verbatim -bundle agent a_bundle_subsequence -{ -vars: - "list" slist => { "one", "two", "three"}; - -methods: - classes:: - "any" usebundle => generic_bundle("something","$(list)"); - -} -@end verbatim - - -@page -@node Overriding order, Distributed Orchestration between hosts with CFEngine Enterprise, Bundle ordering, Top -@unnumberedsec Overriding order - -CFEngine is designed to handle non-deterministic events, such as -anomalies and unexpected changes to system state, so it needs to -adapt. For this, there is no deterministic solution and approximate -methods are required. Nevertheless, it is possible to make CFEngine -sort out dependent orderings, even when confounded by humans, as in -this example: - -@verbatim -bundle agent order - -{ -vars: - - "list" slist => { "three", "four" }; - -commands: - - ok_later:: - "/bin/echo five"; - - any:: - - "/bin/echo one" classes => define("ok_later"); - "/bin/echo two"; - "/bin/echo $(list)"; - -} - -@end verbatim - -@noindent The output of which becomes: -@verbatim -Q: ".../bin/echo one": one -Q: ".../bin/echo two": two -Q: ".../bin/echo three": three -Q: ".../bin/echo four": four -Q: ".../bin/echo five": five -@end verbatim - - - -@node Distributed Orchestration between hosts with CFEngine Enterprise, , Overriding order, Top -@unnumberedsec Distributed Orchestration between hosts with CFEngine Enterprise - -CFEngine Enterprise edition adds many powerful features to CFEngine, including -a decentralized approach to coordinating activities across multiple -hosts. Some tools try to approach this by centralizing data from the -network in a single location, but this has two problems: - -@itemize -@item It leads to a bottleneck by design that throttles performance seriously. -@item It relies on the network being available. -@end itemize - -With CFEngine Nova there are are both decentralized network approaches -to this problem, and probabilistic methods that do not require the network -at all. - -@menu -* Basic communication methods for orchestration:: -* Run job or reboot only if n out m systems are running:: -* The self-healing chain - inverse Dominoes:: -* A Domino sequence:: -* A Chinese Dragon:: -@end menu - -@node Basic communication methods for orchestration, Run job or reboot only if n out m systems are running, Distributed Orchestration between hosts with CFEngine Enterprise, Distributed Orchestration between hosts with CFEngine Enterprise -@unnumberedsubsec Basic communication methods for orchestration - -The two examples below illustrate the basic syntax constructions for -communication using systems. We can pass class data and variable data between -systems in a peer to peer fashion, or through an Enterprise hub. You can -run these with a server and an agent just on localhost to illustrate the -principles. - -In this first example, three persistent classes, with names following -a known pattern are defined on a remote system (by the agent). The -server bundle then grants access to these using an access -promise. Finally, a function call to @code{remoteclassesmatching} -imports the classes, with a prefix to the local system. - -@verbatim - -body common control -{ -bundlesequence => { "overture" }; -inputs => { "cfengine_stdlib.cf" }; -} - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1",}; -allowallconnects => { "127.0.0.1" , "::1", }; -trustkeysfrom => { "127.0.0.1" , "::1",}; -} - -####################################################### - -bundle agent overture -{ -classes: - "extended_context" - expression => remoteclassesmatching(".*did.*","127.0.0.1","yes","got"); - -files: - - "/etc/passwd" - create => "true", - classes => set_outcome_classes; - - -reports: - - got_did_task_one:: - "task 1 complete"; - - extended_context.got_did_task_two:: - "task 2 complete"; - - extended_context.got_did_task_three:: - "task 3 complete"; - -} - -body classes set_outcome_classes -{ -promise_kept => { "did_task_one","did_task_two", "did_task_three" }; -promise_repaired => { "did_task_one","did_task_two", "did_task_three" }; -#cancel_kept => { "did_task_one" }; -persist_time => "10"; -} - -bundle server access_rules() -{ -access: - - "did.*" - resource_type => "context", - admit => { "127.0.0.1" }; - -} - -@end verbatim -@noindent The output of this, on success is simply: -@smallexample - -R: task 1 complete -R: task 2 complete -R: task 3 complete - -@end smallexample - - -@noindent In this second example, we pass actual variable data between hosts. -The generic peer function @code{remotescalar} can address any other host -running @code{cf-serverd}. The abbreviated interface @code{hubknowledge} -assumes that it should get data from a hub. - -Both these functions ask for an identifier; it is up to the server to interpret -what this means and to return a value of its choosing. If the identifier matches -a persistent scalar variable (such as is used to count distributed processes in CFEngine -Enterprise) then this will be returned preferentially. If no such variable is found, -then the server will look for a literal string in a server bundle with a handle that -matches the requested object. - - - -@verbatim - -body common control -{ -bundlesequence => { "overture" }; -inputs => { "cfengine_stdlib.cf" }; -} - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1",}; -allowallconnects => { "127.0.0.1" , "::1", }; -trustkeysfrom => { "127.0.0.1" , "::1",}; -} - -####################################################### - -bundle agent overture -{ -vars: - - "remote" string => remotescalar("test_scalar","127.0.0.1","yes"); - - "know" string => hubknowledge("test_scalar"); - - "count_getty" string => hubknowledge("count_getty"); - -processes: - - # Use the enumerated library body to count hosts running getty - - "getty" - - comment => "Count this host if a job is matched", - classes => enumerate("count_getty"); - -reports: - - !elsewhere:: - - "GOT remote scalar $(remote)"; - "GOT knowedge scalar $(know)"; - "GOT persistent scalar $(xyz)"; - -} - -####################################################### - -bundle server access_rules() -{ -access: - - "value of my test_scalar, can expand variables here - $(sys.host)" - handle => "test_scalar", - comment => "Grant access to contents of test_scalar VAR", - resource_type => "literal", - admit => { "127.0.0.1" }; - - "XYZ" - resource_type => "variable", - handle => "XYZ", - admit => { "127.0.0.1" }; - -} -@end verbatim - -@noindent You can run this example on a single host, running the server, the agent and the hub (if you have Enterprise CFEngine). -The output will be something like this: -@smallexample - -host$ ./cf-agent -f ~/test.cf -K -R: GOT remote scalar value of my test_scalar, can expand variables here - cflu-10004 -R: GOT knowedge scalar value of my test_scalar, can expand variables here - cflu-10004 -R: GOT persistent scalar 1 - -@end smallexample - - - -@node Run job or reboot only if n out m systems are running, The self-healing chain - inverse Dominoes, Basic communication methods for orchestration, Distributed Orchestration between hosts with CFEngine Enterprise -@unnumberedsubsec Run job or reboot only if n out m systems are running - - -The ability to base local promises on global knowledge seems -superficially attractive in some cases. As a strategy this way of -thinking requires a lot of caution. We have to assume that all -knowledge gathered about an environment is subject to errors, -latencies and a dozen other uncertainties that make any snapshot of -remotely assessed current state subject to considerable healthy -suspicion. This is not a weakness of CFEngine -- in fact CFEngine has -mechanisms that make it as reliable as you are likely to find in any -technology -- rather it is a fundamental limitation of distributed -systems, and it is strongly dependent on the architectures you build. - -In the following example, we show how you can make certain decisions -based on global, uncertain knowledge, allowing for the fact that the -information is uncertain. In other words, we aim to err on the safe -side. In this case we ask how could we reboot systems after an upgrade -only if doing so would not jeopardize a Service Level Agreement to have -at least 20 machines running at all times. Since the globally -counted instances of a running process cannot be greater than the actual -number, this particular problem satisfies the constraint of erring -on the side of caution. - -@verbatim -############################################################ -# -# Keep a special promise only if at least n or m hosts -# keep a specific promise -# -# This method works with Enterprise CFEngine -# -# If you want to test this on localhost, just edit /etc/hosts -# to add host1 host2 host3 host4 as aliases to localhost -# -############################################################ - -body common control -{ -bundlesequence => { "n_of_m_symphony" }; -inputs => { "cfengine_stdlib.cf" }; -} - -############################################################ - -bundle agent n_of_m_symphony -{ -vars: - - "count_compliant_hosts" string => hubknowledge("running_myprocess"); - -classes: - - "reboot" expression => isgreaterthan("$(count_compliant_hosts)","20"); - -processes: - - "myprocess" - - comment => "Count this host if a job is matched", - classes => enumerate("running_myprocess"); - -commands: - - reboot:: - - "/bin/shutdown now"; -} - - -####################################################### - -bundle server access_rules() -{ -access: - - "value of my test_scalar, can expand variables here - $(sys.host)" - handle => "test_scalar", - comment => "Grant access to contents of test_scalar VAR", - resource_type => "literal", - admit => { "127.0.0.1" }; - - "running_myprocess" - resource_type => "variable", - admit => { "127.0.0.1" }; - -} - -@end verbatim - - - - - -@node The self-healing chain - inverse Dominoes, A Domino sequence, Run job or reboot only if n out m systems are running, Distributed Orchestration between hosts with CFEngine Enterprise -@unnumberedsubsec The self-healing chain - inverse Dominoes - - -A self-healing chain is the opposite of a dominoe event. If a part of -the chain is `down', it will be revived. If these events depend on one -another, then the resuscitation of this part which cause all of the -subsequent parts to be repaired too. - -Let's start with the more common case of the independently repairable -services, such as one might find in a multi-tier architecture: -database, web-servers, applications etc. - -The following example can be run on a multiple hosts or on a single -host, using the aliases described in the example. It illustrates -coordination through the use of CFEngine's @code{remoteclasses} -function in the Enterprise edition to get confirmation of the -self-healing structure. In fact, the verification of the self-healing -is optional if one trusts the underlying system. - -@verbatim -############################################################ -# -# The self-healing tower: Anti-Dominoes -# -# This method works with CFEngine Enterprise -# -# If you want to test this on localhost, just edit /etc/hosts -# to add host1 host2 host3 host4 as aliases to localhost -# -############################################################ - -body common control -{ -bundlesequence => { "weak_dependency_symphony" }; -inputs => { "cfengine_stdlib.cf" }; -} - -body server control -{ -allowconnects => { "127.0.0.1" , "::1", @(def.acl) }; -allowallconnects => { "127.0.0.1" , "::1", @(def.acl) }; -} - -############################################################ - -bundle agent weak_dependency_symphony -{ -methods: - - # We have to seed the beginning by creating the tower - # /tmp/tower_localhost - - host1:: - "tower" usebundle => tier1, - classes => publish_ok("ok_O"); - - host2:: - "tower" usebundle => tier2, - classes => publish_ok("ok_1"); - - host3:: - "tower" usebundle => tier3, - classes => publish_ok("ok_2"); - - host4:: - "tower" usebundle => tier4, - classes => publish_ok("ok_f"); - -classes: - - ok_O:: # Wait for the methods, report on host1 only - - "check1" expression => remoteclassesmatching("ok.*","host2","yes","a"); - "check2" expression => remoteclassesmatching("ok.*","host3","yes","a"); - "check3" expression => remoteclassesmatching("ok.*","host4","yes","a"); - -reports: - - ok_O:: - "tier 1 is ok"; - a_ok_1:: - "tier 2 is ok"; - a_ok_2:: - "tier 3 is ok"; - a_ok_f:: - "tier 4 is ok"; - - ok_O&a_ok_1&a_ok_2&a_ok_f:: - "The Tower is standing"; - - !(ok_O&a_ok_1&a_ok_2&a_ok_f):: - "The Tower is down"; -} - -############################################################ - -bundle agent tier1 -{ -files: - - "/tmp/something_to_do_1" - create => "true"; -} - -bundle agent tier2 -{ -files: - - "/tmp/something_to_do_2" - create => "true"; -} - -bundle agent tier3 -{ -files: - - "/tmp/something_to_do_3" - create => "true"; - -} - -bundle agent tier4 -{ -files: - - "/tmp/something_to_do_4" - create => "true"; -} - -############################################################ - - -bundle server access_rules() -{ -access: - - "ok.*" - resource_type => "context", - admit => { "127.0.0.1" }; - -} - -############################################################ - -body classes publish_ok(x) -{ -promise_repaired => { "$(x)" }; -promise_kept => { "$(x)" }; -cancel_notkept => { "$(x)" }; -persist_time => "2"; -} - -@end verbatim - -@noindent If we execute this simple test on a single host, or allow it to be executed on distributed -hosts, the chain forms and quickly stands up the system into a tower of dependencies. -@verbatim -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/self-healing-chain.cf -K -R: tier 1 is ok -R: tier 2 is ok -R: tier 3 is ok -R: tier 4 is ok -R: The Tower is standing -@end verbatim -If we break the tower, by giving it an impossible promise to keep, e.g. changing the name -of the directory in tier 3 to something that cannot be created@footnote{For this illustration, -we run in non-privileged mode and choose a directory name we do not have permission to create.}, -then tier 3 will fail and the output looks like this: -@verbatim -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/self-healing-chain.cf -K -Unable to make directories to /xtmp/something_to_do_3 - !!! System reports error for cf_mkdir: "Permission denied" -R: tier 1 is ok -R: tier 2 is ok -R: tier 4 is ok -R: The Tower is down -@end verbatim -@noindent Clearly, whatever tier 3 is really supposed to do, any promise failure -would result in the same behaviour. If we then correct the policy to make it repairable, the output -heals quickly: -@verbatim -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/self-healing-chain.cf -K -R: tier 1 is ok -R: tier 2 is ok -R: tier 4 is ok -R: The Tower is down -R: tier 3 is ok -R: The Tower is standing -@end verbatim - - - -@node A Domino sequence, A Chinese Dragon, The self-healing chain - inverse Dominoes, Distributed Orchestration between hosts with CFEngine Enterprise -@unnumberedsubsec A Domino sequence - - -A different kind of orchestration is a domino cascade, that starts -from some initial trigger, and causes a change in one host that causes -a change in the next, etc. These examples show how this can easily be -carried out by CFEngine. Dominio cascades can be done with Community -or Enterprise editions, but are limited to single machines in each -step. - -The basic principle is shown below@footnote{This example has deliberately been -made general enough to demonstrate on a single host with several aliases. If each -host can be guaranteed to have a unique name and address, we could simplify -the @code{hand_over} wrapper}. - -@i{Note: to simulate this on a single host, start the server and agent -with this same file as input, and make aliases to localhost in @file{/etc/hosts} -as described in the example.} - -@verbatim -############################################################ -# -# Dominoes -# -# This method works with either Community of Enterprise -# -# If you want to test this on localhost, just edit /etc/hosts -# to add host1 host2 host3 host4 as aliases to localhost -# -############################################################ - -body common control -{ -bundlesequence => { "dominoes_symphony" }; -inputs => { "cfengine_stdlib.cf" }; -} - -############################################################ - -bundle agent dominoes_symphony -{ -methods: - - # We have to seed the beginning by creating the dominoes - # /tmp/dominoes_localhost - - host1:: - "dominoes" usebundle => hand_over("localhost","host1","overture"); - - host2:: - "dominoes" usebundle => hand_over("host1","host2","first_movement"); - - host3:: - "dominoes" usebundle => hand_over("host2","host3","second_movement"); - - host4:: - "dominoes" usebundle => hand_over("host3","host4","final_movement"), - classes => if_ok("finale"); - -reports: - - finale:: - - "The visitors book of the Dominoes method" - printfile => visitors_book("/tmp/dominoes_host4"); - -} - -############################################################ - -bundle agent hand_over(predecessor,myalias,method) -{ - - # This is a wrapper for the orchestration - -files: - - "/tmp/tip_the_dominoes" - - comment => "Wait for our cue or relay/conductor baton", - copy_from => secure_cp("/tmp/dominoes_$(predecessor)","$(predecessor)"), - classes => if_repaired("cue_action"); - -methods: - - cue_action:: - - "the music happens" - - comment => "One off activity", - usebundle => $(method), - classes => if_ok("pass_the_stick"); - -files: - - pass_the_stick:: - - "/tmp/tip_the_dominoes" - comment => "Add our signature to the dominoes's tail", - edit_line => append_if_no_line("Knocked over $(myalias) and did: $(method)"); - - "/tmp/dominoes_$(myalias)" - - comment => "Dominoes in position to be beamed up by next agent", - copy_from => local_cp("/tmp/tip_the_dominoes"); - -} - -############################################################ - -bundle agent overture -{ -reports: - - !xyz:: - - "Singing the overture..."; -} - -bundle agent first_movement -{ -reports: - - !xyz:: - - "Singing the first adagio..."; -} - -bundle agent second_movement -{ -reports: - - !xyz:: - - "Singing second allegro..."; - -} - -bundle agent final_movement -{ -reports: - - !xyz:: - - "Trumpets for the finale"; - -} - -############################################################ - - -bundle server access_rules() -{ -access: - - "/tmp" - - admit => { "127.0.0.1" }; - - "did.*" - resource_type => "context", - admit => { "127.0.0.1" }; - -} - - -body printfile visitors_book(file) -{ -file_to_print => "$(file)"; -number_of_lines => "10"; -} - - -@end verbatim -@noindent When executed, this produces output only on the final host -in the chain, showing the correct ordering out operations. The -sequence also passes a file from host to host as a coordination -token, like a baton in a relay race, and each host signs this -so that the final host has a log of eery host involved in the -cascade. - -@verbatim -R: Singing the overture... -R: Singing the first adagio... -R: Singing second allegro... -R: Trumpets for the finale - -R: The visitors book of the Dominoes method -R: Knocked over host1 and did: overture -R: Knocked over host2 and did: first_movement -R: Knocked over host3 and did: second_movement -R: Knocked over host4 and did: final_movement - -@end verbatim - -The average time for such a cascade to complete will be half the -length of the chain multiplied by the run-interval, if normal cf-execd -splaytime is used. Without any splaying, the average time will be the -run interval multiplied by the chain length. The completion time -could be increased by using cf-runagent. - - -@node A Chinese Dragon, , A Domino sequence, Distributed Orchestration between hosts with CFEngine Enterprise -@unnumberedsubsec A Chinese Dragon star pattern - -The Chinese dragon darts back and forth between different hosts, -forming a chain of events, and leaving a trail behind it. This pattern -is much like the Domino pattern, except that it follows a star. The -orchestrated sequence of events follows the dragon from its lair to -the first satellite host, then back to its lair to record the journey, -then out to the next satellite, then back to its lair, etc. - -A prototypical application for this kind of pattern is taking servers, one by one, -off a load balancer (in the dragon's lair) and then upgrading them, before -reinstating them and moving on to the next host. - - -@verbatim -############################################################ -# -# Chinese Dragon Dancing on a Star -# -# This method works with either Community or Enterprise. -# and uses named signals -# -# If you want to test this on localhost, just edit /etc/hosts -# to add host1 host2 host3 host4 as aliases to localhost -# -############################################################ - -body common control -{ -bundlesequence => { "dragon_symphony" }; -inputs => { "cfengine_stdlib.cf" }; -} - -############################################################ - -bundle agent dragon_symphony -{ -methods: - - # We have to seed the beginning by creating the dragon - # /tmp/dragon_localhost - - "dragon" usebundle => visit("localhost","host1","chapter1"); - - "dragon" usebundle => visit("host1","host2","chapter2"); - - "dragon" usebundle => visit("host2","host3","chapter3"); - - "dragon" usebundle => visit("host3","host4","chapter4"), - classes => if_ok("finale"); - -reports: - - finale:: - - "The dragon is slain:" - printfile => visitors_book("/tmp/shoo_dragon_host4"); -} - -############################################################ -# Define the -############################################################ - -bundle agent chapter1(x) -{ -# Do something significant here - -reports: - - host1:: - " ----> Breathing fire on $(x)"; -} - -################################ - -bundle agent chapter2(x) -{ -# Do something significant here - -reports: - - host2:: - " ----> Breathing fire on $(x)"; - -} - -################################ - -bundle agent chapter3(x) -{ -# Do something significant here - -reports: - - host3:: - " ----> Breathing fire on $(x)"; - -} - -################################ - -bundle agent chapter4(x) -{ -# Do something significant here - -reports: - - host4:: - " ----> Breathing fire on $(x)"; - -} - -############################################################ -# Orchestration wrappers -############################################################ - -bundle agent visit(predecessor,satellite,method) -{ - - # This is a wrapper for the orchestration will be acted on - # first by the dragon's lair and then by the satellite - -vars: - - "dragons_lair" string => "host0"; - -files: - - # We start in the dragon's lair .. - - "/tmp/unleash_dragon" - - comment => "Unleash the dragon", - rename => to("/tmp/enter_the_dragon"), - classes => if_repaired("dispatch_dragon_$(satellite)"), - ifvarclass => "$(dragons_lair)"; - - # if we are the dragon's lair, welcome the dragon back, shooed from the satellite - - "/tmp/enter_the_dragon" - - comment => "Returning from a visit to a satellite", - copy_from => secure_cp("/tmp/shoo_dragon_$(predecessor)","$(predecessor)"), - classes => if_repaired("dispatch_dragon_$(satellite)"), - ifvarclass => "$(dragons_lair)"; - - # If we are a satellite, receive the dragon from its lair - - "/tmp/enter_the_dragon" - comment => "Wait for our cue or relay/conductor baton", - copy_from => secure_cp("/tmp/dragon_$(satellite)","$(dragons_lair)"), - classes => if_repaired("cue_action_on_$(satellite)"), - ifvarclass => "$(satellite)"; - -methods: - - "check in at home" - comment => "Edit the load balancer?", - usebundle => switch_satellite(" -> Send dragon to $(satellite)"), - classes => if_repaired("send_the_dragon_to_$(satellite)"), - ifvarclass => "dispatch_dragon_$(satellite)"; - - "dragon visits" - comment => "One off activity that the nodes carry out while the dragon visits", - usebundle => $(method)("$(satellite)"), - classes => if_repaired("send_the_dragon_back_from_$(satellite)"), - ifvarclass => "cue_action_on_$(satellite)"; - - -files: - - # hub/lair hub signs the book too and schedules the dragon for next satellite - - "/tmp/dragon_$(satellite)" - create => "true", - comment => "Add our signature to the dragon's tail", - edit_line => sign_visitor_book("Dragon returned from $(predecessor)"), - ifvarclass => "send_the_dragon_to_$(satellite)"; - - # Satellite signs the book and shoos dragon for hub to collect - - "/tmp/shoo_dragon_$(satellite)" - create => "true", - comment => "Add our signature to the dragon's tail", - edit_line => sign_visitor_book("Dragon visited $(satellite) and did: $(method)"), - ifvarclass => "send_the_dragon_back_from_$(satellite)"; - -reports: - - !xyz:: - - "Done $(satellite)"; - -} - -############################################################ - -bundle agent switch_satellite(name) -{ -files: - - "/tmp/enter_the_dragon" - comment => "Add our signature to the dragon's tail", - edit_line => append_if_no_line("Switch new dragon's target $(name)"); - -reports: - - !xyz:: - " X Switching new dragon's target $(name)"; -} - - -############################################################ - -bundle edit_line sign_visitor_book(s) -{ -insert_lines: - - "/tmp/enter_the_dragon" - comment => "Import the current visitor's book", - insert_type => "file"; - - "$(s)" comment => "Append this string to the visitor's book"; -} - -############################################################ - - -bundle server access_rules() -{ -access: - - "/tmp" - - admit => { "127.0.0.1" }; - - "did.*" - resource_type => "context", - admit => { "127.0.0.1" }; - -} - -############################################################ - -body printfile visitors_book(file) -{ -file_to_print => "$(file)"; -number_of_lines => "100"; -} - -@end verbatim - - - -Let's test it on a single host, equipped with aliases to the see entire flow. - -@noindent Without the trigger, this simply yields -@verbatim -R: Done host1 -R: Done host2 -R: Done host3 -R: Done host4 -@end verbatim - -@verbatim -host$ touch /tmp/unleash_dragon - -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/dragon.cf -K -R: X Switching new dragon's target -> Send dragon to host1 -R: Done host1 -R: Done host2 -R: Done host3 -R: Done host4 - -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/dragon.cf -K -R: ----> Breathing fire on host1 -R: Done host1 -R: X Switching new dragon's target -> Send dragon to host2 -R: Done host2 -R: Done host3 -R: Done host4 -host$ - -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/dragon.cf -K -R: ----> Breathing fire on host1 -R: Done host1 -R: X Switching new dragon's target -> Send dragon to host2 -R: ----> Breathing fire on host2 -R: Done host2 -R: X Switching new dragon's target -> Send dragon to host3 -R: Done host3 -R: Done host4 - -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/dragon.cf -K -R: ----> Breathing fire on host1 -R: Done host1 -R: X Switching new dragon's target -> Send dragon to host2 -R: ----> Breathing fire on host2 -R: Done host2 -R: X Switching new dragon's target -> Send dragon to host3 -R: ----> Breathing fire on host3 -R: Done host3 -R: X Switching new dragon's target -> Send dragon to host4 -R: Done host4 -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/orchestrate/dragon.cf -K -R: ----> Breathing fire on host1 -R: Done host1 -R: X Switching new dragon's target -> Send dragon to host2 -R: ----> Breathing fire on host2 -R: Done host2 -R: X Switching new dragon's target -> Send dragon to host3 -R: ----> Breathing fire on host3 -R: Done host3 -R: X Switching new dragon's target -> Send dragon to host4 -R: ----> Breathing fire on host4 -R: Done host4 - -R: The dragon is slain: -R: Switch new dragon's target -> Send dragon to host1 -R: Dragon returned from localhost -R: Dragon visited host1 and did: chapter1 -R: Switch new dragon's target -> Send dragon to host2 -R: Dragon returned from host1 -R: Dragon visited host2 and did: chapter2 -R: Switch new dragon's target -> Send dragon to host3 -R: Dragon returned from host2 -R: Dragon visited host3 and did: chapter3 -R: Switch new dragon's target -> Send dragon to host4 -R: Dragon returned from host3 -R: Dragon visited host4 and did: chapter4 - -@end verbatim - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Monitoring.texinfo b/docs/guides/SpecialTopic_Monitoring.texinfo deleted file mode 100644 index b4c0f173c3..0000000000 --- a/docs/guides/SpecialTopic_Monitoring.texinfo +++ /dev/null @@ -1,1063 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} -@c -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-monitoring.info -@settitle Monitoring with CFEngine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Monitoring with CFEngine -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine fulfils an unusual role as a management system, closing the -loop between measurement or monitoring of resources and change -management. CFEngine learns the normal behaviour of a system using -smart lightweight algorithm, and builds a statistical view of what -is normal behaviuour. Policy may then me measured against this normal -state to provide @i{relativistic} reporting of state, and the detection -of anomalies. - -A significant capability of CFEngine Nova over previous versions of -CFEngine, as well as other monitoring software, is the existence of -lightweight extensible probes, based on Perl Compatible Regular -Expressions. These probes can extract and store data in an efficient -and non-intrusive manner. Reports can be integrated into the Nova Knowledge Map -and anomalies are automatically detected by CFEngine's self-learning -algorithms. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010-11 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Monitoring introduction, (dir), (dir) -@top Measurement and Monitoring - -@menu -* Monitoring introduction:: -* Monitoring customization:: -@end menu - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node Monitoring introduction, Monitoring customization, Top, Top -@chapter Monitoring introduction - -@menu -* What is monitoring?:: -* What are the goals of monitoring?:: -* What does monitoring software do?:: -* Monitoring in CFEngine:: -* Visualization of monitoring in CFEngine:: -* Standard measured variables:: -* Estimate of the level of normality:: -* Variables:: -* Entropy:: -* Persistent classes for alert conditions:: -@end menu - -@node What is monitoring?, What are the goals of monitoring?, Monitoring introduction, Monitoring introduction -@unnumberedsec What is monitoring? - -The world of IT management is replete with monitoring -software. Monitoring is considered to be a major part of management, -and it plays a kind of `feel good' role to engineers even when it -often reveals little useful information. Users are often fiercely -loyal to certain monitoring solutions, However, most monitoring systems have -some key problems: - -@itemize -@item Many monitoring systems are so heavy weight that they lead to - a system large overhead. - -@item Scalability of monitoring solutions is often poor, both in terms -of system resource consumption and comprehensability of the data collected. -@end itemize -One might argue that these problems can be traced back to the overly ambitious -nature of what they try to achieve. - -Some common or popular monitoring solutions include: -@itemize -@item HP OpenView -@item Nagios -@item Munin -@item Zenoss -@item Ganglia -@item collectd -@end itemize - -@node What are the goals of monitoring?, What does monitoring software do?, What is monitoring?, Monitoring introduction -@unnumberedsec What are the goals of monitoring? - -Few montioring systems yield accurate or even very clear results about -systems, and yet we feel reassured by moving traces. We monitor -systems first and foremost out of a desire for knowledge. If that -seems like a trivial statement, you should examine your own -motivations carefully -- what is it you really want from a monitoring -solution? Accurate data, or some basic reassurance? - -As scientific instruments, most monitoring software is rather poorly -constructed. The devices are rarely calibrated, the results are -presented without context, sorted according to arbitrary thresholds, -and it is unclear what delay there was between the sampling of the -system and the presentation of the data. That makes the data values -and the traces almost useless - but not quite. What users really see -in monitoring is patterns of change. Monitoring software forms a -bridge between actual data about the system and the habits of the -human brain. - - -@node What does monitoring software do?, Monitoring in CFEngine, What are the goals of monitoring?, Monitoring introduction -@unnumberedsec What does monitoring software do? - -Typically, monitoring software samples data from systems through a number of -probes and presents the data in some graphical form. A few systems can also -perform statistical analysis and even look-ahead forecasting of the data. -Much monitoring software is based on the Simple Network Management -Protocol (SNMP) which is an active probe regime usually run from a -centralized network manager. - -The simple fact of the matter is that most monitoring software -simple presents a rough visualization of the raw data to users -as either a set of alarms (loggable messages) or as a moving time-series, -analogous to a hospital vital-signs monitor (EEG or ECG). - -If one is cynical, it might be said that some monitoring systems waste -users' time by producing moving graphs with a level of detail that is -utterly inappropriate. Users then sit transfixed to these moving -traces, watching for any insignificant change -- and, because there is -no context or history to meaure the changes against, every change -appears to be interesting. - - -@node Monitoring in CFEngine, Visualization of monitoring in CFEngine, What does monitoring software do?, Monitoring introduction -@unnumberedsec Monitoring in CFEngine - - -In CFEngine, there is @code{cf-monitord}, which runs as a local agent -on every computer. This daemon wakes up every couple of minutes and -samples data for a number of variables without using the network. The -data are then stored in an embedded database on the localhost, using a -smart algorithm that prevents the datasize from growing endlessly. -CFEngine uses a model of system behaviour based on the findings of -research about how computers behave in a network. The model reveals -strong weekly patterns in most measurable data, or no pattern -whatsoever. This knowledge can be used to compress the data by a large -factor and enables @code{cf-monitord} to carry out a real time -statistical analysis of the normal behaviour that is updated over -time. - -CFEngine was not written to replace other monitoring systems, -but to achieve rather concrete goals. In order to achieve these -goals, CFEngine does not monitor as often as other systems, -and it presents results rather differently. - -The goals of monitoring in CFEngine are: - -@itemize -@item To not waste users' time with insignificant changes, but provide -meaningful updates at a rate that is defensible based on the rate of -change of the system. -@item To provide meaningful information that is placed in -the context of what is normal. -@item To reveal trends and patterns at a glance. - -@item To scale to tens of thousands of hosts without placing a significant -burden on the hosts being monitored. -@item To be as hands-free in configuration as possible, but allow customization. - - -@item To provide a feedback mechanism for system policy so that systems can -respond directly to conditions that are detected. -@end itemize - -The information returned by @code{cf-monitord} comes in a number of forms: - -@itemize -@item As visual, plottable graphs. -@item As CFEngine classes that are passed to @code{cf-agent} and may be used to generate -alarms or automatic responses. -@end itemize - -@sp 1 -@center @image{timeseries,15cm} -@sp 1 -@center A graphical rendering of a 100 x load average pattern collected by a host. -@sp 1 - - - -@node Visualization of monitoring in CFEngine, Standard measured variables, Monitoring in CFEngine, Monitoring introduction -@unnumberedsec Visualization of monitoring in CFEngine - -The CFEngine community edition provides limited support for -visualization. The @code{cf-report} command can be used to generate -files that can be plotted with other free software. So far this is not -well documented, since the process requires special knowledge of some -less-well known Open Source tools (see Reference Manual, reporter -control promises). - -However, in the commercial edition of CFEngine (Nova/Enterprise), much effort has been put into making the centralized -collection and visualization of these data straightforward and -powerful so that all of the learned information about a network -may be seen and analysed from a single location. - - -Any model of fluctuating values is based on the idea that the changing -signal has a basic separation of signal and noise. The variability of -the signal is generally characterized by a probability distribution -which often peaks about the mean value. Some tools and many papers -assume that the distribution of fluctuations is Gaussian. This is -almost never the case in real computer systems. - -CFEngine plots the following values together to provide -an interpretive context for the data: - -@itemize -@item The last sampled value (@samp{value}). This is the actual `current value'. This is the orange -line in the figure above. -@item The rolling average of the data for each 5 minute interval of the week (@samp{av}). This represents -the best estimate of what is normal. This is the green line in the figure above. -@item An envelope of on standard deviation above (red vertical bars) and below (green vertical bars) the average -to show the envelope of normal `variation' (@samp{dev}). -@end itemize - -@cartouche -Note: it is a common misconception that the mean and standard deviation only -apply to Gaussian statistical models. This is not true, although it is true that -these quantities have a special significance for these distributions. You may think -of the rolling mean as a representative average value that represents what is approximately -`normal'. The standard deviation plays the role of an approximate estimate of the uncertainty -in the value of the mean. These values should be treated as heuristics, not as absolute truths -in any reasonable statistical interpretation of the data. -@end cartouche - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node Standard measured variables, Estimate of the level of normality, Visualization of monitoring in CFEngine, Monitoring introduction -@unnumberedsec Standard measured variables - -When CFEngine detects an anomaly, it classified the current statistical -state of the system into a number of classes. - -CFEngine classifies anomalies by whether the currently measured state of -the system is higher or lower than the average for the current time of -week. The amount of deviation is based on an estimate of the `standard -deviation'. The precise definition of the average and standard -deviations is complex, and is discussed in the paper "M. Burgess, -Probabilistic anomaly detection in distributed computer -networks", (submitted to Science of Computer Programming, and available -on the web). - -The list of measured attributes is currently fixed to the following: - - -The first part of the string is from the list: - -@table @code -@item users -The number of different users that appear in the process table of the system. -@item rootprocs -The nunmber of current processes started by root/Administrator. -@item userprocs -The number of current processes started by non-privileged users. -@item diskfree -The amount of disk free on root file system. -@item loadavg -The load average of the system (actually multiplied by 100). -@end table -Socket counts of network services distinguish between incoming and outgoing -sockets (to a service or from a client). -@table @code -@item netbiosns -Registers traffic to/from port 137. -@item netbiosdgm -Registers traffic to/from port 138. -@item netbiosssn -Registers traffic to/from port 139. -@item irc -Registers traffic to/from port 194. -@item CFEngine -Registers traffic to/from port 5308. -@item nfsd -Registers traffic to/from port 2049. -@item smtp -Registers traffic to/from port 25. -@item www -Registers traffic to/from port 80. -@item ftp -Registers traffic to/from port 21. -@item ssh -Registers traffic to/from port 22. -@item wwws -Registers traffic to/from port 443. -@end table - -If you have tcpdump program installed in a standard location, then the monitor can be confugured to -collect data about the network flows to your host. - -@table @code -@item icmp -Traffic belonging to the ICMP protocol (ping etc). -@item dns -Traffic to port 53, the Domain Name Service (usually a special case of UDP). -@item udp -Miscellaneous UDP traffic that is not related to DNS. -@item tcpsyn -Registers TCP packets with SYN flag set. -@item tcpack -Registers TCP packets with ACK flag set. -@item tcpfin -Registers TCP packers with FIN flag set. -@item misc -Registers all other packets, not covered above. -@end table - - -@node Estimate of the level of normality, Variables, Standard measured variables, Monitoring introduction -@unnumberedsec Estimate of the level of normality - -When @code{cf-monitord} has accurate knowledge of statistics, it classifies -the current state into 3 levels: - -@cindex normal -@cindex dev1 -@cindex dev2 -@cindex anomaly -@cindex microanomaly - -@table @code -@item normal -means that the current level is less -than one standard deviation above normal. -@item dev1 -means that the -current level is at least one standard deviation about the average. - -@item dev2 -means that the current level is at least two standard -deviations about the average. - -@item anomaly -means that the current level is more than 3 standard deviations above average. - -@end table - -@noindent -Each of these charaxterizations assumes that there are good data -available. The @file{cf-monitord} evaluates its data and decides whether or -not the data are too noisy to be really useful. If the data are too -noisy but the level @i{appears} to be more than two standard deviations -above aaverage, then the category @code{microanomaly} is used. - -Here are some example classes: - -@smallexample -userprocs_high_dev2 -userprocs_low_dev1 -www_in_high_anomaly -smtp_out_high_dev2 -@end smallexample - -@noindent A complete list of standard metrics -@cindex Anomalies -Base classes: -@smallexample - users - rootprocs - otherprocs - diskfree - loadavg - netbiosns_in - netbiosns_out - netbiosdgm_in - netbiosdgm_out - netbiosssn_in - netbiosssn_out - irc_in - irc_out - CFEngine_in - CFEngine_out - nfsd_in - nfsd_out - smtp_in - smtp_out - www_in - www_out - ftp_in - ftp_out - ssh_in - ssh_out - wwws_in - wwws_out - icmp_in - icmp_out - udp_in - udp_out - dns_in - dns_out - tcpsyn_in - tcpsyn_out - tcpack_in - tcpack_out - tcpfin_in - tcpfin_out - tcpmisc_in - tcpmisc_out -@end smallexample -Suffixes: -@smallexample -_high_microanomaly -_low_microanomaly - -_high_dev1 -_low_dev1 - -_high_dev2 -_low_dev2 - -_high_anomaly -_low_anomaly - -_high_ldt -_low_ldt -@end smallexample - - -@node Variables, Entropy, Estimate of the level of normality, Monitoring introduction -@unnumberedsec Variables - -The @code{cf-monitord} sets variables which cache the values that were valid at the -time of the anomaly's occurrance. These are of the same form as above. -@smallexample -value_rootprocs -average_rootprocs -stddev_rootprocs - -value_nsfd_in -average_nfsd_in -stddev_nfsd_in -@end smallexample -The Leap Detection Test buffer is called -@smallexample -ldtbuf_users -ldtbuf_otherprocs -@end smallexample -etc. - -@menu -* Entropy:: -@end menu - -@node Entropy, Persistent classes for alert conditions, Variables, Monitoring introduction -@unnumberedsec Entropy - -For network related data, CFEngine evaluates the entropy in the -currently measured sample of measurements, with respect to the -different IP addresses of the sources. You can use these to predicate -the appearance of an anomaly, e.g. -@cindex Entropy -@smallexample - entropy_www_in_high - entropy_smtp_in_low -@end smallexample - -For example, if you only want to know when a huge amount of SMTP traffic arrives from a -single IP source, you would label your anomaly response: -@smallexample -entropy_smtp_in_low.smtp_in_high_anomaly:: -@end smallexample -@noindent -since the entropy is low when the majority of traffic -comes from only a small number of IP addresses (e.g. one). The entropy is maximal -when activity comes equally from several different sources. - - - -@node Persistent classes for alert conditions, , Entropy, Monitoring introduction -@unnumberedsec Persistent classes for alert conditions - - -Another application for alerts is to pass signals from one invocation of the CFEngine agent to -another by persistent, shared memory. For example, suppose a -short-lived anomaly event triggers a class that relates to a security -alert. The event class might be too short-lived to be followed up by -cfagent in full. One could thus set a long term class that would -trigger up several follow-up checks. A persistent class could also be -used to exclude an operation for an interval of time. - -Persistent class memory can be added through a system alert functions -to give timer behaviour. For example, consider setting a class that -acts like a non-resettable timer. It is defined for exactly 10 minutes -before expiring. - -@verbatim -body classes example - { - persist_time => "10"; - } - -body classes example - { - timer_policy => "reset"; - } - -@end verbatim - - - - -@node Monitoring customization, , Monitoring introduction, Top -@chapter Monitoring customization - -@menu -* What are measurements?:: -* measurements promises:: -* Scanning log files for patterns:: -* FTP:: -* DNS:: -* Email:: -* Milter:: -* Breakin:: -* Threshold monitoring:: -* Summary Monitoring:: -@end menu - -@node What are measurements?, measurements promises, Monitoring customization, Monitoring customization -@unnumberedsec What are measurements? - -@sp 1 -Measurement promises perform sampling of system variables, and -scanning of files and probes, at regular controllable intervals in -order to present an efficient overview of actual changes taking place over time. - - -@node measurements promises, Scanning log files for patterns, What are measurements?, Monitoring customization -@unnumberedsec @code{measurements} promises -@sp 1 - -In CFEngine Nova and above, you can extract data from the -system in sophisticated ways from files or pipes, using Perl -Compatible Regular Expressions to match text. The @code{cf-monitord} -agent is responsible for processing measurement promises. - -In this example, we count lines matching a pattern in a file. -You might want to scan a log for instances of a particular -message and trace this number over time. - - -@node Scanning log files for patterns, FTP, measurements promises, Monitoring customization -@unnumberedsec Scanning log files for patterns -@sp 1 - -You will have to scan the log file for each separate summary -you want to keep, so you win a lot of efficiency by lumping -together mulitple patterns in a longer regular expressions. - -Be careful however about the trade-off. Disk access is certainly the -most expensive computing resource, but a smart filesystem might do good caching. - -Regular expression processing, on the other hand, is CPU expensive, so -if you have very long or complex patterns to match, you will begin -to eat up CPU time too. - -At the end of the day, you should probably do some tests to find a good -balance. One goal of CFEngine is to minimally impact your system performance, -but it is possible to write promises that have the opposite effect. Check -your work! - -@verbatim - -bundle monitor watch -{ -measurements: - - "/home/mark/tmp/file" - - handle => "line_counter", - stream_type => "file", - data_type => "counter", - match_value => scan_log("MYLINE.*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node FTP, DNS, Scanning log files for patterns, Monitoring customization -@unnumberedsec Scanning syslog for FTP statistics -@sp 1 - -There are many things that you can set CFEngine at monitoring. For example, -CFEngine can automtically collect information about the number of socket-level -connections made to the ftp server, but you might want more detailed -statistics. For example, you might want to track the volume of data sent -and received, or the number of failed logins. Here are a collection of -monitoring promises for doing just that. - -Note that the ftp logs are maintained by syslog, so it is necessary to match -only those lines which correspond to the appropriate service. We also assume -that the specific messages are sent to @file{/var/log/messages}, while your -configuration may specify otherwise. Likewise, your operating systems's -version of ftp may issue messages with a slightly different format than ours - -@verbatim - -bundle monitor watch_ftp -{ -vars: - "dir" slist => { "get", "put" }; - -measurements: - - "/var/log/messages" - - handle => "ftp_bytes_${dir}", - stream_type => "file", - data_type => "int", - match_value => extract_log(".*ftpd\[.*", ".*${dir} .* = (\d+) bytes.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/messages" - - handle => "ftp_failed_login", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*ftpd\[.*", ".*FTP LOGIN FAILED.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/messages" - - handle => "ftp_failed_anonymous_login", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*ftpd\[.*", ".*ANONYMOUS FTP LOGIN REFUSED.*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body match_value extract_log(line, extract) -{ -select_line_matching => "$(line)"; -extraction_regex => "$(extract)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node DNS, Email, FTP, Monitoring customization -@unnumberedsec Scanning DNS logs for query statistics -@sp 1 - -Another thing you might want to do is monitor the types of queries that your -DNS server is being given. One possible reason for this is to test for -unusual behavior. For example, suddenly seeing a surge in @samp{MX} requests -might indicate that your system is being targeted by spammers (or that one of -your users is sending spam). If you are thinking of converting to IPv6, you -might want to compare the number of @samp{A} requests to @samp{AAAA} and -@samp{A6} requests to see how effective your IPv6 implementation is. - -Because DNS logs are directly maintained by @samp{bind} or @samp{named} (and -do not go through syslog), the parsing can be simpler. However, you @i{do} -need to configure DNS to log query requests to the appropriate log file. In -our case, we use @file{/var/log/named/queries}. - -@verbatim - -bundle monitor watch_dns -{ -vars: - "query_type" slist => { "A", "AAAA", "A6", "CNAME", "MX", "NS", - "PTR", "SOA", "TXT", "SRV", "ANY" }; -measurements: - "/var/log/named/queries" - handle => "DNS_$(query_type)_counter", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".* IN $(query_type).*"), - history_type => "log", - action => sample_rate("0"); -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node Email, Milter, DNS, Monitoring customization -@unnumberedsec Scanning syslog for email statistics -@sp 1 - -Email is another syslog-based facility that you may want to use CFEngine to -monitor. There are a number of volumetric data that are of interest. For -example, the number of messages sent and received, the number of messages -that have been deferred (a large number might indicate networking problems or -spam bounces), and the number of spam messages that have been -detected and removed by the assorted spam filters. - -The samples below assume that there is a separate logfile for email (called -@file{/var/log/maillog}) and that a few of the standard sendmail rulesets -have been enabled (see -@samp{http://www.sendmail.org/~ca/email/relayingdenied.html} for details). -As with any syslog-generated file, you need to check for the appropriate -service, and in this case we are lumping local messages (sent through -@samp{sm-mta}) and remote messages (sent through @samp{sendmail}) into a -single count. Your mileage may of course vary. - -If you use one or more sendmail "milters", each of these will also output -their own syslog messages, and you may choose to track the volume of -rejections on a per-filter basis. - -@verbatim - -bundle monitor watch_email -{ -vars: - "sendmail" string => ".*(sendmail|sm-mta)\[.*"; - - "action" slist => { "Sent", "Deferred" }; - -measurements: - - "/var/log/maillog" - - handle => "spam_rejected", - stream_type => "file", - data_type => "counter", - # This matches 3 kinds of rulesets: check_mail, - # check_rcpt, and check_relay - match_value => scan_log("$(sendmail)ruleset=check_(mail|rcpt|relay).*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/maillog" - - handle => canonify("mail_$(action)", - stream_type => "file", - data_type => "counter", - match_value => scan_log("$(sendmail)stat=$(action) .*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node Milter, Breakin, Email, Monitoring customization -@unnumberedsec Scanning syslog for email milter failures -@sp 1 - -Milters are relatively new in sendmail, and some have problems. You can also -use monitoring to detect certain types of failure modes. For example, if a -milter is running (that is, there is a process present) but it does not -respond correctly, sendmail will log an entry like this in syslog (where -@samp{xyzzy} is the name of the milter in question): - -@verbatim -Milter (xyzzy): to error state -@end verbatim - -A small number of these messages is no big deal, since sometimes the milter -has temporary problems or simply encounters an email message that it finds -confounding. But a larger value of these messages usually indicates that the -milter is in a broken state, and should be restarted. - -You can use @samp{cf-monitord} to check for the number of these kinds of -messages, and use the soft classes that it creates to change how -@samp{cf-agent} operates. For example, here we will restart any milter -which is showing a high number of failure-mode messages: - -@verbatim -bundle monitor watch_milter -{ -vars: - "milter" slist => { "dcc", "bogom", "greylist" }; - -measurements: - - "/var/log/maillog" - - handle => "${milter}_errors", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*Milter (${milter}): to error state"), - history_type => "log", - action => sample_rate("0"); -} - -bundle agent fix_milter -{ -vars: - "m[dcc]" string => "/var/dcc/libexec/start-dccm"; - "m[bogom]" string => "/usr/local/etc/rc.d/milter-bogom.sh restart"; - "m[greylist]" string => "/usr/local/etc/rc.d/milter-greylist restart"; - -commands: - "$(m[$(watch_milter.milter)])" - ifvarclass => "$(watch_milter.milter)_high"; -} -@end verbatim - - -@node Breakin, Threshold monitoring, Milter, Monitoring customization -@unnumberedsec Scanning syslog for breakin attempts -@sp 1 - -A lot of script-kiddies will probe your site for vulnerabilities, using -dictionaries of account/password combinations, looking for unguarded accounts -or accouts with default passwords. Most of these scans are harmless, because -a well-maintained site will not use the default passwords that these hackers -seek to exploit. - -However, knowing that you are being scanned is a good thing, and CFEngine can -help you find that out. Because @samp{sshd} logs it's message through -@samp{syslog}, we again need to filter lines based on the service name. On -our system, authorization messages are routed to @file{/var/log/auth.log}, -and we would monitor it like this: - -@verbatim -bundle monitor watch_breakin_attempts -{ -measurements: - "/var/log/auth.log" - # This is likely what you'll see when a script kiddie probes - # your system - - handle => "ssh_username_probe", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*Invalid user.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # As scary as this looks, it may just be because someone's DNS - # records are misconfigured - but you should double check! - - handle => "ssh_reverse_map_problem", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*POSSIBLE BREAK-IN ATTEMPT!.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # Someone is trying to log in to an account that is locked - # out in the sshd config file - - handle => "ssh_denygroups", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*group is listed in DenyGroups.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # This is more a configuration error in /etc/passwd than a - # breakin attempt... - - handle => "ssh_no_shell", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*because shell \S+ does not exist.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # These errors usually indicate a problem authenticating to your - # IMAP or POP3 server - - handle => "ssh_pam_error", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*error: PAM: authentication error.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # These errors usually indicate that you haven't rebuilt your - # database after changing /etc/login.conf - maybe you should - # include a rule to do this command: cap_mkdb /etc/login.conf - - handle => "ssh_pam_error", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*login_getclass: unknown class.*"), - history_type => "log", - action => sample_rate("0"); -} - -@end verbatim - - -See the CFEngine Nova documentation for more possibilities of measurement -promises. - - - -@node Threshold monitoring, Summary Monitoring, Breakin, Monitoring customization -@unnumberedsec Threshold monitoring - -@verbatim -vars: - - "probes" slist => { "www", "smtp", "ssh" }; - -classes: - - "$(probes)_threshold" expression => isgreaterthan("$(mon.$(probes))","50"); - -reports: - - "Help $(probes)!" ifvarclass => "$(probes)_threshold"; - -@end verbatim - - - - -@node Summary Monitoring, , Threshold monitoring, Monitoring customization -@unnumberedsec Summary Monitoring - - -There are endless possibilities for monitoring with CFEngine -Nova. This document has suggested a few. - - - - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_NovaReportArch.texinfo b/docs/guides/SpecialTopic_NovaReportArch.texinfo deleted file mode 100644 index 0d53050eee..0000000000 --- a/docs/guides/SpecialTopic_NovaReportArch.texinfo +++ /dev/null @@ -1,205 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-novareportarch.info -@settitle The Nova Report Architecture -@setchapternewpage odd -@c %** end of header - -@titlepage -@title The Nova Report Architecture -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -In the default set-up, CFEngine Nova is a star network and uses -bidirectional communication on port @code{5308} between the policy hub -and client hosts. - -However, Nova does not require network at all --- you can manage and -track your systems with a usb-stick if you wish. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node reportarch -@top The Nova Report Architecture -@menu -@end menu - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node How are reports collected? -@unnumberedsec How are reports collected? -@sp 1 - -In CFEngine Nova, hosts are normally managed with policy deployed in -@file{/var/cfengine/masterfiles} at the policy hub. Once the policy -hub is set up, new clients are easily added by bootstrapping them -using the ip-address of the policy hub. - -Each time a new host bootstraps to the policy hub, it pulls down the -policy and the policy hub notes the connection in its last-seen -database (this database is available as a report in the Nova Mission -Portal). - -By using the last-seen database, the policy hub registers which hosts -it should query for reports. The @code{cf-hub} component of Nova runs -as a daemon and regularly queries each host for reports, using port -@code{5308} by default (configurable in @code{body hub control}). The -reports are stored into a @code{mongodb} database on the policy hub. - -@center @image{novaarch,8cm,,Nova Report Architecture,eps} - -Note that by design, CFEngine only allows pull as mode of -communication. - -@node When are reports transferred?, , How are reports collected? -@unnumberedsec When are reports transferred? -@sp 1 - -It is the @code{cf-hub} component on the policy hub that schedules -report collection. There are two types of reports --- @code{delta} and -@code{full}. @code{delta} is transferred every five minutes, while -@code{full} is transferred every six hours. This schedule can be -changed in @code{body hub control}. - -@code{delta} includes the reports from the last ten minutes, while -full includes reports from the last week. Also, @code{full} includes -some large, more static reports like the software installed reports. - - -@node How do I force report collection on the policy hub?, , When are reports transferred? -@unnumberedsec How do I force report collection on the policy hub? -@sp 1 - -If you have network connectivity to a client host from the policy hub, -you can gather reports manually by running @code{cf-runagent -H -CLIENTIP -q full} on the policy hub. Fill in @code{CLIENTIP} with the -real ip-address of the client host. You may also collect delta reports -if you wish. Running this in verbose mode (@code{-v}) may help -debugging issues where reports do not show up in the Mission Portal. - - -@node What is the size of a report batch from a host?, , How do I force report collection on the policy hub? -@unnumberedsec What is the size of a report batch from a host? -@sp 1 - -This depends on the policy and the amount of reports the host -generates, but usually delta reports are a few kilobytes and full -reports are a few hundred kilobytes. - - -@node Can I export reports from a host into a file?, , What is the size of a report batch from a host? -@unnumberedsec Can I export reports from a host into a file? -@sp 1 - -Yes, this can be done by running @code{cf-report -x full} on the -client host. The output file will be written to -@code{/var/cfengine/reports/nova_export.nov}. You may also use -@code{cf-report -x delta}, but then you must make sure to transfer and -import the file much more frequently. - - -@node How do I import a report file into the policy hub?, , Can I export reports from a host into a file? -@unnumberedsec How do I import a report file into the policy hub? -@sp 1 - -Copy the file generated by the export command at the client to the -policy hub, using any mechanism. At the policy hub, run the following -command @code{cf-report -i FILEPATH}, where @code{FILEPATH} is the -path to the file generated by the client host. After this step, the -client should show up in the Nova Mission Portal web interface. - -Also, the Mission Portal will show when the last data was imported -from a client when viewing the client's host page. - -@node How often should I import the reports?, , How do I import a report file into the policy hub? -@unnumberedsec How often should I import the reports? -@sp 1 - -A @code{full} import should be done at least every six hours from each -client host. For @code{delta} imports to be useful, they should be -done at least every ten minutes. - -Doing them more often will not harm --- duplicate entries are -automatically detected. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_OpenNebula.texinfo b/docs/guides/SpecialTopic_OpenNebula.texinfo deleted file mode 100644 index 90a3d82ace..0000000000 --- a/docs/guides/SpecialTopic_OpenNebula.texinfo +++ /dev/null @@ -1,651 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-opennebula.info -@settitle Using CFEngine with Open Nebula -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Using CFEngine with Open Nebula -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -This guide explains how CFEngine can be used in conjunction with the -Open Nebula cloud controller software. It offers a simple -introduction to the configuration of physical and virtual components -of an Open Nebula based cloud. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What is Open Nebula, (dir), (dir) -@top Open Nebula -@menu -* What is Open Nebula:: -* How can CFEngine work with Open Nebula:: -* Example Setup:: -* Installation and dependancy configuration:: -* NFS config for shared image repository:: -* Open Nebula environment configuration:: -* Network configuration:: -* Virtual machine template configuration:: -* Open Nebula Commands:: -* Virtual machine configuration:: -* Open Nebula Summary:: -@end menu -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is Open Nebula, How can CFEngine work with Open Nebula, Top, Top -@unnumberedsec What is Open Nebula? - -Open Nebula is an Open Source framework for Cloud Computing that aims -to become an industry standard. The project is designed to be scalable -and offer compatbility with Amazon EC2 the Open Cloud Computing -Interface (OCCI). Open Nebula is used as a cloud controller in a -number of large private clouds. - - -@node How can CFEngine work with Open Nebula, Example Setup, What is Open Nebula, Top -@unnumberedsec How can CFEngine work with Open Nebula? - -CFEngine is a lifecycle management tool that can be integrated with a -Cloud Computing framework in a number of ways. Of the four phases of the computer lifecycle, -Open Nebula and CFEngine will play different roles. -@table @i -@item Build -Open Nebula focuses on building virtual machines in a managed framework, based on pre-built -images. CFEngine can further customize these images through package of customized installation -measures. -@item Deploy -Open Nebula provides manual controls to bring up and tear down generic virtualized machines -containing a baseline of software. CFEngine can further deploy patches and updates to these basic -images without needing to take down a machine. -@item Manage -One a machine is running, CFEngine can manage it exactly like any other physical computer. -@item Audit/Report -CFEngine's local agents can extract information and learn system trends and characteristics -over time. These may be collected in CFEngine's reporting interface or Mission Portal. -@end table - -@sp 1 -@cartouche -Open Nebula's focus is on managing the deployment and recycling of the computing infrastucture. -CFEngine picks up where Open Nebula leaves off and manages the dynamic lifecycle of software, -applications and runtime state. -@end cartouche - -@sp 1 - -@node Example Setup, Installation and dependancy configuration, How can CFEngine work with Open Nebula, Top -@unnumberedsec Example Setup - -@sp 1 - -This guide is based on an example setup provding a framework to -demonstrate how CFEngine can be used to automate Open Nebula -configuration. The following assumptions serve as an example and -should be altered to fit your needs: - -@sp 1 - -@itemize - @item - All physical hosts are running Ubnutu, KVM and CFEngine 3. - @item - All physical hosts are on the same network. - @item - The CFEngine policy hub is running on the Open nebula front end. - @item - NFS will be used to share virtual machine images between hosts. -@end itemize - -@sp 1 - -Open nebula requires a single front-end machine and one or more node -controllers. The front end is a management machine that is used to -monitor and issue commands to the node controllers. Node controllers -provide virtual machine resources. The promises that follow -concentrate on the configuration of the front-end and a single -cluster-node. In order to increase the capacity of your private cloud -we can simply classify a new physical machine as another cluster-node. - -@center @image{ONarchitecture,5in,,,png} - -@node Installation and dependancy configuration, NFS config for shared image repository, Example Setup, Top -@unnumberedsec Installation and dependancy configuration - -@sp 1 - -First we can classify the physical machines in this case by IP address: -@sp 1 -@verbatim -classes: - "front_end" or => {"192.168.1.2"}; - "node_controllers" or => {"192.168.1.3"}; -@end verbatim -@sp 1 -@noindent If we want multiple node controllers then we can instead setup an slist variable - IP addresses of intended node controllers. This will allow the -"onehost create" command to execution each new node controller in turn -reducing redundancy in the policy file for example: -@sp 1 -@verbatim -vars: - "node_controller" slist => { "192.168.1.3", "192.168.1.4", "192.168.1.5" }; - -commands: - "/usr/bin/onehost create $(node_controller) im_kvm vmm_kvm tm_nfs", - contain => oneadmin; - - -classes: - - "policy_host" or => { - classmatch(canonify("ipv4_$(node_controller)")), - classmatch(canonify("$(node_controller)")) - }; -@end verbatim -@sp 1 -@noindent To install the dependancies for each physical machine we can define these in a list and use the CFEngine standard library package promises to install them: -@sp 1 -@verbatim -vars: - -"front_end_deps" slist => { - "libcurl3", - "libmysqlclient16", - "libruby1.8", - "libsqlite3-ruby", - "libsqlite3-ruby1.8", - "libxmlrpc-c3", - "libxmlrpc-core-c3", - "mysql-common", - "ruby", - "ruby1.8", - "nfs-kernel-server" - }; -"cluster_node_deps" slist => { - "ruby", - "kvm", - "libvirt-bin", - "ubuntu-vm-builder", - "nfs-client", - "kvm-pxe" - }; -@end verbatim -@sp 1 -@noindent Promises to perform dependency installation: -@sp 1 -@verbatim -packages: - -front_end:: - "$(front_end_deps)" - - comment => "Install open nebula front end dependencies", - package_policy => "add", - package_method => generic, - classes => if_ok("ensure_opennebula_running"); - -node_controller:: - "$(node_controller_deps)" - comment => "Install open nebula node controller dependencies", - package_policy => "add", - package_method => generic; -@end verbatim -@sp 1 -@noindent The additional line in the front end dependancy installation promise, assuming a successful installation, will ensure the Open Nebula daemon is running at all times: -@sp 1 -@verbatim -front_end:: - -ensure_opennebula_running:: - ".*oned.*", - restart_class => "start_oned"; -@end verbatim -@sp 1 -@noindent Resulting in: -@sp 1 -@verbatim -commands: - -start_oned:: - "/usr/bin/one start", - comment => "Execute the opennebula daemon", - contain => oneadmin; -@end verbatim -@sp 1 -@noindent Since we will be using Open Nebula version 2 we must manually supply the package: -@sp 1 -@verbatim -commands: - -front_end.!opennebula_installed:: - "/usr/bin/dpkg -i /root/opennebula_2.0-1_i386.deb", - comment => "install opennebula package if it isnt already"; -@end verbatim -@sp 1 -@noindent This promise points to the Open Nebula package file in /root/. To prevent repeated installation we can do a check to see if Open Nebula has already been installed by classifying a successful installation as having the oned.conf file in existence: -@sp 1 -@verbatim -classes: - - "opennebula_installed" or => {fileexists("/etc/one/oned.conf")}; -@end verbatim -@sp 1 -@noindent Open nebula requires a privileged user "oneadmin" to issue commands. In order to have CFEngine perform these commands with the correct privileges we can use the contain body by appending the following to commands promises: -@sp 1 -@verbatim - contain => oneadmin -@end verbatim -@sp 1 -@noindent This will in turn apply owner and group permissions of the oneadmin user: - -@verbatim -body contain oneadmin -{ -exec_owner => "oneadmin"; -exec_group => "oneadmin"; -} -@end verbatim - -@node NFS config for shared image repository, Open Nebula environment configuration, Installation and dependancy configuration, Top -@unnumberedsec NFS config for shared image repository - -@sp 1 - -If not present append the NFS export directory stored in the corresponding variable (including a new line): -@verbatim - -vars: - -"nfs_export_dir" - - slist => - { - "/var/lib/one 192.168.1.2/255.255.255.0(rw,sync,no_subtree_check)", - "" - }; - -files: - -"/etc/exports", - edit_line => append_if_no_lines($(nfs_export_dir)), - comment => "export nfs image repo"; -@end verbatim -To ensure the NFS service remains available: -@verbatim -processes: - -ensure_nfs_running:: - ".*nfsd.*", - restart_class => "start_nfs"; -@end verbatim -If this is found to be false then we classify: -@verbatim -start_nfs:: - "service nfs-kernel-server restart", - comment => "restart nfs"; -@end verbatim -@noindent In order to ensure the share is mounted on all node controllers we can use the NFS promise: - -@verbatim -storage: - -cluster_node:: -"/var/lib/one", - mount => nfs("192.168.1.2","/var/lib/one"), - comment => "mount image repo from front end"; -@end verbatim -Next we will create a directory to hold our virtual machine images: -@verbatim -"/var/lib/one/images/.", - comment => "create dir in image repo share", - perms => mog("644", "oneadmin", "oneadmin"), - create => "true"; -@end verbatim - -@node Open Nebula environment configuration, Network configuration, NFS config for shared image repository, Top -@unnumberedsec Open Nebula environment configuration - -Create the oneadmin bashrc file containing the ONE_XMLRPC environment variable with appropriate permissions: -@verbatim -files: - front_end:: - "/var/lib/one/.bashrc" - comment => "setup oneadmin env", - perms => mog("644", "oneadmin", "oneadmin"), - create => "true", - edit_line => append_if_no_line( - "export ONE_XMLRPC=http://localhost:2633/RPC2"); -@end verbatim -We also need to create the one_auth file: -@verbatim -files: - front_end:: - "/var/lib/one/.one/one_auth", - comment => "create open nebula auth file", - perms => mog("644", "oneadmin", "oneadmin"), - create => "true", - edit_line => append_if_no_line("username:password"); -@end verbatim -Finally password-less authentication for the oneadmin user: - -Add key to autorized_keys file: -@verbatim -files: - front_end:: - "/var/lib/one/.ssh/authorized_keys", - comment => "copy sshkey to authorized", - perms => mog("644", "oneadmin", "oneadmin"), - copy_from => local_cp("/var/lib/one/.ssh/id_rsa.pub"); -@end verbatim -Disable known hosts prompt: -@verbatim -front_end:: -"/var/lib/one/.ssh/config", - comment => "disable strict host key checking", - perms => mog("644", "oneadmin", "oneadmin"), - create => "true", - edit_line => append_if_no_line("Host * - StrictHostKeyChecking no"); -@end verbatim -Now on the node controller(s) we need to add the oneadmin group and -user with the same uid and gid as the front end and add the oneadmin -user to the libvertd group: -@verbatim -files: - node_controller:: - "/etc/passwd", - comment => "add oneadmin user to node controller", - edit_line => append_if_no_line("oneadmin:x:999:999::/srv/cloud/one:/bin/bash"); - - "/etc/group", - comment => "add oneadmin group to node controller", - edit_line => append_if_no_line("oneadmin:x:999:"); - - "/etc/group", - comment =>"add oneadmin to libvirtd group", - edit_line => append_user_field("libvirtd","4","oneadmin"); -@end verbatim -Now that the user environment is configured we can register our node controller with the front end: -@verbatim -files: - front_end:: - "/usr/bin/onehost create 192.168.1.2 im_kvm vmm_kvm tm_nfs", - contain => oneadmin; -@end verbatim -@node Network configuration, Virtual machine template configuration, Open Nebula environment configuration, Top -@unnumberedsec Network configuration - -Before we can create virtual networks we must configure our node controller interfaces. In this example we will bridge a virtual interface (vbr0) with eth0. First we define the contents of the interfaces file in a variable: -@verbatim -vars: -"interfaces_contents" slist => { - "auto lo", - "iface lo inet loopback", - "auto vbr0", - "iface vbr0 inet static", - "address 192.168.1.2", - "netmask 255.255.255.0", - "network 192.168.1.0", - "broadcast 192.168.1.255", - "gateway 192.168.1.1", - "dns-nameservers 192.168.1.1", - "bridge_ports eth0", - "bridge_stp off", - "bridge_maxwait 0", - "bridge_fd 0" - }; -@end verbatim -@noindent Next we edit the interfaces file to include our new settings: -@verbatim -files: -node_controller:: -"/etc/network/interfaces", - comment => "ensure bridge for open nebula vm networks", - edit_line => append_if_no_lines($(interfaces_contents)), - create => "true", - perms => mog("644", "root", "root"); -@end verbatim -And restart networking: -@verbatim -commands: - restart_networking:: - - "/etc/init.d/networking restart", - comment => "restart networking"; -@end verbatim -Now we have configured the network bridge we can create an Open Nebula -virtual network file and submit it to the system. The contents of the -virtual network template file could be defined as a variable as we -have seen before but in this case it is passed as a parameter to the -append promise body: -@verbatim -"/var/lib/one/network.template", - comment => "create lan template", - create => "true", - perms => mog("644", "oneadmin", "oneadmin"), - edit_line => append_if_no_line("NAME = \"VM LAN\" -TYPE = FIXED -BRIDGE = vbr0 -LEASES = [IP=192.168.1.100]"); -@end verbatim -The network template only deals with fixed ip addresses and provides only one lease. Obviously this should be altered to suite your requirements. Now we have a template we can register it with open nebula: -@verbatim -commands: - front_end:: - "/usr/bin/onevnet create /var/lib/one/network.template", - contain => oneadmin; - -@end verbatim - -@node Virtual machine template configuration, Open Nebula Commands, Network configuration, Top -@unnumberedsec Virtual machine template configuration - -@noindent This follows the same pattern as virtual network setup. First we create the template file: -@verbatim -files: - - "/var/lib/one/vm.template", - comment => "create vm template", - create => "true", - perms => mog("644", "oneadmin", "oneadmin"), - edit_line => append_if_no_line("NAME = ubuntu-10.04-i386 -CPU = 0.1 -MEMORY = 256 -DISK = [ - source = \"/var/lib/one/images/open_nebula.img\", - target = \"vda\", - readonly = \"no\" ] -DISK = [ - type = \"swap\", - size = 1024, - target = \"vdb\"] - -NIC = [ NETWORK = \"VM LAN\" ] -INPUT = [ TYPE = \"mouse\", BUS = \"ps2\" ] -GRAPHICS = [TYPE = \"vnc\", LISTEN = \"localhost\", PORT = 5910] -"); -@end verbatim -@noindent Now we can launch the virtual machine defined in its template file: -@verbatim -commands: - front_end:: - "/usr/bin/onevm create /var/lib/one/vm.template", - contain => oneadmin; -@end verbatim -@noindent If we increase the leases in our network template each time the onevm create command is issued a new virtual machine will be launched up to the number of available leases. - -@node Open Nebula Commands, Virtual machine configuration, Virtual machine template configuration, Top -@unnumberedsec Open Nebula Commands - -It should be noted that commands, particularly those that are Open -Nebula specific, will be run each time cf-agent is executed. Since this -goes against the idea of convergence it is necessary to add some -additional classification. One method is to create a 'stamp' file -after a particular command is successfully executed. If this file -exists then (or if its time stamp is older/newer than some value) the -machines classified as having to run the command loose that class -preventing future execution. - -@node Virtual machine configuration, Open Nebula Summary, Open Nebula Commands, Top -@unnumberedsec Virtual machine configuration - -With CFEngine preinstalled in our virtual machine image we can -configure our generic image to the required specification on the -fly. For community edition we will need to exchange keys and define -access rules to the virtual machine can collect the policy files. with -CFEngine nova this step is even simpler as we can set a start up -script to issue the bootstrap command so the new vm automatically -registers with the policy hub. - -Once registration is complete we can define a new class based on the -ip of our virtual machine. In this example that is 192.168.1.100 so we -can create a class with a meaningful name: -@verbatim -"webserver" or => {"192_168_1_100"}; -@end verbatim -@noindent Now we have define webserver we can simply apply promises to it as if it was any other machine for example: - -@menu -* Webserver in Open Nebula:: -@end menu - -@node Webserver in Open Nebula, , Virtual machine configuration, Virtual machine configuration -@unnumberedsubsec Webserver in Open Nebula - -First we install apache: - -@verbatim -packages: - webserver:: - - "apache2", - comment => "install apache2 on webserver vm", - package_policy => "add", - package_method => generic, - classes => if_ok("ensure_apache_running"); -@end verbatim -@noindent Next we ensure it is running -@verbatim -processes: - ensure_apache_running:: - - ".*apache2.*" - restart_class => "start_apache"; -@end verbatim -@noindent If not, the service is restarted -@verbatim -commands: - start_apache:: - - "/etc/init.d/apache2 restart"; -@end verbatim -@noindent Finally we can copy some content into the document root on our new virtual webserver: -@verbatim -files: - "/var/www" - - perms => system("744"), - copy_from => uu_scp("/root/webserver_site_files","192.168.1.6"), - depth_search => recurse("inf"), - action => u_immediate; -@end verbatim - -@node Open Nebula Summary, , Virtual machine configuration, Top -@unnumberedsec Open Nebula Summary - -Now we have a convergent self-repairing, Open Nebula powered private -cloud! The main benefits in combining CFEngine and Open Nebula are the -facility to increase infrastructure capacity just by connecting a new -node controller to the network, and then allowing CFEngine to -configure and maintain it over time. Finally, there is the hands-free -configuration of generic virtual machine images to an arbitrary -specification, without touching the virtual -machine itself. - -There is a vast array of configuration options and choices to be made -in an Open Nebula setup, as with CFEngine. This flexibility is one of -its strengths. This guide demonstrates only a small subset of possible -configuration choices aiming to provide a starting point for more -comprehensive setups. - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Packages.texinfo b/docs/guides/SpecialTopic_Packages.texinfo deleted file mode 100644 index 71e5b26db1..0000000000 --- a/docs/guides/SpecialTopic_Packages.texinfo +++ /dev/null @@ -1,559 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-packages.info -@settitle Package Management -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Package Management -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine interfaces with operating system package management systems -to offer best-effort convergent maintenance of software packages. -Package management can be subtle, due to the diverse behaviours of -different package managers. -@end quotation -@end cartouche - -@vskip 2cm - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What is package management?, (dir), (dir) -@top Package management - -@menu -* What is package management?:: -* Strengths and weaknesses of package management:: -* What does CFEngine bring to package management?:: -* Package promises:: -* How CFEngine compares package versions:: -* Example package promises:: -* Package management next steps:: -@end menu - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is package management?, Strengths and weaknesses of package management, Top, Top -@unnumberedsec What is package management? -@sp 1 -Package management is about managing software inventory. It includes -ensuring that software is installed on computers, and in the correct -versions. It includes patching and upgrading. Each operating system generally -has its own approved package manager and software source. Usually this -is supplied by the operating system provider. - -Some package managers allow users to create their own software -packages providing a uniform way of deploying software to systems. -Packaging software is common on GNU/Linux, where well-known package formats include RPM -and deb. - - -@node Strengths and weaknesses of package management, What does CFEngine bring to package management?, What is package management?, Top -@unnumberedsec Strengths and weaknesses of package management -@sp 1 - -Packages were introduced to bring a rational approach to handling software dependencies. -By dividing up applications and libraries into packages, one can share code efficiently -and assign the responsibility of updating and versioning to different maintainers. - -Package management is not a substitute for configuration -management. It only delivers preconfigured files into a specific -location. Packaged software cannot be customized to local needs -without post-installation adaptation. - - -@node What does CFEngine bring to package management?, Package promises, Strengths and weaknesses of package management, Top -@unnumberedsec What does CFEngine bring to package management? -@sp 1 - -CFEngine does not try to fight against package mangers, but rather -work with them. CFEngine integrates the idea of convergent -maintenance with package installation, so that one can be certain -of maintaining a desired state. - -Package managers do not usually have the -intelligence to be able to verify the actual state of software -configuration. Rather they assume that once a package is installed, -it will remain in a good state until an update is required. - -If one reinstalls a package, changes get blown away in favour of the -original matrix. Package installation is thus a `destructive' -installation mechanism. It overwrites whatever currently exists with a -prefabricated (and therefore approximate) version of what you -need. For generic software this is exactly what is required. However, -for complex software such as web services, this is entirely -insufficient to result in a working system. - -CFEngine brings convergent methods to package management, and allows surgically -precise customizations to be applied and maintained even after multiple -package upgrades. - - - -@node Package promises, How CFEngine compares package versions, What does CFEngine bring to package management?, Top -@unnumberedsec Package promises -@sp 1 - -To manage software, you write @code{packages} promises, analogous to any other kind of -promise in CFEngine. It makes sense to use lists to install packages if you -don't need to make complex specifications about versions. Keep it simple and -package management will be a simple matter. - -@cartouche -@verbatim - vars: - "match_package" slist => { - "apache2", - "apache2-mod_php5", - "apache2-prefork", - "php5" - }; - packages: - - "$(match_package)" - package_policy => "add", - package_method => yum; - -@end verbatim -@end cartouche - -Many users elect to install a basic `stem cell' image for all machines -in their environment, and then customize each machine to a specific -purpose by adding or subtracting packages from this stem cell starting -state. CFEngine can be used together with other tools like -@code{Cobbler} or @code{rPath} to accomplish this in a comfortable way -in your environment. If you are working in the cloud, this is the -default approach to management. You begin from a basic image and then -customize it by either hardening or extending the software inventory. - -@node How CFEngine compares package versions, Example package promises, Package promises, Top -@unnumberedsec How CFEngine compares package versions -@sp 1 - -Cfengine uses a model for packages that is generic enough to support all the known -package managers. It classifies packages into - -@table @i -@item Name -The name of the packet is usually the name of the software itself, e.g. @samp{cfengine}. -@item Version -Versions of a particular piece of software are described in wildly -different ways, causing a lot of confusion. For instance, a common -model is to use major version number, minor version number and patch -release number, e.g. 3.1.5. However, many maintainers slap on their -own additions, such as 3.1.5-2 or 3.1.5-2.el5. Because these models -are operating system, software and release specific, you have to know -the versioning numbers used on your operating systems and refer to -them properly. CFEngine cannot reliabily guess these things for you. - -@item Architecture -The architecture describes the hardware platform for execution, e.g. -@samp{x86_64} or @samp{i586}. This is important when package managers -store multiple architectures in the same repository. -@end table - - - -@node Example package promises, Package management next steps, How CFEngine compares package versions, Top -@unnumberedsec Example package promises -@sp 1 - -Let's look at some example cases to explain the behaviour of the interaction between CFEngine and -the package managers. - - - -@menu -* Install latest package version example:: -* Install specific package version example:: -* Uprading to a newer package version example:: -@end menu - -@node Install latest package version example, Install specific package version example, Example package promises, Example package promises -@unnumberedsubsec Install latest package version example -@sp 1 - - -Suppose there is a older version of @code{wget} installed on your machine. -@cartouche -@verbatim -redhat$ rpm -q wget -wget-1.10.2-7.el5 -@end verbatim -@end cartouche -@sp 1 -@noindent Now suppose you'd like to upgrade the package to the latest version available in a repository by using @code{yum}. -We make a promise such the following; -@verbatim -bundle agent test001 -{ - packages: - redhat:: - "wget" - package_policy => "addupdate", - package_method => yum, - package_select => ">=", - package_version => "1.11.4-2.el5_4.1", - package_architectures => { "x86_64" }; - -} -@end verbatim -@sp 1 -@noindent Now run this bundle: -@cartouche -@verbatim -redhat$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -redhat$ rpm -q wget -wget-1.11.4-2.el5_4.1 -@end verbatim -@end cartouche -@sp 1 -@noindent If there is no @code{wget} installed, CFE will install the lastest one for you. -@verbatim -redhat$ rpm -e wget -redhat$ rpm -q wget -package wget is not installed -redhat$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K -redhat$ rpm -q wget -wget-1.11.4-2.el5_4.1 -@end verbatim - -@node Install specific package version example, Uprading to a newer package version example, Install latest package version example, Example package promises -@unnumberedsubsec Install specific package version example -@sp 1 - -To install a specific version, we can just adapt the promise. -This example will use RPM as the YUM repository doesn't support multi-version packages. -@verbatim -bundle agent test002 -{ - packages: - redhat:: - "wget" - package_policy => "addupdate", - package_method => rpm_version("/root"), - package_select => "==", - package_version => "1.10.2-7.el5", - package_architectures => { "x86_64" }; - -} -@end verbatim -@sp 1 -@noindent Now see before and after: -@cartouche -@verbatim -redhat$ ls -l /root --rw-r--r-- 1 root root 595422 Apr 4 2007 wget-1.10.2-7.el5.x86_64.rpm --rw-r--r-- 1 root root 596335 Nov 5 2009 wget-1.11.4-2.el5_4.1.x86_64.rpm - -redhat$ rpm -q wget -package wget is not installed - -redhat$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -redhat$ rpm -q wget -wget-1.10.2-7.el5 -@end verbatim -@end cartouche -@sp 1 -@noindent To upgrade the package to a newer version, just change @samp{package_version} to a version you'd like; -@verbatim -bundle agent test003 -{ - packages: - redhat:: - "wget" - package_policy => "addupdate", - package_method => rpm_version("/root"), - package_select => "==", - package_version => "1.11.4-2.el5_4.1", - package_architectures => { "x86_64" }; - -} -@end verbatim -@sp 1 -@noindent Now see the result: -@cartouche -@verbatim -redhat$ rpm -q wget -wget-1.10.2-7.el5 - -redhat$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -redhat$ rpm -q wget -wget-1.11.4-2.el5_4.1 -@end verbatim -@end cartouche - -@sp 1 -@noindent Here is an example for Ubuntu, which supports both the APT and DPKG interfaces. - -@verbatim -bundle agent test004 -{ - packages: - ubuntu:: - "wget" - package_policy => "addupdate", - package_method => apt, - package_select => ">=", - package_version => "1.12-1.1ubuntu2.1", - package_architectures => { "*" }; -} -@end verbatim -@sp 1 -@noindent Before and after: -@cartouche -@verbatim -ubuntu$ dpkg -l | grep wget -ii wget 1.10.2-3ubuntu1.2 retrieves files from the web - -ubuntu$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -ubuntu$ dpkg -l | grep wget -ii wget 1.12-1.1ubuntu2.1 retrieves files from the web -@end verbatim -@end cartouche -@sp 1 -@noindent Similarly, we can use the "dpkg" interface to install specific version of the software. - -@verbatim -bundle agent test005 -{ - packages: - ubuntu:: - "wget" - package_policy => "addupdate", - package_method => dpkg("/root"), - package_select => "==", - package_version => "1.10.2-3ubuntu1.2", - package_architectures => { "*" }; -} -@end verbatim -@sp 1 -@noindent Before and after: -@cartouche -@verbatim -ubuntu$ dpkg -l | grep wget - -ubuntu$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -ubuntu$ dpkg -l | grep wget -ii wget 1.10.2-3ubuntu1.2 retrieves files from the web -@end verbatim -@end cartouche -@node Uprading to a newer package version example, , Install specific package version example, Example package promises -@unnumberedsubsec Uprading to a newer package version example -@sp 1 - - -To upgrade to a newer version of apackage, we simply assign a newer version to package_version -and change the policy to include updating. -@verbatim -bundle agent test006 -{ - packages: - ubuntu:: - "wget" - package_policy => "addupdate", - package_method => dpkg("/root"), - package_select => "==", - package_version => "1.12-1.1ubuntu2.1", - package_architectures => { "*" }; -} -@end verbatim -@sp 1 -@noindent Before and after the keeping of this promise: -@cartouche -@verbatim -ubuntu$ dpkg -l | grep wget -ii wget 1.10.2-3ubuntu1.2 retrieves files from the web -ubuntu$ cf-agent -f /tmp/test.cf -K -ubuntu$ dpkg -l | grep wget -ii wget 1.12-1.1ubuntu2.1 retrieves files from the web -@end verbatim -@end cartouche -@sp 1 -@noindent Here is an example using the @code{zypper} package manager: -@verbatim -bundle agent test007 -{ - packages: - SuSE:: - "tcpdump" - package_policy => "addupdate", - package_method => zypper, - package_select => ">=", - package_version => "4.1.1-1.11", - package_architectures => { "x86_64" }; -} -@end verbatim -@sp 1 -@noindent Before and after running the agent: -@cartouche -@verbatim -suse$ rpm -q tcpdump -tcpdump-4.0.0-2.1.x86_64 - -suse$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -suse$ rpm -q tcpdump -tcpdump-4.1.1-1.11.x86_64 -@end verbatim -@end cartouche -@sp 1 -@noindent Finally, since SuSE uses RPM as a native format so we can use @samp{package_method rpm()} from above. -@verbatim -bundle agent test008 -{ - packages: - SuSE:: - "tcpdump" - package_policy => "addupdate", - package_method => rpm_version("/root"), - package_select => "==", - package_version => "4.0.0-2.1", - package_architectures => { "x86_64" }; -} -@end verbatim -@cartouche -@verbatim -suse$ ls -l /root --rw-r--r-- 1 root root 571158 2009-10-19 20:36 tcpdump-4.0.0-2.1.x86_64.rpm --rw-r--r-- 1 root root 318279 2010-07-05 23:37 tcpdump-4.1.1-1.11.x86_64.rpm - -suse$ rpm -q tcpdump -package tcpdump is not installed - -suse$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -suse$ rpm -q tcpdump -tcpdump-4.0.0-2.1.x86_64 -@end verbatim -@end cartouche -@sp 1 -@noindent Changing to a new version: -@verbatim -bundle agent test009 -{ - packages: - SuSE:: - "tcpdump" - package_policy => "addupdate", - package_method => rpm_version("/root"), - package_select => "==", - package_version => "4.1.1-1.11", - package_architectures => { "x86_64" }; -} -@end verbatim -@sp 1 - -@noindent Before and after: -@cartouche -@verbatim -suse$ rpm -q tcpdump -tcpdump-4.0.0-2.1.x86_64 - -suse$ /var/cfengine/bin/cf-agent -f /tmp/test.cf -K - -suse$ rpm -q tcpdump -tcpdump-4.1.1-1.11.x86_64 -@end verbatim -@end cartouche - - - -@node Package management next steps, , Example package promises, Top -@unnumberedsec Package management next steps - -The CFEngine standard library contains package manager methods for all -major operating systems and managers. Check out the reference -documentation too to learn about extended features of package -integration. Visit also the community forum to hear about reach -experiences. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_RBAC.texinfo b/docs/guides/SpecialTopic_RBAC.texinfo deleted file mode 100644 index 55ee2b7f02..0000000000 --- a/docs/guides/SpecialTopic_RBAC.texinfo +++ /dev/null @@ -1,679 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-rbac.info -@settitle Role Based Access Control and CFEngine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Role Based Access Control and CFEngine -@subtitle A CFEngine Special Topics Handbook -@author CFEngine - - -@page - -@cartouche -@quotation -Role Based Access Control (RBAC) is a well known paradigm for granting -privileged access to remote command systems. The paradigm of RBAC does -not apply directly to CFEngine because CFEngine is an autonomous -system that does not grant change privileges to external -users. Role-based read-privileges can be granted through the CFEngine -Nova Mission portal. - -This document is aimed at security experts who are trying to -understand transference of privilege in a CFEngine managed system. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - - -@node Top, What is Role Based Access Control?, (dir), (dir) -@top RBAC -@menu -* What is Role Based Access Control?:: -* The risks of RBAC:: -* CFEngine's approach to privilege:: -* The chain of privilege in CFEngine:: -* The role of centralized push and pull in RBAC:: -* No need for any centralization in CFEngine:: -* The risk from centralized trusted hosts:: -* The Policy Dispatch Point:: -* The right to edit and publish policy:: -* The bowtie process:: -* Granting the right to switch on special pre-defined policies:: -@end menu - - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is Role Based Access Control?, The risks of RBAC, Top, Top -@unnumberedsec What is Role Based Access Control? - -Role Based Access Control (RBAC) describes a set of promises made by a host -to grant privileged access to the system. In this regard, RBAC is no -different from any other form of access control, however, it is -normally used to grant the privilege to execute certain commands that -make changes to the system -- thus it involves @i{write} or @i{change} -privilege. - -The term @i{role}-based is used because users are often classified -into managerial roles that are each assigned different levels of privilege -with regard to the kind of tasks they need to perform. - -Role Based Access Control is used when remote users request access to -a privileged service from some kind of service-agent running on a host. -For example, the password on the Unix root account is a simple RBAC system where -access is granted to execute any command with unlimited privilege, to -any user who knows the root password. - -@sp 1 -@center @image{rbac,10cm} -@sp 1 -@center RBAC is about remote action privilege -@sp 1 - - -@node The risks of RBAC, CFEngine's approach to privilege, What is Role Based Access Control?, Top -@unnumberedsec The risks of RBAC - -Granting privilege to execute commands has obvious risks. The -implementation of restricted access is usually handled in one of a -number of different ways. The term RBAC does not explain, in itself, -which of these models will be used. - -Two common alternatives may be distinguished: - -@table @i -@item Arbitrary commands may be executed by privileged individuals (trusted user model). - -This is a high risk privilege granting system, where arbitrary change privileges are granted to -users. - -@item Pre-defined privileged operations may be made accessible to certain individuals/roles (Clark-Wilson model). - -This is a lower risk system, where users are only allowed privilege while executing very specific -pre-defined activities (e.g. the right to initiate a backup). - -@end table - -@node CFEngine's approach to privilege, The chain of privilege in CFEngine, The risks of RBAC, Top -@unnumberedsec CFEngine's approach to privilege - - -CFEngine handles privileged access somewhat differently. To see why, it is important -to understand what CFEngine is not: -@itemize -@item CFEngine is not a service agent that grants remote change access to systems. -@item CFEngine is not a remote-control for system operations@footnote{Many provisioning and management systems are indeed -effectively remote execution agents and thus RBAC is more relevant to them.}. -@end itemize -CFEngine is intended for autonomous hands-free operation, and thus the -issue of remote access almost never arises directly. -In CFEngine it is expressly forbidden for a -part of CFEngine to receive commands from external parties. In a -limited sense, CFEngine can be configured to listen for requests for -classes that label the context for extraordinary, predefined -policies; these can then be activated by certain users (@code{roles} -promises), providing a version of the second form of RBAC above. We shall return to this -below. - -@cartouche -By design it is not possible to send instructions to CFEngine that have -not been pre-approved by the host administrator and promised as -policy. Ultimately the local host administrator can veto any proposals -for change in any configuration system (e.g. by unplugging the network). - -In CFEngine this is made a central tenet of the management model. -@end cartouche - -From a security perspective, the elimination of remote command access -presents a huge simplification to security, without loss of -functionality. The risk of executing privileged commands on the system is -exchanged for a right to submit policy changes. Thus the access control -becomes a matter of @i{who is allowed to approve policy for dissemination} to the system. - -@node The chain of privilege in CFEngine, The role of centralized push and pull in RBAC, CFEngine's approach to privilege, Top -@unnumberedsec The chain of privilege in CFEngine - -Even though CFEngine is not in the business of granting privilege for command execution, there -are security implications to using CFEngine and thus we should -examine the chain of influence from user to host to understand the implications. - -In normal usage, users work as follows: - -@itemize -@item A user edits a CFEngine input file. -@item The input file determines a promise proposal, or template for policy. -@item Someone publishes the policy for dissemination to interested parties. -@item Interested parties (hosts running CFEngine) may choose to download these new propsals -from trusted sources. These sources are defined in the existing policy which may always -be vetoed by a local administrator. - -@item CFEngine will execute the new policies with the maximum privilege granted to it. -This privilege can be altered: -@itemize -@item By virtue of the privilege with the CFEngine itself runs. -@item By the privilege accorded to a promise as a matter of its own policy. -@end itemize -@end itemize -When planning for the security of system changes, one should assume that any promise -written in a CFEngine policy will be enforced with maximum privilege. - -@node The role of centralized push and pull in RBAC, No need for any centralization in CFEngine, The chain of privilege in CFEngine, Top -@unnumberedsec The role of centralized push and pull in RBAC - -Centralization is a strategy of collecting resources into a single location. A central resource -often becomes authoritative for a collection of hosts. Centralization has -positive and negative aspects - -@itemize -@item As a single point of direction, it simplifies the coordination of multiple agents (like a conductor in an orchestra). -@item It can be a single point of failure, and a bottleneck for operations. Becauses centralization concentrates effort, -brute force must be used by a hub when scaling to many hosts around a centralized strategy. -@end itemize - -@sp 1 -@cartouche -In terms of privilege, the implications of centralization are significantly -different for @i{push} and @i{pull} based systems (see the figures below). -@end cartouche -@sp 1 - -Let us first consider the general problem, without reference to CFEngine. -@sp 1 -@center @image{central_push,9cm} -@center Pushing out requires distributed RBAC control (read/write). -@sp 1 -A @i{push} is defined to be either -@itemize -@item The involuntary transmission of data to hosts -from a hub, or -@item The remote execution of commands from the hub to the hosts. -@end itemize -We see easily from the figures below that configuration of adequate access control -requires access control configuration to be implemented on every managed host. -If the hosts require different levels of access in different zones, for instance, -this requires a distributed configuration control of the RBAC system itself across -the affected hosts. There is thus a burden to setting up RBAC. - -@cartouche -One configures a system for a @i{push} -system just as one configures a system against attack from outside. In configuration -terms, push is indistinguishable from an attack. -@end cartouche - -Pull-based management is fundamentally different. In a pull model, hosts -download public information (their policy) from a trusted source. -@sp 1 -@center @image{central_pull,10cm} -@center Pulling updates requires only centralized RBAC control for change, -@center but not for the update itself (read only). -@sp 1 -There is no need for access control on the hosts anymore, since they -are only reading information voluntarily. They may simply reject all attempts -to send them data, in favour of their voluntary decision to download -updates. - -Moving from push to pull-based configuration simplifies the number -of independent points of configuration from @math{N} to 1, and the location -of access control information is simplified from @math{N} separate models -to a single model at the hub. The hub can decide which hosts -will have access to which policy proposals, so there is no loss -of privacy: the security model's definition is fully centralized (single point of definition for consistency). - -@cartouche -@itemize -@item Push-based approaches have centralized execution, but distributed RBAC configuration of the management setting. -Multiple, inconsistent pushes from different hubs can even lead to distributed inconsistency that cannot be detected from -any single location. - -@item Pull-based approaches have distributed execution, but a single point of security configuration. -Inconsistent pulls are impossible, as there is a single point of definition. -@end itemize -@end cartouche -At CFEngine, we strongly believe that pull-based systems are superior -for most purposes, because pull's distributed operation reduces the -risk of the bottleneck, while the centralized definition of access -rights reduces the risk of error. - -In all further sections, we assume CFEngine's pull-based model. - - - -@node No need for any centralization in CFEngine, The risk from centralized trusted hosts, The role of centralized push and pull in RBAC, Top -@unnumberedsec No need for any centralization in CFEngine - -Before continuing, it is important to emphasize that CFEngine has no -technological @i{need} for centralization. The decision to centralize -management is a policy decision. Every host can, if desired, be configured as an -independent device, with its own policy, making no contact with any -external host. CFEngine is thus ideal for embedded systems and -environments with partial connectivity, such as ships and submarines. -Nevertheless, centralized management is often chosen for its simple -coordination of decision making. What is important to realize is that -centralized decision-making is a convenient fiction for managers -- -no remote party can truly decide the state of a host. - -@cartouche -The owner of a machine always has the privilege to make changes to it. -Push-based models of management that pretend to control hosts absolutely -are simply misleading, as they exist by the good grace of end systems. -@end cartouche - -In the remainder of this Special Topics Guide, we shall assume the -common model of centralized management, because that is the -context in which RBAC is relevant. - - - -@node The risk from centralized trusted hosts, The Policy Dispatch Point, No need for any centralization in CFEngine, Top -@unnumberedsec The risk from centralized trusted hosts - -Centralization has implications for risk@footnote{A single point of -definition could also be a single point of failure. In CFEngine, a -central policy hub is not a point of failure, because each agent -caches all the resources it needs to maintain systems according to its -current model. At worst, the loss of a hub would mean a delay to -updates.}. Gaining malicious control of a trusted source could have a -significant impact on all the hosts that subscribe to updates from it. - -The risk, in this case, is precisely the same as that for a push-based system that executes -certain commands. However, the task of defending a single trusted -host is (at least psychologically) simpler than that of defending all -the hosts in the network@footnote{User who are adept at automated -configuration might disagree, as automation makes it easy to harden -all hosts equally well. Network policies such as firewalls, etc, are -however, simpler to manage for a single host.}. - -The risk of propagating a bad change (i.e. an unfortunate mistake) is also no -different between push and pull. A bad decision is simply a bad -decision. The antidote to human errors is to conduct policy reviews, i.e. use -more pairs of eyes, or `dual-key' solutions. - -@cartouche -Centralize the writing of policy, within a local region to obtain -straightforward consistency. Don't overcentralize, or you will oversimplfy. -One size rarely fits all (see the @i{Special Topics Guide on Federation and Organizational Complexity}). -RBAC then becomes an issue of: who should -have the right to edit and publish changes to policy? -@end cartouche - -@node The Policy Dispatch Point, The right to edit and publish policy, The risk from centralized trusted hosts, Top -@unnumberedsec The Policy Dispatch Point - -The burden of security is now localized entirely at the Policy Dispatch Point. -It becomes the responsibility of this `role' (policy dispatcher) to ensure -that the desired state is in fact the one that is promised. This happens -in two practical steps: - -@itemize -@item Editing of an SVN repository of working proposals (access to change respository). -@item Merging of changes into the actual published policy (bowtie process). -@end itemize - -Where the highest levels of paranoia are justified, no host should -receive automatic updates of policy without explicit human inspection -and policy review. This is equivalent to allowing no RBAC privileges. - -@node The right to edit and publish policy, The bowtie process, The Policy Dispatch Point, Top -@unnumberedsec The right to edit and publish policy - -Let's recap' for a moment. The CFEngine agent runs with maximum -system privilege (root/Administrator), and makes its decisions based -on a set of promise proposals that come from some trusted source, -e.g. the owner of the machine, or some central policy decision point. -Once a set of proposals has been published, we simply call these `the policy'. The agent on -each host reads these proposals and picks out those that are relevant -to the current context (`here and now') for each host. The agent then -tries to keep these promises, by making any necessary changes to the -system. For most common usages of CFEngine, the effect is that -anything that is in the published policy is executed with up to -maximum privilege. - -This means the following: - -@table @i -@item Any user who can edit the actual source policy has control over a host. - -The policy should not be writable by any unauthorized user, in any location -where it will be picked up as part of the policy-appoved process for updating -policy@footnote{Note that the decision to collect policy updates from somewhere is -itself a policy decision in CFEngine, so users should always think carefully -about these decisions.}. - -@item Any user who can cause a new version of the policy to be published for immediate use has privileged access. - -RBAC now means limiting access to the files that define policy. - -@item If policy is automatically checked out of a repository, commit access to the respository can give privileged access. - -There should be a process of approval for changes made to policy. This should be a human -process, because ultimately a human must be responsible for publishing a policy. In this situation, RBAC now -consists of granting access to make commits to the repository. - -@end table - -The conclusion of this section is that only a small number of highly trusted individuals -should be able to alter policy themselves. - - - -Distributed coordination. RBAC is a poor tool for delegating tasks alone, because if multiple -individuals with access rights are not coordinated in their promises, the result will merely be -a conflict. - -@node The bowtie process, Granting the right to switch on special pre-defined policies, The right to edit and publish policy, Top -@unnumberedsec The bowtie process - -Promise theory allows us to model the collaborative security -implications of this (see the figure of the bow-tie structure). A -simple method of delegating is the following. - -@enumerate -@item Delegate responsibility for different issues to admin teams 1,2,3, etc. -@item Make each of these teams responsible for version control of their own -configuration rules. -@item Make an intermediate agent responsible for collating and vetting the rules, checking for -irregularities and conflicts. This agent must promise to disallow rules by -one team that are the responsibility of another team. The agent could be a -layer of software, but a cheaper and more manageable solution is the make this -another group of one or more humans. - -@item Make the resulting collated configuration version controlled. Publish -approved promises for all hosts to download from a trusted source. - - -@end enumerate - -A review procedure for policy-promises is a good solution if you want -to delegate responsibility for different parts of a policy to -different sources. Human judgement as the `arbiter' is irreplaceable, -but tools can be added to make conflicts easier to detect. - -Promise theory underlines that, if a host or computing device accepts -policy from any source, then it is alone and entirely responsible for -this decision. The ultimate responsibility for the published version -policy is the vetting agent. This creates a shallow hierarchy, but -there is no reason why this formal body could not be comprised of -representatives from the multiple teams. - -The figure below shows how a number of policy authoring teams can work together -safely and securely to write the policy for a number of hosts, by vetting through -a checkpoint, in a classic `bow-tie' formation. - -@image{delegate,15cm,,Delegation of responsibility requires vetting access,png} - - -@node Granting the right to switch on special pre-defined policies, , The bowtie process, Top -@unnumberedsec Granting the right to switch on special pre-defined policies - -CFEngine offers one technological convenience that is relevant to RBAC. -In the Clark-Wilson security model, non-privileged users can be -granted limited privilege to execute predefined commands that are -locked down to specific actions. The Unix @code{ps} and @code{passwd} -commands are examples of this, for example. - -Most users do not need to touch CFEngine at all, because policy is -checked very regularly and promises are enforced with 5 minute -intervals. In other words, for most users, just waiting will fix anny -problem. In some cases, there are extraordinary promises or tasks that -one does not want implemented without human oversight. In that -instance, one places the relevant promises in a context that is not normally -active. Users can then activate those sleeping promises by defining the -context class manually. -@verbatim -bundle agent mybundle -{ -files: - - extraordindary:: - - # ... promises ... -} -@end verbatim -Privileged users who have access to the system do not need RBAC to do this -as they already have all credentials they need, and can achieve the same thing -by running the agent with a defined class, e.g. - -@verbatim - -host# cf-agent -D extraordinary - -@end verbatim -However, it is also possible to grant access to these parts of a CFEngine policy that are normally -switched off by using @code{cf-serverd} to mediate privilege to execute the agent with this class -active. For example, setting: - -@verbatim -bundle server access_rules() -{ -roles: - - # Allow mark - - "extraordinary" authorize => { "mark", "sally" }; -} - -@end verbatim -and running: -@verbatim - -host# cf-runagent -H special_host -D extraordinary - -@end verbatim -would achieve the same effect without granting any rights to change -the policy. - -In this example CFEngine promises to grant permission to users -@samp{mark} and @samp{sally} to remotely activate classes matching the regular -expression @samp{extraordinary} when using the @code{cf-runagent} to -activate CFEngine. In this way one can implement a form of Role Based -Access Control (RBAC) for unprivileged users, provided users do not -have privileged access on the host directly. User identity is based on -trusted CFEngine keys created by the user and exchanged with the -server. - - -@unnumberedsec RBAC-filtered read-access in CFEngine Nova - -CFEngine Nova 2.2.0 introduces Role Based Access Control (RBAC) for all -reports and promises shown in the Mission Portal. This does not cover -access control for making policy changes, but displaying reports. - -RBAC can be globally switched on or off in the Mission Portal settings. - -@unnumberedsec Authentication - -User-authentication is carried out when users log in to the Mission -Portal. This is done by requiring a user name and password, which is -checked against the following possible sources. - -@itemize -@item Internally defined in the Mission Portal -@item LDAP -@item Acitive Directory -@end itemize - -The selection between these options are available in the Mission -Portal settings. - - -@unnumberedsec Authorization - -The information a user is authorized to see is determined from his -role memberships. A user may be member of an arbitrary number of -roles, each which may grant and deny access to certain -information. - -The effective permissions of a user is the cumulative set of -permission granted or denied by his roles, and is used to filter the -information displayed in the following standard way. - -@itemize -@item Create a union of the granted access for the roles. -@item Override with the rules that deny access for the roles. -@item If left unspecified, access is denied. -@end itemize - - -@unnumberedsec Entities filtered - -RBAC is supported on the @emph{host} and @emph{promise bundle} level, -each applying to different parts of the Mission Portal. Both these -entities are atomic with respect to RBAC --- either a user can see -everything they contain, or nothing of it. - -Access to a host is required to see any information about it, e.g. all -its reports (Engineering->Reports), host page, and compliance -category. If a user is not allowed access to a host, the Mission -Portal would look the same as if the host was not bootstrapped to that -hub. - -Information about the running policy is also available in the Mission -Portal, either through the Promise Finder at the Engineering page, or -by clicking a promise handle from one of the reports. The searchable -promises in the Promise Finder and information pages about promises -and bundles are filtered in the same manner as the hosts, but defined -based on promise bundles instead. The Policy Editor is not covered by -RBAC --- access to the policy source repository allows the user to see -the whole policy. Some version control systems can be configured to -only allow users to access sub-directories of the policy, which may -help in this case. - -Note that the host and promise filtering is independent --- no attempt -is made to try to infer which promises a role should have access to -based on the hosts it has access to or vice versa. - - -@unnumberedsec Defining roles - -From the above discussion, we see that a role is defined as reporting -access to a set of hosts and promise bundles from the Mission Portal -and REST API. This does not give any rights with respect to changing -the content or execution of the policy. It should not be confused with -the @code{roles} promise-type that can be used by @code{cf-runagent} -and @code{cf-serverd}. - -In order to scale, both entities are -defined as a set of @emph{regular expressions} to allow and -deny. - -Access to hosts is defined by regular expressions on @emph{classes}, -not the hostname, ip, or any other name. This is done to ensure -maximum scalability. Classes can be arbitrarily defined in the -CFEngine policy language, so this incurs no loss of flexibility, but -ensures distributed computation. - -In contrast to users, a role definition and membership can only be -obtained from the internal Mission Portal database. This means that -any roles must be defined through the Mission Portal web interface, -and can not be obtained from e.g. LDAP at this time. The rationale is -that querying complex LDAP structures for role membership is too -inefficient and error-prone. This may change in future releases, if -requested. Note that the @emph{possible members} of a role can be -obtained from other sources, as described in @samp{Authentication} -above. However, assigning possible members to roles must be done -through the Mission Portal user-interface. - -A sample definition of the role @samp{lob_a} is shown below. - -@center @image{role-define-loba,12cm,,Defining a role,png} - -Only members of the @samp{admin} role has the ability to manipulate -roles and their memberships. - -After defining the role itself, the next step is to make the -designated users members of the role, using the Mission Portal. - - - -@unnumberedsec Limitations - -@itemize - -@item Notes added in the Mission Portal are not filtered: they can be -seen by all users (including notes added to any host page). - -@item The Knowledge Map is only available for members of the -@samp{admin} role when RBAC is switched on. - -@item Running @code{cf-report} from the command-line on the hub will -bypass all RBAC checks. - -@end itemize - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Reporting.texinfo b/docs/guides/SpecialTopic_Reporting.texinfo deleted file mode 100644 index afa2b05a13..0000000000 --- a/docs/guides/SpecialTopic_Reporting.texinfo +++ /dev/null @@ -1,890 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-reporting.info -@settitle Reporting -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Monitoring and Reporting -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -A significant capability of CFEngine Nova over previous versions of -CFEngine is the existence of automated system reporting. CFEngine collects -history, state and change data about computers and ties them together. - -The CFEngine strategy is to replace conventional CMDBs with a more -scalable and flexible approach to information mining over the coming -years. Commercial versions of CFEngine are designed to bring state of -the art methods to the problem of information management for IT -operations. - -Users of CFEngine's Community Edition can use in-built logging and -reporting functions to simulate some aspects of these reports, by applying -simple principles with work and ingenuity. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex - - -@node Top, What are monitoring and reporting?, (dir), (dir) -@top Reporting -@menu -* What are monitoring and reporting?:: -* Should monitoring and configuration be separate?:: -* Reporting in CFEngine:: -* Standard reports in CFEngine:: -* CFEngine output levels:: -* Creating custom reports -- all versions:: -* Including data in reports:: -* Creating custom logs:: -* Redirecting output to logs:: -* Change auditing - the all seeing eye:: -* Cheaper options - tripwires:: -* Commerical edition measurements promises:: -* Hub reporting:: -* Mission Portal access to the hub:: -* Command line access to the hub:: -* Example command hub searches :: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What are monitoring and reporting?, Should monitoring and configuration be separate?, Top, Top -@unnumberedsec What are monitoring and reporting? - -@sp 1 -Monitoring is the sampling of system variables at regular intervals in -order to present an overview of actual changes taking place over time. -Monitoring data are often presented as extensive views of moving-line -time series. Monitoring has the ability to detect anomalous behaviour -by comparing past and present. - -The term @i{reporting} is usually taken to mean the creation of short -summaries of specific system properties suitable for -management. System reports describe both promises about the system, -such as compliance, discovered changes and faults. - -The challenge of both these activities is to compare @i{intended} or -@i{promised}, behaviour with the @i{actual} observed behaviour of the -system. - -@node Should monitoring and configuration be separate?, Reporting in CFEngine, What are monitoring and reporting?, Top -@unnumberedsec Should monitoring and configuration be separate? - -@sp 1 -The traditional view of IT operations is that configuration, -monitoring and reporting are three different things that should not be -joined. Traditionally, all three have been independent centralized -processes. This view has emerged historically, but it has a major -problem. Humans are needed to glue these parts back together. - -Monitoring as an independent activity is inherently non-scalable. -When numbers of hosts grow beyond a few thousands, centralized -monitoring schemes fail to manage the information. Tying configuration -(and therefore repair) to monitoring at the host level is essential -for the effective management of large and distributed data facilities. -CFEngine foresaw this need in 1998, with its Computer Immunology -initiative, and continues to develop this strategy. - -CFEngine's approach is to focus on scalability. The commercial editions -of CFEngine provide what meaningful information they can in a manner that -can be scaled to tens of thousands of machines. - - -@node Reporting in CFEngine, Standard reports in CFEngine, Should monitoring and configuration be separate?, Top -@unnumberedsec Reporting in CFEngine -@sp 1 - -@cartouche -If you have regular reporting needs, we recommend using our commercially supported -version of CFEngine (CFEngine Nova or above), as you will save considerable time -and resources in programming, and you will have access to the latest developments -through the software subscription. -@end cartouche - -No promises made in CFEngine imply automatic aggregation of data to a central -location. In commercial CFEngine versions, e.g. CFEngine Nova, an optimized -aggregation of standardized reports is provided, but the ultimate decision to -aggregate must be yours. - -Monitoring and reporting capabilities in CFEngine depend on the -software version include: - -@itemize -@item @b{Community Edition:} Basic output to file or logs may be customized on a per-promise basis. Users can design their own log and report formats, but data processing and extraction from CFEngine's embedded databases must be scripted by the user. - -@item @b{Nova:} In addition to community features, Nova/Enterprise provides automated extraction of -data from CFEngine's self-learning agents, and the generation of a -standard set of reports in text, HTML or XML formats. Nova summarizes -distributed data and provides simple compression and aggregation of -these summaries. Finally summaries are tied into a knowledge map or -semantic index for browsing by IT operations. Command line tools in -@code{cf-report} are also available for Nova users to browse network-wide data. - -@ignore -@item @b{Constellation:} In addition to Nova features, Constellation performs -additional data extraction from the collected reports. It analyses correlations -and provides reverse look up of system attributes based on searchable expressions. -At this level, CFEngine exceeds other industry CMDB solutions in both reporting -and configuration. -@end ignore - -@end itemize - -@node Standard reports in CFEngine, CFEngine output levels, Reporting in CFEngine, Top -@unnumberedsec Standard reports in CFEngine - -The following list of reports are only available in full in commercial editions of -CFEngine. Some sample reports are provided in the Community Edition. -@table @emph -@item Available patches report -Patches already installed on system if available. -@item Classes report -User defined classes observed on the system -- inventory data. -@item Compliance report -Total summary of host compliance, all promises aggregated over time. -@item File_changes report -Latest observed changes to system files with time discovered. -@item File_diffs report -Latest observed differences to system files, in a simple diff format. -@item Hashes report -File hash values measured (change detection). -@item Installed patches report -Patches not yet installed, but published by vendor if available. -@item Installed software report -Software already installed on system if available. -@item Lastseen report -Time and frequency of communications with peers, host reliability. -@item Micro-audit report -Generated by CFEngine self-auditing. This report is not aggregated. -@item Monitor summary report -Pseudo-real-time measurement of time series data. -@item Performance report -Time cost of verifying system promises. -@item Promise report -Per-promise average compliance report over time. -@item Promises not kept report -Promises that were recently un-kept. -@item Promises repaired report -Promises that were recently kept by repairing system state. -@item Setuid report -Known setuid programs found on system. -@item Variables report -Current variable values expanded on different hosts. -@end table - -@node CFEngine output levels, Creating custom reports -- all versions, Standard reports in CFEngine, Top -@unnumberedsec CFEngine output levels -@sp 1 - -CFEngine's default behaviour is to report to the console (known as -standard output). It's default behaviour is to report nothing except -errors that are judged to be of a critical nature. - -By using CFEngine with the inform flag: -@verbatim -# cf-agent -I -# cf-agent --inform -@end verbatim -@noindent you can alter the default to report on action items (actual changes) -and warnings. - -By using CFEngine with the verbose flag: -@verbatim -# cf-agent -v -# cf-agent --verbose -@end verbatim -@noindent you can alter the default to report all of its thought-processes. -You should not interpret a message that only appears in CFEngine's -verbose mode as an actual error, only as information that might be relevant -to decisions being made by the agent. - -@node Creating custom reports -- all versions, Including data in reports, CFEngine output levels, Top -@unnumberedsec Creating custom reports -- all versions -@sp 1 - -CFEngine allows you to use @code{reports} promises to -make reports of your own. A simple example of this is shown below. - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} - -# - -bundle agent test -{ -reports: - - cfengine_3:: - - "$(sys.date),This is a report" - report_to_file => "/tmp/test_log"; -} - -@end verbatim - - -@noindent We can apply this idea to make more useful custom -reports. In this example, the agent tests for certain software -package and creates a simple HTML file of existing software. - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} - -# - -bundle agent test -{ -vars: - - "software" slist => { "gpg", "zip", "rsync" }; - -classes: - - "no_report" expression => fileexists("/tmp/report.html"); - "have_$(software)" expression => fileexists("/usr/bin/$(software)"); - -reports: - - no_report:: - - " - - Name of this host is: $(sys.host)
- Type of this host is: $(sys.os)
- " - - report_to_file => "/tmp/report.html"; - - # - - " - Host has software $(software)
- " - - ifvarclass => "have_$(software)", - report_to_file => "/tmp/report.html"; - - # - - " - - " - report_to_file => "/tmp/report.html"; - -} -@end verbatim - -@noindent The outcome of this promise is a file called @file{/tmp/report.html} -containing output like this: - -@verbatim - - Name of this host is: atlas
- Type of this host is: linux
- - Host has software gpg
- - Host has software zip
- - Host has software rsync
- - -@end verbatim - -The mechanism shown above, can clearly be used to create a wide -variety of report formats, but it requires a lot of coding and -maintenance by the user. - -@cartouche -CFEngine Nova simplifies this kind of report generation by enabling -and updating many out-of-the-box reports directly from the -@code{cf-report} agent. -@end cartouche - -@node Including data in reports, Creating custom logs, Creating custom reports -- all versions, Top -@unnumberedsec Including data in reports - -CFEngine generates information internally that you might want to use -in reports. For example, the agent @code{cf-agent} -interfaces with the local light-weight monitoring -agent @code{cf-monitord} so that system state can be reported simply: - -@verbatim - -body common control - -{ -bundlesequence => { "report" }; -} - -########################################################### - -bundle agent report - -{ -reports: - - linux:: - - "/etc/passwd except $(const.n)" - - showstate => { "otherprocs", "rootprocs" }; - -} - -@end verbatim - -@noindent A corollary to this is that you can get CFEngine to report -system anomalies. - -@verbatim -reports: - - rootprocs_high_dev2:: - - "RootProc anomaly high 2 dev on $(mon.host) at approx $(mon.env_time) - measured value $(mon.value_rootprocs) - average $(mon.average_rootprocs) pm $(mon.stddev_rootprocs)" - - showstate => { "rootprocs" }; - - entropy_www_in_high&anomaly_hosts.www_in_high_anomaly:: - - "High entropy incoming www anomaly on $(mon.host) at $(mon.env_time) - measured value $(mon.value_www_in) - average $(mon.average_www_in) pm $(mon.stddev_www_in)" - - showstate => { "incoming.www" }; - -@end verbatim - -@noindent This produces standard output of the form: - -@cartouche -@verbatim -R: State of otherprocs peaked at Tue Dec 1 12:12:21 2009 - -R: The peak measured state was q = 98: -R: Frequency: [kjournald] |** (2/98) -R: Frequency: [pdflush] |** (2/98) -R: Frequency: /var/cfengine/bin/cf-execd|** (2/98) -R: Frequency: COMMAND |* (1/98) -R: Frequency: init [5] |* (1/98) -R: Frequency: [kthreadd] |* (1/98) -R: Frequency: [migration/0] |* (1/98) -R: Frequency: [ksoftirqd/0] |* (1/98) -R: Frequency: [events/0] |* (1/98) -R: Frequency: [khelper] |* (1/98) -R: Frequency: [kintegrityd/0] |* (1/98) -@end verbatim -@end cartouche - - - -@noindent Finally, you can quote lines from files in your data -for convenience. - -@verbatim - -body common control - -{ -bundlesequence => { "report" }; -} - -########################################################### - -bundle agent report - -{ -reports: - - linux:: - - "/etc/passwd except $(const.n)" - - printfile => pr("/etc/passwd","5"); - -} - -###################################################################### - -body printfile pr(file,lines) - -{ -file_to_print => "$(file)"; -number_of_lines => "$(lines)"; -} - -@end verbatim - -@noindent This produces output of the form - -@cartouche -@verbatim -R: /etc/passwd except -R: at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash -R: avahi:x:103:105:User for Avahi:/var/run/avahi-daemon:/bin/false -R: beagleindex:x:104:106:User for Beagle indexing:/var/cache/beagle:/bin/bash -R: bin:x:1:1:bin:/bin:/bin/bash -R: daemon:x:2:2:Daemon:/sbin:/bin/bash -@end verbatim -@end cartouche - -@node Creating custom logs, Redirecting output to logs, Including data in reports, Top -@unnumberedsec Creating custom logs -@sp 1 - -Logs can be attached to any promise. In this example, an executed shell command -logs a message to the standard output. CFEngine recognizes the @code{stdout} -filename for Standard Output, in the Unix/C standard manner. - -@verbatim -bundle agent test -{ -commands: - - "/tmp/myjob", - - action => logme("executor"); - -} - -############################################ - -body action logme(x) -{ -log_repaired => "stdout"; -logstring => " -> Started the $(x) (success)"; -} -@end verbatim - -@noindent In this next example, a file creation promise -logs different outcomes (success or failure) to different -log files. - - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} - -bundle agent test -{ -vars: - - "software" slist => { "/root/xyz", "/tmp/xyz" }; - -files: - - "$(software)" - - create => "true", - action => logme("$(software)"); - -} - -# - -body action logme(x) -{ -log_kept => "/tmp/private_keptlog.log"; -log_failed => "/tmp/private_faillog.log"; -log_repaired => "/tmp/private_replog.log"; -log_string => "$(sys.date) $(x) promise status"; -} - -@end verbatim - - -@noindent This generates three different logs with outputs in of the form: - -@cartouche -@verbatim -atlas$ more /tmp/private_keptlog.log -Sun Dec 6 11:58:16 2009 /tmp/xyz promise status -Sun Dec 6 11:58:43 2009 /tmp/xyz promise status -@end verbatim -@end cartouche - - -@node Redirecting output to logs, Change auditing - the all seeing eye, Creating custom logs, Top -@unnumberedsec Redirecting output to logs -@sp 1 - -CFEngine interfaces with the system logging tools in different ways. -Syslog is the default log for Unix-like systems, while the event -logger is the default on Windows. You may choose to copy a fixed -level of CFEngine's standard screen messaging to the system logger -on a per-promise basis. - -@verbatim -body common control -{ -bundlesequence => { "one" }; -} - - -bundle agent one -{ -files: - - "/tmp/xyz" - - create => "true", - action => log; -} - -body action log -{ -log_level => "inform"; -} -@end verbatim - - - - -@node Change auditing - the all seeing eye, Cheaper options - tripwires, Redirecting output to logs, Top -@unnumberedsec Change auditing - the all seeing eye - -@sp 1 - -Total auditing of a system is a surprisingly difficult thing to do, -and it is extremely resource intensive. The followers of an audit -trail are often paranoid by nature and are seldom satisfied with the -level of detail they find. However, the times we really need an audit -are rare, but the cost is ever present. The price of certainty is high. - -@cartouche -Spend a moment considering this: if you want to describe every change -of state that happens on a computer, then you need to remember old -state and compare it to new state. Then you have to record the -differences. So you need more than the entire size of your computer's -normal resources to do this. Your storage efficiency will always be -less than 50% and your processing efficiency will be less than 50% on -every audited item. Is this worth the effort? Perhaps your resources -would be better spent keeping targeted backups and simply rebuilding -contaminated systems. -@end cartouche - -Switch on auditing like this: - -@verbatim -body agent control -{ -auditing => "true"; -} - -@end verbatim - -If you decide to go for full auditing, CFEngine will not collect and -centralize the reports as they will be too large for this to be a -scalable operation. Still, you can view them in a web browser on the -local host, or copy them manually to a suitable location. - -@node Cheaper options - tripwires, Commerical edition measurements promises, Change auditing - the all seeing eye, Top -@unnumberedsec Cheaper options - tripwires - -Doing a change detection scan is a convergent process, but it can -still detect changes and present the data in a compressed format -that is often more convenient than auditing. The result is less precise, -but there is a trade-off between precision and cost. - -To make a change tripwire, you use a @file{files} promise, something like this: - -@verbatim -body common control -{ -bundlesequence => { "testbundle" }; -} -# - -bundle agent testbundle - -{ -files: - - "/home/mark/tmp" -> "me" - changes => scan_files, - depth_search => recurse("inf"); -} - -# library code ... - -body changes scan_files -{ -report_changes => "all"; -update_hashes => "true"; -} - -body depth_search recurse(d) -{ -depth => "$(d)"; -} -@end verbatim - -In CFEngine Nova, reports of the following form are generated when these promises -are kept by the agent: - -@cartouche -@verbatim -Change detected File change -Sat Dec 5 18:27:44 2009 group for /tmp/testfile changed 100 -> 0 -Sat Dec 5 18:27:44 2009 /tmp/testfile -Sat Dec 5 18:20:45 2009 /tmp/testfile -@end verbatim -@end cartouche - -@noindent These reports are generated automatically in CFEngine Nova, -and are integrated into the web browsable knowledge map. Community -edition users have to extract the data and create these themselves. - - -@node Commerical edition measurements promises, Hub reporting, Cheaper options - tripwires, Top -@unnumberedsec Commercial edition measurements promises -@sp 1 - -In commercial versions of CFEngine, you can extract data from the -system in more sophisticated ways from files or pipes, using Perl -Compatible Regular Expressions to match text. The @code{cf-monitord} -agent is responsible for processing measurement promises. - -In this example, we count lines matching a pattern in a file. -You might want to scan a log for instances of a particular -message and trace this number over time. - -@verbatim -bundle monitor watch -{ -measurements: - - "/tmp/file" - - handle => "line_counter", - stream_type => "file", - data_type => "counter", - match_value => scanlines("MYLINE.*"), - history_type => "log"; - -} - -# - -body match_value scanlines(x) -{ -select_line_matching => "^$(x)$"; -} - -@end verbatim - -See the CFEngine Nova documentation for more possibilities of measurement -promises. - - - -@node Hub reporting, Mission Portal access to the hub, Commerical edition measurements promises, Top -@unnumberedsec Hub Reporting - -In the commercial editions of CFEngine much more extensive and searchable -reporting is available. - - - -@node Mission Portal access to the hub, Command line access to the hub, Hub reporting, Top -@unnumberedsec Mission Portal access to the hub - -The preferred approach to querying information on a hub -is to use the web interface in the Mission Portal. -This gives the greatest flexibility in both search -and presentation of data. Given the extensiveness of -the Mission Portal user interface, the details are -covered in a separate document. - - -@node Command line access to the hub, Example command hub searches , Mission Portal access to the hub, Top -@unnumberedsec Command line access to the hub - -Users with login access to the hub can also use the command line tool -@code{cf-report} to extract a limited view of the data. -Currently supported reports include: - -@table @code -@item compliance -The percentage total compliance log for all hosts. -@item dead-clients -Shows a list of client hosts that have not made incoming requests within the standard -time horizon (default 15 minutes). -@item file_changes -The change log -@item file_diffs -The change details for text files. -@item last-seen -Show the last time hosts connnected to the hub -@item promises -Compliance by promise, labelled by promise-handle. -@item setuid -The list of setuid/setgid root files detected on the system. -@item software -The installed software base of the system. -@item summary -A summary of how many hosts are compliant within a given set of search parameters. -@item vars -The values of variables set on hosts. -@end table - -@noindent Some special command line options are supported in the commercial versions. - -@table @samp -@item --query-hub -or @samp{-q} Query hub database interactively. This option is the entry point -for querying the hub data with @code{cf-report}, and must always be specified. - -@item --show name -Select the name of the report from the above list. - -@item --promise-handle -or @samp{-p regex}. For promise compliance report, this defines a -regular expression to search for promises of a specific name. Specify a promise-handle to look up - -@item --hostkey -or @samp{-k hashkey}. -Specify a particular host to query for data, using the unique host-key. - -@item --class-regex -or @samp{-c regex} - Specify a class regular expression to search for - -@item --filter -or @samp{-F regex} - Specify a name regular expression for filtering results -@end table - -@node Example command hub searches , , Command line access to the hub, Top -@unnumberedsec Example command hub searches - -If only a host-key is specified, CFEngine returns with the last known location and identity -of the host. (Note that, in the following examples, the SHA keys are reduced for readability). -@verbatim - -host# cf-report -q --hostkey SHA=bd6dfcc2... - -> Hostname: hub.test.cfengine.com - -> Recent IP Addresses: 10.0.0.29 - -@end verbatim -To dump all values from all hosts: -@verbatim - -cf-report -q --show promises -cf-report --query-hub --show promises - -@end verbatim -@noindent You can select a single host for a particular report: -@verbatim -cf-report -q --hostkey SHA=c40fb732c6e5... --show vars -@end verbatim -@noindent Or you can select a CFEngine class of hosts that will be selected to report -@verbatim -cf-report -q --show summary --class-regex linux -cf-report -q --show summary --class-regex SuSE -cf-report -q --show summary --class-regex NewYork -@end verbatim -@noindent Here are some examples using filters to 'grep' out certain items: -@verbatim - -cf-report -q --hostkey SHA=c40fb732c6... --show vars --filter date - -cf-report -q --filter "mail.*" --hostkey SHA=bd6dfccb1a... --show setuid - -cf-report -q --show promises -p knowledge_files_db_stamp - -@end verbatim - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Rollback.texinfo b/docs/guides/SpecialTopic_Rollback.texinfo deleted file mode 100644 index e05028a9d3..0000000000 --- a/docs/guides/SpecialTopic_Rollback.texinfo +++ /dev/null @@ -1,467 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-rollback.info -@settitle Rollout and Rollback -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Rollout and Rollback -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Rollback is supposed to be like the `Undo' button in a text editor, -and there is a tendency to equate rollback with the ability to `undo' -any kind of system change. However, `all changes are not made equal'. - -In system administration, in particular, the idea of rollback has been -borrowed loosely for talking about system change management, which is -a problem of much higher risk and complexity. This handbook explains -the limitations of transaction thinking for system administration, and -presents an alternative in the CFEngine framework. - -The expectations for rollback are considerable: a magic bullet for undoing -mistakes and the unforeseen failures of incomplete planning. The -reality is different however. Rollback is not always -possible and can even lead to worse problems. - -CFEngine takes an alternative approach, using `convergence' as its -approach to ensure not just one-time patching, but continuous, -repeatable desired state migration. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node top, What is rollback?, (dir), (dir) -@top Rollback -@menu -* What is rollback?:: -* Like revision control?:: -* Limitations of rollback in system administration:: -* ITIL release management:: -* Why is relying on rollback not a good strategy?:: -* Don't shoot the messenger:: -* An alternative way to plan changes:: -* How does CFEngine convergence help?:: -* `Resetting' -- a case where rollback works?:: -* Appendix - Did you know?:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - - -@node What is rollback?, Like revision control?, top, top -@unnumberedsec What is rollback? - -@sp 1 - -Rollback is a term that originates from the world of @i{Transaction -Processing}, e.g in databases. It arises in the context of trying to -guarantee data integrity during @i{intended changes to data} (e.g. during copy or -write operations to a database or a disk). - -Accurate change of data can fail for a variety of unpredictable -environmental reasons, so the idea is to preserve the integrity of -data during change by arranging them into predictable chunks called -@i{transactions}. If an error occurs during the copying of a single -data transaction, e.g. because it was interrupted or there was a -failure, then the change should be such that we are able to scrap -the affected transaction and try it again until the intention -succeeds. - -The idea is a simple variation of error-correction methods in signal -transmission, where detection of an error mandates dropping a packet -and retransmitting it. Ultimately this goes back to Shannon -communication theory. - -@node Like revision control?, Limitations of rollback in system administration, What is rollback?, top -@unnumberedsec Like revision control? - -The idea has been used in other contexts too. Revision control -systems (CVS, Subversion, etc) use the same idea to keep a record of -what @i{intended changes} have been made in source code or other -documents. In theory, if you intentionally commit a change that you -don't like, you can `back out' by reversing a `commit' operation and -going back to a previous version before it becomes irreversible. - -This idea works well if you only ever want to undo the last atomic -transaction in a sequence of deliberate changes, however there are -limitations. If two or more persons make changes to data in parallel, -you might not know what the last transaction was, or even that another -transaction has taken place when trying to undo a change. - -Similarly, you might want to undo changes that you made a few -transactions ago, in which case you would need to undo all the changes -from that point to the current point. At that point, it is more -efficient to make a `new' revision that takes away the offending text, -rather than undoing everything that happened since. - -Revsion control can also fail. Your last change might have already been -changed with or without your knowledge and simply reversing what you -changed will not be possible. -For example, consider the file: - -@smallexample -one -two -three -@end smallexample - -@noindent User 1 commits new lines in a single transaction: - -@smallexample -one -two -three -seven -eight -@end smallexample - -@noindent Then another user transforms all the lines in a single transaction: - -@smallexample -#one -#two -#three -#seven -#eight -@end smallexample - -@noindent User 1 now realizes that the lines were incorrect and tries -to undo his transaction, deleting two lines `seven' and `eight' at the -end of the file, but now there are no such lines to be found where -they were expected, and the rollback fails without a graceful exit. Now -the system is in an unknown state, not merely an imperfect one. - -The resolution to this problem is not to try reversing changes, but to -reanalyze the file contents and move forward. As long as changes are -small and simple, re-analysis will be a simple matter and moving -forward will be the simplest option with the least upheaval to the -system. - -@sp 1 -@cartouche -You cannot change the past, only the future. -@end cartouche - -@node Limitations of rollback in system administration, ITIL release management, Like revision control?, top -@unnumberedsec Limitations of rollback in system administration - -The term roll-back has been adopted (actually misappropriated) -in the context of IT management to mean `undo of changes during system -upgrades'. However, system upgrade is usually a very complex sequence -of @i{intended} transactions and @i{unintended} side effects, some of -which are a result of planned intentions and some of which are caused by -third parties. It is quite difficult to isolate and serialize system -changes in live operating environments, because planned changes -generally get interleaved with unplanned ones. - -The concept of rollback therefore has practical limitations: the main -ones being that it requires @i{isolation} and @i{serialization} of all -change processing. If people or machines are working at the same time -on shared data, or if there is distributed work going on, this is -likely to break the @i{single point of change} condition required to -make transactions integral -- i.e. to make rollback possbile. - -@sp 1 -@cartouche -Unix's single user mode was defined for the purpose of assisting in -transactional changes during maintenance, by locking non-root users -out of the system, but in todays environments it is not practical to -shut down a system for making changes. -@end cartouche -@sp 1 - -@node ITIL release management, Why is relying on rollback not a good strategy?, Limitations of rollback in system administration, top -@unnumberedsec ITIL release management - -The idea of rollback is seductive and has also been introduced into -human practices in the hope of making processes impervious to error. -The IT Infrastructure Library (ITIL) is a self-proclaimed set of best -practices for IT management. It borrows some ideas about transaction -integrity for human management processes. - -Once again, the idea is to break up changes into chunks (ITIL calls -these chunks `releases') and verify that each release is error-free -before fully committing to it. If something goes wrong, you `roll -back' by throwing away the last chunk and try again. In order to -succeed, each chunk must be a separate entity and its integrity must -be verified before the change is accepted so that there are no -unforeseen consequences of a potential error. - -@node Why is relying on rollback not a good strategy?, Don't shoot the messenger, ITIL release management, top -@unnumberedsec Why is relying on rollback not a good strategy? - -Gaining full control of a system requires complete mastery of every -aspect of the environment. This is unrealistic when multiple agents -are involved. - -@node Don't shoot the messenger, An alternative way to plan changes, Why is relying on rollback not a good strategy?, top -@unnumberedsec Don't shoot the messenger - -When you make a mistake, either with a policy decision or its -implementation, and a user comes pointing a finger because the system -is broken, someone is going to ask: what was the last change that was -made that `caused' this problem? Now roll back to that version to fix -the problem (usually in an urgent voice)! - -Stop right there and think again. True, it is possible that a single -change was the origin of a chain of events resulting in the problems -you have, but it is not true that going back to the previous version -of that incident will repair the problem. If you open the door to your -submarine while deep under water, closing it alone will not help get -rid of the unwanted water. - -Whenever you make a mistake, you should expect to undertake a clean-up -operation that deals with all of the consequences of the -error. Tracking changes can help you to map out what needs to be -repaired, but you cannot turn back time. - -One approach is a destructive one: stop the system and go back to a -checkpoint date on the filesystem. If you do that, you will lose all -your data and changes since the checkpoint, and it might still be too -late for your mission critical operation. - -A less destructive way is to contain the problem by preventing more -damage from occurring, then create a new policy to automatically clean up. -That way, if the same problem should happen again, you will have -already planned your exit strategy. - -@node An alternative way to plan changes, How does CFEngine convergence help?, Don't shoot the messenger, top -@unnumberedsec An alternative way to plan changes - - -@noindent Reliable rollback is an intractable problem in most modern -datacentres, but many systems claim that they can do it without -addressing the consequences of loss or downtime. In short, relying on -the ability to roll back makes for a fragile strategy. - -A better approach to error correction is planned avoidance of mistakes, and -assuming that unplanned changes will occur. You know -that there is a risk of error, so minimize the error by planning a -multitude of tiny changes rather than fewer big releases. - -@sp 1 -@itemize -@item Make small incremental changes. -@item Test in a test environment. -@item Test in a runtime environment on the smallest possible set of machines. -@item Make no other planned changes until you are sure the change resulted in the -behaviour you expected. -@item Expand the scope of the change gradually, as your confidence grows, until -all machines are covered. -@end itemize -@sp 1 -Notice that a human must be responsible for each expansion of scope. -Always plan based on the desired state -- i.e. not where you think you -are starting from, but where you want to get to. That is the only -fixed point on which to base a policy. - -CFEngine can deal with the error correction against unplanned changes, -but only humans can manage @i{intentions}. - -@sp 2 -@cartouche -WHY CAN WE DO THIS NOW? Previously the technology for making reliable -changes was poor and was based on transaction thinking, and it was -important to minimize the disruptive operations in a few -`roll-outs'. This is no longer true with CFEngine. It is both -inexpensive and even @i{recommended} to make a large number of small -impact changes to respond to your needs. In this way you should -minimize the risk through small increments and testing. Moreover, -because CFEngine does @i{not} assume or rely on transactional -integrity, it is less prone to failures during change implementation. -@end cartouche -@sp 2 - -@node How does CFEngine convergence help?, `Resetting' -- a case where rollback works?, An alternative way to plan changes, top -@unnumberedsec How does CFEngine @i{convergence} help? - -CFEngine's change management model is not based on transactions, it is -based on a concept of convergence to a known end-state. In -transaction management, you need to know where you started from and -the complete history of the system in order to know where you will end -up. No one has this information reliably. The alternative is -CFEngine's convergence principle. Convergence, works like a sink, -drawing the system down towards the desired state, no matter where you -start from. - -@center @image{convergence,12cm,,Rollback,png} - -Each promise in CFEngine is engineered in this way. We promise end -results, not changes. CFEngine calculates the -necessary steps and implementing them (many times if necessary) to avoid -failure. - -If you make small changes to policy (small modifications to promises), -then you will not make big mistakes that need to be undone. The main -reason for failure is that our initial assumptions about the environment -were incorrect. - -@sp 1 -@itemize - -@item Plan for changes in a real environment. Base your projections on -what happens in the live system, not in the lab. - -@item Test on the smallest possible set and expand from there. - -@item Watch over changes and their later impact on the network as -they are made by CFEngine to see if any of your initial assumptions were wrong. - -@item If there was a mistake, change your policy again to correct the mistake (moving forwards). - -@end itemize -@sp 1 - -Using CFEngine, you should always be thinking of moving forwards, even -if you circle back to an earlier policy. Do not try to go back and -undo changes, think of going forwards and minimizing the repercussions -of errors. If mistakes are made, go forward again with promises that clean -up and repair. - -@node `Resetting' -- a case where rollback works?, Appendix - Did you know?, How does CFEngine convergence help?, top -@unnumberedsec `Resetting' -- a case where rollback works? - -Some environments consider `rollback' to mean, stopping destroying and -rebuilding systems from a frozen image. This is something different -from an undo operation on a running system. It applies the idea of -transactions only to the design of each `roll out' release and -turns a blind eye to what happens once a machine is taken into service. - -Resetting a machine by destroying and re-building is indeed a transaction -that will roll us back to the initial state, but it is a misleading -form of integrity because you also undo all of the intended changes -that happen as part of the system's function: run-time state. - -If you are willing to sacrifice run-time data then you can @i{reset} -a system, i.e. sacrifice or destroy it and build a new one with the -same original specification. However, you must be clear about what -is being lost: - -@sp 1 -@itemize -@item The system must be taken out of service. - -@item Any run-time data must either be lost, or should be considered -`possibly contaminated' by the change that was introduced. Either way, -you need to make a decision about how to recover them. -@end itemize -@sp 1 - -@cartouche -`Reset' is what nature does when it makes mistakes: it lets unsuccessful -instances or copies die and falls back to a copy. -@end cartouche -@sp 1 - -CFEngine helps here too. If you really want this kind of radical reset -and you don't mind losing runtime data, CFEngine will help you to -reconstruct the system in a predictable policy-compliant way. - -@node Appendix - Did you know?, , `Resetting' -- a case where rollback works?, top -@unnumberedsec Appendix - Did you know? - -Here are some features that can help you to recover with CFEngine's -non-destructive error correction approach: - -@itemize -@item In @code{files} promises, you can use the @code{changes} attribute -to detect and log unexpected change in our system. This can help you -to correlate changes in policy with unexpected consequences so that you -can plan your clean-up. - -@item When CFEngine changes or renames a file it keeps a backup of the file -before the change, of the form @file{filename.@var{suffix}}, where the -@var{suffix} is by default: @file{.cfsaved}, @file{.cfdisabled}, @file{.cfedited}, -@file{.cfmoved}. - -@item Normally only one level of backup is kept, i.e. the next change -will overwrite this file. If you specify @code{copy_backup => -"timestamp";} or @code{edit_backup => "timestamp";} then CFEngine will -keep multiple versions with time-stamps to keep a complete history. - -@item If you specify a @code{repository} directory in a @code{files} -promise, CFEngine will move all such backup files to a single -location, rather than leaving them in the same directory, next -to the original files. - -@end itemize - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/SpecialTopic_Scalability.texinfo b/docs/guides/SpecialTopic_Scalability.texinfo deleted file mode 100644 index 6c90ad585e..0000000000 --- a/docs/guides/SpecialTopic_Scalability.texinfo +++ /dev/null @@ -1,1415 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-scale.info -@settitle Scale and Scalability -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Scale and Scalability (draft) -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -How large a system can CFEngine manage before special measures are -required to make it work? CFEngine is a flexible system with no fixed -architecture, that can be adapted to service any number of machines, -by adjusting the architecture. This document describes the most common -architectures in use today. - -Several risk factors are associated with managing huge systems, -including loss of control under failures of the human-computer -system. Strategies for avoiding these failure modes are discussed. - -Scaling gracefully is not just about handling volumes of machines, -but also about comprehensibility and manageability -to human engineers. -@end quotation -@end cartouche - -@vskip 2cm -This is an incomplete draft document. Last updated October 2011. - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010,2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Principles of scalability, (dir), (dir) -@top Scalability - - - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@menu -* Principles of scalability:: -* Scalable policy strategy:: -* Internal and external scalability of the software:: -@end menu - -@node Principles of scalability, Scalable policy strategy, Top, Top -@chapter Principles of scalability -@sp 1 - -@menu -* What is scalability?:: -* How does CFEngine address scale?:: -* What does scalability depend on?:: -* A product strategy for scaling:: -* A user strategy for scaling:: -* Unexpected risks of scaling:: -@end menu - -@node What is scalability?, How does CFEngine address scale?, Principles of scalability, Principles of scalability -@section What is scalability? -@sp 1 - -By scalability we mean the intrinsic capacity of a system to -handle growth. Growth in a system can occur in three ways: by the volume of input -the system must handle, or in the total size of its infrastructure, -and by the complexity of the processes within it. - -For a system to be called scalable, growth should proceed unhindered, -i.e. the size and volume of processing may expand without -significantly affecting the average service level per node. - -Although most of us have an intuitive notion of what scalability -means, a full understanding of it is a very complex issue, mainly -because there are so many factors to take into account. One factor -that is often forgotten in considering scalability, is the human -ability to @i{comprehend} the system as it grows. Limitations of -comprehension often lead to over-simplification and -lowest-common-denominator standardization. This ultimately causes systems -to fail due to an information deficit. - -@sp 1 - -@node How does CFEngine address scale?, What does scalability depend on?, What is scalability?, Principles of scalability -@section How does CFEngine address scale? -@sp 1 - -@sp 1 -@cartouche -CFEngine is a decentralized (or federated) agent-based system, with no single point of -failure. It uses integrated Knowledge Management to present -comprehensible views of how infrastructure complies with user intentions. -@end cartouche -@sp 1 - -In this Special Topics Guide, we take a simple approach to gauging the -scalability of CFEngine, considering the worst case scalability of -the software as a management system for typical environments -and network models. - -@node What does scalability depend on?, A product strategy for scaling, How does CFEngine address scale?, Principles of scalability -@section What does scalability depend on? -@sp 1 - -CFEngine's scalability is not only a function of the CFEngine -software, but also of the environment in which it operates and the -choices that are made. Some relevant environmental factors include: -@itemize -@item The capacity of the network. -@item The capacity of the server that supplies common information to agents. -@item The extent to which parallelism can be employed during updates (Amdahl's law). -@item The size and cost of the tasks carried out by the management system (in time and resources). -@item The social contract between users and parts of an organization (don't forget -that you are really dealing with a human-computer system). -@end itemize - -@noindent For managers, there are several challenges to scaling that go beyond the -infrastructure: - -@itemize -@item The ability to express and comprehend @i{necessary complexity and variation} in policy. -@item The ability to process the result (agent efficiency). -@item The ability for a significant number of people to understand the result (comprehension). -@end itemize - -CFEngine does all processing of configuration policy at the -destination node (i.e. on the affected system). There is no -centralization of computation. CFEngine Nova adds fault-tolerant -multi-node orchestration, in which any node's state can -be made available to other nodes on request. - -In general, reliance on common or centralized information will limit -the inherent scalability of the system. However, through opportunistic -use of caching, CFEngine is able to avoid single points of reliance. -CFEngine's asynchronous promise model makes the impact of resource sharing less significant. - - - -@node A product strategy for scaling, A user strategy for scaling, What does scalability depend on?, Principles of scalability -@section A product strategy for scaling -@sp 1 - -CFEngine's scaling behaviour follows an -`astronomical' hierarchy of scales. Our product range have been chosen to model different issues of -scale that occur in systems as they grow from tens to tens of -thousands of machines. As indicated above, dealing with scale is not -just about machine capacity, but also about knowledge management and -comprehension. - -An @i{Enterprise} installation is designed around a single star -configuration (like a solar system) in which the hub machine is the -star and the managed entities are the planets. Special planets can -have their own satellites (customized environments within the single -point of control), so this model does not imply complete uniformity. - -Future releases will be designed around multiple star -configurations and for cases where it is desirable to -maintain several points of control or independently managed -entities. This is also called a federation of star networks. The -reason for choosing this kind of architecture may or may not have to -do with service capacity (i.e. for coping with a large number -of systems): sometimes knowledge management and -responsibilities scale better with federation. - -@ignore -@sp 1 -@center @image{nova_const,14cm} -@center From a Nova star network to a Constellation of star networks. -@sp 1 -@end ignore - -@node A user strategy for scaling, Unexpected risks of scaling, A product strategy for scaling, Principles of scalability -@section A user strategy for scaling - - -This section proposes a simple method for evaluating capacity and scalability -at a site. You will need some numbers in order to do some simple calculations. - -@itemize -@item Identify the key scales and constraints of your organization. -@itemize -@item How many distinct environments or requirement sets do you have? -@item How many machines (managed units) are there? -@item What frequency of system state checking is desired (certainty about policy, or control resolution)? -@end itemize -@end itemize - -@noindent You will be able to use these numbers in the next chapter to work out how far a -simple star network configuration (Nova starburst) will go in supporting requirements. -An environment that consists of multiple environments, or very large size will have -to be handled as a constellation configuration. - -@menu -* Scalable CFEngine architecture:: -* Layout guidelines for scalability:: -@end menu - -@node Scalable CFEngine architecture, Layout guidelines for scalability, A user strategy for scaling, A user strategy for scaling -@subsection Scalable CFEngine architecture - -Several architectural principles aid the ability to scale to large size: -@itemize -@item @b{Patchwork coverage and federated centres}: -Most architectures have some kind of central point of change or control, but -too much centralization leads to bottlenecks that hinder throughput (see -the Special Topics Guide on Federation and Organizational Complexity). -Build a federated architecture from the beginning, i.e. a number of hubs or -star networks that each covers the requirements for the most local environment. -Do not try to make one single model that applies to everything (Grand Unification -is an unstable process). - -@item @b{Necessary and sufficient complexity}: -Do not oversimplify issues to avoid multiple environments. Delegation is cheap -and is mainly an issue of trust. Delegation (decentralization) is a key principle of scaling -as it avoids concentration of resources and single points of failure. - -@item @b{Don't over-constrain systems}: -It is wise to avoid configuration rules and requirements that are not necessary, as -this can impact systematically on the resources needed to scale. -Similarly, don't waste time creating perfect container classes for rules. Rough patches -are cheap to maintain -- precision targeting costs resource logic. - -@item @b{Autonomy -- avoid strong dependence}: -If systems depend strongly on other systems (i.e. a failure of one -leads to a failure of the other), then one creates fragility. Robust, -fault tolerant systems avoid interval coupling or dependencies -as these can lead to cascade failures. - -@item @b{Strive for efficiency}: -Management is not free, but one does not generally account for the -overhead when designing production systems. In the next chapter, we -shall show how to make rough estimates about network requirements for -management. As a rule of thumb, a site engineer needs to avoid -clogging the network with traffic, and burying systems in CPU or -memory intensive work. - -@end itemize - - -@node Layout guidelines for scalability, , Scalable CFEngine architecture, A user strategy for scaling -@subsection Layout guidelines for scalability - -The picture of a federated architecture is that of a number of smaller -star networks loosely rather than tightly integrated together. This -loose coupling avoids rigidity that can cause cascade failure. - -This schematic architecture does not answer where these centres will be -located however. Will the division into local centres be based on -geography, departmental lines, or some other virtual view of the organization? - -@cartouche -It does not matter from an architectural point of view what criteria are used for -dividing up an organization. The main criteria is the environment itself. If we think -in terms of promises for a moment, a strong group culture forms when members of -a community make a lot of promises to one another. Organizational entities are -therefore clusters of promises. This might or might not coincide with -naming of institutional entities. -@end cartouche - -It is easy to understand the reason for a promise-oriented approach to -scalability. Clusters of promises are also clusters where -communication is likely to be required and take place. Since -scalability is enhanced by limiting the amount and scope of -communication, the clusters of promises mark out the areas (sub-networks, if you -like) where communication is necessary. This makes for a natural encapsulation -of policy issues. - - -@itemize -@item Model the organization (focusing on business-level issues) -@item Give names to the parts -@item Identify patterns -@item Form a disciplined protocol (best practice) -@end itemize - - -@node Unexpected risks of scaling, , A user strategy for scaling, Principles of scalability -@section Unexpected risks of scaling -@sp 1 - -@itemize -@item @b{Division of labour => fragmentation of knowledge}: -When problems are management intensive, the need to divide and conquer problems -leads to points of failure. - -@item @b{Turnover of staff}: -Too much specialization of roles means that individuals attain mission -critical positions that lead to single points of failure for -operations. When key employees leave the organization, this damages -operations due to loss of expertise. The cost of this lies in -retraining, or even redesign. All roles should have redundancy both -for quality assurance and failover, and strong Knowledge Management -is required to avoid this scenario. - -@item @b{Morale}: -When engineers feel powerless, they are demoralized and feel unimportant. -This can lead to both disgruntlement and power-hogging. This is a failure of the -social contract. - -@item @b{Scale reduces certainty}: -The larger a system, the less detail human decision-makers can know -about the whole. - -@end itemize - -@c ************************************************************************ - -@node Scalable policy strategy, Internal and external scalability of the software, Principles of scalability, Top -@chapter Scalable policy strategy -@sp 1 - - -@menu -* Policy guidelines for comprehension:: -* Performance impact of promises:: -* Avoiding network traffic:: -* Defining classes:: -* Copernicus Knowledge Map:: -* System Tuning and Hub Optimization:: -@end menu - -@node Policy guidelines for comprehension, Performance impact of promises, Scalable policy strategy, Scalable policy strategy -@section Policy guidelines for comprehension - -Part of the challenge of scale is comprehension. If every computer is identical, this is no problem, but -when there is real growth in complexity scale can lead to a case of information and comprehension overload. -Checking that growth of complexity requires some user discipline. - -@menu -* Strategy for scaling policy:: -* Tactics for scaling policy:: -* Caching classes that are expensive to compute:: -@end menu - -@node Strategy for scaling policy, Tactics for scaling policy, Policy guidelines for comprehension, Policy guidelines for comprehension -@subsection Strategy for scaling policy - - -What if you have written down 250,000 promises to keep? How can you manage that? Here are some tips: - -@itemize -@item @b{Don't have 250,000 promises}. If your conception of the problem is -this complicated, then CFEngine is not your problem. Management will -fail by its own overheads unless it can slim down problems to -@i{necessary and sufficient} complexity. Over-constrained systems -usually fail eventually because they become overwhelmed by the problem -of unintentionally conflicting requirements. Keep it simple. - -If you are migrating from CFEngine 2, then many of your separate promises -can be turned into a single promise by using lists and other patterns. -This will drastically improve the modelling capabilities and reduce the -complexity of the policy. - -@item @b{Divide up your management problem and delegate} to autonomous -entities that can manage their own pieces. It does not matter how -you divide up your organization (geographically, logically, by department, by -application team, etc) the important thing is to spread the load of -responsibility. @b{Who proposes the promises to be kept.} - -The criterion for dividing up the organization is to make the entities -as autonomous as possible, i.e. with as few dependencies or communication -requirements as possible. The configurations for each autonomous entity -should be kept and managed locally by those entities, and not mixed together. -Centralization is the enemy of scaling. - -@end itemize -@noindent When writing the CFEngine bundles of promises, you will need to use a -`meta-model' to organize the bundles. This is part of a Knowledge -Management (comprehension) strategy. Your best friend here is someone -with didactic or pedagogical skills, as he/she will maintain the -visibility of high level goals throughout the technical -challenges. Your worst enemy is a technician with his head in the -machine, who will drag everyone down to the machine components, where goals -and challenges are incomprehensible. - -@itemize -@item @b{Start by modelling your business challenges}, not technical solutions. For example, -name bundles by service -@verbatim -bundle agent service_email -@end verbatim -@noindent -not by configuration file: -@verbatim -bundle agent etc_conf_postfix -@end verbatim -@noindent Even a non-expert should be able to see what these bundles are for, even if they don't -understand their detailed content. - - -@item @b{Focus on the broad strokes}. Don't micro-manage details that are not necessary. - -@item @b{Seek stability and predictability} of your system before turning your attention to -other details. If you don't have predictability, you have nothing. This will keep you -away from a focus on unhealthy technical detail. - - - -@item @b{Keep promise descriptions at a high level} as far as possible, and use the Copernicus -Knowledge Map to locate low level resources and the promises they make. - -@item @b{Use @i{patterns} to model similar configuration issues} as a single promise iterated -over the pattern, not as many individual promises. This allows you to compress a large -number of issues into a small amount of text. The ability to comprehend patterns is -also central to human understanding, as it shows the principles or allows -us to @i{`see the general in the particular, or the eternal in the transitory'}. -@end itemize - - - - - - -@node Tactics for scaling policy, Caching classes that are expensive to compute, Strategy for scaling policy, Policy guidelines for comprehension -@subsection Tactics for scaling policy - -In writing policy, the thing most often forgotten by technicians is explaining @i{why} decisions -have been made. -@itemize -@item @b{Give meaningful (high level, or even goal oriented) names} to collections of -promise attributes. e.g. instead to writing @code{perms => m("0600")}, try writing -something that allows readers to understand the @i{reason} for the intention: @code{perms =>write standard_permissions}. - -@item @b{Use comments to explain} why the promise is the way it is. e.g. write -@verbatim - comment => "This file needs to be writable by the web server - else application XYZ breaks" -@end verbatim -@noindent instead of -@verbatim - comment => "Set permissions on the temp directory" -@end verbatim - -@item @b{Encourage good practice in the policy authors}. Check whether objects have made other -promises elsewhere, and try to document the connections. If a policy -have dependencies, encode these (see `Best practice for writing promises' in the Reference manual). - -@item When solving problems, think about how to model the data. For example, -one way to model groups is to try to classify the names in lists -@verbatim -"group" slist => { - classify("a.domain.com"), - classify("b.domain.com"), - .....4000x... - }; -@end verbatim -This is neat, and easy to read but it requires CFEngine to process -a list linearly, which becomes increasingly inefficient and can take several -seconds if a list contains thousands of hosts. Some improvement can be obtained -by converting the domain strings manually: -@verbatim -"group" slist => { - "a_domain_com", - "b_domain_com", - .....4000x... - }; -@end verbatim -However, the linear scaling is still present. - -In this case, it is inefficient to process the list -in memory, because we only need one out of thousands of the -entries, thus it makes sense to prune the list in advance. - -To handle this, we can create a flat file of data in the format -"hostname:group" using the builtin function @code{getfields()} to read -one line from the file. -@verbatim -vars: - "match_name" int => getfields("a.domain.com:.*","/my/file",":","group_data"); - -classes: - "$(group_data[2])" expression => isgreaterthan("$(match_name)","0");; - -@end verbatim - -This assumes, of course, that each host is in -one and only one class context. The saving in processing is large, -however, as it can be carried out directly in the input buffer. -Only one out of thousands of lines thus needs to be processes. -Although the scaling is still linear in search, the allocation and read -processes are heavily optimized by block device reading and much lower -overhead. - -A module could also be used to the same effect to define the appropriate class -context. - -@end itemize - - - -@node Caching classes that are expensive to compute, , Tactics for scaling policy, Policy guidelines for comprehension -@subsection Caching classes that are expensive to compute - -As of version 3.4.0 of the CFEngine core, persistent classes can be -used to construct a simple time-saving caching of classes -that depend on very large amounts of data. -This feature can be used to avoid recomputing expensive classes -calculations on each invocation. If a class discovered is essentially -constant or only slowly varying (like a hostname or alias from a -non-standard naming facility) - -For example, to create a conditional inclusion of costly class -definitions, put them into a separate bundle in a file @file{classes.cf}. -@verbatim -# promises.cf - -body common control -{ -cached_classes:: - bundlesequence => { "test" }; - -!cached_classes:: - bundlesequence => { "setclasses", "test" }; - -!cached_classes:: - inputs => { "classes.cf" }; -} - - -bundle agent test -{ -reports: - - !my_cached_class:: - "no cached class"; - - my_cached_class:: - "cached class defined"; -} - -@end verbatim -@noindent Then create @file{classes.cf} -@verbatim -# classes.cf - -bundle common setclasses -{ -classes: - - "cached_classes" # timer flag - expression => "any", - persistence => "480"; - - "my_cached_class" - or => { ...long list or heavy function... } , - persistence => "480"; - -} - -@end verbatim - - - - - - - - - -@node Performance impact of promises, Avoiding network traffic, Policy guidelines for comprehension, Scalable policy strategy -@section Performance impact of promises - -In a large system it is natural to expect a large number of -promises. This makes the location of a specific promise difficult. The -Copernicus Knowledge Map is a key strategy for locating promises. - -@itemize -@item Using a very large number of bundles will have a performance impact, -as a local environment has to be established for each bundle. - -@item Using a large number of different input files can have a -performance impact during file updating, as each file requires a -bi-directional verification involving network traffic. The frequency -of policy updates can be limited -@itemize -@item Test systems -- can update relatively often since there are -fewer test machines, and their resources are less important than -production machines. -@item Production -- fewer changes need to be made since most -delta changes have been aggregated through the testing phase. -@end itemize - -@item There is no performance impact involved in having multiple -promise-type sections, e.g. @code{files:} in a bundle. However, -splitting up type-sections makes human readability harder. -@end itemize - - -@node Avoiding network traffic, Defining classes, Performance impact of promises, Scalable policy strategy -@section Avoiding network traffic - -Connecting to a CFEngine server process is one of the most time consuming activities -in centralized updating. Every bidirectional query that has to be made -adds latency and processing time the limits scalability. The connection time -and data transfer size during checking for updates can be minimized by making -use of the @file{cf_promises_validated} cache file on the server. This file -summarizes whether it is necessary to search for file updates (a search that -can take a significant number of seconds per client). Since most checks do not -result in a required update, this cache file can save a large amount of -network traffic. - -@smallexample -files: - - "$(inputs_dir)/cf_promises_validated" - comment => "Check whether new policy update to reduce the distributed load", - handle => "check_valid_update", - copy_from => u_dcp("$(master_location)/cf_promises_validated","$(sys.policy_hub)"), - action => u_immediate, - classes => u_if_repaired("validated_updates_ready"); - -am_policy_hub|validated_updates_ready:: - - "$(inputs_dir)" - comment => "Copy policy updates from master source on policy server if a new validation was acquired", - handle => "update_files_inputs_dir", - copy_from => u_rcp("$(master_location)","$(sys.policy_hub)"), -depth_search => u_recurse("inf"), -file_select => u_input_files, - depends_on => @{ "grant_access_policy", "check_valid_update" @}, - action => u_immediate, - classes => u_if_repaired("update_report"); - -@end smallexample - - - -@node Defining classes, Copernicus Knowledge Map, Avoiding network traffic, Scalable policy strategy -@section Defining classes - -Modelling environments with classes is a powerful strategy for knowledge management, -and is therefore encouraged. - - - -@node Copernicus Knowledge Map, System Tuning and Hub Optimization, Defining classes, Scalable policy strategy -@section Using the Copernicus Knowledge Map - -The Copernicus Knowledge Map is an integral part of the commercial CFEngine products. -It is also a feature that is developing rapidly as part of the CFEngine commitment to -research and development. -It forms a browsable `mental model' of relationships -between promises, goals and documents that describe them (including -the manuals and other documentation sources). The map provides you with -an overview of how parts of your policy relate to one another, and to other -high level parts of your environment. - -@itemize -@item Shows where and when promises are relevant. -@item Gives contextual meaning to promises and other issues by showing you their impact on both practical and abstract issues. -@item Offers commentary in a browsable and user friendly form. -@item How promises relate to business goals. -@item Dependencies between promises. -@item Overview of promise bundles and their contents. -@item Browsable view of promises and their relationships. -@item Browsable view of body parts in expanded form. -@item Examples of code usage. -@end itemize - -Use the knowledge map to: -@itemize -@item Find conflicts of policy. -@item Avoid repetition. -@item Understand relevance and impact. -@end itemize - - -@node System Tuning and Hub Optimization, , Copernicus Knowledge Map, Scalable policy strategy -@section System Tuning and Hub Optimization - -CFEngine uses MongoDB as its repository of information for each Nova/Enterprise hub. -The performance of a hub depends on the combination of hardware and software. The CFEngine -hub falls under the category or role of database server, and this requires fairly specific -optimizations. For example, NUMA architecture processing is known to lead to severe -processing bottlenecks on database servers, and so NUMA kernel modules should be switched off. -Below are some of the optimizations that should be looked into for the CFEngine hubs. - -@menu -* Tuning the linux kernel for thousands of hosts:: -* Tuning the MongoDB for thousands of hosts:: -@end menu - -@node Tuning the linux kernel for thousands of hosts, Tuning the MongoDB for thousands of hosts, System Tuning and Hub Optimization, System Tuning and Hub Optimization -@subsection Tuning the linux kernel for thousands of hosts - -Although CFEngine communicates with the Mongo database over a local socket, it -still uses TCP as its connection protocol and is therefore subject to kernel -optimizations. - -Every write and read connection to the Mongo database makes a kernel -TCP connection. With the extreme density of connections, this is -somewhat like a high volume webserver. The standard `play safe' kernel -settings are too conservative for this kind of performance. The main -bottleneck eventually becomes the FIN_WAIT timeout, which leaves file descriptors -occupied and non-recyclable for too long. We recommend -reducing this waiting time to free up descriptors faster: - -@verbatim -echo "1024 61000" > /proc/sys/net/ipv4/ip_local_port_range -echo "5" > /proc/sys/net/ipv4/tcp_fin_timeout -@end verbatim -@noindent This will clear old connections faster, allowing new ones be created and old threads to terminate faster. - -@node Tuning the MongoDB for thousands of hosts, , Tuning the linux kernel for thousands of hosts, System Tuning and Hub Optimization -@subsection Tuning the MongoDB for thousands of hosts - -Some points to consider when scaling the MongoDB: -@itemize -@item Indexing is a very important factor for scaling any database. -CFEngine Nova automatically checks and the creates indices needed for -scale as part of the schedule of @code{cf-hub}. The incices are -checked every six hours. - -However, if the database schema changes, which may happen during -upgrades of CFEngine Nova, the indices may have been changed as -well. In large-scale environment we may not have time to wait up to -six hours for the indices to get repaired, so this can be done -manually by running the following command on the hub. - -@verbatim -/var/cfengine/bin/cf-hub --index -@end verbatim - -Please make sure @code{cf-hub} is not running in the background while -indices are being created, as this may slow the system down -considerably under high load. - -@item For installations of one or two thousand hosts per hub, one approaches -the throughput limitations of x86 hardware and the Mongo database. One -can expect to see MongoDB writes dominating the system -resources. MongoDB does extensive caching'in RAM, so maximizing -installed RAM is an important strategy -- however disk access priorities -will also play a role. - -To make sure that server connection performance does not suffer as a result -of aggressive database writing, we can lower the priority of the MongoDB -process -@verbatim -ionice -c2 -n0 /var/cfengine/bin/mongod -@end verbatim -@noindent or, using the PID -@verbatim -ionice -c2 -n0 -p PID -@end verbatim - -@item If the MongoDB database is located on the same disk as the last-seen -database (as is default under @file{/var/cfengine}, there will be -contention between last-seen and mongodb updates, which can slow down -both processes unnecessarily. Ideally, these -should be separate disks with independent queues, even independent -controllers. RAID configurations can also slow down performance, so -only hardware RAID should be considered. - - -@item Non-Uniform Memory Access (NUMA) hardware -works poorly with all databases. If your server uses such hardware, -you should try to switch off this feature to improve write stability. -NUMA tries to bind memory to specific cores for speed, but in doing so it -can prevent free allocation of memory and lead to paging and swapping, thereafter -thrashing as the system grinds to a halt. Processes become CPU bound as threads -attempt to work around the memory manegement constraints, and performance worses -by a factor of ten or more. - -Some users report that using this approach is sufficient: -@verbatim -numactl --interleave=all /var/cfengine/bin/mongod # (other args) -echo 0 > /proc/sys/vm/zone_reclaim_mode -@end verbatim -@noindent However, in our experience, only removing the kernel modules -supporting NUMA and rebooting the kernel will solve the NUMA contention issue. - -Setting: -@verbatim -numa=off -@end verbatim -@noindent in the kernel boot parameters, e.g. in @file{grub.conf}: - -@cartouche -@smallexample -# grub.conf generated by anaconda -# -# Note that you do not have to rerun grub after making changes to this file -# NOTICE: You do not have a /boot partition. This means that -# all kernel and initrd paths are relative to /, eg. -# root (hd0,0) -# kernel /boot/vmlinuz-version ro root=/dev/sda1 -# initrd /boot/initrd-version.img -#boot=/dev/sda -default=0 -timeout=5 -splashimage=(hd0,0)/boot/grub/splash.xpm.gz -hiddenmenu -title MY Linux Server (2.6.32-100.26.2.el5uek) - root (hd0,0) - kernel /boot/vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda1 rhgb quiet @b{numa=off} - initrd /boot/initrd-2.6.32-100.26.2.el5.img -@end smallexample -@end cartouche - - -@item Finally, @code{splaytime} on the client nodes will help to spread out -the incoming connections over the update interval of the hub. The hub -defaults to 5 minute updates, so a complete update of policy should be -spread over less than or equal to the same scheduled cycle time. Alternatively the cycle -for policy updates can be extended and the splaying can be even longer. - -@verbatim - -body executor control -{ -splaytime => "4"; -} - -@end verbatim - -@end itemize - - - -@c ************************************************************************ - -@node Internal and external scalability of the software, , Scalable policy strategy, Top -@chapter Internal and external scalability of the software -@sp 1 -Scalability is about the internal and external architecture of the -system, and the way that information flows around the highways and -bottlenecks within it. As a distributed system, some of those are -internal to the software, and some lie in the way it is used. - -CFEngine allows users to build any external architecture, so the only -intrinsic limitations are those internal to the software itself. Poor -decisions about external architecture generally lead to greater -problems that the internal limitations. - -A number of techniques are used internally to bring efficiency and hence -scalability in relation to policy. -@table @i -@item Hashing and indexing -are used in many ways to coordinate system without the need for communication. -By basing decisions on the predefined and publicly available information about -a node (like its name and address), we avoid having to pass messages between -nodes. -@item Classifying of patterns -is used to model patterns of similarity and difference in the intentions for a system. -By describing policy for different categories of system parts, rather than for -each individual part by name, we can reduce the amount of information we need to -specify. - -@item Persistent locking of execution -is used to place limits on the frequency and concurrency of operations undertaken -by CFEngine. Using the @code{ifelapsed} timers on each promise, one can say how -often work-intensive checks are made. - -@item Lazy evaluation -is a common approach to efficiency, but it is difficult to achieve -in a dynamic environment. Necessary complexity makes for necessary work. -CFEngine uses best-effort lazy evaluation to reduce processing, but errs on the side -of correctness, reliability and security. -@end table - -@sp 1 -@cartouche -The greatest challenge for scalability is to reduce functional -requirements to a description or model that uses patterns -(i.e. general rules) to compress only what needs to be said about the -policy into a comprehensible form. It is about identifying a -@i{necessary and sufficient} level of complexity without -over-simplification, and it is about not having to specify things that -don't need to be specified. This is Knowledge Management. -@end cartouche -@sp 1 - -@menu -* Best case approach to external scalability:: -* Failover and redundancy:: -* A simple worst case approach to scalability - the star network:: -* Optimizations affecting scalability:: -* Redundancy and load balancing in the Nova hub:: -@end menu - -@node Best case approach to external scalability, Failover and redundancy, Internal and external scalability of the software, Internal and external scalability of the software -@section Best case approach to external scalability -@sp 1 - -In the most scalable approach to management, each agent works 100% -autonomously as a standalone system, requiring no communication with -its peers, or with a central agency. Its policy is therefore constant -and fixed. - -If this model suits your organization, the operation of CFEngine is -completely independent of the number of machines, so it exhibits -@i{perfect scaling} with respect to the size of the infra-structure. -However, this model is too simple for most sites, and its value lies -in documenting the extreme end of the scalability scale, as an ideal to -work towards when striving for efficiency. - - -@node Failover and redundancy, A simple worst case approach to scalability - the star network, Best case approach to external scalability, Internal and external scalability of the software -@section Failover and redundancy - -As a self-healing system, CFEngine poses a low risk to loss of data. Most management -data that are lost in an incident will recover automatically. - -@table @i -@item Failover due to unavailability. - -The loss of a hub is not a critical failure in a CFEngine managed -network. Client machines continue to work with the last known version -of policy until a hub returns to `online' status. During updates, -hubs can come under load. To avoid this, splaying options should be -used primarily@footnote{We strongly recommend users to abandon the -idea that it is possible to have `instant' or `immediate' -updates. There is always some delay. It is more pragmatic to manage -that delay by making it predictable than to leave it to chance.}. -CFEngine's failover servers for file-copying can be set up to offer -immediate redundancy. - -@item Shared storage for @file{/var/cfengine/masterfiles}. - -The only place where shared storage makes sense is between the main -policy server (hub) and any failover servers. In that case only this -one directory can be shared. - -@item Backup of @file{/var/cfengine}. - -It is not strictly necessary to have a backup of the CFEngine work directory, but -keeping a backup of this for the hub can save time when restoring a broken hub, -since the records of known clients are stored in this workspace, and the current -status of reports is also stored. - -On clients, this workspace can be considered disposable, but many -users save public private key-pairs to preserve the `identity' of -hosts that have merely disk failures, etc. - -@item Multiple reporting hubs. - -Although it is technically possible to have multiple reporting hosts, -this is recommended against. Multiple hubs will only increase the -overhead on all parts of the system for little return. -@end table - -Our general recommendation is to introduce as few network -relationships as possible (make every system as autonomous as -possible). Shared storage is more of a liability than an asset in -general networks, as it increases the number of possible failure -modes. Backup of the hub workspace is desirable, but not a -show-stopper. - - -@node A simple worst case approach to scalability - the star network, Optimizations affecting scalability, Failover and redundancy, Internal and external scalability of the software -@section A simple worst case approach to scalability: the star network -@sp 1 - -CFEngine 3 Nova is designed around the concept of a simple star network, -i.e. a number of `client' machines bound together by a central hub. -This is a commonly used architecture that is easy to understand. -The hub architecture introduces a bottleneck, so we expect this to -have a limited scalability as long as we cannot increase the power and -the speed of the hub without limit. - -To understand the external scalability of CFEngine management, we -shall estimate how large a CFEngine system can grow using simple -centralized management, in this star network pattern. This will force -us to confront low level performance characteristics, where we try to -extract the most from limited resources. - -In a star network, all agents connect to a central hub to obtain -possibly frequent updates. The challenge is to optimize this -process@footnote{The estimates here are based on CFEngine core versions -3.1.2 and higher.}. This makes the central hub into a bottleneck. It -becomes the weakest link in the chain of information, i.e. the star network has -limitations that are nothing to do with CFEngine itself. The counterpoint -is that the star network is very easy to comprehend, and thus it usually forms -the starting point for most management frameworks. - -@sp 1 -@center @image{hub,10cm} -@center Centralized management with a hub. -@sp 1 - -@sp 1 -@cartouche -In the Community edition of CFEngine, updates travel only in one -direction, from server to client. CFEngine Nova, adds to this the -collection of data for reporting and analysis (CFDB), from client to -hub. Thus the expected load on the server is the sum of both -processes. -@end cartouche -@sp 1 - - -We would like to answer two equivalent questions. Given a central hub -with certain limitations, how many clients can it support? Conversely, -given a number of hosts to support with a single hub, what capacity -is required in system infrastructure to support it at a certain level? - -There are actually two independent issues here. There is the scaling -of the policy updates (served by the hub) and the scaling of the -reporting updates (collected by the hub). Both of these processes compete -for resources. - -@menu -* Typical CFEngine scales:: -* Scaling of updates:: -* Limitations on the CFDB hub database:: -* Update storms:: -@end menu - -@node Typical CFEngine scales, Scaling of updates, A simple worst case approach to scalability - the star network, A simple worst case approach to scalability - the star network -@subsection Typical CFEngine scales - -We start by setting some fundamental scales. - -@itemize -@item The interval at which policy and reporting updates are checked (@math{\Delta t = 5} mins or @math{300s}). -@item The expected worst size of an update (@math{U \le 5} MB per host). -@item The amount of RAM available on the server (@math{M = 1} GB).. -@item The resident size of a thread or server process (@math{s \le 12} MB). -@item The maximum available network capacity for management processes (@math{C \ge 1} MB/s). -@end itemize - -We choose deliberately a low value for network capacity. Even if more -capacity is available, one does not typically expect to use it all for -management overhead. - - -@node Scaling of updates, Limitations on the CFDB hub database, Typical CFEngine scales, A simple worst case approach to scalability - the star network -@subsection Scaling of updates - -To a first approximation, the process scaling relationships are linear, as long as -we stay far away from the region of resource contention at which a server -will typically perform very quickly. Scalability is thus about having safe margins -for worst case behaviour. - -The number of threads @math{t} supported by a server satisfies: -@sp 1 -@display - @math{st \le M} -@end display -@sp 1 -@noindent and yields a value for @math{t}, given fixed values for the hub's RAM -and software build size. -For a server with 1GB of memory, we have @math{t \le 1024/12 \sim 80} threads. -This will consume @math{U \le 1MB} of data per agent for a community host, and -@math{U\le 5MB} for Nova to account for reporting. - -The expected time-to-update @math{\tau_{\rm round}} satisfies: -@sp 1 -@display - @math{{U_{\rm min}/C} \le \tau_{\rm round}\le {U_{\rm max}/C}} -@end display -@sp 1 -The actual values will normally by significantly less than this worst case, -but he must plan for the possibility of update storms. -The network capacity @math{C = 1MBs^{-1}} suggests an expected -time-to-update @math{\tau_{\rm round} \le 2s} (there and back) with a -server-processing overhead. -We shall take a conservative value of -@math{\tau_{\rm round} \le 10s} for the maximum round trip request time. - - -Let's consider the policy/reporting update process, as this dominates -the scaling behaviour of the software in terms of number of machines. -Assuming that we can arrange for agents to distribute their updates -over a single time interval @math{\Delta t}, with maximum possible -entropy@footnote{Maximum entropy means the most even or flat -distribution over the time interval, in this case. See, for instance, -Mark Burgess, @i{Analytical Network and System Administration}.}, -then we should be able to achieve a maximum number of scheduling -slots @math{\sigma}: -@sp 1 -@display - @math{\sigma = {\Delta t}/\tau_{\rm round}} -@end display -@sp 1 -@noindent -Since the round-trip time can be higher or lower, depending on the size of the -update, we can propose some approximate limits. -@math{\sigma_{\max} = 300/2}, @math{\sigma_{\min} = 300/10} per interval @math{\Delta t}. -@sp 1 - -@noindent The total number of updates that can complete in the @math{\Delta t} -interval is thus, at fixed @math{t}: -@sp 1 -@display - @math{N = \sigma t = {{\Delta t} \over \tau_{\rm round}}t} -@end display -@sp 1 -@noindent If there are now @math{t} threads, then the total number of -updates available must lie between the upper and lower bounds determined by @math{\sigma}: - -@sp 1 -@display - @math{2400 \le N \le 12,000}. -@end display -@sp 1 - -@noindent So we can gauge a reasonable lower bound of 2000 machines from a single hub, -with extremely conservative estimates of the environment. Note that -when exceeding several thousands connections over a short time -interval, other limitations of the operating system will normally -start to play a role, e.g. the maximum number of allowed file -descriptors. Further, comprehending a system of more than a few thousand -machines is a challenge unless the system is extremely uniform. - -In making each of these estimates, we are assuming that the hub machine will be working -almost to capacity. Increasing its resources will naturally lead to improvements -in performance. - - -@c ******************************************************************** -@node Limitations on the CFDB hub database, Update storms, Scaling of updates, A simple worst case approach to scalability - the star network -@subsection Limitations on the CFDB hub database - -A `star network' architecture has a single concentration -of processing, centred around registration of incoming and outgoing hosts on the hub. -Read/write activity is focused on two databases: - -@itemize -@item The last-seen database that records the current IP addresses of known clients -to the hub, accessed every time a host connects or is connected to the hub. -@item The document database where reports are stored (using MongoDB), accessed each time -an update is stored, or when a user makes a query. -@end itemize - -The scalablity of the hub depends on how efficiently reads and writes -can be parallelized to these databases. Even with aggressive cachine, -databases are disk-intensive and since disk access is typically the -slowest or weakest link in the data flow chain, disk accesses will -throttle the scalability of the hub the most. - -CFEngine tries to support efficient parallelization by using -multiple threads to serve and collect data, however access to a -shared resource must always be serialized, so ultimately serial access to the -disk will be the limiting factor. The CFEngine hub supports Linux -systems. Simple SATA disks, USB and Firewire have very limited performance. -To achieve the maximum scaling limit of a few thousand hosts per hub, -users can invest in faster interfaces and disk speeds, or even solid state -disk devices. - -Because of the serialization, a heavily loaded MongoDB will eat up most of the -resources on the hub, dominating the performance. Some performance tuning option -strategies are discussed below. Clearly maximizing the amount of RAM on the -hub is a way to improve the performance. - -The time estimates for host updating used above include the latency of -this database, but it is possible that there might be additional -delays once the amount of data passes a certain limits. We currently -have no data to support this assumption and await customer experiences -either way. - -Lookup times for data in the reports database increase with the number -of host-keys, so the time required to generate certain reports -(especially when searching through logs) must increase as the number -of hosts increases. - -@c ******************************************************************** -@node Update storms, , Limitations on the CFDB hub database, A simple worst case approach to scalability - the star network -@subsection Update storms - -When changes are made, many hosts will start downloading updated -files. This can have a sudden impact on the network, as a lot of -unexpected traffic is suddenly concentrated over a short interval of -time. The contention from these multiple downloads can therefore make -each download longer than it otherwise might have been, and this in -turn makes the problem worse. The situation is analogous to disk -thrashing. - -@cartouche -Once thrashing has started, it can cause greatly reduced performance -and hosts might pass their `blue horizon threshold', appearing to -disappear from the CFEngine Mission Portal. This does not mean the -hosts are dead or even `out of control'. It only means that updates -are taking too long according the tuning parameters. The default -update horizon is. -@end cartouche - -@c ******************************************************************** -@node Optimizations affecting scalability, Redundancy and load balancing in the Nova hub, A simple worst case approach to scalability - the star network, Internal and external scalability of the software -@section Optimizations affecting scalability -@sp 1 - - -@menu -* The role of caching and indexing:: -* Deterministic queue:: -* Push versus pull:: -@end menu - - - -@node The role of caching and indexing, Deterministic queue, Optimizations affecting scalability, Optimizations affecting scalability -@subsection The role of caching and indexing - -To assist the speed of policy processing by @code{cf-agent}, choose -class names evenly throughout the alphabet to make searching easier. -CFEngine arranges for indexing and cachine to be performed automatically. - -@node Deterministic queue, Push versus pull, The role of caching and indexing, Optimizations affecting scalability -@subsection Deterministic queue - - -@node Push versus pull, , Deterministic queue, Optimizations affecting scalability -@subsection Push versus pull - - -@node Redundancy and load balancing in the Nova hub, , Optimizations affecting scalability, Internal and external scalability of the software -@section Redundancy and load balancing in the Nova hub - -CFEngine does not @i{need} a `high availability' architecture to be an -effective management system. The software was designed to work with -very low availability, and the designers highly recommend avoiding the -introduction of dependencies that require such availability. In normal -operation, CFEngine will be able to continue to repair systems without -any contact with the outside world, until actual policy changes are -made. - -It is nonetheless possible to balance load and account for failures by -multiplying the number of hubs/policy servers in a Nova star -network. This only makes sense for the policy servers and reporting -hubs, which are in principle single points of failure. - -@itemize -@item Availability of policy in case of policy server failure. -@item Availability of reports in case of reporting hub failure. -@end itemize -Because CFEngine is a pull-based technology, the two processes look -like this: -@itemize -@item Satellite `client' nodes pull policy from a policy server. -@item Reporting hubs pull reports from all satellite clients. -@end itemize -In both cases, the processes are `self-healing'. If a client is unable -to connect to a policy server, it will continue to work with its old -policy until the policy server becomes available again. If a report -hub fails and reports are no longer accessible, no data are lost -because the actual data are sourced from the satellite nodes. When the -hub is replaced or restored, it will update and continue as before. - -@menu -* Balancing multiple policy servers:: -* Redundant reporting hubs and recovery:: -@end menu - -@node Balancing multiple policy servers, Redundant reporting hubs and recovery, Redundancy and load balancing in the Nova hub, Redundancy and load balancing in the Nova hub -@subsection Balancing multiple policy servers - -A simple way to balance client hosts across multiple servers is to split them into classes -using the @code{select_class} function@footnote{This feature was added in core 3.1.5.}. Nothing else is needed to spread computers evenly -into a set of named buckets. -@verbatim -classes: - - "selection" select_class => { "bucket1", "bucket2" }; - -@end verbatim -This selects a particular class for each host from the list. A given -host will always map to the same class, thus allowing the rule for -policy updates to include copying from a personal `bucket' server. -@verbatim -body copy_from xyz -{ -... - -bucket1:: - servers => { "server-abc-1.xyz.com", "failover.xyz.com" }; -bucket2:: - servers => { "server-abc-2.xyz.com", "failover.xyz.com" }; - -... -} -@end verbatim - -Note this method is not suitable for bootstrapping hosts in a hub -configuration, since that requires a one to one relationship documented -in the @file{/var/cfengine/policy_server.dat} resource. - - -@node Redundant reporting hubs and recovery, , Balancing multiple policy servers, Redundancy and load balancing in the Nova hub -@subsection Redundant reporting hubs and recovery - -A CFEngine reporting hub is a host that aggregates reports from all -managed hosts in a Nova/Enterprise cluster. The purpose of aggregating -reports is to have all the information in one place for searching, -calibrating and comparing. The loss of a hub is an inconvenience -rather than a problem, as the function of a hub is to make access to -information about the system convenient and to enhance the knowledge of -users. - -@itemize -@item The loss of a hub will not impact the correctness of host configurations. -@item A hub will never come under heavy query load, so there is no need for load balancing. -@item Running multiple hubs on the same set of hosts will only lead to network contention -and increased overhead. -@item If a hub serves so many computers that updating the reports becomes a burden, -then you have probably already passed the point at which it makes sense to divide up -your management into multiple hubs. -@end itemize -Dividing hosts into multiple hubs should be a decision based on the absence of -the `need to know' for all hosts. By splitting the aggregation up into multiple -hubs, one jettisons the function of the hub which is to aggregate information. -The should normally be done in conjunction with a decision about knowledge boundaries -in your organization. - - -It makes sense to back up some information from a reporting hub. -Hub information is considered to be a mixture of two kinds of data: -@itemize -@item Cached information for data-mining, whose original source is the client from which it was collected. -Such information may be collected again if lost, and thus there is no need to back it up. -It can, of course, be backed up for convenience. -@item Original comments and hand-entered data about systems that are entered by users of the Mission Portal. -These data should be backed up as they cannot be recovered from any other source. -@end itemize -In addition to these, the hub makes use of the `last seen' database of -known hosts in order to know where to collect data from. For rapid -recovery after a data-loss catastrophe, it is recommended to back up -this database also. - -@sp 1 -@center @image{hubs,14cm} -@center Some data can be backed up from a hub for convenience. -@sp 1 - -The procedure for backing up the ephemeral data is: -@itemize -@item Mongo collections can be dumped to an intermediary format, though this is impractical -for large installations. - -@item For embedded databases, it is sufficient to copy the binary object: -@verbatim -cp /var/cfengine/cf_lastseen.db /backup -@end verbatim - -@end itemize - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Scan.texinfo b/docs/guides/SpecialTopic_Scan.texinfo deleted file mode 100644 index fb3c6c76c0..0000000000 --- a/docs/guides/SpecialTopic_Scan.texinfo +++ /dev/null @@ -1,1361 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-scan.info -@settitle Security Scanning and Tripwires with CFEngine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Security Scanning and Tripwires with CFEngine -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation - -CFEngine has sophisticated functionality for scanning hosts to find -anomalous content, for looking through log messages and detecting unauthorized file -changes. This can form the basis of a host based intrusion shield, -either alone or in conjunction with other tools. - -This document describes how to scan systems for potential security -incidents and vulnerabilities, and view reports across your system -using the Mission Portal. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} October 2011 CFEngine AS - -@end titlepage - - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, File scanning, (dir), (dir) -@top Security scanning and tripwires with CFEngine -@end ifnottex - -@iftex -@contents -@end iftex - -@menu -* File scanning:: -* Process and network scanning:: -* Log scanning:: -* Intrusion detection:: -@end menu - -@node File scanning, Process and network scanning, Top, Top -@chapter File scanning - -CFEngine has sophisticated functionality for scanning hosts to find -anomalous content, for looking through log messages and detecting unauthorized file -changes. This can form the basis of a host based intrusion shield, -either alone or in conjunction with other tools. - -This document describes how to scan systems for potential security -incidents and vulnerabilities, and view reports across your system -using the Mission Portal. - - - -@menu -* File change detection and tripwires:: -* Example change management:: -* file_change.log:: -* File change reports in Nova/Enterprise:: -* Tamperproof data:: -* Change detection bundle summary:: -* Reversion of file changes from a trusted source:: -@end menu - -@node File change detection and tripwires, Example change management, File scanning, File scanning -@section File change detection: tripwires - -File change monitoring is about detecting when file information on a -computer system changes. You might or might not know that files -are going to change. Expected changes are not usually a problem, -but unexpected change can be problematic or even sinister. - -The bulk of information on a computer is its file data. Change -detection for filesystems uses a technique made famous in the original -open source program Tripwire, which collects a snapshot of the system -in the form of a database of file checksums (cryptographic hashes) and -then periodically rechecks the system against this database to see -what has changed. Using cryptographic hashes is an efficient way of -detecting change as it reduces file contents to a unique number, just -a few bytes long, which can be stored for later comparison to detect change. - -If as much as a single bit of information changes, the file hash will -change by a noticable amount. This is a very simple (even simplistic) -view of change, but it is effective at warning about potential -incursions to the system. - -@cartouche -A cryptographic hash (also called a digest) is an algorithm that reads -(digests) a file and computes a single number (the hash value) -based on its contents. If so much as a single bit in the file changes -then the value of the hash will change. You can compute hash values -manually, for example: - -@verbatim - -host$ openssl md5 /etc/passwd -MD5(/etc/passwd)= 1fbd82252c441d0e9539f8f7271ec2fe - -@end verbatim - -There are several kinds of hash function. The most common ones are MD5 -and SHA1. Recently both of these algorithms -have been superceded by the newer SHA2 set. - -@sp 1 -Note that the FIPS 140-2 US government standard for encryption does not recognize -the MD5 hash algorithm. The default algorithm for enterprise grade -CFEngine is now SHA256. -@end cartouche - - -@sp 1 - -To use hash based change detection we use @file{files} promises -and the @code{changes} feature; first we ask CFEengine to -compute file hashes for specified files and enter them into a -database. Then, the same promise on subsequent runs will re-collect -the data and compare the result to what has been stored in the database. - -Here is a simple CFEngine promise that checks for changes in -@file{/usr/local}: - -@verbatim -files: - "/usr/local" - changes => detect_all_change, - depth_search => recurse("inf"); -@end verbatim - -@noindent This example uses the standard library template @samp{detect_all_change}. - -The first time this promise is kept, CFEngine collects data and treats -all files as @i{unchanged}. It builds a database of the checksums. The -next time the rule is checked, cfagent recomputes the checksums and -compares the new values to the `reference' values stored in the -database. If no change has occurred, the two should match. If they -differ, then the file as changed and a warning is issued either on the -command line (if you are testing manually) or by email. - -@verbatim - cf3: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - cf3: SECURITY ALERT: Checksum (sha256) for /etc/passwd changed! - cf3: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -@end verbatim - -This message is designed to be visible. If you do not want the -embracing rows of `!' characters, then this control directive turns -them off: - -@verbatim -body agent control -{ -exclamation => "false"; -} -@end verbatim - - - -@node Example change management, file_change.log, File change detection and tripwires, File scanning -@section Example change management - -Try the following complete example. -@cartouche -@verbatim -body common control -{ -bundlesequence => { "test_change" }; -inputs => { "LapTop/cfengine/copbl/cfengine_stdlib.cf" }; -} - -bundle agent test_change -{ -files: - - "/tmp" - changes => detect_all_change, - depth_search => recurse("inf"); -} -@end verbatim -@end cartouche -@sp 1 -@noindent This example shows how we use standard library templates to -scan a directory and (recursively) all of its sub-directories and their -contents. - -The first time we run this, we get a lot of messages about new files being detected. -This learns and defines the baseline for future comparisons: -@cartouche -@smallexample -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/test.cf -K - - !! File /tmp/.X0-lock was not in sha512 database - new file found -I: Made in version 'not specified' of '/home/a10004/test.cf' near line 14 - !! File /tmp/pulse-5weilfdGWBDj/pid was not in sha512 database - new file found -I: Made in version 'not specified' of '/home/a10004/test.cf' near line 14 -@end smallexample -@end cartouche -@noindent Next we can create a new file in the directory: -@verbatim -host$ touch /tmp/blablabla -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/test.cf -K - - !! File /tmp/blablabla was not in sha512 database - new file found -I: Made in version 'not specified' of '/home/a10004/test.cf' near line 14 -@end verbatim - -@noindent Next we edit the contents of the file -@cartouche -@smallexample -host$ echo sldjfkdsf > /tmp/blablabla -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/test.cf -K - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -ALERT: Hash (sha512) for /tmp/blablabla changed! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -> Updating hash for /tmp/blablabla to SHA=63fc10a0c57dc8cbd2c259b4d0bb81e1b4e5cf23f1fdc8b8 -I: Made in version 'not specified' of '/home/a10004/test.cf' near line 14 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -ALERT: Last modified time for /tmp/blablabla changed Thu Oct 20 08:46:58 2011 -> Thu Oct 20 -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -@end smallexample -@end cartouche -@noindent Note the different messages here. The first message notes that the contents of the file -have changed. The second indicates that the database has been updated with the new hash of the -file so that this message will not be regenerated on every subsequent run of CFEngine. Finally, -it notes that the modification time on the file changed. These messages reflect the default settings -in the @samp{detect_all_change} template (see below). - -Finally, if we remove a file from a monitored directory, we see the following: -@cartouche -@smallexample -host$ rm /tmp/blablabla -host$ ~/LapTop/cfengine/core/src/cf-agent -f ~/test.cf -K - -ALERT: /tmp/blablabla file no longer exists! -I: Made in version 'not specified' of '/home/a10004/test.cf' near line 14 -@end smallexample -@end cartouche -In this example, we used the standard library template @samp{detect_all_change}, -which is defined as follows: -@verbatim -body changes detect_all_change -{ -hash => "best"; -report_changes => "all"; -update_hashes => "yes"; -} -@end verbatim - -This is the most exacting option, but it costs CPU time to compute two different hashes -for cross-referencing as well as for reading -disk files and it costs disk space in storing both content hashes and additional -file attribute information. Moreover, it resets its learned database each time a change -is made. - -There are several alternatives. To save CPU and disk, we can just monitor content: -@verbatim -body changes detect_content -{ -hash => "md5"; -report_changes => "content"; -update_hashes => "yes"; -} -@end verbatim -@noindent To prevent the database being updated, we can use: -@verbatim -body changes noupdate -{ -hash => "sha256"; -report_changes => "content"; -update_hashes => "no"; -} -@end verbatim - -Finally, commercially supported versions of CFEngine will support -detection of file difference reports in the Mission Portal, if enabled -in policy: -@verbatim -body changes diff # Generates diff report (Nova and above) -{ -hash => "sha256"; -report_changes => "content"; -report_diffs => "true"; -update_hashes => "yes"; -} -@end verbatim - - -@node file_change.log, File change reports in Nova/Enterprise, Example change management, File scanning -@section file_change.log - -The file file_hash_event_history contains a separate text log of file -changes. - -@verbatim -host$ sudo more /var/cfengine/state/file_change.log -[sudo] password for you: -1308904847,/etc/passwd -1308904847,/etc/shadow -@end verbatim -The first column is a time stamp. If you are using one of the commercial versions -of CFEngine, you can see a more user friendly report for the entire enterprise or -for a single host in the next section. - -@node File change reports in Nova/Enterprise, Tamperproof data, file_change.log, File scanning -@section File change reports in Nova/Enterprise - -In the commercially supported editions of CFEngine, users have access -to a number of reports about file changes. A report of file changes and the -times at which the changes were detected is available in the file change report: - -@sp 1 -@image{file_change_diffs,15cm} -@sp 1 - -@noindent CFEngine does not record the actual changes unless you mention files -explicitly by name, and the report is mostly useful if the file is a text file. -In that case, you will see a change report: - -@sp 1 -@image{file_change_log,15cm} -@sp 1 - - - - -@node Tamperproof data, Change detection bundle summary, File change reports in Nova/Enterprise, File scanning -@section Tamperproof data - -Message digests are supposed to be unbreakable, tamperproof -technologies, but of course everything can be broken by a sufficiently -determined attacker. Suppose someone wanted to edit a file and alter -the cfengine checksum database to cover their tracks. If they had -broken into your system, this is potentially doable, though not easy. How can we -detect whether this has happened or not? - -A simple solution to this is to exploit the fact that CFEngine is a -distributed system, and to make neighbouring hosts work together to -watch over one another. We can use the same idea for change detection, -but now remotely across networked hosts: we -use another checksum-based -operation to copy the database to a completely different host. By -using a copy operation based on a checksum value, we can also remotely -detect a change in the checksum database itself. - -@cartouche -@verbatim -bundle agent neighbourhood_watch -{ -vars: - - "neighbours" slist => peers("/var/cfengine/inputs/hostlist","#.*",4), - comment => "Get my neighbours from a list of all hosts"; - -files: - - # Redundant cross monitoring ....................................... - - "$(sys.workdir)/nw/$(neighbours)_checksum_digests.db" - - comment => "Watch our peers remote hash tables!", - copy_from => - remote_cp("$(sys.workdir)/checksum_digests.db",$(neighbours)), - depends_on => { "grant_hash_tables" }; - - # Define the actual children to watch over ......................... - - "/usr/bin" - comment => "Watch over the system binaries", - changes => detect_all_change, - depth_search => recurse("inf"), - action => measure; - -} -@end verbatim -@end cartouche - -We must have a file @file{hostlist} containing a list of all participating hosts; it is -best to list IP addresses, one per line, but host names will also do. -This works as follows. - -Each host extracts from the host lists a list of (in this case three) neighbours, -since we have set a neighbourhood size of 4. The CFEngine built-in function -@samp{peers()} can be used for this. Each host in -the network takes on the responsibility to watch over its -neighbours by promising to copy the change databases for its neighbours -only if they have changed. Any changes are then logged as alerts. - -The copy rule attempts to copy the database to some file in a -safekeeping directory @code{$(sys.workdir)/nw}. -In theory, all four neigbours should signal this change. If an -attacker had detailed knowledge of the system, he or she might be able -to subvert one of these before the change was detected, but it -is unlikely that all four could be covered up. At any rate, this -approach maximizes the chances of change detection. - -Finally, in order to make this copy, you must, of course, grant access to the database in -by granting access to the database in a bundle of server promises: - -@verbatim -bundle server access_rules() -{ -vars: - - # List here the IP masks that we grant access to on the server - - "acl" slist => { - "$(sys.policy_hub)/24", - "128.39.89.233", - "2001:700:700:3.*" - }, - comment => "Define an acl for the machines to be granted accesses", - handle => "common_def_vars_acl"; - -access: - - "/var/cfengine/checksum_digests.tcdb" - - handle => "grant_hash_tables", - admit => { @(acl) }, - maproot => { @(acl) }; - -@end verbatim - -Let us now consider what happens if an attacker changes a file an -edits the checksum database. Each of the four hosts that has been -designated a neighbour will attempt to update their own copy of the -database. If the database has been tampered with, they will detect a -change in the hashes of the remote copy versus the original. The file -will therefore be copied. - -It is not a big problem that others have a copy of your checksum -database. They cannot see the contents of your files from this. A -potentially greater problem is that this configuration will unleash an -avalanche of messages if a change is detected. This does make messages -visible however. - - - -@node Change detection bundle summary, Reversion of file changes from a trusted source, Tamperproof data, File scanning -@section Change detection bundle summary - -A typical promise structure for doing change management. - -@cartouche -@verbatim - -bundle agent change_management -{ -vars: - - "watch_files" slist => { - "/etc/passwd", - "/etc/shadow", - "/etc/group", - "/etc/services" - }; - - "watch_dirs" slist => { - "/usr" - }; - - "neighbours" slist => peers("/var/cfengine/inputs/hostlist","#.*",4), - comment => "Partition the network into groups"; - -files: - "$(watch_dirs)" - comment => "Change detection on the directories", - changes => detect_all_change, - depth_search => recurse("inf"); - - "$(watch_files)" - comment => "Change detection on important files", - changes => diff; # diff_noupdate - - # Redundant cross monitoring ... neighbourhood watch - - "$(sys.workdir)/nw/$(neighbours)_checksum_digests.db" - - comment => "Watching our peers remote hashes - cross check", - copy_from => - remote_dcp("$(sys.workdir)/checksum_digests.db","$(neighbours)"), - depends_on => { "grant_hash_tables" }, - action => neighbourwatch("File changes observed on $(neighbours)"); -} - -####################################################### - -body action neighbourwatch(s) -{ -ifelapsed => "30"; -log_string => "$(s)"; -log_repaired => "stdout"; -} - -@end verbatim -@end cartouche -@noindent Note that the @file{remote_dcp} template uses a digest-comparison when comparing -the files. - -With this promise in place, you will not merely be warned about file -changes, but you will immediately remediate the erroneous file -change. By default, CFEngine backs up files when they are replaced by -appending a suffix @file{.cfbackup}, or timestamp. If you want to go -and look at the erroneous file for forensic evaluation, this backup -contains the evidence of changes. - - -@node Reversion of file changes from a trusted source, , Change detection bundle summary, File scanning -@section Reversion of file changes from a trusted source - -Detecting changes to files is only half of battle against unauthorized -change. In most cases you will also want to revert back to a trusted -version. A recommended approach here is to maintain a trusted -repository of source files, and to ask CFEngine to compare the current -version of the file to master version using a cryptographic hash. - -Suppose we want to manage a particular file (of any type or for any purpose) -called @file{fileX}, which is to be located in some directory -@file{/destination} of a host. We arrange for some other host -(that is considered `secure') to have a trusted version the file -in some directory called @file{/mastersources}@footnote{Perhaps this master source -has its own version control system for tracking intended changes in the master versions; -we shall not discuss that here.}. A promise that synchronized the - -@verbatim - "/destination/fileX" - - comment => "Copy fileX from a trusted source", - copy_from => - remote_dcp("/mastersources/fileX","masterhost"), - depends_on => { "grant_fileX" }, - action => neighbourwatch("File changes observed on fileX"); - -@end verbatim -@noindent We assume here that access to the masterfile has been granted to the -host. - - -@node Process and network scanning, Log scanning, File scanning, Top -@chapter Process and network scanning - -Looking at file changes is a very static view of system change -- basically you assume that -the system should not change from some initial snaphot, or at the very least you warn about -every change. However, many aspects of a system change all the time, e.g. the network connections -to and from the host, the processes running on the system. - -The system might attain some kind of @i{statistical} normalcy, which can be learnt -over time, but it that is based on a kind of equilibrium with its environment, not -of locking down the system completely. - -CFEngine's @code{cf-montord} has the ability to learn the trends and -behaviour of any countable or measurable value on the system. Over -time, it employs machine-learning methods from artificial intelligence -to build a normalcy profile for the system. Any significant deviations from -these profiles can be reported and responded to in policy. - -@sp 1 -@cartouche -In the Special Topics Guide @i{Monitoring with CFEngine}, you will find more information about -about how to use CFEngine's monitoring daemon @code{cf-monitord} to watch over changes -to the system that are dynamical. -@end cartouche - - -@menu -* Watching processes:: -* Watching other system variables:: -* Threshold monitoring:: -* Port monitoring:: -@end menu - -@node Watching processes, Watching other system variables, Process and network scanning, Process and network scanning -@section Watching processes - -CFEngine does not encourage the watching of systems without repair, -i.e. simply informing humans about changes without fixing -problems. After all, if you have a chance to repair something that is -already encoded into policy, why wouldn't you simply do it? However, -in certain mission critical environments you might want a specific -alert about changes even though a repair was made. If certain -conditions are not supposed to happen, it is good to know that they did. - -In the following example, we look for a number of very specific -processes in the process table, using our own promise-bdy template. -Then we use a standard library template @code{check_range} to -set policy for an acceptable range of such processes on the system. - -This combines two kinds of checks: how many of a particular process -is acceptable at any given moment, and the precise parameters -satsified: in this case, the amount of memory used by the process. - -@sp 1 -@cartouche -@verbatim -bundle agent count_important_processes -{ -processes: - - ".*" - - process_select => my_proc_finder("myprocess"), - process_count => check_range("myprocess",1,10); -} - -######################################################## - -body process_select my_proc_finder(p) - -{ -process_owner => { "root", "bin" }; -command => "$(p)"; -pid => "100,199"; -vsize => "0,1000"; -process_result => "command.(process_owner|vsize)"; -} - -@end verbatim -@end cartouche -@noindent This example therefore searches for processes called @samp{myprocess} -running as root or bin that use between 0 and 1000 KB of virtual memory -and have a process ID between 100 and 199. -Although this example is a little contrived, it shows how different -criteria can be combined to watch for very specific promises. - - -@node Watching other system variables, Threshold monitoring, Watching processes, Process and network scanning -@section Watching other system variables - - -When @code{cf-monitord} is running, it collects information about a -running processes and network connections to well-known ports. There -is a list of standard ports and system attributes examined by -CFEngine, and you can extend this using @code{measurements} promises. - -@sp 1 -@cartouche -In the Special Topics Guide @i{Monitoring with CFEngine}, you will find more information about -about how to use CFEngine's monitoring daemon @code{cf-monitord} to watch over changes -to the system that are dynamical. -@end cartouche -@sp 1 - -The information learnt by the monitoring daemon is stored in an -embedded database so that CFEngine can learn the normal behaviour of -the system. It does this by gathering statistics using a very -lightweight, smart algorithm that avoids storing large amounts -of data. The result is that every monitored value can be characterized -by an expectation value and an estimate of the standard-deviation -of the values measured. - -CFEngine is smart enough to realize that what us normal at one time of -day is not necessarily normal all the time, so it learns what is -normal within each five minute interval of the days of the week. Based -on this published model, it is possible to detect anomalies in -behaviour quite accurately, provided enough data are available. - -@sp 1 -@cartouche -Looking for statistical anomalies on little-used hosts is a waste of time. -If it is normal that nothing happens, then everything that happens -in anomalous. -@end cartouche -@sp 1 - -You do not need to provide any special configuration in the monitor -daemon to be able to -use the basic anomaly measures, however if you want to interface with -a packet analyser, you will need to configure that as it is resource -intensive. - -@cartouche -If you have @code{tcpdump} available on your system, it is also possible -to get CFEngine to interface to it an measure general packet types -travelling on the local network. - -@verbatim -body monitor control -{ -tcpdump => "false"; -tcpdumpcommand => "/usr/sbin/tcpdump -t -n -v"; -} -@end verbatim -@end cartouche -@sp 1 - -@noindent CFEngine monitoring is normally very lightweight, but occupying -the network interface for packet analysis is quite the opposite! - - -The following example bundle shows we can use the classes set the by -monitoring daemon simply to warn about anomalous statistical -states. Notice that we define what anomalous means in the policy -itself, by setting a class based on the current state in relation to -the learnt state, e.g. @code{rootprocs_high_dev1}, meaning that the -current state is between zero and one standard deviation above the -expectation value, or average. An `anomaly' is defined syntactically -to be more than two standard deviations above or below average. - -Entropy measures can also be used to see how much entropy (variation) -there is in the source IP addresses from which the connections arise. -This allows us to distinguish between focused traffic from a single source, and -traffic arriving from many sources. - - - -@cartouche -@verbatim -bundle agent anomalies -{ -reports: - -rootprocs_high_dev1:: - - "RootProc anomaly high 1 dev on $(sys.host) at $(mon.env_time) - measured value $(mon.value_rootprocs) with - average $(mon.av_rootprocs) pm $(mon.dev_rootprocs)" - - showstate => { "rootprocs" }; - - entropy_www_in_high.www_in_high_anomaly:: - - "HIGH ENTROPY Incoming www anomaly high anomaly dev!! on - $(sys.host) at $(mon.env_time) - measured value $(mon.value_www_in) - av $(mon.av_www_in) pm $(mon.dev_www_in)" - - showstate => { "incoming.www" }; - - entropy_www_in_low.anomaly_hosts.www_in_high_anomaly:: - - "LOW ENTROPY Incoming www anomaly high anomaly dev!! on - $(sys.host) at $(mon.env_time) - measured value $(svalue_www_in) - av $(av_www_in) pm $(dev_www_in)" - - showstate => { "incoming.www" }; - - entropy_tcpsyn_in_low.anomaly_hosts.tcpsyn_in_high_dev2:: - - "Anomalous number of new TCP connections on $(sys.host) at - $(mon.env_time) - measured value $(mon.value_tcpsyn_in) av - $(mon.av_tcpsyn_in) pm $(mon.dev_tcpsyn_in)" - - showstate => { "incoming.tcpsyn" }; - - entropy_dns_in_low.anomaly_hosts.dns_in_high_anomaly:: - - "Anomalous (3dev) incoming DNS packets on $(sys.host) - at $(mon.env_time) - measured value $(mon.value_dns_in) - av $(av_dns_in) pm $(mon.dev_dns_in)" - - showstate => { "incoming.dns" }; - - anomaly_hosts.icmp_in_high_anomaly.!entropy_icmp_in_high:: - - "Anomalous low entropy (3dev) incoming ICMP traffic on $(sys.host) - at $(mon.env_time) - measured value $(mon.value_icmp_in) - av $(mon.av_icmp_in) pm $(mon.dev_icmp_in)" - - showstate => { "incoming.icmp" }; - -} -@end verbatim -@end cartouche - - - -@node Threshold monitoring, Port monitoring, Watching other system variables, Process and network scanning -@section Threshold monitoring - -The values learned by the monitoring daemon are made available to the -agent as variables in the system context @samp{mon}, e.g. @samp{$(mon.www_in)}. -We can use these values at any time to set policy, either for alerting or -fixing the system. - -@verbatim -vars: - - "probes" slist => { "www", "smtp", "ssh" }; - -classes: - - "$(probes)_threshold" expression => isgreaterthan("$(mon.$(probes)_in)","50"); - -reports: - - "Help me $(probes)!" ifvarclass => "$(probes)_threshold"; - -@end verbatim - -@noindent The value of the CFEngine's component integration is to have transparent -access to the detailed running state of the system at all times. It is possible to -defined quite complex policies, and to respond to incidents based on the specific -data discovered. - - - -@node Port monitoring, , Threshold monitoring, Process and network scanning -@section Port monitoring - -The cf-monitord sets some system variables that allow you to see what ports are in -use on a local host. These data are stored locally in @file{/var/cfengine/state/env_data} -and may be seen in variables reports in the Mission Portal. - -@noindent The following are list variables: -@table @samp -@item mon.listening_ports -A list of all open ports -@item mon.listening_tcp4_ports -A list of open TCP ports bound to IPv4. -@item mon.listening_tcp6_ports -A list of open TCP ports bound to IPv6. -@item mon.listening_udp4_ports -A list of open UDP ports bound to IPv4. -@item mon.listening_udp6_ports -A list of open UDP ports bound to IPv6. -@end table -@noindent The following are scalar array variables: -@table @samp -@item mon.tcp6_port_addr[@var{port}] -Variable contains the value of the IPv6 address bound to the port with number given by the array slot. -@item mon.tcp4_port_addr[@var{port}] -Variable contains the value of the IPv4 address bound to the port with number given by the array slot. -@end table - - -This excerpt shows list variables and an array of addresses for the bindings to each port, -both for IPv4 and IPv6. -@sp 1 -@cartouche -@verbatim - -@listening_ports={'80','5308','631','22','53','1194'} -@listening_tcp6_ports={'631','22','53','80'} -@listening_tcp4_ports={'5308','631','22','53','1194'} - -tcp6_port_addr[631]=::1 -tcp6_port_addr[22]=:: -tcp6_port_addr[53]=:: -tcp6_port_addr[80]=:: -tcp4_port_addr[5308]=0.0.0.0 -tcp4_port_addr[631]=127.0.0.1 -tcp4_port_addr[22]=0.0.0.0 -tcp4_port_addr[53]=0.0.0.0 -tcp4_port_addr[1194]=127.0.0.1 -@end verbatim -@end cartouche -@sp 1 -This simple policy extract will generate a list of open ports on a given host: -@verbatim -reports: - monitoring:: - "Open tcp4 port on $(mon.listening_tcp4_ports)"; - "Open tcp6 port on $(mon.listening_tcp6_ports)"; -@end verbatim -@sp 1 -Sample output: -@example -R: Open tcp4 port on 5308 -R: Open tcp4 port on 631 -R: Open tcp4 port on 22 -R: Open tcp4 port on 53 -R: Open tcp4 port on 1194 -R: Open tcp6 port on 631 -R: Open tcp6 port on 22 -R: Open tcp6 port on 53 -R: Open tcp6 port on 80 -@end example - -@node Log scanning, Intrusion detection, Process and network scanning, Top -@chapter Log scanning - -In CFEngine Nova and above, you can extract data from the -system in sophisticated ways from files or pipes, using Perl -Compatible Regular Expressions to match text. The @code{cf-monitord} -agent is responsible for processing measurement promises. - -In this example, we count lines matching a pattern in a file. -You might want to scan a log for instances of a particular -message and trace this number over time. - - -@menu -* Scanning log files for patterns:: -* FTP:: -* DNS:: -* Email:: -* Milter:: -* Breakin:: -@end menu - -@node Scanning log files for patterns, FTP, Log scanning, Log scanning -@section Scanning log files for patterns -@sp 1 - -You will have to scan the log file for each separate summary -you want to keep, so you win a lot of efficiency by lumping -together mulitple patterns in a longer regular expressions. - -Be careful however about the trade-off. Disk access is certainly the -most expensive computing resource, but a smart filesystem might do good caching. - -Regular expression processing, on the other hand, is CPU expensive, so -if you have very long or complex patterns to match, you will begin -to eat up CPU time too. - -At the end of the day, you should probably do some tests to find a good -balance. One goal of CFEngine is to minimally impact your system performance, -but it is possible to write promises that have the opposite effect. Check -your work! - -@verbatim - -bundle monitor watch -{ -measurements: - - "/home/mark/tmp/file" - - handle => "line_counter", - stream_type => "file", - data_type => "counter", - match_value => scan_log("MYLINE.*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node FTP, DNS, Scanning log files for patterns, Log scanning -@section Scanning syslog for FTP statistics -@sp 1 - -There are many things that you can set CFEngine at monitoring. For example, -CFEngine can automtically collect information about the number of socket-level -connections made to the ftp server, but you might want more detailed -statistics. For example, you might want to track the volume of data sent -and received, or the number of failed logins. Here are a collection of -monitoring promises for doing just that. - -Note that the ftp logs are maintained by syslog, so it is necessary to match -only those lines which correspond to the appropriate service. We also assume -that the specific messages are sent to @file{/var/log/messages}, while your -configuration may specify otherwise. Likewise, your operating systems's -version of ftp may issue messages with a slightly different format than ours - -@verbatim - -bundle monitor watch_ftp -{ -vars: - "dir" slist => { "get", "put" }; - -measurements: - - "/var/log/messages" - - handle => "ftp_bytes_${dir}", - stream_type => "file", - data_type => "int", - match_value => extract_log(".*ftpd\[.*", ".*${dir} .* = (\d+) bytes.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/messages" - - handle => "ftp_failed_login", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*ftpd\[.*", ".*FTP LOGIN FAILED.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/messages" - - handle => "ftp_failed_anonymous_login", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*ftpd\[.*", ".*ANONYMOUS FTP LOGIN REFUSED.*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body match_value extract_log(line, extract) -{ -select_line_matching => "$(line)"; -extraction_regex => "$(extract)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node DNS, Email, FTP, Log scanning -@section Scanning DNS logs for query statistics -@sp 1 - -Another thing you might want to do is monitor the types of queries that your -DNS server is being given. One possible reason for this is to test for -unusual behavior. For example, suddenly seeing a surge in @samp{MX} requests -might indicate that your system is being targeted by spammers (or that one of -your users is sending spam). If you are thinking of converting to IPv6, you -might want to compare the number of @samp{A} requests to @samp{AAAA} and -@samp{A6} requests to see how effective your IPv6 implementation is. - -Because DNS logs are directly maintained by @samp{bind} or @samp{named} (and -do not go through syslog), the parsing can be simpler. However, you @i{do} -need to configure DNS to log query requests to the appropriate log file. In -our case, we use @file{/var/log/named/queries}. - -@verbatim - -bundle monitor watch_dns -{ -vars: - "query_type" slist => { "A", "AAAA", "A6", "CNAME", "MX", "NS", - "PTR", "SOA", "TXT", "SRV", "ANY" }; -measurements: - "/var/log/named/queries" - handle => "DNS_$(query_type)_counter", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".* IN $(query_type).*"), - history_type => "log", - action => sample_rate("0"); -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - -@node Email, Milter, DNS, Log scanning -@section Scanning syslog for email statistics -@sp 1 - -Email is another syslog-based facility that you may want to use CFEngine to -monitor. There are a number of volumetric data that are of interest. For -example, the number of messages sent and received, the number of messages -that have been deferred (a large number might indicate networking problems or -spam bounces), and the number of spam messages that have been -detected and removed by the assorted spam filters. - -The samples below assume that there is a separate logfile for email (called -@file{/var/log/maillog}) and that a few of the standard sendmail rulesets -have been enabled (see -@samp{http://www.sendmail.org/~ca/email/relayingdenied.html} for details). -As with any syslog-generated file, you need to check for the appropriate -service, and in this case we are lumping local messages (sent through -@samp{sm-mta}) and remote messages (sent through @samp{sendmail}) into a -single count. Your mileage may of course vary. - -If you use one or more sendmail "milters", each of these will also output -their own syslog messages, and you may choose to track the volume of -rejections on a per-filter basis. - -@verbatim - -bundle monitor watch_email -{ -vars: - "sendmail" string => ".*(sendmail|sm-mta)\[.*"; - - "action" slist => { "Sent", "Deferred" }; - -measurements: - - "/var/log/maillog" - - handle => "spam_rejected", - stream_type => "file", - data_type => "counter", - # This matches 3 kinds of rulesets: check_mail, - # check_rcpt, and check_relay - match_value => scan_log("$(sendmail)ruleset=check_(mail|rcpt|relay).*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/maillog" - - handle => canonify("mail_$(action)", - stream_type => "file", - data_type => "counter", - match_value => scan_log("$(sendmail)stat=$(action) .*"), - history_type => "log", - action => sample_rate("0"); - -} - -########################################################## - -body match_value scan_log(line) -{ -select_line_matching => "$(line)"; -track_growing_file => "true"; -} - -body action sample_rate(x) -{ -ifelapsed => "$(x)"; -expireafter => "10"; -} -@end verbatim - - -@node Milter, Breakin, Email, Log scanning -@section Scanning syslog for email milter failures -@sp 1 - -Milters are relatively new in sendmail, and some have problems. You can also -use monitoring to detect certain types of failure modes. For example, if a -milter is running (that is, there is a process present) but it does not -respond correctly, sendmail will log an entry like this in syslog (where -@samp{xyzzy} is the name of the milter in question): - -@verbatim -Milter (xyzzy): to error state -@end verbatim - -A small number of these messages is no big deal, since sometimes the milter -has temporary problems or simply encounters an email message that it finds -confounding. But a larger value of these messages usually indicates that the -milter is in a broken state, and should be restarted. - -You can use @samp{cf-monitord} to check for the number of these kinds of -messages, and use the soft classes that it creates to change how -@samp{cf-agent} operates. For example, here we will restart any milter -which is showing a high number of failure-mode messages: - -@verbatim -bundle monitor watch_milter -{ -vars: - "milter" slist => { "dcc", "bogom", "greylist" }; - -measurements: - - "/var/log/maillog" - - handle => "${milter}_errors", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*Milter (${milter}): to error state"), - history_type => "log", - action => sample_rate("0"); -} - -bundle agent fix_milter -{ -vars: - "m[dcc]" string => "/var/dcc/libexec/start-dccm"; - "m[bogom]" string => "/usr/local/etc/rc.d/milter-bogom.sh restart"; - "m[greylist]" string => "/usr/local/etc/rc.d/milter-greylist restart"; - -commands: - "$(m[$(watch_milter.milter)])" - ifvarclass => "$(watch_milter.milter)_high"; -} -@end verbatim - - -@node Breakin, , Milter, Log scanning -@section Scanning syslog for breakin attempts -@sp 1 - -A lot of script-kiddies will probe your site for vulnerabilities, using -dictionaries of account/password combinations, looking for unguarded accounts -or accouts with default passwords. Most of these scans are harmless, because -a well-maintained site will not use the default passwords that these hackers -seek to exploit. - -However, knowing that you are being scanned is a good thing, and CFEngine can -help you find that out. Because @samp{sshd} logs it's message through -@samp{syslog}, we again need to filter lines based on the service name. On -our system, authorization messages are routed to @file{/var/log/auth.log}, -and we would monitor it like this: - -@verbatim -bundle monitor watch_breakin_attempts -{ -measurements: - "/var/log/auth.log" - # This is likely what you'll see when a script kiddie probes - # your system - - handle => "ssh_username_probe", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*Invalid user.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # As scary as this looks, it may just be because someone's DNS - # records are misconfigured - but you should double check! - - handle => "ssh_reverse_map_problem", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*POSSIBLE BREAK-IN ATTEMPT!.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # Someone is trying to log in to an account that is locked - # out in the sshd config file - - handle => "ssh_denygroups", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*group is listed in DenyGroups.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # This is more a configuration error in /etc/passwd than a - # breakin attempt... - - handle => "ssh_no_shell", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*because shell \S+ does not exist.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # These errors usually indicate a problem authenticating to your - # IMAP or POP3 server - - handle => "ssh_pam_error", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*error: PAM: authentication error.*"), - history_type => "log", - action => sample_rate("0"); - - "/var/log/auth.log" - # These errors usually indicate that you haven't rebuilt your - # database after changing /etc/login.conf - maybe you should - # include a rule to do this command: cap_mkdb /etc/login.conf - - handle => "ssh_pam_error", - stream_type => "file", - data_type => "counter", - match_value => scan_log(".*sshd\[.*login_getclass: unknown class.*"), - history_type => "log", - action => sample_rate("0"); -} - -@end verbatim - - -See the CFEngine Nova documentation for more possibilities of measurement -promises. - - - -@node Intrusion detection, , Log scanning, Top -@chapter Intrusion detection - -Intrusion detection is a highly specialized area. CFEngine is not -designed specifically to be an intrusion detection or intrusion -prevention system, but it has many features that can be used as part -of an integrated stratey against intrusions. - -What is an intrusion or an attempted intrusion? This can be difficult -to define. If someone tries to login as root once? If someone tries to -login at root fifty times? Is port scanning a sign, or perhaps a SATAN -or ISS scan? Someone trying a known security hole? There is no certain -way to identify the intentions behind activity we observe on a system. - -The aim of an intrusion detection system is to detect events that can -be plausibly connected to incidents or break-ins, hopefully while they -are still in progress so that something can be done about them. -One way of doing fault diagnosis is to compare a system to a working -specification continuously. This is essentially what CFEngine does -with systems. - - -@bye diff --git a/docs/guides/SpecialTopic_Schedule.texinfo b/docs/guides/SpecialTopic_Schedule.texinfo deleted file mode 100644 index 5921054f60..0000000000 --- a/docs/guides/SpecialTopic_Schedule.texinfo +++ /dev/null @@ -1,557 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-schedule.info -@settitle Scheduling and Event Management -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Scheduling and Event Management -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine is able to schedule processes or jobs across all managed -nodes, in a platform independent manner. This eliminates the -distributed configuration of time-shedulers like cron, and allowed the -design of custom calendars trivially with CFEngine's built in logic. - -Moreover, CFEngine can respond to the occurrence of any distributed -pattern in behaviour or data on the network and bring immediate -countermeasures to bear. Thus full location-time scheduling and -response is supported. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is scheduling?, (dir), (dir) -@top Scheduling -@menu -* What is scheduling?:: -* How can CFEngine help?:: -* Define jobs with basic profile information :: -* Chaining jobs together:: -* Calendars :: -* Logging execution:: -* Scheduling by Sensing Events and Patterns:: -* Working with Unix cron:: -* Commands promises:: -* Splaying host times:: -* Choosing a scheduling interval:: -* Appendix - Did you know?:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - - -@node What is scheduling?, How can CFEngine help?, Top, Top -@unnumberedsec What is scheduling? - -@sp 1 - -Scheduling refers to the execution of non-interactive processes or -tasks (usually called `jobs') at designated times and places around a -network of computers. On a given computer, jobs might be run -sequentially in a queue, one after the other, or they might be run in -parallel. -Jobs can also be started by triggers when sensors see certain system -activity. CFEngine supports a full range of features for customizing -hands-free scheduling. - -@node How can CFEngine help?, Define jobs with basic profile information , What is scheduling?, Top -@unnumberedsec How can CFEngine help? - -CFEngine is able to schedule processes or jobs across all managed -nodes, in a platform independent manner. This eliminates the -distributed configuration of shedulers like cron. The time resolution -for this depends on the frequency with with the cf-agent is scheduled -to run. A normal recommendation is that cf-agent runs every 5 minutes, -which is sufficiently often for most batch scheduling requirements. - -@node Define jobs with basic profile information , Chaining jobs together, How can CFEngine help?, Top -@unnumberedsec Define jobs with basic profile information - -Jobs are scheduled using CFEngine as @code{commands} promises. -To determine the conditions under which a job should be promised -one uses @code{classes}. - -@verbatim - bundle agent batch_jobs - { - commands: - - # Always run job on these three hosts - - host1||host2||host3:: - - "/usr/local/bin/my_special_job $(sys.host)" - - comment => "Run the cluster task for this host"; - } -@end verbatim - -@noindent To limit the job to a special time, we use time-classes: - -@verbatim - bundle agent batch_jobs - { - commands: - - # Run job on all hosts at 13:05pm - - Hr13.Min00_05:: - - "/usr/local/bin/my_special_job $(sys.host)" - - comment => "Run the cluster task for this host"; - } -@end verbatim - - -@noindent To combine, location and time coordinates, simply join the classes: - -@verbatim - bundle agent batch_jobs - { - commands: - - # Run job on all hosts at 13:05pm - - (host1||host2||host3).Hr13.Min00_05:: - - "/usr/local/bin/my_special_job $(sys.host)" - - comment => "Run the cluster task for this host"; - } -@end verbatim - -@node Chaining jobs together, Calendars , Define jobs with basic profile information , Top -@unnumberedsec Chaining jobs together - -Creating a managed process by chaining jobs together is also done -using classes. To chain jobs into a sequence, you simply set a -class if when the predecessor completes, and predicate the -antecedant on that class: - -@verbatim - - bundle agent order - { - commands: - - # Dummy jobs to illustrate chaining - - Monday.Hr12.Min30_35:: - - "/bin/echo Job one" classes => if_else("success","failure"); - - success:: - - "/bin/echo Next job"; - - failure:: - - "/bin/echo Error condition?"; - - } - -@end verbatim - -@node Calendars , Logging execution, Chaining jobs together, Top -@unnumberedsec Calendars - -You can define classes based on any combination of events in -CFEngine, and in this way build up special calendars. - -@verbatim - bundle agent jobs - { - classes: - - "holiday" or => { - "July.Day4", - "May.(Day1|Day2|Day3|Day4|Day5|Day6).Monday", - "December.Day25" - }; - - commands: - - !holidays:: - - "/usr/local/bin/my_special_job $(sys.host)" - - comment => "Run the cluster task for this host", - action => if_elapsed("240"); - } -@end verbatim - -@noindent Avoiding weekends is a simple matter, as is testing -to see if the target system fulfills the requirements for the job: - -@verbatim - bundle agent batch_jobs - { - classes: - - "weekend" expression => "Saturday|Sunday"; - - "have_update_db" expression => fileexists("/usr/bin/updatedb"); - - commands: - - (host1||host2||host3).!weekend:: - - "/usr/local/bin/my_special_job $(sys.host)" - - comment => "Run the cluster task for this host every six hours", - action => if_elapsed("240"); - - have_locate_db.Hr01:: - - "/usr/bin/updatedb" - - comment => "Update the locate db at 1 a.m. each night, if exists", - action => if_elapsed("240"); - } -@end verbatim - -@noindent Here are some other calendar ideas: - -@verbatim -classes: - -"LunchAndTeaBreaks" expression => "!(Saturday|Sunday).(Hr12|Hr10|Hr15)"; - -"NightShift" or => { "Hr22", "Hr23", "Night" }; - -"ConferenceDays" or => { "Day26", "Day27", "Day29", "Day30" }; - -"TimeSlices" or => { "Min01", "Min02", "Min03", "Min10_15" - "Min33", "Min34", "Min35" }; - -"Exception" not => "Hr12.Min15_20"; - -@end verbatim - -@node Logging execution, Scheduling by Sensing Events and Patterns, Calendars , Top -@unnumberedsec Logging execution - -@noindent There are many ways to log events in CFEngine. - -@verbatim - bundle agent test - { - commands: - - "/usr/local/myjob" - - action => logme("myjob"); - } - - - body action logme(x) - { - log_repaired => "/tmp/private_$(x)_keptlog.log"; - log_string => "$(sys.date) $(x) promised job succeeded"; - } - -@end verbatim - -@noindent This results in a log file @file{/tmp/private_myjob_keptlog.log} -which contains data of the form: - -@smallexample -Sat Aug 22 11:11:01 2009 myjob promised job succeeded -Sat Aug 22 11:11:01 2009 myjob promised job succeeded -@end smallexample - -@node Scheduling by Sensing Events and Patterns, Working with Unix cron, Logging execution, Top -@unnumberedsec Scheduling by Sensing Events and Patterns - -@noindent Any measurable event on a system can trigger a response from -cf-agent. - - - -@verbatim - bundle agent test - { - commands: - - special_event:: - - "/usr/local/open_help_ticket args"; - } - -@end verbatim - -For example, the monitoring agent @code{cf-monitord} sets system classes -based events that are classified as anomalies on the system, as well as -custom defined observations. - - -@node Working with Unix cron, Commands promises, Scheduling by Sensing Events and Patterns, Top -@unnumberedsec Working with Unix @code{cron}. - -One of CFEngine's strengths is its use of classes to identify systems -from a single file or set of files. This allows you to have a single, -central CFEngine file which contains all the `cron' jobs on your -system without losing any of the fine control which cron affords -you. - -One way to achieve this is to set up a regular cron job on every -system which executes @code{cf-agent} at frequent intervals. Each -time @code{cf-agent} is started, it evaluates time classes and -executes the shell commands defined in its configuration file. -CFEngine's time classes are much more powerful than -@code{cron}'s time specification possibilities, and they add control -over location too. - -@sp 1 -@cartouche -DO I NEED TO USE CRON? No. With CFEngine's @code{cf-execd} you don't -need to use cron at all -- CFEngine can schedule itself. Whether you choose -to run @code{cf-execd} in daemon mode, or in wrapper mode is entirely -up to you. -@end cartouche -@sp 1 - -@node Commands promises, Splaying host times, Working with Unix cron, Top -@unnumberedsec Commands promises - -CFEngine commands promises have the general form: - -@smallexample - -@var{promise-type}: - - @var{time-based classes::} - - @var{Promise} - -@end smallexample - -@noindent For example: - -@verbatim -bundle agent example -{ -commands: - -# Exec during every first quarter-hour after noon - - Hr12.Q1:: - - "/path/myscript -arg1 -arg2"; - -# Exec during any second quarter-hour - - Q2:: - - "/path/otherscript"; - -# Exec during the intervals 00:10 through 00:15 and 12:45 through 12:55 -# (English says ``and'', but logic says ``if this interval or that is true'' - - Hr00.Min10_15||Hr12.Min45_55:: - - "/path/amongstourscripts"; - -} - -@end verbatim - -@noindent If you want to get fancy, you can set parameters for the -execution of the script by building a container for it that traps its -output and privileges (this applies to root only, since only root has -this power to change privilege). - -@verbatim -bundle agent example -{ -commands: - -# Exec on the first quarter after noon - - Hr12.Q1:: - - "/path/myscript -arg1 -arg2", - - contain => my_custom_jail("nobody","true"); -} - -# ... - -body contain my_custom_jail(owner,devnull) -{ -exec_owner => "$(owner)"; # run with this setuid -no_output => "$(devnull)"; # like > /dev/null 2>&1 -umask => "77"; # set process umask -} - -@end verbatim -The @samp{contain}ment body provides a safe and flexible environment in which -to embed scripts. - -The time resolution of the classes is limited by how often you execute -CFEngine either using cron or @code{cf-execd}. Five minutes is the -recommended scheduling interval. - -@node Splaying host times, Choosing a scheduling interval, Commands promises, Top -@unnumberedsec Splaying host times - -In a network of thousands of computers, many agents could start -executing and downloading resources from a server at the same time. -For instance, if a thousand cf-agents all suddenly wanted to copy a -file from a master source simultaneously this would lead to a big load -on the server. We can prevent this from happening by introducing a -time delay which is unique for each host and not longer than some -given interval; @code{cf-execd} uses a hashing algorithm to generate -a number -between zero and a maximum value in minutes which you define, like -this: - -@verbatim - -body executor control - -{ -splaytime => "10"; # Minutes -} - -@end verbatim - - - -@node Choosing a scheduling interval, Appendix - Did you know?, Splaying host times, Top -@unnumberedsec Choosing a scheduling interval - -How often should you call your global CFEngine configuration? There -are several -things to think about: - -@itemize @bullet - -@item -How much fine control do you need? Running cron jobs once each hour is -usually enough for most tasks, but you might need to exercise finer -control for a few special tasks. - -@item -Are you going to verify the entire CFEngine configuration file -or just selected promises? - -@end itemize - -CFEngine has an intelligent locking and timeout policy which should be -sufficient to handle hanging shell commands from previous crons so that -no overlap can take place. - -@node Appendix - Did you know?, , Choosing a scheduling interval, Top -@unnumberedsec Appendix - Did you know? - -Here are some features that can help you with CFEngine's -scheduling capabilities: - -@itemize -@item Batch jobs can be made to run in parallel by using @code{background => "true"} -in an @code{action} body. - -@item You can limit the frequency with which a batch job is executed with or without -specifying an actual time of execution using the @code{ifelapsed} settings. -Then a job will only be started if a certain number of minutes have elapsed since it -was last started. - -@item You can make sure that jobs have not crashed or run out of control using -the @code{expireafter} settings. Then a job that seems to have been -running for too long will expire after a defined number of minutes and -will be killed and restarted. - -@item The monitor agent @code{cf-monitord} can watch over special processes -and monitor their resource usage, e.g. memory or CPU usage and report on these -in CFEngine Nova. - -@item You can arrange for jobs to run in a `sandbox' or `jail', running -as a special user, in a special directory without access to system resources. -Thus system security can be addressed when running foreign applications. - -@end itemize - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Security.texinfo b/docs/guides/SpecialTopic_Security.texinfo deleted file mode 100644 index d98fcb63ad..0000000000 --- a/docs/guides/SpecialTopic_Security.texinfo +++ /dev/null @@ -1,736 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-security.info -@settitle Architecture and Security -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine Architecture and Security -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation - -This document describes an overview of the design principles and architecure used by CFEngine. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} July 2010 CFEngine AS - -@end titlepage - - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Architecture Principles, (dir), (dir) -@top Security -@end ifnottex - - -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@menu -* Architecture Principles:: -* Security Principles:: -* Communication Security:: -@end menu - -@node Architecture Principles, Security Principles, Top, Top -@chapter Architecture Principles - -CFEngine is agent based software. It resides on and runs processes on -each individual computer under its management. That means you do not -need to grant any security credentials for login to CFEngine. Instead, for -normal operation, CFEngine runs in privileged `root' or -`Administrator' mode to get access to system resources and makes these -available safely to authorized enquiries. - -A CFEngine installation is thus required on every machine you want to -manage: client and server, desktop or blade. Typically, you will -single out one machine to be a @i{policy server} or @i{hub}. In very -large networks of many thousands of machines, you might need several -policy servers, i.e. several hubs. - - -Any piece of software has two different architectures, which should not be confused: - -@itemize -@item The information flow that results in decisions (weak coupling). -@item The software or service dependence graph (strong coupling). -@end itemize - -Information flow is about how users determine what promises the -software should keep; this is entirely informational and once -decisions are made they can be stored (cached) for an indefinite -time. The dependence graph explains what services or resources are -required by the software in order to keep its promises. This is a -strong dependency because the software is unable to function without -the availability of these resources at all times. Systems are robust -if they are only weakly coupled. Strong dependence introduced -@i{fragility} of design. - -In many software products these two separate models are identical in -design and implementation. However, Promise Theory maintains their -independence and CFEngine makes no assumptions about the kind of -information flows that should be set up. - -@sp 1 -@cartouche -CFEngine takes host autonomy as its guiding -architectural principle. Agents are functionally independent of one another -and only weak couplings can be promised. -@end cartouche - -@sp 1 -The implication of this principle is that CFEngine is robust to -failures of communication (e.g. network connectivity) and that each -host is responsible for maintaining its own state. This affects the -security and scalability of the solution. - -@menu -* Single point of coordination:: -* Policy information flow:: -* Robustness to failure:: -* Distributed execution and federation:: -@end menu - -@node Single point of coordination, Policy information flow, Architecture Principles, Architecture Principles -@section Single point of coordination - -The default CFEngine Nova architecture uses a single hub or policy -server to publish changes of policy and to aggregate knowledge about -the environment, but you can set up as many as you like to manage -different parts of your organization independently. The CFEngine -technology is not centralized by nature. Most users choose to -centralize updating of policy and report aggregation for convenience -however. - -@sp 1 -@center @image{hub,10cm,,The front page,png} -@center Figure: A policy server or `hub' is implemented in CFEngine Nova -@center as a simple solution that will scale for most sites `out of the box'. -@sp 1 - -If you operate CFEngine Nova in its default mode, the hub acts as a -server from which every other client machine can access policy -updates. It also acts as a collector, aggregating summary information -from each machine and weaving it into a knowledge map about the datacenter. - -For a single hub configuration, the figure below shows a normal -process approach to managing policy. Policy is edited and developed at -a Policy Definition Point, outside of normal production -environment. This can be done using the specialized editor embedded -in CFEngine Nova, or it can be done using any text editor of your choice. - -@node Policy information flow, Robustness to failure, Single point of coordination, Architecture Principles -@section Policy information flow - -Edits are made in conjunction with a version control -repository@footnote{CFEngine supports integration with Subversion -through its Mission Portal, but any versioning system can of course be -used.}, which should be used to document the @i{reasons} for changes -to policy@footnote{CFEngine and version control will document @i{what} -the changes are, but what is usually missing from user documentation -is an explanation of the reasonsing behind the change. This is most -valuable when trying to diagnose and debug changes later.}. When a -change has been tested and approved, it will be copied manually to the -policy dispatch point on one or more distribution servers. All other -machines will then download policy updates from that single location according -to their own schedule. - -@sp 1 -@image{arch,15cm,,The front page} -@center Figure: Policy coordinated from a central root location -@center is implemented in a distributed manner at every leaf node. -@sp 1 - -@node Robustness to failure, Distributed execution and federation, Policy information flow, Architecture Principles -@section Robustness to failure - -If an agent receives a policy proposal that is badly formed or in some -way non-executable, it switches to a failover strategy to recover. It will -continue in this mode until a new policy proposal is available that can be -executed. - -The CFEngine agent clones itself to avoid limitations of operating systems -like Windows, where programs and disk files cannot be altered while in use. -When new software updates are available, CFEngine can update itself from -a suitable source, and restart its own services. Should the new version be corrupt, -the twin will still be the old working version, hence the software will be able -to recover as soon as a new valid version is available. - -@node Distributed execution and federation, , Robustness to failure, Architecture Principles -@section Distributed execution and federation - -Each agent runs independently of others, unless it promises to -acquire services from other hosts. Thus all processing capacity and -decision-making computation takes place on the end nodes of the -communication graph. There is no apriori need for agents to collect -data from any source outside themselves, though this is a highly -convenient strategy. CFEngine's use of the network may be called opportunistic. - -Each agent is the ultimate arbiter of whether or not to accept -information from external sources. This makes CFEngine ideal for use -in federated architectures, where attention to local requirements is -paramount for whatever reason. Federation is typically a recommended -strategy when the cost of avoiding local specialization outweighs the -price of having local policy-makers. Universities and large companies -(e.g. formed through acquisition) are typical candidates for federated -management. Federation is facilitated by an essentially `service -oriented architecture'@footnote{NB. CFEngine does not use web services -as part of its technology, so this should not be construed to mean SOA.}, i.e. a weak coupling. - - -@node Security Principles, Communication Security, Architecture Principles, Top -@chapter Security Principles - -@menu -* What is security?:: -* The principles of CFEngine security:: -* Communications:: -@end menu - -@node What is security?, The principles of CFEngine security, Security Principles, Security Principles -@section What is security? -@sp 1 - -The concept of security, while various in its interpretation and -intented use, is related to a feeling of safety. No system is -completely safe from every threat, thus no system can promise complete -security. Security is ultimately defined by a model, an attitude, and -a policy. It involves a set of compromises called a @i{trust model} -that determines where you draw the line in the sand between trusted -and risky. - -@node The principles of CFEngine security, Communications, What is security?, Security Principles -@section The principles of CFEngine security - -CFEngine adheres to the following design principles: - -@enumerate -@item It shall be, by design, impossible to send policy-altering data to -a CFEngine agent. Each host shall retain its right to veto policy suggestions -at all times. This is called the Voluntary Cooperation Model. - -@item CFEngine will support the encyrption of data transmitted over the network. - -@item Each host shall continue to function, as -far as possible, without the need for communication with other hosts. - -@item CFEngine will use a lightweight peer model for key trust (like -the Secure Shell). No centralized certificate authority shall be -used. SSL and TLS shall not be used. - -@item CFEngine shall always provide safe defaults, that grant no access to other -hosts. -@end enumerate - -@node Communications, , The principles of CFEngine security, Security Principles -@section Communications - -CFEngine uses a simple, private protocol that is based on (but not -identical to) that used by OpenSSH (the free version of the Secure -Shel). It is based on mutual, bi-directional challenge-reponse using -an autonomous Public Key Infrastructure. - -@itemize -@item Authentication by Public Key is mandatory. -@item Encryption of data transfer is optional. -@end itemize - -@node Communication Security, , Security Principles, Top -@chapter Communication Security - - -@menu -* TCP wrappers:: -* The connection sequence:: -* Encyption algorithms:: -* Remote communication:: -* Authentication:: -* Security FAQ:: -* CFEngine and Firewalls:: -* Tamperproof data and distributed monitoring:: -@end menu - -@node TCP wrappers, The connection sequence, Communication Security, Communication Security -@section TCP wrappers - -The right to connect to the server is the first line of defence. -CFEngine has built into it the equivalent of the `TCP wrappers' -software to deny non-authorized hosts the ability to connect to the -server at all. - -@node The connection sequence, Encyption algorithms, TCP wrappers, Communication Security -@section The connection sequence - -@enumerate - -@item A client attempts to connect to port 5308 -@item Server examines IP address of connection and applies rules from -@verbatim -allowconnects -allowallconnects -denyconnects -@end verbatim -@item If host is allowed to connect, read max 2048 bytes to look for valid hail - -@item Client sends its hostname, username and public key to server -@item Server checks whether public key is known -@itemize -@item If known, host and user are confirmed, go to access control -@item If unknown, use trustkeysfrom rules to check whether we should accept the client's asserted identity -@end itemize -@item If not in trustkeysfrom list, break connection -@item If willing to trust, go to further checks - -@item If skipverify is set, ignore reverse DNS lookup checks else check asserted identity by reverse DNS lookup -@item If fails break off -@item Check user ID is in allowusers -@item If fails break off -@item Go to file access control - -@item Process admit first then deny -@item Mapping of root privilege on server is governed by @code{maproot}. If this is false, only resources owned by the authenticated user name may be transmitted. -@item If @code{ifencrypted} is set, access is denied to non-encrypted connections. -@item Symbolic links to files are not honoured by the server when computing access. -@item Access control is evaluated by the rules: -@itemize -@item First admit rule that matches wins -@item All other admit rules are ignored -@item No admit rule means you're denied! -@item Then look at deny rules (overrides admit) -@item First deny rule that matches wins -@item All other deny rules are ignored -@item No deny rule means you're admitted -@end itemize -@end enumerate - -@node Encyption algorithms, Remote communication, The connection sequence, Communication Security -@section Encryption algorithms - -CFEngine Community Edition uses RSA 2048 public key encryption for -authentication. These are generated by the @samp{cf-key} command. -It generates a 128 bit random Blowfish encryption key for data -transmission. Challenge response is verified by an MD5 hash. - -Commercial Editions of CFEngine use the same RSA 2048 key for -authentication, and then AES 256 with a 256 bit random key for data -transmission. The latter is validated for FIPS 140-2 government use in -the United States of America. Challenge response is verified by a SHA256 -hash. - - -@node Remote communication, Authentication, Encyption algorithms, Communication Security -@section Remote communication - -The concept of voluntary cooperation used by CFEngine places restrictions -on how files can be copied between hosts. CFEngine allows only `pull' -(download) but not `push' (upload). Users cannot force an agent to -perform an operation against local policy. - -To allow remote copying between two systems each -of the system must explicitly grant access before the operation can -take place. - - - - -@c =========================================================================0 -@node Authentication, Security FAQ, Remote communication, Communication Security -@section Authentication - -Authentication is about making sure users are who they say you -are. Traditionally, there are two approaches: the trusted third -party (arbiter of the truth) approach, and the challenge-response -approach. The Trust Third Party decides whether two individuals who -want to authenticate should trust each other. This is the model used -in the Web. - -The challenge-response approach allows each individual to decide -personally whether to trust the other. This is the approach used by -CFEngine. Its model is based in the Secure Shell (OpenSSH). - - -Two machines authenticate each other in a @i{public key exchange} -process. For key exchange between client and server, the server has to -decide if it will trust the client by using the @code{trustkeysfrom} -directive. The @code{trustkeysfrom} directive allows the server to accept -keys from one or more machines. - -On the client-side the client also has to specify if it will trust key -from the server by using the trustkey directive. The @code{trustkey} -directive in @code{copy_from} allows a client to decide whether to -accept keys from a server. The CFEngine authentication model is based -on the @code{ssh} scheme, however unlike @code{ssh}, CFEngine -authentication is not interactive and the keys are generated by -@code{cf-key} program instead of @samp{ssh key-gen} program. Key -acceptance is accomplished in CFEngine using trust-key method. Once -the keys have been exchange the trust settings are irrelevant. - - -@node Security FAQ, CFEngine and Firewalls, Authentication, Communication Security -@section Security FAQ - - -@itemize @bullet -@item @i{ Doesn't opening a port on a machine on the inside of the firewall make -it vulnerable to both Denial of Service and buffer overflow attacks?} - -Buffer overflow attacks are extremely unlikely in CFEngine by -design. The likelihood of a bug in CFEngine should be compared to the -likelihood of a bug existing in the firewall itself. - -Denial of Service attacks can be mitigated by careful -configuration. @code{cf-serverd} reads a fixed number of bytes from the -input stream before deciding whether to drop a connection from a -remote host, so it is not possible to buffer overflow attack before -rejection of an invalid host IP. - -Another possibility is to use a standard VPN to the inside of the -firewall. That way one is concerned first and foremost with the -vulnerabilities of the VPN software. - -@item @i{Doesn't opening the firewall -compromise the integrity of the policy information by allowing an -attacker the chance to alter it?} - -The CFEngine security model, as well -as the design of the server, disallows the uploading of -information. No message sent over the CFEngine channel can alter data -on the server. (This assumes that buffer overflows are impossible.) - -@item @i{Couldn't an IP spoofer gain access to data from the policy -server that it should not be able to access?} - -Assuming that buffer overflow attacks and DOS attacks are highly -improbable, the main worry with opening a port is that intruders will -be able to gain access to unauthorized data. If the firewall is -configured to open only connections from the policy mirror, then an -attacker must spoof the IP of the policy attacker. This requires -access to another host in the DMZ and is non-trivial. However, suppose -the attacker succeeds then the worst he/she can do is to download -information that is available to the policy-mirror. But that -information is already available in the DMZ since the data have been -exported as part of the policy, thus there is no breach of -security. (Security must be understood to be a breach of the terms of -policy that has been decided.) - -@item @i{ What happens if the policy mirror is invaded by an attacker?} - -If an attacker gains root access to the mirror, he/she will be able to -affect the policy distributed to any host. The -policy-mirror has no access to alter any information on the policy -source host. Note that this is consistent with the firewall security -model of trusted/untrusted regions. The firewall does not mitigate the -responsibility of security every host in a network regardless of which -side of the firewall it is connected. -@end itemize - - -@c ---------------------------------------------------- -@menu -* CFEngine and Firewalls:: -@end menu - -@node CFEngine and Firewalls, Tamperproof data and distributed monitoring, Security FAQ, Communication Security -@section CFEngine and Firewalls - - -Some users want to use CFEngine's remote copying mechanism through a -firewall, in particular to update the CFEngine policy on hosts inside -a DMZ (so-called de-militarized zone). In making a risk assessment, it -is important to see the firewall security model together with the -CFEngine security model. CFEngine's security record is better than -most firewalls, but Firewalls are nearly always trusted because they -are `security products'. - -Any piece of software that traverses a firewall can, in principle, -weaken the security of the barrier. On the other hand, a strong piece -or software might have better security than the firewall -itself. Consider the example in the figure; - -@image{firewall,10cm,,A CFEngine host outside a firewall,png} - - -We label the regions inside and outside of the firewall as the ``secure -area" and ``Demilitarized Zone" for convenience. It should be -understood that the areas inside a firewall is not necessarily secure -in any sense of the word unless the firewall configuration is -understood together with all other security measures. - -Our problem is to copy files from the ``secure'' source machine to hosts -in the DMZ, in order to send them their configuration policy -updates. There are two ways of getting files through the firewall: - -@itemize @bullet -@item An automated CFEngine solution, i.e., pull from outside to inside the secure area. -@item A manual push to the outside of the wall from the inside. -@end itemize - -One of the -main aims of a firewall is to prevent hosts outside the secure area -from opening connections to hosts in the secure area. If we want -@code{cfagent} processes on the outside of the firewall to receive updated policies -from the inside of the firewall, information has to traverse the -firewall. - -@c ------------------------------ -@menu -* CFEngine trust model:: -* Policy Mirror in the DMZ:: -* Pulling through a wormhole:: -@end menu - - - - -@node CFEngine trust model, Policy Mirror in the DMZ, CFEngine and Firewalls, CFEngine and Firewalls -@subsection CFEngine trust model - -CFEngine's trust model is fundamentally at odds with the external -firewall concept. CFEngine says: ``I am my own boss. I don't trust -anyone to push me data.'' The firewall says: ``I only trust things -that are behind me.'' The firewall thinks it is being secure if it -pushes data from behind itself to the DMZ. CFEngine thinks it is being -secure if it makes the decision to pull the data autonomously, without -any orders from some potentially unknown machine. One of these -mechanisms has to give if firewalls are to co-exist with CFEngine. - - -From the firewall's viewpoint, push and pull are different: a push -requires only an outgoing connection from a trusted source to an -untrusted destination; a pull necessarily requires an untrusted -connection being opened to a trusted server within the secure area. -For some firewall administrators, the latter is simply unacceptable -(because they are conditioned to trust their firewall). But it is -important to evaluate the actual risk. We have a few observations -about the latter to offer at this point: - -@itemize @bullet -@item It is not the aim of this note to advocate any one method of -update. You must decide for yourself. The aim here is only to evaluate -the security implications. Exporting data from the secure area to the -DMZ automatically downgrades the privacy of the information. - -@item The CFEngine security model assumes that the security of every host -will be taken seriously. A firewall should never be used as a -substitute for host security. - -@item Knowing about CFEngine but not your firewall or your secure network, it is only possible -to say here that it seems, to us, safe to open a hole in a firewall to -download data from a host of our choice, but we would not accept data -from just any host on your company network on trust. It would be -ludicrous to suggest that an arbitrary employee's machine is more -secure than an inaccessible host in the DMZ. -@end itemize - -@c ---------------------------------------- -@node Policy Mirror in the DMZ, Pulling through a wormhole, CFEngine trust model, CFEngine and Firewalls -@subsection Policy Mirror in the DMZ - -By creating a policy mirror in the DMZ, these issues can be worked around. This is -the recommended way to copy files, so that normal CFEngine pull -methods can then be used by all other hosts in the DMZ, using the -mirror as their source. The policy mirror host should be as secure as -possible, with preferably few or no other services running that might -allow an attacker to compromise it. In this configuration, you are -using the mirror host as an envoi of the secure region in the DMZ. - -Any method of pushing a new version of policy can be chosen in -principle: CVS, FTP, RSYNC, SCP. The security disadvantage of the push -method is that it opens a port on the policy-mirror, and therefore the -same vulnerability is now present on the mirror, except that now you -have to trust the security of another piece of software too. Since -this is not a CFEngine port, no guarantees can be made about what -access attackers will get to the mirror host. - -@c ---------------------------------------- -@node Pulling through a wormhole, , Policy Mirror in the DMZ, CFEngine and Firewalls -@subsection Pulling through a wormhole - -Suppose you are allowed to open a hole in your firewall to a single -policy host on the inside. To distribute files to hosts that are -outside the firewall it is only necessary to open a single tunnel -through the firewall from the policy-mirror to the CFEngine service -port on the source machine. Connections from any other host will still -be denied by the firewall. This minimizes the risk of any problems -caused by attackers. - -To open a tunnel through the firewall, you need to alter -the filter rules. A firewall blocks access at the network -level. Configuring the opening of a single port is -straightforward. We present some sample rules below, but make sure -you seek the guidance of an expert if necessary. - -Cisco IOS rules look like this -@smallexample -ip access-group 100 in -access-list 100 permit tcp mirror host source eq 5308 -access-list 100 deny ip any any -@end smallexample -Linux @code{iptables} rules might look something like this: -@smallexample -iptables -N newchain -iptables -A newchain -p tcp -s mirror-ip 5308 -j ACCEPT -iptables -A newchain -j DENY -@end smallexample - -Once a new copy of the policy is downloaded by CFEngine to the policy -mirror, other clients in the DMZ can download that copy from the -mirror. The security of other hosts in the DMZ is dependent on the -security of the policy mirror. - - - -@node Tamperproof data and distributed monitoring, , CFEngine and Firewalls, Communication Security -@section Tamperproof data and distributed monitoring - -Message digests are supposed to be unbreakable, tamperproof -technologies, but of course everything can be broken by a sufficiently -determined attacker. Suppose someone wanted to edit a file and alter -the CFEngine checksum database to cover their tracks. If they had -broken into your system, this is potentially easy to do. How can we -detect whether this has happened or not? - -A simple solution to this problem is to use another checksum-based -operation to copy the database to a completely different host. By using -a copy operation based on a checksum value, we can also remotely detect -a change in the checksum database itself. - -Consider the following code: - -@verbatim - -bundle agent change_management -{ -vars: - - "watch_files" slist => { - "/etc/passwd", - "/etc/shadow", - "/etc/group", - "/etc/services" - }; - - "neighbours" slist => peers("/var/cfengine/inputs/hostlist","#.*",4), - comment => "Partition the network into groups"; - -files: - - "$(watch_files)" - - comment => "Change detection on the above", - changes => detect_diff_content; - - ####################################################################### - # Redundant cross monitoring ....................................... - ####################################################################### - - "$(sys.workdir)/nw/$(neighbours)_checksum_digests.db" - - comment => "Watching our peers remote hash tables for changes - cross check", - copy_from => remote_cp("$(sys.workdir)/checksum_digests.db","$(neighbours)"), - depends_on => { "grant_hash_tables" }, - action => neighbourwatch("File changes observed on $(neighbours)"); - -@end verbatim - - -It works by building a list of neighbours for each host. The function -@code{peers} can be used for this. Using a file which contains a list -of all hosts running CFEngine, we create a list of hosts to copy -databases . Each host in the network therefore takes on the -responsibility to watch over its neighbours. - -In theory, all four neighbours should signal this change. If an -attacker had detailed knowledge of the system, he or she might be able -to subvert one or two of these before the change was detected, but it -is unlikely that all four could be covered up. At any rate, this -approach maximizes the chances of change detection. - -Consider what happens if an attacker changes a file an -edits the checksum database. Each of the four hosts that has been -designated a neighbour will attempt to update their own copy of the -database. If the database has been tampered with, they will detect a -change in the checksums of the remote copy versus the -original. The file will therefore be copied. - -It is not a big problem that others have a copy of your checksum -database.  They cannot see the contents of your files from this.  A -possibly greater problem is that this configuration will unleash an -avalanche of messages if a change is detected. This makes messages -visible at least. - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/SpecialTopic_Teamwork.texinfo b/docs/guides/SpecialTopic_Teamwork.texinfo deleted file mode 100644 index 385a934237..0000000000 --- a/docs/guides/SpecialTopic_Teamwork.texinfo +++ /dev/null @@ -1,277 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-teams.info -@settitle Teamwork -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Teams and Delegation -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -Team work is a collaboration between individuals with different -skills. It is key element in decentralized organization -- both for -humans and computers. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2009 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, What is team-work?, (dir), (dir) -@top Teams -@menu -* What is team-work?:: -* Creative roles:: -* Delegating roles in a collaboration:: -@end menu -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What is team-work?, Creative roles, Top, Top -@unnumberedsec What is team-work? -@sp 1 - -Team work is a collaboration between individuals with different -skills. It is key element in decentralized organization -- both for -humans and computers. - -Teams exist for efficiency (divide and conquer by skill) and also -because because humans need continual motivation and emotional support -which sustains work-flow and adds creativity to work. - -The team-aspect of management is often overlooked in favour of -top-down hierarchical design (do what the boss tells you). CFEngine -does not force us into hierarchical systems however; -the team analogy is more appropriate for CFEngine's -model of voluntary cooperation. - -@image{hierarchy,12cm,,Hierarchy has long traditions but modern thinking favours teams.,png} - -IT management is complex, so it makes sense to delegate -responsibility for different issues. An organization will generally -consist of many groups and teams already, each with their own special -needs and each craving its own autonomy. CFEngine and promise theory -were designed for precisely this kind of environment. CFEngine allows -cooperation and sharing without allowing central managers to ride -roughshod over local needs. - -Teams thrive by discussion and interaction within the framework of a -policy or vision, allowing variation and arriving at a consensus when -necessary. Success in a team depends on a combination of abilities -working together not undermining one another. Conflicts in the -promises made by team members reveal design problems in the group. An -analysis of promises (CFEngine's model of collaboration) is a -significant tool for understanding and enabling teams. - -@sp 1 -@cartouche -Team work and policy design for inter-host cooperation are closely -related. Use promises as a tool to explain to the individuals in a team -which individual is responsible for what role, and to what extent. -@end cartouche -@sp 1 - -@node Creative roles, Delegating roles in a collaboration, What is team-work?, Top -@unnumberedsec Creative roles -@sp 1 - -M. Belbin, a researcher in teamwork has identified nine abilities or -roles (kinds of promise) to be played in a team collaboration (regardless -of how many people there are in the team): - -@enumerate -@item Plant -- a creative ``ideas'' person who solves problems. - -@item Shaper -- this is a dynamic member of the team who thrives on -pressure and has the drive and courage to overcome obstacles. - -@item Specialist -- someone who brings specialist knowledge to the group. - -@item Implementer -- a practical thinker who is rooted in reality and can turn ideas into -practice (who sometimes frustrates more imaginative high flying -visionaries). - - -@item Resource Investigator -- an enabler, or someone who knows where to -find the help the team needs regardless of whether the help is -physical, financial or human. This person is good at networking. - - -@item Chairman/Co-ordinator -- an arbitrator who makes sure that -everyone gets their say and can contribute. - -@item Monitor-Evaluator -- is a dispassionate, discerning member who can -judge progress and achievement accurately during the process. - - -@item Team Worker -- someone concerned with the team's inter-personal -relationships and who is sensitive to the atmosphere of the group. - - - -@item Completer/Finisher -- someone critical and analytical who looks after the details of -presentation and spots potential flaws and gaps. The completer is -a quality control person. -@end enumerate - -His model leaves little room for technical workflow arguments. It is -entirely concerned with the creative process. This is probably -significant. We should ask ourselves: how can we use the freedom to -organize into specialized teams to maximize human creativity, while -passing hard work over to machines. Solving this problem is what -CFEngine is about. - - -@node Delegating roles in a collaboration, , Creative roles, Top -@unnumberedsec Delegating roles in a collaboration -@sp 1 - -We need to delegate responsiblity to divide and conquer a problem, both when -designing policy for computers and when making work schedules for humans. But how -can we be certain different parties will not interfere with one -anothers' responsibilities? The bottom line is that we cannot be certain -without oversight and coordination. - -Promise theory shows that coordination needs a single -point of coordination to be the arbiter of correctness in any collaborative -process: a so-called `checkpoint' or `team leader', like passport -control at an airport. This checkpoint has to examine each -contribution to the team and look for conflicts. - -For humans, this might be a matter of communication by meeting. CFEngine, -on the other hand, has no built-in meta-access control mechanism which -can decide who may write policy rules. To create such a mechanism, -there would have to be a monitor which could identify users, and an -authority mechanism that would disallow certain users to write rules -of certain types about certain objects on certain hosts. - -CFEngine Community Edition has @code{roles} promises, which offer a -partial solution, but it does not address the core issue which is that -collaboration in change requires freedom to act, not restriction. -Delegation therefore requires trust. CFEngine Nova/Enterprise -has `hubs' which can be coordinate large numbers of -hosts. Coordination can also be pre-arranged as policy, so that -everyone has their own copy of the script. This is how an orchestra -scales, for instance. - -To keep matters as simple as possible, CFEngine avoids this kind of -technical coordination as much as possible and proposes a different -approach, using policy along with a social contract between -the collaborating teams. Promise theory allows us to model the collaborative security -implications of this (see the figure of the bow-tie structure). A -simple method of delegating is the following. - -@enumerate -@item Delegate responsibility for different issues to admin teams 1,2,3, etc. -@item Make each of these teams responsible for version control of their own -configuration rules. -@item Make an intermediate agent responsible for collating and vetting the rules, checking for -irregularities and conflicts. This agent must promise to disallow rules by -one team that are the responsibility of another team. The agent could be a -layer of software, but a cheaper and more manageable solution is the make this -another group of one or more humans. - -@item Make the resulting collated configuration version controlled. Publish -approved promises for all hosts to download from a trusted source. - - -@end enumerate - -A review procedure for policy-promises is a good solution if you want -to delegate responsibility for different parts of a policy to -different sources. Human judgement as the `arbiter' is irreplaceable, -but tools can be added to make conflicts easier to detect. - -Promise theory underlines that, if a host or computing device accepts -policy from any source, then it is alone and entirely responsible for -this decision. The ultimate responsibility for the published version -policy is the vetting agent. This creates a shallow hierarchy, but -there is no reason why this formal body could not be comprised of -representatives from the multiple teams. - -The figure below shows how a number of policy authoring teams can work together -safely and securely to write the policy for a number of hosts, by vetting through -a checkpoint, in a classic `bow-tie' formation. - -@image{delegate,15cm,,Delegation of responsibility requires vetting access,png} - - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Virtualization.texinfo b/docs/guides/SpecialTopic_Virtualization.texinfo deleted file mode 100644 index 1b7528ad4b..0000000000 --- a/docs/guides/SpecialTopic_Virtualization.texinfo +++ /dev/null @@ -1,525 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-virt.info -@settitle Virtualization and Cloud Support in CFEngine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Virtualization and Cloud Support in CFEngine -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine Nova integrates simply with existing frameworks for -virtualization and cloud computing, allowing you to apply convergent -`self-healing' methods to the deployment and management of virtual -machines running anywhere. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - - -@node Top, What are virtualization and cloud computing?, (dir), (dir) -@top Virtualization - -@ifnottex -@menu -* What are virtualization and cloud computing?:: -* Why build virtualization support into CFEngine?:: -* What can CFEngine do with virtual machines?:: -* Guest environments promises:: -* Virtualization types supported:: -* Distinct states:: -* Example deployment:: -* Virtualized host examples:: -* Virtual network example:: -@end menu - -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@node What are virtualization and cloud computing?, Why build virtualization support into CFEngine?, Top, Top -@unnumberedsec What are virtualization and cloud computing? -@sp 1 - -Virtualization refers to the ability to run multiple host instances on -a single physical node. Cloud computing typically refers to what is -called `platform as a service', or deployment of virtual machines on -demand, often as an online service. - -In this document, virtualization support refers specifically to -hypervisor technologies supported by the open source library layer @i{libvirt} -project, which includes interfaces for Xen, KVM, Vmware-ESX, and more. -CFEngine thus integrates freely with other tools based on this library, such -as @i{virsh} and the @i{Virtual Manager} graphical user interface. - - -@node Why build virtualization support into CFEngine?, What can CFEngine do with virtual machines?, What are virtualization and cloud computing?, Top -@unnumberedsec Why build virtualization support into CFEngine? -@sp 1 - -Virtualization engines (usually called supervisors or hypervisors) are -seeing an explosion of development. They exist as a number of projects -in various stages of maturity. The libvirt project was designed as -an integration layer based on an XML specification. - -The tools for management are still quite primitive and require much -manual work. CFEngine has a unique role to play in maintaining desired -state in virtual machine systems. - -In the cloud, virtual machines may be rented from remote commercial -providers, and managed as disposable resources. Convergent or -`self-healing' maintenance is an essential method for managing -machines that are geographically remote and awkward to access, e.g. -machines in other time-zones that it is impractical to monitor by -legacy methods. - - -@node What can CFEngine do with virtual machines?, Guest environments promises, Why build virtualization support into CFEngine?, Top -@unnumberedsec What can CFEngine do with virtual machines? -@sp 1 - -The simple answer is: anything that @i{libvirt} can do, with added -convergence to a desired state: that means, creating, destroying and -starting and stopping machines. By starting virtual machines through -CFEngine, you can be sure that a given `virtual guest' is running on -one and only one physical host, thus avoiding conflicts that are -difficult to detect with centralized systems. - -CFEngine does not support everything that libvirt does -- it offers a -simplified interface that is meant for robustness, stability and -hands-free repeatability. - -@sp 1 -@cartouche -CFEngine does not use libvirt's TLS based web communication layer. It -manages every host as an independent entity, in typical CFEngine -fashion, using CFEngine's own distributed cooperation to provide thje -implicit communication. CFEngine does not currently support so-called -`live migration' of virtual machines. -@end cartouche -@sp 1 - -@node Guest environments promises, Virtualization types supported, What can CFEngine do with virtual machines?, Top -@unnumberedsec Guest environments promises -@sp 1 - -A virtual machine is one example of what CFEngine calls an -`guest_environment'. You can promise to create (and host) an guest environment -with certain attributes, just as you can promise to host a file or a -process. Here is a simple example: - -@verbatim -body common control -{ -bundlesequence => { "my_vm_cloud" }; -} - -####################################################### - -bundle agent my_vm_cloud -{ -guest_environments: - - "myUbuntu" # the running instance name, defined in XML - - environment_resources => virt_xml, - environment_type => "xen", - environment_host => "my_physical_computer", # ipv4_10_1_2_3 - environment_state => "create"; -} - -####################################################### - -body environment_resources virt_xml -{ -env_spec_file => "/srv/xen/centos5-libvirt-create.xml"; -} - -@end verbatim - -@itemize -@item The promiser (in this case @samp{myUbuntu}) is the name of the virtual -machine. This should be a unique identifier, as we need to be able to -refer to machines uniquely. - -@item The guest environment host is the name of the computer that -is the host for the virtual machine. - -@item Normally when we want to ensure something on a machine, we use classes -to decide where the promise will be made. For guest environments, however, -we need to make promises about the uniqueness of the machine. When you -make a machine instance you normally want it to be running on one and -only one host. So you want @i{every} machine to make a promise. On the -guest environment's host, you want to promise that the guest environment is -running, and on every other machine you want to promise that it is -not. In CFEngine, you simply include a unique class belonging to host -in the promise using @code{environment_host} and CFEngine assumes that -rest. Unique classes might include -@itemize -@item Hostname class e.g. @code{myhost_CFEngine_com} -@item IP address class e.g. @code{ipv4_123_456_789_123} -@end itemize -@end itemize - -An alternative way to write this example is to quote the XML -specification in CFEngine directly. This has a few advantages: you can -re-use the data and use it as a template, filling in -CFEngine-variables. You can thus adapt the configuration using -CFEngine's classes. - -@page -@verbatim -bundle agent my_vm_cloud -{ -guest_environments: - - "myUbuntu" # the running instance name, defined in XML - environment_resources => virt_xml("$(this.promiser)"), - environment_type => "xen", - environment_host => "myphysicalcomputer"; - environment_state => "create" -} - -####################################################### - -body environment_resources virt_xml(host) -{ -env_spec_file => - -" - $(host) - - linux - /var/lib/xen/install/vmlinuz-ubuntu10.4-x86_64 - /var/lib/xen/install/initrd-vmlinuz-ubuntu10.4-x86_64 - kickstart=http://example.com/myguest.ks - - 131072 - 1 - - - - - - - - - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Vision.texinfo b/docs/guides/SpecialTopic_Vision.texinfo deleted file mode 100644 index 9bb5e56faf..0000000000 --- a/docs/guides/SpecialTopic_Vision.texinfo +++ /dev/null @@ -1,273 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-vision.info -@settitle Vision -@setchapternewpage odd -@c %** end of header - -@titlepage -@title The Vision -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -This is an internal note that intends to provide a quick summary of CFEngine -concepts. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2010 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Iteration: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top -@top Federation - - -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@menu -* What is the vision:: -* From goals to promises:: -* The Primacy of Knowledge:: -* Use of patterns:: -* Virtualization:: -* Scalability:: -@end menu - -@node What is the vision -@unnumberedsec What is the vision? - -The CFEngine vision is a set of dreams, goals and principles that guide -us in the development of the software. -A separate vision statement exists for the company. - -Slogan: -`Assured infrastructure, connecting the dots between Business and IT.' - -@node From goals to promises -@unnumberedsec From goals to promises - -Everything we do at CFEngine follows the promise model. Promises offer a -consistent language for expressing desired state, compliance, agreements, services, and -practically anything else. It is a language that focuses on knowledge and assurance. -Promises also provide a measuring stick against which to measure or assess systems. -Promises-kept is a simple nmeasure of compliance. - -@cartouche -CFEngine's attention to knowledge and assurance aims to connect the -dots between your business goals and a set of verifiable promises. -@end cartouche - -Note: the term `knowledge' should not be overused when talking to clients, -as they find the term scary. We should look for better alternatives. - - -@node The Primacy of Knowledge -@unnumberedsec The Primacy of Knowledge - -CFEngine began as a tool for @i{assuring} a system state or -configuration. Assurance is about wanting to @i{know}. Users want to -know that state of the system is okay, that the system has certain -properties that we have decided comply with policy. - -For the past 15 years, we have been concerned with the mechanics of -how to ensure this desired state, but now CFEngine has solved this -problem for most important cases, and we are turning to the issue -of @i{knowledge retention} and @i{system comprehension}. - -@cartouche -Scalability is limited not only by machine resources but by our comprehension. -If we can't understand a system, then it is not under control. -@end cartouche - - -@node Use of patterns -@unnumberedsec Use of Patterns - -Patterns are the essence of @i{information compression} and @i{comprehension}. - -@itemize -@item We typically think we understand something when we see how it falls into a pattern. - -@item If we have a pattern, we don't need a list of instances. Replacing instances with a -shorter pattern is what data-compression is about. Patterns are therefore `cheap'. - -@item Every pattern is based on a model of the possible instances, so it is about -`model-based' or `policy-based' management. -@end itemize - -The complexities of a real environments throw up many instances. Sometimes -it can seem that there are more exceptions than general cases. Many vendors -try to simply by over-simplifying -- discouraging specialization. -Alvin Toffler wrote about this the latre 1960s, in connection with industrialization -and automation. He opposed the view that automation would lead to mass production -of identical instances (like the people in Chinese Communism): - -@cartouche -`As technology becomes more sophisticated, the cost of introducing variations -declines' (Alvin Toffler, Future Shock) -@end cartouche - -@noindent i.e. Automation implies more variety, not less. -This is because we can deal with special cases more cheaply by exploiting the -generalities first. Most of the information can be made general, and special cases -just require us to model @i{context}. - -CFEngine models context using `classes' (not Object Oriented classes, but -`classifications' of the environment in the manner of an ontology/taxonomy of -state). This is knowledge management. -Most vendors only know how to do this in a procedural, imperative of `scripted' -approach. They re-image or `baseline' systems so that they have a known -context, and the rebuild delta-changes from that. CFEngine does not need to -do this, because it starts with a model of the end-state, not the start-state. - -An example that we have used to good effect is the simplest pattern: a list. -Most system administrators a familar with ACLs (Access Control Lists). -We can turn many configuration issues into two lists: - -@itemize -@item What we want. -@item What we don't want. -@item Everything else we don't care about (tolerated variation) -@end itemize - - -@node Virtualization -@unnumberedsec Virtualization - -Virtualization is a way of using patterns to replace many cases with a single -interface. It is about hiding ugly reality behind a more congenial user experience, -so it is a recognizable `pattern'. - -The IT industry will soon close the loop on computing. IBM began with its mainframe computers, -designed to scale for business needs by providing extra capacity on demand. It's -virtualization allowed multiple customers to run in segregated environments. -The past 40 years have been an effort to escape from a mainframe architecture to -a commodity version that can scale in the same way, with the same assurances. - -Tomorrow's operating system will be more seamless, a virtual interface to -an underlying diversity of devices. - -CFEngine has been about virtualization from the beginning -- hiding the differences -between underlying operating systems - - -@node Scalability -@unnumberedsec Scalability - -Scalability refers to the capacity for a system to grow in size -without losing functional efficiency. Specifically it describes the -ability of a system to deal with increasing volume of input, and the -efficiency with which it produces output. The implication is that it -should be cheap to increase the volume of processing, but design -issues such as bottlenecks usually intervene. There are two approaches -for scaling: - -@itemize -@item Increases rate of processing (throughput) of each part of the system (especially its weakest links). -@item Increase the parallelism in the system (non redundant processing). -@end itemize - -System administrators tend to see limitations only in technology. However, humans -are often the weakest link. -Scalability requires: - -@itemize -@item The ability to comprehend the system as it grows (human): - -@itemize -@item Promised properties and behaviours (Functions) -@item The ability to perceive the actual properties and behaviours (visualize) -@itemize - -@item The ability to grow system processing (automation). -@end itemize -Most technologies have no strategy for helping humans to comprehend. -Menu-based systems try to simplify by taking away control from the -user, but this only leads to distrust and frustration for experts. - -CFEngine's model does not take away control, but manages the amount -of information that an end user has to deal with, by using design-patterns -and automated analysis to reduce the cost for the end user. - -@itemize -@item Policy editor with syntax aware interface (for extensible language input) -@item Content-driven policies (fixed spreadsheet approach to input) -@item Knowledge Map (for browsing policy and documentation) -@item Monitoring interface and reporting engine (for browsing system state) -@end itemize - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/SpecialTopic_Windows.texinfo b/docs/guides/SpecialTopic_Windows.texinfo deleted file mode 100644 index 02d547672f..0000000000 --- a/docs/guides/SpecialTopic_Windows.texinfo +++ /dev/null @@ -1,565 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename st-windows.info -@settitle Windows Management with CFEngine Enterprise -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Windows Management with CFEngine Enterprise -@subtitle A CFEngine Special Topics Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -CFEngine Enterprise is a cross-platform and versatile tool that unifies the -desired state management on all major operating systems. - -However, some operating systems are designed fundamentally different -than others, requiring special CFEngine language features when being -described. In this document, we highlight the CFE Enterprise extensions provided -to the Windows platform. - -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2012 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, , (dir), (dir) -@top Windows Managment with CFEngine Enterprise -@end ifnottex - -@iftex -@contents -@end iftex - -@menu -* System requirements:: -* Installation:: -* Testing policies locally:: -* Windows registry management:: -* Windows service management:: -* File and folder permissions:: -* Windows-aware features in CFE Enterprise:: -* Windows special variables:: -* Windows hard classes:: -* Notes on windows policies:: -@end menu - -@c @ifhtml -@c @html -@c

COMPLETE TABLE OF CONTENTS

-@c

Summary of contents

-@c end html -@c @end ifhtml - - - -@c acls - -@c registry - -@c Event log - -@c policy sharing with Unix - bundles at least. - -@node System requirements, Installation, Top, Top -@unnumberedsec System requirements -@sp 1 - -CFEngine Enterprise, being so lightweight, works equally well on Windows -clients as on Windows servers. Both native 32-bit/x86 (package name -@code{i686}) and 64-bit/x64 (package name @code{x86_64}) packages are -available to customers. It is important that you select the -@code{x86_64} package if you are running 64-bit Windows. - -Of Windows client operating systems, anything from Windows XP SP2 and -newer is supported. On the server side, Windows Server 2003 and newer -is supported. - -CFEngine Enterprise communicates bi-directionally on port @code{5308}, so -make sure that this port is open for outgoing and incoming @code{TCP} -connections. - -All software dependencies are bundled with the CFEngine Enterprise -package. The total disk consumption is about 70 @code{MB}, and the -memory usage is less than 30 @code{MB}. - -@node Installation, Testing policies locally, System requirements, Top -@unnumberedsec Installation -@sp 1 - -The installation and set-up procedure on Windows is not different than -that for other operating systems CFE Enterprise runs on, so the CFE Enterprise getting -started document available at @url{http://software.cfengine.com} -applies to the Windows version as well. - -The Windows @code{msi}-packages will get silently installed (no -prompts) to @code{Cfengine} under your program files directory -(e.g. @code{C:\Program Files\Cfengine} on English Windows -versions). It is important that the installer is run with -Administrative priviliges. To ensure this, open a @code{Command -Prompt} in Administrative mode and run @samp{msiexec -i -cfengine-nova-VERSION-ARCH.msi} (replace @code{VERSION} and -@code{ARCH} appropriately). - -If you are just going to test your policies on a Windows host, it is -more efficient to not bootstrap to a policy server, but run the -policies locally just after you create them. You can install the license -with the @code{cf-key -l} command -- you will need to copy over the -licensed public key as advised by @code{cf-key -l}.@footnote{Avaliable -in CFEngine Enterprise 3.0 and beyond. Run @code{cf-key -l -C:\path\to\license.dat} and follow the instructions.} - -Eventually, when you are done testing and want to bootstrap a Windows -host to a policy server, please run the following command (against a -Linux-based policy server, as advised in the CFE Enterprise getting -started document). If we assume the policy server's IP address is -'123.456.789.123', you need to run the following command to bootstrap -the Windows host. - -@verbatim - C:\Program Files\Cfengine\bin\cf-agent.exe --bootstrap 123.456.789.123 -@end verbatim - - -@node Testing policies locally, Windows registry management, Installation, Top -@unnumberedsec Testing policies locally - -Create a new text file @code{Cfengine\inputs\promises.cf} and input -the following text using your favourite text editor. - -@verbatim -body common control -{ -bundlesequence => { "test" }; -inputs => { "cfengine_stdlib.cf" }; -} - -bundle agent test -{ -reports: -windows:: - "Hello, Windows!"; -} -@end verbatim - -Now, go to your terminal (e.g. Command Prompt) and navigate to -@code{Cfengine\bin} under program files. Run @code{cf-promises.exe}. It -should generate no output, which indicates correct syntax and license. - -To execute the policy, run @code{cf-agent.exe -K}. You should see the -following output. - -@center @image{winhello,8cm,, Windows output,png} - -We now have a basic skeleton policy that we can test our Windows -promises with. These can later be integrated at the policy hub to -ensure that they are run on all Windows systems. We will assume this -general skeleton for the rest of this document, modifying the contents -of the @code{test} bundle only. - - -@node Windows registry management, Windows service management, Testing policies locally, Top -@unnumberedsec Windows registry management - -CFEngine Enterprise supports fine-grained management of the Windows -registry. These promises are encapsulated under the @code{databases:} -promise type. - - -@unnumberedsubsec Creating values - -Let us modify our skeleton bundle to contain the following. - -@verbatim -... -bundle agent test -{ -databases: - - "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security" - - database_operation => "create", - database_rows => { "MaxSize,REG_DWORD,84017152", "Retention,REG_DWORD,0"}, - database_type => "ms_registry", - comment => "Ensure eventlog size is in accordance with standards"; -} -@end verbatim - -Now, we again run @code{cf-promises.exe} to ensure the syntax is -correct, followed by @code{cf-agent.exe -KI}. Note that we added the -@code{-I} option which tells @code{cf-agent.exe} to notify us on the -existing state of the system and any actions done to ensure the -desired state. The output should look like the following. - -@center @image{winreg-create,13cm,,Windows registry create output,png} - -When we run @code{cf-agent.exe} twice, the second run will do nothing -because the first run has already corrected the value. This is -convergence --- CFEngine is ensuring the desired state. - - -@unnumberedsubsec Removing values - -In order to remove values instead, we just need to adjust the policy -slightly, resulting in the following bundle. - -@verbatim -... -bundle agent test -{ -databases: - - "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security" - - database_operation => "delete", - database_columns => { "value1", "value2"}, - database_type => "ms_registry", - comment => "Remove stray values generated by an application"; -} -@end verbatim - -Now, if you create @samp{value1} and @samp{value2} in the key above, -@code{cf-agent.exe} should show the following output. - -@center @image{winreg-delete,13cm,,Windows registry delete output,png} - - -At the time of writing, CFE Enterprise supports the @code{REG_DWORD} (double -word), @code{REG_SZ} (string) and @code{REG_EXPAND_SZ} (expandable -string) data types, as given in the middle field of the -@code{database_rows} list elements. See the -@uref{http://cfengine.com/manuals/cf3-Reference.html#database_005frows-in-databases,CFEngine -reference manual} for an updated list of supported data types. - -Also note the @code{registryvalue()} function which can be used to -read out value data from the registry and act upon it. Examples of its -use are also available in the -@uref{http://cfengine.com/manuals/cf3-Reference.html#Function-registryvalue,CFEngine -reference manual}. - - -@node Windows service management, File and folder permissions, Windows registry management, Top -@unnumberedsec Windows service management - -CFEngine Enterprise can maintain complete control of the state of all -Windows services. For example, services prone to security issues or -errors can easily be given a disabled state. - -@center @image{winservice-disabled_policy,8cm,,Disabled Windows service,png} - -A service can also be given a running state, in which case CFEngine -Enterprise ensures that it is running, and starts it if it is not, with -parameters if desired. More advanced policy options are also -available, including support for starting and stopping dependencies, -and configuring when the services should be started (e.g. only when -they are being used). - -Note that the name of a service in Windows may be different from its -``Display name''. CFEngine Enterprise policies use the name, not the display -name, due to the need of uniqueness. - -@center @image{winservice-properties_name,7cm,,Windows service name and Display name,png} - -A complete example of a service management bundle is show below. - -@verbatim -... -bundle agent test -{ -services: - -windows:: - "W32Time" - service_policy => "start", - service_method => bootstart, - comment => "Ensure important services are running and starting at boot"; - -Windows_Server_2008:: - "RemoteRegistry" - service_policy => "disable", - service_method => force_deps, - comment => "Disable services that create security issues"; - -} -@end verbatim - -This example ensures that the Windows Time service is running on all -Windows hosts, and that Remote registry is disabled on all Windows -2008 servers. - - -@node File and folder permissions, Windows-aware features in CFE Enterprise, Windows service management, Top -@unnumberedsec File and folder permissions - -CFEngine Enterprise can ensure the permissions or Access Control Lists -(@code{ACLs}) of your Windows systems are correctly set. Windows -@code{ACLs} are a complex topic by itself, with support for more than -ten different permission bits and inheritance. CFE Enterprise supports all of -this, but we will just cover the basics in this document. - -The following policy will ensure strict permissions on a directory -@samp{C:\Secret} and a file @samp{C:\Secret\file.txt}. - -@verbatim -... - -bundle agent test -{ -vars: - "acl_secret_dir" slist => { "user:Administrator:rwx:allow", - "group:Administrators:rx:allow" }; - "acl_secret_file" slist => { "user:Administrator:rw:allow" }; - -files: - -windows:: - "C:\Secret", - acl => ntfs( "@(acl_secret_dir)" ), - depth_search => include_base, - perms => owner( "Administrator" ); - - "C:\Secret\file.txt", - acl => ntfs( "@(acl_secret_file)" ), - perms => owner( "Administrator" ); -} -@end verbatim - -The @uref{http://cfengine.com/manuals/cf3-Reference.html#acl-in-files, -CFEngine reference manual} contains a description of all the available -@code{ACL} options. Also refer to the the CFEngine Enterprise Owner's manual -for a more in-depth discussion of the @code{ACL} options available. - -@node Windows-aware features in CFE Enterprise, Windows special variables, File and folder permissions, Top -@unnumberedsec Windows-aware features in CFE Enterprise - -CFEngine Enterprise integrates with the Windows operating system in multiple -ways. - -The CFEngine scheduler in CFE Enterprise (@code{cf-execd}) runs as a Windows -service. This means it runs in the background and starts with Windows, -before any user logs in. It can be configured, started and stopped -from the ``Services'' listing in Windows, just like any other Windows -service. - -Event logs are the Windows counterpart to syslog from Unix. The main -difference is that event logs aim to group similar log messages, -giving each group an event id. The following event ids are defined in -CFEngine Enterprise, allowing categorisation of the log message based on its -type. The CFE Enterprise event logs can be found under the ``System'' logs. - -@multitable @columnfractions .4 .2 .2 -@headitem Description @tab Event ID @tab Type -@item Promise kept @tab 100 @tab Information -@item Promise repaired @tab 101 @tab Information -@item Promise not repaired due warn only policy @tab 102 @tab Error -@item Promise not repaired due to error @tab 103 @tab Error -@item Report promise @tab 104 @tab Information -@item Generic information @tab 105 @tab Information -@item Generic verbose @tab 106 @tab Information -@item Generic warning @tab 107 @tab Warning -@item Generic error @tab 108 @tab Error -@end multitable - -@center @image{winevent-notkept-storage,10cm,,Promise not kept in Event Viewer,png} - -By default, only promise not repaired and generic error events are -logged to avoid flooding the Event Log. You can turn on verbose -logging to log all messages, like the following example. - - -@verbatim - -body common control -{ -inputs => { "cfengine_stdlib.cf" }; -bundlesequence => { "main" }; -} - -bundle agent main -{ -files: -"C:\test.txt" - create => "true", - action => log_verbose; -} - -@end verbatim - -@node Windows special variables, Windows hard classes, Windows-aware features in CFE Enterprise, Top -@unnumberedsec Windows special variables -Three new special variables have been added to the Windows version of -CFEngine Enterprise. - -@itemize - -@item @code{sys.windir} contains the Windows directory, -e.g. ``C:\WINDOWS''. - -@item @code{sys.winsysdir} contains the Windows system directory, -e.g. ``C:\WINDOWS\system32''. - -@item @code{sys.winprogdir} contains the program files directory, -e.g. ``C:\Program Files''. - -@end itemize - -Note that these variables are not statically coded, but retrieved from -the current system. For example, @code{sys.winprogdir} is often -different on Windows versions in distinct languages. - - -@node Windows hard classes, Notes on windows policies, Windows special variables, Top -@unnumberedsec Windows hard classes -The Windows version of CFEngine Enterprise defines hard classes to pinpoint -the exact version of Windows that it is running on, the service pack -version and if it's a server or workstation. - -First of all, the class @code{windows} is defined on all Windows -platforms. For Windows workstations, such as Windows XP, -@code{WinWorkstation} is defined. On Windows servers, such as Windows -Server 2003, @code{WinServer} is defined. In addition, if the server -is a domain controller, @code{DomainController} is defined. Note that -if @code{DomainController} is defined, then @code{WinServer} is also -defined, for natural reasons. - -The class @code{Service_Pack_X_Y} is defined according to the service -pack version. For example, at the time of writing, -@code{Service_Pack_3_0} is set on an updated Windows XP operating -system. - -To allow taking specific actions on different Windows versions, one -of the following hard classes is defined. - -@itemize -@item @code{Windows_7} -@item @code{Windows_Server_2008_R2} -@item @code{Windows_Server_2008} -@item @code{Windows_Vista} -@item @code{Windows_Server_2003_R2} -@item @code{Windows_Home_Server} -@item @code{Windows_Server_2003} -@item @code{Windows_XP_Professional_x64_Edition} -@item @code{Windows_XP} -@item @code{Windows_2000} -@end itemize - -Note that all defined hard classes for a given system is shown by -running @code{cf-promises -v}. - - -@node Notes on windows policies, , Windows hard classes, Top -@unnumberedsec Notes on windows policies -A potential problem source when writing policies for windows is that -paths to executables often contain spaces. This makes it impossible -for CFEngine to know where the executable ends and the parameters to -it starts. To solve this, we place escaped quotes around the -executable. Windows share paths (double backslashes) also need -escaping. - -Additionally, Windows does not support that processes start themselves -in in the background (i.e. fork off a child process in the Unix -world). The result is that CFEngine is always waiting for the commands -to finish execution before checking the next promise. To avoid this, -use the background attribute in the action body-part. - -Both these things are demonstrated in the following example. - -@verbatim - -body common control -{ -inputs => { "cfengine_stdlib.cf" }; -bundlesequence => { "main" }; -} - -bundle agent main -{ -commands: - -"\"C:\Program Files\Some Dir\program name.bat\" --silent --batch" - action => in_shell_bg; - -"\"\\\\computer\share path\my program.exe\" /some args"; -} - -@end verbatim - -Finally, one should note that Windows lacks support for certain -features that are utilised in Unix versions of CFEngine. These include -symbolic links, file groups, user and group identifiers. - -Thus, the parts of promises containing these features will be -ignored. For example, the @code{getgid()} function does not return -anything on Windows. The -@uref{http://cfengine.com/manuals/cf3-Reference.html,CFEngine -reference manual} documents exactly which promises are ignored and -not. Also, @code{cf-agent.exe} from CFEngine Enterprise prints warning messages -on ignored attributes when run in verbose mode (@code{cf-agent.exe -Kv}). - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/agility.png b/docs/guides/agility.png deleted file mode 100644 index 9559037e0c992c7f7a3452d8d02ca28b29321dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13730 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
oWCe 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 diff --git a/docs/guides/boxes.png b/docs/guides/boxes.png deleted file mode 100644 index b79075443b8fd69d8e7e5f70cd167f3b9b517525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21703 zcmb??byU<}*Y5xVQi4iJTXZ)=3|&eybP7m!=OC#lpdyGg(%l_HNC?tBv`7x!F$4FD z&+mEP=Z|~uTJO4-wOD-5;lw`Y>^h&b_d9h}1tNSZd=Lmkq@*aT2?Am2fj}55cX5E4 zn^5yJ;LjruIXw?8=hq(I=5AIXDNE;9Rt!px=GIo4R_2zzu0O5BKp?CgTWviLJ(ZVW z3ui}8^V>F@K8`LxZxBcf;^Sg&VQ=NZ@XE^C)=B)yUK9KYgRQ0b6I}rnZWR|9D;rxy zKQ}8aKUHlDKYI%i%O?;C1~DHnFo2_#hdG0fql1$>*hl=y-*Lgf_iZ)T6NbM{JnY4v z{EH|(6?Fy~XE!Sb0ZwiX3vNLk20?yK9)4~Sei3#CUTz+4E*@SkZXpgHZm@t5n45>; zpPwhdY;KmX!J4x2|I7uH#GlxBc({PMxV*i+IlcKfo!zXtctk`*xVU+_czHR1798%r zP9Eky98T^}|2=}NmAi$Tt&4}PvlGMZh~}@HJw3#q0F?e~363r*D*rXGllwm#1#B6Y zkGTsM4<|R5qvP$m{4tQ@VJJlp}Ic>YoZP!3jevjq;&+(Fja!t?gOO0wclJUwkK z!2+_p+`=Nf{33kP^0LxAJR&^&Qo;fv+_HQ;0^Gtf!nc#%4)C8Hff`Orps%2SG_N4P zyo@xr5I+x(9Je$NuZ)O14=~rO8;N`f@R#S z%srglw4I$D{>>^%4i28~9&WeQ3^G~*oIJND_z#U%Znj=lmhx`SjtqZ~0BrjoGyh#K zpOvM^YhFPi4hu^WUJgMXei054ZVO=!eqnw=UOqk^3qcY7C;xP|{Exl*_mbs>gyea6 zg!s9Ic)10Id3c1mh56*AM1X;K`T1n{WuI^X)L2@8J#0N3to~t6DF=^#z8q|C83gQL z?qm(@1c#;7YjaNrk0%mNR^Fzz|6Uisfnr>@Ea+ehbo=}DuMxQZW8A;h|G~5WZV3p& z?dN|mn&YX8tKQ0yf|>EzrA8E0 zP9ovuE;uY#v}_Ub5&O#?jw*(_Up>`hqfCVjai6p?5J`Ekl*<>Fa1(re^9@L!E$FVE zBwVzE1+=FW9E_b&B`<=#!K1B>fk_UiI1B<12&e_V{vV2xZJ7T#)c?H5V21Gz8N(J% ze@H?5j`Lnx++Js;OOwuXMmLBWdsA#SdLw)Z_+?jH^Puy59h1-TyT}l>uMmQ?WHi)8 zJRlkbOgrpqakfpEn+~Q4FBT5}bhcoOXM$dJ#(DB#dtQjVWe~pTt56=;<39ORDn~~5f$dox;0y=qI<5R=3BXZRkv)qCE_4^I7{)E`%9>I&qtsxf50+tcX&#e;Z@yv+T8gT+JzNd4FACtiXcx=yACB8K~&=68ES!Vwn z(X*}#{~!UMdnP;xcPY$d(ME0^Wi8(L9yegig)3mcfY2a#Ox6ZvKp14~ph2Yh-3mqt zg8Qd8k;D@n!?Q2esSD+1jcXK1Uu`#R>~FIAE*;ft2OYsYRathwq|vpNC;CJ!grK+?d$i__$5X0fU|s*i9{ zr|E{vzfpp6tO(_$iZ+dwqaKxIp;DXd`U|!!;+deoP>&goVc{97G2&!<#fzNSoT9BQ zCJ*zHq^(wEI>>^lSoJ_u%;$RUnfaJGuSLVzG_VyW7_q-QnvBh}!P6WY9O3$Vhk3A# z{v-F@`S>Lb-FYpuxu7c{ zhXLm*!FG(ev_EHX<0F&`2HVpRGNz@)G@|7jCMF;Am65q6;6ImOT0sPdqMry^u& zIM?%cKidymUuq-%=#UQ~hWsEq9|wqkP~+#L%!4xaJ9g=QM2o%~kGRww`5#Wk#0~C% zs77S(GT@U?xz5vnD+-I&sbz#6LEK?XP zXHm=I{$0`oUG&RB>jG)z$Xk`$qtic2X@D*upJ{e1>ee*$PNhwp6~*=ib}PAWO+>8*@MrL`v|^*q$I!o}?oz~SGjctl3j z)KjNR`m9a&zuF#q=bdMtE~H$?0)}y`dy|HT$tHVV-kjx;V%{18(hLbhL3s)geXcSC9{3H}jn{ zlEjJPfW4Gc#R6;r&SOioAfZ0Y>oF4MDnE>kTwY1{Yk{<_Z(5n4Ka&XQ zn>u=!t?!WO5zy~N#^!JvmAHd}<${i%1NsYet2{xsT=vf{{Ev!%P3nL5{XZ0OIy(BR zR+cS-zQR|OLY9qJX4M#T zzgr`xX1{{eq<>NfyLg{Snh`y4go zQ?B8M>(_p|&lN17ibZacCQcWWsN{P&4bbAA@;q#c2mQt?obL@CZzldE|2l^F>j*87 zr=9bGiSTj)#(C-+6TXsQ&)}nAx=#PkE&^2JN&W^RI|PduMGX&nvYf4T}u zvi!A-R`sLjatbe|k3Y-`{;h!4v-+#HW8*x=1}5b8c*Mr+9jy3IN%m)rq*10ix55C%I&091e&;}8fe*0na+V6N)fkK<3LE zEL^4#zPztm$p|`;0GJ)wiy^C%ZN8&q%%x+k$nUX!8;J`NffBC90^;4t4{DqN3t3~o z8v3F+4g<9D7#OXxFs4xMAozHpiQ@aP)#pnQ$FPb&tU761&z5?# zk_Wl3Rc_CQHJ(+PvE*R`W>ga5ct3gj^D}7Sp>|nPc(H0&HgXF78(1K)dq#~|!`TAp zO(b9%zHNMJeaV6PQKT1iQaE88Q8L|{eA2G`Jy)fuIVW5Z1R559d72^(wRgv`E~rEz zAfy9IHsBr`L*T=F zOV$1*D0un1y*ZakNiOEw7?wS5IkY9imD%PlSm5Segn_!XM>vVV&x^(3b5xjZ^<3!9 zIahdW4}GFG8DC4qHYF)yF#BcPQ!4V`gT~(3rF*f;#Gw3$YsE=!@q^9j(d&F2xIWqy z1@J5Do>0+BHDqhuRG4fYdr?IL@_RjRUSK;WVLdi@LgsjFBDuG_LOBT`->&R@%sSot z#uZ-|@P1o2gL4GgWgoOe05V1$G=?GBqw(Z0Le%Ke^M71a+q;?wK}rp&8OFhCO;Y;sks9~L=ss6AS=;HJh!3o$i` z<7J=BhYJcfGITP9R9ha>jxi7?h!1!2{}9cu`!2L-v50nETP2(1pI0?#V>5`D@JbJS zowjHI8pch6R`_M6f4U|a8vUT3W1biu<_Z`w8!ZE}{=LxIs6{sodkrNguj(~)~P^$E*XS)@XchX6LCbElec6CGGrjw9xE#I;4h` zMQ_V~VDLHMSp?H1Xm@Fzu=aC>hAWF0;?e+@VgG_pS ze7!8|qj_o{{nhSEj}M4+cNqp;r)F!h%>;22cLob2m43nJNk;pdqFP|YGUK( zWl}u}lg|9DPKG^uqC3uzRyEP?^UBM))2R|hgIntzjx|Yfvg}66>hPKf?l(~k z|3u%XeSh?$WFfD9yu8#?M^xd4>aq1&mgn(E$LC2~fzHT~FOwD2)yEp?R};Vuaek5e z*~dajziDKRuiw}-QbVp-Fr}-&XkBnKK(>8z*O)q!0|kdYOpZ}Q+RQsW1$?t%9Eha8 z*Tji{nceFbzeUUSERgkGPz|_~2WsH>Um5t}VvP_iM!D`oDz&;^dKy%u1LeMNF=yCJ> zYb6@crT)S)hW4u8G*M*6VoqT%^R`~_Pfa}gv$OheW-@Y4A8)?GcVqZOV8J4ti}~Qe z)Ry6iqn5+vu6+S9ZR!*80HQLKU#;~50d0YqoXo;hPhb7;iQ!YxlL%z@@MVi4MDONe z?dV+~^0=k8$+{6eg$dFQOttYA7htIv3P>7 zeLW4mY=qGcy9YhY%>gM5!c5E| z+f+ot1udxz_-4~K_|(vyDpdoNJf-D0>+e`-&3$c?_pDO>XFCV-2Jmt2LO*mYqQ3@W zS7v&Zt^$wU5g|~Jho+q^v^@1q-H)|2J_3wZ5$;piBQllai|f!8B6o%~k(LzUFCm4d zcDeRY&#I&Q@cV78LA%?1xt`jzlg3#7nVt(7~r0=)B*I~7@`G^-hFo3}?j0|LeK ze7|k$jjuHe&Ba`gD%$P-@^g4VJ5(zA9j>fhi8}wy)PNYX$C{jfz<9POtA#mTi-I#8 zQ=z6x)(693UHr+=`D@Klo=q;MR0vvt96~JG920Gz)-$$!g#(g=dJH576?#!Lu^Q<> z$5eC^gmfgf2Tuw=15$Cm5~pdvGSn9*5r6XAJA3n08ADF34n&yQW4iL-TYn8P8fL=MXOXMcN=?5{X?;Qv>4LyHFR*4|VPrcTznV zx@<8XXbVM#BiRM?t)HQ|H%|qAw-yI-gd13OM>Aq_8dI#toK(WsWiNgLmr2R!`!ls* z=}*{n;bd_9oQF1b=DSLdK;x!8tl-m&K3s|xb*N}ei;0$Lk%Zi&C1rRgcgp!YJ!B!v zh{^lKVsheV*OV;2xuj8N2Zud$?;z`Y?z6SY4~F2d^$2KX@Piba`=wL~L^4D56n&N2 z->QGv>OQ9)A}K|=2zJ)tQWAO%Or5C7g_}@v79QhIuBzRr-@u_t#~l*|;Gm*Bi1Wt| zH8I8K(frhqc3bVt$~B&%t@DA<66Lo+H6;^5gU+?pQZM2h>@7b3di{oZr{)}8U21w2 zm9F@Ol~628s>GIyI6SS6H-gRL%9ne+H724*_(m<3-gKo2J7W(sp^(jv@%ZXmPY*!b z1_FcJ4K*`>OjI> z^z6d>ssKK`$LU!sQ*&znvfLP7INqI$7$d3YHwZwa_~_?9;x!Ry{K$hEzqFl@ zPDm0h`Kh%m>y2Yq?JjBpcW;3hg>FoHN_^f$uqD%@__>o!LSsZEj^(JNDcxAX3)=DC zr^bI~?_>}Hrt0E|xLfpl?7Xo(j<&TkG*(+qL+?=3=*qi#^BySKO97dGp?<`4@i@mz z$jE;nOuo+Rbp;ap6iQG9%N!{2{1An-$>O~f(xoWuNSP4pCP(710wA*lw1xCp4K0kl_Z%Ym>_`(f)hrtIk_2`OXJBqzz>JF&m(nz#~RuGg?BH7EJ zcmHOQed$N~*x_~X>w|UDHdMw2@#v;d_?9qwYMOoeS<7I3_P0^T*@Kv4gtO!K;poE5 z-TaqSy1z_&AUg1n{HfL09&AdX(MyBDiE-Nl%Qy1_O$v1O1M;D`!CnrVx^8q3{799 zb!VlD_d=??Ly`t^z9Rx2qQ;i=$~8Y$ijbI!T*UbueRq0oLq2|JR=M83)ScURnX4|q zLWSa63C?`YX|%4_Eu|8OnBrZ`x$dzXqTC23LnpYWP9_^?j~L^}PL`@{mcD@T4A>K0~G#y`vH_;Yg0d`Nw7$f%nTD zsHmYreyf8b{1HXELE?scPhWSM<#Q!quQWrM1K}rud)ljo+rc&ahsDMluszP|#_}>X zaS0jI6gQbk8+B?~e!9fTj-H>~+cawWd%=cWbcqR_Jr0`Kec|j-c+8#TNM}6{WXXXs zi`uz+?JPQFrU&i`vF^F6M@ddgo7;YQl;J%i7Hu~eC@k39T&U{{hv|2dAbAwDIPbop zuMdfC>iyH8h^UckjYhi>PP)r$+~lYhya2> zePtJZ>Z;4Go+Hvd(^)<(eMrwK*t?Y|MD*!Wn}xY+9k!kOfK87cy9=k15Y%c?dUqQL+gUdz z^!}wtL(zwoRd9rf$J0Es`h4Y8;tK9C1d;Rse2xsHeGMLLDsriRK>fII!1Erlq2p26e)bN}SL4QThO24ql~Ng$n>vy- z-IspZ&%m0u*Cdt3^(t}6@QdQ!CT{3yVT%%kt!=pejaKmEqxE~H+>ADKFW12N>n)N) zce+@as8Y`r2R*xu!-;ry#l=UK)sL+Q+3)JLEg9@AdEM0=AWN;jkbHB(82aj=1pU&i zwtg>wd|{Gvw}J1!y{kJjXXw)MDQfbQaX>OFfj+7kK!FL%1v;Rn;rcPIF4B`!*1+Av z%!P}52lbiBXw|)9$?_Qc3DgxbPRWZjNR>!r+{KO$2|r_|=GFfP7(I#!S02mia#a665;(nBGx zhLO3WupFB^J|)!SYgE6e`tBX>6tG*~F9+bc2+7GHp|B#shH?+xi1!CZ_1jtD8Lf^ZNk6YC#)Vqp+aV(MQfF&cStT9$+phqH&LKc{e+obM5# z@QQg}oM%;sTVprrR?fq7TzQ4?f*AQCY2A?nzE=iBf@`8F3`S78%1L1hO2L<>AJViZ zEr%-i54U~PldED}u&Zy5_#afKVQE6t`mJcOrg)COQ)70&k=kQvS~&nO<8OTU5MNvg zORLw%XnAdnVV?%Ts_vD)q9ZB7pdDoD#=Uljd{Yzvw2HY#R(`nffanYQ>&7cGm@!Fd zu(Grc8AR(n29*6c#%3dtdN3vMXApCJdB*JIu|J}Pspzg-7+VJFBh+u-70#D?SAXM^ zi$LbtAEMoX0-;r}GhGnHBaaoL0u07Ix4o{yQ>A*$K4SfNltaTJ?ZaJfJjl>Sx97`8 zc1^}T5BA0p@I9q@BHoS*X)@QCGfOF$^5G#0yGZiOSes6uY|!OJIk>AS-&WM??k4^LX@B@(XJV5TM<=B8Q8xU=a_ z=~EJ%5myEd6$?J+=5r<1J@quDb#s=f_v^}xcWX-g%N$F>rV>0p6fL(V_@+PvP~tqi5uc+~j;~!h@KDFal279v^l(9Ag`!yQ4jlqsL}d z%YH~&AIB^wQ`?^UEfZ>sKeyZ_o~=qBk5u#piZ*y6kSdLB zV||5&&MowVPlK;z=-JKcJ0=vn)k*5D$Psg^FS}iy6X0{~QmU;BcaQDXM6U}k%b|d|FtewVUZ~-+^Qk2ugL2OB+t`O=r7+U$FCYK$Ok6$sV0o+NiTWFqtHvTY1$E z(mJjo(|7(>M}JFZ;u@O)lZ%Bx3EA}2Ps}D!{UzZk1f^|YZQ;?~+gI z1$Rh-#SF9#Lc8*6&|)0yE`l{*Avm~_G;6B!ejxW00~l@iCO5=k0E&;@gP8eLM51Cv zsH-Jd>38nRYSCLrpJjMv*8NdnVpr^q6C6-21*zP)84w=mJ?`x0b`gb#9fJ-`OsrmG zeKw{Cu6d+U;~s)v`5jf_ER5WH>J!UjcK63J(x|BIpFQ6G<>iK;5;`*SbJuKN zqa8D1s?xu>OS;`nz4^$S%JB?6?KQPSne+>b32M7p-t~K$kE(L+r2Zgp5*&4T!K`drnzySi^g6OQE8AHNjt)(MSCV+N-K{3VA?Kw0XNqwe~=hqds5qw{Fk zlpPFTcSS^};@-J$>;Y$8dN>WTz}D^i5|YZbC(&B=Y{zlo6JAEFIx`Ct@7x~yO4OauI{e+DUd4TT?5SifO0%dKof{pwbvl4cCFv6f8k$*U-phIY z!8tVIbO|_;YK{7mkjl1?NSLK`@Zjk+6-Zv)!3Aa_WDvSHrX2&#jf#0=g-w760^oAfQ2wN))O6DJCK?ubl*=<4nrEIfJN6ZwWiNU>`Ijkc z(tTNV+gt#9N(kWKSW+vLnu4sCZ&Y`C3Bq(z4sN> z-oCHcN4F2SAt6~ySQ{|y^5DlSm~YqaItT=Bd|z~!>b@rBH5j;GPd=XXOt-~CjJBF? z*qy~_J)@2**{E@%EsNH+mf)=J<6~Klrm5~k!#0vkVE*(msoIelrcRLS_W_U_L$4sl zQGQH+ktN5S8Tl8GCFvM?nyL?5txGW_sZ(B0dUZ0Xh!0hyiOfK^Jfzrdr#W}}1pU@% zso}w&lwgM;9^gX+vw%~7AwY1!-MfFeN+*Mv>IfYO!+qHSb9dn*H!! z!tjw=rFr5`R}i!C^xAdI>fI+=f}j0kEIu%5d0iRQ+*p@y$CS|e#(erT2LxXQV-V}( zKcPx=Z}|Dj4%}4q@F7{`Y(1Ne$zxM8>EUKq3QkQfMclrmo@=vZ2B}FltFG{4} zQ_E^2uS@)mYZnZ#*Lm)O`4=DGO5Zh}4nAGd3uiH_PtPexY$ol3=nPeqTebm7uqFUD zh7#oxZ>4D&9@2DIzhK>!AGNO$ag=`~B*pib+h`*cn^2dzJnBV)Mwh~TrDDQ~nEd)& zs{gHF!P>|tP}Prax|XvcECe(8=Jt<>tc%^g;A3sIM@=q^IeCSR;oOR6?vpsuST_XN zjn3O0aeIm+gm+VKRflrrFP7=-UfMTv(RjBF^Pgb7Ep-iA4mD_!e1@opV!^HT_r}&&yQ7Mxn10(G%FrC5$vhSU4-vh z^;BHDgO@wBMcO`Ij;VRm5ZhVsMR%te5YSh>)K0k&Q;nd1tvR^zb6<>ZogD+9ypw{2 zpDY*=;oGVB z>dSl!&)HdCk&IDi>^E;qT51BW>2q>-Gm3%WLF@Vlp5*C+_e(MBwl(UU=vHZ%& zreOvUi1w4uyAkZje^uFgkr_ExfA>U)$ltzYZ$y2P5SC{&!?{(?x(i(O3kKm*n`Z&Z zf2oaI4OzA;X!CoI9Xj)1k@1!T0z0Dz(}XMsB4RI6ki|`&ua9sfaj0*f)Q4kZuxFC@ z68O#XsZo4Ge|o6~0tbi$lLUrKnk@brh3ns}vQ)p^OS-?&WA9uGih3prJ; zZ<<-WvVF&xaL-Qb(B+IFSaZIY1*DDN^r5E zFP`xo-9UYxtijkbQ1yG&T~MFLlb*^#Fs-A7sX}Og)*Ac%&R?fS*Jy0XW^f{RcG_ye zQvtYT{k4_ypWb~@FoF~|n>&dCc68aPRRyS*jAU;XYZ483>BguGI^LrK`@xPQ5{a-;*aiy@dSjC5sW!&UZ!CPge6Il^JXVmbdl|9U*|0yLKXLs0 zR3S`SN3xf->k1o|M~WwIj~#meoV+rTu2ej%JQ6PBq1C0)ij_ZI?+v_C_G&HHILs&A zReM-Ej1?2%JXpB9eVCldIFF5yTBB{2y85J(zaB&BD;rqel2|t$oBgaQ)Fs@hh*-s4 z<~%orkU8tS_shlyu$kXz>AU*0YtlnTgA=d+?$r8dE<&oO1Nt1JA3d1(M>Lp@r_>?m zHsl0TJa_!e(&xS+QdXsRODsICSS3hnhY+l^Kbtd+>DAdS(QFgfbbB@(LuUA`CbBXmS^j$7Ba|fQUQ+Jk+UeL~^OHZDLsn-=-3|EkpvJ&a)2dxFa zk!kBtzqa~h{zzH}7rmJ$8WTxBh?{)1lCO2BAcsTYSXp+EA;@Ij+*#Ecv_MNxNT90^ zTLZM#@cK1)#VxFO@D5#S=QoCyD4s3pNlV;Qfo~7~e26jcrhQn5r|TQ^w`tEI3ZTi3 zYoBJw^}fV?P6(pA^*C_gvLz||GgQC6?}`ubgn}jF>mYX@7wIi&=q3HU2>fPi@zr-K z^m_7?uKp{IEoA0O2L#SJmb9zYPHVYYA_;u^H1-x>d)#oqxxbW%b>p6g75R%)0Sc=30Zu}w0k-A0u}@T$ z~i;Z9Z2|zvg(p(z^_741SjtY9LCxxRM zLWU|JXpcy6T>9P5d+bIYZ>&qOfcyGcj#7@m#)f6znP*|NgrUsifLJy&+GBVvaAVKE zx}I5awn+Eh`WIrM2#b!bhYwH9_du@FBPl4ZU+o3-8n}hN8T`T7O-rD=&^p->IMAqu z{#dhhDp$`+-nbq6LDn2JcII7oburolj|m(cB8%ut0OT1(kcZK-_G{*AtqVC$Xfm$? zZEjC8d+w5Zv&@xNPO&~*7`r(17*0iF)HD2kBUHe$b}`6szjyg6D^?PFS$X1pY{=w* z4Bv7k0qyjn^m`YwdJB;uu`p1dcKy5k5hgl(;BoYRbKqsb{ubBbht^zzv(Cufq3UZO z+Ln;+YB%=cp7yr&jRdU&5Q)9t_U7G^D6x1ap45yg?hMoAgjkq!fk=f}{b+MY+#?Fz zxcH7~sa82qpL%_W6&VTqL1m!AX<_e_bBjp8+~~=}jFp?2qp|k7-B~`8MfLDJ`hfth z#Gp&=Jtq$+r4Q+=Zue5bv2ISaKStNVqVk}P`WP=a-RH=@)uCn*&li+N-QRC+c1M{; zI*qQ6tCo(6Og+$d#N0Nnm-f6D?uT~*FO9=zi|Q>g75-lGHxTbr=}wWa>#t#Ca}CIt zrIq*T`@0G=_ek}u>n2eWS_6x}gAw?*}$x;cmG`h@K3Q8KHt#AyaJH2M3UQ zjXuNJ%GE_ne)!7v*pn>3oi7A2HZFppIM8;|aVK>5z{q-Gb2j!Jj=a@4Rt=@0O?$(- zh4KA{@Q=a*&v#wpA43AogG zYlt{j($fj(jg*aXWvl?iABe-@X&hFAc-Ak>Sy11dvebZ5(GOP7=#FY^`jiM&B+@*jx_$-*D55^_o?AU|z?3Am^zGb_=LLvjM zFosQa))5d$* zQQ#zr8*1=kucc{pA4R5X+qBe@R?VnE;HGpOs6Kt-I9uCrxIQ*T7x;S?6-HF|BrtiB zpUQtBehzGpeF{L~Amx!NGIjz{e7v%BzdX7yR3?MRa-Fi4Nuitg)vo|;*UI3Gp_RCl!nQy&gL zj-cn9_As_o-4UeLsuGf=?b>Fo!Um=>!G=l%BC5*7g|3u60ubl<7D31o%UqH;OW6c5%wWoS%~EnK zQ;5vcxz+F<){xN%ZNsOfDx6$TZwHWiRNC$zy1hAL0Rq|}rUSp;29&tUpCL<3u$F7ZVih= z%$;Z%)_meG^3JB)!>!-(cXiODy;Cxmm%U zHWRC|&On7ICVDGoQC4^I?J;?&U1~3^X0w48QwKFS5{VBAMmcTNVX0F8ZYz6I(6}PR zv8$%vL#*+@Ip+B4src{k#*Na(Chy5kwV7I{D}(K$WZr?R#2ViT`qC#syQrzaZ|yP| z42?J&u}1!czmYF4R~iM!hnF{a*sId3v#i({^n&`XHAwJO(FuX`TsIt8QUgn&|s zN@81i%*@cB^-pM)Au;SjC+tjP{@WBn1%318er#P^Wx|W>S8#YO~ zSE^WFX&xLCbhAz*cgNV@K{4}u+-JIY9A8H?Fpj_Y4HQZm>~S#F^E$O0{i$>3o-CT- z-1(z@#R=K>ZC{R}K)t2W+B9@~fQ(iqed&0>BYNNY1eHREnTuY;CnK3>(_YoisaV+J zEw$C|h6E98MC%#)*k!F{`?$|r)96cq=*;*F|Mm2h%F8?q$#_yuhuoO#zL+2gTfm7Z ze8{!=rUJIp*iEFt;Wz`|`w1siIov86vs)0s#*Eg@VO3rb9d}r0w(0w}PhCMSo*WVwr;3qfB}ZjoxcdR3u=b2Wv3OJ);k=u$feRC)H5xg#zSO%@Fr-CXr^k zudeH27zFvZ@KxCzcGxZydbz@_kgnuQS?022A|Zj!bY^^){5W%R!dVQ_o-NRj2JR)Yl(Y#aD7- z>ipFFqPCRZZvu`k{2;U0*CvG-EX>d6_v5vVwZ?L>)2eqako-kvIpTSYfg`18 z)9@aj@_si8-<@fp!l0nVQpW}RgRAz70e?TD%Q^boO;u-d(i=d{YhZ2*d==MY1rnP; z%1gLk&-W#R^3}(567WAKRA7|FNvl?6d>J1xB1>0|mUZrAU7a^U)nuyx0YPl3Jvw7! zj{H>%ntOa}^wxpNqE2iloJxR~4WhkEInp+1Zu2g(K#G2=&G|cfvH;d=^U&9Mk%Mly z9lPIxbG!_mYu9{D5b)&<8HW>kTstN)fF%7sDmTi{7<(wKnAH?+J%eUnzB{R^Tm#>r zey}MznwIhY>NF&_P${(){P3d|Vod~Y z8au$0O!^CzTgcjN6@?q8Gm$FxX3V5&&Eoh<%(F5!E|7S;J{gKFbeS;!Sx=)_c}lba zIS3-q1>-eRXMVlb97%jeRhG4F2tL6oMBBg)47K`m-%O!qb#Yz2d_c^7a86qTn)wUs zWhr>E&J$_Z%*5^3l-SNnXj<%pfD~9{wi10l zcz#FJ&0hV*gEDEV0ja+ud)Q$$pf>IixmkLA2345{&jzH zmdC}kwwu#5@dppm3wwZwmUPSv97xLvwNRay z6C88(%wqJq&IxVs+bs9mcO)YV(P~nMiRg=@ppI!E?{HF@k4bx9wnCqr@beIiItm(y zrZk0Cv3K%=Kp$lS8o#lBpL|D10ZdlSs#3IWfL`7uuKosurb@r4D&>0g;}6nRJ?aK<8MzkwECpiw-_htxt}%MYfE-@+)OaN4C=K^=EVE za{uNk;bRHw(T%o7(~3^H5tw110v?1KGb;xU1` zpk5+)n&k`g_C}WJ>DZxHWF+*HMC-9q3pnTFcdwOfp=4H(tskXZF&)Yaqh%#!!-v3? z(ZLYZ>@g&R=BSthZR{s5oC= zZn;=Xsa@5OY(z@YDtr=ZiWxvG*0d&Za)@1qPCGU)a0$(yXij+GfP!~lG*;c8*qC9I zzVTAGM^uUud_E71{=J-|ANhm8@l+-%QXB@E1sichoqaoubl=A+KtqDQ_W9FN+5ss& z)sw(|0eL|`|9kV2UH~UKJ|YH5-h6m(cxDqryq|`ldbSM6ma`liOPv!?Pwf7n+}Ndw zj{Thpq*!NA93OKN6{^}A5yKpaVdoe(yDf-el#l}Yb7R4l@15j#LoCxTdT>B(49HD< zozd*hkpNkG6J=B*cKNyAWpgp!2Z0_91dl0lbf?0L(?J+-MeP_51nL_DNb+=;;wIXv zF2zqcVTy`y7FMT@XxnQm`N`_2hbuta+TtNWRcIHPmniSeHCnN7oqV6^-*WEVSWEVC-N;V_M5< z05cxa7l07f!!JFh!5Rai+S5vf?q7C3JI_j={q;v_tYO1G=@p~Ib}*~40TZ2rN6)f_ zLXZ*hJwewTx`Eg1WhxB%$#29Qg>h-$n-+{#+Ex|X7gCE`UmZv4tJiQ`8f;IGwK@T5 zs4^%@{`r{KvQzd`JgfniTKngAPZ5xWb8#Rg>cX+WkNhzEebX9tbwx6&o!=iw1p*R5 z!I$um7e#o2{^5fsu+|Gy?urgnMWvGb&uEBVJP;ybO8`j&Rc@Sm5-N_K;3pJvT-&UC zm>>VfkaKV6KtlJL6ins1a6_k8KRQea95oOxgZqNQ>qPGG$}BS)zShA2MTUC8#%1$| zw-%KO7`x($xhB8rY86SW&tLXODe{X{>J-s}AP#i~w(r>bZ*q&_LF1m^+gBnPhC&kkZNXcr2Ai$oOwJ{ec#6ijf%u|r%-9q70Fh*ELoZn zSxT14jIo7o*&9oQY$Jt~ttc8qc4Lc}tTRf{m6#bjgNbrk##o0eW9B}`^Lp;*`s;a~ z`_J>one+Oc^PAuA`}=%9pZ9;~@Wcf3`*VZbZy`HIHGs4d6yo^B?f^mwNb%ABE5&D$ zYrc420a?T1(O6_@mmfiQ|ym=TV>QRcF+{$;2fF_7Bb8 zOg_7H^8rI@#=lI+W;JUsJ0mrV|C9azLD)7}HA5bVEW*!|4S5TUUq3gO+AdBDTykCp zv^WngUy5mnwEaE=pvF@LUbZoZ9<6=oaf(f|xm?drO&?uMGVI>dc;`=7g0t!Txv1r( zw!n=cX}FP=MM*2ZCvxMW6gS%8uRw@LTvL*?|6ui4)^DglX{*7Q`;{&b2t@Xu86ds} ztkQsU0vN>lPst3xxc`3d?xmg#=$o0F2L@xZaqB|(ybvrOc&@W@cr#$10VjBNFCWSU zFv655IY^5jzCB9*ty{2BZ(`0yvgU}^VZBZ66Cg1Ak4p1Lu%x(T-sfSx^qH36?~6XX zIAz|>EKWHBzgWjzI!jq3NoI$J2r5d z{B5ZJ`{n=rBCsQo+gMt@G?+pJWkFiqU~U9c5^}OD5g=zE%n%V5o4+u!Hby~#6HeN= z3Irl0LgzAIfDEd;^~r$71M*Ywjj=+DyS^?=VrF!M6X*O^{mO^J?+wFF=&hrX>zqLG zw}8)BA!Pnba(*&sQ4)+&SpxE$<+B$;BNs{4@=@$-`-YChp2}CSeil{um1g}uJ4o@C z;T?v*{iT^%n@Wf61kKZ+IPQU}*y7AdWb$W3WJS*TO`%__0TE1;sJvmBHwM0=6td0U zly}J9kFaL-JCUTI80okZyAMo>{>rRs>0MGsTlb|E%6$SA&zuee8%_C?z*F;Qe+I6G z|FY{`y3}uK1HiqyeYxw4wFT#GO#I8`J1sJLA3n zGkvR`o6ocbn^vhjJdY-SUJh%V!(@h%mXEW_f$Hq%jAR`{_5Jm-2*xa&@=iIXZlh+s zr8*8Qe*n(8o<)=|r~3RNat@VuFgh{=-Q69apPO5w=0mD5)Qa*{9|ZklqZ)h~l4 zhmyxC<3W5DdBVXx=S95QS271V!eq4jWT%JDobEXSSKcHmEV$4y1{u?i|IqFLHKSwu zKa8&zvxaL%Fs~0zMe=0TU3|)aUG2N#g_coHSJV9jhR}XhOm{4d+lE;7DbZKTLbQ#8 z#@Rf~dy>?3M8soFO=<^lE*DHAT%IGR9|}`;X!GBASQp+I#ubo<9uJ>&I`~p=*e=0&pwI zwL-DvFPsWJldaV2~E{LX$UZMa_b?CY+304{RJsR%xe zso+eBhoe-jE{1+;5?Ihrnt;|OZb0(p_V`3R>l?lVKmBkKKt5d8?RM+Dm&#C*gh?dC z7d+q^!;~PI(MjlRaX-%6Nyb``*1(?9?uBK))WZ8zVrCyh!NRp$R4L4*O?CcPtiDN8 zevOxQN6_p3{o_?bpW~V#R2(p&hOX>n_x&tRnmek5$|)mEitdOl9x8N$VLk<*C2QRbB)vQ)|{eRU&PXJndt^GS;uE;rjfMxjaP5U~2TM)gRV zYjh>(TZceAET%UD^FMj`NpULkxd(JwgZFEg#CKy-ZfK?kdF42@Y2$xmi}^c6^u zLq;JFE0%tAWip4>n$>yz>ubKW+`JJ?b58m~N`mHL(ggqah9P*ML$dUye}o>2$JAIV zUi`RMBL8G+pLppiA;Mv}PdrpcyM063kXZPG)=JQ})}h#0|2}R-8lGudyq#hI;LVa5QR7{Tn5P{zJ6+fR)(S@`;22d$q zOD5TXhL+EYPf#zdS?)+ay1vQ}yiezStOj>?HZ3Pi^zz%T#PRO?e87(Z;^1Y#G}>Cy zaJ9Fb19Zb02DX94H@aoJ9Z1kq_5vw#=SyY`k~=QtiP4NNZ2A11V6o)WtPwLpPW z)Y66uwLih>!2MZQ$^T-&!mFrfuzg`%>i7&?_?rVJPj|K&@mgPBUL9b zDmIK5u*d{t_v&R{@rAmV%$>xKIPY{sMn0&YVL+WhOKA z|Je$b*Hjk{9OHlF!u0{TZ6xj#&zn1BWz>&vahxiZj_h^Td7ea;mo^=t?!UT?j0*!j zL=h^E*dFLOL7qF4GfLv#Z%SCGKf0KB z%@OrFX||<((M8a?-d{o{N>Io%GBt+_^OduD@$Dtj=`_OOu!sp!MBT9cS8>Fe!O{xl zA+Dp)BU~9QC=KRmXGqde{D@u#qY^iUm) zx#-k(X6OQjw=q@3QVUb*h7~JzCo!s;>q5=xy^mLgo{kiq&_2^eI-^md5cQ!NAl#&R z1B4r1k7!5fljjQOG#W$tC|=&oH;25;;*SL^3?C08d{-+g@N^=EkE|kX8oB7nAUx~$ zPVSHG6$AU%)A*LyjT-B^)x9^c?wPEM0qe4nJONqY@1&PkK5^yp$rFNklqwCUs{Rm6 z#cN+;veGuCv8tJ3X!cOYhtAGI*frtzJSF*npFvW)*Fri;n@}cHsPN+B>!JfSvyqc7 z>AUD5JIjDP{+D>O;v9J2Qr4O)i0(Om8ihvozQh%uT(RoE7JyhlTtqG!yP*}!JoqHT z1Mlv+HgGO`RMi1k*wdcgItna}yX)is94P+(mr+LES^Vq_v^nU@+8Vq1?~{tUgr%z9 zq7BFs(%R(-ZP|sW+KVEt|5ig4o=^zC?sqh5We21XF+d6tj?+ZvP4HrQJGcoKweSQ# rYs)uvOR6w9cNiK8k=^F;AApdmKelqRtN?Nb1aj5T{7R+1bM(IepBoS- diff --git a/docs/guides/brainbrawn.png b/docs/guides/brainbrawn.png deleted file mode 100644 index 1cc2e0626391a149ff1b458874294c8172c33f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8867 zcmeHsYdDl^^!GDH&5#<0lqe%9l|tFh@(`j_)9ys2uqjl|q8y%~p50K6rL9CmC#9WH zh!Uewkq)DTYCAp1u^7i0GtbQY@6r3={q}x(-|PL*hq>mu?zPsvj?+9CT8K7Dw&6C5s!aB`2>6MQTp z$~){RS7%?=6a(b)pPb1k|^{;+OrK~h)=Q5d05|mym9kC_M9gDSPa{bum(Qjvn9y9?) zec)*~mqRfx`2u-t6=3<5cG?_D8sikAlOp3+ozeKW|6wkzqlx9bKv5Hf?Moh(H9t`~e9&?20^DtP*( zu2-lX&R)Qph%8F`IBY&PrKVl-r>G~q&s#O0^7`JPhjPCB-UNgE9eC1CnXQ%L^Kg2DI= znbyr~~e2LpV0c3R=}#Uxi}iwU2~u=Mc~VRSm5&SD*Z7yQ>7Jf4;IykI6xJ>$yg z%{gjtl+}!5D{?O=?v<#fqiU^ms7q+C$UQ!xV<3&O`$7-;_>z+T`O}4HY;N{dw~mw# zLsex1D*twq$gsJ!3E@jO>C~0yNl!{s<5=@P97lS0dd8y6{~S+0f+CYF$B)GBAB`HY zUS{*Wj#d|qXPm2F;E`JQ{A}l`{Y?)eU7b&}CaBhoUHnT)%$U8;H;+!<)C!6cFozBZ z+n=n}>K>AO`>&{EE&aMryQuQs_+pK{^f;3-BJac|lk3;92Vee^O!%2ftK#49kPNf8 z?fRa2ymTioW{vO3?rrMK;0>J-sL%6-q9o)*gd6Au_V>yw<9F%N3tv?&$0N9J<&*19 zH>UE!%eGu}JF?14qo|L%zH?FqfjA!}k^FdG__-n40E>NoUQG@!d`;loiY%T9dEPl_ zCCVK3;0-_BzYuCsnEk1F6b@DdU!>No!uoZim6Q{BCJPVYGNN0Bz_Y#h8C2{jAn2$7 zYF3KqiGc90GLqfo6>otu317QOfEX~`4Jz~cT(51jd<9Pry^aGnRI4JIpAN_SqfBqW zXRMExhV?wDo(X_>zkc3LjX!&;*CP-WWv(h+q_Yb13n^z=L8vbNd9m-I&P;W3{9;+D z1M=os#m^PsD}x4hz8soj{(c=ONDu$KFa$6*lc8UH4V+Y&fi@`f!XN57wwQiK@dFho zO9dGsS3eAHXpm38HrrHariYVdjBgZR^?}uPMkq7lnfo=!-%()s;8tMVp8ad$b5JUz zs)DQ?2x=>TMR9QzSUOn~gu1w1bNkvkcIq5%Xl~H(^~Zk^d{@l&s_<>CGH2{IbGY`= z3XLl;{jwsrblK_Z)6;t>Tnxg?rUyjAekuUMvf zW4zKY)sb3Zv#K`>zS=J)MC;=`Zo0t|S+sT&gMsQoLh_E;c>6K1IuP%8OaXQ(RrXTi zQ0PkRLV}(?e$w?Za9fdNy!MxB-TSh{#3v}gT9XtnJr2e5_CX8+mbB=#wU{3*BWk40 z#)o^pROU=gI?8m)CK+pE45t7$Ynfc<%1*%eov4xYi&3{nQo9KDvfywRTglWg=I^(S z&mhChlf$BhwPfSDzZ4rKi>RQdonMaQ`GJs+8nXH?b$N|*yot9@s(0*njPLkWiMV&0 zr}sswF@*I~HxcXY1l}YAUAs|~Sy%g{I``jHNUVxLE{=kkx(d(wMR48;PTF|_7#79X zn^p2WIn3O^IL3iBglN6ll=!s49Kf`P!^{qnr70x+ifW!ShnW=^x6j>FmQ2}@DLB>! zzX5F49A@TzLa!bka$%oZo)L$c5g6Bez@8Aje3niBXd6qWas`K(YD@54h3`sGUzoR; z!@L+6x8uMLLbuwiWlbAK%>TMbZJdMA94|x4l7)Iw&C%wCQ5MSo@chO)S_-zNJRf!E z8!KPq^^eEeR@HSTUR;|ukHbvtEjO!T9F~VRDA09Z$3ZAPcJ$+(DWk5PbI+MJNUsu=bC?x`I)i?7?tpGR~SV2p<9 zxkp3^Iw*bhq8Wm_KE9@6VPZ`q#Zd?EF&-g;Y9;--JFcYf=s((I2ROtUV`Q7%DiYUJ zp>%m5uv!m4P_Zttwvp22BB=ChBjx4r_<_MwJFYEWea1pbTyq$u7JgL^`$-B~jxQ^z zr_>w)5pYHQ0ci?ly8-_fC`$};?^n+}zF$STkWa0+%5zx8=y@ovxq`A`pu%FiAUyP` z@?}6u=0&{*PAuVcUOw1te!wiOFMq=%u~iwlm$$9Bj9L-Ti>lRyp?(FrmEkg7lS$%3 z1v)iZ1nmX7{r`+JIeMy0TgL%z%;eP`XkPJ9Y-i1(<~kwJT2)E1$Cj6V10+oqNh1*W zyb=#BE2<87d~*>6DE7A(V3~KlTaY{}jM4x!tS8fV8?K4=9v}^=N)myf9WVix1zql)|q{lmIQ^)m81Z2(gJ&0@yD&3v&Aoxhz%5UfV2S|!QK+UY^8zoa&GVG|$ zC%9}DoU!ppP3AOGPO3^SYVZk(b^=zT>(q`5f9t}T=Mk@5UhRUz^7}*y>YPpwqaIsm z2^p4F{IMh{pX#oQ2QJ|g$W8*Sp+~}FFLzYgC}^ zjX0i{!4+L7J3FH=*bpz|lUf@oHYjzQlA7yJ63R}^0HK__3Xct&*=XhfgVw1IycqbK z$22`YwF9MYiB6m^2E(KF{Bq)bar!?z=Eflqn0qMG$fLp6Yk-l1N-cm}?JAOU8~1ju z6POJV0|yu=N^Mc1I{jpvM5T#JfbO7*REHn9%*dziR*|#=CnjA5{5SjK_H?bNs|5nU zq(yfW^QRqDIc$d~z~nJ9e9@!Z*JpsCgt9Zi0f9`?&7HuRynlCn9jd}XEk-Tg; z+__n{*OmyqZ8*|gz`tBUy0{R|3hA4WKfPhH)(fTDCbf}%GQd6hzyqQh^5m%!$aJl; z1O^U(8AQJ?dA7IdM!}1meClf*oX04B*obJv^Q55Ibck3%qO0x^C2^xQMz@jG<8r)^ z?QqGGd)YfTpZaVS&U1aI7ywTi#0XLV_0lFhGyKfU%zUcV6)PNMz|K!REk2=sO@P4i^&Qpl^T>efYuSm5!C}EZ>GK3XYg)1oP@EBg zF<6endOsOQdKKBg#on;LnG+snk6t!X4!bNwfLFc>?4efE-o5>Up*QlW-EUP9_vL%l z17P_qU6~E1w*m+ertr$j0d_P)WOnk*P7C(2b6@mX(k?wy5-YcKVT>K!pA)AYwy$7x zR!|`7mId(7ikzEhK2=WBOm@jtEfc(up3*<@b;_7;dxmx;63D&x$N0jqgp841K7ZpU zbM^O?;t}6OuTma}?N9JHP?}bh#M*B1j@LV{D4qNsQ@nA`?aYPa=M?gl)Fq6lK-R`D zjiX;befHum8ff>&=wnt3@&y^F#atzJ*3}bA;V@+)Mc%KBdR9XppPsZ2L2Q%^((cFuq$bKnntV32gE_6VmzkTmJxGJuytsvBb|Re;UvoZQA%}j61;Kwkx&Xi zQeSh_GN||0K)n2Rax~^@kdgT$aVr^K66f2&UP1vhy>3>NyfX6GomHJr1)X8*`$-BI zzPF93{C;bZk{G<6X;uaSt%%oY4p;DFka$`RnOj~iJdb#tAkjdrx z1QhUVV19o9egId`f4V8V9{`>-hPs^2e9Uj@${vZ3X_ztvjx{*6MfxRRv}mAA`!7wT zU7H0^pzb&!J%QI$H6F_D4R0YugF#`9>HmGo+4I2 z@p~=y@hppq1?PvAku8y-=gX*xG{K-W4!Ynte-0EbRZjo8{PMwxlhvfL$t^+qMavV``NVU=c0K9`EUs}CBG zfsNM-^~%3d99Q6Ilc-VzWhlUplHEW?0G_D5nNb8oM^L8SP^zdbH5_pVmW7gGqT*He zpQN+O$W4vW_PF?Xl&K6F0K>h!hZ_zErlEVev(F3 z;%)0{ffjH{RKo$FC1eGFnO}=s;~y!&g=H-%MK zQUEaNpIa#XYk*Xwj~Bl;RWw$@`j0=X6Gu7+ZO8^%E-Ju11Aj2TQNS+eX(osm(B|Ph zm8Bs}cuR&ChE~ZX+Y6r7oAw~XJ>^;r^Tjo$phlF^xBny=>fjzPfLZor`2Bsv5|l+Y z&tXlgVGV>bpA;?Svz}gQ>8SuHVH>C>uWO%?yk%Iy^3f3@2wUk*p&wAO1*JxYEF(_t z6a;h&L!}M>Jv*ihqP3n3w`*CXe535u$3ORjU=^dxhP`Y<03fn>wYEh8@kI)-X}jr& zC;g&ZY8R+4U92E@YuG)p-Fgnq6x0eRfcp+phrn>(M}~j&3Fi)E@%Fr^>X95Sj}h|% z2S^{(5UYQT6J~Km&Uc_9l?)f$lT0az0gR$JSF{kUR^m$+d$+OqEu)&1z;AC3jdjV7 zCQ9%@ndfA<;s;>J7ped^hybL7wG$^@1Yg&Gr~s>kk!2M?;s}S9b$euoDB&>5jOzvx zOLg!cdBP0z#!2Un>Q6`>%G;y&4Ggml9IjdO z=->I&FEUs@yd1!C?)j@dNa;k9i7!asDGtp~FYxj-(Ev=n4RruDsv(Q+BW&P?D#j@B z&>}2TL8>p>jMUjY@b4+hrwX0=8LB3q;R@q|^ z?oJbBaM$;Ffk@p&nL#eC-rp$T@yQ0~5I|!1EujyHtr3TEs^Xa3GacMUTbwK!;~I~< z010gl&8W9f5x@#&5NP`!)FeOl!dkPSVpqzrK6sYW9QWhJN@XbtqaU1&0>pYcP)^>y^vr9)r77A^H1%;_(foYL`2rFWsOI|C#Ie@pnG z6NWfxI@VTHh@^4fX>-pAFSWn5Y~r-GGG_L44`22bmmU3nX5VRi>d;r4`UcCarMDZ# zqH;rK3YH13nU4953ER`EkF-=;V_7?C*HK00y}p%pvi3LEjhb#hu9n}_F7>?EyXh>e z{M3(C)lW)#>#vgz%ybgBRgbNW`q0KqlD_jK+Zjd2X2#g`r#?5_AN^dn_x2sr2@bR3 zlK%EmX4@9pcxxKXX!Op(A)2?)BTahy$KkX&xi?DQ{`+p*jVf1z=3(d4Fe?Z@G_5_a z-{Tct?@dod;jCiX%Tu{GB0Zy@AHkykb_l%J|LN5^fheV*Zo*=WAg z%r7E}vo}iT%lCPb(4x7Kxo=u8Go_;)qa&|7A)(2b=n-|dQLy#;LH@g#N#wz&_8azC zk%(iIW7uaN{nfI>unhUYNGl#zJMzyHh+0{>AodFTDMjEge)$kx?qpCD9M0Pu^B;XY zhuVo4d4*q=3R$W-@SVD(Q*y0SP=b5VfmV^~F(<~Tq8eXeyaJvgUYhMH-6Y1Z>N2(LV$Jwt zb*&k~o^wr;)#V=_juu>(20ZjJTy`6u$O`)2(_^5o)Tp8cYxPyFo2kcXZiRHg)$g8< z$7d$Kr_Wf9ZrT)Iyd6JNRXDBrFIeHWszgc*=&ZDNFgvzIDqQKw^_Ik(|J(dv*aA{R z)fo;nc1=*?POZqY4VPrRM`;fiMwwhwzb>4Z2=DTzwpwXYl3%=Jz7?h)jG7UiI^=qJ z?9G4C)R{*nZ#;wfJvRL6Gzbi5+K^9T@SkPRR*W}TNk4ho3&y^?dd^9|z$++O_U9@=fa!^4Mg?E?PG^~?IJf;|04`&pgBzPf&T z#JD^(@>jRt`?{qzVnK&PRoxh|t_{C)j-$5PW;{0ZW=k#)oG_=(Ppo+N&mP1Y9YV)Uw^eU zZy-QAN;Sqc?0!rxb(Ny<6!)DRr1@bKg1VOVkm8kpe}2c{cMbfmf!{Uoy9R#O!0#IP V|D*=e=h@_tXj!(3AOCmU^gkNMJxc%p diff --git a/docs/guides/bval.png b/docs/guides/bval.png deleted file mode 100644 index fdbcebc8b17bc23a2e94a7eb63f5181d36e93d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54845 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

Cqe?X;6K44Lc%i_&u^CZSj6v$5`^8) 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 diff --git a/docs/guides/cdp_reports_generate.png b/docs/guides/cdp_reports_generate.png deleted file mode 100644 index f4c21ab38b4e82d626c0b19b57f0305403186064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60496 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 k7Ec{`?SI5sn!rmUC)qayH$SV3-M}5H&ovZ_ diff --git a/docs/guides/cdp_services_report.png b/docs/guides/cdp_services_report.png deleted file mode 100644 index b38974f8202181c4c18b047637397ba409ca4774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30978 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 diff --git a/docs/guides/central_pull.png b/docs/guides/central_pull.png deleted file mode 100644 index 01a1d00fa684a5318257110739adba6e84b02b2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8997 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 R<#3(YaN`rti~qAK`Y+I#8pQwr diff --git a/docs/guides/central_push.png b/docs/guides/central_push.png deleted file mode 100644 index 2139f1ed735ae056dc4b92b09a0cc6eab6b0c28e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45134 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 z 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 PC5#_qWpPF}f6M;@jVYZ< diff --git a/docs/guides/cf-Compliance.texinfo b/docs/guides/cf-Compliance.texinfo deleted file mode 100644 index 06bcf36b66..0000000000 --- a/docs/guides/cf-Compliance.texinfo +++ /dev/null @@ -1,123 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{NewLogo} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf-Compliance.info -@settitle Compliance management using cfengine -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Compliance management using CFEngine -@subtitle A CFEngine AS workbork -@author CFEngine.com - -@c @smallbook - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, ISO standards and International Law, (dir), (dir) -@top CFEngine-Modularization -@end ifnottex - - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

- -

Summary of contents

- -@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@menu -* ISO standards and International Law:: -@end menu - -@cartouche - -In this module you will learn about - -@itemize @bullet -@item -Ways of ensuring compliance with security requirements and company policy. - -@end itemize -@end cartouche - -@c ----------------------------------------------------------------------- -@node ISO standards and International Law, , Top, Top -@chapter ISO standards and International Law - - - - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - -@ifhtml -@html - -@end html -@end ifhtml - -@contents - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf-bestpractices.texinfo b/docs/guides/cf-bestpractices.texinfo deleted file mode 100644 index f016eabeea..0000000000 --- a/docs/guides/cf-bestpractices.texinfo +++ /dev/null @@ -1,356 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{NewLogo} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf-bestpractices.info -@settitle CFEngine Best Practices -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine Best Practices -@subtitle A CFEngine AS workbork -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Best practices, (dir), (dir) -@top CFEngine-Modularization -@end ifnottex - - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

- -

Summary of contents

- -@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - - -@menu -* Best practices:: -* The Promise Matrix:: -* Things to remember when writing promises:: -@end menu - -@c ********************************************************************** -@node Best practices, The Promise Matrix, Top, Top -@chapter Best practices - -Who decides best practice? Who gets to say what is best for whom and -under what circumstances? In many cases this is an ad hoc individual, -or perhaps (worse) a committee, more concerned with concensus building -that practicality. - -We would like to begin by saying that we don't believe in the concept -of @i{best} practice, however perhaps we can refer to Pretty Good -Practice, i.e. Useful Experience. That is the spirit in which we present our -thoughts in this document. - -@c ********************************************************************** -@node The Promise Matrix, Things to remember when writing promises, Best practices, Top -@chapter The Promise Matrix - -Let us oversimplify just a little to describe what we believe is the basic -problem. - -The management of a distributed system can be thought of as the -population of a matrix (table) of `things to do' versus `where to do -them', i.e. on which machines to execute which processes. This -matrix is what is sometimes referred to as orchestration, or choreography: - -@image{matrix1,12cm,,The Matrix,png} - -The CFEngine version of this is more general and more powerful. To -begin with, we describe promises which are not just tasks, but -maintainance processes. Then, instead of individual machines, we are -able to put together any kind of (possibly overlapping) set of -machines into a `class'. - -@image{matrix2,12cm,,The Matrix,png} - -@menu -* Avoid hierarchical arrangements:: -* Defining effective classes:: -* Classifying machines:: -* Bundling under a class:: -@end menu - -@node Avoid hierarchical arrangements, Defining effective classes, The Promise Matrix, The Promise Matrix -@section Avoid hierarchical arrangements - -Hierarchies are a bad way to model organizations. Even though history -has favoured hierarchical organization, almost no real organization is -trul hierarchical. Indeed, strict hierarchies tend to fail in most -cases because they force things into a tree of isolated -leaf-categories. Networks (like the internet) are successful because -they can branch like trees, but allow cross connected and overlapping -membership of categories. - -Our first advice is: - -@itemize -@item Create the classes that you need to represent your organization. - -Put out of your mind all thoughs about hierarchy and Object -Orientation. If they are natural, they will emerge by themselves. If -they are not, they will just get in your way. If you try to be strict -in categorization, you will just end up making more exceptions to the -rule than the rule itself. - -@item Use many classes with descriptive names. - -This is how you model and understand cooperation in your organization. - -@end itemize - -Many clients have a significant fraction of their total configuration -dedicated to defining appropriate classes. - - -@node Defining effective classes, Classifying machines, Avoid hierarchical arrangements, The Promise Matrix -@section Defining effective classes - -One idea for best practice is this: we want to make the smallest -number of classes that cover an organization. This sounds like a nice -obsessive-compulsion for optimization, and it appeals to nit-pickers; -however we advise against exessive optimization. Comfort and pedagogy -are more important characteristics to nurture. - -@enumerate - -@item The main thing we want to avoid is having to maintain the same -information in many locations. If we can, we would like to have a -little raw information and use logic and @i{reasoning} to derive -classes from these. Fortunately CFEngine does a lot of reasoning in -advance, providing you with a rich list of classes on which to base -decisions. - -@item Remember also that you can define your own classes by testing the -system with functions like @code{fileexists()}, @code{filesexist}, -@code{hashmatch()}, etc., which detect conformance with particular -patterns. - -@item A lot of information is contained in lists. Make use of existing -lists in databases like NIS, LDAP and SQL databases. The may be accessed -by special functions like @code{ldaplist}, @code{hostinnetgroup}. - -@item There are two strategies to making lists, much like `allow' and `deny' -strategies in access control security. - -@itemize -@item Specify the individual entities. -@item Specify the exceptions to a general rule. -@end itemize - -There are general classes (all encompassing) like @samp{any}, and @samp{solaris}. -Then there are specific classes like the name of a host, or the IP address. - -@end enumerate - - -@node Classifying machines, Bundling under a class, Defining effective classes, The Promise Matrix -@section Classifying machines - -There are different approaches to classifying machines: - -@itemize -@item By IP address, or subnet. - -This seems simple but does not easily capture today's distributed organizations. - -@item By netgroup or LDAP list. - -This has the advantage of being managed by a specialist in the organization, so it -makes use of knowledge about the organization. - -@end itemize - - -@node Bundling under a class, , Classifying machines, The Promise Matrix -@section Bundling under a class -- making use of patterns - - -CFEngine's ability to define methods based on parameterized bundles of -code is a powerful way to reduce the total number of specific promises -into generic patters. Whenever possible, we recommend writing -generic promises and re-using them by iterating over lists, -or applying parameter sets to different classes, e.g. - -@verbatim - - domain_01:: - - "dep1" slist => { "c:\WINDOWS\system32\msiexec.exe" }; - - "dep2" slist => { "c:\WINDOWS\system32\msiexec.exe", "c:\Program Files\cf_dummy1" }; - - "dep3" slist => { "c:\WINDOWS\system32\msiexec.exe", "c:\Program Files\cf_dummy1", "c:\Program Files\cf_dummy2" }; - - - domain_02:: - - "dep1" slist => { "c:\WINDOWS\system32\msiexec.exe" }; - - "dep2" slist => { "c:\WINDOWS\system32\msiexec.exe", "c:\Program Files\cf_dummy2" }; - -methods: - - # perform the actual installation with dependency checking - - domain_01:: - - "any" usebundle => install_software("cf_dummy1.msi","cf_dummy1",@(Trial1.dep1)); - "any" usebundle => install_software("cf_dummy2.msi","cf_dummy2",@(Trial1.dep2)); - "any" usebundle => install_software("cf_dummy3.msi","cf_dummy3",@(Trial1.dep3)); - - domain_02:: - - "any" usebundle => install_software("cf_dummy2.msi","cf_dummy2",@(Trial1.dep1)); - "any" usebundle => install_software("cf_dummy1.msi","cf_dummy1",@(Trial1.dep2)); - -@end verbatim - - -@c ********************************************************************** -@node Things to remember when writing promises, , The Promise Matrix, Top -@chapter Things to remember when writing promises - - - - -When writing promises, get into the habit of giving every promise a comment -that explains its intention. - -Also, give related promises @i{handles}, or labels that can be used to -refer to them by. - -@verbatim - -files: - - "/var/cfengine/inputs" - - handle => "update_policy", - - perms => system("600"), - copy_from => mycopy("$(master_location)","$(policy_server)"), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - -@end verbatim -If a promise affects another promise in some way, you can make the affected -promise one of the promisees, like this: - -@verbatim - -access: - - "/master/CFEngine/inputs" -> { "update_policy", "other_promisee" }, - - handle => "serve_updates", - - admit => { "217.77.34.*" }; - -@end verbatim - -Conversely, if a promise might depend on another in some (even indirect) way, document this too. - -@verbatim - -files: - - "/var/cfengine/inputs" - - handle => "update_policy", - depends_on => {"serve_updates"}, - - perms => system("600"), - copy_from => mycopy("$(master_location)","$(policy_server)"), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - - -@end verbatim - -Get into the habit of adding the cause-effect lines of influence. -Enterprise editions of CFEngine will track the dependencies between these -promises and map out impact analyses. - - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - -@ifhtml -@html - -@end html -@end ifhtml - -@contents - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf-copernicus.texinfo b/docs/guides/cf-copernicus.texinfo deleted file mode 100644 index f97246049a..0000000000 --- a/docs/guides/cf-copernicus.texinfo +++ /dev/null @@ -1,258 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{NewLogo} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf-copernicus.info -@settitle Copernicus Hints -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Copernicus Hints -@subtitle A CFEngine AS reference -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - -@ifnottex -@node Top, Introduction, (dir), (dir) -@top CFEngine-Reference -@end ifnottex - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

- -

Summary of contents

- -@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@menu -* Introduction:: -* The content:: -* Graphs:: -* Improve Copernicus:: -@end menu - -@node Introduction, The content, Top, Top -@chapter Introduction - - -Copernicus is CFEngine's knowledge integration tool, proving -semantically linked access to our extended documentation for support -customers. Copernicus is really just CFEngine 3 in disguise. The -website is powered by CFEngine 3's knowledge agent @code{cf-know}. Only -the content is proprietary -- and even then we encourage you to -help develop it by sending us suggestions for improvement. - -Copernicus was made famous for his heliocentric view of the -universe, placing the sun at the centre and seeing the -planets orbit around it. - -@image{copernicus-planets,10cm,,The heliocentric solar system,png} - -CFEngine's Copernicus is a simplified implentation of ISO standard -Topic Maps, in which every page is based around a topic. It places -a given topic of interest in the centre of focus and shows what other -concepts are closely related to it. Just click on a concept to see -how it relates to nearby concepts and to find references to the -documentation. - -The best way to use the topic map is simply to explore for a while -and use the search field to short-cut to relevant topics. - -@itemize -@item Orange links point to concepts -@item Red links point to documents. -@end itemize - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@node The content, Graphs, Introduction, Top -@chapter The content - -@menu -* Topics:: -* Types:: -* Associations:: -* Occurrences:: -* Searching:: -@end menu - -@node Topics, Types, The content, The content -@section Topics - -A topic is any subject that we want to talk about or represent. - -Strictly speaking, the term topic refers to the object or node in -the topic map that represents the subject being referred to. However, -there is a one-to-one relationship between topics and -subjects, with every topic representing a single subject and every -subject being represented by just one topic. To a certain degree, -therefore, the two terms can be used interchangeably - -@image{NewCopernicus,10cm,,A typical topic page,png} - -@node Types, Associations, Topics, The content -@section Types - -Topics can be categorized according to their type. In a topic map, any -given topic is an instance of zero or more topic types. This -corresponds to the categorization inherent in the use of multiple -indexes in a book (index of names, index of works, index of places, -etc.). - -Types are used mainly to disambiguate topics of the same namin -different contexts. - -@node Associations, Occurrences, Types, The content -@section Associations - - -An association is a semantic relationship between two topics. -The associative distance between topics is what defines the -solar system of a topic in Copernicus. Associations are what -links ideas together in the knowledge base, e.g. - -@smallexample -is implemented by -is an example of -is an aspect/component of -was a feature added in -@end smallexample - - -@node Occurrences, Searching, Associations, The content -@section Occurrences - -An occurrence of a topic is a piece of information about -it. This is normally the reason for using the topic map -in the first place -- to arrive at an actual document, or -occurrence of the topic. In CFEngine occurrences can be -short literal explanations, or the can be red URL pointers -to documentation. - -An occurrence pointer will lead you some some text that -says something about the topic. - -@node Searching, , Occurrences, The content -@section Searching - -The search field at the top right hand corner of the header may be -used to enter Perl Compatible Regular Expressions to match topic name -fragments. Searches are case insensitive. Do not enter more than one -keyword at a time, the expression should match only a single name, -e.g. - -@smallexample -web -web server -web.*module.* -apache -@end smallexample - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@node Graphs, Improve Copernicus, The content, Top -@chapter Graphs - -Copernicus provides some graphical representations of topic space, -showing approximately 30 of the closest related topics. This magic -number 30 is one of the Dunbar numbers and represents the number of -working relationships humans can typically maintain. - -@image{NewCopernicusGraph,10cm,,A graphical view of related topics,png} - - -The graphics are not a complete represenation of the topic map but -are designed to provoke associative thought. You can reach all of -the links by going to the Associations section of a topic page (assuming -there are associations). - -The graphical aspects of copernicus are being developed as part of our -research into knowledge management. Users can expect future -improvements to the analysis and navigation features. - - -@node Improve Copernicus, , Graphs, Top -@chapter Improve Copernicus - -Entering the expert knowledge in Copernicus is a huge and -time-consuming task. Help us to improve the knowledge base by sending -us your wishes and suggestions. Every `stupid question' and smart -lateral thought that you send us can help someone to find what they -need more quickly. - -We are constantly researching and analysing the data we have and -the patterns of usage we observe. All of this will lead to -a more sophisticated experience in the coming years. - -@ifhtml -@html - -@end html -@end ifhtml - -@contents - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/cf3-bestpractice.texinfo b/docs/guides/cf3-bestpractice.texinfo deleted file mode 100644 index 72cc67ad8a..0000000000 --- a/docs/guides/cf3-bestpractice.texinfo +++ /dev/null @@ -1,1455 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-bestpractice.info -@settitle CFEngine 3 Best Practices -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine 3 Best Practices -@subtitle A CFEngine Handbook -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Policy Style Guide, (dir), (dir) -@top CFEngine-Best-Practices -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@menu -* Policy Style Guide:: -* Policy Dos and Don'ts:: -* Common Workflows :: -* Quality Assurance around CFEngine:: -@end menu - - -@c ********************************************************************** - -@node Policy Style Guide, Policy Dos and Don'ts, Top, Top -@chapter Policy Style Guide - -@c .................................... -@menu -* Arranging files:: -* Where to define variables and classes:: -* How to choose and name bundles:: -* How to decide when to make a bundle:: -* When to use a paramaterized bundle or method :: -* When should classes be in common bundles:: -* When should variables be in common bundles:: -* When should variables be in local bundles:: -@end menu - -@node Arranging files, Where to define variables and classes, Policy Style Guide, Policy Style Guide -@section Arranging files - -Base your files on high level services as you do with bundles, -@xref{How to choose and name bundles}. The purpose of breaking up -policy into files is to limit the scope of the policy to manageable -amounts, making it easier to understand. It will only be easier to -understand if the casual user can immediately locate promises from the -name of the file. - -You can place related files in subdirectories of the inputs to localize them. -This also makes updating more efficient, as fewer objects need to be -checked. - -@cartouche -The Enterprise Knowledge base allows you to search for -promises, but everything will make more sense if promises are found in -an intuitive place. -@end cartouche - -@node Where to define variables and classes, How to choose and name bundles, Arranging files, Policy Style Guide -@section Where to define variables and classes - -@cartouche -Note that all CFEngine variables are globally accessable, by using their -fully qualified name :@code{$(bundle.variable)}, or @code{@@(bundle.variable)}, -so placing variables in one place or another does not affect their accessability. -@end cartouche - -Variables should be defined as close to the place where they are used as possible. -The user will expect to find variables defined: - -@itemize -@item In the current bundle, first and foremost. -@item In some common bundle for generic, global data. -@end itemize - -@noindent Variables that define global aspects of configuration, e.g. - -@itemize -@item Well known path names, e.g. document root. -@item Site specific data, e.g. the email address of the support unit. -@end itemize -@noindent can be defined in @code{common} bundles. This places them -in a neutral context. - -The only reason to define a variable far from its place of use would -be when writing generically re-usable methods and passing data as -parameters, @xref{When to use a paramaterized bundle or method}. -However, re-usability can make rules harder to understand. - -@node How to choose and name bundles, How to decide when to make a bundle, Where to define variables and classes, Policy Style Guide -@section How to choose and name bundles - -Use the name of a bundle to represent a meaningful aspect of system adminstration, -We recommend using a two or three-part name, that explains the context, general subject heading and -special instance. Names should be service oriented and should guide non-experts to understand -what they are about. -e.g. -@itemize -@item app_mail_postfix -@item app_mail_mailman -@item app_web_apache -@item app_web_squid -@item app_web_php -@item app_db_mysql -@item garbage_collection -@item security_check_files -@item security_check_processes -@item system_name_resolution -@item system_xinetd -@item system_root_password -@item system_processes -@item system_files -@item win_active_directory -@item win_registry -@item win_services -@end itemize - -@node How to decide when to make a bundle, When to use a paramaterized bundle or method , How to choose and name bundles, Policy Style Guide -@section How to decide when to make a bundle - -Put things into a single bundle if: -@itemize -@item They belong to the same conceptual aspect of system administration. -@item They do not need to be switched on or off independently. -@end itemize - - -Put things into different bundles if: - -@itemize -@item All of the promises in one bundle need to the checked -before all of the promises in another bundle. - -@item You need to re-use the promises with different parameters. -@end itemize - -In general, keep the number of bundles to a minimum. -This is a knowledge management issue. Clarity comes from differentiation, -but only if the number of things is small. - - - - -@node When to use a paramaterized bundle or method , When should classes be in common bundles, How to decide when to make a bundle, Policy Style Guide -@section When to use a paramaterized bundle or method - -If you need to arrange for a @i{managed convergent collection} or -@i{sequence} of promises that will occur for a list of (multiple) names or -promisers, then use a bundle to simplify the code. - -Write the promises, which may or may not be ordered, using a parameter for the -different names, then call the method passing the list of names as a parameter -to reduce the amount of code. - -@smallexample - -bundle agent testbundle -@{ -vars: - - "userlist" slist => @{ "mark", "jeang", "jonhenrik", "thomas", "eben" @}; - -methods: - - "any" @b{usebundle => subtest("$(userlist)")}; - -@} - -########################################### - -bundle agent subtest(@b{user}) - -@{ -commands: - - "/bin/echo Fix @b{$(user)}"; - -files: - - "/home/@b{$(user)}/." - - create => "true"; - -reports: - - linux:: - - "Finished doing stuff for @b{$(user)}"; -@} - -@end smallexample - - - -@node When should classes be in common bundles, When should variables be in common bundles, When to use a paramaterized bundle or method , Policy Style Guide -@section When should classes be in @code{common} bundles? - -@itemize -@item When you need to use them in multiple bundles (because classes defined -in @code{common} bundles have global scope). -@end itemize - -@cartouche - -Note, if you are converting from CFEngine 2 you should know the following. -In CFEngine 2, all classes were global and it was common to define all classes -in a big unmanageable list. That meant that there was a chance of -class name collisions. CFEngine 3 has both local and global classes, allowing you -to limit the scope of classes and define them more in context. - -@end cartouche - -@node When should variables be in common bundles, When should variables be in local bundles, When should classes be in common bundles, Policy Style Guide -@section When should variables be in @code{common} bundles? - -@itemize -@item For rationality, if the variable does not belong to any particular -bundle, because it is used elsewhere. -(Qualified variable names e.g. @code{$(mybundle.myname)}are always -globally accessible, so this is a cosmetic issue.) -@end itemize - -@node When should variables be in local bundles, , When should variables be in common bundles, Policy Style Guide -@section When should variables be in local bundles? - -@itemize -@item If they are not needed outside the bundles. -@item If they are used for iteration (without qualified scope). -@item If they are tied to a specific aspect of system maintenance represented -by the bundle, so that accessing @code{$(bundle.var)} adds clarity. -@end itemize - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@node Policy Dos and Don'ts, Common Workflows , Policy Style Guide, Top -@chapter Policy Dos and Don'ts - -This chapter lists a number of recommended practices. - - - -@menu -* Never do:: -* Avoid:: -* Recommended:: -* Always do:: -@end menu - -@node Never do, Avoid, Policy Dos and Don'ts, Policy Dos and Don'ts -@section Never do - -@menu -* Never change system policy when humans are absent:: -* Never embed simple shell commands:: -* Never manage more than one cron job:: -@end menu - - -@node Never change system policy when humans are absent, Never embed simple shell commands, Never do, Never do -@subsection Never change system policy when humans are absent - -Never make system changes when humans are unavailable, e.g. just before -going offline for the weekend. No matter how careful you have been, mistakes -can be made and you need to have at least 24 hours experience with a running -policy to lend it your trust. - - - -@node Never embed simple shell commands, Never manage more than one cron job, Never change system policy when humans are absent, Never do -@subsection Never embed simple shell commands - - -Do not embed simple shell commands with CFEngine @code{commands} promises, like this: - -@smallexample - -commands: - - # Don't do this! - - "/bin/rm -r /tmp/xyz*"; - "/bin/mkdir /tmp/abcd"; - -@end smallexample - -@b{WHY?} Embedded shell commands like this cannot be managed by CFEngine, -so none of the protections that CFEngine offers can be applied to the process. -Moreover, this starts a new process, adding to the burden on the system. - -Most importantly, this approach works like a covert channel, making changes -that are not directly visible to CFEngine. - - -@node Never manage more than one cron job, , Never embed simple shell commands, Never do -@subsection Never manage more than one cron job - -When you run CFEngine, there is no reason to maintain separate cron -jobs. Instead, use CFEngine's time classes to work like a user -interface for cron. This allows you to have a single, central -CFEngine file which contains all the cron jobs on your system without -losing any of the fine control which cron affords you. All of the -usual advantages apply: -@itemize @bullet - -@item -It is easier to keep track of what cron jobs are running on the -system when you have everything in one place. - -@item -You can use all of your carefully crafted groups and user-defined -classes to identify which host should run which programs. -@end itemize - -@b{WHY?} This gives you a single point of definition for batch jobs. -It encapsulates jobs under CFEngine's tutelage, for improved control -and security. Finally, CFEngine can collate and summarize the outputs -from multiple scripts in a rational monitoring process. - - - -@c ********************************************************************** -@node Avoid, Recommended, Never do, Policy Dos and Don'ts -@section Avoid - -@menu -* Avoid writing custom scripts:: -* Avoid running CFEngine without lock protection:: -@end menu - -@node Avoid writing custom scripts, Avoid running CFEngine without lock protection, Avoid, Avoid -@subsection Avoid writing custom scripts - -Do not spend your time writing scripts to embed within CFEngine. If -you are doing this, you are not using the potential of CFEngine and -you are not benefitting from the protections and efficiencies that -CFEngine offers. Custom scripts should be for your specific business -operations, not for system maintenance. - -If you are tempted to use scripts to achieve your needs, consider -using @code{methods}, and if necessary consult with support personnel -for advice. - - -@node Avoid running CFEngine without lock protection, , Avoid writing custom scripts, Avoid -@subsection avoid running CFEngine without lock protection - -CFEngine's adaptive locking is an important system protection. You -should not run CFEngine continuously without this protection, e.g. by -running with the @samp{-K} flag set, of by setting @code{ifelapsed} to -zero for a promise. - -@b{WHY?} System inconsistencies can result and unnecessary resources -will be consumed. - - - -@c ********************************************************************** -@node Recommended, Always do, Avoid, Policy Dos and Don'ts -@section Recommended (Try to) - -@menu -* Try to combine tests and operations during file searches:: -* Try to make many small changes:: -@end menu - -@node Try to combine tests and operations during file searches, Try to make many small changes, Recommended, Recommended -@subsection Try to combine tests and operations during file searches - -Searching through files on a disk is one of the most time consuming -operations for a computer. If you have to do it, make sure that -you are getting the most for your CPU-cycles and combine operations -in a single promise. This allows CFEngine to optimize the resource use -of the system. - -@smallexample - -files: - - "$(site)/app/webroot/img/inside/extmans" - comment => "Copy the images for the private html documents", -@b{ copy_from => cp("$(kbase)"), - perms => p("root","644"), - file_select => by_name(".*.png"), - depth_search => recurse("1"),} - action => ifelapsed("60"); - -@end smallexample - - - -@node Try to make many small changes, , Try to combine tests and operations during file searches, Recommended -@subsection Try to make many small changes - -Changes to policy should always be part of a serious and considered -plan. They should not be @emph{ad hoc}. That said, consideration of -changes should not be so time-consuming that it cripples human -resources, or leads to change-avoidance because it seems daunting. - -It is better to make many small changes than few large changes. Large -changes involve many interdependencies, which make them fragile to -unexpected contingencies. The risk of large changes is high. The risk -of small changes is low. - -CFEngine makes it easy to make small changes frequently, without -operational repercussions. As long as humans are on hand during the -change to observe possible side-effects this. - - -@c ********************************************************************** -@node Always do, , Recommended, Policy Dos and Don'ts -@section Always do - - -@menu -* Always document promises:: -* Always keep coding to a minimum:: -* Always use lists to make the same promise about multiple objects:: -* Always use existing templates:: -* Always use the system variables for system resources:: -* Always use variables as pointers to paths and servers:: -@end menu - -@node Always document promises, Always keep coding to a minimum, Always do, Always do -@subsection Always document promises - -Always add comment attributes to your promises to explain the intention. - -@smallexample - -files: - - # This is a throw-away comment, below is a full-bodied promise - - "/tmp/testfile" # promiser - - @b{comment => "This is for keeps...", # Live comment} - create => "true", # Constraint 1 - perms => p("612"); # Constraint 2 - -@end smallexample - -If a promise has a stakeholder that is worthy of special mention, then -use the promisee fields to add the name of this person. - -@smallexample - -files: - - "/tmp/testfile" -> @{ "stakeholder@@company.com" @}, - - @b{comment => "This is for keeps...", # Live comment} - create => "true", # Constraint 1 - perms => p("612"); # Constraint 2 - -@end smallexample - -If a promise depends on another promise being run before it, use the -@code{depends_on} fields to document the handle of the other prior promise. -This allows tracing of the impact chain. - - -@smallexample - -files: - - "/tmp" - - @b{handle => "make_temp",} - comment => "This is for keeps...", # Live comment - create => "true", # Constraint 1 - perms => p("612"); # Constraint 2 - - - "/tmp/testfile" - - @b{depends_on => @{ "make_temp" @},} - comment => "This is for keeps...", # Live comment - create => "true", # Constraint 1 - perms => p("612"); # Constraint 2 - -@end smallexample - - -@node Always keep coding to a minimum, Always use lists to make the same promise about multiple objects, Always document promises, Always do -@subsection Always keep coding to a minimum - -If you are coming to CFEngine from another scripting langauge, you -will probably be tempted to add a lot of `logic' to your CFEngine -program, testing whether things are true and trying to control the -order of things. This is not necessary. You should think of each -promise as being a self-contained `nugget' that requires little -additional coding. The more coding you add, the more fragile -a configuration becomes. - -The hardest part of using CFEngine for programmers is letting go -of the reins. - - -@node Always use lists to make the same promise about multiple objects, Always use existing templates, Always keep coding to a minimum, Always do -@subsection Always use lists to make the same promise about multiple objects - -If you have a number of system resources that all make the same -promise, then use lists to iterate over the resources in a single -promise, rather than coding the same promise many times. - -@smallexample -vars: - - "watch_files" slist => @{ - "/etc/passwd", - "/etc/shadow", - "/etc/group", - "/etc/services" - @}; -files: - - "$(watch_files)" - - comment => "Change detection on the above", - changes => change_management_trip_wire; - -@end smallexample - - -@node Always use existing templates, Always use the system variables for system resources, Always use lists to make the same promise about multiple objects, Always do -@subsection Always use existing templates - -Familiarize yourself with the current @code{CFEngine_stdlib.cf} file in the -software distribution. This contains many body templates, e.g. - -@smallexample -local_cp() remote_cp() secure_cp() if_elapsed() recurse() -@end smallexample - -@noindent Use these pre-existing body templates whenever possible, rather -than inventing new ones. For example: - -@smallexample - -bundle agent update -@{ -files: - - "/path/to/copy" - - comment => "Update the policy files from the master", - perms => u_p("600"), - copy_from => @b{local_cp}("$(master_location)","localhost"), - depth_search => @b{recurse}("inf"); - -@} -@end smallexample - -@b{WHY?} The comprehensibility of your code to consultants and new -employees is enhanced by standardization of practice. If the global -CFEngine community uses the same set of idioms, then communicating -policy will be simpler. - - -@node Always use the system variables for system resources, Always use variables as pointers to paths and servers, Always use existing templates, Always do -@subsection Always use the system variables for system resources - -CFEngine provides indirection (pointers) to particular resources, -through its @samp{sys} variable context. These variables adapt -to the operating system and user id under which CFEngine is run. -Your policy will be more readily portable and you will need to -code fewer exceptions if you use CFEngine's automatically adapting -primitives, e.g. instead of writing @file{/etc/resolv.conf} for the -name-service configuration file, use @code{$(sys.resolv)}. - -@smallexample - -files: - - "@b{$(sys.resolv)}" - - comment => "Add lines to the resolver configuration", - create => "true", - edit_line => resolver, - edit_defaults => std_edits; - -@end smallexample - - -@node Always use variables as pointers to paths and servers, , Always use the system variables for system resources, Always do -@subsection Always use variables as pointers to paths and servers - -You should avoid coding paths and names of resources directly in -promises. Use instead a local or possible global variable to point to -the resource instead. This brings consistency to the coding, often -shortens the references, and provides a @i{single point of definition} -for change. - - -@smallexample - -bundle agent update -@{ -vars: - - # A standard location for the source point (single point of definition) - - "master_location" string => "@b{$(sys.workdir)}/masterfiles"; - -files: - - "$(sys.workdir)/inputs" - - comment => "Update the policy files from the master", - perms => u_p("600"), - copy_from => u_cp("@b{$(master_location)}","localhost"), - depth_search => recurse("inf"); - -@} - -@end smallexample - - -@node Common Workflows , Quality Assurance around CFEngine, Policy Dos and Don'ts, Top -@chapter Common Workflows - -This chapter concerns `workflow processes' that should typically be -dealt with on systems. A workflow process is represented by a -@i{promise bundle} in CFEngine. None of the proposals here should be -considered mandatory in any sense, but they do represent the norm. - -We refer users to the CFEngine solutions guide for implementation details of -specific solutions. - -@c ********************************************************************** -@menu -* Anomaly Monitoring:: -* Batch Jobs:: -* Garbage Collection:: -* Knowledge Updating:: -* Name Service:: -* Policy Distribution:: -* Services:: -* Security:: -* Software Management:: -@end menu - -@node Anomaly Monitoring, Batch Jobs, Common Workflows , Common Workflows -@section Anomaly Monitoring - -@noindent @b{Purpose:} - -The purpose of anomaly monitoring is to understand the stability -of a system, both in terms of its run-time performance and its -architectural structure. Sudden changes on a system can be separated -from the normal slow variations. - -@noindent @b{Remarks:} - -Anomaly detection is enabled and performed by the @code{cf-monitord} daemon. -Reporting of anomalies is not automatic however. Alerts must be promised -explicitly. This is normally handled by a @code{reports} promise. - -Change detection of the file system is handled by @code{files} -promises in @code{cf-agent}. - -@noindent @b{Example:} - -@smallexample - -bundle agent anomalies -@{ -vars: - - "sysdir" string => "/tmp"; - "files" slist => @{ "passwd", "shadow" @}; - -classes: - - "no_$(files)" not => fileexists("$(sysdir)/$(files)"); - -files: - - # backup - - "/var/cfengine/inputs/$(files)" - - copy_from => emergency_save("$(sysdir)/$(files)"); - - # restore - - "/tmp/$(files)" - - copy_from => emergency_save("/var/cfengine/inputs/$(files)"), - ifvarclass => "no_$(files)"; - -reports: - - rootprocs_high_dev2:: - - "RootProc anomaly high 2 dev on $(mon.host) at $(mon.env_time) - measured value $(mon.value_rootprocs) av $(mon.average_rootprocs) - pm $(mon.stddev_rootprocs)" - - showstate => @{ "rootprocs" @}; - - entropy_www_in_high&anomaly_hosts.www_in_high_anomaly:: - - "HIGH ENTROPY Incoming www anomaly high anomaly dev!! on $(mon.host) - - measured value $(mon.value_www_in) av $(mon.average_www_in) pm - $(mon.stddev_www_in)" - - showstate => @{ "incoming.www" @}; - - entropy_www_in_low.anomaly_hosts.www_in_high_anomaly:: - - "LOW ENTROPY Incoming www anomaly high anomaly dev!! on $(mon.host) - at $(mon.env_time) - - measured value $(svalue_www_in) av $(average_www_in) pm $(stddev_www_in)" - - showstate => @{ "incoming.www" @}; - - # etc. - -@} - -@end smallexample - - -@c ********************************************************************** -@node Batch Jobs, Garbage Collection, Anomaly Monitoring, Common Workflows -@section Batch Jobs - - -@noindent @b{Purpose:} - -Batch jobs are run on systems in order to perform basic house keeping functions such -as updating databases or executing business related tasks. - -@noindent @b{Remarks:} - -Batch jobs should not be run every time CFEngine runs, so you need to limit the -execution of each one carefully, using: - -@itemize -@item Classes -Classes for time and location. -@item Locks -The @code{ifelapsed} parameter determined how much time has to have elapsed -before the job can be executed again. -@end itemize - -@noindent @b{Example:} - - -@smallexample - -bundle agent example -@{ -commands: - - # Exec on the first quarter after noon on Mondays - - Hr12.Q1.Monday:: - - "/path/myscript -arg1 -arg2"; - - # Exec every second quarter past hour, every day - - Q2:: - - "/path/otherscript"; - -@} - -@end smallexample - - -@c ********************************************************************** -@node Garbage Collection, Knowledge Updating, Batch Jobs, Common Workflows -@section Garbage Collection - -@noindent @b{Purpose:} - -Garbage collection is required on systems to prevent temporary or -antiquated files from consuming all available storage resources. It is -impossible for a system to survive in the long term without throwing -some data away. - -@noindent @b{Remarks:} - -Needless to say, care should be exercised when deleting anything from the system. -There are many strategies to select carefully what is to be deleted. -The @code{file_select} constraint is your friend. - -@noindent @b{Example:} - -@smallexample - - -bundle agent garbage_collection -@{ -files: - - "$(sys.workdir)/outputs" - - comment => "Garbage collection of any output files", - delete => tidy, - @b{file_select => days_old("3")}, - depth_search => recurse("inf"); - - "/tmp" - - comment => "Garbage collection of any temporary files", - delete => tidy, - @b{file_select => days_old("3")}, - depth_search => recurse("inf"); - -@} - -@end smallexample - -@c ********************************************************************** -@node Knowledge Updating, Name Service, Garbage Collection, Common Workflows -@section Knowledge Updating - -@noindent @b{Purpose:} -@noindent @b{Remarks:} -@noindent @b{Example:} - -@c ********************************************************************** -@node Name Service, Policy Distribution, Knowledge Updating, Common Workflows -@section Name Service - -@noindent @b{Purpose:} -Every computer needs to know how to perform name directory lookups in the Domain -Name Service. On Unix systems this requires it to manage the @file{/etc/resolv.conf} -file. - -@noindent @b{Remarks:} - -Always use the @code{$(sys.resolv)} variable to refer to the file. - -@noindent @b{Example:} - -@smallexample -bundle agent name_resolution - -@{ -files: - - "$(sys.resolv)" # test on "/tmp/resolv.conf" # - - comment => "Add lines to the resolver configuration", - create => "true", - edit_line => resolver, - edit_defaults => std_edits; - -@} - -bundle edit_line resolver - -@{ -delete_lines: - - "search.*"; - "nameserver 80.65.58.31"; - -insert_lines: - - "search CFEngine.com" location => start; - "nameserver 212.112.166.18"; - "nameserver 212.112.166.22"; -@} - - -@end smallexample - -@c ********************************************************************** -@node Policy Distribution, Services, Name Service, Common Workflows -@section Policy Distribution - - -@noindent @b{Purpose:} - -In a centralized model of policy suggestion, policy updates are downloaded -from a single point of definition, from one or more policy servers. -Maintaining this flow of communication from `central command' is what maintains -that centralized command. - -@noindent @b{Remarks:} -It is not mandatory to centralize management, but usually there needs to -be some automated process. - -@noindent @b{Example:} - -@smallexample - -vars: - - "master_location" string => "/var/cfengine/masterfiles"; - - "policy_server" slist => @{ "62.109.39.150" @}, - comment => "IP address to locate your policy host."; - -files: - - "/var/cfengine/inputs" - - handle => "update_policy", - perms => system("600"), - copy_from => u_scp("$(master_location)",@@(policy_server)), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - -@end smallexample - -@c ********************************************************************** -@node Services, Security, Policy Distribution, Common Workflows -@section Services - - -@noindent @b{Purpose:} -Keeping services up and running, or taking down services that should not be -running is both a matter of productivity and security. - -@noindent @b{Remarks:} -@noindent @b{Example:} - -@smallexample - -bundle agent services -@{ -vars: - "serlist" slist => @{ "dhcp", "ntp", "sshd" @}; - - "sindex" int => readstringarray - ( - "service", - "$(g.workdir)/inputs/fixservices-array", - "#[^\n]*", - ":", - "10", - "4000" - ); - -methods: - - "any" usebundle => fixservice - ( - "$(service[$(serlist)][0])", - "$(service[$(serlist)][1])", - "$(service[$(serlist)][2])", - "$(service[$(serlist)][3])", - "$(service[$(serlist)][4])" - ); -@} - -bundle agent fixservice(service,tfiles,mfiles,procs,restart) -@{ -files: - - "$(tfiles)" - perms => system("0600","root","root"), - copy_from => mycopy("$(g.masterfiles)/config/$(mfiles)","$(g.phost)"), - classes => cdefine( "$(service)_restart", "failed"); - -processes: - - "$(procs)" - - restart_class => canonify("$(service)_restart"); - -commands: - - "$(restart)" - - ifvarclass => canonify("$(service)_restart"); -@} - -@end smallexample - -@c ********************************************************************** -@node Security, Software Management, Services, Common Workflows -@section Security - -@noindent @b{Purpose:} -Security is a vast topic. You need to start with a security policy -and then translate this into promises about the system. For instance -you might promise file permissions and access rules. You might promise -change monitoring or anomaly detection. - -@noindent @b{Remarks:} -This is an open ended topic. Security should be discussed as a -human process, since most breaches come from within the system. -CFEngine can then be used to implement hardening measures, and -monitoring of important assets. - -@noindent @b{Example:} - - -@smallexample -vars: - - "system_files" slist => @{ - "/etc/passwd", - "/etc/group", - "/etc/services" - @}; - - "secret_files" slist => @{ - "/etc/shadow" - @}; - -files: - - - "$(secret_files)" - - comment => "Check permissions are secret on the above", - perms => mo("o-rwx","root"); - - "$(system_files)" - - comment => "Check permissions are correct on the above", - perms => mo("644","root"); - - -@end smallexample - -@c ********************************************************************** -@node Software Management, , Security, Common Workflows -@section Software Management - -@noindent @b{Purpose:} -Installing software and updating - -These days most systems have some kind of package based management -system. These vary in their intelligence from self-updating robots to -simple dumb file repositories. CFEngine can manage the installation -and subsequent customization/configuration. - -@noindent @b{Remarks:} -Installing software from some kind of source is only the first step. -Thereafter, special settings must be harmonized with security policies -and operational requirements. - - -@noindent @b{Example:} - -@smallexample - -vars: - - "match_package" slist => @{ - "apache2", - "apache2-mod_php5", - "apache2-prefork", - "php5" - @}; - -packages: - - "$(match_package)" - - package_policy => "add", - package_method => yum, - classes => ok("software_ok"); - -@end smallexample - - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - - -@node Quality Assurance around CFEngine, , Common Workflows , Top -@chapter Quality Assurance around CFEngine - -A powerful tool like CFEngine can do great good, or cause enormous -damage if used carelessly. It is essential to have a strict -discipline when making changes. This is a human quality assurance -process. - -Your general rule of thumb should be: make small changes, not big releases. - - -@menu -* Policy changes:: -* The policy decision flow:: -* Configuration version control and rollback:: -* Delegating responsibility:: -@end menu - -@node Policy changes, The policy decision flow, Quality Assurance around CFEngine, Quality Assurance around CFEngine -@section Policy changes - -Changes to policy should always be part of a serious and considered -plan. They should not be @emph{ad hoc}. That said, consideration of -changes should not be so time-consuming that it cripples human -resources, or leads to change-avoidance because it seems daunting. - -It is better to make many small changes than few large changes. Large -changes involve many interdependencies, which make them fragile to -unexpected contingencies. The risk of large changes is high. The risk -of small changes is low. - -CFEngine makes it easy to make small changes frequently, without -operational repercussions. As long as humans are on hand during the -change to observe possible side-effects this. - -Consider the following issues in quality assurance: -@itemize -@item Create a schedule and policy for major changes. -@item Plan to acquire the complete set of components for release. -@item Assign human roles as well as machine roles for changes. -@item Label new policy release items uniquely for tracking. -@item Always document the policy changes using the comment fields. -@item Test prior to releasing into the production environment. -@item Test in the production environment on a small number of machines whenever possible. -@end itemize - - -@image{cfengine-bdma,10cm,,The policy lifecycle,png} - - -There are four commonly cited phases in managing systems, summarized -as follows (see figure): - -@itemize -@item Build -@item Deploy -@item Manage -@item Audit -@end itemize - -These separate phases originate with a model of system management -based on transactional changes. CFEngine's conception of management -is some different, as transaction processing is not a good model for -system management, but we can use this template to see how -CFEngine works differently. - -@table @emph -@item Build -A system is based on a number of decisions and resources that need to -be `built' before they can be implemented. Building the trusted -foundations of a system are the key to guiding its development. You -don't need to decide every detail, just enough to build trust and -predictability into your system. - -In CFEngine, what you build is a template of proposed promises for the -machines in an organization such that, if the machines all make and -keep these promises, the system will function seamlessly as -planned. This is how it works in a human organization, and this is how -is works for computers too. - -@item Deploy -Deploying really means implementing the policy that was already -decided. In transaction systems, one tries to push out changes one by -one, hence `deploying' the decision. In CFEngine you simply publish -your policy (in CFEngine parlance these are `promise proposals') and -the machines see the new proposals and can adjust accordingly. Each -machine runs an agent that is capable of implementing policies and -maintaining them over time without further assistance. - -@item Manage -Once a decision is made, unplanned events will occur. Such -incidents usually set off alarms and humans rush to make new transactions -to repair them. In CFEngine, the autonous agent manages the system, -and you only have to deal with rare events that cannot be dealt with -automatically. - -@item Audit -In traditional configuration systems, the outcome is far from clear -after a one-shot transaction, so one audits the system -to determine to discover what actually happened. In CFEngine, changes -are not just initiated once, but locally audited and maintained. -Decision outcomes are assured by design in CFEngine and maintained -automatically, so the main worry is managing conflicting -intentions. Users can sit back and examine regular reports of -compliance generated by the agents, without having to arrange -for new `roll out' transactions. - -@end table - -@cartouche -@emph{ROLL-OUT and ROLL-BACK? You should not think of CFEngine with a -roll-out system, i.e. one that attempts to force out absolute changes -and perhaps reverse them in case of error. Roll-out and roll-back are -theoretically flawed concepts that only sometimes work in practice. -With CFEngine, you publish a sequences of policy revisions, always -moving forward (because like it or not, time only goes in one -direction). All of the desired-state changes are managed locally by -each individual computer, and continuously repaired to ensure on-going -compliance with policy. } -@end cartouche - -@node The policy decision flow, Configuration version control and rollback, Policy changes, Quality Assurance around CFEngine -@section The policy decision flow - -CFEngine does not make many absolute choices. Almost everything about -its behaviour is matter of policy and can be changed. However, a -structure for use, like the following, is recommended (see figure). - -In order to keep operations as simple as possible, CFEngine maintains -a private working directory on each machine referred to in -documentation as WORKDIR and in policy by the variable -@code{$(sys.workdir)}. By default, this is located at -@file{/var/cfengine} or @file{C:\var\CFEngine}. It contains everything -CFEngine needs to run. - -The figure below shows how decisions flow through the parts of a system. - -@image{arch,15cm,,The CFEngine architecture,png} - - -@itemize -@item -It makes sense to have a single point of coordination. Decisions are -therefore usually made in a single location (the Policy Definition -Point). The history of decisions and changes can be tracked by a -version control system of your choice (e.g. SubVersion). - -@item -Decisions are made by editing CFEngine's policy file -@file{promises.cf} on one of its included children. This process is -carried out off-line. - -@item -Once decisions have been formalized and coded, this new policy is -copied @emph{manually} (a human decision) to a @emph{decision -distribution point}, which by default is located in the directory -@file{/var/cfengine/masterfiles} on all policy distribution servers. - -In this introduction, we shall assume that there is only one central -policy distribution server, a specially-appointed server which is -referred to simple as the @code{policy server}. - - -@item -Every client machine contacts the policy server and downloads these -updates. The policy server can be replicated if the number of clients -is very large, but we shall assume here that there is only one policy -server. -@end itemize - -Once a client machine has a copy of the policy, it extracts only those -promise proposals that are relevant to it, and implements any changes -without human assistance. This is how CFEngine manages change. - -@cartouche - -@emph{WHY DO THIS? CFEngine tries to minimize dependencies by decoupling -processes. By following this pull-based architecture, CFEngine will -tolerate network outages and will recover from deployment errors -easily. By placing the burden of responsibility for decision at the -top, and for implementation at the bottom, we avoid needless fragility -and keep two independent quality assurance processes apart.} - -@end cartouche - - - -@c *********************************************************** -@node Configuration version control and rollback, Delegating responsibility, The policy decision flow, Quality Assurance around CFEngine -@section Version control and rollback - - - -CFEngine does not provide specific tools for versioning promise -specifications. It is recommended to use a tool such as subversion for -this. CFEngine does allow you to track changes and keep versions of -non-trivial changes, such as file content changes. - -Subversion maintains revision numbers on files. It is useful to be -able to refer to version names or numbers also in CFEngine. A version -string can be added to files as follows: -@smallexample -body common control -@{ -version => 1.2.3 -@} - -@end smallexample -This defines the version number of a set of configuration files -which is referred to in reference messages from CFEngine. - - -When CFEngine saves a current version of a file that it is modifying -or replacing, by default such files are given a new extension and -remain within the same directory which they were -encountered. Alternatively, one can specify a repository directory to -which such files can be moved instead. The repository location is -specified in the @code{control} section: -@smallexample - -body agent control -@{ -default_respository => "/var/cfengine/repository"; -@} - -@end smallexample -Files moved to the repository are given names reflecting their full path, with slashes replaced -by underscore characters. For some, this creates a clearer overview of the -changes that have occurred. - - - -@c *********************************************************** -@node Delegating responsibility, , Configuration version control and rollback, Quality Assurance around CFEngine -@section Delegating responsibility - -In a large organization, you delegate responsibility for different -issues to different teams. CFEngine has no meta-access control -mechanism which can decide who may write policy rules on what -issue. To create such a mechanism, there would have to be a monitor -which could identify users, and an authority mechanism that would -disallow certain users to write rules of certain types about certain -objects on certain hosts. Although it is @emph{possible} to create such -a system, it would be both technically difficult, very cumbersome -to use and would add a whole new level of complexity to policy and -potential error to the configuration process. - -To keep matters as simple as possible, we avoid this and propose a -different approach. Promise theory (CFEngine's basis) reveals a -straightforward answer to model the security implications of this (see -the figure of the bow-tie structure). A simple method of delegating is -the following. - -@enumerate -@item Delegate responsibility for different issues to admin teams 1,2,3, etc. -@item Make each of these teams responsible for version control of their own -configuration rules. -@item Make an intermediate agent responsible for collating and vetting the rules, checking for -irregularities and conflicts. This agent must promise to disallow rules by -one team that are the responsibility of another team. The agent could be a -layer of software, but a cheaper and more manageable solution is the make this -another group of one or more humans. - -@item Make the resulting collated configuration version controlled. Publish -approved promises for all hosts to download from a trusted source. - -@end enumerate - -A review procedure for policy promises is a good -solution if you want to delegate responsibility for different parts of -a policy to different sources. Human judgement is irreplaceable, and tools -can be added to make conflicts easier to detect. - -Promise theory underlines that, if a host of computing device accepts -policy from any source, then it is alone and entirely responsible for -this decision. The ultimate responsibility for the published version -policy is the vetting agent. This creates a shallow hierarchy, but -there is no reason why this formal body could not be comprised of -representatives from the multiple teams. - -@center @image{delegate,13cm,,Delegation of responsibility requires vetting access,png} - -@cartouche - -Run several CFEngines? Another way to delegate CFEngine control for -users that only require limited privileges would be to run several -agents as non-root users. This only works however if the tasks -delegated are very self-contained and require no special privilege. - -@end cartouche - - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf3-conceptguide.texinfo b/docs/guides/cf3-conceptguide.texinfo deleted file mode 100644 index 3c15ac8f32..0000000000 --- a/docs/guides/cf3-conceptguide.texinfo +++ /dev/null @@ -1,2505 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-conceptguide.info -@settitle CFEngine 3 Concept Guide -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine 3 Concept Guide -@subtitle A CFEngine AS workbook -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Introduction - System automation, (dir), (dir) -@top CFEngine Concepts -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@i{This document is an abbreviated version of the CFEngine tutorial (http://cfengine.com/manuals/cf3-tutorial.html).} - -@c ********************************************************************** -@menu -* Introduction - System automation:: -* The components of CFEngine:: -* Bodies and bundles:: -* A simple crash course in concepts:: -* Knowledge Management:: -@end menu - -@node Introduction - System automation, The components of CFEngine, Top, Top -@chapter Introduction - System automation - -@menu -* Managing diverse and challenging environments seamlessly and invisibly:: -* Managing expectations - a theory of promises:: -* Why automation?:: -* How do you view CFEngine:: -@end menu - -@node Managing diverse and challenging environments seamlessly and invisibly, Managing expectations - a theory of promises, Introduction - System automation, Introduction - System automation -@section Managing diverse and challenging environments seamlessly and invisibly - -CFEngine was designed to enable scalable configuration management, for -the -whole system life-cycle, in any kind of environment. -Almost every other system for configuration assumes that there will be -a reliable network in place and that changes will be pushed out -top-down from an authoritative node. Those systems are useless in -environments like - -@itemize -@item Mobile systems with partial or unreliable connectivity (e.g. a -submarine). -@item Systems where bandwidths are very low (e.g. a satellite or space -probe). -@item Systems where computing power is very low (e.g. ad hoc sensors -or kitchen appliances). -@end itemize - -CFEngine does not need reliable infrastructure. It works -opportunistically in almost any environment, using few resources. It -has few software dependencies. So, not only does it work in all of the -traditional fixed-plan scenarios, but it is capable of working in -totally ad hoc deployment: a temporary incident room, a submarine -drifting on and off line, a satellite or a robot explorer. - -One could argue `well I don't need that kind of system, because my -network is reliable'. However, your network is not as reliable as you -think, and mobility is an increasingly important topic. Even with a -very strong redundant network, the services that support the network -can be paralyzed by any of a number of failed dependencies or -mishaps. It is crucial in a modern pervasive environment that systems -remain available, fault tolerant and as far as possible independent of -external requirements. This is how to build scalable and reliable -services. - -@cartouche -CFEngine works in all the places you think it should, and all the new -places you haven't even thought of yet. How do we know? Because it -is based on almost 20 years of careful research and experience. -@end cartouche - - -@c -------------------------------------------------------------- -@node Managing expectations - a theory of promises, Why automation?, Managing diverse and challenging environments seamlessly and invisibly, Introduction - System automation -@section Managing expectations - a theory of promises - -One of the hardest things in management is to make everyone aware of -their roles and tasks, and to be able to rely on others to do the same. -@i{Trust} is an economic time-saver. If you can't trust you have to -verify, -and that is expensive. - -To improve trust we make promises. A promise is the documentation of an -intention to act or behave in some manner. This is what we need to -learn to -trust systems, no matter whether they are machines or humans. - -One CFEngine user once said to me, that the thing that had helped him -the most in deploying CFEngine was its design based around voluntary -cooperation. ``Our main problems were not technical but political -- -getting everyone to agree in all of our departments around the -world''. This was because, for all the technology, it is people who -make the decisions and people need to feel that the system is -empowering rather than disempowering them. - -@cartouche - -CFEngine works on a simple notion of promises. Everything in -CFEngine can be thought of as a promise to be kept by different -resources in the system. - -Combining promises with patterns to describe where and when -promises should apply is what CFEngine is all about. - -@end cartouche - - -@c -------------------------------------------------------------- -@node Why automation?, How do you view CFEngine, Managing expectations - a theory of promises, Introduction - System automation -@section Why automation? - - -Humans are good at making decisions and awful at reliable -implementation. Machines are pitiful at making decisions and very -good at reliable implementation. It makes sense to let each side do -the job that they are good at. - -The main problem in managing systems is a loss of self-discipline. -Discipline -does not imply that orders have to be barked from a central command. It -only requires that every part of the system knows its job and carries -it out seamlessly and flawlessly. - -Skilled workers tend to think that it is enough to be smart. In fact -this is wrong: smart people tend to be problem solvers and will -happily solve the same problem many times, wasting time and -effort. Moreover, human intervention is often based on panic and lack -of understanding so every time someone logs onto a system by hand, -they jeopardize everyone's understanding of the system. Only the -self-discipline of stable procedures leads to predictability. - -Ad hoc changes are bad because: -@itemize -@item Others have no idea what happened. -@item There is no record of changes or intentions. -@item A scar is left from the change. -@end itemize - - -People often rile against automation saying that it dehumanizes their -work. In fact the opposite is true: forcing humans to do the work of -machines, in repetitive and reliable ways is what dehumanizes people. -The only way to make progress with a bad habit is to recognize it and -be willing to abandon the habit. - - -@c -------------------------------------------------------------- -@node How do you view CFEngine, , Why automation?, Introduction - System automation -@section How do @i{you} view CFEngine? - -CFEngine is a framework. It is not so complex, but it is certainly -extensive. -Often when trying to describe CFEngine, it seems that there is too -much to -tell and it is hard to convey in a simple way what the software can do. -The picture below shows a few ways in which you can think of CFEngine. - -@center @image{boxes,12cm,,CFEngine application areas,png} - -For many users, CFEngine is simply a configuration tool -- -i.e. software for deploying and patching systems according to a -policy. Policy is described using promises -- indeed, every statement -in CFEngine 3 is a promise to be kept at some time or location. More -than this, however, CFEngine is not like most automation tools that -`roll out' an image of some software once and hope for the best. Every -promise that you make in CFEngine is continuously verified and -maintained. It is not a one-off operation, but an encapsulated process -that repairs itself should anything deviate from the policy. - -That clearly places CFEngine in the realm of automation, which often -begs the question: so it's just another scripting language? Certainly -CFEngine contains a powerful scripting language, but it is not like -any other. CFEngine is not a low level language like Perl, Python or -Ruby; it is a language of promises, in which you express very high -level intentions about the system and the inner details figure out the -algorithms needed to implement the result. - -Above all, CFEngine is aimed to promote human understanding of complex -processes. Its promises are easily documentable using comments that -the system remembers and reminds us about in error reporting. It hides -irrelevant and transitory details of implementation so that the -@i{intentions} behind the promises are highlighted for all to see. -This means that the knowledge of your organization can be encoded into -the CFEngine language. - -@cartouche -@i{WHY DOES KNOWLEDGE MATTER? 1. Technical descriptions are hard to remember. You might understand -your configuration decisions when you are writing them, but a few -months later when something goes wrong, you will probably have forgotten -what you were thinking. That costs you time and effort to diagnose. -2. Organizations are fragile to the loss -of those individuals who code policy. If they leave, often there is -no one left who can understand or fix the system. Only with proper -documentation is it possible to immunize against loss.} -@end cartouche - - - - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node The components of CFEngine, Bodies and bundles, Introduction - System automation, Top -@chapter The components of CFEngine - -CFEngine comprises a number of components. In this chapter we'll -consider how to -build them and what they are for. - - -@menu -* The players:: -* About the CFEngine architecture:: -* The policy decision flow:: -@end menu - - -@node The players, About the CFEngine architecture, The components of CFEngine, The components of CFEngine -@section The players - -A CFEngine system is something like an orchestra. -It is composed of any number of computers (players), each of which has -its -own copy of the music and knows what to play. It might or might not have -a conductor to help coordinate the individual parts -- that's up to you. - -CFEngine's software agents are independent components that run on each individual computer. They can -communicate if they need to, as depicted in the figure below. This means -you don't have to arrange risky login credentials to run your network --- and if something goes wrong with the communications network, -CFEngine is where it needs to be to repair or protect the system -during the outage. - -@image{components,10cm,,CFEngine components,png} - -If the network is not working, CFEngine just skips these parts and -continues -with what it can do. It is fault tolerant and opportunistic. - -@table @emph - -@item cf-promises -The promise verifier and compiler. This is used to pre-check a set of -configuration promises before attempting to execute. - -@item cf-agent - -This is the instigator of change. The agent is the part of CFEngine -that manipulates -system resources. - -@item cf-serverd - -The server is able to share files and receive requests to execute -existing policy on an individual machine. It is not possible to send -(push) new information to CFEngine from outside. - -@item cf-execd - -This is a scheduling daemon (which can either supplement or replace -@code{cron}). It also works as a wrapper, executing and collecting the -output of @code{cf-agent} and E-mailing it if necessary to a system -account. - -@item cf-runagent - -This is a helper program that can talk to @code{cf-serverd} and -request that it execute @code{cf-agent} with its existing policy. It -can thus be used to simulate a push of changes to CFEngine hosts, if -their policy includes that they check for updates. - -@item cf-report - -This generates summary and other reports in a variety of formats for -export or integration with other systems. - -@item cf-know - -This agent can generate an ISO standard Topic Map from a number of -promises about system knowledge. It is used for rendering documentation -as a `semantic web'. - -@end table - - - -@c ------------------------------------------------------------------------- -@node About the CFEngine architecture, The policy decision flow, The players, The components of CFEngine -@section About the CFEngine architecture - -This section explains how CFEngine will operate autonomously in a -network, under your guidance. If your site is large (thousands of -servers) you should spend some time discussing with CFEngine experts -how to tune this description to your environment as @emph{scale} -requires you to have more infrastructure, and a potentially more -complicated configuration. The essence of any CFEngine deployment -is the same. - - - -There are four commonly cited phases in managing systems, summarized -as follows: - -@itemize -@item Build -@item Deploy -@item Manage -@item Audit -@end itemize - -These separate phases originate with a model of system management -based on transactional changes. CFEngine's conception of management -is somewhat different, as transaction processing is not a good model for -system management, but we can use this template to see how -CFEngine works differently. - -@table @emph -@item Build -A system is based on a number of decisions and resources that need to -be `built' before they can be implemented. Building the trusted -foundations of a system is the key to guiding its development. You -don't need to decide every detail, just enough to build trust and -predictability into your system. - -In CFEngine, what you build is a template of proposed promises for the -machines in an organization such that, if the machines all make and -keep these promises, the system will function seamlessly as -planned. This is how it works in a human organization, and this is how -is works for computers too. - -@item Deploy -Deploying really means implementing the policy that was already -decided. In transaction systems, one tries to push out changes one by -one, hence `deploying' the decision. In CFEngine you simply publish -your policy (in CFEngine parlance these are `promise proposals') and -the machines see the new proposals and can adjust accordingly. Each -machine runs an agent that is capable of implementing policies and -maintaining them over time without further assistance. - -@item Manage -Once a decision is made, unplanned events will occur. Such -incidents traditionally set off alarms and humans rush to make new -transactions -to repair them. In CFEngine, the autonomous agent manages the system, -and you only have to deal with rare events that cannot be dealt with -automatically. - -@item Audit -In traditional configuration systems, the outcome is far from clear -after a one-shot transaction, so one audits the system -to determine what actually happened. In CFEngine, changes -are not just initiated once, but locally audited and maintained. -Decision outcomes are assured by design in CFEngine and maintained -automatically, so the main worry is managing conflicting -intentions. Users can sit back and examine regular reports of -compliance generated by the agents, without having to arrange -for new `roll out' transactions. - -@end table - -@cartouche -@emph{ROLL-OUT and ROLL-BACK? You should not think of CFEngine as a -roll-out system, i.e. one that attempts to force out absolute changes -and perhaps reverse them in case of error. Roll-out and roll-back are -theoretically flawed concepts that only sometimes work in practice. -With CFEngine, you publish a sequence of policy revisions, always -moving forward (because like it or not, time only goes in one -direction). All of the desired-state changes are managed locally by -each individual computer, and continuously repaired to ensure on-going -compliance with policy. } -@end cartouche - - -@c ------------------------------------------------------------------ -@node The policy decision flow, , About the CFEngine architecture, The components of CFEngine -@section The policy decision flow - -CFEngine does not make absolute choices for you, like other -tools. Almost everything about its behavior is matter of policy and -can be changed. However, a structure for use, like the following, is -recommended (see the following figure). - -In order to keep operations as simple as possible, CFEngine maintains -a private working directory on each machine referred to in -documentation as WORKDIR and in policy by the variable -@code{$(sys.workdir)}. By default, this is located at -@file{/var/cfengine} or @file{C:\var\CFEngine}. It contains everything -CFEngine needs to run. - -The figure below shows how decisions flow through the parts of a system. - -@image{arch,15cm,,The CFEngine architecture,png} - - -@itemize -@item -It makes sense to have a single point of coordination. Decisions are -therefore usually made in a single location (the Policy Definition -Point). The history of decisions and changes can be tracked by a -version control system of your choice (e.g. Subversion, CVS, etc.). - -@item -Decisions are made by editing CFEngine's policy file -@file{promises.cf} (or one of its included sub-files). This process is -carried out off-line. - -@item -Once decisions have been formalized and coded, this new policy is -copied @emph{manually} (a human decision) to a @emph{decision -distribution point}, which by default is located in the directory -@file{/var/cfengine/masterfiles} on all policy distribution servers. - -In this introduction, we shall assume that there is only one central -policy distribution server, a specially-appointed server which is -referred to simple as the @code{policy server}. - - -@item -Every client machine contacts the policy server and downloads these -updates. The policy server can be replicated if the number of clients -is very large, but we shall assume here that there is only one policy -server. -@end itemize - -Once a client machine has a copy of the policy, it extracts only those -promise proposals that are relevant to it, and implements any changes -without human assistance. This is how CFEngine manages change. - -@cartouche - -@emph{WHY DO THIS? CFEngine tries to minimize dependencies by decoupling -processes. By following this pull-based architecture, CFEngine will -tolerate network outages and will recover from deployment errors -easily. By placing the burden of responsibility for decision at the -top, and for implementation at the bottom, we avoid needless fragility -and keep two independent quality assurance processes apart.} - -@end cartouche - - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node Bodies and bundles, A simple crash course in concepts, The components of CFEngine, Top -@chapter Bodies and bundles - -To emphasize the fact that CFEngine is not an imperative programming -language, and to keep closely to the nomenclature of Promise Theory, -CFEngine uses two concepts throughout: bundles and bodies. - - -@menu -* Bodies:: -* Bundles:: -* A simple syntax pattern:: -@end menu - -@node Bodies, Bundles, Bodies and bundles, Bodies and bundles -@section Bodies - -Promises are the fundamental statements in CFEngine. Promises are the policy atoms. -If there is no promise, nothing happens. - -However, promises can become quite complicated and readability becomes -an issue, so it is useful to have a way of breaking them down into independent -components. The structure of a promise is this: - -@table @i -@item Promiser -This is the object that formally makes the promise. It is always the @i{affected object}, -since objects can only make promises about their own state or behavior in CFEngine. - -@item Promisee (optional) -This is a possible stakeholder, someone who is interested in the outcome of the -promise. It is used as documentation, and it is used for reasoning in the commercial -CFEngine product. - -@item Promise body -Everything else about a promise is defined in the body of the promise. -We use this word in the sense of `body of a contract' or the `body of a document' -(like @code{}) tags in HTML, for example. - -A promise body is a list of declarations of the following form: - -@verbatim -CFEngine_attribute_type => user_defined_value or template -@end verbatim - -@end table - -@menu -* Body parts:: -* Control bodies:: -@end menu - -@node Body parts, Control bodies, Bodies, Bodies -@subsection Body parts - -The CFEngine reserved word @code{body} is used to define -@i{parameterized templates} for bodies to hide the details of complex -promise specifications. For complex body lists, you must fill in a -body declaration as an `attachment' to the promise, e.g. - -@verbatim -files: - - "/tmp/promiser" # Promiser - - perms => myexample; # The body is just one line, - # but needs an attachment - -@end verbatim -The attachment is declared like this, with a `type' that matches the left -hand side of the declaration in the promise: -@verbatim -body perms myexample -{ -mode => "644"; -owners => { "mark", "sarah", "angel" }; -groups => { "users", "sysadmins", "mythical_beasts" }; -} -@end verbatim -The structure is this: - -@sp 1 -@cartouche -@smallexample - - @var{promiser} - - @b{LVALUE} => @var{RVALUE} - -.. - -body @b{LVALUE} @var{RVALUE} -@{ -@b{LVALUE} => @var{RVALUE}; -@b{LVALUE} => @var{RVALUE}; -@} -@end smallexample -@end cartouche -@sp 1 - -Another way of looking at it is this: - -@sp 1 -@cartouche -@smallexample - - @var{promiser} - - @b{CFEngine_word} => @var{user_defined_value} - -.. - - body @b{CFEngine_word} @var{user_defined_value} - @{ - @b{CFEngine_word} => @var{user_defined_value}; - @b{CFEngine_word} => @var{user_defined_value}; - ... - @} - -@end smallexample -@end cartouche -@sp 1 - -Body attachments are required items. You cannot choose to put the -attachments in-line. This is a lesson that was learned from CFEngine -2. Readability is quickly lost if too many details are placed in-line. - -@center @image{body_bundle,10cm} - -@node Control bodies, , Body parts, Bodies -@subsection Control bodies - -Some promises in CFEngine are implicit and hard-coded into the program. -For example, the fact that CFEngine looks for a number of files to read and -execute them in a sequence cannot be changed. -However, you can change the behavior of such promises by setting control -parameters. These are formally parts of the `promise body', so we use the body structure to set them. Each agent, (CFEngine software component) has a special body whose name is @code{control}, used for setting these parameters. For cf-agent and cf-serverd we can have: - -@verbatim -body agent control -{ -bundlesequence => { "test" }; -} -@end verbatim - -@verbatim -body server control -{ -allowconnects => { "127.0.0.1" , "::1", @(def.acl) }; -} -@end verbatim - - -@node Bundles, A simple syntax pattern, Bodies, Bodies and bundles -@section Bundles - -A bundle is a simple concept. A bundle is merely a collection of promises -in a `sub-routine-like' container. The purpose of bundles is to allow -you greater flexibility to break down the contents of your policies and -give them names. Bundles also allow you to re-use promise code by -parameterizing it. - -Like bodies, bundles also have `types'. Bundles belong to the agent that -is used to keep the promises in the bundle. So @code{cf-agent} has bundles -declared as - -@verbatim -bundle agent my_name -{ -} -@end verbatim - -@noindent The @code{cf-serverd} program has bundles declared as: -@verbatim -bundle server my_name -{ -} -@end verbatim -@noindent and so on. - - - -@menu -* Bundle scope:: -@end menu - -@node Bundle scope, , Bundles, Bundles -@subsection Bundle scope - -Variables and classes defined inside bundles are not directly visible outside. -All variables in CFEngine are globally accessible, however if you refer to a variable -by @samp{$(unqualified)}, then it is assumed to belong to the current bundle. To -access any other (scalar) variable, you must qualify the name using the name of -the bundle in which it is defined: -@samp{$(bundle_name.qualified)}. - -Some promise types, like @code{var}, @code{classes} may be made -by any agent. These are called @code{common} promises. Bundles of type @code{common} -are special. They may contain common promises. -Classes defined in common bundles have global scope. - -@node A simple syntax pattern, , Bundles, Bodies and bundles -@section A simple syntax pattern - -The syntax of CFEngine follows a simple pattern in all cases and has a few simple rules: - -@itemize -@item CFEngine built-in words, and identifiers of your choosing (the names -of variables, bundles, body templates and classes) may only contain -the usual alphanumeric and underscore characters (@samp{a-zA-Z0-9_}). - -@item All other `literal' data must be quoted. - -@item Declarations of promise bundles -in the form: -@example -bundle @var{agent-type} identifier -@{ -... -@} -@end example - -@item Declarations of promise body-parts in the form: -@example -body constraint_type template_identifier -@{ -... -@} -@end example -matching and expanding on a reference inside a promise -of the form -@samp{constraint_type => template_identifier}. - - -@item CFEngine uses many `constraint expressions' -as part of the body of a promise. These take the form: left-hand-side (cfengine word) -@samp{=>} right-hand-side (user defined data). This can take several forms: - -@verbatim -cfengine_word => user_defined_template(parameters) - user_defined_template - builtin_function() - "quoted literal scalar" - { list } -@end verbatim -In each of these cases, the right hand side is a user choice. -@end itemize - -Once you have learned this pattern, -it will make sense anywhere in the program. The figure below illustrates -this pattern. Some words are reserved by CFEngine, and are used as types or categories -for talking about promises. Other words (in blue) are to be defined by you. -Look at the examples and try to identify these patterns yourself. - -@image{cfengineword,14cm} - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** -@node A simple crash course in concepts, Knowledge Management, Bodies and bundles, Top -@chapter A simple crash course in concepts - - -@menu -* Rules are promises:: -* Best practice for writing promises:: -@c * Containers:: -* Decisions:: -* Types in CFEngine 3:: -* Datatypes in CFEngine 3:: -* Variables:: -* Loops:: -* The main promise types:: -* Test a promise?:: -@end menu - -@node Rules are promises, Best practice for writing promises, A simple crash course in concepts, A simple crash course in concepts -@section Rules are promises - -Everything in CFEngine 3 can be interpreted as a promise. Promises can -be made about all kinds of different subjects, from file attributes, -to the execution of commands, to access control decisions and -knowledge relationships. - -This simple but powerful idea allows a very practical uniformity in -CFEngine syntax. There is only one grammatical form for statements in -the language that you need to know and it looks generically like this: - -@smallexample - -type: - -classes:: - - "promiser" -> @{ "promisee1", "promisee2", ... @} - - attribute_1 => value_1, - attribute_2 => value_2, - ... - attribute_n => value_n; - -@end smallexample - -@noindent -We speak of a promiser (the abstract object making the promise), the -promisee is the abstract object to whom the promise is made, and then -there is a list of associations that we call the `body' of the -promise, which together with the promiser-type tells us what it is all -about. - -@cartouche -The promiser is always the object -affected by the promise. -@end cartouche - -Not all of these elements are necessary every time. Some promises -contain a lot of implicit behavior. In other cases we might want to -be much more explicit. For example, the simplest reports promise -looks like this: - -@smallexample - -reports: - -"hello world"; - -@end smallexample - -And the simplest commands promise looks like this - -@smallexample - -commands: - -"/bin/echo hello world"; - -@end smallexample - -@noindent -This promise has default attributes for everything except the -`promiser', i.e. the -command string that promises to execute. -A more complex promise contains many attributes: - -@smallexample - -# Promise type -files: - -# promiser -> promisee (no curly braces needed if only one) -"/home/mark/tmp/test_plain" -> "system blue team", - - # attribute => value - comment => "This comment follows the rule for knowledge integration", - perms => owner("@@(usernames)"), - create => "true"; - -@end smallexample -The list of promisees is not used by CFEngine except for -documentation, just -as the comment attribute (which can be added to any promise) has no -actual function -other than to provide more information to the user in error tracing -and auditing. - -You see several kinds of object in this example. All literal strings -(e.g. @code{"true"}) in CFEngine 3 must be quoted. This provides -absolute consistency and makes type-checking easy and error-correction -powerful. All function-like objects (e.g. @code{users("..")}) are -either built-in -special functions or parameterized templates which contain the `meat' -of the right hand -side. - -The words @code{commands}, and @code{files} are built-in promise -types. Promise types generally belong each to a particular component -of CFEngine, as the components are designed to keep different kinds of -promises. A few types, such as @code{vars}, @code{classes} and -@code{reports} are common to all the different component bundles. You -will find a full list of the promise types that can be made by the -different components in the reference manual. - - -@c ----------------------------------------------------------------------- -@c @node Best practice for writing promises, Containers, Rules are promises, A simple crash course in concepts -@node Best practice for writing promises, Decisions, Rules are promises, A simple crash course in concepts -@section Best practice for writing promises - -When writing promises, get into the habit of giving every promise a comment -that explains its intention. - -Also, give related promises @i{handles}, or labels that can be used to -refer to them by. - -@verbatim - -files: - - "/var/cfengine/inputs" - - handle => "update_policy", - comment => "Update the configuration from a master server", - - perms => system("600"), - copy_from => mycopy("$(master_location)","$(policy_server)"), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - -@end verbatim -If a promise affects another promise in some way, you can make the affected -promise one of the promisees, like this: - -@verbatim - -access: - - "/master/cfengine/inputs" -> { "update_policy", "other_promisee" }, - - comment => "Grant access to policy to our clients", - handle => "serve_updates", - - admit => { "217.77.34.*" }; - -@end verbatim - -Conversely, if a promise might depend on another in some (even indirect) way, document this too. - -@verbatim - -files: - - "/var/cfengine/inputs" - - comment => "Update the configuration from a master server", - handle => "update_policy", - - depends_on => {"serve_updates"}, - - perms => system("600"), - copy_from => mycopy("$(master_location)","$(policy_server)"), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - - -@end verbatim - -Get into the habit of adding the cause-effect lines of influence. -Enterprise editions of CFEngine will track the dependencies between these -promises and map out impact analyses. - -@c ----------------------------------------------------------------------- -@c @node Containers, Decisions, Best practice for writing promises, A simple crash course in concepts -@c @section Containers - - -@c CFEngine allows you to group multiple promise statements into containers called bundles. -@c @smallexample - -@c bundle agent identifier - -@c @{ -@c commands: -@c -@c "/bin/echo These commands are a silly way to use CFEngine"; -@c "/bin/ls -l"; -@c "/bin/echo But they illustrate a point"; - -@c @} - -@c @end smallexample - -@c Bundles serve two purposes: they allow us to collect related promises under a -@c single heading, like a subroutine, and they allow us to mix configuration for different -@c parts of CFEngine in the same file. The type of a bundle is the name of the component -@c of CFEngine for which it is intended. - -@c For instance, we can make a self-contained example agent-server -@c configuration by labeling the bundles: - -@c @smallexample - -@c # -@c # Not a complete example -@c # - -@c bundle agent testbundle - -@c @{ -@c files: - -@c "/home/mark/tmp/testcopy" - -@c comment => "Throwaway example...", -@c copy_from => mycopy("/home/mark/LapTop/words","127.0.0.1"), -@c perms => system, -@c depth_search => recurse("inf"); - -@c @} - -@c # - -@c bundle server access_rules - -@c @{ -@c access: - -@c "/home/mark/LapTop" - -@c admit => @{ "127.0.0.1" @}; -@c @} - -@c @end smallexample - -@c Another type of container in CFEngine 3 is a `body' part. Body parts -@c exist to hide complex parameter information in reusable containers. -@c The right hand side of some attribute assignments use body containers -@c to reduce the amount of in-line information and preserve readability. -@c You cannot choose where to use bodies: either they are used or they -@c are not used for a particular kind of attribute. What you can choose, however, is -@c the name and number of parameters for the body; and you can make as many of them as you like: -@c For example: - -@c @smallexample - -@c body copy_from mycopy(from,server) - -@c @{ -@c source => "$(from)"; -@c servers => @{ "$(server)" @}; -@c copy_backup => "true"; - -@c special_class:: - -@c purge => "true"; -@c @} - -@c @end smallexample - -@c Notice also that classes can be used in bodies as well as parameters so that -@c you can hide environmental adaptations in these bodies also. The classes used -@c here are effectively ANDed with the classes under which the calling promise -@c is defined. - - -@c ------------------------------------------------------------------ -@c @node Decisions, Types in CFEngine 3, Containers, A simple crash course in concepts -@node Decisions, Types in CFEngine 3, Best practice for writing promises, A simple crash course in concepts -@section Decisions - -CFEngine decisions are made behind the scenes and the results of -certain true/false propositions are cached in Booleans referred to as -`classes'. There are no if-then-else statements in CFEngine; all -decisions are made with classes. - -CFEngine runs on every computer individually and each time it wakes up -the underlying generic agent platform discovers and classifies -properties of the environment or context in which it runs. This -information -is effectively cached and may be used to make decisions about -configuration. - -Classes fall into hard (discovered) and soft (user-defined) types. A -single hard class can be one of several things: - -@itemize @bullet - -@item The name of an operating system architecture e.g. -@code{ultrix}, @code{sun4}, etc. - -@item The unqualified name of a particular host. If your system -returns a fully -qualified domain name for your host, CFEngine truncates it at the -first dot. Note: @code{www.sales.company.com} and -@code{www.research.company.com} have the same unqualified name -- @code{www}. - -@item The name of a user-defined group of hosts. - -@item A day of the week (in the form @code{Monday, Tuesday, -Wednesday, ..}). - -@item An hour of the day, current time zone (in the form @code{Hr00, -Hr01 ... Hr23}). - -@item An hour of the day GMT (in the form @code{GMT_Hr00, GMT_Hr01 ... -GMT_Hr23}). -This is consistent the world over, in case you need virtual -simultaneity of change -coordination. - -@item Minutes in the hour (in the form @code{Min00, Min17 ... Min45}). - -@item A five minute interval in the hour (in the form @code{Min00_05, -Min05_10 ... Min55_00}) - -@item The quarter-hour (in the form @code{Q1, Q2, Q3, Q4}). - -@item A day of the month (in the form @code{Day1, Day2, ... Day31}). - -@item A month (in the form @code{January, February, ... December}). - -@item A year (in the form @code{Yr1997, Yr2004}). - -@item A shift in @code{Night,Morning,Afternoon,Evening}, which fall -into six hour blocks -starting at 00:00 hours. - -@item A `lifecycle index', which is the year number modulo 3 (used in -long term resource memory). - -@item An arbitrary user-defined string. - -@item The IP address octets of any active interface (in the form -@code{@w{ipv4_192_0_0_1}}, -@code{@w{ipv4_192_0_0}}, @code{@w{ipv4_192_0}}, @code{@w{ipv4_192}}). - -@end itemize - -@c chew end Hard classes - -To see all of the classes define on a particular host, run - -@smallexample -host# cf-promises -v -@end smallexample -as a privileged user. Note that some of the classes are set only -if a trusted link can be established with cfenvd, i.e. if both -are running with privilege, and the @file{/var/cfengine/state/env_data} -file is secure. More information about classes can be found in -connection with -@code{allclasses}. - -User-defined or soft classes are defined in bundles. Bundles of type -@code{common} yield classes that are global in scope, whereas in all -other bundle types classes are local. Soft classes are evaluated when -the -bundle is evaluated. They can be based on test functions or simply from -other classes: - -@verbatim - -bundle agent myclasses -{ -classes: - -"solinus" expression => "linux||solaris"; - -# List form useful for including functions - -"alt_class" or => { "linux", "solaris", fileexists("/etc/fstab") }; - -"oth_class" and => { fileexists("/etc/shadow"), fileexists("/etc/ -passwd") }; - -reports: - -alt_class:: - - # This will only report "Boo!" on linux, solaris, or any system - # on which the file /etc/fstab exists - "Boo!"; -} - -@end verbatim - -@noindent Classes may be combined with the operators listed here in order -from highest to lowest precedence: - -@table @samp -@item () -The parenthesis group operator. -@item ! -The NOT operator. -@item . -The AND operator. -@item & -The AND operator (alternative). -@item | -The OR operator. -@item || -The OR operator (alternative). -@end table - -@noindent -So the following expression would be only true on Mondays or Wednesdays -from 2:00pm to 2:59pm on Windows XP systems: - -@example - -(Monday|Wednesday).Hr14.WinXP:: - -@end example - -@noindent Consider the following more advanced example. Promises in bundles -of type @samp{common} are global in scope -- all other promises are local to -the scope of their bundle. - - -@verbatim - -body common control -{ -bundlesequence => { "g","ls_1", "ls_2" }; -} - -################################# - -bundle common g -{ -classes: - -# The promise "zero" is always satisfied , and is global in scope -"zero" expression => "any"; - -} - -################################# - -bundle agent ls_1 -{ -classes: - -# The promise "one" is always satisfied , and is local in scope to ls_1 -"one" expression => "any"; -} - -################################# - -bundle agent ls_2 -{ -classes: - -# The promise "two" is always satisfied , and is local in scope to ls_2 -"two" expression => "any"; - -reports: - -zero.!one.two:: - - # This report @b{will} be generated - "Success"; -} - -@end verbatim - -Here we see that class @samp{zero} is global while classes @samp{one} -and @samp{two} are local. -The report `Success' result is therefore true because only @samp{zero} -and @samp{two} are in scope in the @samp{ls_2} bundle (and the class -expression for bundle @samp{ls_2} requires that both @samp{zero} and -@samp{two} be true and that @samp{one} not be true). - -CFEngine is controlled by a series of locks which prevent it from -checking promises too often, and which prevent it from spending too -long trying to verify promises it already verified recently. The locks -work in such a way that you can start several CFEngine processes -simultaneously without them interfering with each other. You can -control two things about each kind of action in the action sequence: - -@table @samp - -@item ifelapsed -The minimum time (in minutes) which should have passed since the last time -that promise was verified. It will not be executed again until -this amount of time has elapsed. -(Default time is 1 minute.) - -@item expireafter -The maximum amount (in minutes) of time cf-agent should wait for an old -instantiation to finish before killing it -and starting again. (Default time is 120 minutes.) - -@end table - -@noindent -You can set these values either globally (for all -actions) or for each action separately. If you -set global and local values, the local values override -the global ones. All times are written in units -of @emph{minutes}. Global setting is in the control body: - -@verbatim - -body agent control -{ -ifelapsed => "60"; # one hour -} - -@end verbatim - -@noindent -or locally in the transaction bodies: - - -@verbatim - -body action example -{ -ifelapsed => "90"; # 1.5 hours -} - -@end verbatim - -These locks do not prevent the whole of cf-agent from running, only -atomic promise checks. Several different atoms can be run concurrently -by different cf-agents. The locks ensure that atoms will never be -started by two cf-agents at the same time, or too soon after a -verification, causing contention and wasting CPU cycles. - - -@c ----------------------------------------------------------------------- -@node Types in CFEngine 3, Datatypes in CFEngine 3, Decisions, A simple crash course in concepts -@section Types in CFEngine 3 - -A key difference in CFEngine 3 compared to earlier versions is the -presence of types. Types are a mechanism for associating -values and checking consistency in a language. Once again, there is a -simple pattern to types in CFEngine. - -The principle is very simple: types exist in order to match like a -plug-socket relationship. In the examples above, you can see two places -where types are used to match templates: - -@itemize -@item Matching bundles to components: -@smallexample - -bundle TYPE name # matches TYPE to running agent -@{ -@} - -@end smallexample - -@item Match bodies templates to lvalues in @code{lvalues => rvalue} constraints: - -@smallexample - -body TYPE name # matches TYPE => name in promise -@{ -@} - -@end smallexample -@end itemize - - -@c ----------------------------------------------------------------------- -@node Datatypes in CFEngine 3, Variables, Types in CFEngine 3, A simple crash course in concepts -@section Datatypes in CFEngine 3 - -CFEngine variables have two meta-types: scalars and lists. A scalar is a single value, -a list is a collection of scalars. Each scalar may have one of three types: -@code{string}, @code{int} or @code{real}. Typing is dynamic, so these are -interchangeable in many instances. However arguments to special functions check legal -type for consistency. - -Integer constants may use suffixes to represent large numbers. - -@itemize - @item 'k' - = value times 1000. - - @item 'K' - = value times 1024. - - @item 'm' - = value times 1000^2 - @item 'M' - = value times 1024^2 - @item 'g' - = value times 1000^3 - @item 'G' - = value times 1024^3 - - @item '%' - meaning percent, in limited contexts - - @item 'inf' - = a constant representing an unlimited value. -@end itemize - - -@c -------------------------------------------------------------------- -@node Variables, Loops, Datatypes in CFEngine 3, A simple crash course in concepts -@section Variables - -Variables (or "variable definitions") are also promises -- the promise to -represent their values. We can write these in -any promise bundle. CFEngine recognizes two variable object types: scalars and -lists (lists contain 0 or more objects)@footnote{Arrays can be scalars or lists of the RHS (rvalues). An array is really just a pattern in the names of the LHS (lvalues), not a separate type.}, as well as -three data-types (string, integer and real). Typing in CFEngine is -dynamic, as in -Perl and other scripting languages. Thus variables of any data-type -may be used as strings. - - -@menu -* Scalar variable expansion:: -* List variable substitution and expansion:: -* Special list value cf_null:: -* Arrays in CFEngine 3:: -@end menu - -@node Scalar variable expansion, List variable substitution and expansion, Variables, Variables -@subsection Scalar variable expansion - -Scalar variables hold a single value. The are declared as follows: - -@smallexample -bundle @i{} name -@{ -vars: - -"my_scalar" string => "String contents..."; - "my_int" int => "1234"; - "my_real" real => "567.89"; - -@} - -@end smallexample - -The @samp{@i{}} indicates that any kind of bundle applies here. -Scalar variables are referenced by @samp{$(name)} (or -@samp{$@{name@}}) and they represent -a single value at a time. - -@itemize -@item Scalars that are written without a context, e.g. @samp{$(myvar)} -are local to the current bundle. - -@item Scalars are globally available everywhere provided one -uses the context to verify them e.g. @samp{$(context.myvar)} -may be written to access the variable `myvar' in bundle `context'. -@end itemize - - -@c ----------------------------------------------------------------------- -@node List variable substitution and expansion, Special list value cf_null, Scalar variable expansion, Variables -@subsection List variable substitution and expansion - -List variables hold several values. The are declared as follows: - -@smallexample -bundle @i{} name -@{ -vars: - - "my_slist" slist => @{ "list", "of", "strings" @}; - "my_ilist" ilist => @{ "1234", "5678" @}; - "my_rlist" rlist => @{ "567.89" @}; - -@} - -@end smallexample -An entire list is referred to with the at symbol @samp{@@}, but it does -not usually make sense to use this reference in a string. For instance -@smallexample - -reports: - - cfengine_3:: - - "My list is @@(my_slist)"; - -@end smallexample -@noindent means nothing and cannot be expanded (it does not generate an -error, but instead inserts the text @@(my_slist) into the string); but if -we use the scalar reference to a list variable, CFEngine will iterate over -the values in -the list essentially making this into a list of promises. - -@noindent To summarize: -@itemize - -@item Scalar references to @i{local} list variables imply iteration, -e.g. -suppose we have local list variable @samp{@@(list)}, then the -scalar @samp{$(list)} implies an iteration over every value of the -list. - - -@item Lists can be passed in their entirety in any context -where a list is expected as @samp{@@(list)}., e.g. - -@verbatim - -vars: - -"longlist" slist => { @(shortlist), "plus", "plus" }; - -"shortlist" slist => { "you", "me" }; - -@end verbatim - -The declaration order does not matter -- CFEngine will execute the promise -to assign the variable @samp{@@(shortlist)} before the promise to assign the -variable @samp{@@(longlist)}. - -@item Only local lists can be expanded directly. Thus @samp{$(list)} -can be expanded but not @samp{$(context.list)}. Global -list references have to be mapped into a local context if you want to -use them for iteration. -@end itemize - -Instead of doing this in some -arbitrary way, with possibility of name collisions, CFEngine -asks you to make this explicit. There are two possible approaches. - -The first uses parameterization to map a global list into a local -context. -@verbatim - -# -# Show access of external lists. -# -# - to pass lists globally, use a parameter to dereference them -# - -body common control -{ -bundlesequence => { hardening(@(va.tmpdirs)) }; -} - -######################################################### - -bundle common va -{ -vars: - - "tmpdirs" slist => { "/tmp", "/var/tmp", "/usr/tmp" }; - -} - -########################################################## - -bundle agent hardening(x) -{ -classes: - - "ok" expression => "any"; - -vars: - - "other" slist => { "/tmp", "/var/tmp" }; - -reports: - - ok:: - - "Do $(x)"; - "Other: $(other)"; -} - -@end verbatim - -This alternative uses a direct `short-circuit' approach to map the global -list into the local context. - -@verbatim -# -# Show access of external lists. -# - -body common control -{ -bundlesequence => { hardening }; -} - -######################################################### - -bundle common va -{ -vars: - - "tmpdirs" slist => { "/tmp", "/var/tmp", "/usr/tmp" }; - -} - -########################################################## - -bundle agent hardening -{ -classes: - - "ok" expression => "any"; - -vars: - - "other" slist => { "/tmp", "/var/tmp" }; - "x" slist => { @(va.tmpdirs) }; - -reports: - - ok:: - - "Do $(x)"; - "Other: $(other)"; -} -@end verbatim - - -@c ----------------------------------------------------------------------- -@node Special list value cf_null, Arrays in CFEngine 3, List variable substitution and expansion, Variables -@subsection Special list value @code{cf_null} - -As of CFEngine core version 3.1.0, the value @samp{cf_null} may be used as a NULL -value within lists. This value is ignored in list variable expansion. - -@verbatim - -vars: - - "empty_list" slist => { "cf_null" }; - -@end verbatim - - -@c ----------------------------------------------------------------------- -@node Arrays in CFEngine 3, , Special list value cf_null, Variables -@subsection Arrays in CFEngine 3 - -Array variables are written with @samp{[} and @samp{]} brackets, e.g. - -@verbatim - -bundle agent example - -{ -vars: - - "component" slist => { "cf-monitord", "cf-serverd", "cf-execd" }; - - "array[cf-monitord]" string => "The monitor"; - "array[cf-serverd]" string => "The server"; - "array[cf-execd]" string => "The executor, not executioner"; - -commands: - - "/bin/echo $(component) is" - - args => "$(array[$(component)])"; - -} - -@end verbatim - -Arrays are associative and may be of type scalar or list. Enumerated -arrays are simply treated as a special case of associative arrays, since -there are no numerical loops in CFEngine. Special functions exist to -extract lists of keys from array variables for iteration purposes. - -Thus one could have written the example above in the form of the -following example: - -@verbatim - -bundle agent array - -{ -vars: - - "v[index_1]" string => "value_1"; - "v[index_2]" string => "value_2"; - - "parameter_name" slist => getindices("v"); - -reports: - - Yr2008:: - - "Found index: $(parameter_name)"; - -} - -@end verbatim - - -@c ------------------------------------------------------------------ -@node Loops, The main promise types, Variables, A simple crash course in concepts -@section Loops -If you are looking for loops in CFEngine then we need to reprogram you -a little, as you are thinking like a programmer! CFEngine is not a -programming language that is meant to give you low level control, but -rather a set of declarations that embody processes. It's the difference -between the gears on a bicycle and the automated transmission in a -transporter. - -Loops are executed implicitly in CFEngine, but there is no visible -mechanism for it -- because that would steal attention from the -intention of the promises. The way to express them is through lists. - -Loops are really a way to iterate a variable over a list. Try the -following. - -@verbatim - -body common control - -{ -bundlesequence => { "example" }; -} - -########################################################### - -bundle agent example - -{ -vars: - -# This is a list - -"component" slist => { "cf-monitord", "cf-serverd", "cf-execd" }; - -# This is an associative array - -"array[cf-monitord]" string => "The monitor"; -"array[cf-serverd]" string => "The server"; -"array[cf-execd]" string => "The executor, not executionist"; - -reports: - -cfengine_3:: - -"$(component) is $(array[$(component)])"; - -} - -@end verbatim -The output looks something like this: -@smallexample - -/var/cfengine/bin/cf-agent -f ./unit_loops.cf -K - -R: cf-monitord is The monitor -R: cf-serverd is The server -R: cf-execd is The executor, not executionist - -@end smallexample -You see from this that, if we refer to a list variable using the -scalar reference -operator @samp{$()}, CFEngine interprets this to mean ``please iterate -over all -values of the list''. Thus, we have effectively a `foreach' loop, without the -attendant syntax. - -@c --------------------------------------------------------------------------- -@node The main promise types, Test a promise?, Loops, A simple crash course in concepts -@section The main promise types - -@noindent The following promise types may be used in any bundle: -@table @code -@item vars -A promise to be a variable, representing a value. -@item classes -A promise to be a class representing a state of the system. -@item reports -A promise to report a message. -@end table - -@noindent These additional promise types may be used only in agent bundles -@table @code -@item commands -A promise to execute a command. -@item databases -A promise to configure a database. -@item files -A promise to configure a file, including its existence, attributes and -contents. -@item interfaces -A promise to configure a network interface. -@item methods -A promise to take on a whole bundle of other promises. -@item packages -A promise to install a package. -@item storage -A promise to verify attached storage. -@end table - -@noindent These promise types belong to other components: -@table @code -@item access -A promise to grant or deny access to file objects in @code{cf-serverd}. -@item measurements -A promise to measure or sample data from the system, for monitoring or -reporting in @code{cf-monitord} (CFEngine Nova and above). -@item roles -A promise to allow certain users to activate certain classes when -executing @code{cf-agent} remotely, in @code{cf-serverd}. -@item topics -A promise to associate knowledge with a name, and possibly other -topics, in @code{cf-know}. -@item occurrences -A promise to point or refer to a knowledge resource, in @code{cf-know}. -@end table - - -@c --------------------------------------------------------------------------- -@node Test a promise?, , The main promise types, A simple crash course in concepts -@section Test a promise? - -If you are impatient to get hands-on experience, now might be a good time to take a break from Concepts and try out your first promises (@url{http://cfengine.com/manuals/cf3-tutorial.html#First-promises}. Still, since knowledge management is an integral part of CFEngine, we strongly recommend to read the following section on this very issue sooner rather than later. - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** -@node Knowledge Management, , A simple crash course in concepts, Top -@chapter Knowledge Management - - -A unique aspect of CFEngine, that is fully developed in the commercial -editions of the software, its ability to enable integrated knowledge -management as part of an automation process, and to use its configuration -technology as a `semantic' documentation engine. - -@image{topicmap,15cm,,,png} - -Knowledge management is the challenge of our times. Organizations -frequently waste significant effort re-learning old lessons because they have -not been documented and entered into posterity. Now you can alleviate -this problem with some simple rules of thumb and even build -sophisticated index-databases of documents. - - -@menu -* Promises and Knowledge:: -* The basics of knowledge:: -* Annotating promises:: -* A promise model of topic maps:: -* What topic maps offer:: -* The nuts and bolts of topic maps:: -* Example of topics promises:: -* Modeling configuration promises as topic maps:: -@end menu - -@node Promises and Knowledge, The basics of knowledge, Knowledge Management, Knowledge Management -@section Promises and Knowledge - -The learning curve for configuration management systems has been the -brunt of frequent criticism over the years. Users are expected to either -confront the informational complexity of systems at a detailed level, or -abandon the idea of fine control altogether. This has led either to -information overload or over-simplification. The ability to cope with -information complexity is therefore fundamental to IT management - -CFEngine introduced the @emph{promise model} for configuration in -order to flatten out this learning curve. It can lead to -simplifications in use, because a lot of the thinking has been done -already and is encapsulated into the model. One of its special -properties is that it is both a model for system behaviour and a model -for knowledge representation (this is what declarative languages seek -to be, of course). More specifically, it incorporated a subset of the -ISO standard for `Topic Maps', an open technology for semantic -indexing of information resources. By bringing together these two -technologies (which are highly compatible), we end up with a seamless -front-end for sewing together and browsing system information. - -Knowledge management is a field of research in its own right, and it -covers a multitude of issues both human and technological. Most would -agree that knowledge is composed of facts and relationships and that -there is a need both for clear definitions and semantic context to -interpret knowledge properly; but how do we attach @emph{meaning} to -raw information without ambiguity? - -Knowledge has quite a lot in common with configuration: what after all -is -knowledge but a configuration of ideas in our minds, or on some -representation medium (paper, silicon etc). It is a coded pattern, -preferably one that we can agree on and share with others. Both -knowledge and configuration management are about describing patterns. -A simple knowledge model can be used to represent a policy or -configuration; conversely, a simple model of policy configuration can -manufacture a knowledge structure just as it might manufacture -a filesystem or a set of services. - - -@node The basics of knowledge, Annotating promises, Promises and Knowledge, Knowledge Management -@section The basics of knowledge - -Knowledge only truly begins when we write things down: - -@itemize -@item The act of formulating something in writing brings a discipline -of thought than often lends clarity to an idea. -@item You never confront an idea fully until you try to put it into -language. -@item Any written record that is kept allows others to read it and -pass on the knowledge. -@end itemize - -The trouble is that writing is something people don't like to do, and -few are very good at. To an engineer, it can feel like a waste of -time, especially during a busy day, to break off from the doing to -write about the doing. Also, writing requires a spurt of creative -thinking and engineers are often more comfortable with manipulating -technical patterns and notations than writing fluent linguistic -formulations that seem overtly long-winded. - -CFEngine tries to bridge this gap by making documentation simple and -part of the technical configuration. CFEngine's knowledge agent then -uses AI and network science algorithms to construct a readable -documentation from these technical annotations. It can do this because -a lot of thought has already gone into the meaning of the promise -model. - -@node Annotating promises, A promise model of topic maps, The basics of knowledge, Knowledge Management -@section Annotating promises - -The beginning of knowledge is to annotate the technical specifications. -Remember that the point of a promise is to convey an @i{intention}. -When writing promises, get into the habit of giving every promise a -comment that explains its intention. Also, expect to give special -promises -@i{handles}, or helpful labels that can be used to refer to them in -other -promise statements. A handle could be something dumb like `xyz', but -you should -try to use more meaningful titles to help make references clear. - -@verbatim - -files: - -"/var/cfengine/inputs" - - handle => "update_policy", - comment => "Update the CFEngine input files from the policy server", - perms => system("600"), - copy_from => rcp("$(master_location)","$(policy_server)"), -depth_search => recurse("inf"), -file_select => input_files, - action => immediate; - -@end verbatim -@noindent If a promise affects another promise in some way, you can -make the affected one -promise one of the promisees, like this: - -@verbatim - -access: - -"/master/CFEngine/inputs" -> { "update_policy", "other_promisee" }, - -handle => "serve_updates", - admit => { "217.77.34.*" }; - -@end verbatim - -@noindent Conversely, if a promise might depend on another in some -(even indirect) way, document this too. - -@verbatim - -files: - -"/var/cfengine/inputs" - - handle => "update_policy", - comment => "Update the CFEngine input files from the policy -server", - depends_on => { "serve_updates" }, - perms => system("600"), - copy_from => rcp("$(master_location)","$(policy_server)"), -depth_search => recurse("inf"), -file_select => input_files, - action => immediate; - -@end verbatim - -@noindent This use of annotation is the first level of documentation -in CFEngine. -The annotations are used internally by CFEngine to provide meaningful -error messages with context and to compute dependencies that reveal -the existence of process chains. These can be turned into a topic map -for browsing the policy relationships in a web browser, using -@code{cf-know}. - - -@cartouche -The CFEngine Knowledge Map is only available in commercial editions -of the software, where the necessary support to set up and maintain -this technology can be provided. -@end cartouche - - -@node A promise model of topic maps, What topic maps offer, Annotating promises, Knowledge Management -@section A promise model of topic maps - -CFEngine's model of promises can also be used to promise information -and its relevance in different contexts. The Knowledge agent @code{cf-know} -understands three kinds of promise. - -@table @code -@item topics: -A topic is merely a string that can be associated with another string. It represents a `subject to be talked about'. -Like other promise types, you can use contexts, which are formed from other topics expressions to limit the scope of -the current topic promise. -@item things: -Things are a simplified interface to topics, that were introduced to make it easier -for users to contribute knowledge about more concrete `things', or less abstract ideas. -A challenge with knowledge management is the abstract and technical nature of the models -one must use to represent it. Things attempt to make that task easier. -@item occurrences: -An occurrence is a reference to a document or a piece of text that actually represents -knowledge content about the topic concerned. Occurrences are generally URLs or strings -explaining things or topics. -@end table - -@node What topic maps offer, The nuts and bolts of topic maps, A promise model of topic maps, Knowledge Management -@section What topic maps offer - -CFEngine is capable of automating the documentation of a policy, using basic annotations provided above, as a -knowledge map. They require very little effort from the user. If you -are using the Community Edition of CFEngine, you can develop a topic -map, but we do not support the backend technology without a -commercial license. In either case, once you become familiar with the -use of Topic Maps, you will want to extend your knowledge manually to -incorporate things like: - -@itemize -@item Local (high level) policy documents -@item Related databases, such as CMDBs -@end itemize - -@noindent So let us spend a while showing how to encode knowledge in -topic maps -using @code{cf-know}. - -The kind of result you can expect is shown in the pictures below. The -example figures show typical pages generated by the knowledge agent -@code{cf-know}. The first of these shows how we use the technology to -power the web knowledge base in the commercial CFEngine product. - -In this use, all of the data are based on documentation for -the CFEngine software, and most of the relationships are manually -entered. - -For a second example, consider how CFEngine can generate such a -knowledge map analysis of its own configuration (self-analysis). The -data in the images below describe the CFEngine configuration -promises. One such page is generated, for instance, for each policy -promise, and pages are generated for reports from different computers -etc. You can also create you own `topic pages' for any local -(enterprise) information that you have. - -In this example, the promise has been given the promise-handle -@code{update_policy}, and the associations and the lower graph shows -how this promise relates to other promises through its documented -dependencies (these are documented from the promisees and -@code{depends_on} attributes of other promises.). - -The example page shows two figures, one above the other. -The upper figure shows the thirty nearest topics (of any kind) that -are related to this one. -Here the relationships are unspecific. This diagram can reveal -pathways to related information -that are often unexpected, and illustrates relationships that broaden -one's understanding -of the place the current promise occupies within the whole. - -Although the graphical illustrations are just renderings of -semantic associations shown more fully in text, they are useful for -visualizing -several levels of depth in the associative network. This can be -surprisingly useful for brainstorming and reasoning alike. In -particular, one can see the other promises that could be affected if -we were to make a change to the current promise. Such impact analyses -can be crucial to planning change and release management of policy. - - - -@cartouche - -A knowledge base is a slightly improved implementation of a Topic Map which is an ISO -standard technology. A topic map works like an index that can point to -many different kinds of external resources, and may contain simple -text and images internally. So you use it to bind together documents -of any kind. A CFEngine knowledge base is not a new document format, it -is an overlay map that joins ideas and resources together, and -displays relationships. - -@end cartouche - - - - -@node The nuts and bolts of topic maps, Example of topics promises, What topic maps offer, Knowledge Management -@section The nuts and bolts of topic maps - - -@menu -* Topic map definitions:: -@end menu - -@node Topic map definitions, , The nuts and bolts of topic maps, The nuts and bolts of topic maps -@subsection Topic map definitions - -Topic maps are really electronic indices, but they form and work like -webs. -A topic is the technical representation of a `subject', i.e. anything -you might want -to discuss, abstract or physical e.g. an item of `abstract -knowledge', which probably has a number of concrete exemplars. It -might be a person, a machine, a quality, etc. - -Topics can be classified into boxes called @emph{topic-types} so that -related -things can be collated and unrelated things can be separated, e.g. -types allow us to distinguish between @code{rmdir} the Unix utility -and @code{rmdir} the Unix system-call. - -Each typed topic can further point to a number of references or -exemplars called @emph{occurrences}. For instance, an occurrence of -the topic `computer' might include books, web documents, database -entries, physical manifestations, or any other information. An -occurrence is a reference that exemplifies the abstract -topic. Occurrence references are like the page numbers in an -index. - - -A book index typically has `see also' references which point from one -topic to another. -Topic Maps allow one to define any kind of @emph{association} between -topics. Unlike an ordinary index, a topic map has a rich (potentially -infinite) variety of cross reference types. -For instance, -@smallexample -topic_1 ``is a kind of'' topic_2 -topic_1 ``is improved by'' topic 2 -topic_1 ``solves the problem of'' topic_2 -@end smallexample - -@noindent The topic map model thus has three levels of containers: - -@table @emph -@item Contexts -The box into which we classify a topic to disambiguate different -topics with the same name (`in the context of')@footnote{Here, CFEngine differs from the topic map standard in allowing contexts -to be overlapping sets, rather than mutually exclusive `types'. -CFEngine is guided by Promise Theory in this respect in order to enable -distributed cooperation and the development of a free and emergent ontology.}. - -@item Topics/Things -The representation of a subject (an index term). - -@item Occurrence Types -A term that explains how an actual document occurrence relates -to the topic is claims to say something about. e.g. (tutorial, manual, -or -example, definition, photo-album etc). - -@item Occurrences -Specific information resources: these are pointers to the actual -documents -that we want to read (like page numbers in an index). -@end table - - -Contexts map conveniently into CFEngine classes. -Topics map conveniently into promisers. -Occurrences also map to promisers of a different type. -These three label different levels of granularity of meaning. Contexts -represent a set of topics that might be relevant, which in turn encompass a set of -occurrences of resources that contain actual information about the topics in that context. The primacy of topics in this -stems from their ability to form networks by @emph{association}. - -The classic approach to information modeling is to build a -hierarchical decomposition of non-overlapping objects. Data are -manipulated into non-overlapping containers which often prove -to be overly restrictive. Topic maps allow us to avoid the kinds of -mistakes that have led to monstrosities like the Common Information -Model (CIM) with its @emph{thousands} of strictly non-overlapping type -categories. - -Each topic allows us to effectively `shine a light' onto the -occurrences of information that highlight the concepts pertinent to -the topic somehow. - - -@node Example of topics promises, Modeling configuration promises as topic maps, The nuts and bolts of topic maps, Knowledge Management -@section Example of topics promises - -You can use @code{cf-know} to render a topic map either as text (for -command line -use) or as HTML (for web rendering). We begin with the text rendering -as it requires less -infrastructure. You will just need a database. - -Try typing in the following knowledge promises: - -@smallexample - -body common control -@{ -bundlesequence => @{ "tm" @}; -@} - -################################################### - -bundle knowledge tm -@{ -topics: - - -"server" comment => "Common name for a computer in a desktop"; -"desktop" comment => "Common name for a computer for end users"; - -programs:: # context of programs - -"httpd" comment => "A web service process"; -"named" comment => "A name service process"; - -services:: - -"WWW" comment => "World Wide Web service", - association => a("is implemented by", - "programs::httpd", - "implements"); - - # if we don't specify a context, it is "any" - -"WWW" association => a("looks up addresses with", - "named", - "serves addresses to"); - -occurrences: - -httpd:: - "http://www.apache.org" - represents => @{ "website" @}; - -@} - -################################################### - -body association a(f,name,b) - -@{ -forward_relationship => "$(f)"; -backward_relationship => "$(b)"; -associates => @{ $(name) @}; -@} -@end smallexample - -@noindent The simplified things interface is similar, but uses fixed relations: - -@verbatim -bundle knowledge company_knowledge -{ -things: - regions:: - - "EMEA" comment => "Europe, The Middle-East and Africa"; - "APAC" comment => "Asia and the Pacific countries"; - - countries:: - "UK" synonyms => { "Great Britain" }, - is_located_in => { "EMEA", "Europe" }; - - "Netherlands" synonyms => { "Holland" }, - is_located_in => { "EMEA", "Europe" }; - - "Singapore" is_located_in => { "APAC", "Asia" }; - - locations:: - "London_1" is_located_in => { "London", "UK" }; - "New_Jersey" is_located_in => { "USA" }; - - networks:: - - "192.23.45.0/24" comment => "Secure network, zone 0. Single octet for corporate offices", - is_connected_to => { "oslo-hub-123" }; - -@end verbatim - -@menu -* Analyzing and indexing the policy:: -* cf-know:: -@end menu - -@node Analyzing and indexing the policy, cf-know, Example of topics promises, Example of topics promises -@subsection Analyzing and indexing the policy - -CFEngine can analyze the promises you have made, index and cross -reference them using the command: - -@verbatim -# cf-promises -r -@end verbatim -Normally, the default policy in Nova/Enterprise will perform this -command each time the policy is changed. - -@node cf-know, , Analyzing and indexing the policy, Example of topics promises -@subsection @code{cf-know} - -CFEngine's knowledge agent @code{cf-know} allows you to make promises -about knowledge and its inter-relationships. It is not specifically a -generic topic map language: rather it provides a powerful configuration -language for managing a knowledge base that can be compiled into a -topic map. - -To build a topic map from a set of knowledge promises in @file{knowledge.cf}, you would write: - -@verbatim -# cf-know -b -f ./knowledge.cf -@end verbatim - -The syntax of this file is hinted at below. -The full ISO standard topic map model is too rich to be a useful tool -for system knowledge management. However, this is where powerful -configuration management can help to simplify the process: encoding a -topic map is a complex problem in configuration, which is exactly what -CFEngine is for. CFEngine's topic map promises have the following -form: - -@smallexample - -bundle knowledge example -@{ -topics: - -topic_type_context:: # canonical container - -"Topic name" # short topic name - - comment => "Use this for a longer description", - association => a("forward assoc to","Other topic","backward assoc"); - - "Other topic"; - -occurrences: - -Topic_name:: # Topic - - "http://www.example.org/document.xyz" # URI to instance - - represents => @{ "Definition", "Tutorial"@}; # sub-types -@} - -@end smallexample -The association body templates look like this: -@verbatim - -body association a(f,name,b) -{ -forward_relationship => "$(f)"; -backward_relationship => "$(b)"; -associates => { $(name) }; -} - -@end verbatim - - - -@cartouche - -Promise theory adds a clear structure to the topic map ontology, which -is highly beneficial as experience shows that weak conceptual models -lead to poor knowledge maps. - -@end cartouche - - -@node Modeling configuration promises as topic maps, , Example of topics promises, Knowledge Management -@section Modeling configuration promises as topic maps - -We can model topic maps as promises within CFEngine; the -question then remains as to how to use topic maps to model -configurations so that CFEngine users can navigate the documented -promises using a web browser and be able to see all of the -relationships between otherwise isolated and fragmentary rules. This -will form the basis of a semantic Configuration Management Database -(sCMDB) for the CFEngine software. The key to making these ends meet -is to see the configuration of the topic map as a number öf promises -made in the abstract space of topics and the turning each promise into -a meta-promise that models the configuration as a topic with attendant -associations. Consider the following CFEngine promise. - -@verbatim - -bundle agent update -{ -files: - -any:: - -``/var/cfengine/inputs'' -> { ``policy_team'', ''dependent'' }, - - comment => ``Check policy updates from source'', - perms => true, - mode => 600, - copy_from => true, - copy_source => /policy/masterfiles, - compare => digest, - depth_search => true, - depth => inf, - ifelapsed => 1; - -} -@end verbatim - -This system configuration promise can be mapped by CFEngine into a -number of other promise proposals intended for the @code{cf-know} -agent. Suppressing some of the details, we have: - -@verbatim - -type_files:: - -"/var/cfengine/inputs" - association => a("promise made in bundle","update","bundle -contains promise"); -"/var/cfengine/inputs" - association => a("specifies body type","perms","is specified in"); -"/var/cfengine/inputs" - association => a("specifies body type","mode","is specified in"); -"/var/cfengine/inputs" - association => a("specifies body type","copy_from","is specified -in"); - -# etc ... - -occurrences: - -_var_CFEngine_inputs:: - - "promise_output_common.html#promise__var_CFEngine_inputs_update_cf_13" - represents => { "promise definition" }; - -@end verbatim -Note that in this mapping, the actual promise (viewed as a real world -entity) is an occurrence of the topic `promise'; at the same time each -promise could be discussed as a different topic allowing -meta-modeling of the entity-relation model in the real-world -data. Conversely the topics themselves become configuration items or -`promisers' in the promise model. The effect is to create a navigable -semantic web for traversing the policy; this documents the structure -and intention of the policy using a small ontology of standard -concepts and can be extended indefinitely by human domain experts. - - - - - -@chapter More... - -@cartouche - -You will find extensive help, examples and documentation as part of -the commercial CFEngine support. Visit the website @url{http://www.cfengine.com} for more -details. - -@end cartouche - -@noindent Need help getting started? -@itemize -@item CFEngine Installation: @url{http://cfengine.com/manuals/cf3-installation.html} -@item Get started, first promises: @url{http://cfengine.com/manuals/cf3-tutorial.html#First-promises} -@end itemize - -@noindent For a complete overview: -@itemize -@item Tutorial: @url{http://cfengine.com/manuals/cf3-tutorial.html} -@item Reference manual: @url{http://cfengine.com/manuals/cf3-Reference.html} -@end itemize - - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/cf3-enterprise.texinfo b/docs/guides/cf3-enterprise.texinfo deleted file mode 100644 index 933f34c84c..0000000000 --- a/docs/guides/cf3-enterprise.texinfo +++ /dev/null @@ -1,3602 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-enterprise.info -@settitle CFEngine and Enterprise Processes -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine and Enterprise Processes -@subtitle A CFEngine AS workbook -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Enterprise integration, (dir), (dir) -@top CFEngine-Enterprise-Manual -@end ifnottex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml -@iftex -@contents -@end iftex - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - - -@menu -* Enterprise integration:: -* CFEngine past and present:: -* ITIL past and present:: -* A meeting of mind-sets:: -* Using CFEngine to implement ITIL objectives:: -* Summary:: -* ITIL glossary:: -@end menu - -@c ********************************************************************** -@node Enterprise integration, CFEngine past and present, Top, Top -@chapter Enterprise Integration - -@menu -* Business alignment:: -* ITIL introduced:: -* Business processes and goals:: -* About Promises:: -* Is automation worthwhile?:: -@end menu - -@c ********************************************************************** -@node Business alignment, ITIL introduced, Enterprise integration, Enterprise integration -@section Business alignment - -The goal of most IT installations is to work as a support -infrastructure for some other primary activity, such as the running of -a business or other organization. Even if the primary activity is the -design of computer systems, or the writing of software, the supporting -infrastructure is a tool whose management is in principle separate -from the main business goals. As organizations become larger, the -management of the IT system and other ancillary activities frequently -become isolated from ``front line'' activities. - -IT infrastructure is an enabler, so it is important to ensure that it -succeeds in this task. How do we do this? This document is about how -to make CFEngine-management best support primary business or organizational -processes. - -We write this document in the light to two trends: the demotion of -system administration as a job description and the rise of service -oriented thinking to replace it, along with monolithic design -philosophy of systems. Service orientation is not so much a -technological innovation as it is a different kind of social -structure. It is a move away from hierarchy as the main model of -organization, toward generalized network structure. In computer -parlance, service orientation is essentially a peer to peer -structure. There are no automatic kings or commanders in chief, only -peers who need help from other peers. If such key positions arise, -they emerge naturally by necessity, not by presumption. - -For example, in the 1960s factory work in the United Kingdom was -organized hierarchically with powerful unions attending to a dutiful -``separation of concerns'', much like an idealized object oriented -system. To build a ship, one would have to ask the management to ask -panel producers for panels, then when they were finished they would -send the message back up the hierarchy so that management would -schedule the welders to arrive, then the painters and so on. Much -delay and inefficiency was caused by this organizational bureaucratic -structure. - -Although this behaviour persists to a lesser extent, today we use more -direct communication between the parts that need to connect and so -save much time and overhead. This service oriented thinking can be -applied to computing services, their organization and even the support -of those computing services. The service model can be applied at all -levels. - -In the late 1980s it was realized that a service oriented view of -management could profitably be formalized so as to be of benefit to -all organizations. This began the Information Technology -Infrastructure Library, building on the experience of leaders in -government and industry, including organizations such as the British -Broadcasting Corporation, the office of Government Commerce and others. - -@c ********************************************************************** -@node ITIL introduced, Business processes and goals, Business alignment, Enterprise integration -@section ITIL introduced - -The IT Infrastructure Library (ITIL) has emerged as a de-facto set -of ideas about service delivery. It is not based on any theoretical -model or design criteria. It is rather a set of self-proclaimed @emph{best -practices} compiled by representatives from government and industry. -As such its claims can be discussed, but we shall not do so here. -We shall refer to ITIL because it has become a popular set of -guidelines for all manner of IT organizations, and because it promotes -the idea of IT-business @emph{alignment}. - -ITIL was an important source of concepts and processes documented in -the following British and ISO standards: - -@itemize -@item BS 15000 -@item ISO/IEC 20000 (successor of BS 15000) -@end itemize - -ITIL now encompasses various books and courses and has its own -qualification scheme allowing for a certification of Service Managers - or IT staff. - -The key concepts of ITIL include @emph{service and process orientation}, and -service orientation is an important model for system organization -because it can encompass everything from the monolithic hierarchical -systems of yesteryear to modern day peer to peer architectures which -better mirror a free-market economic business interaction. It can be -applied to computer-provided services (e.g. web services, or even -configuration operations like CFEngine) or it can be applied to human -services and operations such as help desks and support. This makes it -an important centre-piece in the discussion. - -ITIL has its own particular terminology for discussing service related -matters. To relate these to the use of a technology such as CFEngine -we need to understand the words and how they are used. ITIL uses many -terms and phrases in a different way to system -administrators. - -The verb ``to manage'' originally meant ``to cope''. Only more recently -has strategic thinking changed it into a transitive verb: something that -we do to systems, like driving a car, or flying a plane. - -Today the term ``management'' signifies the introduction of a -bureaucratic level of governance, to control and verify the workings -of a system. The terminology this has come about mainly because -the people who wrote ITIL live in that kind of world and understand -things through these eyes. Ironically, computer engineers now speak -of ``self-management'' and ``autonomics'' to recover the original -idea of systems that can cope. - -In this document we have two principal aims: -@itemize -@item To explain a number of -patterns for using CFEngine to allow systems to cope with business -needs. - -@item To demystify ITIL for technicians and -engineers who do not naturally respond to business-speak, -relating CFEngine's capabilities (both the technical aspects that are -well known and the non-technical aspects of instrumentation and -reporting that are less well known) to the goals of ITIL. -@end itemize - - -@c ********************************************************************** -@node Business processes and goals, About Promises, ITIL introduced, Enterprise integration -@section Business processes and goals - -What do we need to make a business? Do we need a demand for a -``product'', a workflow to implement it, a supply (chain) -mechanism for selling it to a market? It turns out that the service -abstraction is a paradigm that fits all enterprises without too much -shoe-horning. - -Businesses have probably many goals in their grand designs: they have -high level visions, notions of secure and best practices, sometimes -even ethical policies. All of these can be couched in the language of -promises to behave in some way. - -Now, we can ask: what does it mean to align an IT infrastructure to -this business goal to provide @i{S}? First, for IT systems to have any -impact on the business goal at all, the business must rely on the IT -system in some way. This could either be directly, in the manner of an -e-commerce web-site, or it might be indirectly, for instance by -providing drawing and modelling software in an architect's office. In -either case there is a workflow in which an IT system plays an -intermediary role in the workflow process. - -In fact, it does not matter whether this is an IT system, a human being -or a steam-powered engine. What is key is that there is a technology -playing an intermediate role in the performance of a service. -We can display this as the workflow diagram shown by -the dotted lines in the figure. -The business @i{B} would like to provide service @i{S} to its customer @i{C}; -in actuality this requires the help of intermediary @i{I}. - -@image{intermediate,10cm,,Intermediate agent,png} - -Inserting an intermediate agent into a business process. The dotted -lines show a work flow path. The arc shows a promise the business -would like to make to the end customer -- but promise theory says that -it cannot if it does not have direct contact. - -Promise theory has several implications, and one of them is that an -agent cannot promise something @emph{with confidence} to an agent it is -not directly in contact with. This is because agents can only vouch -for their own behaviour. They cannot promise what an intermediate -agent would do. This has implications for the business. - -Suppose a business want to make a promise to its customer, but knows -that it must rely on intermediaries (the IT department for example) to -do so. Promise theory tells us that the business representative making -the promise requires promises from every intermediate agent in the -chain, and each of the agents in that chain require promises from down -the chain too. - -It is beyond the scope of this document to explain all of those -promises. What CFEngine allows a business to do is to automate many -of those promises -- or make them @emph{autonomic} (self-managing). - -@menu -* Teams control structures and collaboration:: -@end menu - -@c ********************************************************************** -@node Teams control structures and collaboration, , Business processes and goals, Business processes and goals -@subsection Teams and collaboration - -Humans are poor at reliable, repetitive work but they are infinitely -superior at creative work and decision-making. Modern theory on -success in business rejects the classic views of management with -militarized or bureaucratized chains of command and -control in favour of more human-creative -structures. Creative and adaptive workflow requires high level of -decentralization and autonomy, while at the same time protecting the -core values of the organization. - -Team work is a key element in decentralized organization -- both for -humans and computers. IT departments are often organized in this way, -for instance. Teams do not exist because they maximize production of -every individual, nor do they make an organization more predictable or -controllable. They exist because humans need continual motivation and -emotional support -- and indirectly this sustains workflow and adds -creativity to a business. One often overlooks the team-aspect of -coping when considering computer management, in favour of hierarchical -design. CFEngine does not force us into hierarchical systems however, -so we should not discard the smaller team idea too soon. - -@image{hierarchy,10cm,,Hierarchy has long traditions but modern thinking favours teams.,png} - -CFEngine is complex enough for it to make sense to delegate -responsibility for different issues. An organization will generally -consist of many groups and teams already, each with their own special -needs and each craving its own autonomy. CFEngine and promise theory -were designed for precisely this kind of environment. CFEngine allows -cooperation and sharing without allowing central managers to ride -roughshod over local needs. - -Teams thrive by discussion and interaction within the framework of a -policy or vision, allowing variation and arriving at a consensus when -necessary. Success in a team depends on a combination of abilities -working together not undermining one another. Conflicts in the -promises made by team members reveal design problems in the group. An -analysis of promises (CFEngine's model of collaboration) is a -significant tool for understanding and enabling businesses. - -M. Belbin a researcher in teamwork has identified nine abilities or -roles (kinds of promise) to be played in a team collaboration: - -@enumerate -@item Plant -- a creative ``ideas'' person who solves problems. - -@item Shaper -- this is a dynamic member of the team who thrives on -pressure and has the drive and courage to overcome obstacles. - -@item Specialist -- someone who brings specialist knowledge to the group. - -@item Implementer -- a practical thinker who is rooted in reality and can turn ideas into -practice (who sometimes frustrates more imaginative high flying -visionaries). - - -@item Resource Investigator -- an enabler, or someone who knows where to -find the help the team needs regardless of whether the help is -physical, financial or human. This person is good at networking. - - -@item Chairman/Co-ordinator -- an arbitrator who makes sure that -everyone gets their say and can contribute. - -@item Monitor-Evaluator -- is a dispassionate, discerning member who can -judge progress and achievement accurately during the process. - - -@item Team Worker -- someone concerned with the team's inter-personal -relationships and who is sensitive to the atmosphere of the group. - - - -@item Completer/Finisher -- someone critical and analytical who looks after the details of -presentation and spots potential flaws and gaps. The completer is -a quality control person. -@end enumerate - -His model has little room for technical workflow arguments. It is -entirely concerned with the creative process. This is probably -significant. We should ask ourselves: how can we use the freedom to -organize into specialized teams to maximize human creativity, while -passing hard work over to machines. Solving this problem is what -CFEngine is about. - - -@node About Promises, Is automation worthwhile?, Business processes and goals, Enterprise integration -@section About Promises - -@menu -* A theory:: -* Basic definitions:: -@end menu - -@c ********************************************************************** -@node A theory, Basic definitions, About Promises, About Promises -@subsection A theory for ITIL - -ITIL has no theory to back it up, so we have to look elsewhere for a -motivation of its practices. Promise theory is an attempt to do just -this for a service oriented model in which peers make promises to one -another. So it ought to work for ITIL also. -The advantage of promise theory is that it helps us to see how -CFEngine can be used, because promises provide a simple -picture of how CFEngine works. - -@cartouche -Think of CFEngine as a general tool for automatically making sure that promises are kept. -@end cartouche - -The popular service concept fails to capture one thing very clearly, namely the -distinction between making a promise and keeping a promise. A -service implies that something will be provided but it does not -specify when. - -Suppose we ask a security company to protect our assets. The company -might promise to deploy guards, or alarm technology, or it could -simply promise that you will be safe without explaining how the -promise will be kept. The promise does not necessarily imply any -action required to maintain this state of safety, but we still pay the -company for the service to keep this promise anyway. Trust plays an -important role, of course. - -Promise theory helps us to understand services in all forms by forcing -us to think carefully about the concept of @emph{autonomy}. Autonomy -implies several things: for instance, privacy of information, -independence of decision and responsibility for one's own -behaviour. The concept of autonomy is like a filter that makes us -think carefully about things that we often take for granted. It -is a good discipline, forcing us to confront what we think we know -about systems. - -The agents of promises are humans, computers or any entity that can be -associated with a promise even if by association with its owner or -designer. They are said to be autonomous if they cannot be forced to -make any promises about their behaviour by an outside agent. A useful -principle for understanding systems is the maximal @emph{separation of -concerns} and promises help us to separate independent issues. - -Separation of concerns is only half the story however. Promises are -also about describing how the parts of a system work together, just as -in team-work. Promises provide the glue that allows completely -autonomous parts to form an organization. We are not allowed to think -about ``control'' or ``command'', only about voluntary cooperation. -Keep these ideas in mind when reading this document. - -@c ********************************************************************** -@node Basic definitions, , A theory, About Promises -@subsection Basic promise definitions - -We can use the language of promises to make clearer definitions. -@itemize -@item @emph{Service}: a promise to act or provide a resource. -The promise is made from a `server' agent @i{S} to one or more external agents -which we call the clients. - -@item @emph{Agreement}: a mutual acceptance of knowledge by two agents (``the agents agree''). -The knowledge that is agreed to is called the body of the -agreement. Note that the term ``agreement'' is sometimes used -incorrectly to mean ``contract''. Agreement is often -signified by signing the body, or some equivalent declaration. In -promise theory an agreement is a pair of @emph{use-promises} between two -parties to acknowledge acceptance of the agreement body. - -@item @emph{Contract}: a bilateral bundle of proposed promises between two agents, -intended to serve as the body of an agreement. - -@item @emph{Service Level Agreement} An agreement between two parties whose body -describes a contract for service delivery and consumption. -@end itemize - - -Service Level Agreements (SLA) are now a well-known part of the -customer-business scenario. -How are promises different from Service Level Agreements (SLA)? -Promises are more primitive than agreements. Agreements bind two -parties to a collection of bilateral decisions that have been made in -advance. An agreement implies an existing infrastructure on which to -agree. A promise on the other hand is an entirely autonomous -statement about agents' behaviour (ad hoc). Showing only the promises in a -system does not imply any agreement between the parties, only -indications about their likely behaviours. - -In other words, seeing the promises that have been made, an external -observer could calculate effective service levels that have been -promised without any agreement taking place. Promises are therefore -more fundamental than agreements to the predictability of the system. - - -@c ********************************************************************** -@node Is automation worthwhile?, , About Promises, Enterprise integration -@section Is automation worthwhile? - -Process automation is an investment which has its own cost. The -benefits are not merely saved manpower but improved consistency or -certainty of process. Automation provides an automatic quality assurance. - -A simple argument against automation goes like this: if I can fix it -in five minutes then it is not worth automating, unless the automation -takes less time than that. - -The argument is simplistic. Before dismissing automation, one should -ask questions like this: -@itemize -@item How many of these five minute periods occur in the long run? -@item How much time was needed to diagnose each of them? -@item Could the problems have been avoided altogether by proactive maintenance? -@end itemize -One of the benefits of automation is in prevention, another is in -documenting institutional learning by codifying the processes -required for the avoidance of incidents. A tool like CFEngine which -separates intention (promises) from action makes this kind of -documentation highly readable and allows the learning to penetrate the -workflow processes directly. - -@c ********************************************************************** -@node CFEngine past and present, ITIL past and present, Enterprise integration, Top -@chapter CFEngine past and present - - -CFEngine is a free software package for automating the installation -and maintenance of networked computers. The project began in 1993 and -it has been in widespread use since 1995. CFEngine is available for all major -Unix and Unix-like operating systems, and it will also run under -NT-derived Windows operating systems via the Cygwin Unix-compatibility -environment/libraries. - -CFEngine scales easily from a single host to tens of thousands of -hosts. As of this writing, the largest installations we know of -regulate around 50,000 machines under a common administration. -CFEngine can manage many aspects of system configuration and -maintenance, including the following: - -@itemize -@item Performing post-installation tasks such as configuring the network interface. -@item Editing system configuration files and other files. -@item Creating symbolic links. -@item Checking and correcting file permissions and ownership. -@item Deleting unwanted files. -@item Compressing selected files. -@item Distributing files within a network. -@item Automatically mount NFS file systems. -@item Verifying the presence and integrity of important files and file systems. -@item Executing commands and scripts. -@item Applying security-related patches and similar system corrections. -@item Managing system server processes. -@end itemize - -CFEngine's purpose is to implement policy-based configuration -management. In practical terms, this means that CFEngine greatly -simplifies the tasks of system configuration and maintenance. For -example, to customize a particular system, it is no longer necessary -to write a program which performs each required action in a procedural -language like Perl or your favorite shell. Instead, you write a much -simpler policy description that documents @emph{how} you want your -hosts to be configured. The CFEngine software determines what needs to -be done in terms of implementation and/or remediation from this -specification. Such policy descriptions are also used to ensure that -the system remains configured as the system administrator wishes over -time. - -Here is a brief example of such a policy description which verifies and -installs a number of packages in a convergent way: - -@smallexample - -body common control -{ -bundlesequence => { "packages" }; -} - -############################################# - -bundle agent packages -{ -vars: - - "match_package" slist => { - "apache2", - "apache2-mod_php5", - "apache2-prefork", - "php5" - }; -packages: - - "$(match_package)" - - package_policy => "add", - package_method => yum; - -} - -@end smallexample - -This simple configuration is divided into four stanzas, each -introduced by a colon-terminated keyword, specifically -@code{control:}, @code{files:}, @code{copy:} and @code{tidy:}. The -@code{control} stanza defines a list of directories which we've named -@var{tmpdirs} which we'll use later (in the @code{tidy} stanza). - -The @code{files} stanza specifies that all of the files in the -directory @file{/usr/local/bin} should be owned by user root and -group bin and have the file mode 755. When CFEngine runs with this -configuration description it will correct any ownership and/or -permissions which deviate from these specifications. Thus, this -stanza serves to implement a policy about the proper ownerships and -permissions for the executables in the local binaries directory. - -The @code{copy} stanza prescribes different configurations for Linux -and Solaris systems. On Solaris systems, files in @file{/etc/pam.d} -will be updated with those in the directory @file{/config/pam/solaris} on a master server when the latter are newer. On -Linux systems, only the file @file{/etc/pam.d/common-auth} is updated -from the PAM master configuration because the Linux systems in -question use the PAM include file mechanism to propagate this file's -stacks to all of the PAM-enabled services. Note, however, that both of -these specifications implement the same underlying system -configuration maintenance policy: update the relevant PAM -configuration files from the master server if necessary. - -The final, @code{tidy} stanza illustrates the use of implicit -looping. The single directive in the example applies to each of the -directories in the @var{tmpdirs} list. For each directory, CFEngine -will delete all items in the directory or any of its subdirectories -which have not been accessed in seven days (including ones where the -filename begins with a period). Like the other directives in this -sample configuration file, this stanza implements a policy: items in -temporary directories which have not been used within a week will be -deleted. - -All CFEngine configuration descriptions are variations on these an -similar themes, albeit more elaborate ones. Before turning to more -details about the technical aspects of using CFEngine, a brief -consideration of the most important underlying and guiding theoretical -concepts is in order. - -@menu -* Fundamental Concepts:: -* CFEngine Components:: -@end menu - -@c ********************************************************************** -@node Fundamental Concepts, CFEngine Components, CFEngine past and present, CFEngine past and present -@section Fundamental CFEngine Concepts - -As we've stated, CFEngine operates on hosts in order to bring their -configurations in line with the specified policies. -We need to define some terms. - -@table @i -@item Host -A host is a single computer that runs an operating system like Unix, -Linux or Windows. We will sometimes talk about machines too, and -a host can also be a virtual machine supported by an environment VMWare or Xen/Linux. - -@item Policy -This is a specification of what we want a host to be like, or how -we want it to behave. A policy is essentially a piece of -documentation that describes technical details and -characteristics. CFEngine implements policies that are specified via -directives of the sort we just considered. - -@item Configuration -The configuration of a host is the actual state of its resources, e.g. -the permissions and contents of files, the inventory of software installed, etc. It -is the `state of affairs' on a particular host at a given time. -@end table - -What are we aiming for with CFEngine? The answer is: @emph{policy -conformant configuration}. We want to formulate a specification of not -just one host, but usually many, including how they all interact, -perhaps to solve a business problem; then we want to leave the -details, implementation and maintenance to a robot agent: -@code{cfagent}. - -Humans are good at understanding input and thinking up solutions but they -not very reliable at implementation: @emph{doing} things reliably. Machines and -software agents are good at carrying out tasks reliably, but are not -good at understanding or finding actual solutions. With CFEngine, you -let the distinct parts of your human-computer organization concentrate -on what they are each good at. - -CFEngine can also produce reports about systems for monitoring the -performance and compliance with policies. This is an important aspect -of business integration as service providers want to know whether they -are delivering what they have promised, and whether their money has been -spent wisely. - -@node CFEngine seen from an ITIL perspective -@section CFEngine seen from an ITIL perspective - -The figure below shows the three cornerstones of CFEngine and how they relate to one another. - -@image{cfengine-schematic,10cm,,The key aspects of CFEngine from an ITIL perspective,png} - -@itemize -@item @code{cf-agent} is the engine for configuration management. It takes -a policy (expressed in promises) and ensures continuously that promises are kept. - -@item @code{cf-monitord} is the lightweight monitoring agent, that observes the states -of the system that can not be specified by policy, i.e. performance aspects that are determined -by the environment in which a system is placed. - -@item @code{cf-know} is the knowledge agent which builds a semantic web-overview of -the policy and state of the system, using topic maps. -@end itemize - -This triumvirate of components exchanges information in all directions to build -a complete, reflective, policy-based management framework. - -The @i{convergent automation} that CFEngine provides, along with its model of -promises, provides an immediate ITIL process loop for @i{incident management}, -repairing deviations from a given release of policy. - -What CFEngine tries to achieve is the separation of design from implementation, -in much the way that style-sheets do this for web browsers. The CFEngine policy -is a (probably incomplete) specification of all machines' configurations, -and the @code{cf-agent} is an implementation engine. When intention and action -have been separated, all that is really left for humans to govern is @i{knowledge}. - -Policy is, of course, knowledge about our @i{intentions} for the -system. Monitoring data are knowledge about the state of the system -that we have not directly planned for. Knowledge about unforeseen -events helps us to inform the next revision of policy, and builds up -historical records about system behaviour. Thus, the information -about actual happenings feeding back into new @i{releases} of policy is -what ÃÂTIL refers to as @i{problem management}. - -In this way, CFEngine supports the process of knowledge management `DIKW', -from Data to Information to Knowledge to Wisdom. - - - -@node How is CFEngine different from a classical CMDB? -@section How is CFEngine different from a classical CMDB? - -One of ITIL's central requirements is the Configuration Managment -Database or CMDB. According to ITIL this database is built up of -inventory information and relationships. The database starts out as -an archive of collected information but at some point it stops being a -record of obvservation and starts becoming an authoratative template -for defining and `imaging' systems. - -The CFEngine view is that a database is only ever a report cache. It -is never the authoratative source of a configuration, because a ER -data model does not provide an expressive enough language for -describing a system. CFEngine has its own policy language, with -special properties and optimizations for the authoratative intentions -of the system. Thus @code{cf-agent} reads policy, written in the -CFEngine language, and implements it. Then the agent itself, in -concert with other components like @code{cf-monitord} reports back on -what really happened, and this is cached in a database (which might be -called a CMDB). This is the separation of duties that CFEngine holds -to. - -One important difference is that relationships do not have to be -data-mined from the database. They can be coded directly in policy, -and thus they too can be authoratative, not merely guessed. - - -@menu -* Promises actions operations:: -* Convergence:: -* Classes and Declarations From One to Many Hosts:: -* Voluntary Cooperation:: -* Scalability:: -@end menu - -@node Promises actions operations, Convergence, Fundamental Concepts, Fundamental Concepts -@section Promises, Actions and Operations - -CFEngine's philosophy fits quite well with the service oriented -approach to computing. - -A CFEngine policy can be thought of as a list of promises which the -system makes to some auditor about its configuration. Most of the -these promises involve the possibility of @emph{change} to make a host -fulfills its policy promises. We call such changes @emph{actions} or -@emph{operations}. As you probably already guessed, the auditor in this -scenario is part of CFEngine itself. Cfagent is also the mechanic -or surgeon that performs the operations on the system, if it does not -meet its promises. - -By describing its operation in this manner, we can think of configuration -management as a service that is provided, a service that is intimately -connected with monitoring and maintenance, and which can be ``bought'' -on demand without necessarily subordinating a system to a central authority. - -@table @i -@item Operation -A unit of change is called an operation. CFEngine deals with changes to -a system, and operations are embedded into the basic sentences of a -CFEngine policy. They tell us @emph{how} policy constrains a host, -in other words, how we will prevent a host from running away. -@end table - -For example, in the software package promise above, - -@smallexample - -packages: - - "$(match_package)" - - package_policy => "add", - package_method => yum; - -@end smallexample - -There are implicit operations (actions) in this declaration: specifically, the -operations that will change the packages if/when they do not conform to this -simple specification. - -@node Convergence, Classes and Declarations From One to Many Hosts, Promises actions operations, Fundamental Concepts -@subsection Convergence - -A key property of CFEngine is convergence. This is an important characteristic -that distinguishes it from general computer languages. It is a property that -helps to prevent systems from diverging: running away in an uncontrollable -fashion. - -@table @i -@item Convergence -An operation is convergent if it always brings the configuration of a -host closer to its ideal, policy-conformant state and has no effect if -the host is already in that state. We shall sometimes call it a -``correct state'' or a ``healthy state,'' using the metaphor that a -badly configured host is suffering from a kind of sickness. -@end table - -Here is an example used during the editing of an ASCII file: - -@smallexample - -insert: - - "@var{Important configuration line}"; - -@end smallexample -This operation tells CFEngine to insert the given text (by default at the end of a -file), only if it is not already there. The policy-conformant configuration is -therefore that the line is present, and once that is achieved nothing -more will be done. We say that the operation @code{insert} -is @i{convergent}. - -Don't underestimate the value of convergence. It provides you with -stability. Because CFEngine's language interface strongly discourages -you from doing anything non-convergent, it also help to prevent -mistakes. The price is that you will have to learn to think in a -convergent way---and that is new for most people who come to CFEngine for -the first time. - -@c ********************************************************************** -@node Classes and Declarations From One to Many Hosts, Voluntary Cooperation, Convergence, Fundamental Concepts -@subsection One or Many Hosts - -One of the features that makes CFEngine policies readable is the -ability to hide away all of the complex decision-making that -needs to be performed by the agent. To realize this ambition, CFEngine -uses a @emph{declarative} language to express policy. - - -A declarative language is simply a structured list of sentences (in -the case of CFEngine, it is a list of policy promises). It is stated -in no particular order; it describes a final goal that is to be -achieved. The details of how one gets there are left implicit: to be -evaluated and implemented by the engine that interprets the -specification. This is in contrast to @emph{procedural} or -@emph{imperative} languages, such as shell or Perl which micro-manage -every step along the way. - -In an imperative language, one focuses on the procedure. In a declarative -language, one focuses on the intention, or the presumed result. - -One example of this is the use of classes in CFEngine. Classes are a -way of making decisions, without writing many ``if-then-else'' -clauses. A class is an identified which has the value ``true'' when a -particular test is true. It is a Boolean variable; if you like it -caches the result of an ``if'' test. The benefit of classes is that -all of the testing can be hidden away in the bowels of CFEngine, and -only the results need be visible if or when they are needed. - -@table @i -@item Classes -A class is a way of slicing up and mapping out the complex environment -of one or more hosts into regions that can then be referred to by a -symbol or name. They describe scope: @emph{where} something is to -be constrained. -@end table - -For example, the class @code{debian} is true if and only if cfagent is -running on a host that has Debian Linux as its operating system. - -@node Voluntary Cooperation, Scalability, Classes and Declarations From One to Many Hosts, Fundamental Concepts -@subsection Voluntary Cooperation - -It is a fundamental property of CFEngine components that every host -retains its individual autonomy. A host can always opt out of CFEngine-based governance if its administrator wants to. -This principle leads to a fundamental design and implementation decision: - - -@table @i -@item Autonomy -No CFEngine component is capable of receiving information that it -has not explicitly asked for itself, nor can it be advised or commanded -by an outside agent without requesting such advice. -@end table - -It is important to understand what this means. It does not mean that -centralized control of hosts cannot be achieved. Centralized control -is the way that most users choose to use CFEngine. Indeed, all you have -to do to achieve centralized control is to make a policy decision for -all your hosts to fetch policy specifications from a central authority. - -Autonomy does mean that if your environment has some small groups or -sub-cultures with special needs, it is possible for them to retain -their special identity. No one claiming to be their self-appointed -authority can ride rough shod over their local decisions. - -@emph{Where does policy come from then?} -Each host works from a policy specification that CFEngine expects to -find in a local directory (usually @file{/var/cfengine/inputs} on a -Unix-like host). If you want your host to be controlled from some -central manager or authority, then your policy must contain -bootstrapping specifications that say: ``@emph{it is my decision that -I should download and follow the policy specification located -at the central manager}.'' - -Each host can turn this policy decision off at any time. -This is a key part of the CFEngine security model. - - -@c ********************************************************************** -@node Scalability, , Voluntary Cooperation, Fundamental Concepts -@subsection Scalability - -CFEngine's scalability is at least as good as any other system, -because it allows for maximal distribution of -workload. - -@table @i -@item Scalable distributed action -Each host is responsible for carrying out checks and maintenance -on/for itself, based on its local copy of policy. -@end table - -This does not mean that you are immune from making bad decisions. -For example, network services can always be a bottleneck if you ask 10,000 hosts -to fetch something from one place at the same time. - -The fact that each CFEngine agent keeps a local copy of policy (regardless -of whether it was written locally or inherited from a central -authority) means that CFEngine will continue to function even if -network communications are down. - -@node CFEngine Components, , Fundamental Concepts, CFEngine past and present -@section CFEngine Components - -The CFEngine software consists of a number of components: separate -programs that work together (see figure). The components differ -between version 1 and version 2. We shall only discuss CFEngine 2 -here, as CFEngine version 1 is no longer supported, and you are strongly -advised to use version 2. In addition, CFEngine version 3 is being -developed at the time of writing, but this will take a number of years -before it can fully replace version 2. It will incorporate the state -of the art in Network and System Administration research, building on all -the lessons learned from versions 1 and 2. - -The components of CFEngine are: - - -@itemize -@item @code{cfagent}: Interprets policy promises and implements them in a convergent manner. -The agent can use data generated by the statistical monitoring engine @code{cfenvd} and -it can fetch data from @code{cfservd} running on local or remote hosts. - -@item @code{cfexecd}: Is a scheduler and wrapper which executes @code{cfagent} and logs -its output (optionally sending a summary via email). It can be run in -daemon (standalone) mode, or it can be run from @code{cron} -on a Unix-like system. - -@item @code{cfservd}: A server daemon that serves file data. It can also be configured -to start @code{cfagent} immediately on receipt of a connection from @code{cfrun}. No -actual data can be passed to this daemon. - -@item @code{cfrun}: A helper application that polls hosts and asks them to run @code{cfagent} -if they agree. - -@item @code{cfenvd}: A statistical state monitor that collects statistics -about resource usage on each host for anomaly detection purposes. The information is -made available to the agent in the form of CFEngine classes so that the agent can check for and respond -to anomalies dynamically. - -@item @code{cfkey}: Generates public-private key pairs on a host. You normally run this -program only once, as part of the CFEngine software installation process. - -@item @code{cfshow}: Displays the @code{cfagent} database contents in ASCII format, should you ever -become interested in its internal memory. - -@item @code{cfenvgraph}: Dumps @code{cfenvd}'s statistical database contents in a form -that can be used to plot graphs showing the normal behavior of a host in its -environment. -@end itemize - -@image{cfdiag,10cm,,CFEngine Components and the Connections Between Them,png} - -This figure illustrates the relationships among CFEngine -components on different hosts. On a given system, @code{cfagent} may -be started by the @code{cfexecd} daemon; the latter also handles -logging during @code{cfagent} runs. In addition, operations such as -file copying between hosts are initiated by @code{cfagent} on the -local system, and they rely on the @code{cfservd} daemon on the remote -system to obtain remote data. - - -@c ********************************************************************** -@node ITIL past and present, A meeting of mind-sets, CFEngine past and present, Top -@chapter ITIL past and present - - -The IT Infrastructure Library (ITIL) is a collection of books, in which -``best practices'' for IT Service Management (ITSM) are described. Today, -ITIL can be seen as a de-facto standard in the discipline of ITSM, for -which it provides guidelines by its current core titles Service -Strategy, Service Design, Service Transition, Service Operation and -Continual Service Improvement. ITIL follows the principle of -process-oriented management of IT services. - -In effect, the responsibilities for specific IT management decisions -can be shared between different organizational units as the management -processes span the entire IT organization independent from its -organizational partition. Whether this means a centralization or -decentralization of IT management in the end, depends on the concrete -instances of ITIL processes in the respective scenario. - - -@menu -* ITIL and its versions:: -* Foundations:: -* Tool Support:: -@end menu - -@c ********************************************************************** -@node ITIL and its versions, Foundations, ITIL past and present, ITIL past and present -@section ITIL and its versions - -ITIL has its roots in the early 1990s, and -since then was subject to numerous improvements and enhancements. -Today, the most popular release of ITIL is given by the books of ITIL version 2 (often referred to as ITILv2), -while the British OGC (Office of Government Commerce), owner and publisher -of ITIL, is currently promoting ITIL version 3 (ITILv3) under the device "`ITIL Reloaded"'. - -It is important to understand that ITILv3 is not just an improved version of -the ITILv2 books, but rather comes with a completely renewed structure, -new sets of processes and a different scope with respect to the issue of -IT strategies, IT-business-alignment and continual improvement. That is why, in the following, -we run through the basics of both versions, highlighting commonalities -and differences. - - -@menu -* ITIL Important Foundations:: -* ITILv2 Service Support and Service Delivery:: -* ITILv3 Management from the Service Life Cycle Perspective:: -@end menu - -@node ITIL Important Foundations, ITILv2 Service Support and Service Delivery, ITIL and its versions, ITIL and its versions -@subsection ITIL: Important Foundations - -It is the paradigm of process-oriented IT Service Management -that ITIL is based on. In addition, ITIL uses the Deming quality -circle as a model for continual quality improvement, where quality both -relates to the provided IT services as well as the management processes -deployed to manage these services. Continual improvement as to ITIL means -to follow the method of Plan-Do-Check-Act: - -@itemize -@item Plan: Plan the provision of high-quality IT services, set up the required management processes for the delivery and support of these services, define measurable goals and the course of action in order to fulfill them. -@item Do: Put the plans into action. -@item Check: Measure all relevant performance indicators, and quantify the achieved quality compared to the quality objectives. Check for potentials of improvement. -@item Act: In response to the measured quality, start activities for future improvements. This step leads into the Plan phase again. -@end itemize - -@c ********************************************************************** -@node ITILv2 Service Support and Service Delivery, ITILv3 Management from the Service Life Cycle Perspective, ITIL Important Foundations, ITIL and its versions -@subsection ITILv2 Service Support and Service Delivery - - -Although ITILv3 has been released during the summer of the year 2007, -it is its predecessor that has achieved great acceptance amongst -IT service providers all over the world. And due to the fact that the -International ISO/IEC 20000 standard has emerged from the -basic principles and processes coming from ITILv2, it is this version -experiencing the biggest distribution and popularity. - -The core modules of ITILv2 are the books entitled Service Support -and Service Delivery. While the Service Support -processes (e.g. Incident Management, Change Management) aim at -supporting day-to-day IT service operation, the Service Delivery -processes (e.g. Service Level Management, Capacity Management, -Financial Management) are supposed to cover IT service planning like -resource and quality planning, as well as strategies for customer -relationships or dealing with unpredictable situations. - -@c ********************************************************************** -@node ITILv3 Management from the Service Life Cycle Perspective, , ITILv2 Service Support and Service Delivery, ITIL and its versions -@subsection ITILv3 Management from the Service Life Cycle Perspective - -In 2007, ITILv2 has been replaced by its successor ITILv3, aimed at -covering the entire service life cycle from a management -perspective and striving for a more substantiated idea of IT business alignment. -Many of the ITILv2 processes and ideas have been recycled -and extended by various additional processes and principles. The five -service life cycle stages accordant to ITILv3 are: - -@enumerate -@item Service Strategy: Common strategies and principles for customer-oriented, business-driven service delivery and management -@item Service Design: Principles and processes for the stage of designing new or changed IT services -@item Service Transition: Principles and processes to ensure quality-oriented implementation of new or changed services into the operational environment -@item Service Operation: Principles and processes for supporting service operation -@item Continual Service Improvement: Methods for planning and achieving service improvements at regular intervals -@end enumerate - -The ITILv3 framework is sometimes reduced to the four Ps. - -@itemize -@item Products (tools) -@item People (humans) -@item Partners (cooperation between parts of the organization) -@item Processes (execution and verification) -@end itemize - - -@c ********************************************************************** -@node Foundations, Tool Support, ITIL and its versions, ITIL past and present -@section Service orientation and ITIL - -Why service and process orientation? What is ITIL trying to do? As we mentioned -in the introduction, the `military' control view of human organization fell from -favour in business research in the 1980s and service oriented autonomy -was identified as a new paradigm for levelling organizations -- -getting rid of deep hierarchies that hinder communication and open up -communication directly. - - -If one is cynical, one can interpret the signs of CEOs nervously -trying to put back some of the military thinking into process -management -- with definitions of authority and chains of -responsibility, but these chains are short and whenever ITIL says -``committee'', promise theory would say that all we need is a single -agent (a human or computer) and the internal details of it don't -matter. We should probably not think too literally about ITIL's choice -of words, which after all were born from a particular kind of -corporate culture and will not appeal to everyone. - -If we look at ITIL through the eyeglass of a hierarchical organization, -some of its procedures could be seen as restrictive, throttling -scalable freedoms. We do not believe -that this is their intention. Rather ITIL's guidelines try to make a -predictable and reliable face for business and IT operations so that -customers feel confidence, without choking the creative process that -lies behind the design of new services. - -@menu -* CFEngine in ITIL clothes?:: -* ITIL processes:: -* Service Strategy:: -* Service Design:: -* Service Operation:: -* Continual Service Improvement:: -@end menu - -@c ********************************************************************** -@node CFEngine in ITIL clothes?, ITIL processes, Foundations, Foundations -@subsection CFEngine in ITIL clothes? - -CFEngine users are interested in the ability to manage, i.e. cope with -system configuration in a way that enables a business or other -organization to do its work effectively. They don't want reams of -human management because this is what CFEngine is supposed to -remove. To be able to use ITIL to help in this task, we have to first -think of the process of setting up as a number of services. What -services are these? We have to think a little sideways to see the -relationship. - -@itemize -@item Service - providing a sensible configuration policy, responding to discovered problems or the needs of end-users. -@item Change - an edit of the configuration policy, with appropriate quality controls. -@item Release - a new configuration policy, consisting of many changes. A new version of CFEngine? This could be a major and disruptive change so it should be planned carefully. -@item Capacity - having enough resources for cfservd to answer all queries in a network. Having enough people to support the processes of deploying and following CFEngine's progress. -@end itemize - -You should keep this kind of thinking in mind, and train yourself to see every part -of a task in ``ITIL clothes''. - -@c ********************************************************************** -@node ITIL processes, Service Strategy, CFEngine in ITIL clothes?, Foundations -@subsection ITIL processes - -The following management processes are in scope of ITILv3: - -@itemize -@item Service Level Management: Management of Service Level Agreements (Alas), i.e. service level and quality promises. -@item Service Catalogue Management: deciding on the services that will be provided and how they -are advertised to users. -@item Capacity Management: Planning and provision of adequate business, service and resource capacities. -@item Availability Management: Resource provision and monitoring of service, from a customer viewpoint. -@item Continuity Management: Development of strategies for dealing with potential disasters. -@item Information Security Management: Ensuring a minimum level of information security throughout the IT organization. -@item Supplier Management: Maintaining supplier relationships. -@item Transition Planning and Support: Ensuring that new or changed services are deployed into the operational environment with the minimal impact on existing services -@item Asset and Configuration Management: Management of IT assets and Configuration Items. -@item Release Management: Planning, building, testing and rolling out hardware and software configurations. -@item Change Management: Assessment of current state, authorization and scheduling of improvements. -@item Service Validation and Testing: ensuring that services meet their specifications. -@item Knowledge Management: organizing and integrating experience and methodology for future reference. -@item Incident Management: responding to deviations from acceptable service. -@item Event Management: Efficient handling of service requests and complaints. -@item Problem Management: Problem identification by trend analysis of incidents. -@item Request Fulfillment: Fulfilling customer service requests. -@item Access Management: Management of access rights to information, services and resources. -@end itemize - -@c ********************************************************************** -@node Service Strategy, Service Design, ITIL processes, Foundations -@subsection Service Strategy - -Service strategy is about deciding what services you want to -formalize. In other words, what parts of your system administration tasks can you -wrap in procedural formalities to ensure that they are carried out most excellently? - -@c ********************************************************************** -@node Service Design, Service Operation, Service Strategy, Foundations -@subsection Service Design - -Service design is about deciding what will be delivered, when it will be delivered, -how quickly the service will respond to the needs of its clients etc. This stage is probably -something of a mental barrier to those who are not used to service-oriented thinking. - -@c ********************************************************************** -@node Service Operation, Continual Service Improvement, Service Design, Foundations -@subsection Service Operation - -How shall we support service operation? What resources do we need to provide, both human -and computer? Can we be certain of having these resources at all times, or is there -resource sharing taking place? If services are chained into ``supply chains'', remember that -each link of the chain is a possible delay, and a possible misunderstanding. Successfully running -services can be more complex at task than we expect, and this is why it is useful to -formalize them in an ITIL fashion. - -@c ********************************************************************** -@node Continual Service Improvement, , Service Operation, Foundations -@subsection Continual Service Improvement - -Continual improvement is quite self-explanatory. We are obviously -interested in learning from our mistakes and improving the quality and -efficiency by which we respond to service requests. But it is -necessary to think carefully about when and where to introduce this -aspect of management. How often should we revise out plans and change -procedures? If this is too often, the overhead of managing the quality -becomes one of the main barriers to quality itself! Continual has to mean regular -on a time-scale that is representative for the service being provided, e.g. -reviews once per week, once per month? No one can tell you about your needs. -You have to decide this from local needs. - -@c ********************************************************************** -@node Tool Support, , Foundations, ITIL past and present -@section Tool Support - -In the field of tool support for IT Service Management accordant to -ITIL, various white papers and studies have been published. In -addition, there are papers available from BMC, HP, IBM and other -vendors that describe specific (commercial) solutions. Generally, the -market for tools is growing rapidly, since ITIL increasingly gains -attention especially in large and medium-size enterprises. Today, it -is already hard to keep track of the variety of functionalities -different tools provide. This makes it even more difficult to approach -this topic in a way satisfactory to the entire researchers', vendors' -and practitioners' community. - -That is why this document follows a different approach: Instead of thinking -of ever new tools and computer-aided solutions for ITIL-compliant IT Service -Management, this book analyses how the existing and well-established -technologies used for traditional systems administration can -fit into an ITIL-driven IT management environment, and it guides -potential practitioners in integrating a respective tool suite -- namely -CFEngine -- with ITIL and its processes. - -To avoid any misunderstanding: We do not argue that CFEngine -- -originally invented for configuring distributed hosts -- may be -deployed as a comprehensive solution for automating ITIL, but what we -believe is CFEngine and its more recent innovations can @emph{bridge -the gap} between the technology of distributed systems management and -business-driven IT Service Management. -To make the case we must show: - -@enumerate -@item How ITIL terminology relates to the terminology of CFEngine and hence -to a traditional system administrator's language, and -@item Which parts (processes and activities) of -ITIL can be (partially) supported by CFEngine, and how. -@end enumerate - -These are the main goals of the subsequent chapters. - - - -@c ********************************************************************** -@node A meeting of mind-sets, Using CFEngine to implement ITIL objectives, ITIL past and present, Top -@chapter ITIL and CFEngine comparison - -To summarize the results of the previous chapters, it can be said that -the goals of ITIL and the purpose of CFEngine are quite different: -ITIL gives recommendatory guidance in process- and service- oriented -IT Service Management, while CFEngine provides a powerful solution -framework for a variety of common network and systems administration -tasks. In other words: - -@enumerate -@item The scope of ITIL is much broader than traditional systems administration, but: Portions of systems administration and configuration management tasks take place in the context of certain ITIL processes. - -@item CFEngine was not designed to replace ITSM tools like trouble ticket systems (TTS), workflow management or CMDBs, but: in the more technical areas of IT Service Management, CFEngine is able to support ITIL processes in their activities. -@end enumerate - -@image{scope2,10cm,,Scope of ITIL and CFEngine,png} - -The goal of this document is to give an overview on how CFEngine can -be used to support selected IT Service Management tasks according to -ITIL. - - -@menu -* Which ITIL processes apply to CFEngine?:: -* ITIL terminology:: -@end menu - -@c ********************************************************************** -@node Which ITIL processes apply to CFEngine?, ITIL terminology, A meeting of mind-sets, A meeting of mind-sets -@section Which ITIL processes apply to CFEngine? - -@image{itilfcaps,10cm,,FCAPS and ITIL,png} - -In version 2, ITIL divides itself into @emph{service -support} and @emph{service delivery}. For -instance, service support might mean having a number of CFEngine -experts who can diagnose problems, or who have sufficient knowledge -about CFEngine to solve problems using the software. It could also -mean having appropriate tools and mechanisms in place to carry out the -tasks. Service delivery is about how these people make their knowledge -available through formal processes, how available are they and how -much work can they cope with? CFEngine enables a few persons to -perform a lot of work very cheaply, but we should not forget to track our performance -and quality for the process of continual improvement. - -Service support is composed of a number of issues: -@itemize -@item Incident management: collecting and dealing with incidents. -@item Problem management: root cause analysis and designing long term countermeasures. -@item Configuration management: maintaining information about hardware and software and -their interrelationships. -@item Change management: implementing major sequenced changes in the infrastructure. -@item Release management: planning and implementing major ``product'' changes. -@end itemize -Although the difference between change management and release -management is not completely clear in ITIL, we can think of a release -as a change in the nature of the service, while change management -deals with alterations possibly still within the scope of the same release. -Thus is release is a more major change. - -Service delivery, on the other hand, is dissected as follows: -@itemize -@item Service Level Management -@item Problem management -@item Configuration management -@item Change management -@item Release management -@end itemize -These issues are somewhat clearer once we understand the usage of the -terms ``problem'', ``service'' and ``configuration''. Once again, it -is important that we don't mix up configuration management in ITIL -with configuration management as used in a Unix parlance. - -The notion of system administration in the sense of Unix does not -exist in ITIL. In the world of business, reinvented through the eyes -of ITIL's mentors, system administration and all its functions are -wrapped in a model of service provision. - - -@menu -* Configuration Management CM:: -* Asset Management what is it used for?:: -* Change management:: -* Change management vs convergence:: -* Release management:: -* Incident and problem management:: -* Service Level Management SLM:: -@end menu - -@c ********************************************************************** -@node Configuration Management CM, Asset Management what is it used for?, Which ITIL processes apply to CFEngine?, Which ITIL processes apply to CFEngine? -@subsection ITIL Configuration Management (CM) - -Perhaps the most obvious example is the term configuration management. - -@table @i -@item Configuration Management -The process (and life-cycle) responsible for maintaining information -about configuration items (CI) required to deliver an IT service, -including their relationships. -@end table - -As we see, this is comparable to our intuitive idea of ``asset -management'', but with ``relationships'' between the items -included. ITIL also defines ``Asset Management'' as ``a process -responsible for tracking and reporting the value of financially valuable assets'' -and is a component of ITIL Configuration Management. - -In the CFEngine world, configuration management involves planning, -deciding, implementing (``base-lining'') and verifying (``auditing'') -the inventory. It also involves maintaining the security and privacy -of the data, so that only authorized changes can be made and private -assets are not made public. - -In this document we shall try not to mix the ITIL concept with the -more prosaic system administration notion of a configuration which -includes the current state of software configuration on the -individual computers and routers in a network. - -Since CFEngine is a completely distributed system that deals with -individual devices on a one-by-one basis, we must interpret this asset -management at two levels: - -@itemize -@item The local assets of an individual device at the level of virtual -structures and containers within it: files, attributes, software packages, -virtual machines, processes etc. This is the traditional domain of automation -for CFEngine's autonomic agent. - -@item The collective assets of a network of such devices. -@end itemize -Since a single host can be thought of as a network of assets connected -through virtual pathways, it really isn't such a huge leap to see the -whole network in a similar light. This is especially true when many of the -basic resources are already shared objects, such as shared storage. - - -@c *******************************************************************' -@node Asset Management what is it used for?, Change management, Configuration Management CM, Which ITIL processes apply to CFEngine? -@subsection CMDB Asset Management - -Why bother to collect an inventory of this kind? Is it bureaucracy -gone mad, or do we need it for insurance purposes? Both of these -things are of course possibilities. - -The data in an ITIL Configuration Management Database (CMDB) can be -used for planning the future and for knowing how to respond to -incidents, in other words for service level management (SLM) and for -capacity planning. An organization needs to know what resources it -has to know whether its can deliver on its promises. -Moreover, for finance and insurance it is clearly a sound policy to have a database of -assets. - -For continuity management, risk analysis and redundancy assessment we -need to know how much equipment is in use and how much can be brought -in at a moment's notice to solve a business problem. These are a few -of the reasons why we need to keep track of assets. - -@c *********************************************************** -@node Change management, Change management vs convergence, Asset Management what is it used for?, Which ITIL processes apply to CFEngine? -@subsection Change management in the enterprise - -If we make changes to a technical installation, or even a business -process, this can affect the service that customers experience. -Major changes to service delivery are often written into service level -agreements since they could result in major disruptions. -Details of changes need to be known by a help-desk and service personnel. - - -The decision to make a change is more than a single person -should usually. It requires consultation at different levels -of process. An advisory board for changes takes on this role, -whether it is an informal board that communicates electronically -or a physical committee ``with six or more legs and no brain''. - -@c *********************************************************** -@node Change management vs convergence, Release management, Change management, Which ITIL processes apply to CFEngine? -@subsection Change management vs convergence - -We should be especially careful here to decide what we mean by -change. ITIL assumes a traditional model of change management that -CFEngine does not need. ITIL's ideas apply to the management of -CFEngine's configuration, not the way in which CFEngine carries out its -work. - -In traditional idea of change management you start by ``base-lining'' a -system, or establishing a known starting configuration. Then you -assume that things only change when you actively implement a change, -such as ``rolling out a new version'' or committing a release. This, -of course, is very optimistic. - -In most cases all kinds of things change beyond our control. Items are -stolen, things get broken by accident and external circumstances -conspire to confound the order we would like to preserve. The idea -that only authorized people make changes is nonsense. - -CFEngine takes a different view. It thinks that changes in -circumstances are part of the picture, as well as changes in inventory -and releases. It deals with the idea of ``convergence''. In this way -of thinking, the configuration details might be changing at random in -a quite unpredictable way, and it is our job to continuously monitor -and repair general dilapidation. Rather than assuming a constant state -in between changes, CFEngine assumes a constant ``ideal state'' or -@emph{goal} to be achieved between changes. An important thing to realize about including -changes of external circumstances is that you cannot ``roll back'' -circumstances to an earlier state -- they are beyond our control. - -@c *********************************************************** -@node Release management, Incident and problem management, Change management vs convergence, Which ITIL processes apply to CFEngine? -@subsection Release management - -A @emph{release} is a collection of authorized changes to a system. -One part of Change Management is therefore @emph{Release Management}. -A release is generally a larger umbrella under which many smaller -changes are made. It is major change. -Changes are assembled into @emph{releases} and then they are rolled out. - -In fact release management, as described by ITIL, has nothing to do -with change management. It is rather about the management of -designing, testing and scheduling the release, i.e. everything to do with -the release process except the explicit implementation of it. -@emph{Deployment} or @emph{rollout} describe the physical movement of -configuration items as part of a release process. - - - -@node Incident and problem management, Service Level Management SLM, Release management, Which ITIL processes apply to CFEngine? -@subsection Incident and problem management - -ITIL distinguishes between @emph{incidents} and @emph{problems}. An incident is -an event that might be problematic, but in general would observe -incidents over some length of time and then diagnose @emph{problems} based -on this experience. - -@table @i -@item Incident -An event or occurrence that demands a response. -@end table - -One goal of CFEngine is to plan pro-actively to handle incidents -automatically, thus taking them off the list of things to worry about. - -@table @i -@item Problem -A pattern of consequence arising from certain incidents that is detrimental -to the system. It is often a negative trend that needs to be addressed. -@end table - - -Changes can introduce new incidents. -An integrated way to make the tracking of cause and effect easier is -clearly helpful. If we are the cause of our own problems, we are in -trouble! - - -@c *********************************************************** -@node Service Level Management SLM, , Incident and problem management, Which ITIL processes apply to CFEngine? -@subsection Service Level Management (SLM) - -Also loosely referred to as Quality of Service. This is the -process of making sure that Service Level Promises are kept, -or Service Level Agreements (SLA) are adhered to. -We must assess the impact of changes on the ability to deliver -on promises. - - -@node ITIL terminology, , Which ITIL processes apply to CFEngine?, A meeting of mind-sets -@section ITIL terminology - -Like many other areas of wishful standardization, ITIL elevates itself -to a state of importance by using multitude of acronyms and -specialized terms. Not all of these are as intuitive as one might -hope for and many simply seem beyond necessity. However, to understand -the writing, we need to know a few of them and also understand how -they differ from similar terms in system administration and the world -of CFEngine. In the appendix, we list with comments about the most important -of these terms. The figure shows a scatter-plot of these terms. - - -@image{topic,10cm,,ITIL terminology,png} - -@c *********************************************************** -@node Using CFEngine to implement ITIL objectives, Summary, A meeting of mind-sets, Top -@chapter Using CFEngine to implement ITIL objectives - -How does CFEngine fit into the management of a service organization? -There are several ways: -@itemize -@item It offers a rapid detection and repair of faults that help to avoid formal incidents. -@item It simplifies the deployment (release) of services. -@item Allows resources to be understood and planned better. -@end itemize -These properties allow for greater @emph{predictability} -of system services and therefore they contribute to customer confidence. - - -@menu -* Infrastructure or management?:: -* How can CFEngine or promises help?:: -* What is maintenance?:: -* Incident Management vs Maintenance:: -* Rollout and installation:: -* Change Management in ITIL:: -* Release Management in ITIL:: -* Configuration version control and rollback:: -* Availability and Capacity Management:: -@end menu - -@node Infrastructure or management?, How can CFEngine or promises help?, Using CFEngine to implement ITIL objectives, Using CFEngine to implement ITIL objectives -@section Infrastructure or management? - -Any tool for assisting with change management lies somewhere between -ITIL's notion of change management and the infrastructure itself. It -must essentially be part of both (see figure). This applies -to CFEngine too. - - -@image{cfinf,10cm,,CFEngine is both infrastructure and a part responsible for infrastructure.,png} - - -CFEngine can manage itself as well as other resources: itself, its -software, its policy and the resulting plans for the configuration of -the system. In other words, CFEngine is itself part of the infrastructure -that we might change. - -@c *********************************************************** -@node How can CFEngine or promises help?, What is maintenance?, Infrastructure or management?, Using CFEngine to implement ITIL objectives -@section How can CFEngine or promises help an enterprise - -@menu -* Traditions:: -* Modelling of policy:: -* Uniformity:: -@end menu - -@c *********************************************************** -@node Traditions, Modelling of policy, How can CFEngine or promises help?, How can CFEngine or promises help? -@subsection Traditional IT Management - -Traditional methods of managing IT infrastructure involve working from -crisis to crisis -- waiting for `incidents' to occur and then initiating fire -suppression responses or, if there is time, proactive changes. With CFEngine, -these can be combined and made into a management @emph{service}, with -continuous service quality. - -CFEngine can assist with: -@enumerate -@item Maintenance assurance. -@item Reporting for auditing. -@item Change management. -@item Security verification. -@end enumerate - -Promise theory comes with a couple of principles: -@enumerate -@item Separation of concerns. -@item Fundamental attention to autonomy of parts. -@end enumerate - -@c *********************************************************** -@node Modelling of policy, Uniformity, Traditions, How can CFEngine or promises help? -@subsection Modelling policy - -Other approaches to discussing organization talk about the separation -of concerns, so why is promise theory special? Object Orientation -(OO) is an obvious example. Promise theory is in fact quite different to -object orientation (which is a misnomer). - -Object orientation asks users to model abstract classes (roles) long -before actual objects with these properties exist. It does not provide -a way to model the instantiated objects that later belong to those -classes. It is mainly a form of information structure -modelling. Object orientation models only abstract patterns, not -concrete organizations. - -Promise theory on the other hand considers only actual existing objects -(which it calls agents) and makes no presumptions that any -two of these will be similar. Any patterns that might emerge can be -exploited, but they are not imposed at the outset. Promise theory's -insistence on autonomy of agents is an extreme viewpoint from which -any other can be built (just as atoms are a basic building block from which -any substance can be built) so there is no loss of generality by making -this assumption. - -In other words, OO is a design methodology with a philosophy, whereas -promises are a model for an arbitrary existing system. - -@node Uniformity, , Modelling of policy, How can CFEngine or promises help? -@subsection Uniformity - -The traditional production-line paradigm for management of IT systems -involves reducing the number of variations -- often simply making -all systems identical for mass-production. However, as quoted at the -beginning of chapter 2, the purpose of advanced technology is to -enable us to cope with variation. CFEngine makes managing variations simple. -Some organizations might simply want to have a uniform configuration on -all their hardware, but what does this mean if the basic hardware is -different? - -In CFEngine we understand that ``similar'' should be based on how -systems behave not what their disk images look like. Two systems that -make the same promises ought to behave in the same way, if the promises -are at a high enough level. But what if two different operating systems -promised to never have a file called @code{/etc/passwd}? A windows machine -would not care too much, but a Unix system would be paralyzed. - -Promises and system configuration are related: configuration affects -behaviour and behaviour is what we promise. Clearly we cannot expect -very high level promises to be simply translated into configurations -however. The fact that we make promises about system configuration -says nothing certain about the promise that results from changing -it. That depends on many other factors. Thus we must be careful to think about -what a promise means. - -@table @i -@item Fundamental assumption -The basic assumption of configuration management is that a specific -configuration determines the resulting behaviour of a system. This -assumption is completely unproven, and is sometimes obviously false. -At best there is a correlation between configuration and -behaviour. This is what makes IT management challenging. The things we -can change do not necessarily give us the control we would like. -@end table - - -@c *********************************************************** -@node What is maintenance?, Incident Management vs Maintenance, How can CFEngine or promises help?, Using CFEngine to implement ITIL objectives -@section What is maintenance? - -Maintenance is a process that ITIL does not formally spend any time -on explicitly, but it is central to real-world quality control. - -Imagine that you decide to paint your house. Release 1 is going to be -white and it is going to last for 6 years. Then release 2 is going to -be pink. We manage our painting service and produce release -1 with all of the care and quality we expect. Job done? No. - -It would be wrong for us to assume that the house will stay this fine -colour for 6 years. Wind, rain and sunshine will spoil the paint over -time and we shall need to touch up and even repaint certain areas in -white to maintain release 1 for the full six years. Then when it is time -for release 2, the same kind of maintenance will be required for that too. - -Unless we read between the lines, it would seem that ITIL's answer to -this is to wait for a crisis to take place (an incident). We then -mobilize some kind of response team. But how serious an incident do we -require and what kind of incident response is required? A graffiti artist? -A lightening strike? A bird anoints the paint-work? CFEngine is -like the gardener who patrols the grounds constantly plucking weeds, -before the flower beds are overrun. Call it continual improvement if -you like: the important thing is that the process your be pro-active -and not too expensive. - -Maintenance is necessary because we do not control all of the -changes that take place in a system. There is always some kind of -``weather'' that we have to work against. CFEngine is about this -process of Maintenance. We call it ``convergence'' to the ideal state, -where the ideal state is the specified version release. -Keep this in mind as you read about ITIL change management. - -@c *********************************************************** -@node Incident Management vs Maintenance, Rollout and installation, What is maintenance?, Using CFEngine to implement ITIL objectives -@section Incident Management vs Maintenance - -CFEngine employs the idea of continual maintenance (we paint the fence -on a regular basis to protect it). ITIL, on the other hand, moves from -release to release (this year we paint the fence red, next year green) -and does not recognize the effect of gradual entropic decay of state -(the fence's colour fades gradually due to the harsh -environment). Instead ITIL deals with events (graffiti and tagging of -the fence) which must be corrected. While it is true that these -incidents are maintenance, the repairs are more costly to initiate if -they occur as exceptional events than if we are used to repainting the -fence on a regular basis. - - -@image{cf_evm,10cm,,An exemplary Event Management process on the basis of ITIL V3,png} - -The figures above show ITIL processes for the handling of -events and incidents. They show the aspects of dealing with events that are -mainly human oriented, and those events in shaded boxes that can be automated -using CFEngine. - -In the figure above we see that there must be a basic monitor at -the top of the process chain which is responsible for observing -events. This fits well with the view of promise theory in which a -neutral observer is required to measure the state of different -component agents in the system. Not all events are necessarily -relevant or interesting so we can filter these based on a -policy. CFEngine's event monitors come from two sources: cfagent (for -monitoring the state of promises which are being managed - e.g. the -proverbial colour of the fence) and cfenvd (for passively monitoring -the environment - e.g. the brightness of the sunshine or the amount of -rainfall impacting on the fence). - -@itemize -@item CFEngine filters events through its -class interface. All events observed in CFEngine are @emph{classified} -and made available to the environment. - -@item CFEngine logs events by routing messages to email or to syslog (by asking -@code{inform=true} or @code{syslog=true} or @code{audit=true}). - -@item The daemon @code{cfenvd} auto-correlates events. The tool @code{cfbrain} -will cross correlate events, further classifying the outcomes as part of the -environment. - -@item Events can be triggered by attaching promises to event-driven classes -in the cfagent configuration. e.g. - -@smallexample - -processes: - - www_in_high_anomaly:: - - ``apache'' signal=term - -alerts: - - www_in_high_anomaly:: - - ShowState(www.in) - -@end smallexample -For more devastating incidents, we can arrange for more information to -be output. An incident is really only an event of some special -significance. Diagnosing an incident requires either human -intervention or pre-cached insight on the part of the promises we -make. If we can make a specific promise then the diagnosis that this promise -has not been kept can easily be turned into a specific repair. For example, - -We might note a sudden burst of smtp traffic, or a sudden decrease in free disk space. -These events can be anticipated if one knows a benign cause, such as email -was shutdown for maintenance, or the host is a new mail-server that has never seen -traffic before. - -@end itemize - -@image{cf_im,10cm,,An exemplary Incident Management process on the basis of ITIL V3,png} - -@c *********************************************************** -@node Rollout and installation, Change Management in ITIL, Incident Management vs Maintenance, Using CFEngine to implement ITIL objectives -@section Rollout and installation - -When setting up hosts, ITIL actually makes a techical recommendation. -This is unusual for ITIL as it generally does not get mixed up in the -details of management, only the processes. ITIL recommends -``base-lining'' systems from a @emph{gold server}, i.e. a system that is -thought to be ``perfect'' enough to act as a model for all other -systems. Once a server has been base-lined from the golden image, -various customizations can be made relative to this known state. ITIL -sees this as a way of achieving consistency. - -We believe that ITIL exceeds its technical competence in making this a -recommendation. True enough, this has traditionally been a way of -performing a rollout, but the approach has been superceded by better -technology. The gold server approach is not the recommended CFEngine -way. In fact a golden-image approach wastes a fundamental flexibility -that CFEngine offers, namely the possibility to allow @emph{variations} (see -the quote by Alvin Toffler at the start of chapter 2). - -When we baseline a system from a gold-server, we are planning to make all -hosts basically the same. However, this is neither necessary nor cost-saving -if you use CFEngine. - -CFEngine places no restrictions on the approach used to roll out -hosts. Rather than requiring you to start from a known state, it -allows you to specify the @emph{final} state for any initial -state. This means you can migrate hosts gradually to a policy state -without having to reinstall them. We can consider the end result of a -CFEngine policy process to be ``the release''. In CFEngine this is -equivalent to a sufficiently comprehensive configuration policy. - -The message here is that CFEngine allows you to achieve predictable -results without the need for a gold server. Nevertheless, it is helpful -to begin a system based on a reliable substrate. It is like making a good -sandwich: it helps to have a perfect piece of bread to build on, but it's what -you put on top that is most important. You just need to know what you are starting -with, and then most things can be fixed to satisfaction. -We recommend: - -@itemize -@item Start with some kind of standard image to start (a predictable substrate). - -It is does not necessarily matter what it is as long as it behaves predictably. -e.g. install from known DVD, or install from net-boot or even from a gold server. - -@item Customize the basic working system using CFEngine. -There are two possible approaches to this: - -i) Copy constant ``gold'' overlays or patches into place from a trusted source -to customize the system. - -@itemize -@item Add more operating system packages. -@item Insert special files (config, data etc). -@item Run post-processing scripts. -@end itemize - -ii) Edit system directly with CFEngine -@itemize -@item Documented automatically by cfagent promises. -@item Can always customize after that too (phase 3)! -@end itemize -@end itemize - - - -@menu -* Customize by constant fixed overlay:: -* Overlay an expandable template:: -* Direct customization:: -@end menu - -@c *********************************************************** -@node Customize by constant fixed overlay, Overlay an expandable template, Rollout and installation, Rollout and installation -@subsection Customize by constant/fixed ``gold'' overlay - -The first alternative is to install a fixed patch to a system -from a known gold-server. -The basic pattern is this: - - -@smallexample -copy: - - /source/file - - dest=/dest/file - server=gold_server -@end smallexample - -In this example, we simply install a new file into a known location. -This is the simplest way of customizing a host, but it lacks flexibility. - -@c *********************************************************** -@node Overlay an expandable template, Direct customization, Customize by constant fixed overlay, Rollout and installation -@subsection Overlay an expandable template with CFEngine - -A more sophisticated approach is to download a parameterized template -from a repository or gold server. This template contains context -dependent variables that can be expanded in situ by CFEngine. There -are two stages to this: first we copy the template to a temporary -location, then we edit the final file location, insert the template -and expand its variables. By following this procedure, the result -satisfies CFEngine's principles of @emph{convergence}. - - -@smallexample -copy: - -/source/file - dest=/tmp/file - server=gold_server - -editfiles: - -@{ /dest/file - -EmptyEntireFilePlease -InsertFile ``/tmp/file'' -ExpandVariables -@} -@end smallexample - - -@c *********************************************************** -@node Direct customization, , Overlay an expandable template, Rollout and installation -@subsection Direct customization by CFEngine - -A final approach to customization is to apply direct -editing operations to implement the required customization. - -@smallexample -editfiles: - -@{ /dest/file - -ReplaceAll ``X'' With ``Y'' -AppendIfNoSuchLine ``ABC'' -@} -@end smallexample - -This approach is useful for small corrections, that require -unsophisticated editing, but it becomes quickly cumbersome -for more complex tasks. - - -@node Change Management in ITIL, Release Management in ITIL, Rollout and installation, Using CFEngine to implement ITIL objectives -@section Change Management in ITIL - -ITIL proposes that there should be an integrated approach to change and -configuration management. Clearly changes to a system result in new -configurations. However, changes can also be unplanned involuntary -faults (ITIL discusses these as @emph{incidents}). - - -ITIL does not want unplanned changes, however we know that they happen. -CFEngine does not elevate deviations from policy to the level of an -incident normally, it simply fixes problems immediately. However, we do not -alway have enough information about changes to allow CFEngine to make repairs, -so we need a way of monitoring for unexpected change. - - -Change management in CFEngine is a subtle topic, because CFEngine does -not fully subscribe to the model of change that ITIL does. In CFEngine's -view of the world, all changes are changes no matter how or why they -occur. In ITIL's world view, there are planned changes, there are -releases and there are ``incidents''. - -ITIL therefore distinguishes between planned and unplanned changes that -affect service delivery. CFEngine on the other hand cares only about -what promises have been made about the system and whether or not these -have been kept. - -CFEngine can detect changes because it effectively performs a constant -audit of the system's promises. We should understand CFEngine's change -detection in two ways: changes that impact the performance or quality -of services - -@itemize -@item with respect to the quality of the system configuration service (i.e. CFEngine's service) -@item with respect to the quality of services supported by the system configurations (e.g. other services -like web services) -@end itemize -To CFEngine, changes only matter if they impact the promises that have -been codified as policy. Even events that CFEngine calls ``anomalies'', -detected and classified continuously, are only considered -interesting if policy determines them to be restricted, thus every -single state change can be considered either ``within tolerances'' -(insignificant) or ``out of tolerance'' (significant). ITIL is only a -heuristic set of guidelines and is not technically sophisticated -enough to be able to make this kind of distinction. - -Let's make an approximate mapping between ITIL concepts and CFEngine change -and the comment critically on it. - -@table @i -@item ITIL - CFEngine -@item Incident -Promise not kept -@item Change -Configuration version/content update -@item Release -Policy change -@end table - -@menu -* Software packaging:: -* Rollback or remediation:: -* Monitoring file changes:: -* Hashes and Message Digests:: -* Computing hashes:: -* Neighbourhood watch and tampering:: -@end menu - -@c *********************************************************** -@node Software packaging, Rollback or remediation, Change Management in ITIL, Change Management in ITIL -@subsection Software packaging in ITIL - -ITIL considers releases to be entire integrated systems that are -versioned. Most operating systems work at a smaller level of -granularity than this. Software version control using package -managers to version individual software packages. Although such -package managers resolve dependencies, they do not version -entire conglomerates of software. Software comes in large -packages for two main reasons: - -@itemize -@item Operating system installation (all or nothing). -@item Functional role adaptation (specialized workstation). -@end itemize -Different organizational roles require different ITIL services -to support them, and hence different software to deliver them. - -CFEngine deals with versioned data management in two ways: -@itemize -@item File copying from master source (by date-stamp or checksum). -@item Package installation and verification (using local package managers). -@end itemize -Package managers handle the installation and update of packages -easily, but they do not always add institutional adaptational -control in a way that can be tied into a classification of -hosts in an organization's network. CFEngine can use its -classification of hosts to customize further. We simply -attach relevant clusters of packages to different classes -of host to ensure that specific workstations are -properly adapted to service their tasks. - -Not all software comes in operating system (vendor/provider) -approved packages, but CFEngine can also handle software -that is zipped, tar-ed or bundled in any other manner. - -The following example policies illustrates some of the @code{copy} rule type's capabilities, - including some of the options we just considered: - - -@smallexample - -control: - DefaultCopyType = ( mtime ) - SplayTime = ( 15 ) - sourcehost = ( source.CFEngine.org ) - -copy: -# Copy dat/doc files if not too big - /usr/local/data dest=/archive/data - include=*.dat include=*.doc exclude=test.* - recurse=inf backup=false size<500m - -# Retrieve configuration file from master - /depot/hosts.deny server=$(sourcehost) - dest=/etc/hosts.deny owner=root group=0 mode=644 - backup=off force=on timestamps=keep - -# Transmit shadow password file encrypted - /depot/shadow server=\$(sourcehost) dest=/etc/shadow - owner=0 group=0 mode=600 encrypt=true -@end smallexample - - -The first rule specifies that @file{.dat} and @file{.doc} files within the -@file{/usr/local/data} directory tree be copied to @file{/archive/data}, -provided that the source files have been modified more recently then -their counterpart in the target directory and that they are smaller than 500 MB. In addition, files having -the name @file{test} are also excluded. Existing files will be overwritten without being saved. - -The second rule unconditionally replaces the local -@file{/etc/hosts.deny} file with one from the system -@code{source.CFEngine.org}, retaining the timestamps from the source -file. This rule also specifies the ownership and mode for the target -file. - -The third rule is similar to the second one, retrieving another file -from the same remote system. In this case, however, the file will be -copied only when the remote file is more recent than the local -copy. When the file is copied, the previous version will be retained, -and the file contents will be encrypted at it is transmitted across -the network. - - -CFEngine can also automate software package management and -installation. Policies for these items are specified in the @code{packages} stanza. Here are some examples: - - -@smallexample - -control: # Define package manager \& install command - linux:: DefaultPkgMgr = ( rpm ) - redhat:: RPMInstallCommand = ( "/usr/sbin/up2date %s" ) - suse:: RPMInstallCommand = ( "/usr/sbin/yast2 -i %s" ) - -packages: - nagios version=2.4 cmp=ge - pstree action=install -@end smallexample - - -The settings in the @code{control} section specify the package -management software that is in use as well as the command used to -install a software package. These directives illustrate the use of -operating system-based classes within policies for defining a -different installation command for different Linux distributions. - -In the @code{packages} stanza, the first rule checks whether Nagios is -installed. A warning will be generated if the package is not present -at all or if the installed version is earlier than version 2.4. The -second rule checks for the @code{pstree} package, and installs it if -it is not present on the system. - -The following parameterized method-promise installs -its first argument in the prefixed location given by the second -argument. It collects the tar file, unpacks it, configures and -compiles it, then tidies its files. - - -@smallexample - -# -# Build GNU sources and install -# - -control: - - actionsequence = ( methods ) - -methods: - - InstallTar(CFEngine-2.1.0b7,/local/gnu) - - action=cf.install - returnvars=null - returnclasses=null - server=localhost - -@end smallexample - - -We must install the method in the trusted modules directory (normally -@code{/var/cfengine/modules} or WORKDIR/modules). - - -@smallexample - -# -# cf.install -# - -control: - - MethodName = ( InstallTar ) - MethodParameters = ( filename prefix ) - path = ( /usr/local/gnu/bin ) - TrustedWorkDir = ( /tmp ) - TrustedSources = ( /depot ) - TrustedSourceServer = ( localhost ) - - actionsequence = ( copy editfiles shellcommands tidy ) - -copy: - - $(TrustedSources)/$(filename).tar.gz - dest=$(TrustedWorkDir)/$(filename).tar.gz - server=$(TrustedSourceServer) - -shellcommands: - - "$(path)/tar zxf $(filename).tar.gz" chdir=$(TrustedWorkDir) - - "$(TrustedWorkDir)/$(filename)/configure --prefix=$(prefix)" - chdir=$(TrustedWorkDir)/$(filename) - define=okay - - okay:: - - "$(path)/make" - chdir=$(TrustedWorkDir)/$(filename) - -tidy: - - $(TrustedWorkDir) pattern=$(filename) r=inf rmdirs=true age=0 - -@end smallexample - -@c *********************************************************** -@node Rollback or remediation, Monitoring file changes, Software packaging, Change Management in ITIL -@subsection Rollback or remediation - -The ability to go back to an earlier ``release'' or state is often -referred to as rollback. ITIL calls it remediation. The notion is -closely connected with process management, and both ITIL and -traditional management techniques value this by default. It is assumed -practice. - -CFEngine does not encourage rollback however. Why not? Because it -required destructive intervention and CFEngine's model is based on -on-the-fly change. To go back to a previous state, a system must be -stopped, reinitialized (perhaps from backup) and restarted. This -requires service to stop and all run-time state is lost. - -CFEngine's approach to this would be to revert @emph{policy} to its -previous state. The system would then roll into its desired state (as -if going forwards). Nothing would be restored from separate backup -media (see figure). - -@image{roll-forward,15cm,,Move from one fixed point to another and back.,png} - -The difference here is the assumption about how and when changes -occur. A sequence of step by step transitions sounds innocent, but it -is unstable to unexpected changes. ITIL and many other change -management models assumes that no unauthorized changes occur between -releases. If they do, they are handled as incidents. By separating -releases from incidental changes, we get led into thinking that -we can in fact revert by destructive intervention. - -In fact reversion has inevitable consequences. We must make a choice. - -@itemize -@item Revert entire state, except we lose runtime state. - -In this case, we essential revert the entire system from a back up of -its saved state. (Some virtual machines can save runtime state for -resumption, but this can become stale, e.g. for network connections, -as it is meaningless to rollback part of a dialogue.) This operation -results in catastrophic change. - -@item Revert managed state, on the fly. - -This is CFEngine's default behaviour. To go back to a previous state, -simply change the policy back to a previous version. This will not -necessarily revert the entire state of the system, but everything that -is covered by policy will be reverted. -@end itemize - -Some tools allow you to rollback without reverting from -backup. CFEngine disallows this on principle as it requires -human judgement to perform correctly. It cannot be automated without -uncertain results. In fact CFEngine -retains the necessary information to allow managed changes to be -reversed to some extent. The point however is that one can only -guarantee the content of managed objects, so simply reversing a change -will not necessarily take us back to the same state -- so we consider this -to be fundamentally too risky. - -@c *********************************************************** -@node Monitoring file changes, Hashes and Message Digests, Rollback or remediation, Change Management in ITIL -@subsection Monitoring file changes - -CFEngine can monitor absolute and relative states -of a system. A simple way to measure relative change is -to use a database of checksums. - -@smallexample -control: - - ChecksumUpdates = ( true ) - ChecksumPurge = ( true ) - -files: - - /my/important/files - - recurse=inf - checksum=md5 - owner=root,daemon - group=0,1,4 -@end smallexample - - -Change monitoring is about detecting when stored data, or other -measurable aspects of a computer system change. A change detection -system is not normally concerned with the reason for a change, but if -you are monitoring for change then we shall take it for granted -somehow that you are expecting to find changes that you didn't plan -for yourself. - -@c *********************************************************** -@node Hashes and Message Digests, Computing hashes, Monitoring file changes, Change Management in ITIL -@subsection Hashes and Message Digests - -The most important bulk of information on a computer is its filesystem -data. Change detection for filesystems uses a technique made famous in -the program Tripwire, which collects a ``snapshot" of the system in the -form of a database of file checksums (cryptographic hashes) and -permissions and rechecked the system against this database at regular -intervals. Tripwire examines files, and looks for change in their -contents or their attributes. This is a very simple (even simplistic) -view of change. If a legitimate change is made to the system, such a -system responds to this as a potential threat. Databases must then be -altered, or rebuilt. - -A cryptographic hash (also called a @i{digest}) is an algorithm that -reads (digests) a file and computes a single number (the hash value) -that is based on the contents. If so much as a single bit in the file -changes then the value of the hash will change. You can compute -hash values manually, for example: - -@smallexample - -host$ openssl md5 CFEngine-2.2.4a.tar.gz -MD5(CFEngine-2.2.4a.tar.gz)= 6d2b31c4814354c65cbf780522ba6661 - -@end smallexample - -There are several kinds of hash function. The most common ones are MD5 -and SHA1. Recently both of the algorithms that create these hashes -have been superceded by the newer SHA2. CFEngine supports MD5 and SHA1 -and it will support SHA2 as soon as the OpenSSL library supports an -interface to the new algorithm. - -@c *********************************************************** -@node Computing hashes, Neighbourhood watch and tampering, Hashes and Message Digests, Change Management in ITIL -@subsection Computing hashes or digests - -CFEngine has adopted something like the Tripwire model, but with a few -provisoes. Tripwire assumes that all change is unauthorized (it makes -an incident out of any observed change). CFEngine cannot reasonably take this viewpoint. CFEngine expects -systems to change dynamically, so it allows users to define a policy -for what changes are considered to be okay. - -Integrity checks on files whose contents are supposed to be static are -a good way to detect tampering with the system, from whatever -source. Running MD5 or SHA1 checksums of files regularly provides us -with a way of determining even the smallest changes to file contents. - -To use the checksum based change detection we first ask CFEngine to -collect MD5 hash data for specified files. Here is an excerpt from a -CFEngine configuration program that would check the /usr/local -filesystem for file changes. Note that it excludes files such as log -files that we therefore allow to change (log files are supposed to -change): - -@smallexample -files: - - /usr/local owner=root,bin,man - mode=o-w # check permissions separately - r=inf - checksum=best # switch on change detection - action=warnall - ignore=logs - exclude=*.log - - # repeat for other files or directories - -@end smallexample - -The first time we run this, CFEngine collects data and treats all files -as ``unchanged''. It builds a database of the checksums. The next time the -rule is checked, cfagent recomputes the checksums and compares the new values -to the `reference' values stored in the database. If no change has occurred, -the two should match. If they differ, then the file as changed and a warning -is issued. - -@smallexample -cf:nexus: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -cf:nexus: SECURITY ALERT: Checksum (md5) for /etc/passwd changed! -cf:nexus: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -@end smallexample - -This message is designed to be visible. If you do not want the embracing -rows of `!' characters, then this control directive turns them off: - -@smallexample -control: - - Exclamation = ( off ) -@end smallexample -The next question to ask is: what happens if the change that was -detected is actually okay (which is almost always the case in practice). -If you activate this option: -@smallexample -control: - - ChecksumUpdates = ( on ) -@end smallexample -Then, as soon as a change has been detected, the database is updated -and the message will not be repeated. If this is set to @code{off}, -which is the default, then warning messages will be printed each time -the rule is checked. - -New files are automatically detected, as they are not in the database. -If you want to be notified when files are deleted, then set the option - -@smallexample -control: - - ChecksumPurge = ( on ) -@end smallexample - -@c *********************************************************** -@node Neighbourhood watch and tampering, , Computing hashes, Change Management in ITIL -@subsection Neighbourhood watch and tampering - -Message digests are supposed to be unbreakable, tamperproof -technologies, but of course everything can be broken by a sufficiently -determined attacker. Suppose someone wanted to edit a file and alter -the CFEngine checksum database to cover their tracks. If they had -broken into your system, this is potentially easy to do. How can we -detect whether this has happened or not? - -A simple solution to this problem is to use another checksum-based -operation to copy the database to a completely different host. By using -a copy operation based on a checksum value, we can also remotely detect -a change in the checksum database itself. - -Consider the following code: - -@smallexample -# Neighbourhood watch - -control: - - allpeers = ( - SelectPartitionNeighbours(/path/hostlist,\#,random,4) - ) - -copy: - - /var/cfengine/checksum\_digests.db - - dest=/safekeep/chkdb_$(this) - type=checksum - server=$(allpeers) - inform=true # warn of copy - backup=timestamp - define=tampering - -alert: - - tampering:: - - 'Digest tampering detected on a peer' -@end smallexample - - -It works by building a list of neighbours for each host. The function -@smallexample -SelectPartitionNeighbours -@end smallexample -can be used for this. Using a file which -contains a list of all hosts running CFEngine (e.g. the @code{cfrun.hosts} file), -we create a list of hosts to copy databases it from. Each host in the -network therefore takes on the responsibility to watch over its neighbours. - -The copy rule attempts to copy the database to some file in a safekeeping -directory. We label the destination file with @code{$(this)} which becomes -the name of the server from which the file was collected. Finally, we backup -any successful copies using a timestamp to retain a complete record of all changes -on the remote host. Each time a change is detected, a copy will be kept of the -old. The rule contains triggers to issue alerts and warnings also just to make -sure the message will be heard. - -In theory, all four neighbours should signal this change. If an attacker -had detailed knowledge of the system, he or she might be able to subvert -one or two of these before the change was detected, but it is unlikely that -all four could be covered up. At any rate, this approach maximizes the -chances of change detection. - -Finally, in order to make this copy, you must, of course, grant access to the -database in @code{cfservd.conf}. - - -@smallexample -# cfservd.conf - -admit: - -any:: - - /var/cfengine/checksum_digests.db mydomain.tld -@end smallexample - - -Let us now consider what happens if an attacker changes a file an edits -the checksum database. Each of the four hosts that has been designated -a neighbour will attempt to update their own copy of the database. If the -database has been tampered with, they will detect a change in the md5 -checksums of the remote copy versus the original. The file will therefore -be copied. - -It is not a big problem that others have a copy of your checksum -database. They cannot see the contents of your files from this. A -possibly greater problem is that this configuration will unleash an -avalanche of messages if a change is detected. This makes messages visible at least. - - - - -@c *********************************************************** -@node Release Management in ITIL, Configuration version control and rollback, Change Management in ITIL, Using CFEngine to implement ITIL objectives -@section Release Management in ITIL - -Release management, as defined by ITIL (section 9 of BS15000-2), is a -management function rather than a machine implementation -operation. It includes all aspects of designing, planning and scheduling -changes, but does not include the implementation. - -CFEngine can help with the final stages of software release -management, namely deployment of software components and -configuration. However, the bulk of this item concerns the human -process of decision-making. - -@itemize -@item Creating a schedule and policy for releases. -@item Acquiring of completing the components for release. -@item Assigning roles for responsibility. -@item Labelling release items uniquely for tracking. -@item Documentation updates. -@item Testing prior to release. -@end itemize -CFEngine is not a tool for assisting in this kind of process. Some -kind of process planning tool and revision control system could work -for this. - -CFEngine has features that can be considered in the context of this -work, however. - -@itemize -@item packages - -@item files - -@item copy - -@end itemize - -ITIL frequently works with the idea of a @emph{baseline state} -While CFEngine has no problem working with the idea of a baseline configuration, -it is designed to exceed this assumption of maintenance from release to release. -ITIL does not adequately address the need for on-the-fly maintenance; it only -models large-jump changes, not error corrections. CFEngine, on the other hand, makes -no distinction between a large and a small change, thus users of CFEngine must make -a value judgement about the nature of such changes. - - -@c *********************************************************** -@node Configuration version control and rollback, Availability and Capacity Management, Release Management in ITIL, Using CFEngine to implement ITIL objectives -@section Version control and rollback - - - -CFEngine does not provide specific tools for versioning configuration -specifications. It is rather recommended to use a tool such as subversion -for this. - -Subversion maintains its own revision numbers that are not -visible to CFEngine however. -It is useful to be able to refer to version numbers also -in CFEngine. From software release 2.2.2 a version string -can be added to files as follows: -@smallexample -control: - -cfinputs_version = ( 1.2.3 ) -Auditing = ( on ) - -@end smallexample -This -defines the version number of a set of configuration files -which is referred to in auditing and error messages. - - -When CFEngine saves the current -version of a file that it is modifying or replacing, by default such -files are given a new extension and remain within the same directory -which they were encountered. Alternatively, one can specify a -repository directory to which such files can be moved instead. The -repository location is specified in the @code{control} section: -@smallexample -control: - Repository = ( /var/spool/CFEngine ) -@end smallexample -Files moved to the repository are given names reflecting their full path, with slashes replaced -by underscore characters. For some, this creates a clearer overview of the -changes that have occurred. - -The repository is used by @code{disable}, @code{editfiles}, @code{links}, and @code{copy} rule types; -@code{copy} and @code{disable} allow you to override repository use or to specify an alternate -repository directory via their @code{repository} option. - - -You should never edit the production version of a policy directly, but rather edit a -separate development area and publish the changes once tested. The ITIL change management -process is applicable to this human change (much more relevant that the machine changes -made by CFEngine itself.). - - -@menu -* Delegating responsibility to multiple groups:: -@end menu - -@c *********************************************************** -@node Delegating responsibility to multiple groups, , Configuration version control and rollback, Configuration version control and rollback -@subsection Delegating responsibility - -CFEngine has no meta-access control mechanism which can decide who may -write policy rules. To create such a mechanism, there would have to be -a monitor which could identify users, and an authority mechanism that -would disallow certain users to write rules of certain types about -certain objects on certain hosts. Clearly it is @emph{possible} -to create such a system, but it would be both technically -difficult, very cumbersome to use and would add a whole new level -of complexity to policy and potential error to the configuration process. - -To keep matters as simple as possible, CFEngine avoids this and -proposes a different approach. Promise theory allows us to model the -security implications of this (see the figure of the bow-tie -structure). A simple method of delegating is the following. - -@enumerate -@item Delegate responsibility for different issues to admin teams 1,2,3, etc. -@item Make each of these teams responsible for version control of their own -configuration rules. -@item Make an intermediate agent responsible for collating and vetting the rules, checking for -irregularities and conflicts. This agent must promise to disallow rules by -one team that are the responsibility of another team. The agent could be a -layer of software, but a cheaper and more manageable solution is the make this -another group of one or more humans. - -@item Make the resulting collated configuration version controlled. Publish -approved promises for all hosts to download from a trusted source. - - -@end enumerate - -A review procedure for policy promises is a good -solution if you want to delegate responsibility for different parts of -a policy to different sources. Human judgement is irreplaceable, and tools -can be added to make conflicts easier to detect. - -Promise theory underlines that, if a host of computing device accepts -policy from any source, then it is alone and entirely responsible for -this decision. The ultimate responsibility for the published version -policy is the vetting agent. This creates a shallow hierarchy, but -there is no reason why this formal body could not be comprised of -representatives from the multiple teams. - -@image{delegate,10cm,,Delegation of responsibility requires vetting access,png} - - -@c *********************************************************** -@node Availability and Capacity Management, , Configuration version control and rollback, Using CFEngine to implement ITIL objectives -@section Availability and Capacity Management - -CFEngine records all manner of information about the behaviour of computers during -its efforts to keep promises. These data offer the potential of mining for building -up a picture of the behaviour of an entire datacentre or organization, perhaps even -multiple domains. - -CFEngine's environment daemon further collects patterns of environmental influence -of hosts in a resource non-intensive manner. -These data contain much information to enable capacity planning. - -We should add a warning however. Capacity planning requires a considerable -amount of data and analysis, as well as a sound and critical judgement of the -data. Resource and performance management are such complex issues that -no simple recipe or checklist can replace the judgement of an experienced -engineer. However, CFEngine can supply data to such an engineer. - -@enumerate -@item Performance measurements (@code{cfshow -p}) allow the average throughput of a server in terms -of time to completion of service. If service times are too long, this is an indication -(but not proof) that hardware should be upgraded. - -@item Activity levels are graphed per service. These indicate the level of traffic -coming into the different servers. Evidence of a ceiling limit on the throughput (clipping -in the time-series) can show insufficient throughput. - -@item Distribution graphs of fluctuations about the mean can also show evidence -of ceiling limits. Asymmetric distributions show when the majority of -service requests tend to bunch at a high level (probable stress on -server) or at a low level (over dimensioned server). -@end enumerate - -The level of technical understanding to make sound judgements based on -these data goes somewhat beyond the scope of this document. This -motivates us to create better tools for CFEngine that can make these -analyses more accessible to users. However, this must be deferred for another -occasion. - - -@c *********************************************************** -@node Summary, ITIL glossary, Using CFEngine to implement ITIL objectives, Top -@chapter Summary - -We have described the basics of CFEngine and ITIL and shown a number -of areas where the two can be integrated. - - -@itemize -@item CFEngine users can benefit from the disciplines that ITIL brings. -@item ITIL can benefit from the predictability that CFEngine brings. -@end itemize - - - - - -@menu -* How we wrote this document:: -* Road-map for adoption:: -@end menu - -@c *********************************************************** -@node How we wrote this document, Road-map for adoption, Summary, Summary -@section How we wrote this document, Promise concepts voluntary cooperation, Summary, Summary - - -So, if ITIL is so great, did we use it to manage the process of -writing this document? Authoring a document and authoring a policy -have much in common, so let us spend a moment to examine the process -of checks and balances that we have used to produce this text. - -The answer to our question is both yes and no, and while this might -sound rather unhelpful, we suggest that it is in fact a significant -answer; indeed it is the @emph{right} answer in response to any -question about best practices because such recipes must always be -applied to a specific context. - -There are sensible and ridiculous ways to implement a set of -recommendations. ITIL users should expect to adapt its generalized -ideas to each set of special circumstances. To do this here, we have -used the parts of ITIL that make particular sense for authoring, and -we have also used CFEngine's model of promises or voluntary -cooperation to understand how to implement them. - -For example, ITIL suggests forming committees for discussing and -deciding change. A committee is a cumbersome device when the total -number of people involved in the entire process is two. Nevertheless, -the role of the committee is relevant (i.e. the promises it makes to -bring the process to completion), and this is where promise theory -helps us to make sense of the ``dumb rules''. We have multiple opinions -and multiple pairs of eyes for quality control as well as for inspiration. - -@menu -* ITIL concepts for authoring:: -* Promise concepts voluntary cooperation:: -@end menu - -@node ITIL concepts for authoring, Promise concepts voluntary cooperation, How we wrote this document, How we wrote this document -@subsection ITIL concepts for authoring, Promise concepts voluntary cooperation, Summary, Summary - -Several parts of ITIL are quite relevant to authoring. - -@itemize -@item @emph{Service management.} A document provides an information service to its clients (the readers). -It promises to be accurate to within reasonable limits. - -@item @emph{Release management.} Each version of our document can be considered a release -which undergoes a continual improvement cycle, constantly being evaluated and -changed in accordance with events and incidents that occur. - -@item @emph{Incidents.} An incident is something that impacts on the service. An incident -could be the discovery of an error in the text. It could be a disagreement between -the authors or a misunderstanding on the part of the reader. There have been many incidental -changes based on discussions in our teams. - -@item @emph{Impact.} The impact of the incident is the potential damage caused by the incident, -or the usefulness of the discovery. Incidents are not necessarily negative events. They -can be events which point out improvements. - -@item @emph{Request for change.} One of the authors asks to make changes to the text. - -@item @emph{Change management.} Each identified change can be evaluated for its potential -impact (benefit or confusion). If there are many changes to be made, priority can be -assigned to them. When should the changes be implemented? - -@end itemize - -@c *********************************************************** -@node Promise concepts voluntary cooperation, , ITIL concepts for authoring, How we wrote this document -@subsection Promising voluntary cooperation, Road-map for adoption, Summary, Summary - - -What does promise theory say about collaborative authoring? - -First of all, it begins by saying that each individual in the process -of authoring has independent knowledge and should be represented as a -separate agent. It tells us that promises to cooperate will be needed -to integrate the information. - -However, more than that, promises tell us that each section of the -text is an ``agent'' which can change or behave independently. In -other words, we can manage the parts independently, but again we need -to promise to coordinate those parts. So promise theory asks us first -to identify the agents (the topics in the document) that will be -interacting and then find out what promises they need to make to carry -out their function. - -Because of the individual nature of the parts, we can associate an -individual author to each. To bring them together we need a further -agent or individual to collate independent ideas and policy sources -into a single coherent whole. Thus promises shows us a basic -``bow-tie'' structure for integrating and correlating independent -sources and then making the results available to independent users -(see figure). This is not the only solution to the -problem of vetting that promises predicts, but it is the simplest -one. Also it is the approach that ITIL approves -- making a someone -responsible for the job. - -We emphasize that promise theory does not tell us the specifics of how -to implement solutions, it only tells us what elements are needed and -how they should interact. So we might implement agents as people, as -different computers, or as different user accounts within the same computer. -As long as the elements can keep the necessary promises, it does not matter. - - -So how did we write our document? In fact we did not use a very -strict ITIL-like change management process when writing the first -versions of our document. Such a process could have strangled our work -in the creative stage and doubled the time it took to write. Rather, we worked -in an @emph{ad hoc} way by voluntary cooperation. Each of us promised -to write about certain topics and work on the text independently. We -worked as autonomous agents, and we used Subversion (a version control -and sharing system) to keep the working document. Subversion is itself -a third agent which promises to accept changes one at a time from -either of the two authors and then make these changes available again -to both authors. This agent performs no vetting or control other than -ordering the changes. - -The authors have to promise to one another to resolve any conflicts or -disagreements, but promises do not suggest how this might take place. -(ITIL, on the other hand, does offer suggestions for this resolution process). - -ITIL seems to work best once a service is up and running, or once a -basic version of a document exists. It does not say so much about the -creative act, except to think of it as a release. - -What ITIL is weak at is parallelization of effort. ITIL's processes are -serialized processing models. In our first creative versions, we -converged in parallel onto an approximate result, each working -separately. This is very efficient but it can lead to duplication of -work or inconsistency. Serialization is needed to resolve consistency -issues precisely, but it leads to unnecessary waiting in some cases. - - -@node Road-map for adoption, , How we wrote this document, Summary -@section Road-map for adoption - -Below we indicate a checklist of ITIL compliant steps for using CFEngine -in a machine life-cycle. - - -@enumerate -@item Set up cfagent running at scheduled interval X. This is the Service Level Agreement. - -@item Set up versioning of policy. - -@item Set up delegation of authorship. - -@item Run cfenvd for passive monitoring. Run cfagent for active monitoring. - -@end enumerate - -Release: - -@enumerate - -@item Select installation medium e.g. DVD, net-boot with hooks to CFEngine. - -@item Start with essential promises, and formulate the configuration policy. - -@item Use ITIL processes for deciding and refining configuration promises. - -@item Evaluation and monitoring of promises using cfagent and cfenvd. - -@item Use cfagent for monitor changes using cryptographic checksums. - -@item Develop recovery plans. Use CFEngine to automate backup of data and -automate the duplication of servers for load balancing and redundancy. - -@end enumerate - - - - -@c -------------------------------------------------------------------- - -@node ITIL glossary, , Summary, Top -@chapter ITIL glossary - -This section lists some of the many terms from ITIL, especially the ISO/IEC 20000 -version of the text, and offers some comments and translations into common CFEngine -terminology. - - - -@menu -* Active Monitoring:: -* Availability:: -* Alert:: -* Audit :: -* Baseline:: -* Benchmark :: -* Capability:: -* Change record:: -* Chronological Analysis:: -* Configuration:: -* Configuration Item (CI):: -* Configuration Management Database CMDB :: -* Document:: -* Emergency Change:: -* Error:: -* Event:: -* Exception:: -* Failure:: -* Incident:: -* Monitoring:: -* Passive Monitoring:: -* Policy:: -* Proactive Monitoring:: -* Problem:: -* Promise:: -* Reactive Monitoring:: -* Record:: -* Recovery:: -* Remediation:: -* Repair:: -* Release:: -* Request for Change:: -* Resilience:: -* Restoration:: -* Role:: -* Service desk:: -* Service Level Agreement:: -* Service Management:: -* Warning:: -@end menu - -@node Active Monitoring, Availability, ITIL glossary, ITIL glossary -@section Active Monitoring - -Monitoring of a configuration item or IT service that uses automated regular checks to discover the current status. - -@cartouche -CFEngine performs programmed checks of all of its promises each time cfagent is started. -Cfagent is, in a sense, an active monitor for a set of promises that are described in its -configuration file. -@end cartouche - -@node Availability, Alert, Active Monitoring, ITIL glossary -@section Availability - -The ability of a component or service to perform its required function. - -Availability = Hours operational / Agreed service hours - - -@cartouche -Availability or intermittency in CFEngine refers to the responsiveness of -hosts in a network when remotely connecting to cfservd. - -Intermittency = Successful~ attempts / Total Attempts - -@end cartouche -This is a measurement that cfagent automatically makes. - -@node Alert, Audit , Availability, ITIL glossary -@section Alert - -A warning that a threshold has been reached, something has changed or a failure has occurred. - - -@cartouche -A CFEngine alert fits this description quite well. -Most alerts are user-defined, but a few are side effects of certain configuration -rules. -@end cartouche - -@node Audit , Baseline, Alert, ITIL glossary -@section Audit - - -A formal inspection and verification to check whether a standard or -set of guidelines is being followed. - - - - -@cartouche -CFEngine's notion of an audit is more like the notion from system -accounting. However, the data generated by this extra logging -information could be collected and used in a more detailed examination -of CFEngine's operations, suitable for use in a formal inspection -(e.g. for compliance). -@end cartouche - - -@node Baseline, Benchmark , Audit , ITIL glossary -@section Baseline - - -A snapshot of the state of a service or an individual configuration -item at a point in time - - -@cartouche -In CFEngine parlance, we refer to this as an initial state or -configuration. In principle a CFEngine initial state does not have to -be a known-base line, since the changes we make will not generally be -relative to an existing configuration. CFEngine encourages users to -define the final state (regardless of initial state). -@end cartouche - - -@node Benchmark , Capability, Baseline, ITIL glossary -@section Benchmark - -The recorded state of something at a specific point in time. - - -@cartouche -CFEngine does not use this term in any of its documentation, though -our general understanding of a ``benchmark'' is that of a standardized -performance measurement under special conditions. CFEngine regularly -records state and performance data in a variety of ways, for example -when making file copies. -@end cartouche - -@node Capability, Change record, Benchmark , ITIL glossary -@section Capability - -The ability of someone or something to carry out an activity. - - -@cartouche -CFEngine does not use this concept specifically. The notion of a capability -is terminology used in role-based access control. -@end cartouche - -@node Change record, Chronological Analysis, Capability, ITIL glossary -@section Change record - -A record containing details of which configuration items are affected -and how they are affected by an authorized change. - - - -@cartouche -CFEngine's default modus operandi is to @emph{not} record changes made -to a system unless requested by the user. Changes can be written as -log entries or audit entries by switching on reporting.@end cartouche - -Consider a typical CFEngine promise (to ensure that a destination file -is a copy of a source). Three levels of change recording can be -added in CFEngine 2: -@smallexample - -copy: - - /source/file dest=/destination/file - - inform=true - syslog=true - audit=true -@end smallexample -An ``inform'' promise means that cfagent promises to notify the -changes to its standard output (which is usually sent by email or -printed on a console output). A ``syslog'' promise implies that -cfagent will log the message to the system log daemon. Both of the -foregoing messages give only a simple message of actual changes. An -``audit'' promise is a promise to record extensive details about the -process that cfagent undergoes in its checking of other promises. - - -@node Chronological Analysis, Configuration, Change record, ITIL glossary -@section Chronological Analysis - -An analysis based on the timeline of recorded events (used to help identify possible causes of problems). - - - -@cartouche -A timeline analysis could easily be carried out based on audit -information, system logs and cfenvd behavioural records. -@end cartouche - -@node Configuration, Configuration Item (CI), Chronological Analysis, ITIL glossary -@section Configuration - -A group of configuration items (CI) that work together to deliver an IT service. - -@cartouche -A configuration is the current state of resources on a system. This is, in -principle, different from the state we would like to achieve, or what has -been promised. -@end cartouche - -@node Configuration Item (CI), Configuration Management Database CMDB , Configuration, ITIL glossary -@section Configuration Item (CI) - -A component of an infrastructure which is or will be under the control -of configuration management. - - -@cartouche -A configuration item is any object making a promise -in CFEngine. We often speak of the promise object, or ``promiser''.@end cartouche - -@node Configuration Management Database CMDB , Document, Configuration Item (CI), ITIL glossary -@section Configuration Management Database (CMDB) - -Database containing all the relevant details of each configuration -item and details of the important relationships between them. - - -@cartouche - -CFEngine has no asset database except for its own list of -promises. The only relationships is cares about are those which are -explicitly coded as promises. In the future, CFEngine 3 is likely -to extend the notion of promises to allow more general records of the -CMDB kind, but only to the extent that they can be verified autonomically. -@end cartouche - -@node Document, Emergency Change, Configuration Management Database CMDB , ITIL glossary -@section Document - -Information and its supporting medium. - - - -@cartouche -ITIL originally considered a document to be only a container for -information. In version 3 it considers also the medium on which -the data are recorded, i.e. both the file and the filesystem on which it resides.@end cartouche - -@node Emergency Change, Error, Document, ITIL glossary -@section Emergency Change - -A change that must be introduced as soon as possible -- for example to -solve a major incident or to implement a critical security patch. - - - -@cartouche -CFEngine has no specific concept for this. -@end cartouche - -@node Error, Event, Emergency Change, ITIL glossary -@section Error - -A design flaw or malfunction that causes a failure. - - - -@cartouche -CFEngine often uses the term configuration error to mean a deviation of -a configuration from its promised state. The ITIL meaning of the term would -translated into ``bug in the CFEngine software'' or ``bug in the -promised configuration''. -@end cartouche - - -@node Event, Exception, Error, ITIL glossary -@section Event - -A change of state that has significance for the management of a -configuration item or IT service. - - - -@cartouche -The same basic definition applies to CFEngine also, but CFEngine makes -all such events into @emph{classes}, since its approach to observing -the environment is to measure and then classify it into approximate -expected states. CFEngine class attributes (usually from cfenvd) may -be considered as event notifications as they change. -@end cartouche - -@node Exception, Failure, Event, ITIL glossary -@section Exception, Failure, Event, Summary - -An @b{event} that is generated when a service or device is currently operating abnormally. - - - -@cartouche -A state in which configuration policy is violated (could lead to a -warning or an automated correction). -@end cartouche - - -@node Failure, Incident, Exception, ITIL glossary -@section Failure - -Loss of ability to operate to specification or to deliver the required output. - - - -@cartouche -ITIL's idea of a failure is something that prevents a promise from being kept. -CFEngine's autonomy model means that it is unlikely for such a failure -to occur, since promises are only allowed to be made about resources for which -we have all privileges. Occasionally, environmental issues might interfere and -lead to failure. -@end cartouche - -@node Incident, Monitoring, Failure, ITIL glossary -@section Incident - -Any event that is not expected in normal operations and which might -cause a degradation of service quality. - - - -@cartouche -CFEngine's philosophy of convergence gives us only one option for -interpreting this term, namely as a temporary deviation from promised -behaviour. A deviation must be temporary if CFEngine is operating -continually, since it will repair any problem on its next invocation -round. Events which do not impact promises made by CFEngine are of no -interest to CFEngine, since autonomy means it cannot be responsible -for anything beyond its own promises. -@end cartouche - -@node Monitoring, Passive Monitoring, Incident, ITIL glossary -@section Monitoring - -Repeated observation of a configuration item, IT service or process in -order to detect events and ensure that the current status is known. - - - -@cartouche -CFEngine incorporates a number of different kinds of monitoring, including monitoring of kept -configuration-promises and passive monitoring of behaviour. -@end cartouche - -@node Passive Monitoring, Policy, Monitoring, ITIL glossary -@section Passive Monitoring - -Monitoring of a configuration item or IT service that relies on an alert or notification to discover the current status. - - - -@cartouche -Cfenvd is CFEngine's passive monitoring component. It observes system -related behaviour and learns about it. It assumes that there is likely -to be a weekly periodicity in the data in order to best handle its -statistical inference. -@end cartouche - -@node Policy, Proactive Monitoring, Passive Monitoring, ITIL glossary -@section Policy - -Formally documented management expectations and intentions. Policies -are used to direct decisions, and to ensure consistent and appropriate -development and implementation of processes, standards, roles, -activities, IT infrastructures, etc. - - -@cartouche -CFEngine's configuration policy is an automatable set of promises -about the static and runtime state of a computer. Roles are identified -by the kinds of behaviour exhibited by resources in a network. We say -that a number of resources (hosts or smaller configuration objects) -play a specific promised role if they make identical promises. Any resource can -play a number of roles. Decisions in CFEngine are made entirely on the basis -of the result of monitoring a host environment. -@end cartouche - -@node Proactive Monitoring, Problem, Policy, ITIL glossary -@section Proactive Monitoring, Problem, Policy, Summary - -Monitoring that looks for patterns of events to predict possible future failures. - - - -@cartouche -All CFEngine monitoring is pro-active in the sense that it can lead to automated follow-up actions. -@end cartouche - -@node Problem, Promise, Proactive Monitoring, ITIL glossary -@section Problem - -Unknown underlying cause of one or more incidents. - - - -@cartouche -A repeated deviation from policy that suggests a change of policy or -specific counter-measures. A promise needs to be reconsidered or new promises -are required. -@end cartouche - -@node Promise, Reactive Monitoring, Problem, ITIL glossary -@section Promise, Reactive Monitoring, Problem, Summary - -ITIL does not define this term, although promises are deployed in -various ways -- for instance in terms of cooperation, communication -interfaces within or between processes or contractual relationships as -defined by Service Level Agreements, Operational Level Agreements and -Underpinning Contracts. - - - -@cartouche -A promise in CFEngine is a single rule in the CFEngine language. The promiser is the resource -whose properties are described, and the promisee is implicitly the CFEngine monitor. -@end cartouche - -@node Reactive Monitoring, Record, Promise, ITIL glossary -@section Reactive Monitoring - -Monitoring that takes action in response to an event -- for example -submitting a batch job when the previous job completes, or logging an -incident when an error occurs. - - - -@cartouche -The concept of reactive monitoring is unclear because the duration of an event and the speed of -a response are undefined. In a sense, all CFEngine monitoring is potentially reactive. It is possible -to attach actions which keep promises to any observable condition discernable by CFEngine's monitor. -CFEngine is not usually considered event driven however, since it does not react ``as soon as possible'' -but at programmed intervals. -@end cartouche - -@node Record, Recovery, Reactive Monitoring, ITIL glossary -@section Record - -Information in readable form that is maintained by the service provider about operations. - - - -@cartouche -A log entry or database item. -@end cartouche - -@node Recovery, Remediation, Record, ITIL glossary -@section Recovery - -Returning a Configuration Item or an IT service to a working -state. Recovering of an IT service often includes recovering data to a -known consistent state. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. -@end cartouche - -@node Remediation, Repair, Recovery, ITIL glossary -@section Remediation - -Recovery to a known state after a failed change or release. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. - -However, this concept is like the notion of ``rollback'' which often involves a more -significant restoration of a system from backup. This is discussed later. -@end cartouche - -@node Repair, Release, Remediation, ITIL glossary -@section Repair - -The replacement or correction of a failed configuration item. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation.@end cartouche - -@node Release, Request for Change, Repair, ITIL glossary -@section Release, Request for Change, Repair, Summary - -A collection of new or changed configuration items that are introduced together. - - - -@cartouche -An instantiation of the entire CFEngine system under a specific -version of a policy, i.e. a specific set of promises. -@end cartouche - -@node Request for Change, Resilience, Release, ITIL glossary -@section Request for Change - -A form to be completed requesting the need for change. This is to be followed up. - - - -@cartouche -This has no counterpart in CFEngine. It is part of human communication -which coordinates autonomous machines. Clearly autonomous computers do not -listen to change requests from other computers, but when machines cooperate -in clusters or groups they take suggestions from the collaborative process. -An RFC in an ITIL sense is part of an organizational process that goes beyond - CFEngine's level of jurisdiction. This is an example of what ITIL adds to -the autonomous CFEngine model. -@end cartouche - -@menu -* Abandon Autonomy?:: -@end menu - -@node Abandon Autonomy?, , Request for Change, Request for Change -@subsection Abandon Autonomy? - -Why not simply abandon autonomy of machines if this seems to interfere -with the need for organizational change? There are good reasons why -autonomy is the correct model for resources. Autonomy reduces the risk to a -resource of attack, mistake and error propagation. - -ITIL's processes exist precisely to minimize the risk of negative -impact of change, so the goals are entirely compatible. When an organization -discusses a change it examines information from possible several autonomous -systems and discusses how they will change their pattern of collaboration. -There is no point in this process at which it is necessary for one of the -systems to give up its autonomy. - - -@node Resilience, Restoration, Request for Change, ITIL glossary -@section Resilience - -The ability of a configuration item or IT service to resist failure or to recover quickly following a failure. - - - -@cartouche -CFEngine's purpose is to make a system resilient to unpredictable change.@end cartouche - -@node Restoration, Role, Resilience, ITIL glossary -@section Restoration - -Actions taken to return an IT service to the users after repair and recovery from an incident. - - - -@cartouche -All CFEngine promises refer to the state of a system that is desired. The promises are -automatically enforced, hence CFEngine recovers a system (in principle) on every invocation. -CFEngine always returns to a known state, due to the property of ``convergence''. There is no -distinction between the concepts of repair, recovery or remediation. - -However, this concept seems to suggest a more catastrophic failure -which often involves a more significant restoration of a system from -backup. This is discussed later. -@end cartouche - -@node Role, Service desk, Restoration, ITIL glossary -@section Role - -A set of responsibilities, activities and authorities granted to a person or a team. Roles are defined in processes. - - - -@cartouche -A role in CFEngine is a class of agents that make the same kind of promise. The type -of role played by the class is determined by the nature of the promise they make. e.g. -a promise to run a web server would naturally lead to the role ``web server''. -@end cartouche - -@node Service desk, Service Level Agreement, Role, ITIL glossary -@section Service desk - -Interface between users and service provider. - - - -@cartouche -A help desk. This is not formally part of CFEngine's tool set. -@end cartouche - -@node Service Level Agreement, Service Management, Service desk, ITIL glossary -@section Service Level Agreement - -A written agreement between the service provider that documents agreed -services, levels and penalties for non-compliance. - - - -@cartouche -An agreement assumes a set of promises that propose behaviour and an -acceptance of those promises by the client. If we assume that the -users are satisfied with out policies, then an SLA can be -interpreted as a combination of a configuration policy -(configuration service promises), and the CFEngine execution -schedule. -@end cartouche - - -@node Service Management, Warning, Service Level Agreement, ITIL glossary -@section Service Management - - The management of services. - - - -@cartouche -Same.@end cartouche - -@node Warning, , Service Management, ITIL glossary -@section Warning - -An @b{event} that is generated when a service or device is approaching its threshold. - - - -@cartouche -A message generated in place of a correction to system state when a deviation from policy is detected. -Note that CFEngine is not based on fixed thresholds. All ``thresholds'' for action or warning -are defined as a matter of policy. -@end cartouche - - - - - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf3-glossary.texinfo b/docs/guides/cf3-glossary.texinfo deleted file mode 100644 index d815119c56..0000000000 --- a/docs/guides/cf3-glossary.texinfo +++ /dev/null @@ -1,274 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-glossary.info -@settitle CFEngine Glossary -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine Glossary -@subtitle A CFEngine Handbook -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2009- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, , (dir), (dir) -@top CFEngine Glossary -@end ifnottex - -@table @emph - -@item Agent -A piece of software that runs independently and automatically to carry out a task (think software robot). -Inn CFEngine, the agent is called @code{cf-agent} and is responsible for making changes to computers. - -@item Amber host -A host that has repaired more than 20% of its scheduled promises in the past 5 minutes. -(See yellow host.) - -@item Body -A promise body is the description of exactly what is promised (as -opposed to what/who is making the promise). The term `body' is used in -the CFEngine syntax to mean a small template that can be used to -contribute as part of a larger promise body. - -@item Bundle -In CFEngine, a bundle refers to a collection of promises that has a name. - -@item CDP -Content Driven Policy. A way of simplifying the way users provide -information to CFEngine about policy by hiding the overhead of policy -coding. A CDP is a set of promises that is designed to solve a -particular task in a standard way. Users provide only a little data in -the form of a simple spreadsheet of data in a table. - -@item CFEngine -The name of the CFEngine Company, as well as the name of the Software. CFEngine comes from -a contraction of `ConFiguration Engine'. - -@item CFEngine 3.x -Major version 3 of the CFEngine software, started in 2008 and going up -to the present day. This comes in several @emph{editions}, both Open Source and Commercial. - -@item CFEngine Community Edition -Free and Open Source edition of the CFEngine software, published under the GPL3 license, -and optionally under the COSL license. - -@item CFEngine Community Open Promise-Body Library -A collection of standard definitions that is open to the user community for comment and standardization. - -@item CFEngine Enterprise -Refers to commercial (paid) editions of the CFEngine software, published under the COSL license. CFEngine Nova was renamed to CFEngine Enterprise in version 2.2 (2012). - -@item CFEngine Nova -The first enterprise edition of CFEngine, that automatically creates a simple `star network' -mangement model for hosts in an environment. Was renamed to CFEngine Enterprise in version 2.2 (2012). - -@item ChangeLog -A file used to describe the changes made since the last version of the software. - -@item CMDB -A Configuration Management Database. A term coined as part of the IT Infrastructure Library (ITIL) -as an outgrowth of an inventory database. - -@item CMS -Content Management System. A kind of editor for maintaining something (often web pages). - -@item Code branch -The development of software is a branching process. At certain times, -the software code splits into different versions following different -paths. Each path needs to be maintained separately for a while. This -often happens when a release is made, because one wants to freeze the -development of a public release (allowing nevertheless for some minor -bugfixes), while continuing to add features to a branch leading to -future versions. - -@item COPBL -CFEngine Community Open Promise-Body Library (abbrev: CFEngine standard library). -A collection of standard definitions. - -@item COSL license -The Commercial Open Source License used for the CFEngine - -@item CSS -Cascading Style Sheets. Part of Web technology used to describe page design. - - -@item Diff -A `diff' is a report (originally that generated by the UNIX @code{diff} command) that -details the differences between two files. The term is often used as slang meaning a file comparison. - -@item GPL3 -The GNU Public License, version 3. - -@item Green Host -A host for which more than 80% of all promises are kept. - -@item GUI -Graphical User Interface. - -@item Host -UNIX terminology for a computer the runs `guest programs'. In practice, `host' -is a synonym for `computer'. - -@item Hub -A host that works as a -single point of management in a local `star-network'. The term hub is -sometimes used to mean policy distribution server. In CFEngine Enterprise a -separate software component, @code{cf-hub}, does report collection from all CFEngine -managed hosts. The -term hub means the centre of a wheel, from which multiple spokes -emerge. - -@item Knowledge Map -A master index of all the information known about a CFEngine managed environment, represented as -a set of web pages with an interactive interface based on a `semantic web'. The CFEngine Mission Portal provides a -web-based interface for browsing this knowledge map index. - -@item Mission -The mission refers to the raison d'\hat etre of an organization. CFEngine's -task is to support this mission by keeping a set of promises for its IT infrastructure. - -@item Mission Portal -The name given to the user interface used in commercial CFEngine editions, where -all reports and progress summaries are kept. - -@item Modular license -A license granting partial functionality to an Enterprise Edition of CFEngine. - -@item LDAP -The Lightweight Directory Access Protocol. A kind of `phone book' service providing information -about persons and computers in an organization. - -@item Libraries -A library generally refers to collection of standardized CFEngine code -that can be reused in different scenarios and environments. This might -be bundles of promises, or reusable body-parts. - -@item Packages -Software binaries or executable files. The CFEngine company compiles and tests software -into packages suitable for different platforms. - -@item Platforms -This usually refers to an operating system type, e.g. Linux (in its many flavours), or -Windows, etc. Platforms are described using short identifiers, e.g. RH5, REL5, SuSE 11, SLES, etc. - -@item Knowledge Map -Content portal containing datacentre information, privately managed -knowledge resources and CFEngine documentation. - -@item PCI compliance -Payment Card Industry Data Security Standard (PCI DSS) is a set of -requirements designed to ensure that ALL companies that process, store -or transmit credit card information maintain a secure environment. - -@item Promise -The CFEngine software manages every intended system outcome as `promises' to be kept. -A CFEngine Promise corresponds roughly to a rule in other software products, but importantly -promises are always things that can be kept and repaired continuously, on a real time basis, -not just once at install-time. - -@item Policy -A policy is a set of intentions about the system, coded as a list of -promises. A policy is not a standard, but the result of specific -organizational management decisions. - -@item Semantic web -A form of web content in which hyperlinks always explain the meaning of the -information they point to, in relation to the -subject of interest. Semantic web technologies include RDF, Topic Maps etc. - -@item Server -A term used in many different ways, riddled with confusion. A server -is strictly a piece of software that runs on some computer in -order to perform a service, e.g. a web server is a program that -makes a computer part of the World Wide Web. For historical reasons, -certain computers are referred to as servers, especially when kept in -datacentres because such computers often run services. In CFEngine, @code{cf-serverd} -is a software component that serves files from one computer to another. -All computers are recommended to run @code{cf-serverd}, making all computers CFEngine servers, -whether they are laptops, phones or datacentre computers. - -@item Service Catalogue -A kind of directory of `services' provided in an environment. The concept of a service -could be anything from a human help desk to a machine controlled email subsystem. -In the CFEngine Mission Portal, the service catalogue (for maintenance) treats promise-bundles of promises as low-level -maintenance services, and relates these to high level business goals. - -@item SOX Compliance -Sarbanes-Oxley Act compliance. An audited accolade for financial data security -required by all companies on the New York stock exchange. - -@item Standard library -The CFEngine Standard library is a collection of standardized definitions (see COPBL). - -@item Template -A template is an incomplete piece of CFEngine code, with blanks to fill in. It is often -a policy fragment that can be re-used in different scenarios. This is often used interchangeably -with the term `library'. - -@item UI -User interface. - -@item Yellow host. -See amber host. - -@end table - - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf3-installation.texinfo b/docs/guides/cf3-installation.texinfo deleted file mode 100644 index cd0274b33d..0000000000 --- a/docs/guides/cf3-installation.texinfo +++ /dev/null @@ -1,277 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-installation.info -@settitle CFEngine Installation Guide -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine Installation Guide -@subtitle A CFEngine Handbook -@author CFEngine AS - - -@page - -@cartouche -@quotation -This short guide explains how to install the software and get it running. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, CFEngine Installation Guide, (dir), (dir) -@top CFEngine Installation Guide -@end ifnottex - -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@menu -* CFEngine Installation Guide:: -@end menu - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** -@node CFEngine Installation Guide, , Top, Top -@chapter CFEngine Installation Guide - -The quickest way to get started with CFEngine is to download and install binary packages, available from @url{http://cfengine.com/inside/myspace}. Installing and bootstrapping @footnote{CFE Community 3.2 and up} these is a trivial operation, putting you two steps away from testing your first CFEngine policies. The other option is to download and compile the source code, available from @url{http://cfengine.com/source_code}. - -This guide assumes that you are logged in as root, use @code{sudo} if you wish to install from a regular user account (e.g. @code{host$ sudo rmp -ihv} @i{packages}). - -@menu -* Install from packages:: -* Build from source (CFE Community):: -* Bootstrap from source:: -* Check installation:: -* Next steps:: -@end menu - -@node Install from packages, Build from source (CFE Community), CFEngine Installation Guide, CFEngine Installation Guide -@section Install from packages - -@menu -* Unpack the software:: -* Bootstrap CFEngine:: -@end menu - -@node Unpack the software, Bootstrap CFEngine, Install from packages, Install from packages -@subsection Unpack the software - -System specific commands to unpack the software: -@table @i -@item Red Hat or SUSE family -@example -host# rpm -ihv @var{packages} -@end example - -@item Debian family -@example -host# dpkg --install @var{packages} -@end example -@end table - -The below examples are given for a Red Hat or SUSE, adapt them according to your system. To unpack: - -@example - host# rpm -ihv cfengine-community-3.x.y.rpm -@end example - - -@node Bootstrap CFEngine, , Unpack the software, Install from packages -@subsection Bootstrap CFEngine -@cartouche -The below procedure is valid for CFE Nova and CFE Community v3.2 and up (packages for v3.2 will be released soon). For earlier versions of CFE Community binaries, you may proceed directly to section 1.5 Next steps. -@end cartouche - -This procedure applies to all hosts, but you should bootstrap the hub (policy server) first. Find the hostname or IP address of the hub, here we assume the address is '123.456.789.123' (do not bootstrap with a localhost address). -@verbatim - - host# /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 - -@end verbatim - -CFEngine will output diagnostic information upon bootstrap (written to command line and syslog; cf-agent will also return a value: ERROR: 1, SUCCESS: 0). Error messages will be displayed if bootstrapping failed, pursue these to get and indication of what went wrong and correct accordingly. If all is well you should see the following in the output: - -@verbatim - --> Bootstrap to 123.456.789.123 completed successfully - -@end verbatim - -@sp 1 -CFEngine should now be up and running on your system. It will copy its default policy files into @file{masterfiles} on the hub (policy server) provided that the directory is empty (fresh install). When the clients are bootstrapped, they will contact the hub and copy them to their @file{inputs} directory. - - -@node Build from source (CFE Community), Bootstrap from source, Install from packages, CFEngine Installation Guide -@section Build from source - -See reference manual or INSTALL file in source code for dependencies. To build from source: -@verbatim - host# tar zxf cfengine-3.x.y.tar.gz - host# cd cfengine-3.x.y - host# ./configure - host# make - host# make install -@end verbatim - - -@node Bootstrap from source, Check installation, Build from source (CFE Community), CFEngine Installation Guide -@section Bootstrap from source - -Find the hostname or IP address of the hub, here we assume the address is '123.456.789.123' (do not bootstrap with a localhost address). - -@noindent On the hub (policy server): -@verbatim - host# /var/cfengine/bin/cf-key - host# cp /var/cfengine/share/CoreBase/*.cf /var/cfengine/masterfiles/ - host# /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end verbatim - -@itemize -@item The first run of cf-key will complain but it will create the local work directory tree, @code{/var/cfengine}, as well as a public and private key. -@item We use "cp" to populate the the binaries cache in @code{/var/cfengine/bin/}. -@item We also use "cp" to populate the @code{masterfiles} directory with the default configuration. -@item The bootstrapping will configure the hub and make CFEngine run in the background. -@end itemize - -@noindent On the clients (all other machines): -@verbatim - host# /var/cfengine/bin/cf-key - host# /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end verbatim - -@itemize -@item The first run of cf-key will complain but it will create the local work directory tree, @code{/var/cfengine}, as well as a public and private key. -@item Then we use "cp" to populate the the binaries cache in @code{/var/cfengine/bin/}. -@item The bootstrapping will contact the hub (policy server), fetch the default configuration (policy files) to place them in @code{/var/cfengine/inputs/}, and make CFEngine run in the background. -@end itemize - -@sp 1 -CFEngine should now be up and running on your system. - - -@node Check installation, Next steps, Bootstrap from source, CFEngine Installation Guide -@section Check installation - -@cartouche -The below procedure is valid for CFE Nova and CFE Community v3.2 and up (packages for v3.2 will be released soon). -@end cartouche - -The default configuration of CFEngine does nothing other than look after itself, running in the background. CFEngine will not display any messages if everything is OK, it will only look for -possible policy updates from @file{/var/cfengine/masterfiles} -on the hub (policy server). - -How to actively assess the success of your installation: - -@enumerate -@item Look at the process list on the systems with @samp{ps waux | grep cf}. -You should be able to see @code{cf-execd} running, and eventually other processes from -the CFEngine suite like @code{cf-monitord} @code{cf-serverd}. CFE Nova users should -also eventually see @code{cf-hub} running on the hub. Note that it may take 5--10 minutes before all the -processes get started. - -@item Look for files in @file{/var/cfengine/inputs} (Unix) -or @file{C:\Program Files\Cfengine\inputs} (Windows). -@end enumerate - -@node Next steps, , Check installation, CFEngine Installation Guide -@section Next steps - -We recommend the following reading: - -@itemize -@item CFEngine Concepts: @url{http://cfengine.com/manuals/cf3-conceptguide.html} -@item Get started, first promises: @url{http://cfengine.com/manuals/cf3-getstarted.html} -@end itemize - -@noindent For a complete overview: -@itemize -@item Tutorial: @url{http://cfengine.com/manuals/cf3-tutorial.html} -@item Reference manual: @url{http://cfengine.com/manuals/cf3-Reference.html} -@end itemize - -@noindent Links to external resources: -@itemize -@item Getting Started with CFEngine 3 by Vertical Sysadmin:@* -@url{http://www.verticalsysadmin.com/cfengine/Getting_Started_with_CFEngine_3.pdf} -@item CFEngine 3 Beginning Examples:@* -@url{http://www.verticalsysadmin.com/cfengine/beginning_examples/}@* -This is, basically, a selection from /var/cfengine/share/doc/examples/ which has over 200 examples. -@item "CFEngine 3 Tutorial" by Neil Watson:@* -@url{http://watson-wilson.ca/2011/05/cfengine-3-cookbook-begins.html} -@end itemize - -@c ------------------------------------------------------------------ - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/cf3-quickstart.texinfo b/docs/guides/cf3-quickstart.texinfo deleted file mode 100644 index 07fd0dc674..0000000000 --- a/docs/guides/cf3-quickstart.texinfo +++ /dev/null @@ -1,630 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-quickstart.info -@settitle CFEngine Quick Start Guide -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine Quick Start Guide -@subtitle A CFEngine Handbook -@subtitle Updated 26. February 2013 @c also update in ifnottex section below -@author CFEngine AS - - -@page - -@cartouche -@quotation -This short guide explains how to install the software and get it running. -@end quotation -@end cartouche - -@vskip 0pt plus 1filll -Copyright @copyright{} 2011- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -Updated 26. February 2012 -@node Top, Welcome to CFEngine!, (dir), (dir) -@top CFEngine Quick Start Guide - -@menu -* Welcome to CFEngine!:: -* CFEngine by Example:: -* Next steps:: -@end menu -@end ifnottex - -@contents - - - - - -@node Welcome to CFEngine!, CFEngine by Example, Top, Top -@unnumberedsec Welcome to CFEngine! - -CFEngine is a systems management tool designed to help you configure -and automate your IT infrastructure. It can expertly handle any number -of tasks, ranging from the standardization of server builds to the -deployment and management of software and services. In terms of real -time administration, CFEngine has the ability to maintain system -security from both a file system and process perspective and report on -environmental health and status. - -@menu -* CFEngine Automation Overview:: -* CFEngine Components -- What Are they and How Do They Work?:: -* Hubs:: -@end menu - -@node CFEngine Automation Overview, CFEngine Components -- What Are they and How Do They Work?, Welcome to CFEngine!, Welcome to CFEngine! -@unnumberedsubsec CFEngine Automation Overview - -CFEngine is a distributed solution that is completely independent of -host operating systems, network topology or system processes. You -describe the ideal state of a given system by creating promises -and the CFEngine agent ensures that the necessary steps are taken to -achieve this state. Automation in CFEngine is executed through a -series of components that run locally on all managed nodes. - -@node CFEngine Components -- What Are they and How Do They Work?, Hubs, CFEngine Automation Overview, Welcome to CFEngine! -@unnumberedsubsec CFEngine Components -- What Are they and How Do They Work? - -The power behind CFEngine lies in its components and the scripting -language used to interact with them. Once you know the scripting -language, you can clearly and specifically express your desired end -state, allowing CFEngine to achieve your goals with precision. - -There are a number of components in CFEngine, with each component -performing a unique function. The following components form the basis -of automation: - -@table @code -@item cf-execd -The cf-execd process can be likened to the cron process in UNIX/Linux or the Windows Scheduler. It runs as a daemon and its job is to start the cf-agent process at a specified time interval. This user configurable interval defaults to 5 minutes. -@item cf-agent -Is an agent that is called by the cf-execd process. The cf-agent component does the heavy work of system automation and maintenance. -@item cf-serverd -The cf-serverd process is used to distribute policy and/or data files. -@end table - -In conjunction with the process/agents listed, CFEngine needs to know -what you would like to automate, maintain or configure. For this -purpose, CFEngine has two additional components: promises and -policies. A promise is a statement, written in plain text using the -CFEngine language, that describes the desired state of a system. A -policy is a collection of one or more related promises, which is -executed every time the cf-agent runs. - -Next are the actual working files which are processed by CFEngine -whenever the cf-agent process runs. Perhaps the most important file is -the default policy file, which is called promises.cf. It is stored -locally on every host, enabling execution with or without network -dependencies. If you would like to update a policy, you simply make a -change to the desired policy file on the hub/policy server, then update promises.cf accordingly. Each client Agent will -automatically pull the new version in, then execute the new -instructions on the next run. - -@node Hubs, , CFEngine Components -- What Are they and How Do They Work?, Welcome to CFEngine! -@unnumberedsubsec Hubs, Servers and Clients - -Once CFEngine is installed on a system, it can function as either a -standalone client or as a part of a multi-node infrastructure. -Clients are designed to pull policies from either a CFEngine policy -server/hub, or, from themselves in the absence of a -policy server. If a system is dedicated as a CFEngine policy server or -hub, it is still a client that will maintain it's own state regardless -of it's function to the rest of CFEngine infrastructure. In addition, -a client can assume various roles in any given infrastructure; be it a -version control repository, distribution server or end host. - -Checkpoint: - -@itemize -@item CFEngine uses agents and language to perform automation and configuration tasks -@item Instructions written in CFEngine syntax are known as promises -@item One or more related promises can be written into a text file known as a policy -@item The promise.cf file references policy files that each system will run in order to perform local automation, configuration and security tasks -@item CFEngine maintains a desired system state on networked systems by utilizing client initiated pull technology; changes are never pushed or forced -@item Networked CFEngine clients will check its policy server/hub in order pull new policy changes when they are updated -@item The cf-agent process verifies the promises.cf file, then applies the policies to ensure that all promises are being kept -@item The cf-execd daemon starts cf-agent process on a regular intervals -@item The cf-serverd runs on a hub or server and allows client systems to retrieve policy changes and files. -@end itemize - -@node CFEngine by Example, Next steps, Welcome to CFEngine!, Top -@unnumberedsec CFEngine by Example - -For the purpose of these exercises, it would be ideal to have 2 test -systems available for CFEngine installation and configuration. You -will name the first test system cfhub and the second system, which you -will use in Step 3, will be named cfhost. Although installation and -testing on a single host will sufficiently demonstrate the power of -promises and policies, using 2 or more systems will allow you to -experience what CFEngine brings to the table in terms of multi-system -management. - -@menu -* Installation:: -* CFEngine File Structure:: -* Create and Manually Execute a Policy:: -* CFEngine Client:: -@end menu - -@node Installation, CFEngine File Structure, CFEngine by Example, CFEngine by Example -@unnumberedsubsec Installation - -The CFEngine package comes in many different flavors. For Linux -systems, CFEngine is available as a pre-compiled binary for many -distributions, including: Debian, Fedora, RHEL, SuSE and Ubuntu. These -packages are available from @url{http://cfengine.com/inside/myspace}. To -unpack the binaries (you must install them as root): - -@table @i -@item CFEngine 3 Enterprise Installation: - -@noindent For CFEngine 3 Enterprise, you will designate one at least one server as the hub, which should be installed first. - -CFEngine 3 Enterprise is provided in three packages (two hub and one client package). These are the three packages (inside the respective hub and client listings found under each platform in the software download page, example for 64 bit rpm packages): - -@itemize - -@item hub/cfengine-nova-3.0.xxx.x86_64.rpm -@item hub/cfengine-nova-expansion-3.0.xxx.x86_64.rpm -@item client/cfengine-nova-3.0.xxx.x86_64.rpm -@end itemize - -The difference between the two cfengine-nova-3.0.xxx packages (for hub and client) is that the agent binaries for the hub are linked to the MongoDB library while the binary for clients are not. Installing a client package on the hub will result in a database connection error, the Mission Portal will not be available and reports will not be collected. Installing the hub package on clients will result in error reports stating that the agent failed to connect to MongoDB (because it is not existent in client packages; danger of filling up error logs), but otherwise functionality will be assured. Please take care to install the correct packages on the corresponding nodes. The expansion package is only installed on the policy hub. You should install and set up the hub first. - -@table @i -@item RedHat/SuSE -@smallexample -rpm -ihv cfengine-nova-.rpm -rpm -ihv cfengine-nova-expansion-.rpm -@end smallexample - -@item Debian/Ubuntu -@smallexample -dpkg --install cfengine-nova-.deb -dpkg --install cfengine-nova-expansion..deb -@end smallexample -@end table - -@sp 1 -To install CFEngine 3 Enterprise on non-Hub systems: -@table @i -@item RedHat/SuSE -@smallexample -rpm -ihv cfengine-nova-.rpm -@end smallexample -@item Debian/Ubuntu -@smallexample -dpkg --install cfengine-nova-.deb -@end smallexample -@end table - -@sp 1 -@noindent On the hub, a public key has now been created in - -@file{/var/cfengine/ppkeys/localhost.pub} - -@noindent as part of the package -installation. You should send this public key to CFEngine Support as -an attachment in the ticket system, to obtain a license file -license.dat. Save the returned license file to -@file{/var/cfengine/masterfiles/license.dat} on the hub before continuing. - -For more details on software licensing see: - -@url{https://cfengine.com/software/Licensing.pdf} - -@item Community Installation: - -Prior to installing CFEngine, you should first ensure that the following packages are installed: - -@table @r -@item @b{OpenSSL} -Open source Secure Sockets Layer for encryption.@*URL: @url{http://www.openssl.org} -@item @b{Tokyo Cabinet} (version 1.4.42 or later) -Lightweight flat-file database system.@*URL: @url{http://fallabs.com/tokyocabinet/} -@item @b{PCRE} -Perl Compatible Regular Expression library.@*URL: @url{http://www.pcre.org/} - -@item -On Windows machines, you need to install the basic Cygwin DLL from @url{http://www.cygwin.com} -in order to run CFEngine. -@end table - -If they are not installed, then you can easily install them using the appropriate package manager: - -@table @i -@item Debian/Ubuntu: -@code{apt-get install libtokyocabinet-dev libpcre3-dev libssl-dev} -@item CentOS/RedHat: -@code{yum install tokyocabinet-devel pcre openssl} -@item SuSE: -@code{zypper install libtokyocabinet-devel pcre libopenssl} -@end table - -Once the prerequisites are installed or verified, you may proceed to the CFEngine installation. - -@table @i -@item RedHat/SuSE: -@code{rpm -ihv cfengine-community-3.x.y.rpm} -@item Debian/Ubuntu: -@code{dpkg --install cfengine-community-3.x.y.deb} -@end table - -For other UNIX/Linux systems, you may download and compile the source code, which is available from http://cfengine.com/source_code. -@end table - -@node CFEngine File Structure, Create and Manually Execute a Policy, Installation, CFEngine by Example -@unnumberedsubsec CFEngine File Structure - - -The CFEngine application is fully contained within the @file{/var/cfengine} -directory tree. For CFEngine 3 Entprise files will also be placed in the operating system -specific web document root (for instance in /var/www/ on Debian/Ubuntu). Although you will get to know this file system -intimately as you progress, here is a quick breakdown of the directory -structure and some of the files and functions associated with each -subdirectory: - -@table @file -@item /var/cfengine/bin - Consists of the agents and daemons that run CFEngine, including: - -@itemize -@item @file{cf-agent} - Agent: Executes the promises.cf file; ensures that all promises are being kept -@item @file{cf-execd} - Daemon: Starts the cf-agent process at a specified time interval. -@item @file{cf-serverd} - Daemon: Provides network services; used to distribute policy and data files -@item @file{cf-monitord} - Daemon: Collects system statistics -@item @file{cf-promises} - Agent: Verifies CFEngine's configuration syntax -@item @file{cf-runagent} - Agent: Contacts a remote system to run cf-agent -@item @file{cf-report} - Agent: Extracts and presents report data in HTML,XML or graph formats -@item @file{cf-know} - Agent (CFEngine Enterprise only): Builds knowledge maps based on promises and data -@end itemize - -@item /var/cfengine/masterfiles - -Policy repository which grants access to local or bootstrapped -CFEngine clients when they need to update their policies. Policies -obtained from @file{/var/cfengine/masterfiles} are then cached in -@file{/var/cfengine/inputs} for local policy execution. The -@file{cf-agent} executable does not execute policies directly from -this repository. - -@item /var/cfengine/inputs - Cached policy repository located on a CFEngine client. The @file{cf-agent} executable executes policies from this repository. - -@item /var/cfengine/outputs - Directory where @file{cf-agent} creates its output files. - -@item /var/cfengine/ppkeys - Directory used to store encrypted public/private keys for CFEngine client/server network communications. - -@item /var/cfengine/reports - Directory used to store reports generated by cf-report . - -@item /var/cfengine/lib - Directory to store shared objects and dependencies that are in the bundled packages. - -@end table - -@node Create and Manually Execute a Policy, CFEngine Client, CFEngine File Structure, CFEngine by Example -@unnumberedsubsec Create and Manually Execute a Policy - - -If you have ever taken a course in programming, then you are probably -familiar with the Hello World program. For CFEngine 3, the Hello -World policy would look like this: - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} - -bundle agent test -{ -reports: - cfengine_3:: - "Hello world!"; -} -@end verbatim - -This policy can be manually run by performing the following steps: - -@enumerate -@item Log on to the new host; copy and paste the above Hello World script into a text file named @file{/var/cfengine/inputs/test.cf} - -@item Verify the syntax by running cf-promises -- if verification is successful, you will see no output: - -@smallexample -root@@cfhub # cf-promises -f /var/cfengine/inputs/test.cf -@end smallexample - -@item Execute the policy -- if everything was successful, the string @samp{R: Hello World!} will be outputted immediately below the command: - -@smallexample -root@@cfhub # cf-agent -f /var/cfengine/inputs/test.cf -R: Hello world! -@end smallexample - -@end enumerate - -Like many languages, CFEngine has a structure which allows -declarations, variables and classes. The body structure is a place to -list constraints and items that control the flow of a policy. It can -be seen as a template macro (similar to the main() function in c) that -organizes promise attributes. The bundle structure can be viewed as a -collection of promises under a single name, much like a subroutine in -other languages. - - -Looking at the `Hello World' promise syntax, you will notice that it -starts with the following body structure: - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} -@end verbatim - -In this example, the body common control is used to control promise behavior by calling the bundle agent test, which is a collection of promise attributes: - -@verbatim -bundle agent test -{ -reports: - cfengine_3:: - "Hello world!"; -} -@end verbatim - -This bundle structure contains a special type of promise known as -reports: , which will automatically output `Hello World' if all -conditions of the promise are kept. Finally, there is the @code{cfengine_3::} -class. This class is defined by CFEngine out of the box. When it's -used in a promise, it checks to see that the CFEngine client is -running version 3. - -So, to summarize; the promise that you just wrote and executed checked -that the version of CFEngine you are running is at version 3; and if -it is at version 3, it sent the Hello World string to the command -line. - -Now that you have a better understanding of how the syntax works, we -will go over the method we used to execute the policy. The policy that -you wrote, test.cf was manually executed by the cf-agent binary. Prior -to running the @file{cf-agent} command, you checked the promise syntax by -running the @file{cf-promises} binary: -@smallexample -root@@cfhub # cf-promises -f /var/cfengine/inputs/test.cf -@end smallexample -Normally, cf-promises is automatically executed by cf-agent as part of -its run time operations, where, by default, it verifies the -configuration syntax in the @file{promises.cf} file. By adding the -f flag -and specifying a file name and path, you directed cf-promises to check -and verify the specified file only: test.cf. In addition, we chose to -run the policy manually, which is why we invoked cf-agent from the -command line: -@smallexample -root@@cfhub # cf-agent -f /var/cfengine/inputs/test.cf -@end smallexample -As a rule, CFEngine is fully automated and the cf-agent binary is -started by the cf-execd daemon at a user specified interval (defaults -to 5 minutes). Again, in this instance, the agent was manually started -using the -f flag to execute the specified file. - -If you would like to experiment with promise construction and manual -execution, the following link will take you to a web based site -designed for that purpose: Quickstart Promise Editor - @url{http://cfengine.com/policy_wizard/} - -@node CFEngine Client, , Create and Manually Execute a Policy, CFEngine by Example -@unnumberedsubsec CFEngine Client, Server Operations - -In Step 2, we demonstrated how CFEngine operates as a standalone -system. While there may be a few instances where running CFEngine on a -standalone system is ideal; the real power of CFEngine lies in its -ability to perform multiple tasks in a multi-tiered network -environment. To demonstrate the working relationship between a -CFEngine policy server and client, we will set up a client named -cfhost and configure it to pull and execute policies from the cfhub -system, which will be set up as the policy server. Before we start, -it might be helpful to get a `look' at how CFEngine maintains a -configured state in a networked environment. Note that the revision -control system is optional. You only need to place your policy file -into the @file{/var/cfengine/masterfiles} directory, then update the -promises.cf file accordingly. - - -@image{qs1,12cm,,,png} - -The objective of this exercise is to check that a file named -@file{cf_test_file} exists on both the CFEngine policy server and client. If -it does not exists, we are instructing CFEngine to create -it. Additionally, we are directing CFEngine to ensure that the -permissions are set to 644; that it is owned by root; and the group -ownership is the @samp{sys} group. - -@enumerate -@item Create a second test system and name it cfhost. -@item Log on to cfhost; install and configure CFEngine according to the instructions given in Step 1. -@item Open a new terminal window and log on to cfhub. -@item Find the hostname or IP address of cfhub, here we will assume the address is 172.16.100.134 -@item Designate cfhub as the policy server by bootstrapping it using its own IP address: - -@smallexample -root@@cfhub# /var/cfengine/bin/cf-agent --bootstrap 172.16.100.134 -@end smallexample - -@item CFEngine will output diagnostic information upon bootstrap. If all is well you should see the following in the output: - -@smallexample --> Bootstrap to 172.16.100.134 completed successfully -@end smallexample - -@item Return to cfhost and bootstrap it to the IP address of the policy server cfhub: 172.16.100.134 - -@smallexample -root@@cfhost# /var/cfengine/bin/cf-agent --bootstrap 172.16.100.134 -@end smallexample - -Ensure that the bootstrap was successful. If you have problems with this step, the most common issues are related to: - -@table @i -@item Firewall -Make sure port 5308 is open for both incoming and outgoing traffic. -@item Policy access control list (acl) -By default, the hub is available to clients that reside in the same class B network. If some clients are not part of that network, make sure the IPs are added to the acl in @file{/var/cfengine/masterfiles/def.cf}, @code{bundle common def}: -@verbatim - "acl" slist => { - - # Assume /16 LAN clients to start with - "$(sys.policy_hub)/16", - # Add clients' IP addresses (or IP range) here (for - # example: an acl of 192.168.0.0/16 would allow all - # clients that have an IP address that starts with - # 192.168 to connect to the hub) -@end verbatim -@item cf-serverd is not running on the hub -The CFEngine component @code{cf-serverd} takes care of all CFEngine communication. It can take a few minutes after you bootstrapped the hub to itself before this component is started, just wait a bit and retry. -@end table - -@item On cfhub, go to the /var/cfengine/masterfiles directory, create a new file and name it cftest1.cf, then copy the following lines into it: - -@verbatim -bundle agent test -{ -files: - "/tmp/cf_test_file" - comment => "Promise that a plain file exists with stated permissions", - perms => mog("644", "root", "sys"), - create => "true"; -} -@end verbatim - -@item Open the /var/cfengine/masterfiles/promises.cf file and locate the body common control - section: - -@verbatim -body common control -{ -bundlesequence => { "main" }; -inputs => { - "cfengine_stdlib.cf", - }; -version => "Community Promises.cf 1.0.0"; -} -@end verbatim - -Modify this section by adding the new bundle name in the bundlesequence and file name in the input section: - -@verbatim -body common control -{ -bundlesequence => { "main","test" }; - inputs => { - "cfengine_stdlib.cf", - "cftest1.cf", - }; - version => "Community Promises.cf 1.0.0"; -} -@end verbatim - -@item Save the /var/cfengine/masterfiles/promises.cf file. - -@item Return to cfhost and manually start the agent by running: @samp{/var/cfengine/bin/cf-agent -Kv}. The @samp{-K} switch will bypass any locks and the @samp{-v} switch will allow you to see the actual output. - -@item After the agent runs successfully, check to see if the promise was kept by looking for the @file{/tmp/cf_test_file} file on both cfhub and cfhost. -@end enumerate - -Additionally, take a look at the @file{/var/cfengine/inputs} on cfhost; you -will now see the cftest1.cf file, which was moved from cfhub. You will -also notice that the original promises.cf file has been saved and the -@file{promises.cf} file from cfhub is now in its place. - -The exercise above was a simple example utilizing a very -straightforward client/ server setup. CFEngine can scale to fit any -existing environment as illustrated in the image below: - -@image{qs2,12cm,,,png} - -In this example, there are multiple policy distribution servers. Each -policy server acts as a discrete distribution point for policies that -are unique to a specific subset of hosts. Additionally, a CFEngine 3 -Enterprise Hub can act as a policy distribution point for Windows and Macs. The Enterprise Hub also -provides a management and reporting Web interface for all of the -systems that it manages. - -We hope that this document has been a helpful first step in your quest -to unleash the power of CFEngine in your environment! For more -information, please visit the CFEngine Web Site, where you will find a -wealth of documentation; including tips, tricks, tutorial's, manual's, -references, How-To's and cookbooks. - - -@node Next steps, , CFEngine by Example, Top -@unnumberedsec Next steps - -We recommend the following reading: - -@itemize -@item CFEngine Concepts: @url{http://cfengine.com/manuals/cf3-conceptguide.html} -@item Get started, first promises: @url{http://cfengine.com/manuals/cf3-tutorial.html#First-promises} -@end itemize - -@noindent For a complete overview: -@itemize -@item Tutorial: @url{http://cfengine.com/manuals/cf3-tutorial.html} -@item Reference manual: @url{http://cfengine.com/manuals/cf3-Reference.html} -@end itemize - -@noindent Links to external resources: -@itemize -@item Getting Started with CFEngine 3 by Vertical Sysadmin:@* -@url{http://www.verticalsysadmin.com/cfengine/Getting_Started_with_CFEngine_3.pdf} -@item CFEngine 3 Beginning Examples:@* -@url{http://www.verticalsysadmin.com/cfengine/beginning_examples/}@* -This is, basically, a selection from /var/cfengine/share/doc/examples/ which has over 200 examples. -@item "CFEngine 3 Tutorial" by Neil Watson:@* -@url{http://watson-wilson.ca/2011/05/cfengine-3-cookbook-begins.html} -@end itemize - - -@bye diff --git a/docs/guides/cf3-solutions.texinfo.in b/docs/guides/cf3-solutions.texinfo.in deleted file mode 100644 index f9cf041caf..0000000000 --- a/docs/guides/cf3-solutions.texinfo.in +++ /dev/null @@ -1,4365 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-solutions.info -@settitle CFEngine Solutions -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine 3 Solution Guide -@subtitle A CFEngine Handbook -@author CFEngine AS - -@c @smallbook - -@fonttextsize 10 - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2008- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, Introduction , (dir), (dir) -@top CFEngine-Solutions -@end ifnottex - - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@iftex -@contents -@end iftex - -@menu -* Introduction :: -* High level:: -* Low level:: -@end menu - - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** -@node Introduction , High level, Top, Top -@chapter Introduction - -CFEngine 3 has been redesigned to allow modular solution building in -terms of a simple, regular language. This guide explains how to use -the CFEngine Community Open Promise-Body Library to express some -simple idioms and approaches for solving common system problems. - -The solutions presented here are necessarily generic and incomplete, -since local environmental issues always define the boundaries of a -solution in a real setting. A solution guide does not present -finished solutions, but rather hints about how to achieve such -solutions with standardized idioms. - -CFEngine gives you great freedom to craft specific solutions, without -the need for low level coding. For most tasks, you will find the -standardized templates sufficient for your needs, but the possibilties -do not stop there. - -The following resources are available as a supplement to this guide: - -@itemize -@item Community Open Promise-Body Library, the nuts'n'bolts definitions for the solutions presented here: @url{http://cfengine.com/manuals/CfengineStdLibrary.html} -@item Tutorial: @url{http://cfengine.com/manuals/cf-manuals/cf3-tutorial.html } -@item Reference manual: @url{http://cfengine.com/manuals/cf-manuals/cf3-Reference.html } -@end itemize - -If you need assistance in formulating specific solutions for your -system environment, contact CFEngine's Professional Services at -@code{contact@@CFEngine.com}; - -@menu -* Begin - Get started:: -* Create files and directories:: -* Copy single files:: -* Copy directory trees:: -* Editing password or group files:: -* Editing password or group files custom:: -* Disabling and rotating files:: -@c * unit_disable_and_rotate_files.cf:: -@c * unit_disable.cf:: -* Hashing for change detection - tripwire:: -* Command or script execution:: -* Kill process:: -* Restart process:: -* Check filesystem space:: -* Mount a filesystem:: -* Software and patch installation:: -@end menu - -@node Begin - Get started, Create files and directories, Introduction , Introduction -@section Begin - Get Started - -To get started with CFEngine, you can imagine the following template for entering examples. -This part of the code is common to all the examples. @c We include it below for completeness, -@c but you might also like to hide is in yours. - -@verbatim - -body common control -{ -bundlesequence => { "main" }; -inputs => { "cfengine_stdlib.cf" }; -} - - -bundle agent main -{ -# example -} - -@end verbatim -@noindent Then you enter the cases as below. The general pattern -of the syntax is like this (colors in html version: red, CFEngine word; blue, user-defined word): - -@verbatim -# The general pattern - -bundle component name(parameters) -{ -what_type: - where_when:: - - # Traditional comment - - "promiser" -> { "promisee1", "promisee2" }, - comment => "The intention ...", - handle => "unique_id_label", - attribute_1 => body_or_value1, - attribute_2 => body_or_value2; -} - -@end verbatim - -@c ...................................... -@menu -* Create files and directories:: -* Copy single files:: -* Copy directory trees:: -* Editing password or group files:: -* Editing password or group files custom:: -* Disabling and rotating files:: -@c * unit_disable_and_rotate_files.cf:: -@c * unit_disable.cf:: -* Hashing for change detection - tripwire:: -* Command or script execution:: -* Kill process:: -* Restart process:: -* Check filesystem space:: -* Mount a filesystem:: -* Software and patch installation:: -@end menu - -@node Create files and directories, Copy single files, Begin - Get started, Introduction -@section Create files and directories - -Create files and directories and set permissions. - -@verbatim -#CFEexample:unit_create_filedir.cf -@end verbatim - -@c ...................................... -@node Copy single files, Copy directory trees, Create files and directories, Introduction -@section Copy single files - -Copy single files, locally (@code{local_cp}) or from a remote site (@code{secure_cp}). The Community Open Promise-Body Library (COPBL; @file{cfengine_stdlib.cf}) should be included in the @file{/var/cfengine/inputs/} directory and input as below. - -@verbatim -#CFEexample:unit_copy_copbl.cf -@end verbatim - -@c ...................................... -@node Copy directory trees, Editing password or group files, Copy single files, Introduction -@section Copy directory trees - -Copy directory trees, locally (@code{local_cp}) or from a remote site (@code{secure_cp}). (@code{depth_search => recurse("")}) defines the number of sublevels to include, (@code{"inf"}) gets entire tree. - -@verbatim -#CFEexample:unit_copydir_copbl.cf -@end verbatim - -@c ...................................... -@node Editing password or group files, Editing password or group files custom, Copy directory trees, Introduction -@section Editing password or group files - -To change the password of a system, we need to edit a file. A file is -a complex object -- once open there is a new world of possible -promises to make about its contents. CFEngine has bundles of promises -that are specially for editing. - -@verbatim -#CFEexample:unit_edit_passwd_file_basic.cf -@end verbatim - -@c ...................................... -@node Editing password or group files custom, Disabling and rotating files, Editing password or group files, Introduction -@section Editing password or group files custom - -In this example the bundles from the Community Open Promise-Body Library are included directly in the policy instead of being input as a separate file. - -@verbatim -#CFEexample:unit_edit_passwd_file.cf -@end verbatim - - -@c ...................................... -@node Disabling and rotating files, Hashing for change detection - tripwire, Editing password or group files custom, Introduction -@section Disabling and rotating files - -Use the following simple steps to disable and rotate files. See the Community Open Promise-Body Library if you wish more details on what @code{disable} and @code{rotate} does. - -@verbatim -#CFEexample:unit_disable.cf -@end verbatim - -@c ...................................... -@node Hashing for change detection - tripwire, Command or script execution, Disabling and rotating files, Introduction -@section Hashing for change detection (tripwire) - -Change detection is a powerful and easy way to monitor your environment, increase awareness and harden your system against security breaches. - -@verbatim -#CFEexample:unit_change_detect.cf -@end verbatim - -@c ...................................... -@node Command or script execution, Kill process, Hashing for change detection - tripwire, Introduction -@section Command or script execution - -Execute a command, for instance to start a MySQL service. Note that simple shell commands like @code{rm} or @code{mkdir} cannot be managed by CFEngine, so none of the protections that CFEngine offers can be applied to the process. Moreover, this starts a new process, adding to the burden on the system. See CFEngine 3 Best Practices @url{http://cfengine.com/manuals/cf3-bestpractice.html} for more information on how to best write policies. - -@verbatim -#CFEexample:unit_commands.cf -@end verbatim - -@c ...................................... -@node Kill process, Restart process, Command or script execution, Introduction -@section Kill process - -@verbatim -#CFEexample:unit_process_kill.cf -@end verbatim - -@c ...................................... -@node Restart process, Check filesystem space, Kill process, Introduction -@section Restart process - -A basic pattern for restarting processes: -@verbatim -#CFEexample:unit_process_restart_basic.cf -@end verbatim -This can be made more sophisticated to handle generic lists: -@verbatim -#CFEexample:unit_process_restart.cf -@end verbatim - -Why? Separating this into two parts gives a high level of control -and conistency to CFEngine. There are many options for command execution, like -the ability to run commands in a sandbox or as `setuid'. These should not be -reproduced in @code{processes}. - -@c ...................................... -@node Check filesystem space, Mount a filesystem, Restart process, Introduction -@section Check filesystem space - -@verbatim -#CFEexample:unit_diskfree.cf -@end verbatim - -@c ...................................... -@node Mount a filesystem, Software and patch installation, Check filesystem space, Introduction -@section Mount a filesystem - -@verbatim -#CFEexample:unit_mount_fs.cf -@end verbatim - -@c ...................................... -@node Software and patch installation, , Mount a filesystem, Introduction -@section Software and patch installation - -Example for Debian: -@verbatim -#CFEexample:unit_package_apt.cf -@end verbatim -Examples MSI for Windows, by name: -@verbatim -#CFEexample:unit_package_msi_file.cf -@end verbatim -Windows MSI by version: -@verbatim -#CFEexample:unit_package_msi_version.cf -@end verbatim -Examples for solaris are more complex: -@verbatim -#CFEexample:unit_package_solaris.cf -@end verbatim -Examples for yum based systems: -@verbatim -#CFEexample:unit_package_yum.cf -@end verbatim -SuSE Linux's package manager zypper is the most powerful alternative: -@verbatim -#CFEexample:unit_package_zypper.cf -@end verbatim - - - - - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** -@node High level, Low level, Introduction , Top -@chapter High level - -@page -@c ----------------------------------------------------------------------- -@menu -* Centralized Management:: -* All hosts the same:: -* Variation in hosts:: -* Updating from a central hub:: -* Change detection:: -* Garbage collection:: -* Distribute root passwords:: -* Distribute ssh keys:: -* Laptop support configuration:: -* Find MAC address:: -* Log rotation:: -* Manage a system file:: -* Simple template:: -* Simple versioned template:: -* Macro template:: -* Custom editing:: -* Manage a system process:: -* Ensure running:: -* Ensure not running:: -* Prune processes:: -* Manage users:: -* Add users:: -* Remove users:: -* Postfix mail configuration:: -* Set up HPC clusters:: -* Set up name resolution:: -* Set up sudo:: -* Set up a web server:: -* Templating:: -@end menu - - -@node Centralized Management, All hosts the same, High level, High level -@section Centralized Management - -These examples show a simple setup for starting with a central approach to management of -servers. Centralization of management is a simple approach suitable for small environments -with few requirements. It is useful for clusters where systems are all alike. - -@c ----------------------------------------------------------------------- -@menu -* All hosts the same:: -* Variation in hosts:: -* Updating from a central hub:: -@end menu - -@node All hosts the same, Variation in hosts, Centralized Management, High level -@section All hosts the same - -This shows the simplest approach in which all hosts are the same. It is too simple -for most environments, but it serves as a starting point. Compare it to the next -section that includes variation. - -@verbatim - -body common control - { - bundlesequence => { "central" }; - } - - -############################################ - -bundle agent central - -{ -vars: - - "policy_server" string => "myhost.domain.tld"; - - "mypackages" slist => { - "nagios" - "gcc", - "apache2", - "php5" - }; - -files: - - # Password management can be very simple if all hosts are identical - - "/etc/passwd" - - comment => "Distribute a password file", - perms => mog("644","root","root"), - copy_from => secure_cp("/home/mark/LapTop/words/RoadAhead","$(policy_server)"); - -packages: - - "$(mypackages)" - - package_policy => "add", - package_method => generic; - - -# Add more promises below ... - -} - - -######################################################### -# Server config -######################################################### - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1", "10.20.30" }; -allowallconnects => { "127.0.0.1" , "::1", "10.20.30" }; -trustkeysfrom => { "127.0.0.1" , "::1", "10.20.30" }; -# allowusers -} - -######################################################### - -bundle server access_rules() - -{ -access: - - # myhost.domain.tld makes this file available to 10.20.30* - - myhost_domain_tld:: - - "/etc/passwd" - - admit => { "127.0.0.1", "10.20.30" }; -} - -@end verbatim - - -@c ----------------------------------------------------------------------- -@node Variation in hosts, Updating from a central hub, All hosts the same, High level -@section Variation in hosts - - -@verbatim - -body common control - { - bundlesequence => { "central" }; - } - - -############################################ - -bundle agent central - -{ -classes: - - "mygroup_1" or => { "myhost", "host1", "host2", "host3" }; - "mygroup_2" or => { "host4", "host5", "host6" }; - -vars: - - "policy_server" string => "myhost.domain.tld"; - - mygroup_1:: - - "mypackages" slist => { - "nagios" - "gcc", - "apache2", - "php5" - }; - - mygroup_2:: - - "mypackages" slist => { - "apache" - "mysql", - "php5" - }; - - -files: - - # Password management can be very simple if all hosts are identical - - "/etc/passwd" - - comment => "Distribute a password file", - perms => mog("644","root","root"), - copy_from => secure_cp("/etc/passwd","$(policy_server)"); - -packages: - - "$(mypackages)" - - package_policy => "add", - package_method => generic; - - -# Add more promises below ... - -} - - -######################################################### -# Server config -######################################################### - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1", "10.20.30" }; -allowallconnects => { "127.0.0.1" , "::1", "10.20.30" }; -trustkeysfrom => { "127.0.0.1" , "::1", "10.20.30" }; -# allowusers -} - -######################################################### - -bundle server access_rules() - -{ -access: - - # myhost.domain.tld makes this file available to 10.20.30* - - myhost_domain_tld:: - - "/etc/passwd" - - admit => { "127.0.0.1", "10.20.30" }; -} - -@end verbatim - -@c ----------------------------------------------------------------------- -@node Updating from a central hub, Change detection, Variation in hosts, High level -@section Updating from a central hub - - -The configuration bundled with the CFEngine source code contains an -example of centralized updating of policy that covers more subtleties -than this example, and handles fault tolerance. Here is the main idea -behind it. For simplicity, we assume that all hosts are on network -10.20.30.* and that the central policy server/hub is 10.20.30.123. - -@verbatim - -bundle agent update -{ -vars: - - "master_location" string => "/var/cfengine/masterfiles"; - - "policy_server" string => "10.20.30.123"; - comment => "IP address to locate your policy host."; - -files: - - "$(sys.workdir)/inputs" - - perms => system("600"), - copy_from => remote_cp("$(master_location)",$(policy_server)), - depth_search => recurse("inf"); -} - -####################################################### - -body server control - -{ -allowconnects => { "127.0.0.1" , "10.20.30" }; -allowallconnects => { "127.0.0.1" , "10.20.30" }; -trustkeysfrom => { "127.0.0.1" , "10.20.30" }; -} - -####################################################### - -bundle server access_rules() -{ -access: - - 10_20_30_123:: - - "/var/cfengine/masterfiles" - - admit => { "127.0.0.1", "10.20.30" }; -} - - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Change detection, Garbage collection, Updating from a central hub, High level -@section Change detection - - -@verbatim - -body common control - -{ -bundlesequence => { "testbundle" }; - -inputs => { "cfengine_stdlib.cf" }; -} - -######################################################## - -bundle agent testbundle - -{ -files: - - "/usr" - - changes => detect_all_change, - depth_search => recurse("inf"), - action => background; -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Garbage collection, Distribute root passwords, Change detection, High level -@section Garbage collection - - -@verbatim - -body common control -{ -bundlesequence => { "garbage_collection" }; -inputs => { "cfengine_stdlib.cf" }; -} - - -bundle agent garbage_collection -{ -files: - - Sunday:: - - "$(sys.workdir)/nova_repair.log" - - comment => "Rotate the promises repaired logs each week", - rename => rotate("7"), - action => if_elapsed("10000"); - - "$(sys.workdir)/nova_notkept.log" - - comment => "Rotate the promises not kept logs each week", - rename => rotate("7"), - action => if_elapsed("10000"); - - "$(sys.workdir)/promise.log" - - comment => "Rotate the promises not kept logs each week", - rename => rotate("7"), - action => if_elapsed("10000"); - - any:: - - "$(sys.workdir)/outputs" - - comment => "Garbage collection of any output files", - delete => tidy, - file_select => days_old("3"), - depth_search => recurse("inf"); - - "$(sys.workdir)/" - - comment => "Garbage collection of any output files", - delete => tidy, - file_select => days_old("14"), - depth_search => recurse("inf"); - - # Other resources - - "/tmp" - - comment => "Garbage collection of any temporary files", - delete => tidy, - file_select => days_old("3"), - depth_search => recurse("inf"); - - "/var/log/apache2/.*bz" - - comment => "Garbage collection of rotated log files", - delete => tidy, - file_select => days_old("30"), - depth_search => recurse("inf"); - - "/var/log/apache2/.*gz" - - comment => "Garbage collection of rotated log files", - delete => tidy, - file_select => days_old("30"), - depth_search => recurse("inf"); - - "/var/log/zypper.log" - - comment => "Prevent the zypper log from choking the disk", - rename => rotate("0"), - action => if_elapsed("10000"); - -} - - -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Distribute root passwords, Distribute ssh keys, Garbage collection, High level -@section Distribute root passwords - - -@verbatim -###################################################################### -# -# Root password distribution -# -###################################################################### - -body common control - -{ -version => "1.2.3"; -bundlesequence => { "SetRootPassword" }; -} - -######################################################## - -bundle common g -{ -vars: - - "secret_keys_dir" string => "/tmp"; -} - -######################################################## - -bundle agent SetRootPassword - -{ -files: - - "/var/cfengine/ppkeys/rootpw.txt" - - copy_from => scp("$(sys.fqhost)-root.txt","master_host.example.org"); - - # or $(pw_class)-root.txt - - # Or get variables directly from server woth Nova - - "remote-passwd" string => remotescalar("rem_password","127.0.0.1","yes"); - - # Test this on a copy - - "/tmp/shadow" - - edit_line => SetRootPw; - -} - -######################################################## - -bundle edit_line SetRootPw - { - vars: - - # Assume this file contains a single string of the form root:passwdhash: - # with : delimiters to avoid end of line/file problems - - "pw" int => readstringarray("rpw","$(sys.workdir)/ppkeys/rootpw.txt", - "#[^\n]*",":","1","200"); - - field_edits: - - "root:.*" - - # Set field of the file to parameter - - edit_field => col(":","2","$(rpw[1])","set"); - } - -######################################################## - -bundle server passwords -{ -vars: - - # Read a file of format - # - # classname: host1,host2,host4,IP-address,regex.*,etc - # - - "pw_classes" int => readstringarray("acl","$(g.secret_keys_dir)/classes.txt", - "#[^\n]*",":","100","4000"); - "each_pw_class" slist => getindices("acl"); - -access: - - "/secret/keys/$(each_pw_class)-root.txt" - - admit => splitstring("$(acl[$(each_pw_class)][1])" , ":" , "100"), - ifencrypted => "true"; - -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Distribute ssh keys, Laptop support configuration, Distribute root passwords, High level -@section Distribute ssh keys - - -@verbatim -# Assume that we have collected all users' public keys into a single source area -# on the server. First copy the ones we need to localhost, and then edit them into -# the the user's local keyring. - - # vars: - # - # "users" slist => { "user1", "user2", ...}; - # - # methods: - # - # "any" usebundle => allow_ssh_login_from_authorized_keys(@(users),"sourcehost"); - # - -######################################################################## - -bundle agent allow_ssh_rootlogin_from_authorized_keys(user,sourcehost) -{ -vars: - - "local_cache" string => "/var/cfengine/ssh_cache"; - "authorized_source" string => "/master/CFEngine/ssh_keys"; - -files: - - "$(local_cache)/$(user).pub" - - comment => "Copy public keys from a an authorized cache into a cache on localhost", - perms => mo("600","root"), - copy_from => remote_cp("$(authorized_source)/$(user).pub","$(sourcehost)"), - action => if_elapsed("60"); - - "/root/.ssh/authorized_keys" - - comment => "Edit the authorized keys into the user's personal keyring", - edit_line => insert_file_if_no_line_matching("$(user)","$(local_cache)/$(user).pub"), - action => if_elapsed("60"); -} - -######################################################################## - -bundle agent allow_ssh_login_from_authorized_keys(user,sourcehost) -{ -vars: - - "local_cache" string => "/var/cfengine/ssh_cache"; - "authorized_source" string => "/master/CFEngine/ssh_keys"; - -files: - - "$(local_cache)/$(user).pub" - - comment => "Copy public keys from a an authorized cache into a cache on localhost", - perms => mo("600","root"), - copy_from => remote_cp("$(authorized_source)/$(user).pub","$(sourcehost)"), - action => if_elapsed("60"); - - "/home/$(user)/.ssh/authorized_keys" - - comment => "Edit the authorized keys into the user's personal keyring", - edit_line => insert_file_if_no_line_matching("$(user)","$(local_cache)/$(user).pub"), - action => if_elapsed("60"); -} - -######################################################################## - -bundle edit_line insert_file_if_no_line_matching(user,file) -{ -classes: - - "have_user" expression => regline("$(user).*","$(this.promiser)"); - -insert_lines: - - !have_user:: - - "$(file)" - insert_type => "file"; -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Laptop support configuration, Find MAC address, Distribute ssh keys, High level -@section Laptop support configuration - -Laptops do not need a lot of confguration support. IP addresses are -set by DHCP and conditions are changeable. But you want to set your -DNS search domains to familiar settings in spite of local DHCP -configuration, and another useful trick is to keep a regular backup of -disk changes on the local disk. This won't help against disk -destruction, but it is a huge advantage when your user accidentally -deletes files while travelling or offline. - -@verbatim -####################################################### -# -# Laptop -# -####################################################### - -body common control - -{ -bundlesequence => { - "update", - "garbage_collection", - "main", - "backup", - }; - -inputs => { - "update.cf", - "site.cf", - "library.cf" - }; -} - -####################################################### - -body agent control -{ -# if default runtime is 5 mins we need this for long jobs -ifelapsed => "15"; -} - -####################################################### - -body monitor control -{ -forgetrate => "0.7"; -} - -####################################################### - -body executor control - -{ -splaytime => "1"; -mailto => "mark@iu.hio.no"; -smtpserver => "localhost"; -mailmaxlines => "30"; - -# Instead of a separate update script, now do this - -exec_command => "$(sys.workdir)/bin/cf-agent -f failsafe.cf && $(sys.workdir)/bin/cf-agent"; -} - -####################################################### -# General site issues can be in bundles like this one -####################################################### - -bundle agent main - -{ -vars: - - "component" slist => { "cf-monitord", "cf-serverd" }; - - # - - - - - - - - - - - - - - - - - - - - - - - - - -files: - - "$(sys.resolv)" # test on "/tmp/resolv.conf" # - - create => "true", - edit_line => resolver, - edit_defaults => def; - -processes: - - "$(component)" restart_class => canonify("start_$(component)"); - - # - - - - - - - - - - - - - - - - - - - - - - - - - -commands: - - "$(sys.workdir)/bin/$(component)" - - ifvarclass => canonify("start_$(component)"); -} - -####################################################### -# Backup -####################################################### - -bundle agent backup -{ -files: - - "/home/backup" - - copy_from => cp("/home/mark"), - depth_search => recurse("inf"), - file_select => exclude_files, - action => longjob; - -} - -####################################################### -# Garbage collection issues -####################################################### - -bundle agent garbage_collection -{ -files: - - "$(sys.workdir)/outputs" - - delete => tidy, - file_select => days_old("3"), - depth_search => recurse("inf"); - - -} - -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Find MAC address, Log rotation, Laptop support configuration, High level -@section Find the MAC address - -Finding the ethernet address can be hard, but on Linux it is straightforward. - -@verbatim -bundle agent test -{ -vars: - -linux:: - "interface" string => execresult("/sbin/ifconfig eth0","noshell"); - -solaris:: - "interface" string => execresult("/usr/sbin/ifconfig bge0","noshell"); - -freebsd:: - "interface" string => execresult("/sbin/ifconfig le0","noshell"); - -darwin:: - "interface" string => execresult("/sbin/ifconfig en0","noshell"); - -classes: - - linux:: - - "ok" expression => regextract( - ".*HWaddr ([^\s]+).*(\n.*)*", - "$(interface)", - "mac" - ); - - solaris:: - - "ok" expression => regextract( - ".*ether ([^\s]+).*(\n.*)*", - "$(interface)", - "mac" - ); - - freebsd:: - - "ok" expression => regextract( - ".*ether ([^\s]+).*(\n.*)*", - "$(interface)", - "mac" - ); - - darwin:: - - "ok" expression => regextract( - "(?s).*ether ([^\s]+).*(\n.*)*", - "$(interface)", - "mac" - ); - -reports: - -ok:: - - "MAC address is $(mac[1])"; - -} - -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Log rotation, Manage a system file, Find MAC address, High level -@section Log rotation - - -@verbatim - -body common control - { - bundlesequence => { "testbundle" }; - } - - -############################################ - -bundle agent testbundle - -{ -files: - - "/home/mark/tmp/rotateme" - - rename => rotate("4"); -} - -############################################ - -body rename rotate(level) - -{ -rotate => "$(level)"; -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Manage a system file, Simple template, Log rotation, High level -@section Manage a system file - - -@menu -* Simple template:: -* Simple versioned template:: -* Macro template:: -* Custom editing:: -@end menu - -@node Simple template, Simple versioned template, Manage a system file, High level -@section Simple template - -@verbatim -bundle agent hand_edited_config_file -{ -vars: - - "file_template" string => - -" -# Syntax: -# -# IP-Address Full-Qualified-Hostname Short-Hostname -# - -127.0.0.1 localhost -::1 localhost ipv6-localhost ipv6-loopback -fe00::0 ipv6-localnet -ff00::0 ipv6-mcastprefix -ff02::1 ipv6-allnodes -ff02::2 ipv6-allrouters -ff02::3 ipv6-allhosts -10.0.0.100 host1.domain.tld host1 -10.0.0.101 host2.domain.tld host2 -10.0.0.20 host3.domain.tld host3 -10.0.0.21 host4.domain.tld host4 -"; - -############################################################## - -files: - - "/etc/hosts" - - comment => "Define the content of all host files from this master source", - create => "true", - edit_line => append_if_no_lines("$(file_template)"), - edit_defaults => empty, - perms => mo("$(mode)","root"), - action => if_elapsed("60"); -} - -@end verbatim - - -@node Simple versioned template, Macro template, Simple template, High level -@section Simple versioned template - -The simplest approach to managing a file is to maintain a master copy by hand, keeping it -in a version controlled repository (e.g. svn), and installing this version on the end machine. - -We'll assume that you have a version control repository that is located on some independent server, and has been -checked out manually once (with authentication) in @file{/mysite/masterfiles}. - -@verbatim -bundle agent hand_edited_config_file -{ -vars: - - "masterfiles" string => "/mysite/masterfiles"; - "policy_server" string => "policy_host.domain.tld"; - -files: - - "/etc/hosts" - - comment => "Synchronize hosts with a hand-edited template in svn", - perms => m("644"), - copy_from => remote_cp("$(masterfiles)/trunk/hosts_master","$(policy_server)"); - -commands: - - - "/usr/bin/svn update" - - comment => "Update the company document repository including manuals to a local copy", - contain => silent_in_dir("$(masterfiles)/trunk"), - ifvarclass => canonify("$(policy_server)"); - -} - -@end verbatim - -@node Macro template, Custom editing, Simple versioned template, High level -@section Macro template - -The next simplest approach to file management is to add variables to -the template that will be expanded into local values at the end -system, e.g. using variables like @samp{$(sys.host)} for the name of -the host within the body of the versioned template. - -@verbatim -bundle agent hand_edited_template -{ -vars: - - "masterfiles" string => "/mysite/masterfiles"; - "policy_server" string => "policy_host.domain.tld"; - -files: - - "/etc/hosts" - - comment => "Synchronize hosts with a hand-edited template in svn", - perms => m("644"), - create => "true", - edit_line => expand_template("$(masterfiles)/trunk/hosts_master"), - edit_defaults => empty, - action => if_elapsed("60"); - -commands: - - - "/usr/bin/svn update" - - comment => "Update the company document repository including manuals to a local copy", - contain => silent_in_dir("$(masterfiles)/trunk"), - ifvarclass => canonify("$(policy_server)"); - -} - -@end verbatim - -@noindent The macro template file may contain variables, as below, -that get expanded by CFEngine. - -@smallexample -# Syntax: -# -# IP-Address Full-Qualified-Hostname Short-Hostname -# - -127.0.0.1 localhost $(sys.host) -::1 localhost ipv6-localhost ipv6-loopback -fe00::0 ipv6-localnet -ff00::0 ipv6-mcastprefix -ff02::1 ipv6-allnodes -ff02::2 ipv6-allrouters -ff02::3 ipv6-allhosts -10.0.0.100 host1.domain.tld host1 -10.0.0.101 host2.domain.tld host2 -10.0.0.20 host3.domain.tld host3 -10.0.0.21 host4.domain.tld host4 - -# Add below this line - -$(definitions.more_hosts) -@end smallexample - - -@node Custom editing, Manage a system process, Macro template, High level -@section Custom editing - -If you do not control the starting state of the file, because it is distributed by -an operating system vendor for instance, then editing the final state is the best approach. -That way, you will get changes that are made by the vendor, and will ensure your own -modifications are kept even when updates arrive. - -@verbatim -bundle agent modifying_managed_file -{ -vars: - - "data" slist => { "10.1.2.3 sirius", "10.1.2.4 ursa-minor", "10.1.2.5 orion"}; - -files: - - "/etc/hosts" - - comment => "Append a list of lines to the end of a file if they don't exist", - perms => m("644"), - create => "true", - edit_line => append_if_no_lines("modifying_managed_file.data"), - action => if_elapsed("60"); - - -} - -@end verbatim - -Another example shows how to set the values of variables -using a data-driven approach and methods from the -standard library. -@verbatim -####################################################### -# -# Edit variable = value in a text file -# -####################################################### - -body common control - -{ -bundlesequence => { "testsetvar" }; -} - -####################################################### - -bundle agent testsetvar - -{ -vars: - - "v[variable_1]" string => "value_1"; - "v[variable_2]" string => "value_2"; - -files: - - "/tmp/test_setvar" - - edit_line => set_variable_values("testsetvar.v"); -} - -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Manage a system process, Ensure running, Custom editing, High level -@section Manage a system process - -@menu -* Ensure running:: -* Ensure not running:: -* Prune processes:: -@end menu - -@node Ensure running, Ensure not running, Manage a system process, High level -@section Ensure running - -The simplest example might look like this: - -@verbatim - -bundle agent restart_process -{ -processes: - - "httpd" - - comment => "Make sure apache web server is running", - restart_class => "restart_httpd"; - -commands: - - restart_httpd:: - - "/etc/init.d/apache2 restart"; - -} - -@end verbatim - - -This example shows how the CFEngine components could be started using a pattern. -@verbatim - -bundle agent CFEngine_processes -{ -vars: - - "components" slist => { "cf-execd", "cf-monitord", "cf-serverd", "cf-hub" }; - -processes: - - "$(components)" - - comment => "Make sure server parts of CFEngine are running", - restart_class => canonify("start_$(component)"); - -commands: - - "$(sys.workdir)/bin/$(component)" - - comment => "Make sure server parts of CFEngine are running", - ifvarclass => canonify("start_$(components)"); - -} - -@end verbatim - -@node Ensure not running, Prune processes, Ensure running, High level -@section Ensure not running - - -@verbatim - -bundle agent restart_process -{ -vars: - - "killprocs" slist => { "snmpd", "gameserverd", "irc", "crack" }; - -processes: - - "$(killprocs)" - - comment => "Make processes are not running", - signals => { "term", "kill" }; -; -} - -@end verbatim - -@node Prune processes, Manage users, Ensure not running, High level -@section Prune processes - -This example kills processes owned by a particular user that have exceeded 100000 bytes of -resident memory. - -@verbatim - -body common control -{ -bundlesequence => { "testbundle" }; -} - -######################################################## - -bundle agent testbundle - -{ -processes: - - ".*" - - process_select => big_processes("mark"), - signals => { "term" }; -} - -######################################################## - -body process_select big_processes(o) - -{ -process_owner => { "$(o)" }; -rsize => irange("100000","900000"); -process_result => "rsize.process_owner"; -} - -@end verbatim - - - - - - -@page -@c ----------------------------------------------------------------------- -@node Manage users, Add users, Prune processes, High level -@section Manage users - -There are many approaches to managing users. You can edit system files like @file{/etc/passwd} -directly, or you can use commands on some systems like @samp{useradd} or @samp{adduser}. -In all cases it is desirable to make this a data-driven process. - -@menu -* Add users:: -* Remove users:: -@end menu - -@node Add users, Remove users, Manage users, High level -@section Add users - -A simple approach which adds new users to the password file, and to a -group called @samp{users} in the group file. Is shown below. This example -does not edit the shadow file. A simple pattern that can be modified for -use is shown below. - -Note that, although this is a simple minded approach, it is the most efficient -of the approaches shown here as all operations can be carried out in a single -operation for each file. -@verbatim -bundle agent addusers -{ -vars: - - # Add some users - - "pw[mark]" string => "mark:x:1000:100:Mark Burgess:/home/mark:/bin/bash"; - "pw[fred]" string => "fred:x:1001:100:Right Said:/home/fred:/bin/bash"; - "pw[jane]" string => "jane:x:1002:100:Jane Doe:/home/jane:/bin/bash"; - - "users" slist => getindices("pw"); - -files: - - "/etc/passwd" - edit_line => append_users_starting("addusers.pw"); - -# "/etc/shadow" -# edit_line => append_users_starting("$(users):defaultpasswd:::::::"); - - "/etc/group" - edit_line => append_user_field("users","4","@(addusers.users)"); - - "/home/$(users)/." - - create => "true", - perms => mog("755","$(users)","users"); -} - -@end verbatim - -A second approach is to use the shell commands supplied by some operating systems; -this assumes that suitable defaults have been set up manually. Also the result -is not repairable in a simple convergent manner. The command needs to edit multiple -files for each user, and is quite inefficient. - -@verbatim -bundle agent addusers -{ -vars: - - "users" slist => { "mark", "fred", "jane" }; - -commands: - - "/usr/sbin/useradd $(users)"; -} - -@end verbatim -An alternative approach is to use a method to wrap around the handling of a user. -Although this looks nice, it is less efficient than the first method because it -must edit the files multiple times. -@verbatim -bundle agent addusers -{ -vars: - - # Add some users - - "pw[mark]" string => "mark:x:1000:100:Mark Burgess:/home/mark:/bin/bash"; - "pw[fred]" string => "fred:x:1001:100:Right Said:/home/fred:/bin/bash"; - "pw[jane]" string => "jane:x:1002:100:Jane Doe:/home/jane:/bin/bash"; - - "users" slist => getindices("pw"); - -methods: - - "any" usebundle => user_add("$(users)","$(pw[$(users)])"); - -} - -bundle agent user_add(x,pw) -{ -files: - - "/etc/passwd" - edit_line => append_users_starting("addusers.pw"); - -# "/etc/shadow" -# edit_line => append_users_starting("$(users):defaultpasswd:::::::"); - - "/etc/group" - edit_line => append_user_field("users","4","@(addusers.users)"); - - "/home/$(users)/." - - create => "true", - perms => mog("755","$(users)","users"); -} - -@end verbatim - - -@node Remove users, Postfix mail configuration, Add users, High level -@section Remove users - - -@page -@c ----------------------------------------------------------------------- -@node Postfix mail configuration, Set up HPC clusters, Remove users, High level -@section Postfix mail configuration - -@verbatim -####################################################### -# -# Postfix -# -####################################################### - -body common control - -{ -any:: - - bundlesequence => { - postfix - }; -} - -####################################################### - -bundle agent postfix - -{ -vars: - - "prefix" string => "/etc"; - "smtpserver" string => "localhost"; - "mailrelay" string => "mailx.example.org"; - -files: - - "$(prefix)/main.cf" - edit_line => prefix_postfix; - - "$(prefix)/sasl-passwd" - create => "true", - perms => mo("0600","root"), - edit_line => append_if_no_line("$(smtpserver) _$(sys.fqhost):chmsxrcynz4etfrejizhs22"); -} - -####################################################### -# For the library -####################################################### - -bundle edit_line prefix_postfix - -{ -# -# Value have the form NAME = "quoted space separated list" -# -vars: - - "ps[relayhost]" string => "[$(postfix.mailrelay)]:587"; - "ps[mydomain]" string => "iu.hio.no"; - "ps[smtp_sasl_auth_enable]" string => "yes"; - "ps[smtp_sasl_password_maps]" string => "hash:/etc/postfix/sasl-passwd"; - "ps[smtp_sasl_security_options]" string => ""; - "ps[smtp_use_tls]" string => "yes"; - "ps[default_privs]" string => "mailman"; - "ps[inet_protocols]" string => "all"; - "ps[inet_interfaces]" string => "127.0.0.1"; - - "parameter_name" slist => getindices("ps"); - -delete_lines: - - "$(parameter_name).*"; - -insert_lines: - - "$(parameter_name) = $(ps[$(parameter_name)])"; - -} - -######################################################## - -bundle edit_line AppendIfNSL(parameter) - { - insert_lines: - - "$(parameter)"; # This is default - } - -@end verbatim - - - -@node Set up HPC clusters, Set up name resolution, Postfix mail configuration, High level -@section Set up HPC clusters - -HPC cluster machines are usually all identical, so the CFEngine -configuration is very simple. HPC clients value CPU and memory -resources, so we can shut down unnecessary services to save CPU. -We can also change the scheduling rate of CFEngine to run less frequently, -and save a little: - -@verbatim - -####################################################### - -body executor control - -{ -splaytime => "1"; -mailto => "cfengine@example.com"; -smtpserver => "localhost"; -mailmaxlines => "30"; - -# Once per hour, on the hour - -schedule => { "Min00_05" }; -} - -####################################################### - -bundle agent services_disable -{ -vars: - - # list all of xinetd services (case sensitive) - - "xinetd_services" slist => { - "imap", - "imaps", - "ipop2", - "ipop3", - "krb5-telnet", - "klogin", - "kshell", - "ktalk", - "ntalk", - "pop3s", - - }; -methods: - - # perform the actual disable all xinetd services according to the list above - - "any" usebundle => disable_xinetd("$(xinetd_services)"); - -processes: - - "$(xinetd_services)" - - signals => { "kill" }; - -} - -############################################################################### - -bundle agent disable_xinetd(name) -{ - vars: - "status" string => execresult("/sbin/chkconfig --list $(name)", "useshell"); - - classes: - "on" expression => regcmp(".*on.*","$(status)"); - - commands: - on:: - "/sbin/chkconfig $(name) off", - comment => "disable $(name) service"; - - reports: - on:: - "disable $(name) service."; - -} -@end verbatim - - - - - -@page -@c ----------------------------------------------------------------------- -@node Set up name resolution, Set up sudo, Set up HPC clusters, High level -@section Set up name resolution - -There are many ways to do name resolution setup@footnote{In CFEngine 2 -there is a separate action type for configuring the system -resolver. In CFEngine 3 this has been deprecated for this standard -method using the basic functionality of CFEngine.} We write a reusable -bundle using the editing features. - -A simple and straightforward approach is to maintain -a separate modular bundle for this task. This avoids -too many levels of abstraction and keeps all the information -in one place. We implement this as a simple editing promise -for the @file{/etc/resolv.conf} file. -@verbatim - -bundle agent system_files - -{ -files: - - "$(sys.resolv)" # test on "/tmp/resolv.conf" # - - comment => "Add lines to the resolver configuration", - create => "true", - edit_line => resolver, - edit_defaults => std_edits; - - # ...other system files ... - -} - -####################################################### - -bundle edit_line resolver - -{ -delete_lines: - - # delete any old name servers or junk we no longer need - - "search.*"; - "nameserver 80.65.58.31"; - "nameserver 80.65.58.32"; - "nameserver 82.103.128.146"; - "nameserver 78.24.145.4"; - "nameserver 78.24.145.5"; - "nameserver 128.39.89.10"; - -insert_lines: - - "search mydomain.tld" location => start; - - special_net:: - - "nameserver 128.39.89.8"; - "nameserver 128.39.74.66"; - - !special_net:: - - "nameserver 128.38.34.12"; - - any:: - - "nameserver 212.112.166.18"; - "nameserver 212.112.166.22"; -} - -@end verbatim - -A second approach is to try to conceal the operational details -behind a veil of abstraction. - -@verbatim - -bundle agent system_files -{ -vars: - - "searchlist" string => "iu.hio.no CFEngine.com"; - - "nameservers" slist => { - "128.39.89.10", - "128.39.74.16", - "192.168.1.103" - }; -files: - - "$(sys.resolv)" # test on "/tmp/resolv.conf" # - create => "true", - edit_line => doresolv("$(s)","@(this.n)"), - edit_defaults => empty; - - # .... - -} - -####################################################### - -bundle edit_line doresolv(search,names) - -{ -insert_lines: - "search $(search)"; - "nameserver $(names)"; -} - -@end verbatim - -@noindent DNS is not the only name service, of course. -Unix has its older @file{/etc/hosts} file which can also -be managed using file editing. We simply append this to the -@code{system_files} bundle. - -@verbatim -bundle agent system_files -{ - -# ... - -files: - - "/etc/hosts" - - comment => "Add hosts to the /etc/hosts file", - edit_line => fix_etc_hosts; -} - -########################################################### - -bundle edit_line fix_etc_hosts -{ -vars: - - "names[127.0.0.1]" string => "localhost localhost.CFEngine.com"; - "names[128.39.89.12]" string => "myhost myhost.CFEngine.com"; - "names[128.39.89.13]" string => "otherhost otherhost.CFEngine.com"; - - # etc - - "i" slist => getindices("names"); - -insert_lines: - - "$(i) $(names[$(i)])"; - -} - -@end verbatim - - - - - -@page -@c ----------------------------------------------------------------------- -@node Set up sudo, Set up a web server, Set up name resolution, High level -@section Set up sudo - -Setting up @code{sudo} is straightforward, and is best managed by copying trusted -files from a repository. -@verbatim -bundle agent system_files -{ -vars: - - "masterfiles" string => "/subversion_projects/masterfiles"; - -# ... - -files: - - "/etc/sudoers" - - comment => "Make sure the sudo configuration is secure and up to date", - perms => mog("440","root","root"), - copy_from => secure_cp("$(masterfiles)/sudoers","$(policy_server)"); - -} - -@end verbatim - - - - - -@page -@c ----------------------------------------------------------------------- -@node Set up a web server, Templating, Set up sudo, High level -@section Set up a web server - -Adapt this template to your operating system by adding multiple -classes. Each web server runs something like the present module, -which is entered into the bundlesequence like this: - -@verbatim -##################################################### -# -# Apache webserver module -# -##################################################### - -bundle agent web_server(state) -{ -vars: - - "document_root" string => "/"; - - #################################################### - # Site specific configuration - put it in this file - #################################################### - - "site_http_conf" string => "/home/mark/CFEngine-inputs/httpd.conf"; - - #################################################### - # Software base - #################################################### - - "match_package" slist => { - "apache2", - "apache2-mod_php5", - "apache2-prefork", - "php5" - }; - - ######################################################### - -processes: - - web_ok.on:: - - "apache2" - - restart_class => "start_apache"; - - off:: - - "apache2" - - process_stop => "/etc/init.d/apache2 stop"; - - - ######################################################### - -commands: - - start_apache:: - - "/etc/init.d/apache2 start"; # or startssl - - ######################################################### - -packages: - - "$(match_package)" - - package_policy => "add", - package_method => zypper, - classes => if_ok("software_ok"); - - ######################################################### - -files: - - software_ok:: - - "/etc/sysconfig/apache2" - - edit_line => fixapache, - classes => if_ok("web_ok"); - - ######################################################### - -reports: - - !software_ok.on:: - - "The web server software could not be installed"; - - ######################################################### - -classes: - - "on" expression => strcmp("$(state)","on"); - "off" expression => strcmp("$(state)","off"); -} - -####################################################### -# For the library -####################################################### - -bundle edit_line fixapache - -{ -vars: - - "add_modules" slist => { - "ssl", - "php5" - }; - - "del_modules" slist => { - "php3", - "php4", - "jk" - }; - -insert_lines: - - "APACHE_CONF_INCLUDE_FILES=\"$(web_server.site_http_conf)\""; - -field_edits: - - ##################################################################### - # APACHE_MODULES="actions alias ssl php5 dav_svn authz_default jk" etc.. - ##################################################################### - - "APACHE_MODULES=.*" - - # Insert module "columns" between the quoted RHS - # using space separators - - edit_field => quotedvar("$(add_modules)","append"); - - "APACHE_MODULES=.*" - - # Delete module "columns" between the quoted RHS - # using space separators - - edit_field => quotedvar("$(del_modules)","delete"); - - # if this line already exists, edit it - -} - -@end verbatim - - - - -@page -@c ----------------------------------------------------------------------- -@node Templating, , Set up a web server, High level -@section Templating - -With CFEngine you have a choice between editing `deltas' into files -or distributing more-or-less finished templates. Which method you -should choose depends should be made by whatever is easiest. - -@itemize -@item If you are managing only part of the file, and something else (e.g. a package manager) -is managing most of it, then it makes sense to use CFEngine file editing. - -@item If you are managing everything in the file, then it makes sense to make the edits -by hand and install them using CFEngine. You can use variables within -source text files and let CFEngine expand them locally in situ, so -that you can make generic templates that apply netwide. - -@end itemize -Example template: - -@verbatim -# -# System file X -# - -MYVARIABLE = something or other -HOSTNAME = $(sys.host) # CFEngine fills this in - -# ... - -@end verbatim -To copy and expand this template, you can use a pattern like this: -@verbatim - -bundle agent test -{ -methods: - - "any" usebundle => get_template("/etc/sudoers","400"); - "any" usebundle => get_template("/etc/hosts","644"); - -} - -@end verbatim -The the following driving code (based on `copy then edit') can be -placed in a library, after configuring to your environmental -locations: - -@verbatim -bundle agent get_template(final_destination,mode) -{ -vars: - - # This needs to ne preconfigured to your site - - "masterfiles" string => "/home/mark/tmp"; - "this_template" string => lastnode("$(final_destination)","/"); - -files: - - "$(final_destination).staging" - - comment => "Get template and expand variables for this host", - perms => mo("400","root"), - copy_from => remote_cp("$(masterfiles)/templates/$(this_template)","$(policy_server)"), - action => if_elapsed("60"); - - "$(final_destination)" - - comment => "Expand the template", - create => "true", - edit_line => expand_template("$(final_destination).staging"), - edit_defaults => empty, - perms => mo("$(mode)","root"), - action => if_elapsed("60"); - -} - -@end verbatim - - - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** -@node Low level, , High level, Top -@chapter Low level - - - -@c ----------------------------------------------------------------------- - - - -@c ----------------------------------------------------------------------- -@menu -* Aborting execution:: -* ACL file example:: -* ACL generic example:: -* ACL secret example:: -* Active directory example:: -* Active list users directory example:: -* Active directory show users example:: -* Add lines to a file:: -* Add users to passwd and group:: -* Add software packages to the system:: -* Add variable definitions to a file:: -* Application baseline:: -* Array example:: -* Back references in filenames:: -* BSD flags:: -* Change directory for command:: -* Check file or directory permissions:: -* Class match example:: -* Client-server example:: -* Commands example:: -* Commenting lines in a file:: -* Copy files:: -* Copy and flatten directory:: -* Copy then edit:: -* Creating files and directories:: -* Database creation:: -* Deleting lines from a file:: -* Deleting lines exception:: -* Editing files:: -* Editing tabular files:: -* Environment variables:: -* Execresult example:: -* Inserting lines in a file:: -* Get a list of users:: -* Global classes:: -* Guest environments:: -* Hello world:: -* LDAP interactions:: -* Linking files:: -* Listing files-pattern in a directory:: -* Locate and transform files:: -* Logging:: -* Measurements:: -* Methods:: -* Method validation:: -* Mount NFS filesystem:: -* Ordering promises:: -* Process management:: -* Read from a TCP socket:: -* Resolver management:: -* Search and replace text:: -* Selecting a region in a file:: -* Service management (windows):: -* Set up a PXE boot server:: -* Tidying garbage files:: -* Software distribution:: -* Trigger classes:: -* Unmount NFS filesystem:: -* Web server modules:: -* Warn if matching line in file:: -* Windows registry:: -* unit_registry_cache.cf:: -* unit_registry.cf:: -@end menu - - - - - - - - - - -@node Aborting execution, ACL file example, Low level, Low level -@section Aborting execution -@verbatim -#CFEexample:unit_abort.cf -@end verbatim - - -@node ACL file example, ACL generic example, Aborting execution, Low level -@section ACL file example -@verbatim -#CFEexample:unit_acl.cf -@end verbatim - -@node ACL generic example, ACL secret example, ACL file example, Low level -@section ACL generic example -@verbatim -#CFEexample:unit_acl_generic.cf -@end verbatim - -@node ACL secret example, Active directory example, ACL generic example, Low level -@section ACL secret example -@verbatim -#CFEexample:unit_acl_secret.cf -@end verbatim - - - -@node Active directory example, Active list users directory example, ACL secret example, Low level -@section Active directory example -@verbatim -#CFEexample:active_directory.cf -@end verbatim - - - -@node Active list users directory example, Active directory show users example, Active directory example, Low level -@section Active list users directory example -@verbatim -#CFEexample:unit_activedirectory_listusers.cf -@end verbatim - -@node Active directory show users example, Add lines to a file, Active list users directory example, Low level -@section Active directory show users example -@verbatim -#CFEexample:unit_activedirectory_showuser.cf -@end verbatim - - - - - -@node Add lines to a file, Add users to passwd and group, Active directory show users example, Low level -@section Add lines to a file - -There are numerous approaches to adding lines to a file. -Often the order of a configuration file is unimportant, we just need to ensure -settings within it. A simple way of adding lines is show below. - -@verbatim -body common control - -{ -any:: - - bundlesequence => { "insert" }; -} - -####################################################### - -bundle agent insert - -{ -vars: - - "lines" string => - " - One potato - Two potato - Three potatoe - Four - "; - -files: - - "/tmp/test_insert" - - create => "true", - edit_line => append_if_no_line("$(insert.lines)"); - -} - -@end verbatim -Also you could write this using a list variable: -@verbatim -body common control - -{ -any:: - - bundlesequence => { "insert" }; -} - -####################################################### - -bundle agent insert - -{ -vars: - - "lines" slist => { "One potato", "Two potato", - "Three potatoe", "Four" }; - -files: - - "/tmp/test_insert" - - create => "true", - edit_line => append_if_no_line("@(insert.lines)"); - -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Add users to passwd and group, Add software packages to the system, Add lines to a file, Low level -@section Add users to passwd and group - -Add lines to the password file, and users to group if they are not already there. -@verbatim - -body common control -{ -bundlesequence => { "addpasswd" }; -inputs => { "cf_std_library.cf" }; -} - -bundle agent addpasswd -{ -vars: - - # want to set these values by the names of their array keys - - "pwd[mark]" string => "mark:x:1000:100:Mark Burgess:/home/mark:/bin/bash"; - "pwd[fred]" string => "fred:x:1001:100:Right Said:/home/fred:/bin/bash"; - "pwd[jane]" string => "jane:x:1002:100:Jane Doe:/home/jane:/bin/bash"; - - "users" slist => getindices("pwd"); - -files: - - "/etc/passwd" - - create => "true", - edit_line => append_users_starting("addpasswd.pwd"); - - "/etc/group" - - edit_line => append_user_field("users","4","@(addpasswd.users)"); - -} - -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Add software packages to the system, Add variable definitions to a file, Add users to passwd and group, Low level -@section Add software packages to the system - -@verbatim -# -# Package managment -# - -body common control -{ -bundlesequence => { "packages" }; -} - -############################################# - -bundle agent packages -{ -vars: - - "match_package" slist => { - "apache2", - "apache2-mod_php5", - "apache2-prefork", - "php5" - }; -packages: - - solaris:: - - "$(match_package)" - - package_policy => "add", - package_method => solaris; - - redhat|SuSE:: - - "$(match_package)" - - package_policy => "add", - package_method => yum; - -} -@end verbatim - -Note you can also arrange to hide all the differences between package managers -on an OS basis, but since some OSs have multiple managers, this might not -be 100 percent correct. - -@page -@c ----------------------------------------------------------------------- -@node Add variable definitions to a file, Application baseline, Add software packages to the system, Low level -@section Add variable definitions to a file e.g. @file{/etc/system} - -@verbatim - -body common control -{ -bundlesequence => { "setvars" }; -inputs => { "cf_std_library.cf" }; -} - - -bundle agent setvars -{ -vars: - - # want to set these values by the names of their array keys - - "rhs[lhs1]" string => " Mary had a little pig"; - "rhs[lhs2]" string => "Whose Fleece was white as snow"; - "rhs[lhs3]" string => "And everywhere that Mary went"; - - # oops, now change pig -> lamb - -files: - - "/tmp/system" - - create => "true", - edit_line => set_variable_values("setvars.rhs"); - -} - -@end verbatim - -@noindent Results in: - -@verbatim -lhs1= Mary had a little pig -lhs2=Whose Fleece was white as snow -lhs3=And everywhere that Mary went -@end verbatim - -@noindent An example of this would be to add variables to @file{/etc/sysctl.conf} on Linux: - - -@verbatim - -body common control -{ -bundlesequence => { "setvars" }; -inputs => { "cf_std_library.cf" }; -} - - -bundle agent setvars -{ -vars: - - # want to set these values by the names of their array keys - - "rhs[net/ipv4/tcp_syncookies]" string => "1"; - "rhs[net/ipv4/icmp_echo_ignore_broadcasts]" string => "1"; - "rhs[net/ipv4/ip_forward]" string => "1"; - - # oops, now change pig -> lamb - -files: - - "/etc/sysctl" - - create => "true", - edit_line => set_variable_values("setvars.rhs"); - -} - -@end verbatim - - - - -@menu -* Application baseline:: -* Array example:: -* Back references in filenames:: -* BSD flags:: -* Change directory for command:: -@end menu - -@node Application baseline, Array example, Add variable definitions to a file, Low level -@section Application baseline -@verbatim -#CFEexample:app_baseline.cf -@end verbatim - - - - -@node Array example, Back references in filenames, Application baseline, Low level -@section Array example -@verbatim -#CFEexample:unit_arrays.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - -@node Back references in filenames, BSD flags, Array example, Low level -@section Backreferences in filenames -@verbatim -#CFEexample:unit_backreferences_files.cf -@end verbatim - - - - - - -@node BSD flags, Change directory for command, Back references in filenames, Low level -@section BSD flags -@verbatim -#CFEexample:unit_bsdflags.cf -@end verbatim - - - - - - - - - - - - - - - - - - -@page -@c ----------------------------------------------------------------------- - -@node Change directory for command, Check file or directory permissions, BSD flags, Low level -@section Change directory for command -@verbatim -#CFEexample:unit_chdir.cf -@end verbatim - - - - - -@node Check file or directory permissions, Class match example, Change directory for command, Low level -@section Check file or directory permissions - - -@verbatim - -bundle agent check_perms -{ -vars: - - "ns_files" slist => { - "/local/iu/logs/admin", - "/local/iu/logs/security", - "/local/iu/logs/updates", - "/local/iu/logs/xfer" - }; -files: - - NameServers:: - - "/local/dns/pz" - - perms => mo("644","dns") - depth_search => recurse("1"), - file_select => exclude("secret_file"); - - "/local/iu/dns/pz/FixSerial" - - perms => m("755"), - file_select => plain; - - "$(ns_files)" - - perms => mo("644","dns"), - file_select => plain; - - - "$(ftp)/pub" - perms => mog("644","root","other"); - - "$(ftp)/pub" - perms => m("644"), - depth_search => recurse("inf"); - - "$(ftp)/etc" perms => mog("111","root","other"); - "$(ftp)/usr/bin/ls" perms => mog("111","root","other"); - "$(ftp)/dev" perms => mog("555","root","other"); - "$(ftp)/usr" perms => mog("555","root","other"); -} -@end verbatim - - - - - -@menu -* Class match example:: -* Client-server example:: -* Commands example:: -* Commenting lines in a file:: -@end menu - -@node Class match example, Client-server example, Check file or directory permissions, Low level -@section Class match example -@verbatim -#CFEexample:unit_classmatch.cf -@end verbatim - - - -@node Client-server example, Commands example, Class match example, Low level -@section Client-server example -@verbatim -#CFEexample:unit_server_copy_localhost.cf - -@end verbatim - - - -@node Commands example, Commenting lines in a file, Client-server example, Low level -@section Commands example -@verbatim -#CFEexample:unit_commands.cf -@end verbatim - - - -@node Commenting lines in a file, Copy files, Commands example, Low level -@section Commenting lines in a file - -@verbatim -#CFEexample:unit_edit_comment_lines.cf -@end verbatim - -@verbatim -#CFEexample:unit_hashcomment.cf -@end verbatim - - -@verbatim -#CFEexample:unit_hashuncomment.cf -@end verbatim - - -@node Copy files, Copy and flatten directory, Commenting lines in a file, Low level -@section Copy files - -@verbatim -files: - - "/var/cfengine/inputs" - - handle => "update_policy", - perms => m("600"), - copy_from => u_scp("$(master_location)",@(policy_server)), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - -@end verbatim - - - - - - - -@menu -* Copy and flatten directory:: -@end menu - -@node Copy and flatten directory, Copy then edit, Copy files, Low level -@section Copy and flatten directory -@verbatim -#CFEexample:unit_server_flatcopy_localhost.cf - -@end verbatim - - - - -@node Copy then edit, Creating files and directories, Copy and flatten directory, Low level -@section Copy then edit a file convergently - -To convergently chain a copy followed by edit, you need a staging file. -First you copy to the staging file. Then you edit the final file and -insert the staging file into it as part of the editing. This is convergent -with respect to both stages of the process. - -@verbatim -bundle agent master -{ -files: - - "$(final_destination)" - - create => "true", - edit_line => fix_file("$(staging_file)"), - edit_defaults => empty, - perms => mo("644","root"), - action => ifelapsed("60"); -} - -# - -bundle edit_line fix_file(f) -{ -insert_lines: - - "$(f)" - - # insert this into an empty file to reconstruct - - insert_type => "file"; - -replace_patterns: - - "searchstring" - - replace_with => With("replacestring"); -} - - -@end verbatim - - - - - - -@menu -* Creating files and directories:: -* Database creation:: -* Deleting lines from a file:: -* Deleting lines exception:: -@end menu - -@node Creating files and directories, Database creation, Copy then edit, Low level -@section Creating files and directories -@verbatim -#CFEexample:unit_create_filedir.cf -@end verbatim - - - -@page -@c ----------------------------------------------------------------------- - -@node Database creation, Deleting lines from a file, Creating files and directories, Low level -@section Database creation -@verbatim -#CFEexample:unit_createdb.cf - -@end verbatim - -@verbatim -#CFEexample:sql_table_structure.cf - -@end verbatim - - -@node Deleting lines from a file, Deleting lines exception, Database creation, Low level -@section Deleting lines from a file -@verbatim -#CFEexample:unit_deletelines.cf -@end verbatim - - -@node Deleting lines exception, Editing files, Deleting lines from a file, Low level -@section Deleting lines exception -@verbatim -#CFEexample:unit_edit_deletenotmatch.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Editing files, Editing tabular files, Deleting lines exception, Low level -@section Editing files - -This is a huge topic. See also @xref{Add lines to a file}, @xref{Editing tabular files}, etc. -Editing a file can be complex or simple, depending on needs. - -Here is an example of how to comment out lines matching a number of patterns: -@verbatim -###################################################################### -# -# Comment lines -# -###################################################################### - -body common control - -{ -version => "1.2.3"; -bundlesequence => { "testbundle" }; -inputs => { "cf_std_library.cf" }; -} - -######################################################## - -bundle agent testbundle - -{ -vars: - - "patterns" slist => { "finger.*", "echo.*", "exec.*", "rstat.*", - "uucp.*", "talk.*" }; - -files: - - "/etc/inetd.conf" - - edit_line => comment_lines_matching("@(testbundle.patterns)","#"); -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- -@node Editing tabular files, Guest environments, Editing files, Low level -@section Editing tabular files - -@verbatim - -###################################################################### -# -# File editing -# -# Normal ordering: -# - delete -# - replace | colum_edit -# - insert -# -###################################################################### - - -body common control - -{ -version => "1.2.3"; -bundlesequence => { "testbundle" }; -} - -######################################################## - -bundle agent testbundle - -{ -vars: - - "userset" slist => { "one-x", "two-x", "three-x" }; - -files: - - # Make a copy of the password file - - "/home/mark/tmp/passwd" - - create => "true", - edit_line => SetUserParam("mark","6","/set/this/shell"); - - "/home/mark/tmp/group" - - create => "true", - edit_line => AppendUserParam("root","4","@(userset)"); - -commands: - - "/bin/echo" args => "$(userset)"; - -} - -######################################################## - -bundle edit_line SetUserParam(user,field,val) - { - field_edits: - - "$(user):.*" - - # Set field of the file to parameter - - edit_field => col(":","$(field)","$(val)","set"); - } - -######################################################## - -bundle edit_line AppendUserParam(user,field,allusers) - { - vars: - - "val" slist => { @(allusers) }; - - field_edits: - - "$(user):.*" - - # Set field of the file to parameter - - edit_field => col(":","$(field)","$(val)","alphanum"); - - } - -######################################## -# Bodies -######################################## - -body edit_field col(split,col,newval,method) - -{ -field_separator => "$(split)"; -select_field => "$(col)"; -value_separator => ","; -field_value => "$(newval)"; -field_operation => "$(method)"; -extend_fields => "true"; -} - - -@end verbatim - - - -@menu -* Environment variables:: -* Execresult example:: -* Inserting lines in a file:: -* Get a list of users:: -* Global classes:: -* Guest environments:: -* Hello world:: -* LDAP interactions:: -* Linking files:: -* Listing files-pattern in a directory:: -* Locate and transform files:: -* Logging:: -* Measurements:: -* Methods:: -* Method validation:: -* Mount NFS filesystem:: -@end menu - -@node Environment variables, Execresult example, Guest environments, Low level -@section Environment variables -@verbatim -#CFEexample:unit_env.cf -@end verbatim - - -@node Execresult example, Inserting lines in a file, Environment variables, Low level -@section Execresult example -@verbatim -#CFEexample:unit_execresult.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - -@node Inserting lines in a file, Get a list of users, Execresult example, Low level -@section Inserting lines in a file -@verbatim -#CFEexample:unit_edit_insert_fuzzylines.cf - -@end verbatim - - -@verbatim -#CFEexample:unit_edit_insert_lines.cf - -@end verbatim - -@verbatim -#CFEexample:unit_edit_insert_lines_silly.cf - -@end verbatim - -@page -@c ----------------------------------------------------------------------- - - - - - -@node Get a list of users, Global classes, Inserting lines in a file, Low level -@section Get a list of users -@verbatim -#CFEexample:unit_getusers.cf -@end verbatim - - - -@node Global classes, Hello world, Get a list of users, Low level -@section Global classes -@verbatim -#CFEexample:unit_classes_global.cf - -@end verbatim - -@node Guest environments, Environment variables, Editing tabular files, Low level -@section Guest environments - -@verbatim -#CFEexample:guest_environment_kvm.cf - -@end verbatim - -@verbatim -#CFEexample:unit_test_environment.cf - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - -@node Hello world, LDAP interactions, Global classes, Low level -@section Hello world -@verbatim -#CFEexample:unit_helloworld.cf - -@end verbatim - -@page -@c ----------------------------------------------------------------------- - -@node LDAP interactions, Linking files, Hello world, Low level -@section LDAP interactions -@verbatim -#CFEexample:unit_ldap.cf - -@end verbatim - - -@node Linking files, Listing files-pattern in a directory, LDAP interactions, Low level -@section Linking files -@verbatim -#CFEexample:unit_linking.cf - -@end verbatim - -Removing deadlinks from a directory: -@verbatim -#CFEexample:unit_remove_deadlinks.cf - -@end verbatim - - - - - -@node Listing files-pattern in a directory, Locate and transform files, Linking files, Low level -@section Listing files-pattern in a directory -@verbatim -#CFEexample:unit_lsdir.cf - -@end verbatim - - -@node Locate and transform files, Logging, Listing files-pattern in a directory, Low level -@section Locate and transform files -@verbatim -#CFEexample:unit_locate_files_and_compress.cf -@end verbatim - -@node Logging, Measurements, Locate and transform files, Low level -@section Logging -@verbatim -#CFEexample:unit_log_private.cf - -@end verbatim - - -@verbatim -#CFEexample:unit_syslog2.cf -@end verbatim - -@verbatim -#CFEexample:unit_syslog.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - - - - -@node Measurements, Methods, Logging, Low level -@section Measurements - -@verbatim -#CFEexample:unit_measure_log.cf -@end verbatim - -@verbatim -#CFEexample:unit_measurements.cf -@end verbatim - - -@node Methods, Method validation, Measurements, Low level -@section Methods -@verbatim -#CFEexample:unit_method.cf -@end verbatim - -@node Method validation, Mount NFS filesystem, Methods, Low level -@section Method validation -@verbatim -#CFEexample:unit_method_validate.cf -@end verbatim - -@node Mount NFS filesystem, Ordering promises, Method validation, Low level -@section Mount NFS filesystem -@verbatim -#CFEexample:unit_mount_fs.cf -@end verbatim - - - - -@page -@node Ordering promises, Process management, Mount NFS filesystem, Low level -@section Ordering promises - - -This counts to five by default. If we change @samp{/bin/echo one} -to @samp{/bin/echox one}, then the command will fail, causing us -to skip five and go to six instead. - -This shows how dependencies can be chained in spite of the -order of promises in the bundle. - -Normally the order of promises in a bundle is followed, within each -promise type, and the types are ordered according to @i{normal -ordering}. - -@verbatim -#CFEexample:unit_ordering.cf -@end verbatim - - - - - - - - -@page -@c ----------------------------------------------------------------------- - - - -@menu -* Process management:: -* Read from a TCP socket:: -* Resolver management:: -* Search and replace text:: -* Selecting a region in a file:: -* Service management (windows):: -@end menu - -@node Process management, Read from a TCP socket, Ordering promises, Low level -@section Process management -@verbatim -#CFEexample:unit_process_kill.cf -@end verbatim - -@verbatim -#CFEexample:unit_process_matching2.cf -@end verbatim - - -@verbatim -#CFEexample:unit_process_matching3.cf -@end verbatim - -@verbatim -#CFEexample:unit_process_matching.cf -@end verbatim - -@verbatim -#CFEexample:unit_process_restart_basic.cf -@end verbatim - - -@verbatim -#CFEexample:unit_process_restart.cf -@end verbatim - -@verbatim -#CFEexample:unit_process_signalling.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - -@node Read from a TCP socket, Resolver management, Process management, Low level -@section Read from a TCP socket -@verbatim -#CFEexample:unit_readtcp.cf - -@end verbatim - - - - -@node Resolver management, Search and replace text, Read from a TCP socket, Low level -@section Resolver management -@verbatim -#CFEexample:unit_resolveconf.cf -@end verbatim - - - - -@page -@c ----------------------------------------------------------------------- - -@node Search and replace text, Selecting a region in a file, Resolver management, Low level -@section Search and replace text -@verbatim -#CFEexample:unit_edit_replace_string.cf -@end verbatim - - - -@node Selecting a region in a file, Service management (windows), Search and replace text, Low level -@section Selecting a region in a file -@verbatim -#CFEexample:unit_select_region.cf -@end verbatim - - - - -@node Service management (windows), Set up a PXE boot server, Selecting a region in a file, Low level -@section Service management (windows) -@verbatim -#CFEexample:unit_service_disable.cf -@end verbatim - - -@verbatim -#CFEexample:unit_service_start.cf -@end verbatim - - - -@node Set up a PXE boot server, Tidying garbage files, Service management (windows), Low level -@section Set up a PXE boot server - -Use CFEngine to set up a PXE boot server. - -@verbatim -body common control -{ - bundlesequence => { "pxe" }; - inputs => { "/var/cfengine/inputs/cfengine_stdlib.cf" }; -} - - -# -# PXE boot server -# - - -bundle agent pxe -{ -vars: - - "software" slist => { - "atftp", - "dhcp-server", - "syslinux", - "apache2" - }; - - - "dirs" slist => { - "/tftpboot", - "/tftpboot/CFEngine/rpm", - "/tftpboot/CFEngine/inputs", - "/tftpboot/pxelinux.cfg", - "/tftpboot/kickstart", - "/srv/www/repos" - }; - - "tmp_location" string => "/tftpboot/CFEngine/inputs"; - - # Distros that we can install - - - "rh_distros" slist => { "4.7", "5.2" }; - "centos_distros" slist => { "5.2" }; - - # File contents of atftp configuration - - - "atftpd_conf" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promising state. ### - -########################################### - - -ATFTPD_OPTIONS=\"--daemon \" -ATFTPD_USE_INETD=\"no\" -ATFTPD_DIRECTORY=\"/tftpboot\" -ATFTPD_BIND_ADDRESSES=\"\" - "; - - # File contents of DHCP configuration - - - "dhcpd" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promising state. ### - -########################################### - - -DHCPD_INTERFACE=\"eth0\" -DHCPD_RUN_CHROOTED=\"yes\" -DHCPD_CONF_INCLUDE_FILES=\"\" -DHCPD_RUN_AS=\"dhcpd\" -DHCPD_OTHER_ARGS=\"\" -DHCPD_BINARY=\"\" - "; - - "dhcpd_conf" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promising state. ### - -########################################### - - -allow booting; -allow bootp; -ddns-update-style none; ddns-updates off; - subnet 192.168.0.0 netmask 255.255.255.0 { - range 192.168.0.20 192.168.0.254; - default-lease-time 3600; - max-lease-time 4800; - option routers 192.168.0.1; - option domain-name \"test.CFEngine.com\"; - option domain-name-servers 192.168.0.1; - next-server 192.168.0.1; - filename \"pxelinux.0\"; - } - group { - host node1 { - # Dummy machine - - hardware ethernet 00:0F:1F:94:FE:07; - fixed-address 192.168.0.11; - option host-name \"node1\"; - } - host node2 { - # Dell Inspiron 1150 - - hardware ethernet 00:0F:1F:0E:70:E7; - fixed-address 192.168.0.12; - option host-name \"node2\"; - } - } - "; - - # File contains of Apache2 HTTP configuration - - - "httpd_conf" string => - " -# Repository for RHEL5 - - -Options Indexes -AllowOverride None - -Alias /repos /srv/www/repos - -# PXE boot server - - -Options Indexes -AllowOverride None - -Alias /distro/rhel/5.2 /tftpboot/distro/RHEL/5.2 - - -Options Indexes -AllowOverride None - -Alias /distro/rhel/4.7 /tftpboot/distro/RHEL/4.7 - - -Options Indexes -AllowOverride None - -Alias /distro/centos/5.2 /tftpboot/distro/CentOS/5.2 - - -Options Indexes -AllowOverride None - -Alias /kickstart /tftpboot/kickstart - - -Options Indexes -AllowOverride None - -Alias /CFEngine /tftpboot/CFEngine - "; - - # File contains of Kickstart for RHEL5 configuration - - - "kickstart_rhel5_conf" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promissing state. ### - -########################################### - - -auth --useshadow --enablemd5 -bootloader --location=mbr -clearpart --all --initlabel -graphical -firewall --disabled -firstboot --disable -key 77244a6377a8044a -keyboard no -lang en_US -logging --level=info -url --url=http://192.168.0.1/distro/rhel/5.2 -network --bootproto=dhcp --device=eth0 --onboot=on -reboot -rootpw --iscrypted $1$eOnXdDPF$279sQ//zry6rnQktkATeM0 -selinux --disabled -timezone --isUtc Europe/Oslo -install -part swap --bytes-per-inode=4096 --fstype=\"swap\" --recommended -part / --bytes-per-inode=4096 --fstype=\"ext3\" --grow --size=1 - -%packages -@core -@base -db4-devel -openssl-devel -gcc -flex -bison -libacl-devel -libselinux-devel -pcre-devel -#httpd - -device-mapper-multipath --sysreport - -%post -cd /root -rpm -i http://192.168.0.1/CFEngine/rpm/CFEngine-3.0.1b1-1.el5.i386.rpm -#/sbin/chkconfig httpd on - -cd /etc/yum.repos.d -wget http://192.168.0.1/repos/RHEL5.Base.repo -rpm --import /etc/pki/rpm-gpg/* -yum clean all -yum update -mkdir -p /root/CFEngine_init -cd /root/CFEngine_init -wget -nd -r http://192.168.0.1/CFEngine/inputs/ -/var/cfengine/bin/cf-agent -B -/var/cfengine/bin/cf-agent - "; - - # File contains of PXElinux boot menu - - - "pxelinux_boot_menu" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promissing state. ### - -########################################### - - -boot options: - rhel5 - install 32 bit i386 RHEL 5.2 (MANUAL) - rhel5w - install 32 bit i386 RHEL 5.2 (AUTO) - rhel4 - install 32 bit i386 RHEL 4.7 AS (MANUAL) - centos5 - install 32 bit i386 CentOS 5.2 (Desktop) (MANUAL) - "; - # File contains of PXElinux default configuration - - - "pxelinux_default" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promissing state. ### - -########################################### - - -default rhel5 -timeout 300 -prompt 1 -display pxelinux.cfg/boot.msg -F1 pxelinux.cfg/boot.msg - -# install i386 RHEL 5.2 - -label rhel5 - kernel vmlinuz-RHEL5U2 - append initrd=initrd-RHEL5U2 load_ramdisk=1 ramdisk_size=16384 install=http://192.168.0.1/distro/rhel/5.2 - -# install i386 RHEL 5.2 using Kickstart - -label rhel5w - kernel vmlinuz-RHEL5U2 - append initrd=initrd-RHEL5U2 load_ramdisk=1 ramdisk_size=16384 ks=http://192.168.0.1/kickstart/kickstart-RHEL5U2.cfg - -# install i386 RHEL 4.7 - -label rhel4 - kernel vmlinuz-RHEL4U7 - append initrd=initrd-RHEL4U7 load_ramdisk=1 ramdisk_size=16384 install=http://192.168.0.1/distro/rhel/4.7 - -# install i386 CentOS 5.2 - -label centos5 - kernel vmlinuz-CentOS5.2 - append initrd=initrd-CentOS5.2 load_ramdisk=1 ramdisk_size=16384 install=http://192.168.0.1/distro/centos/5.2 - "; - - # File contains of specified PXElinux default to be a RHEL5 webserver - - - "pxelinux_rhel5_webserver" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promissing state. ### - -########################################### - - -# install i386 RHEL 5.2 using Kickstart - -default rhel5w -label rhel5w - kernel vmlinuz-RHEL5U2 - append initrd=initrd-RHEL5U2 load_ramdisk=1 ramdisk_size=16384 ks=http://192.168.0.1/kickstart/kickstart-RHEL5U2.cfg - "; - - # File contains of a local repository for RHEL5 - - - "rhel5_base_repo" string => - " -########################################### - -### This file is protected by CFEngine. ### - -### Whatever you do, it will be changed ### - -### back to a promissing state. ### - -########################################### - - -# Local Repository - -[Server] -name=Server -baseurl=http://192.168.0.1/repos/rhel5/Server/ -enable=1 -[VT] -name=VT -baseurl=http://192.168.0.1/repos/rhel5/VT/ -enable=1 -[Cluster] -name=Cluster -baseurl=http://192.168.0.1/repos/rhel5/Cluster/ -enable=1 -[ClusterStorage] -name=Cluster Storage -baseurl=http://192.168.0.1/repos/rhel5/ClusterStorage/ -enable=1 - "; -##################################################### - - - -files: - - packages_ok:: - - # Create files/dirs and edit the new files - - - "/tftpboot/distro/RHEL/$(rh_distros)/." - create => "true"; - - "/tftpboot/distro/CentOS/$(centos_distros)/." - create => "true"; - - "$(dirs)/." - create => "true"; - - "/tftpboot/pxelinux.cfg/boot.msg" - create => "true", - perms => mo("644","root"), - edit_line => append_if_no_line("$(pxelinux_boot_menu)"), - edit_defaults => empty; - - "/tftpboot/pxelinux.cfg/default" - create => "true", - perms => mo("644","root"), - edit_line => append_if_no_line("$(pxelinux_default)"), - edit_defaults => empty; - - "/tftpboot/pxelinux.cfg/default.RHEL5.webserver" - create => "true", - perms => mo("644","root"), - edit_line => append_if_no_line("$(pxelinux_rhel5_webserver)"), - edit_defaults => empty; - - "/tftpboot/kickstart/kickstart-RHEL5U2.cfg" - create => "true", - perms => mo("644","root"), - edit_line => append_if_no_line("$(kickstart_rhel5_conf)"), - edit_defaults => empty; - - "/srv/www/repos/RHEL5.Base.repo" - create => "true", - perms => mo("644","root"), - edit_line => append_if_no_line("$(rhel5_base_repo)"), - edit_defaults => empty; - - # Copy files - - - "/tftpboot" - - copy_from => local_cp("/usr/share/syslinux"), - depth_search => recurse("inf"), - file_select => pxelinux_files, - action => immediate; - - "$(tmp_location)" - - perms => m("644"), - copy_from => local_cp("/var/cfengine/inputs"), - depth_search => recurse("inf"), - file_select => input_files, - action => immediate; - - # Edit atftp, dhcp and apache2 configurations - - - "/etc/sysconfig/atftpd" - edit_line => append_if_no_line("$(atftpd_conf)"), - edit_defaults => empty, - classes => satisfied("atftpd_ready"); - - "/etc/sysconfig/dhcpd" - edit_line => append_if_no_line("$(dhcpd)"), - edit_defaults => empty; - - "/etc/dhcpd.conf" - edit_line => append_if_no_line("$(dhcpd_conf)"), - edit_defaults => empty, - classes => satisfied("dhcpd_ready"); - - "/etc/apache2/httpd.conf" - edit_line => append_if_no_line("$(httpd_conf)"), - edit_defaults => std_defs, - classes => satisfied("apache2_ok"); - - # Make a static link - - - "/tftpboot/pxelinux.cfg/C0A8000C" - link_from => mylink("/tftpboot/pxelinux.cfg/default.RHEL5.webserver"); - - # Hash comment some lines for apaches - - - apache2_ok:: - "/etc/apache2/httpd.conf" - edit_line => comment_lines_matching_apache2("#"), - classes => satisfied("apache2_ready"); - -commands: - - # Restart services - - atftpd_ready:: - "/etc/init.d/atftpd restart"; - - dhcpd_ready:: - "/etc/init.d/dhcpd restart"; - - apache2_ready:: - "/etc/init.d/apache2 restart"; - - -##################################################### - - -packages: - - ipv4_192_168_0_1:: - # Only the PXE boot server - - - "$(software)" - - package_policy => "add", - package_method => zypper, - classes => satisfied("packages_ok"); - -} - -##################################################### - -########### *** Bodies are here *** ################# - -##################################################### - - -body file_select pxelinux_files - -{ -leaf_name => { "pxelinux.0" }; - -file_result => "leaf_name"; -} - -##################################################### - - -body copy_from mycopy_local(from,server) - -{ -source => "$(from)"; -compare => "digest"; -} - -######################################################### - - -body link_from mylink(x) -{ -source => "$(x)"; -link_type => "symlink"; -} - -####################################################### - - -body classes satisfied(new_class) - -{ -promise_kept => { "$(new_class)"}; -promise_repaired => { "$(new_class)"}; -} - -####################################################### - - -bundle edit_line comment_lines_matching_apache2(comment) - { - - vars: - "regex" slist => { "\s.*Options\sNone", "\s.*AllowOverride\sNone", "\s.*Deny\sfrom\sall" }; - - replace_patterns: - - "^($(regex))$" - replace_with => comment("$(comment)"); - } - -####################################################### - -body file_select input_files -{ - leaf_name => { ".*.cf",".*.dat",".*.txt" }; - file_result => "leaf_name"; -} - -####################################################### - -@end verbatim - - - -@page -@c ----------------------------------------------------------------------- -@node Tidying garbage files, Software distribution, Set up a PXE boot server, Low level -@section Tidying garbage files - -Emulating the `tidy' feature of CFEngine 2. - -@verbatim -####################################################### -# -# Deleting files, like cf2 tidy age=0 r=inf -# -####################################################### - -body common control - -{ - any:: - - bundlesequence => { "testbundle" }; -} - -############################################ - -bundle agent testbundle - -{ -files: - - "/tmp/test" - - delete => tidyfiles, - file_select => zero_age, - depth_search => recurse("inf"); -} - -######################################################### - -body depth_search recurse(d) - -{ -#include_basedir => "true"; -depth => "$(d)"; -} - -######################################################### - -body delete tidy - -{ -dirlinks => "delete"; -rmdirs => "false"; -} - -######################################################### - -body file_select zero_age - -# -# we can build old "include", "exclude", and "ignore" -# from these as standard patterns - these bodies can -# form a library of standard patterns -# - -{ -mtime => irange(ago(1,0,0,0,0,0),now); -file_result => "mtime"; -} - -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - -@menu -* Software distribution:: -* Trigger classes:: -@end menu - -@node Software distribution, Trigger classes, Tidying garbage files, Low level -@section Software distribution -@verbatim -#CFEexample:unit_software_dist.cf -@end verbatim - - -@page -@c ----------------------------------------------------------------------- - - -@node Trigger classes, Unmount NFS filesystem, Software distribution, Low level -@section Trigger classes -@verbatim -#CFEexample:unit_edit_triggerclass.cf -@end verbatim - - - -@page -@c ----------------------------------------------------------------------- -@node Unmount NFS filesystem, Web server modules, Trigger classes, Low level -@section Unmount NFS filesystem - - -@verbatim -##################################################################### -# Mount NFS -##################################################################### - -body common control - -{ -bundlesequence => { "mounts" }; -} - -##################################################################### - -bundle agent mounts - -{ -storage: - - # Assumes the filesystem has been exported - - "/mnt" mount => nfs("server.example.org","/home"); -} - -###################################################################### - -body mount nfs(server,source) - -{ -mount_type => "nfs"; -mount_source => "$(source)"; -mount_server => "$(server)"; -edit_fstab => "true"; -unmount => "true"; -} -@end verbatim - -@page -@c ----------------------------------------------------------------------- -@node Web server modules, Warn if matching line in file, Unmount NFS filesystem, Low level -@section Web server modules - -The problem of editing the correct modules into the list of standard -modules for the Apache web server. This example is based on the -standard configuration deployment of SuSE Linux. Simply provide the -list of modules you want and another list that you don't want. - -@verbatim -####################################################### -# -# Apache 2 reconfig - modelled on SuSE -# -####################################################### - -body common control - -{ -any:: - - bundlesequence => { - apache - }; -} - -####################################################### - -bundle agent apache - -{ -files: - - SuSE:: - - "/etc/sysconfig/apache2" - - edit_line => fixapache; -} - -####################################################### -# For the library -####################################################### - -bundle edit_line fixapache - -{ -vars: - - "add_modules" slist => { - "dav", - "dav_fs", - "ssl", - "php5", - "dav_svn", - "xyz", - "superduper" - }; - - "del_modules" slist => { - "php3", - "jk", - "userdir", - "imagemap", - "alias" - }; - -insert_lines: - - "APACHE_CONF_INCLUDE_FILES=\"/site/masterfiles/local-http.conf\""; - -field_edits: - - ##################################################################### - # APACHE_MODULES="authz_host actions alias ..." - ##################################################################### - - # Values have the form NAME = "quoted space separated list" - - "APACHE_MODULES=.*" - - # Insert module "columns" between the quoted RHS - # using space separators - - edit_field => quotedvar("$(add_modules)","append"); - - "APACHE_MODULES=.*" - - # Delte module "columns" between the quoted RHS - # using space separators - - edit_field => quotedvar("$(del_modules)","delete"); - - # if this line already exists, edit it - -} - -@end verbatim - - - - - - - -@page -@c ------------------------------------------------------------------------- - -@menu -* Warn if matching line in file:: -* Windows registry:: -* unit_registry_cache.cf:: -* unit_registry.cf:: -@end menu - -@node Warn if matching line in file, Windows registry, Web server modules, Low level -@section Warn if matching line in file -@verbatim -#CFEexample:unit_warnifline.cf - -@end verbatim - - -@node Windows registry, unit_registry_cache.cf, Warn if matching line in file, Low level -@section Windows registry -@verbatim -#CFEexample:unit_getregistry.cf -@end verbatim - -@node unit_registry_cache.cf, unit_registry.cf, Windows registry, Low level -@section unit_registry_cache.cf -@verbatim -#CFEexample:unit_registry_cache.cf -@end verbatim - -@node unit_registry.cf, , unit_registry_cache.cf, Low level -@section unit_registry.cf -@verbatim -#CFEexample:unit_registry.cf -@end verbatim - - - - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - - -@ifhtml -@html - - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf3-tutorial.texinfo b/docs/guides/cf3-tutorial.texinfo deleted file mode 100644 index 1f6aef0ce9..0000000000 --- a/docs/guides/cf3-tutorial.texinfo +++ /dev/null @@ -1,3585 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-tutorial.info -@settitle CFEngine 3 Tutorial -@setchapternewpage odd -@c %** end of header - -@titlepage -@title CFEngine 3 Tutorial -@subtitle A CFEngine AS workbook -@author Mark Burgess @@ CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1fill -Copyright @copyright{} 2011 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, System automation, (dir), (dir) -@top CFEngine-Tutorial -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - - - -@c ********************************************************************** -@menu -* System automation:: -* The components of CFEngine:: -* Bodies and bundles:: -* First promises:: -* A simple crash course in concepts:: -* Using CFEngine as a front-end for cron:: -* Network services:: -* Knowledge Management:: -@end menu - -@node System automation, The components of CFEngine, Top, Top -@chapter System automation - - -@menu -* Managing diverse and challenging environments seamlessly and invisibly:: -* Managing expectations - a theory of promises:: -* Why automation?:: -* Scaling up:: -* How do you view CFEngine:: -@end menu - -@node Managing diverse and challenging environments seamlessly and invisibly, Managing expectations - a theory of promises, System automation, System automation -@section Managing diverse and challenging environments seamlessly and invisibly - -The future is never far away. -Our dream of a future in which smart computing devices are embedded into -the very fabric of our environment has crept slowly into being. Today, -smart operating systems like Linux and Windows are used on embedded devices -and mobile phones. -Mark Weiser of Xerox PARC once wrote: - -@quotation -@i{"The most profound technologies are those that disappear. They weave -themselves into the fabric of every day life until they are -indistinguishable from it."} -@end quotation - -Today many are talking about Cloud Computing as another manifestation -of this dream, in which computing service is not only everywhere, but -nowhere -- or more correctly, spread out across the planet in -data centers, instead of our offices and homes. This is one aspect of -making computing into something we take for granted. At the -foundations of any such technology are the tools required to implement -mass configuration with surgical precision. CFEngine is such a tool. - -CFEngine was designed to enable scalable configuration management, for -the -whole system life-cycle, in any kind of environment. -Almost every other system for configuration assumes that there will be -a reliable network in place and that changes will be pushed out -top-down from an authoritative node. Those systems are useless in -environments like - -@itemize -@item Mobile systems with partial or unreliable connectivity (e.g. a -submarine). -@item Systems where bandwidths are very low (e.g. a satellite or space -probe). -@item Systems where computing power is very low (e.g. ad hoc sensors -or kitchen appliances). -@end itemize - -CFEngine does not need reliable infrastructure. It works -opportunistically in almost any environment, using few resources. It -has few software dependencies. So, not only does it work in all of the -traditional fixed-plan scenarios, but it is capable of working in -totally ad hoc deployment: an temporary incident room, a submarine -drifting on and off line, a satellite or a robot explorer. - -One could argue `well I don't need that kind of system, because my -network is reliable'. However, your network is not as reliable as you -think, and mobility is an increasingly important topic. Even with a -very strong redundant network, the services that support the network -can be paralyzed by any of a number of failed dependencies or -mishaps. It is crucial in a modern pervasive environment that systems -remain available, fault tolerant and as far as possible independent of -external requirements. This is how to build scalable and reliable -services. - -@cartouche -CFEngine works in all the places you think it should, and all the new -places you haven't even thought of yet. How do we know? Because it -is based on almost 20 years of careful research and experience. -@end cartouche - - -@node Managing expectations - a theory of promises, Why automation?, Managing diverse and challenging environments seamlessly and invisibly, System automation -@section Managing expectations - a theory of promises - -One of the hardest things in management is to make everyone aware of -their roles and tasks, and to be able to rely on others to do the same. -@i{Trust} is an economic time-saver. If you can't trust you have to -verify, -and that is expensive. - -To improve trust we make promises. A promise is the documentation of an -intention to act or behave in some manner. This is what we need to -learn to -trust systems, no matter whether they are machines or humans. - -One CFEngine user once said to me, that the thing that had helped him -the most in deploying CFEngine was its design based around voluntary -cooperation. ``Our main problems were not technical but political -- -getting everyone to agree in all of our departments around the -world''. This was because, for all the technology, it is people who -make the decisions and people need to feel that the system is -empowering rather than disempowering them. - -@cartouche - -CFEngine works on a simple notion of promises. Everything in -CFEngine can be thought of as a promise to be kept by different -resources in the system. - -Combining promises with patterns to describe where and when -promises should apply is what CFEngine is all about. - -@end cartouche - - -@node Why automation?, Scaling up, Managing expectations - a theory of promises, System automation -@section Why automation? - - -Humans are good at making decisions and awful at reliable -implementation. Machines are pitiful at making decisions and very -good at reliable implementation. It makes sense to let each side do -the job that they are good at. - -The main problem in managing systems is a loss of self-discipline. -Discipline -does not imply that order have to be barked from a central command. It -only requires that every part of the system knows its job and carries -is out seamlessly and flawlessly. - -Skilled workers tend to think that it is enough to be smart. In fact -this is wrong: smart people tend to be problem solvers and will -happily solve the same problem many times, wasting time and -effort. Moreover, human intervention is often based on panic and lack -of understanding so every time someone logs onto a system by hand, -they jeopardize everyone's understanding of the system. Only the -self-discipline of stable procedures leads to predictability. - -Ad hoc changes are bad because: -@itemize -@item Others have no idea what happened. -@item There is no record of changes or intentions. -@item A scar is left from the change. -@end itemize - - -People often rile against automation saying that it dehumanizes their -work. In fact the opposite is true: forcing humans to do the work of -machines, in repetitive and reliable ways is what dehumanizes people. -The only way to make progress with a bad habit is to recognize it and -be willing to abandon the habit. - - -@node Scaling up, How do you view CFEngine, Why automation?, System automation -@section Scaling up - -In the past, the only way to scale up system numbers was to make all -systems identical. This is no longer true. - -In the late 1960s journalist and futurist Alvin Toffler sketched a -pretty compelling vision of the western world and its post-industrial -future. His book Future Shock, which appeared in 1970, was really a -reaction to the cold-war fears about a communist industrial state in -which mass production made everything and everyone identical and -indistinguishable. His book was really a rebuttal to all those who -argued that industrialization and mass production implied that -everything had to be exactly the same, and I recommend reading it - it -is very well written and has many lessons for us today. But from his -rather long diatribe, I wrote down a single sentence which for me sums -up the lesson that we have failed to learn: - -@quotation -@i{"As technology becomes more sophisticated, the cost of introducing -variations declines."} -@end quotation - -In other words, any half-decent technology for mass production would -help us to be more sophisticated and multifaceted, not less. -In an age when you can get business cards printed on demand from an -ATM at the airport, and personalized coffee mugs in the blink of an -eye, there is no reason to perpetuate the myth that massive -infrastructure requires monolithic replication, and yet people still -do. Network engineers do, and system administrators do. They even say -that this is essential for scalability. - -The importance of Toffler's message was that the economics of mass -production are not at odds with the economics of adaptation, but 40 -years later, we are still re-learning that lesson. - - -@node How do you view CFEngine, , Scaling up, System automation -@section How do @i{you} view CFEngine? - -CFEngine is a framework. It is not so complex, but it is certainly -extensive. -Often when trying to describe CFEngine, it seems that there is too -much to -tell and it is hard to convey in a simple way what the software can do. -The picture below shows a few ways in which you can think of CFEngine. - -@center @image{boxes,13cm,,CFEngine application areas,png} - -For many users, CFEngine is simply a configuration tool -- -i.e. software for deploying and patching systems according to a -policy. Policy is described using promises -- indeed, every statement -in CFEngine 3 is a promise to be kept at some time or location. More -than this, however, CFEngine is not like most automation tools that -`roll out' an image of some software once and hope for the best. Every -promise that you make in CFEngine is continuously verified and -maintained. It is not a one-off operation, but an encapsulated process -that repairs itself should anything deviate from the policy. - -That clearly places CFEngine in the realm of automation, which often -begs the question: so it's just another scripting language? Certainly -CFEngine contains a powerful scripting language, but it is not like -any other. CFEngine is not a low level language like Perl, Python or -Ruby; it is a language of promises, in which you express very high -level intentions about the system and the inner details figure out the -algorithms needed to implement the result. We'll return to this below. - -For many, CFEngine is a tool for implementing security hardening -procedures on systems, and monitoring them continuously thereafter. -This is certainly a major application area. CFEngine has a reputation -for being reliable and secure. That is because its basic design is -secure: it is not possible to send information about policy to -CFEngine from outside the system. If access has been granted, it is -only possible to send a few simple protocol requests of limited length -to the server. This makes the design safer than most firewalls. -Most servers fail security tests because it is possible to send -data to them. - - -The ability to describe almost any kind of policy for a system means -that we can suggest promises that a system should make and comply -with. Thus CFEngine can also be thought of as a compliance engine. -It is easily used to comply with frameworks like SOX, `EUROSOX' (the -EU 8th Data Directive), ITIL and standards like ISO 17799, ISO 20000, -etc. - -Finally, although CFEngine was not initially conceived for monitoring, -it -contains one of the most flexible and lightweight monitoring engines -around. You can extract data about system configuration, usage, -resources and log data and turn this into readable reports. CFEngine's -ability to discover and extract information about the system, combined -with its reporting means that you can turn the system into a simple -Configuration Management Database. In the Community edition, -monitoring is a zero-touch background process. With CFEngine -commercial extensions, there is almost no limit to the kind of -monitoring promises you can make, and without the embarrassing resource -spikes that many monitoring systems produce. - -Above all, CFEngine is aimed to promote human understanding of complex -processes. Its promises are easily documentable using comments that -the system remembers and reminds us about in error reporting. It hides -irrelevant and transitory details of implementation so that the -@i{intentions} behind the promises are highlighted for all to see. -This means that the knowledge of your organization can be encoded into -the CFEngine language. - -@cartouche -@i{WHY DOES KNOWLEDGE MATTER? There are two reasons: the first is that -technical descriptions are hard to remember. You might understand -your configuration decisions when you are writing them, but a few -months later when something goes wrong, you will probably have forgotten -what you were thinking. That costs you time and effort to diagnose. -The second reason is that organizations are fragile to the loss -of those individuals who code policy. If they leave, often there is -no one left who can understand or fix the system. Only with proper -documentation is it possible to immunize against loss.} -@end cartouche - - - - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node The components of CFEngine, Bodies and bundles, System automation, Top -@chapter The components of CFEngine - -CFEngine comprises a number of components. In this chapter we'll -consider how to -build them and what they are for. - - -@menu -* Installation:: -* Work directory:: -* The players:: -* About the CFEngine architecture:: -* The policy decision flow:: -* Getting started with the Community Edition:: -@end menu - -@node Installation, Work directory, The components of CFEngine, The components of CFEngine -@section Installation - - -To install CFEngine, you will need a few packages. You require: - -@table @r -@item @b{OpenSSL} -Open source Secure Sockets Layer for encryption.@*URL: @url{http://www.openssl.org -} -@item @b{Tokyo Cabinet} (version 1.4.42 or later) -Lightweight flat-file database system.@*URL: @url{http://fallabs.com/tokyocabinet/} -@item @b{PCRE} -Perl Compatible Regular Expression library.@*URL: @url{http://www.pcre.org/} - -@item -On Windows machines, you need to install the basic Cygwin DLL from -@url{http://www.cygwin.com} -in order to build CFEngine Community. -@end table - -Additional functionality (some of which is available only in -commercial extensions) also becomes available if other libraries are -present, e.g. OpenLDAP, client libraries for MySQL and PostgreSQL, -etc. It is possible to run CFEngine without these, but related -functionality will be missing. - -Unless you have purchased ready-to-run binaries, or are using a -package distribution, you will need to compile CFEngine. For this you -will also need a build environment with @code{gcc}, @code{flex}, -and @code{bison}. - -@noindent -The preferred method of installation is then - -@smallexample -tar zxf CFEngine-x.x.x.tar.gz -cd CFEngine-x.x.x -./configure -make -make install -@end smallexample - -@noindent -This results in binaries being installed in @file{/var/cfengine/bin}. - - -@node Work directory, The players, Installation, The components of CFEngine -@section The work directory - -CFEngine keeps a work space directory for its own use. The default -location for this is @file{/var/cfengine} when run as the root user, and -@code{~/.cfagent} for other users. - - -@w{} -@smallexample -/var/cfengine -/var/cfengine/bin -/var/cfengine/inputs -/var/cfengine/outputs -@end smallexample -@c chew end Work directory - -A trusted cache of the input files must now be maintained in the -@file{inputs} subdirectory. When CFEngine is invoked by the scheduler, -it expects to read only from this directory. It is up to the user to -keep this cache updated, on each host (this is arranged by the default -configuration files). - -Unlike CFEngine 2, CFEngine 3 does not recognize the -@code{CF-INPUTS} environment variable. - -The @file{outputs} directory is now a record of spooled run-reports. -These -are often mailed to the administrator by @code{cf-execd}, or can be -copied -to another central location and viewed in an alternative browser. - - - -@node The players, About the CFEngine architecture, Work directory, The components of CFEngine -@section The players - -A CFEngine system is something like an orchestra. -It is composed of any number of computers (players), each of which has -its -own copy of the music and knows what to play. It might or might not have -a conductor to help coordinate the individual parts -- that's up to you. - -CFEngine's software agents run on each individual computer but can -communicate if they need to, as depicted the figure below. This means -you don't have to arrange risky login credentials to run your network --- and if something goes wrong with the communications network, -CFEngine is where it needs to be to repair or protect the system -during the outage. - -@image{components,10cm,,CFEngine components,png} - -If the network is not working, CFEngine just skips these parts and -continues -with what it can do. It is fault tolerant and opportunistic. - -@table @emph - -@item cf-promises -The promise verifier and compiler. This is used to pre-check a set of -configuration promises before attempting to execute. - -@item cf-agent - -This is the instigator of change. The agent is the part of CFEngine -that manipulates -system resources. - -@item cf-serverd - -The server is able to share files and receive requests to execute -existing policy on an individual machine. It is not possible to send -(push) new information to CFEngine from outside. - -@item cf-execd - -This is a scheduling daemon (which can either supplement or replace -@code{cron}). It also works as a wrapper, executing and collecting the -output of @code{cf-agent} and E-mailing it if necessary to a system -account. - -@item cf-runagent - -This is a helper program that can talk to @code{cf-serverd} and -request that it execute @code{cf-agent} with its existing policy. It -can thus be used to simulate a push of changes to CFEngine hosts, if -their policy includes that they check for updates. - -@item cf-report - -This generates summary and other reports in a variety of formats for -export or integration with other systems. - -@item cf-know - -This agent can generate an ISO standard Topic Map from a number of -promises about system knowledge. It is used for rendering documentation -as a `semantic web'. - -@end table - - - - - - -@node About the CFEngine architecture, The policy decision flow, The players, The components of CFEngine -@section About the CFEngine architecture - -This section explains how CFEngine will operate autonomously in a -network, under your guidance. If your site is large (thousands of -servers) you should spend some time discussing with CFEngine experts -how to tune this description to your environment as @emph{scale} -requires you to have more infrastructure, and a potentially more -complicated configuration. The essence of any CFEngine deployment -is the same. - - - -There are four commonly cited phases in managing systems, summarized -as follows: - -@itemize -@item Build -@item Deploy -@item Manage -@item Audit -@end itemize - -These separate phases originate with a model of system management -based on transactional changes. CFEngine's conception of management -is somewhat different, as transaction processing is not a good model for -system management, but we can use this template to see how -CFEngine works differently. - -@table @emph -@item Build -A system is based on a number of decisions and resources that need to -be `built' before they can be implemented. Building the trusted -foundations of a system is the key to guiding its development. You -don't need to decide every detail, just enough to build trust and -predictability into your system. - -In CFEngine, what you build is a template of proposed promises for the -machines in an organization such that, if the machines all make and -keep these promises, the system will function seamlessly as -planned. This is how it works in a human organization, and this is how -is works for computers too. - -@item Deploy -Deploying really means implementing the policy that was already -decided. In transaction systems, one tries to push out changes one by -one, hence `deploying' the decision. In CFEngine you simply publish -your policy (in CFEngine parlance these are `promise proposals') and -the machines see the new proposals and can adjust accordingly. Each -machine runs an agent that is capable of implementing policies and -maintaining them over time without further assistance. - -@item Manage -Once a decision is made, unplanned events will occur. Such -incidents traditionally set off alarms and humans rush to make new -transactions -to repair them. In CFEngine, the autonomous agent manages the system, -and you only have to deal with rare events that cannot be dealt with -automatically. - -@item Audit -In traditional configuration systems, the outcome is far from clear -after a one-shot transaction, so one audits the system -to determine to discover what actually happened. In CFEngine, changes -are not just initiated once, but locally audited and maintained. -Decision outcomes are assured by design in CFEngine and maintained -automatically, so the main worry is managing conflicting -intentions. Users can sit back and examine regular reports of -compliance generated by the agents, without having to arrange -for new `roll out' transactions. - -@end table - -@cartouche -@emph{ROLL-OUT and ROLL-BACK? You should not think of CFEngine as a -roll-out system, i.e. one that attempts to force out absolute changes -and perhaps reverse them in case of error. Roll-out and roll-back are -theoretically flawed concepts that only sometimes work in practice. -With CFEngine, you publish a sequences of policy revisions, always -moving forward (because like it or not, time only goes in one -direction). All of the desired-state changes are managed locally by -each individual computer, and continuously repaired to ensure on-going -compliance with policy. } -@end cartouche - -@node The policy decision flow, Getting started with the Community Edition, About the CFEngine architecture, The components of CFEngine -@section The policy decision flow - -CFEngine does not make absolute choices for you, like other -tools. Almost everything about its behaviour is matter of policy and -can be changed. However, a structure for use, like the following, is -recommended (see the following figure). - -In order to keep operations as simple as possible, CFEngine maintains -a private working directory on each machine referred to in -documentation as WORKDIR and in policy by the variable -@code{$(sys.workdir)}. By default, this is located at -@file{/var/cfengine} or @file{C:\var\CFEngine}. It contains everything -CFEngine needs to run. - -The figure below shows how decisions flow through the parts of a system. - -@image{arch,15cm,,The CFEngine architecture,png} - - -@itemize -@item -It makes sense to have a single point of coordination. Decisions are -therefore usually made in a single location (the Policy Definition -Point). The history of decisions and changes can be tracked by a -version control system of your choice (e.g. Subversion, CVS, etc.). - -@item -Decisions are made by editing CFEngine's policy file -@file{promises.cf} (or one of its included sub-files). This process is -carried out off-line. - -@item -Once decisions have been formalized and coded, this new policy is -copied @emph{manually} (a human decision) to a @emph{decision -distribution point}, which by default is located in the directory -@file{/var/cfengine/masterfiles} on all policy distribution servers. - -In this introduction, we shall assume that there is only one central -policy distribution server, a specially-appointed server which is -referred to simple as the @code{policy server}. - - -@item -Every client machine contacts the policy server and downloads these -updates. The policy server can be replicated if the number of clients -is very large, but we shall assume here that there is only one policy -server. -@end itemize - -Once a client machine has a copy of the policy, it extracts only those -promise proposals that are relevant to it, and implements any changes -without human assistance. This is how CFEngine manages change. - -@cartouche - -@emph{WHY DO THIS? CFEngine tries to minimize dependencies by decoupling -processes. By following this pull-based architecture, CFEngine will -tolerate network outages and will recover from deployment errors -easily. By placing the burden of responsibility for decision at the -top, and for implementation at the bottom, we avoid needless fragility -and keep two independent quality assurance processes apart.} - -@end cartouche - - -@node Getting started with the Community Edition, , The policy decision flow, The components of CFEngine -@section Getting started with the Community Edition - -The quickest way to get started with CFEngine is to download and install binary packages, available from @url{http://cfengine.com/inside/myspace}. Installing and bootstrapping these is a trivial operation, putting you two steps away from testing your first CFEngine policies. - -@cartouche -Note: There is a bug in Community 3.3.0 where the default policy files are not copied to @code{/var/cfengine/masterfiles} upon bootstrap. Workaround consists in manually copying these files before bootstrapping: -@verbatim -cp /var/cfengine/share/CoreBase/*.cf /var/cfengine/masterfiles/ -@end verbatim -This will be corrected in a bugfix release coming soon. -@end cartouche - -This procedure applies to all hosts, but you should bootstrap the hub (policy server) first. Find the hostname or IP address of the hub, here we assume the address is '123.456.789.123' (do not bootstrap with a localhost address). -@verbatim - - host# /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 - -@end verbatim - -CFEngine will output diagnostic information upon bootstrap (written to command line and syslog; cf-agent will also return a value: ERROR: 1, SUCCESS: 0). Error messages will be displayed if bootstrapping failed, pursue these to get and indication of what went wrong and correct accordingly. If all is well you should see the following in the output: - -@verbatim - --> Bootstrap to 123.456.789.123 completed successfully - -@end verbatim - -As an alternative to installing binary packages, the following steps outline the procedure when you have built from source (available from @url{http://cfengine.com/source_code}). You will then need to copy the distributed policy files that were installed in -@file{/var/cfengine/share/CoreBase/} to a policy distribution point, like -this: - -@enumerate -@item Decide on your policy server. - -@item Become root or Administrator on that server. - -@item Create the policy source directory and populate the cache: -@smallexample - host# /var/cfengine/bin/cf-key - host# cp /var/cfengine/share/CoreBase/*.cf /var/cfengine/masterfiles/ - host# /var/cfengine/bin/cf-agent --bootstrap 123.456.789.123 -@end smallexample -@end enumerate - -@sp 1 -CFEngine should be up and running on your system after the bootstrap. It will copy its default policy files into @file{/var/cfengine/masterfiles} on the hub (policy server) provided that the directory is empty (fresh install). This directory is the definition point for your policy, meaning that clients will contact the hub and copy these files to their @file{/var/cfengine/inputs} directory. Note that the policy hub also works as a client against itself, so it too will copy from @file{/var/cfengine/masterfiles} to @file{/var/cfengine/inputs}. You should browse the files in @file{/var/cfengine/masterfiles} to see what they contain, and perhaps make some alterations to adapt to your environment. - -To see which CFEngine processes are running: - -@smallexample - -host# ps waux | grep cf- - -@end smallexample - -Note: If you have manually configured a different location for the -CFEngine work directory, -you will need to adapt these lines above to replace @file{/var/ -CFEngine} with the path -you have configured; e.g. Debian based packages feel that @file{/var/ -lib/CFEngine} -is the right location for this. - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node Bodies and bundles, First promises, The components of CFEngine, Top -@chapter Bodies and bundles - -To emphasize the fact that CFEngine is not an imperative programming -language, and to keep closely to the nomenclature of Promise Theory, -CFEngine uses two concepts throughout: bundles and bodies. - - -@menu -* Bodies:: -* Bundles:: -* A simple syntax pattern:: -@end menu - -@node Bodies, Bundles, Bodies and bundles, Bodies and bundles -@section Bodies - -Promises are the fundamental statements in CFEngine. Promises are the policy atoms. -If there is no promise, nothing happens. - -However, promises can become quite complicated and readability becomes -an issue, so it is useful to have a way of breaking them down into independent -components. The structure of a promise is this: - -@table @i -@item Promiser -This is the object that formally makes the promise. It is always the @i{affected object}, -since objects can only make promises about their own state or behavior in CFEngine. - -@item Promisee (optional) -This is a possible stakeholder, someone who is interested in the outcome of the -promise. It is used as documentation, and it is used for reasoning in the commercial -CFEngine product. - -@item Promise body -Everything else about a promise is defined in the body of the promise. -We use this word in the sense of `body of a contract' or the `body of a document' -(like @code{}) tags in HTML, for example. - -A promise body is a list of declarations of the following form: - -@verbatim -CFEngine_attribute_type => user_defined_value or template -@end verbatim - -@end table - -@menu -* Body parts:: -* Control bodies:: -@end menu - -@node Body parts, Control bodies, Bodies, Bodies -@subsection Body parts - -The CFEngine reserved word @code{body} is used to define -@i{parameterized templates} for bodies to hide the details of complex -promise specifications. For complex body lists, you must fill in a -body declaration as an `attachment' to the promise, e.g. - -@verbatim -files: - - "/tmp/promiser" # Promiser - - perms => myexample; # The body is just one line, - # but needs an attachment - -@end verbatim -The attachment is declared like this, with a `type' that matches the left -hand side of the declaration in the promise: -@verbatim -body perms myexample -{ -mode => "644"; -owners => { "mark", "sarah", "angel" }; -groups => { "users", "sysadmins", "mythical_beasts" }; -} -@end verbatim -The structure is this: - -@sp 1 -@cartouche -@smallexample - - @var{promiser} - - @b{LVALUE} => @var{RVALUE} - -.. - -body @b{LVALUE} @var{RVALUE} -@{ -@b{LVALUE} => @var{RVALUE}; -@b{LVALUE} => @var{RVALUE}; -@} -@end smallexample -@end cartouche -@sp 1 - -Another way of looking at it is this: - -@sp 1 -@cartouche -@smallexample - - @var{promiser} - - @b{CFEngine_word} => @var{user_defined_value} - -.. - - body @b{CFEngine_word} @var{user_defined_value} - @{ - @b{CFEngine_word} => @var{user_defined_value}; - @b{CFEngine_word} => @var{user_defined_value}; - ... - @} - -@end smallexample -@end cartouche -@sp 1 - -Body attachments are required items. You cannot choose to put the -attachments in-line. This is a lesson that was learned from CFEngine -2. Readability is quickly lost if too many details are placed in-line. - -@center @image{body_bundle,10cm} - -@node Control bodies, , Body parts, Bodies -@subsection Control bodies - -Some promises in CFEngine are implicit. They are hard-coded into the program. -For example, the fact that CFEngine looks for a number of files to read and -will execute them in a sequence is hard coded. You cannot change this. -However, you can change the behavior of such promises by setting control -parameters. These are formally parts of the `promise body' for these hard-coded -promises, so we use the body structure to set them. Each agent has a special -body whose name is @code{control}; e.g. - -@verbatim -body agent control -{ -bundlesequence => { "test" }; -} -@end verbatim - - -@node Bundles, A simple syntax pattern, Bodies, Bodies and bundles -@section Bundles - -A bundle is a simple concept. A bundle is merely a collection of promises -in a `sub-routine-like' container. The purpose of bundles is to allow -you greater flexibility to break down the contents of your policies and -give them names. Bundles also allow you to re-use promise code by -parameterizing it. - -Like bodies, bundles also have `types'. Bundles belong to the agent that -is used to keep the promises in the bundle. So @code{cf-agent} has bundles -declared as - -@verbatim -bundle agent my_name -{ -} -@end verbatim - -@noindent The @code{cf-serverd} program has bundles declared as: -@verbatim -bundle server my_name -{ -} -@end verbatim -@noindent and so on. - - - -@menu -* Bundle scope:: -@end menu - -@node Bundle scope, , Bundles, Bundles -@subsection Bundle scope - -Variables and classes defined inside bundles are not directly visible outside. -All variables in CFEngine are globally accessible, however if you refer to a variable -by @samp{$(unqualified)}, then it is assumed to belong to the current bundle. To -access any other (scalar) variable, you must qualify the name using the name of -the bundle in which it is defined: -@samp{$(bundle_name.qualified)}. - -Some promise types, like @code{var}, @code{classes} may be made -by any agent. These are called @code{common} promises. Bundles of type @code{common} -are special. They may contain common promises. -Classes defined in common bundles have global scope. - -@node A simple syntax pattern, , Bundles, Bodies and bundles -@section A simple syntax pattern - -The syntax of CFEngine follows a simple pattern in all cases. Once you have learned this pattern, -it will make sense anywhere in the program. The figure below illustrates -this pattern. Some words are reserved by CFEngine, and are used as types or categories -for talking about promises. Other words (in blue) are to be defined by you. -Look at the examples and try to identify these patterns yourself. - -@image{cfengineword,14cm} - - -@c ***************************************************** -@c * CHAPTER -@c ***************************************************** - -@node First promises, A simple crash course in concepts, Bodies and bundles, Top -@chapter How to execute and test a CFEngine policy - - -You do not need root privilege to use CFEngine. Most experiments can -be safely tested as an ordinary user. You should spend some time -experimenting with small examples before setting out to configure a -system. To do that you should log onto your system as a regular -unprivileged user and set up: - -@smallexample -host$ /var/cfengine/bin/cf-key -host$ cp /var/cfengine/bin/cf-* ~/.cfagent/bin -@end smallexample - -@noindent CFEngine wants to see copies of its binaries in its -work directory. For a regular user this lies in @file{~/.cfagent} -rather than @file{/var/cfengine}. You should now be ready to go. - -@c ........................................................................ - -@menu -* Hello world:: -* Checking a file:: -* Changing a password:: -* The update bundle - provisioning:: -* Reporting:: -* cf-execd:: -@end menu - -@node Hello world, Checking a file, First promises, First promises -@section Hello world - -Here is the simplest `Hello world' program in CFEngine 3: - -@verbatim - -# Every policy must have a bundlesequence - -body common control -{ -bundlesequence => { "test" }; -} - -# - -bundle agent test -{ -reports: # This is a promise type - - cfengine_3:: # This is a class context (the promise will only - # be kept on a CFEngine_3 system) - - "Hello world"; # This is a simple promise (it generates a report - # that says "Hello world") -} - -@end verbatim - -@noindent Type this in to a file, e.g. @samp{emacs ~/test.cf}. Then -check -the syntax like this -@smallexample -/var/cfengine/bin/cf-promises -f ~/test.cf -@end smallexample -If all is well there should be no output. -Now execute as follows: -@smallexample -/var/cfengine/bin/cf-agent -f ~/test.cf -@end smallexample -You should see this: -@smallexample -R: Hello world -@end smallexample -The @samp{R:} tells you this is the output from a report (as opposed -to a log @samp{L:}, or the quoted output of some embedded program -@samp{Q:}). - - -@noindent This is not a typical CFEngine program, primarily because -CFEngine is not -normally meant to print messages except in exceptional circumstances. -As a starter -however, it is reassuring to see some output. - -If you repeat the command immediately nothing will happen. But if you -wait -a minute, it will work again. Run the command in verbose mode (use the -@code{-v} or the @code{--verbose} switch) to see why: - -@smallexample -/var/cfengine/bin/cf-agent --verbose -f ~/test.cf -@end smallexample -Now you will see: -@smallexample -cf3> ========================================================= -cf3> reports in bundle hello (1) -cf3> ========================================================= -cf3> -cf3> XX Nothing promised here [lock.hello.reports..Hello_worl] (0/1 -minutes elapsed) -cf3> -@end smallexample -This tells you that CFEngine believes it is too soon to try to keep -this promise -again. The time it sets on this is determined by the @code{ifelapsed} -parameter, which -can be set individually for every promise. You can also ask CFEngine -to ignore these -locks using the @samp{-K} option. - -Before the `Hello world' string, you see the class expression -@samp{cfengine_3::}. This is how CFEngine makes decisions. The -promise to print the message will only apply if this condition is -true. To see that this class is true for the execution, look at the -verbose output from the command you just typed. You will see something -like this: - -@smallexample -Defined Classes = ( any verbose_mode Tuesday Hr08 Morning Min48 -Min45_50 Q4 Hr08_Q4 Day7 July Yr2009 Lcycle_2 GMT_Hr6 linux atlas -undefined_domain 64_bit linux_2_6_27_23_0_1_default x86_64 -linux_x86_64 linux_x86_64_2_6_27_23_0_1_default -linux_x86_64_2_6_27_23_0_1_default__1_SMP_2009_05_26_17_02_05__0400 -compiled_on_linux_gnu localhost_localdomain localhost net_iface_lo -net_iface_wlan0 ipv4_192_168_1_100 ipv4_192_168_1 ipv4_192_168 -ipv4_192 fe80__21c_bfff_fe6e_70ef CFEngine_3_0_2b4 CFEngine_3_0 -@b{CFEngine_3} SuSE lsb_compliant suse suse_n/a suse_11_1 suse_11 -agent ) -@end smallexample -i.e. a list of all the currently defined classes. Any one of these -classes -(or a combination) could have been used to label the promise. -That is the way CFEngine points to which promises will be kept in which -scenarios. - -A final thing to note: if you try to process this using the -@samp{cf-promises -r} command, you will see something like this: - -@smallexample -atlas$ ~/LapTop/CFEngine3/trunk/src/cf-promises -r -f ~/test.cf -Summarizing promises as text to ~/test.cf.txt -Summarizing promises as html to ~/test.cf.html -@end smallexample - -@noindent The @samp{-r} option produces a report. Examine the files -produced: - -@smallexample -cat ~/test.cf.txt -firefox ~/test.cf.html -@end smallexample - -You will see a summary of how CFEngine interprets the files, either in -HTML or text. All the CFEngine components will produce debugging file -with an expanded view when using this option -(e.g. for the configuration file named @file{promise_output_agent.h}, -they will create the files @file{promise_output_agent.html} and -@file{promise_output_agent.txt}). - - - - -@c --------------------------------------------------------------------------- -@node Checking a file, Changing a password, Hello world, First promises -@section Checking a file - -Type in the following example: - -@verbatim - -body common control -{ -bundlesequence => { "test" }; -inputs => { "cfengine_stdlib.cf" }; -} - -bundle agent test -{ -files: - -# This is a throw-away comment, below is a full-bodied promise - -"/tmp/testfile" # promiser - - comment => "This is for keeps...", # Live comment - create => "true", # Constraint 1 - perms => m("612"); # Constraint 2, rw---x-w- - -} - -@end verbatim - -In the CFEngine Community Open Promise-Body Library (CFEngine_stdlib.cf) is a library of -definitions that can be obtained from the CFEngine website. It should be -included in the @file{inputs} directory and input as above. -Within that file, the template @samp{m} is defined: -@verbatim -# This is a trivial body template, which makes parameterizing -# the promise body tidier and re-usable - -body perms m(x) -{ -mode => "$(x)"; -} - -@end verbatim -This example shows how additional attributes are added to the body of -the promise. The right hand side of the @code{perms} declaration is a -template which we have called @samp{m()}, which uses a parameter. The -template is defined below the bundle of promises that uses it, showing -how we can create re-usable sets of parameters. In this case, the -example is trivial, but we have barely begun. When things get more -sophisticated, we shall hide a huge amount of detail in these -parameters, thus keeping the main promise uncluttered and its -intention clear. - -@cartouche - -In every `promise constraint' of the form @samp{left-hand-side => -right-hand-side}, the left hand side is a CFEngine reserved word, and -the right hand side is a decision you make, possibly expressed in -terms of standard templates. - -@end cartouche - -Now execute @code{cf-agent} with this promise: -@smallexample -@b{host$} /var/cfengine/bin/cf-agent -f /tmp/test.cf -I --> Object /tmp/testfile had permission 600, changed it to 612 - -@b{host$} ls -l /tmp/testfile --rw---x-w- 1 mark users 33 2009-06-30 06:06 /tmp/testfile -@end smallexample -The @samp{-I} flag tells CFEngine to `inform' us about changes only. -This provides a digestible amount of output that is more than the -default (which is to only report un-fixable problems or explicit -reports). We see that CFEngine creates the file as ordered, and sets -the permissions appropriately. Now try to change the permissions: -@smallexample -@b{host$} chmod 400 /tmp/testfile - -@b{host$} ls -l /tmp/testfile --r-------- 1 mark users 33 2009-06-30 06:06 /tmp/testfile - -@b{host$} /var/cfengine/bin/cf-agent -f /tmp/test.cf -I --> Object /tmp/testfile had permission 400, changed it to 612 - -@b{host$} ls -l /tmp/testfile --rw---x-w- 1 mark users 33 2009-06-30 06:06 /tmp/testfile -@end smallexample -Once again, remember the comment about locking and @code{ifelapsed} -from the previous example. - - -Notice that this promise does not have a class expression like -@code{cfengine_3::}. -The default class @code{any::} applies if nothing is stated, which means -`anytime, anyplace, anywhere'. - - - -@c --------------------------------------------------------------------------- -@node Changing a password, The update bundle - provisioning, Checking a file, First promises -@section Changing a password - -To change root password of a system, we need to edit a file. A file is -a complex object -- once open there is a new world of possible -promises to make about its contents. CFEngine has bundles of promises -that are specially for editing. Make a copy of a shadow file and copy -it to @file{/tmp} so that you can play with it. -@verbatim - -body common control -{ -bundlesequence => { "test" }; -inputs => { "cfengine_stdlib.cf" }; -} - -bundle agent test -{ -files: - -"/tmp/shadow" - comment => "Set the root password", - edit_line => set_user_field("root",2,"xyajd673j.ajhfu"); - -} -@end verbatim -This is all we need to see on first inspection to understand the -promise that is being -made. - - - -@node The update bundle - provisioning, Reporting, Changing a password, First promises -@section The update bundle - provisioning - -The default CFEngine configuration contains a bundle of promises that -copies the CFEngine binaries into the cache directory and copies -the policy files from the server into the default location. This example -is for local copying from file to file on the filesystem. Later, when we -set up a server component, you will be able to copy from a remote host. -This is a simple example of system provisioning, with automated update. - -@verbatim - -bundle agent update -{ -vars: - -# A standard location for the source point -"master_location" string => "/var/cfengine/masterfiles"; - -files: - -"/var/cfengine/inputs" - - comment => "Update the policy files from the master", - perms => u_m("600"), - copy_from => u_cp("$(master_location)","localhost"), - depth_search => u_recurse("inf"); -} - -@end verbatim -These promises contain several attributes in their bodies that we have -not seen yet. The @code{copy_from} attribute tells CFEngine how to -source -(copy) a file from a master location. The @code{depth_search} tells it -to search recursively through the sub-directories and their files. - -Try changing the source files and executing the agent. - -Again there are library reusable templates: -@verbatim - -body perms u_m(p) -{ -mode => "$(p)"; -} - -# - -body copy_from u_cp(from,server) -{ -servers => { "$(server)", "failover.example.org" }; -source => "$(from)"; -compare => "digest"; -} - -# - -body depth_search u_recurse(d) -{ -depth => "$(d)"; -exclude_dirs => { "\.X11", ".*kde.*", "logs", "log" }; -} - -@end verbatim - -@noindent Here is an exercise: try using the reference manual to look up -the elements in this example. See if you can understand all the parts. - - -@node Reporting, cf-execd, The update bundle - provisioning, First promises -@section Reporting - -CFEngine contains a report generator called @file{cf-report}. It is -configured -using control parameters described in the next chapter. Try: - -@verbatim -host$ /var/cfengine/bin/cf-report -host$ ls ~/.cfagent/reports -host$ mywebbrowser ~/.cfagent/reports/performance.html -@end verbatim - -Most of these reports will be blank at the start, until you have run -CFEngine -on some significant promises. - -@node cf-execd, , Reporting, First promises -@section @code{cf-execd} - -CFEngine contains a service for running the agent with its default -configuration in @file{WORKDIR/inputs/promises.cf} called the -exec-daemon. If you execute the binary directly it will go into the -background and execute @file{cf-agent} every five minutes by default, -with its default policy. - -You can try running it in the foreground: - -@verbatim -host$ /var/cfengine/bin/cf-execd -F -@end verbatim - -When you run CFEngine like this, any output that comes from CFEngine -is collected -and placed in @file{WORKDIR/outputs}. If you have configured an email -address and -your host is running an SMTP service, then it will be sent as email. -To configure -this you would add a control body to the @file{promises.cf} file - -@verbatim -body executor control - -{ -splaytime => "1"; -mailto => "cfengine_mail@example.org"; -smtpserver => "localhost"; -mailmaxlines => "30"; -} - -@end verbatim -These other lines change different aspects of the hard-wired behavior -of the -executor, e.g. a load-balancing time delay before execution of the -agent, a mail address, -the name or IP address of an SMTP (mail) service, and the maximum -number of lines -of output to be included in any email sent. - -You should start to see a pattern in the way CFEngine is configured. -In the next -chapter, we'll look at these general matters. - - - - -@c -------------------------------------------------------------------------- -@node A simple crash course in concepts, Using CFEngine as a front-end for cron, First promises, Top -@chapter A simple crash course in concepts - - -@menu -* Rules are promises:: -* Control promises:: -* Variables:: -* Decisions:: -* Loops:: -* The main promise types:: -@end menu - -@node Rules are promises, Control promises, A simple crash course in concepts, A simple crash course in concepts -@section Rules are promises - -Everything in CFEngine 3 can be interpreted as a promise. Promises can -be made about all kinds of different subjects, from file attributes, -to the execution of commands, to access control decisions and -knowledge relationships. - -This simple but powerful idea allows a very practical uniformity in -CFEngine syntax. There is only one grammatical form for statements in -the language that you need to know and it looks generically like this: - -@smallexample - -type: - -classes:: - - "promiser" -> @{ "promisee1", "promisee2", ... @} - - attribute_1 => value_1, - attribute_2 => value_2, - ... - attribute_n => value_n; - -@end smallexample - -@noindent -We speak of a promiser (the abstract object making the promise), the -promisee is the abstract object to whom the promise is made, and then -there is a list of associations that we call the `body' of the -promise, which together with the promiser-type tells us what it is all -about. - -@cartouche -The promiser is always the object -affected by the promise. -@end cartouche - -Not all of these elements are necessary every time. Some promises -contain a lot of implicit behavior. In other cases we might want to -be much more explicit. For example, the simplest reports promise -looks like this: - -@smallexample - -reports: - -"hello world"; - -@end smallexample - -And the simplest commands promise looks like this - -@smallexample - -commands: - -"/bin/echo hello world"; - -@end smallexample - -@noindent -This promise has default attributes for everything except the -`promiser', i.e. the -command string that promises to execute. -A more complex promise contains many attributes: - -@smallexample - -# Promise type -files: - -# promiser -> promisee (no curly braces needed if only one) -"/home/mark/tmp/test_plain" -> "system blue team", - - # attribute => value - comment => "This comment follows the rule for knowledge integration", - perms => owner("@@(usernames)"), - create => "true"; - -@end smallexample -The list of promisees is not used by CFEngine except for -documentation, just -as the comment attribute (which can be added to any promise) has no -actual function -other than to provide more information to the user in error tracing -and auditing. - -You see several kinds of object in this example. All literal strings -(e.g. @code{"true"}) in CFEngine 3 must be quoted. This provides -absolute consistency and makes type-checking easy and error-correction -powerful. All function-like objects (e.g. @code{users("..")}) are -either built-in -special functions or parameterized templates which contain the `meat' -of the right hand -side. - - -@node Control promises, Variables, Rules are promises, A simple crash course in concepts -@section Control promises - -Certain promises that CFEngine components make are hard-wired into their -code. For example, the promise to email output to an appropriate -address, or the promise to wait until a certain time has elapsed before -checking a promise again (@code{ifelapsed}). Although these promises are -hard-wired, their behavior can be changed. In CFEngine, behavior is -always -constrained by the promise body. Thus hard-wired behavior is altered by -changing the control body for each. You can find these alterable -parameters -in the reference manual. - -The most important bundle is the @code{common} bundle, that is read by -all components of CFEngine. It contains the list of promise bundles -that should be read in and examined for promise suggestions. From the -@file{promises.cf} file: - -@verbatim - -body common control -{ -bundlesequence => { - "update", - "garbage_collection", - "main", - "cfengine" - }; - -inputs => { - "update.cf", - "site.cf", - "library.cf" - }; -} - -####################################################### - -body agent control -{ -# if default runtime is 5 mins we need this for long jobs -ifelapsed => "15"; -} - -####################################################### - -body monitor control -{ -forgetrate => "0.7"; -histograms => "true"; -} - -####################################################### - -body executor control - -{ -splaytime => "1"; -mailto => "cfengine_mail@example.org"; -smtpserver => "localhost"; -mailmaxlines => "30"; -} - -####################################################### - -body runagent control -{ -hosts => { - "127.0.0.1" - # , "myhost.example.com:5308", ... - }; - -} - -####################################################### - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1" }; -allowallconnects => { "127.0.0.1" , "::1" }; -trustkeysfrom => { "127.0.0.1" , "::1" }; - -# Make updates and runs happen in one - -cfruncommand => "$(sys.workdir)/bin/cf-agent -f failsafe.cf && -$(sys.workdir)/bin/cf-agent"; -allowusers => { "root" }; -} - -@end verbatim - - -@node Variables, Decisions, Control promises, A simple crash course in concepts -@section Variables - -Variables (or "variable definitions") are also promises -- the promise to -represent their values. We can write these in -any promise bundle. CFEngine recognizes two object types: scalars and -lists (lists contain 0 or more objects), as well as -three data-types (string, integer and real). Typing in CFEngine is -dynamic, as in -Perl and other scripting languages. Thus variables of any data-type -may be used as strings. - - -@menu -* Scalar variable expansion:: -* List variables:: -* List variable substitution and expansion:: -@end menu - -@node Scalar variable expansion, List variables, Variables, Variables -@subsection Scalar variables - -Scalar variables hold a single value. The are declared as follows: - -@smallexample -bundle @i{} name -@{ -vars: - -"my_scalar" string => "String contents..."; - "my_int" int => "1234"; - "my_real" real => "567.89"; - -@} - -@end smallexample - -The @samp{@i{}} indicates that any kind of bundle applies here. -Scalar variables are referenced by @samp{$(name)} (or -@samp{$@{name@}}) and they represent -a single value at a time. - -@itemize -@item Scalars that are written without a context, e.g. @samp{$(myvar)} -are local to the current bundle. - -@item Scalars are globally available everywhere provided one -uses the context to verify them e.g. @samp{$(context.myvar)} -may be written to access the variable `myvar' in bundle `context'. -@end itemize - -@c ----------------------------------------------------------------------- -@node List variables, List variable substitution and expansion, Scalar variable expansion, Variables -@subsection List variables - -List variables hold several values. The are declared as follows: - -@smallexample -bundle @i{} name -@{ -vars: - - "my_slist" slist => @{ "list", "of", "strings" @}; - "my_ilist" ilist => @{ "1234", "5678" @}; - "my_rlist" rlist => @{ "567.89" @}; - -@} - -@end smallexample -An entire list is referred to with the at symbol @samp{@@}, but it does -not usually make sense to use this reference in a string. For instance -@smallexample - -reports: - - cfengine_3:: - - "My list is @@(my_slist)"; - -@end smallexample -@noindent means nothing and cannot be expanded (it does not generate an -error, but instead inserts the text @@(my_slist) into the string); but if -we use the scalar reference to a list variable, CFEngine will iterate over -the values in -the list essentially making this into a list of promises. - -@noindent To summarize: -@itemize - -@item Scalar references to @i{local} list variables imply iteration, -e.g. -suppose we have local list variable @samp{@@(list)}, then the -scalar @samp{$(list)} implies an iteration over every value of the -list. - - -@item Lists can be passed in their entirety in any context -where a list is expected as @samp{@@(list)}., e.g. - -@verbatim - -vars: - -"longlist" slist => { @(shortlist), "plus", "plus" }; - -"shortlist" slist => { "you", "me" }; - -@end verbatim - -The declaration order does not matter -- CFEngine will execute the promise -to assign the variable @samp{@@(shortlist)} before the promise to assign the -variable @samp{@@(longlist)}. - -@item Only local lists can be expanded directly. Thus @samp{$(list)} -can be expanded but not @samp{$(context.list)}. Global -list references have to be mapped into a local context if you want to -use them for iteration. See the reference manual for more information. - -@end itemize - -@c ----------------------------------------------------------------------- -@node List variable substitution and expansion, , List variables, Variables -@subsection Associative arrays - -Associative array variables also hold several values. The are declared -as follows: - -@smallexample -bundle @i{} name -@{ -vars: - - "switches[mellow]" int => "1"; - "switches[relaxed]" int => "1"; - "off_keys" slist => @{ "red", "grouchy", "coarse", "febrile" @}; - "switches[$(off_keys)]" int => "0"; - -@} - -@end smallexample - -See the reference manual for information on the @samp{getindices} function -and other details of associative arrays. - -@node Decisions, Loops, Variables, A simple crash course in concepts -@section Decisions - -CFEngine decisions are made behind the scenes and the results of -certain true/false propositions are cached in Booleans referred to as -`classes'. There are no if-then-else statements in CFEngine; all -decisions are made with classes. - -CFEngine runs on every computer individually and each time it wakes up -the underlying generic agent platform discovers and classifies -properties of the environment or context in which it runs. This -information -is effectively cached and may be used to make decisions about -configuration. - -Classes fall into hard (discovered) and soft (user-defined) types. A -single hard class can be one of several things: - -@itemize @bullet - -@item The name of an operating system architecture e.g. -@code{ultrix}, @code{sun4}, etc. - -@item The unqualified name of a particular host. If your system -returns a fully -qualified domain name for your host, CFEngine truncates it at the -first dot. Note: @code{www.sales.company.com} and -@code{www.research.company.com} have the same unqualified name -- @code{www}. - -@item The name of a user-defined group of hosts. - -@item A day of the week (in the form @code{Monday, Tuesday, -Wednesday, ..}). - -@item An hour of the day, current time zone (in the form @code{Hr00, -Hr01 ... Hr23}). - -@item An hour of the day GMT (in the form @code{GMT_Hr00, GMT_Hr01 ... -GMT_Hr23}). -This is consistent the world over, in case you need virtual -simultaneity of change -coordination. - -@item Minutes in the hour (in the form @code{Min00, Min17 ... Min45}). - -@item A five minute interval in the hour (in the form @code{Min00_05, -Min05_10 ... Min55_00}) - -@item The quarter-hour (in the form @code{Q1, Q2, Q3, Q4}). - -@item A day of the month (in the form @code{Day1, Day2, ... Day31}). - -@item A month (in the form @code{January, February, ... December}). - -@item A year (in the form @code{Yr1997, Yr2004}). - -@item A shift in @code{Night,Morning,Afternoon,Evening}, which fall -into six hour blocks -starting at 00:00 hours. - -@item A `lifecycle index', which is the year number modulo 3 (used in -long term resource memory). - -@item An arbitrary user-defined string. - -@item The IP address octets of any active interface (in the form -@code{@w{ipv4_192_0_0_1}}, -@code{@w{ipv4_192_0_0}}, @code{@w{ipv4_192_0}}, @code{@w{ipv4_192}}). - -@end itemize - -@c chew end Hard classes - -To see all of the classes define on a particular host, run - -@smallexample -host# cf-promises -v -@end smallexample -as a privileged user. Note that some of the classes are set only -if a trusted link can be established with cfenvd, i.e. if both -are running with privilege, and the @file{/var/cfengine/state/env_data} -file is secure. More information about classes can be found in -connection with -@code{allclasses}. - -User-defined or soft classes are defined in bundles. Bundles of type -@code{common} yield classes that are global in scope, whereas in all -other bundle types classes are local. Soft classes are evaluated when -the -bundle is evaluated. They can be based on test functions or simply from -other classes: - -@verbatim - -bundle agent myclasses -{ -classes: - -"solinus" expression => "linux||solaris"; - -# List form useful for including functions - -"alt_class" or => { "linux", "solaris", fileexists("/etc/fstab") }; - -"oth_class" and => { fileexists("/etc/shadow"), fileexists("/etc/ -passwd") }; - -reports: - -alt_class:: - - # This will only report "Boo!" on linux, solaris, or any system - # on which the file /etc/fstab exists - "Boo!"; -} - -@end verbatim - -@noindent Classes may be combined with the operators listed here in order -from highest to lowest precedence: - -@table @samp -@item () -The parenthesis group operator. -@item ! -The NOT operator. -@item . -The AND operator. -@item & -The AND operator (alternative). -@item | -The OR operator. -@item || -The OR operator (alternative). -@end table - -@noindent -So the following expression would be only true on Mondays or Wednesdays -from 2:00pm to 2:59pm on Windows XP systems: - -@example - -(Monday|Wednesday).Hr14.WinXP:: - -@end example - -@noindent Consider the following more advanced example. Promises in bundles -of type @samp{common} are global in scope -- all other promises are local to -the scope of their bundle. - - -@verbatim - -body common control -{ -bundlesequence => { "g","ls_1", "ls_2" }; -} - -################################# - -bundle common g -{ -classes: - -# The promise "zero" is always satisfied , and is global in scope -"zero" expression => "any"; - -} - -################################# - -bundle agent ls_1 -{ -classes: - -# The promise "one" is always satisfied , and is local in scope to ls_1 -"one" expression => "any"; -} - -################################# - -bundle agent ls_2 -{ -classes: - -# The promise "two" is always satisfied , and is local in scope to ls_2 -"two" expression => "any"; - -reports: - -zero.!one.two:: - - # This report @b{will} be generated - "Success"; -} - -@end verbatim - -Here we see that class @samp{zero} is global while classes @samp{one} -and @samp{two} are local. -The report `Success' result is therefore true because only @samp{zero} -and @samp{two} are in scope in the @samp{ls_2} bundle (and the class -expression for bundle @samp{ls_2} requires that both @samp{zero} and -@samp{two} be true and that @samp{one} not be true). - - - - -@node Loops, The main promise types, Decisions, A simple crash course in concepts -@section Loops -If you are looking for loops in CFEngine then we need to reprogram you -a little, as you are thinking like a programmer! CFEngine is not a -programming language that is meant to give you low level control, but -rather a set of declarations that embody processes. It's the difference -between the gears on a bicycle and the automated transmission in a -transporter. - -Loops are executed implicitly in CFEngine, but there is no visible -mechanism for it -- because that would steal attention from the -intention of the promises. The way to express them is through lists. - -Loops are really a way to iterate a variable over a list. Try the -following. - -@verbatim - -body common control - -{ -bundlesequence => { "example" }; -} - -########################################################### - -bundle agent example - -{ -vars: - -# This is a list - -"component" slist => { "cf-monitord", "cf-serverd", "cf-execd" }; - -# This is an associative array - -"array[cf-monitord]" string => "The monitor"; -"array[cf-serverd]" string => "The server"; -"array[cf-execd]" string => "The executor, not executionist"; - -reports: - -cfengine_3:: - -"$(component) is $(array[$(component)])"; - -} - -@end verbatim -The output looks something like this: -@smallexample - -/var/cfengine/bin/cf-agent -f ./unit_loops.cf -K - -R: cf-monitord is The monitor -R: cf-serverd is The server -R: cf-execd is The executor, not executionist - -@end smallexample -You see from this that, if we refer to a list variable using the -scalar reference -operator @samp{$()}, CFEngine interprets this to mean ``please iterate -over all -values of the list''. Thus, we have effectively a `foreach' loop, without the -attendant syntax. - -@c --------------------------------------------------------------------------- -@node The main promise types, , Loops, A simple crash course in concepts -@section The main promise types - -@noindent The following promise types may be used in any bundle: -@table @code -@item vars -A promise to be a variable, representing a value. -@item classes -A promise to be a class representing a state of the system. -@item reports -A promise to report a message. -@end table - -@noindent These additional promise types may be used only in agent bundles -@table @code -@item commands -A promise to execute a command. -@item databases -A promise to configure a database. -@item files -A promise to configure a file, including its existence, attributes and -contents. -@item interfaces -A promise to configure a network interface. -@item methods -A promise to take on a whole bundle of other promises. -@item packages -A promise to install a package. -@item storage -A promise to verify attached storage. -@end table - -@noindent These promise types belong to other components: -@table @code -@item access -A promise to grant or deny access to file objects in @code{cf-serverd}. -@item measurements -A promise to measure or sample data from the system, for monitoring or -reporting in @code{cf-monitord} (CFEngine Nova and above). -@item roles -A promise to allow certain users to activate certain classes when -executing @code{cf-agent} remotely, in @code{cf-serverd}. -@item topics -A promise to associate knowledge with a name, and possibly other -topics, in @code{cf-know}. -@item occurrences -A promise to point or refer to a knowledge resource, in @code{cf-know}. -@end table - -@node Using CFEngine as a front-end for cron, Network services, A simple crash course in concepts, Top -@chapter Using CFEngine as a front-end or replacement for cron - - -@menu -* Do I need cron?:: -* The single cron job approach:: -* Structuring commands promises:: -* Splaying host times:: -* Building flexible time classes:: -* Scheduling interval:: -@end menu - -@node Do I need cron?, The single cron job approach, Using CFEngine as a front-end for cron, Using CFEngine as a front-end for cron -@section Do I need cron? - -The Unix cron command is a useful beast, but a dumb one. One of -CFEngine's strengths is its use of classes to identify systems from a -single file or set of files. Many administrators think that it would -be nice if the cron daemon also worked in this way. One possible way -of setting up cron from a global configuration would be to use the -CFEngine file editing capability to edit each cron file -separately. That would be missing an obvious opportunity however. - -A much better way is to use CFEngine's time classes to work like a -user interface for cron. This allows you to have a single, central -CFEngine file which contains all the cron jobs on your system without -losing any of the fine control which cron affords you. All of the -usual advantages apply: -@itemize @bullet - -@item -It is easier to keep track of what cron jobs are running on the -system when you have everything in one place. - -@item -You can use all of your carefully crafted groups and user-defined -classes to identify which host should run which programs. -@end itemize -@cindex Cron jobs, controlling with CFEngine - -The central idea behind this scheme is to set up a regular cron job on -every system which executes @code{cf-agent} at frequent intervals. Each time -@code{cf-agent} is started, it evaluates time classes and executes the -shell commands defined in its configuration file. In this way we use -@code{cf-agent} as a wrapper for the cron scripts, so that we can use -CFEngine's classes to control jobs for multiple hosts. CFEngine's time -classes are at least as powerful as @code{cron}'s time specification -possibilities, and they add control over location too. This does not -restrict you in any way, @xref{Building flexible time classes}. The -only price is the overhead of parsing the CFEngine configuration file -which is insignificant. - -@cartouche -DO I NEED TO USE CRON? No. With CFEngine's @code{cf-execd} you don't -@i{have} to use cron -- CFEngine can schedule itself. Whether you -choose to run @code{cf-execd} in daemon mode, or in wrapper mode is -entirely up to you. In the commercial versions of CFEngine, the exec -daemon has sophisticated features for reliability. In the Community -Edition, you might feel comfortable having something independent -watching over CFEngine, especially during binary updates during which -live programs can die from faults. -@end cartouche - -@node The single cron job approach, Structuring commands promises, Do I need cron?, Using CFEngine as a front-end for cron -@section The single cron job approach - -To be more concrete, imagine installing the following @file{crontab} -file onto every host on your network: - -@cartouche -@smallexample -# -# Global Cron file -# -*/5 * * * * /var/cfengine/bin/cf-execd -F - -@end smallexample -@end cartouche - -@noindent - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node Structuring commands promises, Splaying host times, The single cron job approach, Using CFEngine as a front-end for cron -@section Structuring commands promises - -The structure of a promise bundle needs to reflect your policy for -running jobs on the system. You need to switch on relevant tasks and -switch off unwanted tasks depending on the time of day. This can be -done by placing individual actions under classes which restrict the -times at -which they are executed, - -@smallexample - -@var{promise-type}: - - @var{time-based classes::} - - @var{Promise} - -@end smallexample - -@noindent For example: - -@verbatim -bundle agent example -{ -commands: - -# Exec during the first quarter-hour after noon - - Hr12.Q1:: - - "/path/myscript -arg1 -arg2"; - -# Exec during any second quarter-hour - - Q2:: - - "/path/otherscript"; - -# Exec during the intervals 00:10 through 00:15 and 12:45 through 12:55 -# (English says ``and'', but logic says ``if this interval or that is true'' - - Hr00.Min10_15||Hr12.Min45_55:: - - "/path/amongstourscripts"; - -} - -@end verbatim - -@noindent If you want to get fancy, you can set parameters for the -execution of the script -by building a container for it that traps its output and privileges -(this applies to root only, -since only root has this power to change privilege). - -@verbatim -bundle agent example -{ -commands: - -# Exec on the first quarter after noon - - Hr12.Q1:: - - "/path/myscript -arg1 -arg2", - - contain => jail("nobody","true"); -} - -# ... - -body contain jail(owner,devnull) -{ -exec_owner => "$(owner)"; # run with this setuid -no_output => "$(devnull)"; # like > /dev/null 2>&1 -umask => "77"; # set process umask -} - -@end verbatim -The @samp{contain}ment body provides a safe and flexible environment in which -to embed scripts. - -The time resolution of the classes is limited by how often you execute -CFEngine -either using cron or @code{cf-execd}. Five minutes is the recommended -scheduling interval. - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node Splaying host times, Building flexible time classes, Structuring commands promises, Using CFEngine as a front-end for cron -@section Splaying host times - -In a network of thousands of computers, many agents could start -executing and downloading resources from a server at the same time. -For instance, if a thousand cf-agents all suddenly wanted to copy a -file from a master source simultaneously this would lead to a big load -on the server. We can prevent this from happening by introducing a -time delay which is unique for each host and not longer than some -given interval; @code{cf-execd} uses a hashing algorithm to generate -a number -between zero and a maximum value in minutes which you define, like -this: - -@verbatim - -body executor control - -{ -splaytime => "10"; # Minutes -} - -@end verbatim - -@noindent -If this number is non-zero, @code{cf-execd} goes to sleep after -parsing its configuration file and reading the clock. Every machine's -@code{cf-execd} will go to sleep for a different length of time, which -is no longer than the time specified. - -A hashing algorithm, based on the fully qualified name of the host, is -used to compute a unique time for hosts. The shorter the interval, the -more clustered the hosts will be. The longer the interval, the lighter -the load on your servers. This `splaying' of the run times will -lighten the load on servers, even if they come from domains not under -your control but have a similar cron policy. - - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node Building flexible time classes, Scheduling interval, Splaying host times, Using CFEngine as a front-end for cron -@section Building flexible time classes - -Each time CFEngine is run, it reads the system clock and defines -classes based on the time and date (see reference manual). - -Time classes based on the precise minute at which cfagent started are -unlikely to be directly useful in policy (except in the -@code{cf-execd} schedule). Many things could conspire to delay the -precise time -at which cfagent were started. The real purpose in being able to -detect the precise start time is to define composite classes which -refer to arbitrary intervals of time. To do this, we use the -@code{group} or @code{classes} action to create an alias for a group -of time values. -@cindex Grouping time values -@cindex @code{groups} and time intervals -Here are some creative examples: - -@smallexample - -classes: # synonym groups: - -"LunchAndTeaBreaks" expression => "!(Saturday|Sunday).(Hr12|Hr10|Hr15)"; - -"NightShift" or => @{ "Hr22", "Hr23", "Night" @}; - -"ConferenceDays" or => @{ "Day26", "Day27", "Day29", "Day30" @}; - -"TimeSlices" or => @{ "Min01", "Min02", "Min03", "Min10_15" - "Min33", "Min34", "Min35" @}; - -"Exception" not => "Hr12.Min15_20"; - -@end smallexample -@noindent -In the first three examples, the left hand sides of the assignments are -effectively the ORed result of the right hand side. Thus if any -classes in the braces is defined, the left hand side class -will become defined. This provides a flexible and readable way of -specifying intervals of time within a program, without having to -use @samp{|} and @samp{.} operators everywhere. - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node Scheduling interval, , Building flexible time classes, Using CFEngine as a front-end for cron -@section Choosing a scheduling interval - -How often should you call your global CFEngine configuration? There -are several -things to think about: - -@itemize @bullet - -@item -How much fine control do you need? Running cron jobs once each hour is -usually enough for most tasks, but you might need to exercise finer -control for a few special tasks. - -@item -Are you going to verify the entire CFEngine configuration file -or just selected promises? - -@end itemize - -CFEngine has an intelligent locking and timeout policy which should be -sufficient to handle hanging shell commands from previous crons so that -no overlap can take place. - - - -@node Network services, Knowledge Management, Using CFEngine as a front-end for cron, Top -@chapter Network services - -@c --------------------------------------------------------------------------- - - -This chapter describes how you can set up a CFEngine network service -to handle -remote file distribution and remote execution of CFEngine without having -to open your hosts to possible attack using the @code{rsh} protocols. - - -@menu -* What services?:: -* How services work:: -* Remote access explained:: -@end menu - -@node What services?, How services work, Network services, Network services -@section CFEngine network services - -By starting the daemon called @code{cf-serverd}, you can set up a line -of -communication between hosts, allowing them to exchange files across -the network or execute CFEngine remotely on another system. -CFEngine network services are built around the following components: - -@table @code - -@item cf-agent -The configuration engine's only contact with the network is via -remote copy requests. It does not and cannot grant any access to a -system from the network. It is only able request access to files from -the -server component. - -@item cf-serverd -A daemon which acts as both a file server and a remote-@code{cf-agent} -executor. This daemon authenticates requests from the network and -processes them according to rules specified in the server control body -and server bundles containing @code{access} promises. - -@item cf-runagent -This is a simple initiation program which can be used -to run @code{cf-agent} on a number of remote hosts. It cannot -be used to tell @code{cf-agent} what to do, it can only ask @code{cf- -serverd} -on the remote host to run the @code{cf-agent} with its existing -configuration. -Privileges can be granted to users to provide a kind of Role Based -Access Control (RBAC) -to certain parts of the existing policy. - -@end table - -@noindent -With these components you have everything you need to do effective -distribution of resources (provisioning) of systems. - - -@c ------------------------------------------------------------------------------- -@c SECTION -@c ------------------------------------------------------------------------------- - -@node How services work, Remote access explained, What services?, Network services -@section How services work - - -@c ........................................... -@c SUBSECTION -@c ........................................... - - -@menu -* Remote file distribution:: -* Remote execution of cfagent:: -@end menu - -@node Remote file distribution, Remote execution of cfagent, How services work, How services work -@subsection Remote file distribution - -This section describes how you can set up @code{cf-serverd} as a -remote file -server which can result in the distribution of files to client hosts in -a secure a reliable manner. - -An important difference between CFEngine and other systems has to do -with the way files are distributed. CFEngine uses a `pull' rather -than a `push' model for distributing network files. A majority of -systems (probably) for instance, works by forcing an image of the -files on one server machine onto all clients. This happens in the manner -of an attack -- indeed the recipients are often required to open various -ports and accept whatever they get. CFEngine will not support this kind -of technology as a matter of principle. - -With the `push' approach files get changed when the distributor wishes -it and the clients have no choice but to live with the consequences. -CFEngine, on the other hand, works by @i{voluntary cooperation}. Hosts -are allowed to remain in control of their defenses and protect -themselves against attacks and pushes if they want to. - -In fact, CFEngine cannot (by design) force its will onto other hosts, -nor can it be forced. In order to distribute it can at best signal -all machines and ask them to collect files if they are willing. In other -words, CFEngine simulates a `push' model by polling each client and -running the local CFEngine configuration script giving the host the -chance to `pull' any updated files from the remote server, but leaving -it up to the client machine to decide whether or not it wants to -update. - -Also, in contrast to programs like @code{rdist} which distribute files -over many hosts, CFEngine does not require any general @code{root} -access to a system using the @file{.rhosts} file or the -@file{/etc/hosts.equiv} file. It is sufficient to run the daemon as -root. You can not run it by adding it to the @file{/etc/inetd.conf} -file on your system however. -@cindex @file{/etc/inetd.conf} file and CFEngine -The restricted functionality of the daemon protects your system from -attempts to execute general commands as the root user using @code{rsh}. - -To remotely access files on a server you use a @code{copy_from} -attribute -in a @file{files} promise: - -@verbatim -bundle agent example -{ -files: - -"/var/cfengine/inputs" - - perms => m("600"), - copy_from => remote_cp("$(master_location)","localhost"), - depth_search => recurse("inf"), - action => immediate; - -} - -# Library template - -body copy_from remote_cp(from,server) -{ -servers => { "$(server)" }; -source => "$(from)"; -compare => "mtime"; -} - -@end verbatim -@noindent -Assuming that the @code{cf-serverd} daemon is running on @var{server- -host}, @code{cf-agent} -will make contact with the daemon and attempt to obtain information -about the file. During this process, CFEngine verifies that the system -clocks of the two hosts are reasonably synchronized. If they are not, -it will not permit remote copying unless @code{denybadclocks} is false -in the server control body. - -If @code{cf-agent} determines that a file needs to be updated from a -remote -server it begins copying the remote file to a new file on the same -filesystem as the destination-file. This file has the suffix -@file{.cfnew}. - -Only when the file has been successfully collected will @code{cf- -agent} make a -copy of the old file, (see @code{repository} in the Reference manual), -and rename the new file into place. This behavior is designed to avoid -race-conditions which can occur during network connections and indeed -any operations which take some time. If files were simply copied -directly to their new destinations it is conceivable that a network -error could interrupt the transfer leaving a corrupted file in place. -@code{cf-agent} places a timeout of a few seconds on network -connections to -avoid hanging processes. - -Normally the daemon sleeps, waiting for connections from the network. -Such a connection may be initiated by a request for remote files from a -running @code{cf-agent} program on another host, or it might be -initiated by -the program @code{cf-runagent} which simply asks the -host running the daemon to run @code{cf-agent} or @code{cf-execd} -program locally. - -@c ........................................... -@c SUBSECTION -@c ........................................... - -@node Remote execution of cfagent, , Remote file distribution, How services work -@subsection Remote execution of @code{cf-agent} - -Occasionally you will want to run @code{cf-agent} immediately in order -to implement a change in configuration as quickly as possible on one -or more hosts. It would then be inconvenient to have to log onto every -host in order to do this manually. - -If your scheduling interval is often enough, this should be -unnecessary since CFEngine will already have run by the time you -manage to log on -- and the parallelism means that an entire network -can be altered in minutes without the delay of waiting for centralized -control. - -But you might want to send a special signal, e.g. run policy with a -special class activated on just a few machines. Then a better way is -to issue a simple command which contacts the remote host and runs -@code{cf-agent} with role based access control, providing the -immediate output on your own screen: - -@smallexample - -host$ cf-runagent -H @var{remote-host} -v - -@var{output....} - -@end smallexample - -@itemize @bullet - -@item -You avoid having to log in on a remote host in order to reconfigure -it. - -@item -Users other than root can run @code{cf-agent} to fix any problems with -the system, with access granted to individuals and classes. - -@end itemize - -A potential disadvantage with any such system is that malicious users -might be able to run @code{cf-agent} on remote hosts. The fact that -non-root users can execute @code{cf-agent} is not a problem in itself, -after all the most malicious thing they would be able to do would be -to check the system configuration and repair any problems. No one can -tell @code{cf-agent} what to do using the @code{cf-runagent} program, it is only -possible to run an existing configuration. But a more serious concern -is that malicious users might try to run @code{cf-agent} repeatedly -(so-called `Denial of Service' attack) so that a system became -burdened with running @code{cf-agent} constantly. -To protect against this, the server uses the same @code{ifelapsed} locks -to complement access controls. - -@node Remote access explained, , How services work, Network services -@section Remote access explained - - -@menu -* Server connection:: -* Remote access troubleshooting:: -* Key exchange:: -* Time windows:: -* Other users than root:: -* Encryption:: -@end menu - -@node Server connection, Remote access troubleshooting, Remote access explained, Remote access explained -@subsection Server connection - -In order to connect to the CFEngine server you need -@table @emph -@item A public-private key pair. -To create a key pair, run -@smallexample -cf-key -@end smallexample -@item An IP (v4 or v6) address. -You must be online with a configured network address. -@item A client program -Both @code{cf-agent} and @code{cf-runagent} are clients that can connect -to the server. - -@item Permission to connect to the server, and -The server control body must grant access to your computer and public -key by name or IP address, by listing it in one of the lists (see -below). - -@item Your public key must be trusted by the server, and you must -trust the server's public key - -By mutually trusting each others' keys, client and server agree -to use that key as a sufficient identifier for the computer. - -@item Permission to access something - -Your host name or IP address must be mentioned in an @code{access} -promise inside a server bundle, made by the file that you are -trying to access. -@end table - -If all of the above criteria are met, connection will be established -and data will be transferred between client and server. The client can -only send short requests, following the CFEngine protocol. The server -can return data in a variety of forms, usually files, but sometimes -console output. - - -@node Remote access troubleshooting, Key exchange, Server connection, Remote access explained -@subsection Remote access troubleshooting - -When setting up @code{cf-serverd}, you might see the error message - -@verbatim -Unspecified server refusal -@end verbatim - -This means that @code{cf-serverd} is unable or is unwilling to -authenticate the connection from your client machine. The message is -generic: it is deliberately non-specific so that anyone attempting to -attack or exploit the service will not be given information which -might be useful to them. There is a simple checklist for curing this -problem: - -@enumerate -@item -Make sure that the domain variable is set in the configuration files -read by both client -and server; alternatively use @code{skipidentify} and -@code{skipverify} to decouple DNS from the -the authentication. - -@item -Make sure that you have granted access to your client in the server body - -@smallexample - -body server control -@{ -allowconnects => @{ "127.0.0.1" , "::1" @var{...etc} @}; -allowallconnects => @{ "127.0.0.1" , "::1" @var{...etc} @}; -trustkeysfrom => @{ "127.0.0.1" , "::1" @var{...etc} @}; -@} - -@end smallexample - -@item -Make sure you have created valid keys for the hosts using @code{cf-key}. -@item -If you are using secure copy, make sure that you have created a key -file and that you have distributed and installed it to all -participating hosts in your cluster. -@end enumerate - -@noindent Always remember that you can run CFEngine in verbose or -debugging modes to see how the authentication takes place: - -@verbatim -cf-agent -v -cf-serverd -v -@end verbatim - -@code{cf-agent} reports that access is denied regardless of the nature -of the error, to avoid giving away information which might be used by -an attacker. To find out the real reason for a denial, use verbose -@samp{-v} or -even debugging mode @samp{-d2}. - - -@node Key exchange, Time windows, Remote access troubleshooting, Remote access explained -@subsection Key exchange - -The key exchange model used by CFEngine is based on that used by -OpenSSH. It is a peer to peer exchange model, not a central -certificate authority model. This means that there are no scalability -bottlenecks (at least by design, though you might introduce your own -if you go for an overly centralized architecture). - -The problem of key distribution is the conundrum of every public key -infrastructure. Key exchange is handled automatically by CFEngine and -all you -need to do is to decide which keys to trust. - -When public keys are offered to a server, they could be accepted -automatically on trust because no one is available to make a decision -about them. This would lead to a race to be the first to submit a key -claiming identity. - -Even with DNS checks for correct name/IP address correlation (turned -off with @code{skipverify}), it might be possible to submit a false -key to a server. - -The server @code{cf-serverd} blocks the acceptance of unknown keys by -default. In order to accept such a new key, the IP address of the -presumed client must be listed in the @code{trustkeysfrom} stanza. -Once a key -has been accepted, it will never be replaced with a new key, thus no -more trust is offered or required. - -Once you have arranged for the right to connect to the server, you -must decide which hosts will have access to which files. This is done -with @code{access} rules. - -@verbatim - -bundle server access_rules() - -{ -access: - -"/path/file" - - admit => { "127.0.0.1", "127.0.0.2", "127.0.0.3" }, - deny => { "192.*" }; -} - -@end verbatim - -On the client side, i.e. @code{cf-runagent} and @code{cf-agent}, there -are three issues: - -@enumerate -@item -Choosing which server to connect to. -@item -Trusting the identity of any previously unknown servers, i.e. trusting -the server's public key to be its and no one else's. (The issues here -are -the same as for the server.) -@item -Choosing whether data transfers should be encrypted (with -@code{encrypt}). -@end enumerate - -Because there are two clients for connecting to @code{cf-serverd} -(@code{cf-agent} and @code{cf-runagent}), there are also two ways on -managing trust of server keys by a client. One is an automated option, -setting the option -@code{trustkey} in a @code{copy_from} stanza, e.g. - -@verbatim - -body copy_from example - { - # .. other settings .. - trustkey => "true"; - } - -@end verbatim - -Another way is to run @code{cf-runagent} in interactive mode. When you -run @code{cf-runagent}, unknown -server keys are offered to you interactively (as with @code{ssh}) for -you to -accept or deny manually: - -@smallexample - -WARNING - You do not have a public key from host ubik.iu.hio.no = -128.39.74.25 - Do you want to accept one on trust? (yes/no) ---> - -@end smallexample - -@node Time windows, Other users than root, Key exchange, Remote access explained -@subsection Time windows (races) - -Once public keys have been exchanged from client to server and from -server to client, the issue of trust is solved according to public key -authentication schemes. You only need to worry about trust when one side -of a connection has never seen the other side before. - -Often you will have a central server and many client satellites. Then -the best way to transfer all the keys is to set the @code{trustkey} -flags on server and clients sides to coincide with a time at which you -know that @code{cf-agent} will be run, and when a spoofer is unlikely -to be able to interfere. - -This is a once-only task, and the chance of an attacker being able to -spoof a key-transfer is small. It would require skill and -inside-information about the exchange procedure, which would tend to -imply that the trust model was already broken. - -Another approach would be to run @code{cf-runagent} against all the -hosts -in the group from the central server and accept the keys one by one, -by hand, though there is little to be gained from this. - -Trusting a host for key exchange is unavoidable. There is no clever -way to avoid it. Even transferring the files manually by diskette, and -examining every serial number of the computers you have, the host has -to trust the information you are giving it. It is all based on -assertion. You can make it almost impossible for keys to be faked -or attacked, but you cannot make it absolutely impossible. Security is -about managing reasonable levels of risk, not about magic. - -All security is based on a moment of trust at some point in -time. Cryptographic key methods only remove the need for a repeat of -the trust decision. After the first exchange, trust is no longer needed, -because they keys allow identity to be actually verified. - -Even if you leave the trust options switched on, you are not blindly -trusting the hosts you know about. The only potential insecurity lies -in any new keys that you have not thought about. If you use wildcards -or IP prefixes in the trust rules, then other hosts might be able to -spoof their way in on trust because you have left open a hole for them -to exploit. That is why it is recommended to return the system to the -default state of zero trust immediately after key transfer, by -commenting out the trust options. - - -It is possible, though somewhat laborious to transfer the keys out of -band, by copying @file{/var/cfengine/ppkeys/localhost.pub} to -@code{/var/cfengine/ppkeys/user-aaa.bbb.ccc.mmm} (assuming IPv4) on -another host. e.g. - -@smallexample - -localhost.pub -> root-128.39.74.71.pub - -@end smallexample - -This would be a silly way to transfer keys between nearby hosts that you -control yourself, but if transferring to long distance, remote hosts -it might be an easier way to manage trust. - -@node Other users than root, Encryption, Time windows, Remote access explained -@subsection Other users than root - -CFEngine normally runs as user "root" (except on Windows which does -not normally have a root user), i.e. a privileged administrator. If -other users -are to be granted access to the system, they must also generate a key -and go through the same process. In addition, the users must be added -to the server configuration file. - -@node Encryption, , Other users than root, Remote access explained -@subsection Encryption - -CFEngine provides encryption for keeping file contents private during -transfer. It is assumed that users will use this judiciously. There is -nothing to be gained by encrypting the transfer of public files -- -overt use of encryption just contributes to global warming, burning -unnecessary CPU cycles without offering any security. - -The main role for encryption in configuration management is for -authentication. CFEngine always uses encrypted for authentication, so -none of the encryption settings affect the security of authentication. - - - - -@node Knowledge Management, , Network services, Top -@chapter Knowledge Management - - -A unique aspect of CFEngine, that is fully developed in the commercial -editions of the software, its ability to enable integrated knowledge -management as part of an automation process, and to use its configuration -technology as a `semantic' documentation engine. - -@image{topicmap,15cm,,,png} - -Knowledge management is the challenge of our times. Organizations -frequently waste significant effort re-learning old lessons because they have -not been documented and entered into posterity. Now you can alleviate -this problem with some simple rules of thumb and even build -sophisticated index-databases of documents. - - -@menu -* Promises and Knowledge:: -* The basics of knowledge:: -* Annotating promises:: -* A promise model of topic maps:: -* What topic maps offer:: -* The nuts and bolts of topic maps:: -* Example of topics promises:: -* Modeling configuration promises as topic maps:: -@end menu - -@node Promises and Knowledge, The basics of knowledge, Knowledge Management, Knowledge Management -@section Promises and Knowledge - -The learning curve for configuration management systems has been the -brunt of frequent criticism over the years. Users are expected to either -confront the informational complexity of systems at a detailed level, or -abandon the idea of fine control altogether. This has led either to -information overload or over-simplification. The ability to cope with -information complexity is therefore fundamental to IT management - -CFEngine introduced the @emph{promise model} for configuration in -order to flatten out this learning curve. It can lead to -simplifications in use, because a lot of the thinking has been done -already and is encapsulated into the model. One of its special -properties is that it is both a model for system behavior and a model -for knowledge representation (this is what declarative languages seek -to be, of course). More specifically, it incorporated a subset of the -ISO standard for `Topic Maps', an open technology for semantic -indexing of information resources. By bringing together these two -technologies (which are highly compatible), we end up with a seamless -front-end for sewing together and browsing system information. - -Knowledge management is a field of research in its own right, and it -covers a multitude of issues both human and technological. Most would -agree that knowledge is composed of facts and relationships and that -there is a need both for clear definitions and semantic context to -interpret knowledge properly; but how do we attach @emph{meaning} to -raw information without ambiguity? - -Knowledge has quite a lot in common with configuration: what after all -is -knowledge but a configuration of ideas in our minds, or on some -representation medium (paper, silicon etc). It is a coded pattern, -preferably one that we can agree on and share with others. Both -knowledge and configuration management are about describing patterns. -A simple knowledge model can be used to represent a policy or -configuration; conversely, a simple model of policy configuration can -manufacture a knowledge structure just as it might manufacture -a filesystem or a set of services. - - -@node The basics of knowledge, Annotating promises, Promises and Knowledge, Knowledge Management -@section The basics of knowledge - -Knowledge only truly begins when we write things down: - -@itemize -@item The act of formulating something in writing brings a discipline -of thought than often lends clarity to an idea. -@item You never confront an idea fully until you try to put it into -language. -@item Any written record that is kept allows others to read it and -pass on the knowledge. -@end itemize - -The trouble is that writing is something people don't like to do, and -few are very good at. To an engineer, it can feel like a waste of -time, especially during a busy day, to break off from the doing to -write about the doing. Also, writing requires a spurt of creative -thinking and engineers are often more comfortable with manipulating -technical patterns and notations than writing fluent linguistic -formulations that seem overtly long-winded. - -CFEngine tries to bridge this gap by making documentation simple and -part of the technical configuration. CFEngine's knowledge agent then -uses AI and network science algorithms to construct a readable -documentation from these technical annotations. It can do this because -a lot of thought has already gone into the meaning of the promise -model. - -@node Annotating promises, A promise model of topic maps, The basics of knowledge, Knowledge Management -@section Annotating promises - -The beginning of knowledge is to annotate the technical specifications. -Remember that the point of a promise is to convey an @i{intention}. -When writing promises, get into the habit of giving every promise a -comment that explains its intention. Also, expect to give special -promises -@i{handles}, or helpful labels that can be used to refer to them by in -other -promise statements. A handle could be something dumb like `xyz', but -you should -try to use more meaningful titles to help make references clear. - -@verbatim - -files: - -"/var/cfengine/inputs" - - handle => "update_policy", - comment => "Update the CFEngine input files from the policy server", - perms => system("600"), - copy_from => rcp("$(master_location)","$(policy_server)"), -depth_search => recurse("inf"), -file_select => input_files, - action => immediate; - -@end verbatim -@noindent If a promise affects another promise in some way, you can -make the affected one -promise one of the promisees, like this: - -@verbatim - -access: - -"/master/CFEngine/inputs" -> { "update_policy", "other_promisee" }, - -handle => "serve_updates", - admit => { "217.77.34.*" }; - -@end verbatim - -@noindent Conversely, if a promise might depend on another in some -(even indirect) way, document this too. - -@verbatim - -files: - -"/var/cfengine/inputs" - - handle => "update_policy", - comment => "Update the CFEngine input files from the policy -server", - depends_on => { "serve_updates" }, - perms => system("600"), - copy_from => rcp("$(master_location)","$(policy_server)"), -depth_search => recurse("inf"), -file_select => input_files, - action => immediate; - -@end verbatim - -@noindent This use of annotation is the first level of documentation -in CFEngine. -The annotations are used internally by CFEngine to provide meaningful -error messages with context and to compute dependencies that reveal -the existence of process chains. These can be turned into a topic map -for browsing the policy relationships is a web browser, using -@code{cf-know}. - - -@cartouche -The CFEngine Knowledge Map is only available in commercial editions -of the software, where the necessary support to set up and maintain -this technology can be provided. -@end cartouche - - -@node A promise model of topic maps, What topic maps offer, Annotating promises, Knowledge Management -@section A promise model of topic maps - -CFEngine's model of promises can also be used to promise information -and its relevance in different contexts. The Knowledge agent @code{cf-know} -understands three kinds of promise. - -@table @code -@item topics: -A topic is merely a string that can be associated with another string. It represents a `subject to be talked about'. -Like other promise types, you can use contexts, which are formed from other topics expressions to limit the scope of -the current topic promise. -@item things: -Things are a simplified interface to topics, that were introduced to make it easier -for users to contribute knowledge about more concrete `things', or less abstract ideas. -A challenge with knowledge management is the abstract and technical nature of the models -one must use to represent it. Things attempt to make that task easier. -@item occurrences: -An occurrence is a reference to a document or a piece of text that actually represents -knowledge content about the topic concerned. Occurrences are generally URLs or strings -explaining things or topics. -@end table - -@node What topic maps offer, The nuts and bolts of topic maps, A promise model of topic maps, Knowledge Management -@section What topic maps offer - -CFEngine is capable of automating the documentation of a policy, using basic annotations provided above, as a -knowledge map. They require very little effort from the user. If you -are using the Community Edition of CFEngine, you can develop a topic -map, but we do not support the backend technology without a -commercial license. In either case, once you become familiar with the -use of Topic Maps, you will want to extend your knowledge manually to -incorporate things like: - -@itemize -@item Local (high level) policy documents -@item Related databases, such as CMDBs -@end itemize - -@noindent So let us spend a while showing how to encode knowledge in -topic maps -using @code{cf-know}. - -The kind of result you can expect is shown in the pictures below. The -example figures show typical pages generated by the knowledge agent -@code{cf-know}. The first of these shows how we use the technology to -power the web knowledge base in the commercial CFEngine product. - -In this use, all of the data are based on documentation for -the CFEngine software, and most of the relationships are manually -entered. - -For a second example, consider how CFEngine can generate such a -knowledge map analysis of its own configuration (self-analysis). The -data in the images below describe the CFEngine configuration -promises. One such page is generated, for instance, for each policy -promise, and pages are generated for reports from different computers -etc. You can also create you own `topic pages' for any local -(enterprise) information that you have. - -In this example, the promise has been given the promise-handle -@code{update_policy}, and the associations and the lower graph shows -how this promise relates to other promises through its documented -dependencies (these are documented from the promisees and -@code{depends_on} attributes of other promises.). - -The example page shows two figures, one above the other. -The upper figure shows the thirty nearest topics (of any kind) that -are related to this one. -Here the relationships are unspecific. This diagram can reveal -pathways to related information -that are often unexpected, and illustrates relationships that broaden -one's understanding -of the place the current promise occupies within the whole. - -Although the graphical illustrations are just renderings of -semantic associations shown more fully in text, they are useful for -visualizing -several levels of depth in the associative network. This can be -surprisingly useful for brainstorming and reasoning alike. In -particular, one can see the other promises that could be affected if -we were to make a change to the current promise. Such impact analyses -can be crucial to planning change and release management of policy. - - - -@cartouche - -A knowledge base is a slightly improved implementation of a Topic Map which is an ISO -standard technology. A topic map works like an index that can point to -many different kinds of external resources, and may contain simple -text and images internally. So you use it to bind together documents -of any kind. A CFEngine knowledge base is not a new document format, it -is an overlay map that joins ideas and resources together, and -displays relationships. - -@end cartouche - - - - -@node The nuts and bolts of topic maps, Example of topics promises, What topic maps offer, Knowledge Management -@section The nuts and bolts of topic maps - - -@menu -* Topic map definitions:: -@end menu - -@node Topic map definitions, , The nuts and bolts of topic maps, The nuts and bolts of topic maps -@subsection Topic map definitions - -Topic maps are really electronic indices, but they form and work like -webs. -A topic is the technical representation of a `subject', i.e. anything -you might want -to discuss, abstract or physical e.g. an item of `abstract -knowledge', which probably has a number of concrete exemplars. It -might be a person, a machine, a quality, etc. - -Topics can be classified into boxes called @emph{topic-types} so that -related -things can be collated and unrelated things can be separated, e.g. -types allow us to distinguish between @code{rmdir} the Unix utility -and @code{rmdir} the Unix system-call. - -Each typed topic can further point to a number of references or -exemplars called @emph{occurrences}. For instance, an occurrence of -the topic `computer' might include books, web documents, database -entries, physical manifestations, or any other information. An -occurrence is a reference that exemplifies the abstract -topic. Occurrence references are like the page numbers in an -index. - - -A book index typically has `see also' references which point from one -topic to another. -Topic Maps allow one to define any kind of @emph{association} between -topics. Unlike an ordinary index, a topic map has a rich (potentially -infinite) variety of cross reference types. -For instance, -@smallexample -topic_1 ``is a kind of'' topic_2 -topic_1 ``is improved by'' topic 2 -topic_1 ``solves the problem of'' topic_2 -@end smallexample - -@noindent The topic map model thus has three levels of containers: - -@table @emph -@item Contexts -The box into which we classify a topic to disambiguate different -topics with the same name (`in the context of')@footnote{Here, CFEngine differs from the topic map standard in allowing contexts -to be overlapping sets, rather than mutually exclusive `types'. -CFEngine is guided by Promise Theory in this respect in order to enable -distributed cooperation and the development of a free and emergent ontology.}. - -@item Topics/Things -The representation of a subject (an index term). - -@item Occurrence Types -A term that explains how an actual document occurrence relates -to the topic is claims to say something about. e.g. (tutorial, manual, -or -example, definition, photo-album etc). - -@item Occurrences -Specific information resources: these are pointers to the actual -documents -that we want to read (like page numbers in an index). -@end table - - -Contexts map conveniently into CFEngine classes. -Topics map conveniently into promisers. -Occurrences also map to promisers of a different type. -These three label different levels of granularity of meaning. Contexts -represent a set of topics that might be relevant, which in turn encompass a set of -occurrences of resources that contain actual information about the topics in that context. The primacy of topics in this -stems from their ability to form networks by @emph{association}. - -The classic approach to information modeling is to build a -hierarchical decomposition of non-overlapping objects. Data are -manipulated into non-overlapping containers which often prove -to be overly restrictive. Topic maps allow us to avoid the kinds of -mistakes that have led to monstrosities like the Common Information -Model (CIM) with its @emph{thousands} of strictly non-overlapping type -categories. - -Each topic allows us to effectively `shine a light' onto the -occurrences of information that highlight the concepts pertinent to -the topic somehow. - - -@node Example of topics promises, Modeling configuration promises as topic maps, The nuts and bolts of topic maps, Knowledge Management -@section Example of topics promises - -You can use @code{cf-know} to render a topic map either as text (for -command line -use) or as HTML (for web rendering). We begin with the text rendering -as it requires less -infrastructure. You will just need a database. - -Try typing in the following knowledge promises: - -@smallexample - -body common control -@{ -bundlesequence => @{ "tm" @}; -@} - -################################################### - -bundle knowledge tm -@{ -topics: - - -"server" comment => "Common name for a computer in a desktop"; -"desktop" comment => "Common name for a computer for end users"; - -programs:: # context of programs - -"httpd" comment => "A web service process"; -"named" comment => "A name service process"; - -services:: - -"WWW" comment => "World Wide Web service", - association => a("is implemented by", - "programs::httpd", - "implements"); - - # if we don't specify a context, it is "any" - -"WWW" association => a("looks up addresses with", - "named", - "serves addresses to"); - -occurrences: - -httpd:: - "http://www.apache.org" - represents => @{ "website" @}; - -@} - -################################################### - -body association a(f,name,b) - -@{ -forward_relationship => "$(f)"; -backward_relationship => "$(b)"; -associates => @{ $(name) @}; -@} -@end smallexample - -@noindent The simplified things interface is similar, but uses fixed relations: - -@verbatim -bundle knowledge company_knowledge -{ -things: - regions:: - - "EMEA" comment => "Europe, The Middle-East and Africa"; - "APAC" comment => "Asia and the Pacific countries"; - - countries:: - "UK" synonyms => { "Great Britain" }, - is_located_in => { "EMEA", "Europe" }; - - "Netherlands" synonyms => { "Holland" }, - is_located_in => { "EMEA", "Europe" }; - - "Singapore" is_located_in => { "APAC", "Asia" }; - - locations:: - "London_1" is_located_in => { "London", "UK" }; - "New_Jersey" is_located_in => { "USA" }; - - networks:: - - "192.23.45.0/24" comment => "Secure network, zone 0. Single octet for corporate offices", - is_connected_to => { "oslo-hub-123" }; - -@end verbatim - -@menu -* Analyzing and indexing the policy:: -* cf-know:: -@end menu - -@node Analyzing and indexing the policy, cf-know, Example of topics promises, Example of topics promises -@subsection Analyzing and indexing the policy - -CFEngine can analyze the promises you have made, index and cross -reference them using the command: - -@verbatim -# cf-promises -r -@end verbatim -Normally, the default policy in Nova/Enterprise will perform this -command each time the policy is changed. - -@node cf-know, , Analyzing and indexing the policy, Example of topics promises -@subsection @code{cf-know} - -CFEngine's knowledge agent @code{cf-know} allows you to make promises -about knowledge and its inter-relationships. It is not specifically a -generic topic map language: rather it provides a powerful configuration -language for managing a knowledge base that can be compiled into a -topic map. - -To build a topic map from a set of knowledge promises in @file{knowledge.cf}, you would write: - -@verbatim -# cf-know -b -f ./knowledge.cf -@end verbatim - -The syntax of this file is hinted at below. -The full ISO standard topic map model is too rich to be a useful tool -for system knowledge management. However, this is where powerful -configuration management can help to simplify the process: encoding a -topic map is a complex problem in configuration, which is exactly what -CFEngine is for. CFEngine's topic map promises have the following -form: - -@smallexample - -bundle knowledge example -@{ -topics: - -topic_type_context:: # canonical container - -"Topic name" # short topic name - - comment => "Use this for a longer description", - association => a("forward assoc to","Other topic","backward assoc"); - - "Other topic"; - -occurrences: - -Topic_name:: # Topic - - "http://www.example.org/document.xyz" # URI to instance - - represents => @{ "Definition", "Tutorial"@}; # sub-types -@} - -@end smallexample -The association body templates look like this: -@verbatim - -body association a(f,name,b) -{ -forward_relationship => "$(f)"; -backward_relationship => "$(b)"; -associates => { $(name) }; -} - -@end verbatim - - - -@cartouche - -Promise theory adds a clear structure to the topic map ontology, which -is highly beneficial as experience shows that weak conceptual models -lead to poor knowledge maps. - -@end cartouche - - -@node Modeling configuration promises as topic maps, , Example of topics promises, Knowledge Management -@section Modeling configuration promises as topic maps - -We can model topic maps as promises within CFEngine; the -question then remains as to how to use topic maps to model -configurations so that CFEngine users can navigate the documented -promises using a web browser and be able to see all of the -relationships between otherwise isolated and fragmentary rules. This -will form the basis of a semantic Configuration Management Database -(sCMDB) for the CFEngine software. The key to making these ends meet -is to see the configuration of the topic map as a number öf promises -made in the abstract space of topics and the turning each promise into -a meta-promise that models the configuration as a topic with attendant -associations. Consider the following CFEngine promise. - -@verbatim - -bundle agent update -{ -files: - -any:: - -``/var/cfengine/inputs'' -> { ``policy_team'', ''dependent'' }, - - comment => ``Check policy updates from source'', - perms => true, - mode => 600, - copy_from => true, - copy_source => /policy/masterfiles, - compare => digest, - depth_search => true, - depth => inf, - ifelapsed => 1; - -} -@end verbatim - -This system configuration promise can be mapped by CFEngine into a -number of other promise proposals intended for the @code{cf-know} -agent. Suppressing some of the details, we have: - -@verbatim - -type_files:: - -"/var/cfengine/inputs" - association => a("promise made in bundle","update","bundle -contains promise"); -"/var/cfengine/inputs" - association => a("specifies body type","perms","is specified in"); -"/var/cfengine/inputs" - association => a("specifies body type","mode","is specified in"); -"/var/cfengine/inputs" - association => a("specifies body type","copy_from","is specified -in"); - -# etc ... - -occurrences: - -_var_CFEngine_inputs:: - - "promise_output_common.html#promise__var_CFEngine_inputs_update_cf_13" - represents => { "promise definition" }; - -@end verbatim -Note that in this mapping, the actual promise (viewed as a real world -entity) is an occurrence of the topic `promise'; at the same time each -promise could be discussed as a different topic allowing -meta-modeling of the entity-relation model in the real-world -data. Conversely the topics themselves become configuration items or -`promisers' in the promise model. The effect is to create a navigable -semantic web for traversing the policy; this documents the structure -and intention of the policy using a small ontology of standard -concepts and can be extended indefinitely by human domain experts. - - - - - -@chapter More... - -@cartouche - -You will find extensive help, examples and documentation as part of -the commercial -CFEngine support. Visit the website @url{http://www.cfengine.com} for more -details. - -@end cartouche - - - - -@c ======================================================================== -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ======================================================================== - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/cf3-upgrade.texinfo b/docs/guides/cf3-upgrade.texinfo deleted file mode 100644 index 5ebf1f161b..0000000000 --- a/docs/guides/cf3-upgrade.texinfo +++ /dev/null @@ -1,2389 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf3-upgrade.info -@settitle Upgrading from CFEngine 2 to 3 -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Upgrading from CFEngine 2 to 3 -@subtitle A CFEngine Handbook -@author CFEngine AS - -@c @smallbook - - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2009- CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - -@ifnottex -@node Top, General remarks and expectations, (dir), (dir) -@top CFEngine-Best-Practices -@end ifnottex -@iftex -@contents -@end iftex - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

-

Summary of contents

-@end html -@end ifhtml - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@menu -* General remarks and expectations:: -@c * Automated translation with cfconvert:: -* Conversion Strategy:: -* Translation Codebook:: -@end menu - -@c @node General remarks and expectations, Automated translation with cfconvert, Top, Top -@node General remarks and expectations, Conversion Strategy, Top, Top -@chapter General remarks and expectations - -This document concerns the translation of system configuration -policies from the legacy CFEngine 2 language to the new CFEngine 3 -promise language. CFEngine 3 is a new language that was designed with -careful research to satisfy the needs of system configuration in a -@i{convergent} fashion. - - -@menu -* On the translation of policies:: -* On best practices:: -* Completely new features:: -@end menu - -@node On the translation of policies, On best practices, General remarks and expectations, General remarks and expectations -@section On the translation of policies - -Translating one language directly into another rarely makes sense. -Every language has its quirks and idioms that make some formulations -more natural than others. - -In migrating from CFEngine 2 to CFEngine 3, you will see that the -novelty is more of a dialect than an unrelated language. The -underlying parameterization of the promises is the same, and you will -recognize the main features, even if they are inflected with an -`accent'. - -This suggests that translation might be easy. However, we don't want -you to trivialize this translation, as there are new mechanisms in -CFEngine 3 that bring new benefits, and this means that simple and -direct translation can be a poor choice that misses the opportunity -for improvement. In this guide the principles for translation are -simply as follows: - -@itemize -@item We make as direct a translation as possible, -sometimes offering alternatives that better illustrate CFEngine 3 paradigms. - -@item We use standardized templates from the -@i{CFEngine Community Open Promise-Body Library} to simplify -the translation. However, readers should understand that -in every `constraint' expression in CFEngine, of the form, -@verbatim - - LHS => RHS - -@end verbatim -@noindent the left hand side is always a pre-defined CFEngine word, -and the right hand side is always a user-defined term. In other words, -if you don't like the choices we have made, you can make your own -choices on the right hand side. -@end itemize - - -@node On best practices, Completely new features, On the translation of policies, General remarks and expectations -@section On `best practices' - -There are new features in CFEngine 3 that we strongly recommend you -use. Perhaps the most useful practice is to make use of the standard -library of template parts for promise bodies and bundles, called te -@i{CFEngine Community Open Promise-Body Library}. This is available -from the CFEngine website. By standardizing simple template -names, you will be able to communicate more effectively with others, -and facilitate knowledge efficiency in your organization. - -Another feature is the ability to annotate or comment promises in a -way that follows the promise through its lifecycle. This is part of -the strategy of integrated knowledge management (see the Special -Topics Guide on this subject). - -@cartouche -@verbatim - -files: - - "/etc/passwd" -> "stakeholder" - - comment => "Verify the integrity of the password file to change", - content => detect_all_changes; - -@end verbatim -@end cartouche -When a promise has a comment, this comment will be used to mark logs -entries and error messages, providing context to these events for -effective knowledge management. - -You can give each promise a name, if you like, to make it easy to refer to -or search for. We call this the promise `handle'. - -@cartouche -@verbatim - -files: - - "/etc/passwd" -> "stakeholder" - - handle => "passwd_change", - comment => "Verify the integrity of the password file to change", - content => detect_all_changes; - -@end verbatim -@end cartouche -You can use this handle to document relationships between promises. -For example, consider this hypothetical promise: -@cartouche -@verbatim - -files: - - "/etc/group" - - handle => "group_change", - comment => "Add new users to the user groups", - depends_on => { "passwd_change", "other_promise" }, - edit_line => fix_groups; - -@end verbatim -@end cartouche -In CFEngine Nova and other commercial editions of the software, -this documentation is automatically turned into browsable system -documentation. - -@node Completely new features, , On best practices, General remarks and expectations -@section Completely new features - -The CFEngine 3 Community Edition has many new features over CFEngine -2, and CFEngine Nova and the other commercial editions have many -features over the Community Edition. You can write promises in the -Community Edition for any of the commercial features without error -- -these will just not be functional in the Community Edition. This makes it -easy to upgrade (or downgrade) freely. - -New features in CFEngine 3 Community Edition include: - -@itemize -@item All the components of CFEngine are now configurable and they read -the same configuration file or files. In other words, you no longer have to -maintain a separate input file for the server and the agent -- self-contained -configurations can be made for all parts of the system in one. - -@item Promises now have containers called @i{promise bundles}. There is no analogue -of promise bundles in CFEngine 2, so you will need to sort through your -promises and divide them into suitable bundles yourself, making sure to -give each a sensible name. - -@item Powerful pattern matching and expression features that simplify the promises -by allowing a consistent promises to be made from a whole set of objects according to -a programmed pattern. - -@item Consistent use of Perl Compatible Regular Expressions for text matching. - -@item Array and list handling functions allow powerful associative patterns. - -@item Basic tools for Knowledge Management integrated with the configuration -technology. - -@item Generic package management. - -@item Role based access control for remote activation of special promises. - -@end itemize - - -New features in CFEngine Nova include: - -@itemize - -@item Automated Knowledge Management and analysis - -@item Database management promises. - -@item LDAP integration. - -@item Extended and integrated lightweight monitoring capabilities. - -@item Service and virtualization abstractions. - -@item Full native Windows support and promise types. - -@end itemize - -@c ################################################################# - -@c @node Automated translation with cfconvert, Translation Codebook, General remarks and expectations, Top -@c @chapter Automated translation with @code{cfconvert} -@node Conversion Strategy, Translation Codebook, General remarks and expectations, Top -@chapter Conversion Strategy - -@c CFEngine offers a commercial core transformation program, @code{cfconvert}, that performs a reasonable translation of CFEngine 2 code into CFEngine 3 code. The output of this program should work with either the Community Edition or Enterprise level editions of the software. - -@c The software may be obtained with a one-time closed-source license, that includes maintainence in case of problems. This can be combined with Professional Services from CFEngine if necessary to provide a `best effort' conversion. - - -@menu -@c * Automatic Conversion Strategy:: -* Converting by module:: -* Assembling a compilable file set:: -* Validating the conversion:: -* Optimizing the configuration:: -@end menu - -@c @node Automatic Conversion Strategy, Converting by module, Automated translation with cfconvert, Automated translation with cfconvert -@c @section Automatic Conversion Strategy - -@c No software can make a complete, `ready to go' translation of a configuration policy, as there are several decisions to be made when converting, as well as knowledge management features to be added. Below we offer recommendations for conversion using the @code{cfconvert} program. - -@c To begin conversion, we assume that you have a @file{cfagent.conf} master file that possibly includes a number of imported files, and that there are variables and classes defined throughout these. - -@c @menu -@c * How long will it take to convert?:: -@c * One chunk at a time:: -@c @end menu - -@c @node How long will it take to convert?, One chunk at a time, Automatic Conversion Strategy, Automatic Conversion Strategy -@c @subsection How long will it take to convert? - -@c If you are focused on the task, and you do not intend to re-organize the configuration dramatically, you can expect to be able to create a compilable version of a CFEngine configuration in the space of an hour. - -@c Filling in blanks, checking the correctness of the result and documenting it fully will take longer. It could take hours or days, depending on how many lines of code you have to convert. This is a tedious process, but one that will be a one-off burden and will bring great value to your operations. The conversion utility can shave off hundred of hours of manual labour from a hand-coded conversion. - -@c @node One chunk at a time, , How long will it take to convert?, Automatic Conversion Strategy -@c @subsection One chunk at a time - -@c You can convert as much or as little of a configuration as you like in one go. The simplest conversion approach is to feed the whole configuration to @code{cfconvert} in one bite. - -@c @sp 1 -@c @verbatim -@c host# export CFINPUTS=`pwd` -@c host# cfconvert -@c @end verbatim -@c @sp 1 -@c The converted output is written to a sub-directory @file{cf_conversion}. - -@c @smallexample - -@c CFEngine Conversion Utility (beta) - -@c -> Matrix from /usr/local/sbin/cfconvert -@c -> INPUTS from . /CFEngineProjects/Test_Client/CFEngine_2_config/ -@c -> OUTPUTS at /tmp/cf_conversion_output -@c -> Commencing pre-scan for common environment -@c -> Pre-scan complete -@c -> Scanning for recognizable control settings -@c -> > convert control setting EmailMaxLines -@c -> > convert control setting cfinputs_version -@c -> > convert control setting smtpserver -@c -> > convert control setting Inform -@c -> > convert control setting AddInstallables -@c -> > convert control setting workdir -@c -> > convert control setting Syslog -@c -> > convert control setting moduledirectory -@c -> > convert control setting moduledirectory -@c -> Start main promise bundle -@c -> Import files detected -@c -> delta-Transformation of "cfagent.global.conf" -@c -> delta-Transformation of "cfagent.freebsd.conf" -@c -> delta-Transformation of "cfagent.ntp.conf" -@c -> delta-Transformation of "cfagent.named.conf" -@c -> delta-Transformation of "cfagent.perfsonarServers.conf" -@c -> delta-Transformation of "cfagent.perfsonar.conf" -@c -> delta-Transformation of "cfagent.owmesh.conf" -@c -> delta-Transformation of "cfagent.owamp.conf" -@c -> delta-Transformation of "cfagent.perfsonarBUOY.conf" -@c -> delta-Transformation of "cfagent.syslog.conf" -@c -> delta-Transformation of "cfagent.bwctl.conf" -@c -> delta-Transformation of "cfagent.perfsonarBUOY.conf" -@c -> delta-Transformation of "cfagent.syslog.conf" -@c -> delta-Transformation of "cfagent.pinger.conf" -@c -> delta-Transformation of "cfagent.perfsonarBUOY.conf" -@c -> delta-Transformation of "cfagent.owmesh.conf" -@c -> delta-Transformation of "cfagent.perfsonarBUOY.conf" -@c -> delta-Transformation of "cfagent.owmesh.conf" -@c -> delta-Transformation of "cfagent.LSRegistration.conf" -@c -> delta-Transformation of "cfagent.freebsd.i386.packages" -@c -> Converting cfservd.cf -@c -> Writing promises.cf -@c -> 11238 lines of core transformed - -@c @end smallexample - -@node Converting by module, Assembling a compilable file set, Conversion Strategy, Conversion Strategy -@section Converting by module - -To optimize the translation, you should think about the modularity of -your code. First, look at how your CFEngine 2 configuration is -modularized and consider how you want your final CFEngine 3 -configuration to be modularized. CFEngine 3 has `promise bundles' as -modular entities (like subroutines or methods in other languages). -The typical procedure is to take each file and convert it into -a separate bundle. This makes each module into a separate entity -in the integrated knowledge management. - -There are potentially many ways to cut the cake, however. You can organize your -configuration, by operating system, by service, by geography, -etc. We recommend that you make separate bundles for each `issue', -`service' or slice of the system that you are managing. Bundles should -`bundle together' related promises. - - -@node Assembling a compilable file set, Validating the conversion, Converting by module, Conversion Strategy -@section Assembling a compilable file set - -The next step is to move as quickly as possible to a compilable -CFEngine 3 configuration. You will be tweaking and perfecting this -basic file set for ever more, but the sooner you have a syntactically -valid file, the sooner you will benefit from the CFEngine tools. - -@enumerate -@item Start by copying the Community Open Promise Body Library from the www.CFEngine.org -website into the @file{CFEngine3} directory. We will base the converted -configuration on these industry standard templates. - -@item Now create the new master configuration file -@file{CFEngine3/promises.cf}. This will replace the -@file{CFEngine2/cfagent.conf} file. - -Suppose you start with a top level @code{cfagent.conf} that is organized -as in the example below, - -@sp 1 - -@cartouche -@verbatim - -control: - - # .... - -import: - - any:: - - cfagent.global.conf - - freebsd:: - - cfagent.freebsd.conf - - 123.456.789:: - - cfagent.usa.conf - - MailServers:: - - cfagent.email.conf - -@end verbatim -@end cartouche - -@sp 1 -This file is typically converted to something of the following form. -@sp 1 - - -@verbatim - -body agent control -{ -# this is where control settings will go -} - -body executor control -{ -# this is where control settings will go -} - -##################################################### - -body common control -{ -# Keep the bundlesequence simple - -bundlesequence => { "g", "main" }; - -# The equivalent of imports - -inputs => { - "cfagent.freebsd.cf", - "cfagent.usa.conf", - "cfagent.email.conf", - # ... - "cfengine_stdlib.cf" - }; -} - -##################################################### - -bundle common g -{ -vars: - - "localroot" string => "/a/b/c"; - "cfsrvhost" string => "198.129.252.125"; - "masterBuild" string => "/usr/local/CFEngine_export/RELEASE/build"; - -classes: - - # ... - -} - -##################################################### - -bundle agent main -{ -methods: - - any:: - "any" usebundle => global_stuff; - - freebsd:: - "any" usebundle => freebsd_stuff; - - MailServers:: - "any" usebundle => mail_stuff; - - -} -@end verbatim - - -@item Compare these two control files above. -Notice that there is no @code{actionsequence} in the CFEngine 3 -configuration. CFEngine 3 can determine an order more automatically -using a best-effort heuristic algorithm.@footnote{Some scheduling -tools talk about `sorting of dependencies' to determine order, but -this is not possible in a dynamic environment, since you don't know -which dependencies will be in play until after the sort.} All we need -to do is include the different bundles in the basic order that we want -and CFEngine will do the rest. - -@end enumerate - - -@node Validating the conversion, Optimizing the configuration, Assembling a compilable file set, Conversion Strategy -@section Validating the conversion - -Validating the conversion is potentially an arduous process and -the work is not over yet. Because CFEngine 3 uses body templates to -simplify the appearence of promises, and promote the reusability of -code, the conversion requires us to create these. @c The @code{cfconvert} utility attempts to construct best-effort proposal for these. If it is possible to convert using standard body templates, nothing more is needed. However, some translations require custom templates; the conversion utility creates a proposal and leaves the custom body or bundle in-line (in comment form) to allow you to compare the CFEngine 2 and CFEngine 3 versions of the promises more easily. For example: - -@c @verbatim -@c "/etc/somefile" # -> { "optional_promisee_list" }, - -@c comment => "...", -@c # handle => "...", -@c # depends_on => { "..." ...}, - -@c perms => mog("0440","root","wheel"), -@c copy_from => remote_cp("$(master)/etc/somefile","$(cfsrvhost)"), - -@c # More accurate translation requires custom coding.. -@c # body copy_from custom_body -@c # { -@c # servers => { "$(master)/etc/somefile"}, -@c # trustkey => "false"; -@c # compare => "digest"; -@c # } -@c -@c action => if_elapsed("60"); - -@c @end verbatim -@c It is up to you to decide whether you want to use the commented proposal. In some cases there is no solution in terms of standard bodies, and you must use the commented proposal or some version of it. In that case, you should copy the commented text to a location outside the current promise bundle, e.g. by pasting it into a separate library file, and there uncomment it. Don't forget to ensure that the file is included in the @code{inputs} lists. - -@c Any items that the conversion program does not know how to convert will also be commented out for manual attention. - -To complete the conversion, you will need to: - -@enumerate -@item Check that the intention of the converted promise matches the orginal. -@item Check that variable references are ok - global ones can be referenced with def.varname (if they are defined in the bundle common def) -@item Insert comments -@item Simplifying repeated patterns using lists. -@item Run through cf-promises -@end enumerate - - - - -@node Optimizing the configuration, , Validating the conversion, Conversion Strategy -@section Optimizing the configuration - -You could optimize by not importing files that you don't need on all systems. -This reduces memory and processing time. To do this, you can adapt the -@file{inputs} and @file{bundlesequence} of the converted file appropriately. - - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@node Translation Codebook, , Conversion Strategy, Top -@chapter Translation Codebook - -@c ................................................................. -@menu -* upgrading from CFEngine 2 acl:: -* upgrading from CFEngine 2 admit:: -* upgrading from CFEngine 2 alerts:: -* upgrading from CFEngine 2 binservers:: -* upgrading from CFEngine 2 broadcast:: -* upgrading from CFEngine 2 control:: -* upgrading from CFEngine 2 classes:: -* upgrading from CFEngine 2 copy:: -* upgrading from CFEngine 2 defaultroute:: -* upgrading from CFEngine 2 deny:: -* upgrading from CFEngine 2 disks:: -* upgrading from CFEngine 2 directories:: -* upgrading from CFEngine 2 disable:: -* upgrading from CFEngine 2 editfiles:: -* upgrading from CFEngine 2 files:: -* upgrading from CFEngine 2 filters:: -* upgrading from CFEngine 2 groups:: -* upgrading from CFEngine 2 homeservers:: -* upgrading from CFEngine 2 ignore:: -* upgrading from CFEngine 2 import:: -* upgrading from CFEngine 2 interfaces:: -* upgrading from CFEngine 2 links:: -* upgrading from CFEngine 2 mailserver:: -* upgrading from CFEngine 2 methods:: -* upgrading from CFEngine 2 miscmounts:: -* upgrading from CFEngine 2 mountables:: -* upgrading from CFEngine 2 processes:: -* upgrading from CFEngine 2 packages:: -* upgrading from CFEngine 2 rename:: -* upgrading from CFEngine 2 required:: -* upgrading from CFEngine 2 resolve:: -* upgrading from CFEngine 2 scli:: -* upgrading from CFEngine 2 shellcommands:: -* upgrading from CFEngine 2 strategies:: -* upgrading from CFEngine 2 tidy:: -* upgrading from CFEngine 2 unmount :: -@end menu - -@node upgrading from CFEngine 2 acl, upgrading from CFEngine 2 admit, Translation Codebook, Translation Codebook -@section upgrading from CFEngine 2 @samp{acl} - -File Access Control Lists have been completely re-implemented in -CFEngine 3. They are only available now in the commercial version of -CFEngine, but with the benefit a unifying, platform-independent (least -common denominator) model (in addition to system specific models) for -Posix, Solaris, Linux, Windows and other ACL models. - -@verbatim - -files: - - /some/path - - acl=myacl - action=fixall - -######################################## - -acl: - - { myacl - - fstype:posix - method:overwrite - mask:*:rwx - user:*:rwx - group:*:r-x - other:*:r - user:www:=rwx - user:mark:=rwx - default_mask:=rwx - default_user:=rwx - default_group:=r - default_other:=r - } - -@end verbatim - -In CFEngine Nova, this would become approximately: - -@cartouche -@verbatim - -bundle agent acls - -{ -files: - - "/some/path" - - acl => myacl; -} - -######################################### - -body acl myacl - -{ -acl_method => "overwrite"; -acl_type => "posix"; -acl_directory_inherit => "specify"; - -aces => { - "mask:rwx", - "user:*:rwx", - "group:*:r,-x", - "all:r", - "user:www:=rwx", - "user:mark:=rwx" - }; - -specify_inherit_aces => - { - "mask:=rwx", - "user:*:=rwx", - "group:*:=r", - "all:=r" - }; -} - -@end verbatim -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 admit, upgrading from CFEngine 2 alerts, upgrading from CFEngine 2 acl, Translation Codebook -@section upgrading from CFEngine 2 @samp{admit} - -The admit declarations belong to the server configuration. -@verbatim -admit: # or grant: - - /export/nexus/local/gnu/bin/CFEngine *.example.com - /export/waldo/local/gnu/bin/CFEngine *.example.com - - /export/nexus/local *.example.com - /export/nexus/ud dax.example.com - /export/nexus/u4 dax.example.com dump-truck.example.com - /etc *.example.com - -@end verbatim - -@noindent These are translated as @code{access} promises: -@cartouche -@smallformat -@verbatim - -bundle server rules -{ -access: - - "/export/nexus/local/gnu/bin/CFEngine" admit => { ".*.example.com" }; - "/export/waldo/local/gnu/bin/CFEngine" admit => { ".*.example.com" } - - "/export/nexus/local" admit => { ".*.example.com" }; - "/export/nexus/ud" admit => { "dax.example.com"}; - "/export/nexus/u4" admit => { "dax.example.com", "dump-truck.example.com" }; - "/etc" admit => { ".*.example.com" }; -} -@end verbatim -@end smallformat -@end cartouche - - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 alerts, upgrading from CFEngine 2 binservers, upgrading from CFEngine 2 admit, Translation Codebook -@section upgrading from CFEngine 2 @samp{alerts} - -In CFEngine 2, the term for reporting was `alert'. This seemed too reactionary. - -@verbatim - -alerts: - - myclass:: - - "Reminder: say hello every hour" - - ifelapsed=60 - - nfsd_in_high_dev2:: - - "High NFS server access rate 2dev at $(host)" - - ShowState(incoming.nfs) - -@end verbatim -In CFEngine 3, you would write: -@cartouche -@verbatim - -reports: - - myclass:: - - "Reminder: say hello every hour" - - action => ifelapsed("60"); - - nfsd_in_high_dev2:: - - "High NFS server access rate 2dev at $(host)" - - showstate => { "incoming.nfs" }; - -@end verbatim -@end cartouche -CFEngine 3 extends the possiblities for messaging considerably. -CFEngine Nova generates many standard reports automatically. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 binservers, upgrading from CFEngine 2 broadcast, upgrading from CFEngine 2 alerts, Translation Codebook -@section upgrading from CFEngine 2 @samp{binservers} - -The CFEngine Mount Model has been deprecated in version 3. The introduction of the -automounter largely superceded the use of this model, and while it is still possible -to use CFEngine as a static automounter, there is no longer any need for an explicit -definition of its parts, as simple pattern matching combined with mount promises -suffices to solve this problem, @xref{upgrading from CFEngine 2 miscmounts}. - -@verbatim -control: - - site = ( mysite ) - - MountPattern = ( /$(site)/$(host) ) - HomePattern = ( home? ) - - actionsequence = - ( - mountall - mountinfo - addmounts - mountall - ) - -mountables: - - any:: - - serv1:/mysite/serv1/home1 - serv1:/mysite/serv1/home2 - serv1:/mysite/serv1/local - serv3:/mysite/serv3/local1 - serv3:/mysite/serv3/local2 - serv4:/mysite/serv4/homeA - serv4:/mysite/serv4/homeB - -binservers: - - group1:: - - serv1 serv2 - - group2:: - - serv3 - -@end verbatim -@noindent In CFEngine 3, you might write this: - -@cartouche -@smallformat -@verbatim - -storage: - - group1:: - - "/mysite/serv1/local" mount => nfs("serv1","/mysite/serv1/local"); - - group2:: - - "/mysite/serv3/local1" mount => nfs("serv3","/mysite/serv3/local1"); - "/mysite/serv3/local2" mount => nfs("serv3","/mysite/serv3/local2"); - - # Or use lists to iterate this - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 broadcast, upgrading from CFEngine 2 control, upgrading from CFEngine 2 binservers, Translation Codebook -@section upgrading from CFEngine 2 @samp{broadcast} - -This is deprecated in CFEngine 3. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 control, upgrading from CFEngine 2 classes, upgrading from CFEngine 2 broadcast, Translation Codebook -@section upgrading from CFEngine 2 @samp{control} - -In CFEngine 2, the @code{control} part has two muddled functions: - -@itemize -@item Setting parameters that control the internal behaviour of CFEngine. - - These are details that adjust the behaviour of promises that are hard-coded -into CFEngine. Thus, they belong formally in @code{body} declarations according to -the CFEngine 3 promise model. - -@item Defining user variables (macros). - -These are actual user-defined promises (the promise that a certain name -will represent a certain value). They are thus represented as @code{vars} -promises in CFEngine 3. -@end itemize -Note that there is no @code{actionsequence} in CFEngine 3. It is no longer needed -and can be ignored. - -The following CFEngine 2 code -@verbatim -control: - - Access = ( root ) # Only root should run this - - site = ( iu ) - domain = ( iu.hio.no ) - sysadm = ( CFEngine@example.com ) - smtpserver = ( smtp@example.com ) - - # Welcome to Norway...! - - timezone = ( MET CET ) - - # - # Where backup files (for copy/tidy) are kept - # - - Repository = ( /var/spool/CFEngine ) - - SplayTime = ( 4 ) - - OutputPrefix = ( "cf:$(host)" ) - - IfElapsed = ( 15 ) - ExpireAfter = ( 240 ) - - - SensibleSize = ( 1000 ) - SensibleCount = ( 2 ) - EditfileSize = ( 40000 ) - - cfbin = ( /var/cfengine/bin ) - gnu = ( "/local/gnu" ) - ftp = ( /local/iu/ftp ) - -@end verbatim -@noindent translates in CFEngine 3 into several pieces: -@cartouche -@verbatim -# Hard-coded promise parameters, common to all parts - -body common control -{ -bundlesequence => { "global_promises" }; -} - -# Hard-coded promise parameters for cf-agent - -body agent control -{ -default_repository => "/var/spool/CFEngine"; -ifelapsed => "15"; -expireafter => "240"; -sensiblesize => "1000"; -sensiblecount => "2"; -editfilesize => "40000"; -} - -# Hard-coded promise parameters for cf-execd - -body executor control -{ -splaytime => "4"; -mailto => "cfengine@example.com"; -smtpserver => "smtp.example.com"; -} - -# User defined promises common to all parts - -bundle common global_promises -{ -vars: - - "cfbin" string => "/var/cfengine/bin"; - "gnu" string => "/local/gnu"; - "ftp" string => "/local/iu/ftp"; - -} - -@end verbatim -@end cartouche -Note that @code{vars} promises that are declared @samp{common} are -seen by all bundles and all agents. It is also possible to have -variables in @samp{agent} or @samp{server} bundles that are seen only by -those parts of CFEngine. - -Control information from the @file{cfservd.conf} file goes naturally into -a control body: - -@verbatim -control: - - cfrunCommand = ( "/var/cfengine/bin/cfagent" ) - AllowConnectionsFrom = ( 127.0.0.1 ::1 ) - AllowMultipleConnectionsFrom = ( 127.0.0.1 ::1 ) - TrustKeysFrom = ( 127.0.0.1 ::1 ) - AllowUsers = ( root mark ) - -@end verbatim -@noindent becomes: -@cartouche -@smallformat -@verbatim - -body server control - -{ -allowconnects => { "127.0.0.1" , "::1" }; -allowallconnects => { "127.0.0.1" , "::1" }; -trustkeysfrom => { "127.0.0.1" , "::1" }; -cfruncommand => - "$(sys.workdir)/bin/cf-agent -f failsafe.cf && $(sys.workdir)/bin/cf-agent"; -allowusers => { "mark", "root" }; -} - -@end verbatim -@end smallformat -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 classes, upgrading from CFEngine 2 copy, upgrading from CFEngine 2 control, Translation Codebook -@section upgrading from CFEngine 2 @samp{classes} - -@verbatim - -classes: # same as groups - - Setup_SSH_OK = ( '/usr/bin/test -f /etc/ssh2/ssh2_config' ) - science = ( saga tor odin ) - notthis = ( !this ) - ip_in_range_1 = ( IPRange(129.0.0.1-15) ) - ip_in_range_2 = ( IPRange(129.0.0.1/24) ) - compute_nodes = ( HostRange(cpu-,1-32) ) - science = ( +science-allhosts ) - physics_theory = ( +@physics-theory-sun4 dirac feynman schwinger ) - group1 = ( +mynetgroup -specialhost -otherhost ) - group2 = ( +bignetgroup -smallnetgroup ) - SpecialTimes = ( Hr00 Monday Day1 ) - -@end verbatim -These promises translate into CFEngine 3 as: -@cartouche -@smallformat -@verbatim - -classes: - - "Setup_SSH_OK" expression => fileexists("/etc/ssh2/ssh2_config"); - "science" or => { "saga", "tor", "odin" }; - "notthis" expression => "!this"; - "ip_in_range" expression => iprange("129.0.0.1-15"); - "ip_in_range" expression => iprange("129.0.0.1/24"); - "compute_nodes" expression => hostrange("cpu-","1-32"); - "science" expression => hostinnetgroup("science-allhosts"); - - "physics_theory" or => { - hostinnetgroup("physics-theory-sun4", - "dirac", - "feynman", - "schwinger" - }; - - "group1" and => { - hostinnetgroup("mynetgroup"), - "!specialhost", - "!otherhost - }; - - "helper" expression => hostinnetgroup(smallnetgroup"); - "group2" and => { hostinnetgroup("bignetgroup"), "!helper" }; - "SpecialTimes" or => { "Hr00", "Monday", "Day1" }; - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 copy, upgrading from CFEngine 2 defaultroute, upgrading from CFEngine 2 classes, Translation Codebook -@section upgrading from CFEngine 2 @samp{copy} - - -Copying of files from one location to another had the following form in CFEngine 2: -@smallformat -@verbatim - -copy: - - /masterfiles/hosts.deny dest=/etc/hosts.deny mode=644 server=nexus - - !(dax|cube|sigmund):: - - /masterfiles/hosts.allow dest=/etc/hosts.allow mode=644 server=nexus - - 128_39_89.!securehosts:: - - /masterfiles/ssh_banner_message_89 dest=/etc/ssh2/ssh_banner_message - mode=644 owner=root group=root - encrypt=true - -@end verbatim -@end smallformat - -In CFEngine 3, beware that the order of the source and destination have been reversed -to follow the general principle in CFEngine 3 that the affected object (in this case the -destination) is always the first object in the promise (the promiser). - -@cartouche -@smallformat -@verbatim - -files: - - "/etc/hosts.deny" - copy_from => remote_cp("/masterfiles/hosts.deny","nexus"), - perms => m("644"); - - # - - !(dax|cube|sigmund):: - - "/etc/hosts.allow" - copy_from => remote_cp("/masterfiles/hosts.allow","nexus"), - perms => m("644"); - - # - - 128_39_89.!securehosts:: - - "/etc/ssh2/ssh_banner_message" - copy_from => secure_cp("/masterfiles/ssh_banner_message_89") - perms => mog("644","root","root"); - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 defaultroute, upgrading from CFEngine 2 deny, upgrading from CFEngine 2 copy, Translation Codebook -@section upgrading from CFEngine 2 @samp{defaultroute} - -This function is deprecated in CFEngine 3. Today it can normally be implemented by editing -a file. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 deny, upgrading from CFEngine 2 disks, upgrading from CFEngine 2 defaultroute, Translation Codebook -@section upgrading from CFEngine 2 @samp{deny} - -@verbatim - -deny: - - $(public)/special *.moneyworld.com - -@end verbatim -@noindent becomes: -@cartouche -@verbatim -access: - - "$(public)/special" - - deny => { "*.moneyworld.com" }; - -@end verbatim -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 disks, upgrading from CFEngine 2 directories, upgrading from CFEngine 2 deny, Translation Codebook -@section upgrading from CFEngine 2 @samp{disks} - -@verbatim - -disks: - - /usr - - freespace=10% - -@end verbatim - -@noindent becomes -@cartouche -@verbatim - -storage: - - "/usr" - - volume => min_free_space("10%"); - -@end verbatim -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 directories, upgrading from CFEngine 2 disable, upgrading from CFEngine 2 disks, Translation Codebook -@section upgrading from CFEngine 2 @samp{directories} - -@verbatim - -directories: - - /usr/local/bin - - mode=755 - owner=root - group=wheel -@end verbatim - -@noindent becomes -@cartouche -@verbatim - -files: - - "/usr/local/bin/." - - create => "true", - perms => mog("755","root","wheel"); - -@end verbatim -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 disable, upgrading from CFEngine 2 editfiles, upgrading from CFEngine 2 directories, Translation Codebook -@section upgrading from CFEngine 2 @samp{disable} - -Disabling files has many meanings in CFEngine 2. It covers log rotation as well as file disablement. -@verbatim - -disable: - - /usr/bin/rsh - /var/log/xferlog rotate=3 - /local/etc/fingerdir/userdata rotate=empty - -@end verbatim - -@cartouche -@verbatim - -files: - - "/usr/bin/rsh" rename => disable; - - "/var/log/xferlog" - rename => rotate("3"); - - "/local/etc/fingerdir/userdata" - rename => rotate("0"); - -@end verbatim -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 editfiles, upgrading from CFEngine 2 files, upgrading from CFEngine 2 disable, Translation Codebook -@section upgrading from CFEngine 2 @samp{editfiles} - - - -File editing is a complex subject. A few examples are provided. -@smallformat -@verbatim - -editfiles: - - !rom21X:: - - { /etc/ssh2/sshd2_config - - ReplaceAll "PrintMotd.*yes" With "PrintMotd no" - ReplaceAll ".*Ssh1Compatibility.*yes.*" With "Ssh1Compatibility no" - AppendIfNoSuchLine "Ssh1Compatibility no" - HashCommentLinesMatching ".*Sshd1Path.*" - DeleteLinesMatching ".*PasswordAuthentication.*" - DeleteLinesMatching ".*PubkeyAuthentication.*" - DeleteLinesMatching ".*AllowCshrcSourcingWithSubsystems.*" - } - - -@end verbatim -@end smallformat - -@cartouche -@smallformat -@verbatim - -files: - - !rom21X:: - - "/etc/ssh2/sshd2_config" - - edit_line => ssh_config; - - -# .. - -bundle edit_line ssh_config -{ -replace_patterns: - - "PrintMotd.*yes" - replace_with => all("PrintMotd no"); - - ".*Ssh1Compatibility.*yes.*" - replace_with => value("Ssh1Compatibility no"); - - ".*Sshd1Path.*" - replace_with => comment("#"); - -delete_lines: - - ".*PasswordAuthentication.*"; - ".*PubkeyAuthentication.*"; - ".*AllowCshrcSourcingWithSubsystems.*"; - -insert_lines: - - "Ssh1Compatibility no"; -} - -@end verbatim -@end smallformat -@end cartouche - - - -@smallformat -@verbatim - -editfiles: - - { /etc/shells - - AppendIfNoSuchLine "/bin/tcsh" - AppendIfNoSuchLine "/bin/bash" - AppendIfNoSuchLine "/local/gnu/bin/bash" - } - - -@end verbatim -@end smallformat - - -@cartouche -@smallformat -@verbatim - -vars: - - "lines" slist => { "/bin/tcsh", "/bin/bash", "/local/gnu/bin/bash" }; - -files: - - "/etc/shells" - - edit_line => append_if_no_lines(@(lines)); - - -@end verbatim -@end smallformat -@end cartouche - -or an alternative solution -@cartouche -@smallformat -@verbatim - -files: - - "/etc/shells" - - edit_line => shells; - -# .. - -bundle edit_line shells -{ -insert_lines: - - "/bin/tcsh"; - "/bin/bash"; - "/local/gnu/bin/bash"; -} - - -@end verbatim -@end smallformat -@end cartouche - - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 files, upgrading from CFEngine 2 filters, upgrading from CFEngine 2 editfiles, Translation Codebook -@section upgrading from CFEngine 2 @samp{files} - -The @code{files} action in CFEngine 2 was mostly about permissions. In CFEngine 3, all file -related operations are collected under this banner. - -@smallformat -@verbatim - -files: - - PrimeServers:: - - /local/dns/pz - - owner=dns - mode=644 - action=fixall - recurse=1 - exclude=Fixserial - - /local/dns/pz/Fixserial - m=755 - action=fixplain - - NameServers:: - - /local/logs/admin - - o=dns - m=644 - act=fixplain - - /local/logs/security - - o=dns - m=644 - act=fixplain - - /local/logs/updates - - o=dns - m=644 - act=fixplain - - /local/logs/xfer o=dns m=644 act=fixplain - - # - # Make sure anonymous ftp areas have the correct - # protection, or logins won't be able to read files - # - - $(ftp)/pub mode=644 o=root g=other act=fixall - $(ftp)/pub mode=644 act=fixall r=inf - - $(ftp)/etc mode=111 o=root g=other act=fixdirs - $(ftp)/usr/bin/ls mode=111 o=root g=other act=fixall - $(ftp)/dev mode=555 o=root g=other act=fixall - $(ftp)/usr mode=555 o=root g=other act=fixdirs - - -@end verbatim -@end smallformat -@noindent may be translated into: -@cartouche -@smallformat -@verbatim - -vars: - - "ns_files" slist => { - "/local/logs/admin", - "/local/logs/security", - "/local/logs/updates", - "/local/logs/xfer" - }; -files: - - PrimeServers:: - - "/local/dns/pz" - - perms => mo("644","dns") - depth_search => recurse("1"), - file_select => exclude("FixSerial"); - - "/local/dns/pz/FixSerial" - - perms => m("755"), - file_select => plain; - - NameServers:: - - "$(ns_files)" - - perms => mo("644","dns"), - file_select => plain; - - # - # Make sure anonymous ftp areas have the correct - # protection, or logins won't be able to read files - # - - "$(ftp)/pub" - perms => mog("644","root","other"); - - "$(ftp)/pub" - perms => m("644"), - depth_search => recurse("inf"); - - "$(ftp)/etc" perms => mog("111","root","other"); - "$(ftp)/usr/bin/ls" perms => mog("111","root","other"); - "$(ftp)/dev" perms => mog("555","root","other"); - "$(ftp)/usr" perms => mog("555","root","other"); - -@end verbatim -@end smallformat -@end cartouche - - - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 filters, upgrading from CFEngine 2 groups, upgrading from CFEngine 2 files, Translation Codebook -@section upgrading from CFEngine 2 @samp{filters} - -Filters have been redefined as `select' body templates. Filters exist for processes -and files in CFEngine 2. These translate into keywords @code{process_select} -and @code{file_select}. - -@smallformat -@verbatim - -filters: - - { testfilteralias - - Owner: "mark" - Group: "cfengine" - Type: "dir|link" - - Result: "Type|(Owner.Group)" # Both owner AND group required correct - } - -@end verbatim -@end smallformat -@noindent becomes - -@cartouche -@smallformat -@verbatim - -body file_select testfilteralias - -{ -search_owners => { "mark" }; -search_groups => { "cfengine" }; -file_types => { "dir","symlink" }; - -file_result => "file_types|(owners.groups)"; -} - -@end verbatim -@end smallformat -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 groups, upgrading from CFEngine 2 homeservers, upgrading from CFEngine 2 filters, Translation Codebook -@section upgrading from CFEngine 2 @samp{groups} - -Groups are a synonym for classes, -see @xref{upgrading from CFEngine 2 classes}. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 homeservers, upgrading from CFEngine 2 ignore, upgrading from CFEngine 2 groups, Translation Codebook -@section upgrading from CFEngine 2 @samp{homeservers} - -The CFEngine Mount Model has been deprecated in version 3. The introduction of the -automounter largely superceded the use of this model, and while it is still possible -to use CFEngine as a static automounter, there is no longer any need for an explicit -definition of its parts, as simple pattern matching combined with mount promises -suffices to solve this problem, @xref{upgrading from CFEngine 2 miscmounts}. - - -@smallformat -@verbatim -control: - - site = ( mysite ) - - MountPattern = ( /$(site)/$(host) ) - HomePattern = ( home? ) - - actionsequence = - ( - mountall - mountinfo - addmounts - mountall - ) - -mountables: - - any:: - - serv1:/mysite/serv1/home1 - serv1:/mysite/serv1/home2 - serv1:/mysite/serv1/local - serv3:/mysite/serv3/local1 - serv3:/mysite/serv3/local2 - serv4:/mysite/serv4/homeA - serv4:/mysite/serv4/homeB - -homeservers: - - group1:: - - serv1 serv2 - - group2:: - - serv4 - -@end verbatim -@end smallformat -In CFEngine 3, you might write this: - -@cartouche -@smallformat -@verbatim - -storage: - - group1:: - - "/mysite/serv1/home1" mount => nfs("serv1","/mysite/serv1/home1"); - "/mysite/serv1/home2" mount => nfs("serv1","/mysite/serv1/home2"); - - group2:: - - "/mysite/serv4/homeA" mount => nfs("serv4","/mysite/serv3/homeA"); - "/mysite/serv4/homeB" mount => nfs("serv4","/mysite/serv3/homeB"); - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 ignore, upgrading from CFEngine 2 import, upgrading from CFEngine 2 homeservers, Translation Codebook -@section upgrading from CFEngine 2 @samp{ignore} - -Ignore is used in CFEngine 2 to skip directories or filenames during -searches. CFEngine 3 does not have a global list for this, but uses -local lists analogous to the @samp{ignore=} attributes. - -To make a global list in CFEngine 3, you can simply define a list of names and attach it to any promise -in the program. Instead of CFEngine 2: - -@smallformat -@verbatim - -ignore: - - one - two - three - -@end verbatim -@end smallformat -@noindent we use: -@cartouche -@smallformat -@verbatim - -bundle common defs -{ -vars: - - "ignore_list" slist => { "one", "two", "three" }; -} - -# ... - -bundle agent filestuff -{ -files: - - "/mypath" - - depth_search => recurse_ignore("inf",@(defs.ignore_list)); -} - -@end verbatim -@end smallformat -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 import, upgrading from CFEngine 2 interfaces, upgrading from CFEngine 2 ignore, Translation Codebook -@section upgrading from CFEngine 2 @samp{import} - -@verbatim -import: - - one.cf - two.cf - three.cf - -@end verbatim -@noindent becomes -@cartouche -@verbatim -bundle common control -{ -inputs => { "one.cf", "two.cf", "three.cf" }; -} -@end verbatim -@end cartouche - -In CFEngine 3, file imports are no longer order sensitive in the manner of CFEngine 2. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 interfaces, upgrading from CFEngine 2 links, upgrading from CFEngine 2 import, Translation Codebook -@section upgrading from CFEngine 2 @samp{interfaces} - -This promise type has been temporarily placed on hold, pending -future developments. Interface management has become much -simpler since the early days of CFEngine, but this will eventually -include routing promises for network management. - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 links, upgrading from CFEngine 2 mailserver, upgrading from CFEngine 2 interfaces, Translation Codebook -@section upgrading from CFEngine 2 @samp{links} - - -Linking files in CFEngine 2: - -@verbatim - -links: - - nexus:: - - /etc/rsyncd.conf -> /local/etc/rsyncd.conf - - -@end verbatim - -In CFEngine 3 this becomes -@cartouche -@verbatim - -files: - - nexus:: - - "/etc/rsyncd.conf" - - link_from => ln_s("/local/etc/rsyncd.conf"); - -@end verbatim -@end cartouche -Linking directories of multiple children: -@verbatim - -links: - - /usr/local/bin +> /usr/local/lib/perl/bin - /opt +>! /local - - -@end verbatim - -In CFEngine 3 this becomes -@cartouche -@verbatim - -files: - - "/usr/local/lib/perl/bin" => linkchildren("/usr/local/bin"); - "/local" => linkchildren("/opt"); - -@end verbatim -@noindent Or alternatively, use recursive copy with @code{linkcopy_patterns => @{ ".*" @}} -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 mailserver, upgrading from CFEngine 2 methods, upgrading from CFEngine 2 links, Translation Codebook -@section upgrading from CFEngine 2 @samp{mailserver} - -This section has been deprecated in CFEngine 3. It can be handled by @code{mount} promises. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 methods, upgrading from CFEngine 2 miscmounts, upgrading from CFEngine 2 mailserver, Translation Codebook -@section upgrading from CFEngine 2 @samp{methods} - - -In CFEngine 2, methods were experimental. Methods are ways of making -subroutines of CFEngine code. They were executed as separate programs following a -special protocol, and could be activated remotely. - -There is no direct mapping between methods in CFEngine 2 and CFEngine -3. In CFEngine 3, methods are simply bundles of promises that are -executed as a group. These bundles can be parameterized and re-used. -They are what methods should have been in CFEngine 2. Remote methods, -are not implemented in CFEngine 3. Instead CFEngine Nova provides the -means for agents to share data remotely by `voluntary cooperation'. - -@smallformat -@verbatim -# cfagent.conf - -control: - -actionsequence = ( methods ) - -################################################# - -methods: - - SimpleMethod(null) - - action=cf.simple - returnvars=null - returnclasses=null - server=localhost - -@end verbatim -@end smallformat -and -@smallformat -@verbatim -# cf.simple - -control: - - MethodName = ( SimpleMethod ) - MethodParameters = ( null ) - actionsequence = ( timezone ) - -classes: - - dummy = ( any ) - - #################################################### - -alerts: - - dummy:: - - "This simple method does nothing" - - ReturnVariables(void) - ReturnClasses(void) -@end verbatim -@end smallformat -This can be achieved more simply in CFEngine 3 as: - -@cartouche -@verbatim -bundle agent parent -{ -methods: - - "some_id" usebundle => SimpleMethod; - -#... -} - -bundle agent SimpleMethod -{ -classes: - - "dummy" expression => "any"; - -reports: - - dummy:: - - "This simple method does nothing"; -} -@end verbatim -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 miscmounts, upgrading from CFEngine 2 mountables, upgrading from CFEngine 2 methods, Translation Codebook -@section upgrading from CFEngine 2 @samp{miscmounts} - - -@smallformat -@verbatim - -miscmounts: - - host:/foo /mnt/foo - - myserver:/$(site)/libraryserver/data1 - /mnt/data1 ro - - # consistent syntax - - myserver:/$(site)/libraryserver/data2 - /mnt/data2 mode=ro - - -@end verbatim -@end smallformat - -@cartouche -@smallformat -@verbatim - -storage: - - "/foot" mount => nfs("host","/foo"); - - "/$(site)/libraryserver/data1" - - mount => nfs_p("myserver","/$(site)/libraryserver/data1","ro"); - - "/$(site)/libraryserver/data2" - - mount => nfs_p("myserver","/$(site)/libraryserver/data2","ro"); - - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 mountables, upgrading from CFEngine 2 processes, upgrading from CFEngine 2 miscmounts, Translation Codebook -@section upgrading from CFEngine 2 @samp{mountables} - -This list has been deprecated in CFEngine 3, see @xref{upgrading from CFEngine 2 miscmounts}. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 processes, upgrading from CFEngine 2 packages, upgrading from CFEngine 2 mountables, Translation Codebook -@section upgrading from CFEngine 2 @samp{processes} - -In CFEngine 2 process promises were muddled with commands that were used to restart -processes that were not running. The led to inconsistency in the handling of commands. -CFEngine 3 separates commands to restart processes so that the full range of -promise attributes can be applied during process start control. -@verbatim - -processes: - - "inetd" - - signal=hup - - "bootp" - - signal=kill - exclude=rpc.bootparamd - - "cfservd" - - restart "/usr/local/sbin/cfservd" - useshell=false - - # matches=>6 warn number of matches is greater than or equal to 6 - # matches=1 warn if not exactly 1 matching process - # matches=<2 warn if there are less than or equal to 2 matching processes - -@end verbatim -@noindent Translates to: -@cartouche -@verbatim - -processes: - - "inetd" - signals => { "hup" }; - - "bootp" - signals => { "kill" }, - process_select => exclude_procs(".*rpc.bootparamd.*"); - - - "cf-serverd" - restart_class => "start_cfserverd"; - - # process_count => check_range(cfserv,6,inf); warn number of matches is greater than or equal to 6 - # process_count => check_range(cfserv,1,1); warn if not exactly 1 matching process - # process_count => check_range(cfserv,0,2); warn if there are less than or equal to 2 matching processes - -commands: - - start_cfserverd:: - - "/usr/local/sbin/cf-serverd"; - -reports: - - cfserv_out_of_range:: - - "cf-serverd is out of control!!"; - -@end verbatim -@end cartouche -We can make use of lists to simplify the checking of multiple processes: -@verbatim - -processes: - - Syslogdhup:: - - "Syslogd" signal=hup - - any:: - - "snmp" signal=kill - "powerd" signal=kill - "mibiisa" signal=kill - -@end verbatim -becomes: -@cartouche -@verbatim - -vars: - - "kill_list" slist => { "snmp", "powerd", "mibiisa" }; - -processes: - - Syslogdhup:: - - "Syslogd" signals => { "hup" }; - - any:: - - "$(kill_list)" signals => { "kill" }; - -@end verbatim -@end cartouche -Lists can also be used to simplify process starting. The following script -@smallformat -@verbatim - -processes: - - "named" restart "/local/sbin/named -u dns" - useshell=false - inform=true - - "cfservd" restart "/var/cfengine/bin/cfservd" - "cfenvd" restart "/var/cfengine/bin/cfenvd" - "cfexecd" restart "/var/cfengine/bin/cfexecd" - -@end verbatim -@end smallformat -@noindent would translate more efficiently into: -@cartouche -@smallformat -@verbatim -vars: - - "daemons" slist => { "cf-monitord", "cf-serverd", "cf-execd" }; - -processes: - - "named" restart_class => "restart_named"; - - "$(daemons)" restart_class => canonify("start_$(component)"); - -commands: - - "/bin/echo /var/cfengine/bin/$(component)" - ifvarclass => canonify("start_$(component)"); - - restart_named:: - - "/local/sbin/named -u dns" - action => inform; - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 packages, upgrading from CFEngine 2 rename, upgrading from CFEngine 2 processes, Translation Codebook -@section upgrading from CFEngine 2 @samp{packages} - -Package handling in CFEngine 3 is far superior and more flexible than in CFEngine 2. -There are many ways to code packages promises. Here is a simple way to code -specific lists of versioned packages. In CFEngine 2 one might write: - -@smallformat -@verbatim - -packages: - - autoconf-2.13.000227_6 version=2.13.000227_6 cmp=ge action=install - automake-1.9.6_3 version=1.9.6_3 cmp=ge action=install - gmake-3.81_3 version=3.81_3 cmp=ge action=install - help2man-1.36.4_2 version=1.36.4_2 cmp=ge action=install - mysql-server-5.0.67 version=5.0.67 cmp=ge elsedefine=InstallMySQL - - # ... - -@end verbatim -@end smallformat -@noindent This could be translated efficiently using an associative array: -@cartouche -@smallformat -@verbatim -vars: - - "v[autoconf-2.13.000227_6]" string => "2.13.000227_6" - "v[automake-1.9.6_3]" string => "1.9.6_3" - "v[gmake-3.81_3]" string => "3.81_3" - "v[help2man-1.36.4_2]" string => "1.36.4_2" - - # ... - - "packages" slist => getindices("v"); - -packages: - - "$(packages)" - - package_policy => "add", - package_method => freebsd, - package_select => ">=", - package_version => "$(v[$(package)])"; - -@end verbatim -@end smallformat -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 rename, upgrading from CFEngine 2 required, upgrading from CFEngine 2 packages, Translation Codebook -@section upgrading from CFEngine 2 @samp{rename} - -This is an alias, see @xref{upgrading from CFEngine 2 disable}. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 required, upgrading from CFEngine 2 resolve, upgrading from CFEngine 2 rename, Translation Codebook -@section upgrading from CFEngine 2 @samp{required} - -This is an alias, see @xref{upgrading from CFEngine 2 disks}. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 resolve, upgrading from CFEngine 2 scli, upgrading from CFEngine 2 required, Translation Codebook -@section upgrading from CFEngine 2 @samp{resolve} - -The special resolver configuration in CFEngine 2 has been deprecated in favour of using -straightforward editing commands to manage the resolver file. The special variable -@code{$(sys.resolv)} points to the system's current resolver configuration file. -Thus the CFEngine 2 configuration: -@smallformat -@verbatim - -resolve: - - "search iu.hio.no CFEngine.com" - 128.39.89.10 - 158.36.85.10 - 129.241.1.99 - -@end verbatim -@end smallformat -@noindent may be translated as: -@cartouche -@smallformat -@verbatim - -vars: - - "r" slist => { "128.39.89.10", "158.36.85.10", "129.241.1.99" }; - -files: - - "$(sys.resolv)" - - edit_line => resolvconf("iu.hio.no CFEngine.com",@(mybundle.r)); - # edit_default => empty; - -@end verbatim -@end smallformat -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 scli, upgrading from CFEngine 2 shellcommands, upgrading from CFEngine 2 resolve, Translation Codebook -@section upgrading from CFEngine 2 @samp{scli} - -SCLI (SNMP Command Line Interface) promises are deprecated in CFEngine -3. There are no plans to integrate CFEngine directly with SNMP. - -Users of CFEngine Nova can use the generic @code{measurement} promises -to encapsulate SNMP monitoring into the CFEngine framework if -necessary. - -@page -@c ................................................................. -@node upgrading from CFEngine 2 shellcommands, upgrading from CFEngine 2 strategies, upgrading from CFEngine 2 scli, Translation Codebook -@section upgrading from CFEngine 2 @samp{shellcommands} - -Shellcommands scheduled the execution of scripts and programs external -to the CFEngine framework in CFEngine 2. The following examples - -@verbatim -shellcommands: - - nexus:: - - "/usr/sbin/shareall" - - ifelapsed=240 - - cube.nfs_update:: - - "/etc/init.d/nfs-server restart > /dev/null 2>&1" - -@end verbatim -@noindent may be translated as: - -@cartouche -@verbatim -commands: - - nexus:: - - "/usr/sbin/shareall" - - action => ifelapsed("240"); - - cube.nfs_update:: - "/etc/init.d/nfs-server restart > /dev/null 2>&1" - - contain => in_shell; - -@end verbatim -@end cartouche - - -@page -@c ................................................................. -@node upgrading from CFEngine 2 strategies, upgrading from CFEngine 2 tidy, upgrading from CFEngine 2 shellcommands, Translation Codebook -@section upgrading from CFEngine 2 @samp{strategies} - -Strategies in CFEngine 2 define probabilistic classes. -This has become part of a @code{classes} promise is CFEngine 3. - -@verbatim -strategies: - - { spread_load - - percent_10: "1" - percent_30: "3" - precent_60: "6" - } - -@end verbatim -@noindent translates as: -@cartouche -@verbatim - -classes: - - "percent" dist => { "10", "30", "60" }; - -@end verbatim -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 tidy, upgrading from CFEngine 2 unmount , upgrading from CFEngine 2 strategies, Translation Codebook -@section upgrading from CFEngine 2 @samp{tidy} - -@verbatim - -tidy: - - /tmp/ pattern=* recurse=inf age=1 - /var/tmp pattern=* recurse=inf age=2 - / pattern=core r=1 a=0 - /etc pattern=core r=1 a=0 - -@end verbatim -@noindent This may be translated into the following: -@cartouche -@verbatim - -files: - - "/tmp" - - depth_search => recurse("1"), - file_select => name_age(".*","1"); - - "/var/tmp" - - depth_search => recurse("inf"), - file_select => name_age(".*","2"); - - "/" - depth_search => recurse("1"), - file_select => name_age("core","0"); - - "/etc" - depth_search => recurse("1"), - file_select => name_age("core","0"); - -@end verbatim -@end cartouche - -@page -@c ................................................................. -@node upgrading from CFEngine 2 unmount , , upgrading from CFEngine 2 tidy, Translation Codebook -@section upgrading from CFEngine 2 @samp{unmount} - -@verbatim - -unmount: - - /mnt -@end verbatim - -@noindent Translates to: - -@cartouche -@verbatim - -storage: - - "/mnt" mount => unmount; - -@end verbatim -@end cartouche - -@c ========================================================================= -@c @node Index, , CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - -@ifhtml -@html - -@contents -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye - diff --git a/docs/guides/cf_Quickref3.texinfo b/docs/guides/cf_Quickref3.texinfo deleted file mode 100644 index 01e385c275..0000000000 --- a/docs/guides/cf_Quickref3.texinfo +++ /dev/null @@ -1,569 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c The file is structured like a programming language. Each chapter -@c starts with a chapter comment. -@c -@c Menus list the subsections so that an online info-reader can parse -@c the file hierarchically. -@c -@c *********************************************************************** -@c %** start of header -@setfilename cf-QuickRef3.info -@settitle Quick Reference Guide for CFEngine 3 -@c @setchapternewpage odd -@c %** end of header - -@smallbook -@titlepage -@title Quick Reference Guide for CFEngine 3 -@subtitle A CFEngine AS workbook -@author CFEngine AS - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2012 CFEngine AS - -@end titlepage - - -@c *************************** File begins here ************************ - -@ifnottex -@node Top, Command reference, (dir), (dir) -@top CFEngine-Reference -@end ifnottex - -@ifinfo -@dircategory CFEngine Training -@direntry -* CFEngine Modularization: - CFEngine is a language based tool specifically - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo - - -@ifhtml -@html -

COMPLETE TABLE OF CONTENTS

- -

Summary of contents

- -@end html -@end ifhtml - -@iftex -@contents -@end iftex - -@c ********************************************************************** -@c CHAPTER -@c ********************************************************************** - -@menu -* Command reference:: -@end menu - -@node Command reference, , Top, Top -@chapter Command reference - - -@menu -* cf-promises - CFEngine's promise analyzer:: -* cf-agent - CFEngine's change agent:: -* cf-serverd - CFEngine's server agent:: -* cf-execd - CFEngine's execution agent:: -* cf-monitord - CFEngine's monitoring agent:: -* cf-runagent - Run agent:: -* cf-report - CFEngine's reporting agent:: -* cf-know - CFEngine's knowledge agent:: -* cf-key:: -@end menu - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-promises - CFEngine's promise analyzer, cf-agent - CFEngine's change agent, Command reference, Command reference -@section cf-promises - CFEngine's promise analyzer - - -The promise agent is a validator and analysis tool for -configuration files belonging to any of the components -of CFEngine. Configurations that make changes must be -approved by this validator before being executed. - -@table @samp - -@item --help -(-h) - Print the help message -@item --bundlesequence -(-b @var{value}) - Use the specified bundlesequence for verification -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --dry-run -(-n) - All talk and no action mode - make no changes, only inform of promises not kept -@item --version -(-V) - Output the version of the software -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --define -(-D) @var{value} - Define a list of comma separated classes to be defined at the start of execution -@item --negate -(-N) @var{value} - Define a list of comma separated classes to be undefined at the start of execution -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --analysis -(-a) - Perform additional analysis of configuration -@item --reports -(-r) - Generate reports about configuration - -@end table - -Debug levels: 1=parsing, 2=running, 3=summary, 4=expression eval - - - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-agent - CFEngine's change agent, cf-serverd - CFEngine's server agent, cf-promises - CFEngine's promise analyzer, Command reference -@section cf-agent - CFEngine's change agent - -The main CFEngine agent is the instigator of change -in the system. In that sense it is the most important -part of the CFEngine suite. - - -@table @samp -@item --bootstrap -(-B) - Bootstrap CFEngine to the given policy server IP or hostname -@item --bundlsequence -(-b) - Set or override bundlesequence from command line -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --define -(-D @var{value}) - Define a list of comma separated classes to be defined at the start of execution -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --dry-run -(-n) - All talk and no action mode - make no changes, only inform of promises not kept -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --help -(-h) - Print the help message -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --negate -(-N @var{value}) - Define a list of comma separated classes to be undefined at the start of execution -@item --no-lock -(-K) - Ignore locking constraints during execution (ifelapsed/expireafter) if "too soon" to run -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --version -(-V) - Output the version of the software - -@end table - -Debug levels: 1=parsing, 2=running, 3=summary, 4=expression eval - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-serverd - CFEngine's server agent, cf-execd - CFEngine's execution agent, cf-agent - CFEngine's change agent, Command reference -@section cf-serverd - CFEngine's server agent - - -The server daemon provides two services: it acts as a -file server for remote file copying and it allows an -authorized cf-runagent to start a cf-agent process and -set certain additional classes with role-based access -control. - - -@table @samp -@item --help -(-h) - Print the help message -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --version -(-V) - Output the version of the software -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --define -(-D @var{value}) - Define a list of comma separated classes to be defined at the start of execution -@item --negate -(-N @var{value}) - Define a list of comma separated classes to be undefined at the start of execution -@item --no-lock -(-K) - Ignore locking constraints during execution (ifelapsed/expireafter) if "too soon" to run -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --no-fork -(-F) - Run as a foreground processes (do not fork) -@item --ld-library-path -(-L @var{value}) - Set the internal value of LD_LIBRARY_PATH for child processes -@end table - -Debug levels: 1=parsing, 2=running, 3=summary, 4=expression eval - -@page -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-execd - CFEngine's execution agent, cf-monitord - CFEngine's monitoring agent, cf-serverd - CFEngine's server agent, Command reference -@section cf-execd - CFEngine's execution agent - -The executor daemon is a scheduler and wrapper for -execution of cf-agent. It collects the output of the -agent and can email it to a specified address. It can -splay the start time of executions across the network -and work as a class-based clock for scheduling. - -@table @samp - -@item --help -(-h) - Print the help message -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --dry-run -(-n) - All talk and no action mode - make no changes, only inform of promises not kept -@item --version -(-V) - Output the version of the software -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --define -(-D @var{value}) - Define a list of comma separated classes to be defined at the start of execution -@item --negate -(-N @var{value}) - Define a list of comma separated classes to be undefined at the start of execution -@item --no-lock -(-K) - Ignore locking constraints during execution (ifelapsed/expireafter) if "too soon" to run -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --no-fork -(-F) - Run as a foreground processes (do not fork) -@item --no-winsrv -(-W) - Do not run as a service on windows - use this when running from a command shell (commercial editions only) -@item --ld-library-path -(-L @var{value}) - Set the internal value of LD_LIBRARY_PATH for child processes - -@end table -Debug levels: 1=parsing, 2=running, 3=summary, 4=expression eval - - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-monitord - CFEngine's monitoring agent, cf-runagent - Run agent, cf-execd - CFEngine's execution agent, Command reference -@section cf-monitord - CFEngine's monitoring agent - -The monitoring agent is a machine-learning, sampling -daemon which learns the normal state of the current -host and classifies new observations in terms of the -patterns formed by previous ones. The data are made -available to and read by cf-agent for classification -of responses to anomalous states. - -@table @samp -@item --help -(-h) - Print the help message -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --dry-run -(-n) - All talk and no action mode - make no changes, only inform of promises not kept -@item --version -(-V) - Output the version of the software -@item --no-lock -(-K) - Ignore system lock -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --no-fork -(-F) - Run process in foreground, not as a daemon -@item --histograms -(-H) - Store informatino about histograms / distributions -@item --tcpdump -(-T) - Interface with tcpdump if available to collect data about network - -@end table - -Debug levels: 1=parsing, 2=running, 3=summary, - -@page -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-runagent - Run agent, cf-report - CFEngine's reporting agent, cf-monitord - CFEngine's monitoring agent, Command reference -@section cf-runagent - Run agent - - -The run agent connects to a list of running instances of -the cf-serverd service. The agent allows a user to -forego the usual scheduling interval for the agent and -activate cf-agent on a remote host. Additionally, a user -can send additional classes to be defined on the remote -host. Two kinds of classes may be sent: classes to decide -on which hosts the agent will be started, and classes that -the user requests the agent should define on execution. -The latter type is regulated by cfserverd's role based -access control. - - -@table @samp -@item --help -(-h) - Print the help message -@item --background -(-b @var{value}) - Parallelize connections (50 by default) -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --dry-run -(-n) - All talk and no action mode - make no changes, only inform of promises not kept -@item --version -(-V) - Output the version of the software -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --define-class -(-D @var{value}) - Define a list of comma separated classes to be sent to a remote agent -@item --select-class -(-s @var{value}) - Define a list of comma separated classes to be used to select remote agents by constraint -@item --inform -(-I) - Print basic information about changes made to the system, i.e. promises repaired -@item --remote-options -(-o @var{value}) - Pass options to a remote server process -@item --diagnostic -(-x) - Activate internal diagnostics (developers only) -@item --hail --H value - Hail the following comma-separated lists of hosts, overriding default list -@item --interactive -(-i) - Enable interactive mode for key trust -@item --query -(-q @var{value}) - Query a server for a knowledge menu (commercial editions only) -@item --timeout -(-t @var{value}) - Connection timeout, seconds - -@end table - -Debug levels: 1=parsing, 2=running, 3=summary, 4=expression eval - - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-report - CFEngine's reporting agent, cf-know - CFEngine's knowledge agent, cf-runagent - Run agent, Command reference -@section cf-report - CFEngine's reporting agent - -The reporting agent is a merger between the older -CFEngine programs cfshow and cfenvgraph. It outputs -data stored in CFEngine's embedded databases in human -readable form. - - -@table @samp - -@item --help -(-h) - Print the help message -@item --class-regex -(-c @var{value}) - Specify a class regular expression to search for -@item --csv -(-C) - Enable CSV output mode in hub queries -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --inform -(-I) - Output information about actions performed by the agent -@item --version -(-V) - Output the version of the software -@item --no-lock -(-K) - Ignore ifelapsed locks -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --hostkey -(-k @var{value}) - Specify a hostkey to lookup -@item --html -(-H) - Print output in HTML -@item --xml -(-X) - Print output in XML -@item --version -(-V) - Print version string for software -@item --purge -(-P) - Purge data about peers not seen beyond the threshold horizon for assumed-dead -@item --erasehistory -(-E @var{value}) - Erase historical data from the cf-monitord monitoring database -@item --nova-export -(-x @var{value}) - Export Nova reports to file - delta or full report (commercial editions only) -@item --nova-import -(-i @var{value}) - Import Nova reports from file - specify the path (only on Nova policy hub) -@item --outputdir -(-o @var{value}) - Set output directory for printing graph data -@item --promise-handle -(-p @var{value}) - Specify a promise-handle to look up -@item --query-hub -(-q @var{value}) - Query hub database interactively with optional regex search string -@item --titles -(-t) - Add title data to generated graph files -@item --timestamps -(-T) - Add a time stamp to directory name for graph file data -@item --resolution -(-R) - Print graph data in high resolution -@item --show -(-1 @var{value}) - Show data matching named criteria (software,variables,classes) -@item --syntax -(-S) - Print a syntax summary for this CFEngine version -@item --syntax-export -(-s) - Export a syntax tree in Javascript format -@item --no-error-bars -(-e) - Do not add error bars to the printed graphs -@item --no-scaling -(-n) - Do not automatically scale the axes -@item --remove-hosts, -(-r @var{value}) - Remove comma separated list of IP address entries from the hosts-seen database -@end table - - -@page -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-know - CFEngine's knowledge agent, cf-key, cf-report - CFEngine's reporting agent, Command reference -@section cf-know - CFEngine's knowledge agent - -The knowledge management agent is capable of building -an analysing a semantic knowledge network. It can -configure a relational database to contain an ISO -standard topic map and permit regular-expression based -searching of the map. Analysis of the semantic network -can be performed providing graphical output of the data, -and cfknow can assemble and converge the reference manual -for the current version of the CFEngine software. - - -@table @samp - -@item --help -(-h) - Print the help message -@item --build -(-b) - Build and store topic map in the CFDB -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --version -(-V) - Output the version of the software -@item --file -(-f @var{value}) - Specify an alternative input file than the default -@item --manual -(-m) - Generate reference manual from internal data -@item --manpage -(-M) - Generate reference manpage from internal data -@item --stories -(-z @var{value}) - Look up stories for a given topic on the command line -@item --syntax -(-S @var{value}) - Print a syntax summary of the optional keyword or this CFEngine version -@item --topics -(-T) - Show all topic names in CFEngine -@item --test -(-t @var{value}) - Generate test data -@item --removetest -(-r) - Remove test data -@item --updatetest -(-u) - Update test data - -@end table -Debug levels: 1=parsing, 2=running, 3=summary, 4 - - -@c ********************************************************************** -@c SECTION -@c ********************************************************************** - -@node cf-key, , cf-know - CFEngine's knowledge agent, Command reference -@section cf-key - -@table @samp - -@item --help -(-h) - Print the help message -@item --debug -(-d @var{value}) - Set debugging level 0,1,2,3 -@item --verbose -(-v) - Output verbose information about the behaviour of the agent -@item --version -(-V) - Output the version of the software -@item --output-file -(-f @var{value}) - Specify an alternative output file than the default (localhost.*) -@item --show-hosts -(-s) - Show lastseen hostnames and IP addresses -@item --remove-keys -(-r @var{value}) - Remove keys for specified hostname/IP from lastseen database -@item --print-digest -(-p @var{pubkeyfile}) - Print digest of the specified public key file -@item --trust-key -(-t @var{pubkeyfile}) - Make cf-serverd/cf-agent trust the specified public key -@end table - - - - -@c ========================================================================= -@c @node Index, CFEngine Methods, Top -@c @unnumbered Concept Index -@c @printindex cp -@c ========================================================================= - -@ifhtml -@html - -@end html -@end ifhtml - -@ifhtml -@html - - -@end html -@end ifhtml - -@bye diff --git a/docs/guides/cf_evm.png b/docs/guides/cf_evm.png deleted file mode 100644 index 650e1605ced3e33b5ddc02189d9e098e9b40b674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8468 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 diff --git a/docs/guides/cf_im.png b/docs/guides/cf_im.png deleted file mode 100644 index b23f01980fcc3489912e259a64a7112243f7df44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6219 zcmaJ`c_7ql_ZNw{Mp0yUC0CZIEFsy~6j63Fmh0NhG-E8)*o(=MWT`N=6m#wCn6Zbb z$r5ABnvoeh5o7oJs_y%~_x|4B?~gI_Z0C8-IiGW$&v`_dniz1f@v|{7FmPNm)V;;P zz=&pGIC8+s2=ruS#wG$^#}S4$Cjr^C+?oJO7p(8=O^%~+3Rh>Z!vsKRklSC)Z+ zckY_5migV`#W5TIg1Q=J(-uSLgncCm4~_;-Y-Rz6_M={|j;;8oC!}u6svpU{*En&3 z;qxCwdcexfa#jM3_{Y3=IUG7@!)ge@iNb|SigYF61$b7(tK1HLD;;Jo-d0&{UU4vm zC!3v%mq8rNAc_pj>n)9KWj<^eLKxx+452_HiXCW3nvfNY$zK8-R9Br10Ewar<;!%{ z1?Ao2hLF!P6dtz8J%Xv_y&7v`+)NgmuFJEeK+8*`u4HMWmHe`F5sL zjEBenp^GMku}bjOFn<2Zha=w=0<=RAisy$1B!WuLCP}!6gIS>rQ8CT$B7-o=xTa~> zz#qn%NRpGa3?SQv*v)X>1*)iT-Y2ei_f5{H}(|x{7!sTC1>ENsS z)$7)=zm(A&{+LjBjStZFB6Un_bUU`(&&0-ynUlWeauP9><+q7n(tOPRn{c^MVUd9( z@(>6way6lYL`mRS$e54J-%qZY64M$%QgSgS{o8c^+VM~s_SSfgoatV5OBGIHM(|bJ8@3tn0me1ha7Lo8DwrF z`ob>YmQmR!X}PlxP^nquU@D_eG3~9U&=rX`20^_7xxj|qv5yC%hCcf0M;G%iF?m98 zH>g6la>l8Vw&+F+hZ{F_=zTkQz}&yJ&Ec#e-V4w|MFZLQPT_FrRA_C4w1-9H)aw=> zox3#7h6BD=7Ku!Kgq5w2#(_+2kO+SDx2m$5Epezunt1_P6RLX5@x!MIXbjqY1V3NH zvRIR75L{#<8RU#-%_>f^h|+#tDW#*RFZ-ScK>p{}k5wnKZrLUu`u87Jim-tWRuwJs z0VWfOGi{)pjAAE2fI~_mvX#e$S~)n$LG@l{kL&>KnJq<+8x5wO#_SYa zU0ab3UXk@JY>4LwXyBCfl;>+rN;pApCcIT|G}`Vksc6oKA+^HT|8HFaqX9JOrRMVa zrJ$``$%S_xyH?UHoEiEE2&H9Bg$Lwo*d-OgGy(w5UG8X9Hv8xkOP9?$vwQsb<2R)T z-MfR@_uZ5u&0b1B(xNo$-1axDbzgY=GGG%mye64PKCh}|``O$!d9pW2s19#mG6vDi zTRUSq)f`k9U9AKDx>2>P;0x6NVrZB98B1H8SM`dGZE`kfq&EPGD`h;^N66~vl)91g z9FsFqmpvZAiB%f;M8M!-fGq_JZ6pH#fczEM|J5_44ugI$FZ3~Sa8u;jq>{V3lyEs- zz`$$}$+!R(WJ`;$!?NuuOEE(TVJ3bI^%+mnq%^;7N3#9q{*<7J%sbh9d~O6K%lQ8| z`NzKhh9ZPCvYi!qd+K%d?)`frKz?OnHIFBRUIotZ$l}Mez6JoclWgCUQg}WuF#6~) z`VAqb%Yd&>R05+!!1Io-d9V?ywvmUSy@57IO|1q%{fjdD?*wPy+na8ga50f!ibQ%oAOO0t#EdZtgd)|kKliv*++~5~4ZjESX z&KL#uEw@|>Z)ILO{`)pDikRN_yl@It^ zxPA}7Z+W{LOVrLgzmEzfgI+aasjg0oG8?7-(JD;(G}Oq@m&enH4Y=Y^V-S3NjOsdz z3o zN?YF964NRIzU^3*sWucDQf|TP1u}@3Mgz2UEKPT6#COFhI;ut27dI=u9XDNV_+i)x z72wO3HeQO_DA)0?{x<%6JfL}Pb+$v?)p@(e^V5zvcu+`&x-sXWcy)NMSp(&tH&Ysg zlmIE9bc|Ku((^7wqn#x}7+KV*>KN7QHA}H^PRNiHfwj@&zP=MSei={CT-!otw$?}O zBTV0wdEAeEw8T{4AFH-#j%tCA$mclQVe7Rm;|tZq12hN?`fs?$V(ChAU5lkEImQc? zn99qTvnl#_j-w}-0?JC-g-;rR5xliu4(Q=3fTFjsF)eT8{V47nQbkU+dngAFUHx;f;TNLa9cUV{Cs(PbYS6eE zwnbB$T1qHtb(uQvIV4tTO%-1M>_~aUy&ted$EuvyNS=oK+3ciN=0uKIQzcRxN+`G> z1ajiqsBM`iOKeGg|Dwe*k7oV?ov3=<#=Kr!$Q<<{t^)ey z`wyam#0RL2SBU{7e6-$elw=ElE+82Xpmm943uLp=8rCljoalPX?5eaJ> zitHyeT{=8dpebJL%smtfoUbXaqAf373va116ni9Uo|XBsvv&&@FQS8S1cBeIeZb?e z8oEgMhPpOV3LDbD?v(b;$~Rf{5371I9=7vEap+DzBUIqOnttu2nAwKN<{bfa8J2N+&fn_fzc954JS!HS1q z3@}pe#RlciliXt$-@kUCT4k>U2`@HZRnrzv|$8HsFBXMo|u>@8Ju5UUM_zRRVmtk zPCO4%`=wdE1Zx34p(f08*VI-ulRV0HJ9H^4Np=F?5Ps@ zBT;HjFGCJ{92{2B|}yq znQ=r#{y86bw9|8sg4IzB#{~#Dc)eMnuX~d#qJ&?Gf5?Hh&a#*71D;`c!5lHvTu~#OMN|B2A=ZPCUySTJoJ6!`{9Zw z*x5gZRrcKMm?|I{fQYr;EPzYbXR8 zk!aHGA3PhVH9UQx7|Z#N5A#u{0hB%WfVTd`D<64Xg`WK|+TR!52QlU`e&q2Y!uf?X zpFseqaUUJ%UnYp%kPl$LMH!&D-D!;FZ|)9ozbErKq#ltPD~x z1FfSOWt#T)99|+E6?RMBWWz>^=cCm)Qi6wd;J9(;;?}yQPgS=@5*5@vMZGGBpL}1j z$65Rpkz;AI#>rL9*kd_O4AEnmNQ_hARdEDYc4(aL$&f)-KX07P7}U=VWOl6BIF|YA zf!%c;kz*Quh{N&?QLK9PN$uQLQF=ETx@Ft_n0hQtRMWsF}A zDIy)xZyxIDbzh2i=#!b6B^s^W2Vj#*m*~+`TsLzwzD3*~?MF2rqFMS0q*04(yZsOM zGx@4XkgT}Y(=~LPKlANQ5lk~mJd!UyEQZzBWK~fjIS5~>`QsC-Kw6_3$d)2Vy&ZJO znzhBJbba_mwn8VR({rMkYU7q?jyj+(3<~b@xYB>-UP^Ll>&G=7t{B`GYiWMa4g3kGEY?j zqq6{)16XQ!FApIWAf5B_B>eg;_GV~n1UYAhP9N;W`Hn@|i-XM(bv%{p`~%Ptyf$wX z`*d4TVg2oIY|thD*mBm;1f4-2KnUX@eI-HS30Y0RK7ZHiN0qCo7+4}Fv$?+yI@sOW zxlYF}IW6ka+AgOSVDB-BgOh}-brOO?LPV1PR4Gf(7{%=ia@$)a68A^1$U>XmM+$yvGEh~J;9e_{lNw;^MsO=v{x_XQ#7*O4+_*H z9x*F|v1jVH&MPN9$e+qr5xUeo-CNR1>AUn-su^1 z{q0sIN8RPs&N~a8TmCV`S{zjj)nfcM%7%nJxSh$gzqM7?B8EH%eqsnwzfSSVJev%> z;(Yh!PXqraR(!mmgL}KX)*zsBsF~N~SEN?TVTr{IPHNvl5-n0j@Qd^7tCmcM?7@U{ zY;eAxRy7$IiM1g zy_4L7E+cja_kHTv(P&xTVv=Yki1eGy>roi739UMdr}tFyyY;Jv*Qb|p3bD@uQq*2) zysP}>u}M%3Ax>6_oM(#e;sWH(8qB%F6wIM9dKT81P{;yE9xJ)552emEt~~h7b9<(e z%JYtInwro3H0Pxig>j(>le>ky_0%`v*M6#cGw#E;ZlWC0!Z^hyKv=jY3MnkGmH}c^ z&aE61976ZbG~Gl7G21MhH&;lYm#`~>n~GQ6FLoB`PA7HYrCaU{<5c%p$<%3gtvV+v z>b}X%rEv0}ITHD85o|X^XlMMszVc96H&yV;Q8Qp^Y%seIUh93*DKkJX=sLrt#>xK2 z!FfaF$Qhev-!KvMIJwU!Wpe1j^A>I;Rw%O8lcfaSu2J$r+SBZz$Qo&T{cPH6e%`EB zLeRV4g8JS%N3om!4obK3R-?7>Sj`TXXS1O?LsOGfJngh8jDptVFYP^gY{t|h&Y;1E9_JP6^#r`tD*{?R6rE6txufC#t z_tFA=XUFa?dD~Zhyv|9GM}MRqgJ6AsmuR_!xedXV?cOsC>8%86v;{#?NjI;Bnywtx zV>&Y3#d1=tLieT#1Nrj!PI zVS}6(6<5+Iokk;_Vf93eGy7=v<8KRzjX7jyS7%59d*uZIJkB4HmAYe&38MUz13Hnqx2RHa_1Gc zg_$cO;!WBU+4gR`*-^BGkZJdnPgK(p_UP5_?rt+TACb`^lhkjYGT#AM((iH>c*ZrD z33}NUvCZiBb#ocH)FvDX~e9(wrkb<|Uk7=K!OBxzJ=bW(0B6 zOG$I+lR~@(=^=%9jeZ$(Za)tPsvzD7AP&M%=MmW_il?-DT$VCQeZ5Wt*OIg^-5hrl z46Bbzl=FaxQ|P_xuk)Y%0ThD8qe15;Ze7fO0z6s>o~S>&@%<$??*YSSt^*d~eszIZ UIoojH9{~*4^h|V%wH?F%2XphOP5=M^ diff --git a/docs/guides/cfcomdoc.css b/docs/guides/cfcomdoc.css deleted file mode 100644 index fb04c5c968..0000000000 --- a/docs/guides/cfcomdoc.css +++ /dev/null @@ -1,187 +0,0 @@ - -@font-face { - font-family: 'CFE_FONT'; - src: url('fonts/eot/opensans-regular-webfont.eot'); - src: local('☺'), url('fonts/ttf/opensans-regular-webfont.ttf') format('truetype'), url('fonts/svg/opensans-regular-webfont.svg') format('svg'); - font-weight: normal; - font-style: normal; -} -pre { - background-color: #EEFFDD; - border: 1px solid #CCCCCC; - font-family: courier; - margin-bottom: 10px; - margin-top: 10px; - padding: 5px; - font-size: 90%; - } -pre.display { font-family:inherit } -pre.format { font-family:inherit } -pre.smallexample -pre.smalllisp, -pre.smallformat, -pre.smalldisplay { - font-size: 90%; -} - -span.sc { font-variant:small-caps } -span.roman { font-family:serif; font-weight:normal; } -span.sansserif { font-family:sans-serif; font-weight:normal; } - -body { - font: 90% 'CFE_FONT', arial, Helvetica,sans-serif; - color: #646464; - padding: 10px 20px; - width: 960px; - margin: 0 auto; -} -.node -{ - text-align: right; - padding: 2px; - font-size: smaller; -} -.node hr { - border: 0; - width: 100%; - color: #CCC; - background-color: #CCC; - height: 5px; -} -.section { - padding-right: 0px; - padding-bottom: 0px; - padding-left: 0px; -} - -h1 { - font-size: 26px; - font-weight: normal; - line-height: 32px; - margin: 32px 0 16px; - text-align: left; - text-transform: uppercase; -} - -h2 { - color: #9E9981 !important; - font-size: 16px; - line-height: 18px; - font-weight: normal; - margin: 16px 0 26px; - text-align: left; -} -h3 { - margin-top: 3px; - margin-right: 0px; - margin-bottom: 10px; - margin-left: 0px; - line-height: 20px; - font-size: 16px; - font-weight: normal; -} - -.contents -{ - background-color: #CCC; - padding-top: 2px; - padding-right: 2px; - padding-bottom: 2px; - padding-left: 10px; -} - -.index-cp -{ -background: #fff url(index-cp.png) right repeat-y; -} - -.index-vr -{ -background: #fff url(index-vr.png) right repeat-y; -} - -.index-mb -{ -background: #eee url(index-faq.png) right repeat-y; -} - -table.border -{ - border-color: #666; - border-width: 0px; -} - -FONT.liten {font-size: 80%; } - -.tynn { - font-family: Arial, Helvetica, sans-serif; - font-size: smaller; - font-style: normal; - font-weight: lighter; - margin-bottom: 0em; - font-size: 11pt; -} -.verbatim { - color: #000; - margin-top: 0px; - margin-right: 0px; - margin-bottom: 20px; - margin-left: 0px; -} -.example { - color: #000; - width: 100%; - margin-top: 0px; - margin-right: 0px; - margin-bottom: 20px; - margin-left: 0px; -} -.smallexample { - color: #000; - padding-top: 10px; - padding-right: 30px; - padding-bottom: 5px; - padding-left: 30px; - margin-top: 0px; - margin-right: 0px; - margin-bottom: 0px; - margin-left: 0px; -} -.cartouche { - padding: 5px; - font-style: italic; - font-size: 85%; -} - -table.cartouche { - border: none !important; -} - - .cartouche td { - background: none !important; - border: none !important; - padding: 5px; - -/* background-color: #ddd; - border: 1px solid #ccc; - padding: 5px;*/ -} - -A:link { color: #2c2e70 } -A:visited { color: black } -A:active { color: #600041 } -dt em {font-weight: bold} -/* don't change this rule */ -pre.sp { - background: none !important; - border:none !important -} -/* --- */ -/*code hightlight*/ -.red { color: #b80047; font-weight: bold; } - -.blue { color: blue; /*font-weight: bold;*/ } - -.green { color: darkgreen; } - -.comment { font-style: italic; } diff --git a/docs/guides/cfdiag.png b/docs/guides/cfdiag.png deleted file mode 100644 index d93b302ecd7644b9c3dbe0de15e8c94e21ada3aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8923 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 diff --git a/docs/guides/cfengine-bdma.png b/docs/guides/cfengine-bdma.png deleted file mode 100644 index 70ba991f8e6c00775addd7ea97bd95d124324494..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63201 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�lny!46=cKlZ%TXypZgcFV)ZdG4H#L*o+ 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 z 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�j%xv#b%&tEDxP4VEB>J;;O1xrH@%hU^ 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 z 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

a<1*h#x!3DR5g?O> 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 diff --git a/docs/guides/coordination.png b/docs/guides/coordination.png deleted file mode 100644 index 40195602ccb7ea4d735709d4bbc2604941af12c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4291 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 N9azycOZ(4E{yYCrk{bX3 diff --git a/docs/guides/copernicus-planets.png b/docs/guides/copernicus-planets.png deleted file mode 100644 index 8bd9cc04e7886e56382c255f203ef484a816eb4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33075 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 SYzMa%ATO;XRUu&%@c#e`DC0i> diff --git a/docs/guides/copernicus.png b/docs/guides/copernicus.png deleted file mode 100644 index 289e1e1dabaf4b1f0301821ac5d65771a43a4ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25988 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

h7_tlNQMUAqzIG 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%0AH93d)VbOFAoi;C_JQv{>Dbbcy@@Ll39zw9iQ~|; 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

1h{!BB?d2ycj19kCQ*AaI8Og=}>G9 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 diff --git a/docs/guides/dikw.png b/docs/guides/dikw.png deleted file mode 100644 index e86ba2e2c075d072ff03f5fbd758c7df701cf655..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9380 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 E02UhXlmGw# diff --git a/docs/guides/fed1.pdf b/docs/guides/fed1.pdf deleted file mode 100644 index 5e74c789ef7f9e7e255b9c4370de8f2c47b678aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6802 zcmb_h2Ut@{*IpG{6loR|%LPkNAUC;bB+?VAgc3jyK{g~85=kQo5KweQP!tsqb-{+B zt}Dv27DNSQ#Z}Z*7F5;(tOXGe5h;G4sQhz75p~=1KPHbd_sltGX5Mq=ojWIUz1U6` zBmxCDx9mk~4vq>DAzA2hoRt;qj!MH-LWl+=T-Zq@R-p!O=1gMP-PN`C$ zJPA&{J1^DN^Ab__a#znpI*s+yg_FOpUaaL18u4nKp_j{1lc^65>W9o)@ARXOo__l) zamk9-!wYkaoyggaJ;R#`kEFw$?RT55DlJT{wbnZEryDzB_7Tq2EhDPvhZ~a(wv4bM z+^(Cj<(GyYllY6ff~uQW?%THYQgIS_ySILpX_fb_+_S$tC$8G|p5lH-w(H%fn5i^K zzmxev=Ighyymw>N^TgsF=MyOfY58mJ2Dk9`WH9kdk2{nHiW!E;#n4qrhpSrT>ZzWn z+IBxhf;@M9U!O18+ri?b9QN`jDqq}c$hM%r8tFbh+5wdc`j-q^7)%&A*k6Q9#`TLR z9})D8m7}m1FC2wAs6fPXkg1`iM9@uT&>@6O3C4j=1u9iRWDH{*%te*5CSO#RWsaLlow6h$(5%wBM4&Q}M*I@BtV7v*(~Ho&fYf zBu&Z;aX|mn!N+CbU{5a&M6$8zpQL70{prW0<1jn!$0cZ%InZl~v&4E~E{TXEVW19C z#CrPm9C%6;!w6pF>>cRCHFH75(Wpwq=fRkijVk#Hkz6HHKn#sHO~kMs9LRWuQpFPT z6cB|5yYu?nBoY<&7YS5Cl+oc5d=#C>}yHJA^`eu zSU(XWgJ+_&Ck~8gK#lbj$w-yjYI)qdS;rA5%~Rod-{X{&lW8 z0QvyzVS$h=Avz6#=wu`qqvLQTL`HD1y^@bH36KI3;K^N3QMj=G5gP*Q!%T6oE7-dt zzP&VDi~^8h9~CND43S6_9Ly0Zl^|I(>5Z)r2M6@Kp^_QEE7%KwkxXGejKX2C2$sMy zSPsikg-9lV6|i!?W(DA+K*@oTuNtjq{5J)^D#@QgOurx_>O?H4!6M=}irHypALaUZx94Noy=(JA->2|M#rE{`l*bUO|9%!>LTkiwW(K%Ed(o zvQD0Dzpu}g6a-ESI9X6z*(lgN&mbIEID-^;cHZe5p#_%Hqv=H_**C+`u$Q$Q_r*zv z&VD$Pk%v6keQZnK(;H=ZS9bJ{)N@GJjvn2$JmvPS;?c(1%uSs?ju&}P%5@s;J#wSH zw_v1c!ko7i%-1GWj+_()dsMnVW$XdPhv2)zOCr`x)86oAUVwkG@??iwbMpPeM)R+n z`q`S5th+HO!P$Hct7dJi`kd!>v!<)@mw&vda(Zp`t3#>aTS;{Bg)^RW8)Vj5)X51; zjY;D>_&8&#*^-JeJF5gVCQyFE>hcOeM9?fJ_JpInaOSE9ugsg2h z3PvY!pAmLf%wP33x+jRf+XXMx>xh?g*G%zzsIDXb z=Jp|R=cAYRIP#RloPw4#+zHgy#Y*e0-{J^DnX|msu}9rp@AG{TzHwQ}lbZa8?xRWP zDS0=WN`q^I7ce%3>g2y>J(*r`&U~FtY^uo$S4GsT4A0;9T&x{&eX6MXe)(R5OoCP1 zF_-OrxqE7JgP%pPxQt_IaR? z`%fL{^7X{i9=-kH`*Ff6Jt>_J%~nlKpkFiAX;(OQ$sWu%-f4F&q~cJ0JTKv1nBP80 zF8}K0vl1#bf70E^2KdZ&e2-^WNz0)w*K%CtD(gAvEjC8QMKdj8ksb8`~OmluZZ}i;un>};#vuB&1w3jD_ z46oZY*N?Yz?);8RT_Lq?t7EpC`Quiv8^P-;&up^0SD$e(Romb>_dt()^R2jQwRg&* zw#vKBDoR}utPQKz;v~uYm$TBho-j@?TBr65*dTS$PY&9GE5>J7zq6aXxgunwU*&V` zsQL6AN^^Sr7h3$AgXkkM(g9mjAsU_b7sLppLy3__13Wo|80mjYjKJ(uVx$7r93Vyt z4Ll4IBOB%cYLviISSCdQH3CkQ^Y|#Nf>lBV3jW5(KH*5sJK7MA9P;x0-#L;*wImNA zNp#x^FCYJzWv$dqDrAMXJ!T233Pzl&%}sjp(#_lC@m!kL*vD>CeU`q< znXz*cO{Xtgrz@UQoa3uCo{L-D6l&&pN_v!kG<4S0JGJK)wx|}iyf|C_I+YWBy4E)O z*^Mk^d28gel_edFIeI4(AXkL;J+I2I`DxtZLn$va-jum~Xq&Wh>zJ`G-XG}l@t>!+ z#J+O*L^Frur1z;Qzty$XI=?E@dE7N?9(zvg+q(Q)uSXqCuk_7q44>HkE~}*ZvIZKf~skgZsuOU zQ#op?IUfmZx@lxsn_qQ*{L?8vrh=^QJ!G`5wo@nYwvb3(_AYlFG=tImbK#~p4QTUn4hiv7^nE8B7lIKUsPjI^TQs=ZBTP$s6;Q|8V9`+L~MYprQ{Zqk7MfQa8k)r6wLb-cBjIGNocT zt|?W#F0$)4Z`n=D)#1fI&_5iW6-%0T*ClRM>A{JI?lMlRztv6?ww*C#b#^o!8t4D4 ztTm^#BIN$%8lA$BNmqYPOWb$R+3=X&!|0wMq0zfY-vyO>J7YWuAxF^iYm+Bsz$R<# zN^@^*`+nm%6(eewUX6c)(f%i|5Zt3#7w|H|hT@euoq4p7Mf8NSl?85Y!Vy1KwEXEk z<@nVZ-&9wNhfzi!pSsEYyshe9L*!f3x#h!^*<;oXx0a;_zBSxlzRjB*Kh7#IHf%HB zpW`syrfGLQ-}!39B9oeH4X)W&ylSdy{xDS*O$(MDW)=!OTQ0`M959Nl*uUe4)AQ8J zy6tu&L5QuANm;l+*=^yp>-Hx7>u2}>HgRt^J~^;WuY@+y_5l`ss4hS!MABD@-2~ z?QjbVix@daN#C>wGHiE#*FDiLZ%^>D*5enC?DZMrq2pWZG1lC!sJXe`+s%C#BzqiJ zF*kYPFR$(hUs-E4B&_pwt6-}mgjXY-w{{Mb@7pek(yC++CyZ44-M{Rw#7%f=D)@sD z=CWp+i_G(80^LM7=?=T%Nsh2hhj68?xv=W)U6=B@sP2d+t7&4~*?k9lx5hf`&B`?C zy-i~k(0vK~wX}ST93;HZ*F7u0_FVkRcJrv{_HO4!gU*HrC(mV6jiA#dubXQhCQX~aqe@wQ^xK-%y_59G zznNIY+xjhd$GhaVu<_-q!otE)=dD|U$NaD7jN5a2W4j(B_X0vWYI|^FuG-|AWuhZ3 z4h>N6jO6IE*K}5SJSnkAQCoX#WiqeVPq@3w)Ly7t=P$ofyTX888Ct3X*Ty0AhsF6p zi?7MIpWd|U_XjZ-bW(#HvMPS%vRUOV20HoYI(9uS zzjtrp#d}p+ZL*5B4Vru3XNU1XMFW%|GBYkVs&S_os4*961XWid^Cps85`SFF!7V&k*2kZE#k$JWxqNEz~@@ zMVO|@q=dkI#oC0$b$2qs6x2+$L@oiv1xPIsOO;HuHC|)F1Z_+V;~|ZTD#98c!101q zGMP9+q=FCvgFvz%kQF$>55|3mq6qK4gZU z3Kl+HfrjAW{*`})34v(+_1Zy4-{K+A zVsb$BAuN^+3Rc#5gh(P<5E&K-)fXW$5eAb?HzOiUA`vVSsIovM5mXlcMb*Y?P*!275Y-C)+`zeckxGo(XttBRSk>1Mi?Hp%6!WCv)_Apr01e|siB));FjPPy zfN1r>FBaMKH8ghcM_-`D$5KJ2=yT_TMh^J3k?<4|c084sr-Xt`Ip6_uh*E^3N@dXe z&%A1^Ft3BY{vzla5ugDOe|V5&Y;e$5`g}b{ADI^jz^;7FpBK^Kr||qOohUr0U4D7>c!Xxk`BmdL`zU}`&34x zSc0>w)6i=Q0{rwf;eql=@emO1z&V|oyiQqu^ zQfB#uj6@@Uv0j8h{bC&y8ZyLIrQm^@odW#k1HnF`IPl{F9fG+s8Tb_dCpxm(WG6O*MWj$!h|Rxi1Y^GsC{;X#N)ucf OnaIG+o$Ki7g!?~F<;oZU diff --git a/docs/guides/fed2.pdf b/docs/guides/fed2.pdf deleted file mode 100644 index a759eb8f0033213160c3012673b0faa011c25436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7308 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 bDZH@{AaVsyrcgSUN=GQTdGoAYY;gYt$4JwM diff --git a/docs/guides/fed2.png b/docs/guides/fed2.png deleted file mode 100644 index 1123661b6ff3590bb9061086c431fa98d5ce83bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8487 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 ZItJD;@c#z`0UGrRb2oK*`2X5`{vGKAu8sfz diff --git a/docs/guides/fed3.pdf b/docs/guides/fed3.pdf deleted file mode 100644 index 1d9f90850cbdf85c7233bc3ae6b01985c3a04b89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7508 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 diff --git a/docs/guides/fed3.png b/docs/guides/fed3.png deleted file mode 100644 index 06b03604663cdc42ed07f2303c425d846b6149e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9780 zcmeHMc{r49+rJTI7ftq5LK#Vin3%kV+K*iSR?ch zBbidhIx%Kq>|-0e)AM}Cdpz%d&+#3{_s8>o{c#_2-{*au*Y&&3`~02PHNWejm8FRw zpA;Ve0D@+wzg-0YE;#_;4Bf-YwsbtWS;79{^)s~#1ONexpBG1eFV>Q6ltmcZBCLHq z5lGhn55UCg(m|7(zJZ89_W&|_k@wv^xz*=vv&@mV{IcJs_ht0tR6TX*zxxd7l$Bx3}?f1@nmQDRyNpNy5=RJ=(` z>o&0E_b9*A2G|u@_bVtTu8%v65dk2oxD*UT9SPzF9u?vM;K=|8IQN9W37B4m0e~5u z4>)M%$N?NF`zJMew0cMPKuYJZgMWPNj(1;TPRb{vZN|^2G zomqb``L|wrgv@r7{_)P-Nxyx+7l?Ko4TL>{wN?otF!6_O3Y7WZa&`{UJpj4Ab2<

53D9-78{q}ZZBI&2J_0NlDa#`;km7#KTX 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 MSFO78Uw7{R0@VUTrT_o{ diff --git a/docs/guides/file_change_diffs.png b/docs/guides/file_change_diffs.png deleted file mode 100644 index c49b03befbaa4882896291abf3a4973541590ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62573 zcma&NWmH_xvNueGBzUku&@gClcS&$}cXt@vB?%tf9fG^NPH>mtPH-I@1{j8U`6uT- z=dSmjb=Tcrrl)u9>gw+5>gxJchbhWSpdk|=BOoB4NlA(-BOtu2K|pwZ`R4gkjZx-v z{imN7&cafvZ{ECF-cb1c^!L4sn5K&g(A>q{$jJ=B!X9X6#^7w?WM*dXYzcHZeE||g zK=^*+Uvv4mGqEH!I2#)xFs0#`L;gzBE&c5nD|DJon7v)%g2e$iPqL(f;bF!K1q~ z$5V%0XTfa9UB<+u=jGifPy1^wSlE+9OW@Cs|G8jRrY|N8aoL}@Y6S4`5imNRo4K&J6z>O=e>N$#5+y}P-9 z++zWtZ>(}IsPCd>?q)lk)YroL_Rq*IES&8GzH)!xu$y|_Z|2q0Tcw$r2C7gso1Ja) zzaqx4)BJES%Ed^l8P|M=D4TI!6vnoj3A?#Gjn@ec-Pbi2JN`C#i?k+I=#-wq?5?hr zp{)))la~}G5~0Ys}O|^RT+LI}ntVShp;DadNr@v)1ifAJ2-};~j-B0o`U@0qS zYVnDstVu6o|3I@eqLSjC^CNDnoZciVQJ}C0Xwi!>GPkEkZytu9GiYaPIJo_uEPe|B zv4c|aXn=A21R)v!HFt;-FGewMCX$xVpQ1CTFV!r7nRcccip{`Ss9Qe6FqQkGSMr5K%hblNK zrB~HG&m3OGjTp(e_p%q!|&&#k{zZEpRQ!TD*uF){&u(#rwDgD zvrU%?N&1ZgHiUrxTzg7c8ehuLr#hsoZSAwOk61!-tc0kk@xX~4(RsuOesy7lF-8&`@788G=tZH1W*%howzTxhG70~qKO;}85F)N#hJPr|F zsSpaqdqT`(D*NUP+19)cst zKNI!kNP6={m4G`G2gY#n82`p*5I> z1vU2K;j12{G^cqVahJULB|=lpiRkw@+B&UwW!5nqG$|~86aeFv> zKuSnQ#mSU6>9AqBV(YG)A;YvCN-(S}t-bIi@MWG^5fu#~iZkN~r4iCIuZqzAm%Y(= zv*v|^s`S%3lm!PN$T|x#chUT?pRHkn<1j{(@+yJ3p+h!f%5|x)s7hw@tn+^2W|H_s zgu?lQBd3=d&!E1Q|7@7SlDh}wsfn(QQO5Z7(bu-sb*^u@f{ofwi#q~N{H44Ver4%I z7~m(@1lQI$oPI3_m49!8B`rWY6*xR?-p0NV>20Vs-wWbau6Gcnz(INsh-waY#-rQZ z3z5f&duOJmyhkiiP+q&avXkYX@wT;30{W2v*?E{CG*o41>cY%@Kup5x@m`{#WwBhI z{^LZ!9wV}J3JDd%aPf@&6`D)}>+tG9AJMhnx{{gAMlz|LUfttkN_Fo*H`b0?i$oNu z^a!o$O-)3NASA^vTs;HR=2pJdYBu7Nn9RvRr68%Ks;DT1%gt4~p!d%Ap|x5RA(&%d zFR=l``=5WNHdd5ItNQR!$3pHMwl^iTw`u*PL{Ymv7qgW~v*CR1AifWERwDy`+Qc_S zhXxM>p9nd_N(*wH38L2Qcv5#hw${n#SgwGNxJJW}jWxw~53;YTCg*^jkyDQj(WwV} zJKYXr7B{D~Z{<3CPgKJs%Wa#_#^#ruZ4yP<&DN9)cfQ?R-!oMGI*5y=c+{za%_3bD7g6{^LqoGO>-J^y zdUfymrXgHAOp-Qk6oA~D_bi}rI_&6S-5zSH2^Sl(rmg6}v$E1cFw-Fm2dxWOwAy?Vz^-gRvBT^<(>M%SBTsKWn}36lwQ<5M;g0r8Py#G;87d z+8>VpeVQu*LTsnPv%rU6jxuY<;%B7W?^SRBm8TXR{oZD$F1;b8679AhGCYcN_b~ap zSy4&7K)K1`>f1)QQqy@2_G)jU)JMJO_uJp6rg0sc`UVgmYlPb7)lKg{Qrg;j2xrjb zDNBh8@1+F36|=i3C}R+{pX)8LrGM}`8j+w9oyY`nQ_&mGu3~bnCqS>~;Vmu=1qx=b zG~nZ*gKWmLrIGZQTOZD^F=BYbwHnP&=hxBBJTc;G!m2>A#Z6zw_%2tupz+ZAXN151 z=m4fLx5-!`Puv5S!IJt!7+$6SVVCy~(9i4VLt+5)`H7rN`>>GD7SoQC+f=#h5$S5a z$0=+jn8ce#+dAq5ejFa>q|SbFB9Yzd`zr_oVnBh#(C)61vEQA})M3yQW9sLO$Xu;dW2}4UHH*FHhIQ_p`gtkeWVx?s&#l>0l5m1c3tu<4e4l9WDRIe!$liUp8)EogVfEB>KXu|YF{5y%|yG2~EtBB~J>&y15&G`E<(GB80rM_Eu!}B={6*_0-QLet#-U1H@lOf#oUZ zb=C!)ds5u#;jvkDgL+6sZWr%O7sYvYlV9J=H}d7_9V1BP(jOs`tzUKE>Qp+>(Xn}} zzxr;&T?=U%9CKf3x7He$;ET|BN2^93JDAGCcS%K2Qx_A;Z8l#as8jiFcb3-p$<*;u z;x;%f1?5?Ne1#$r)P;m(46vGfkRaV3<_!b{586n7oBz6^9j*W;2UIq2a~O2GIoY12 zi10*8TTFxw)@)8?s}M8`X3|w&NcT5sus$Abw^{b-g%^shK=%bmJ31;XXwBqO?P2>h zS(w*O;3C85jxzRQw2R!Ca{|ppFvDi|@bfki zr$z3_X?CZ<$_MJ)^7yvrCi+_3uEHn3!teVM&@`MH{HcK-g}h75Ba>fahOJPIzA^WM zpY0*r=|CZ)DXj&3B)OZ@A>ld+qN*wh>OJy;&J=Rvn3(Q6x`K7q-yE6gl^mCVOFSZG zc7E!Vgoj6;MY6G%STx92R8x6k8|=_URh8d^cRVSE%W@i{u4|noOP$F9I~-PF0E_Z? z+S9avmJ8gSHJGIyK|4*t#k#;G4|!>M$1QB_GMXX#$j_b{vD|CZE&7|Zle=>=^RA z4DYS*3$R-gMeb)*la_sgHo2*m<5zhJV=AthXm@5;I=mZZk&9@v@24XIcO0b*iV`$2m72P^=bv^`2bkf= z1o+k%j<|{&&<4+aJtzACP_xVp44W{i@+sD6mZvu!9Od}FFeV}E+Sl;C5^ebV@b1TF zB(M7NyV!soo+mH4@Bmm+{0U-Kq7-g7m^EXqzC4YUxneo)(IV<=lXpd~NjsYAN>#_S zLp2oacN$KOox+fLkE8;l)`uo%%NlBlRAIb0J>N2sFP9vpb$RH|Ts8Hc^wQTijcz*a zdOW)Q;yIlbnNgqplQmj*TE0Ru zcy#R3ZQBCiwWvNm970lsbD#+aPrC*rOa{#jUXmn=m23j+(3|WI8ecV4%p$+Ps(|2n ziO3u?lBrkz4%Jl8F&$_LgU(YYE!u)DEiQ%01{|pjCK2YMtRaGsW%p@n0bIXn;*C4F zk++|@&80K$rAR4?>8aY9dSt$m}2znwf#+eF2lJ8mDx&H95w=4kbW74zUbV$!*kg@y--M@`T-53WLb8XcNn0 zFjXePB?H_$UVQ6EY=fJP$O4Q-H@yl9iuC7kGV#XsAj#g;*<*s~SxF@n$Y@+k9ZB10 zOH{H6)Bw-$M7qOQ@iFsvZyL!o^w)S63v3)$njO(^Zb}*!mrm0xWq7r;F1h8z@~=E zedP+{Qh(iEoVd5?NlN)Am`OBLWZ%qe9tSHpLK|y%p~7GWl^(1YnJRKrB==oq%huBu zW*d%}bz2J#T#n;isELidVEENB^6KR!{Z&L}Z&0Wz11(D5(}81VC7R@D`aR1cbtdH~ zsV+Qss!H9rVn4a3C0#?52}F64M~ZstpJ%f|^Zm)_+MvIDT5h)C18nzIuJiBAOd>P( zScfJWCb#2cU>zR(B+=ABdf+ZY+6Pzq1D}`_%Zw@+U-=Hd9Y()+F^0Q=alB$rei9_T z6$(_$=mC|+xj|3HHLL-w#Ej5Deu=Qajfk{;WX&p95(Ox~sk4%6M=nX<{S2A<=D7!d zR_U19=OAT?6YFp{#;L5<8kZ_hm#)GXE>CCm-awigcQ^jk|#dLW&wYpV?0q1=cATj!w> zBO?)5h@KT0`0gw{Tj$5U#)U1P1##vRIKAHmDbl!9H&Fv#dwXx;1{(yq);B2YMTM6-HNiMqwLS{gF%Sn%56n{wT;)V4WJUl_$ctI)UJ>GxGSwN$Wa#cxHGx)aZ9bd_&)9mmUv z?QZaz)Er|fNGV~g*UCce(q`}JwEbE<4_lSel#XYq+8dvI4mVLzYf`Jq=uG=1mB|?@ z2lpzR^O+eonK;}`dc&SMrtFfAeOynuR`AV7yy%Psh;MFFVeyLZCQgZ>Bn4_}3+-H! zcUH`fCYEPtnB+dz;f}DVpUPgZbn2#zh5x;gd&}g24xqNWZRkRj!tvx>*G}t~C*oF( z;mOth0m=(8+qpZk7P9cM6P6ywjM9p+75+$C~DolZFzAc)X=ww6BB})A-IOL+c_#B! zkYAG?jlK0g`B~|#2f=wdNlU?wSVVRwB;lz1v{CWIE7=5|rw{2G4C9Nf18F){H`lr{ z{CTGx1FME)g9X?^+3iz%)PR4&2i053opArr3p96ozp)@P<8(Iof=-Nz;p6iFnL9r^ zXK1j5{_W48ocm!EA)k9k^@;Q-&V;Ook9OSxOb_vDwbzNMAUK!Z=jI#Yof@D}QaOB@ zuByUNOWo}tT19M@QN+tZL`+eUTjp&-4Yz%EiULE$6dRs-V&fuaNur(Gv#(OmzAhO* z#9dfP$n=+uB^7u9aBJ}q3myi%Q&b7A4lh@RwJmV35%?Y~C(pl`}YRqQ7_dzaV zgkN^lz1UG3fZxDx@Y|^gu$i6LstHYEo-?%(ZwZ+FB#AJ3mYTt2AvsCIMThH=5~e%(Ej==1^O ztyV|}+C%s+g*Ie|P^$dPL3tV`!|RXh_TcE)^RhjvK&Y2jI6eTN{;`UFM8Na5>2hZ^ zM_Z-8dDrhs^Xb&~8371fwHqV;48=(-vCahg-Uf+%&YfQGybM_5q7^ggZhDxY8ixP+ zO>^&3$pyOCuO94m?{vQDyfm|xIvw~Yn8tjJMe4!B48DYKqh2sD`nIcJ38dyF7tYi@ z2RJ!0YO&rKo9}i%H_JYyK?)c&=gCo|K}CHt*~v&x%i8ic?jF4Ub|>)HFHoz-1h4v0 zDNN}@3{!+uX>0wNFp86~PVFKDsli4fO!A+xMtN!y0bzw%J24`}A{ARfPPA7AF>>Sz zFmD~SXd%~gR=vY^^aqeIyrOBz_)X&Fc0HQ?QdIQYeXyfM9r@AhbDaT>rA2z`8PI8Q z3&S6F%nxy$J`7fGO4Z6JtvpetgMXOgzbPmFD;<7E@aa>S+d~g-bIb2Ym!*jD=Np6< z7ImJ&UllEZKn2koJvy<-roZ(+V`{bJi+7tFpLT!iBkhmY?f*g-f)f}{`Ly+wejUC0 zONr0RnNI!BmiqLhi^#wEQ(*QY`&S))M-28~C?i6D5a}<-BF>~ESV!`Q5WyDZ|A@B; z{|DBAjp%>4h-21h621M+^cHoWR<&YRT3Q+xx$k;1CTj3=z2QmjtrgqK>dNaWnlJLc zBEE-gcY2w!YV`&mg9#4_)6&zS^MDmYB2jd|PQUBxYgkoR*Jlc>hK3Ti zGW)!IzVYdT9bgRvR#jHIxjPdU2CsN$UxlX;!Onc6IXF0QlM{+( z5B-|naN&1;Q4qDWvx8OUR8+_@Cbu;=^ZTruWW%8GWYQ=hOw>Mmr$BTa9j-W)qIkbY zFdo3mYdXHu#Mh2^{2G1L%$a->CnEF%RMcG*0fD^x(?z}DEHgh^7?CL9{OU42u(G6N zqp=U3%~fej(|Pij|}Ys7=x= zP>y`h7OdhdmW=XRKmA!bG4ZpLRueQ#vy6$`?eGZ_@3Rd;6K#|IAOExAfh`PsbsAg= z1tP{OdeW?S27ZsTj(%GWRTljdUf?kesGge7N<`A!JCbbb-zcxBxto>VynG%hZo;on ztV*kpEtr{>rmdkNAxc6*a(;eZXFi4%Ci>3W#?CG>I^FU2WK{qu^)8Y`;9#g!;;h=! zNF*a87xwisqnaFrR@&?{rW0Zo8H&DKq+TL#)pno#XD~F4ow8z#Qg&oC#xn(&*r4t0 zV)k+ZFH)&9usB?QJ@mDb>QON6B${!sPS+)OaMpY6WR8uE5k&US#Vb3kVzLTLNDTD% zi${_qN?#uoWfv9|9i3Q|DbgUL{PPsarsm3#kDXs!5q!^hJCZ38;aYZjb$(-IZU1l^ zK9L|@W*^F*_TQ$+GJ0@M>1m3(x;?otf033H9T6UeTADwU8(FGyiC7wiU$YZLBK)NA z+vCsatm?ckEiaD<#lphkv|FmTnl20sdFLO|$(IGaKET4$^YvoI?2nQ`d8n!Xp@@qObuP7)eXk717SUr9*vQ zh2S^%6bvSPn{+!BWvb>LJ{6grJFe3znxpyuZ^qMi=)Te5p!}V7ZXg9j;{|pDiyhFX($OEAMBO9?TV55>i+pxHWob z-mu6!Yp20Bo&l`MRXUQnks>YKDPgk6f5+K~W{<#`({Wntr|iBnocQhAb3iM&aoHXO zyE)$)h$aI&-%3)wICG-}s9eMX{)!0DCB zR!e+vZ#bf$ zxl#*|LTSmzu?HBbQcjtCQbJM!j?d#HyWL$qY`t}@UiPMEO}T99lgLt;fJQRQ(+X_6 zc`$6L{)e~0a8=32*+;&s4eL6AAGF@aJFAF~5VItlgoFh1EFXoNJ`^3lahCE)+0#_} z!4>hmlfw?Aqi#Y)_mbhp@^-%UwoCf#hY1sC6aU$G3G0Z(dN%?mON^HZ|KBM#yF(Zw z4jsZs7*hAT+fSV;!sK&_#W0T9?XTW>CL{_{@Dc#fLGclOHnP@DD1@c)Qd*bZ4182l z8MuogJQSbE&r;uq5i91Xnwn>yy4w*%J^^s&h(2}jVz86Ee)=Gn-+22S%I-uOkJ=2? z2wj2|{qfX*Kfhq~6WOhKkAnjVAs^e^m_GMeX)sOqiN6T;7rDo$gJq<6-kkH!FfPE! z-91~-xApPnV7kaA+bb?Ty^M3~RR%Q$K;xjES?&JO=RIagn$rzlGexlHHT_iKpqTit7T{?lF z=g`g*``Xvi(~a562gG^s<5QJsL0wF%u}+wIZQCoXEGc!jsHybH_rylBahN5Pfu0||Q2u|a)48~K^v-1+;SB^e{Ef0(pn_aQO( ziI)PE$XBnA4~cF|!F+T3{B^9&?aXb7QKy^F*Dp+p92ypd8S=b|2?-h6s+827pMK)i z&*@9a$@6+{nogClA*x08;yFlbSv!d<`RyL4SR5_$;t~8UF4HF@}OI;b!;E6o!CbbyWSwi&rETLm^ShIykyZyZL(+?|9f>U96 z;Bm=i5%siJd&$!hD3;BNBw}9#hdVCcpzDutMXZC^GDD>mz-nR@S!>Q&le7LCb%gm4 zQHegLPG|uJXpGj5vq`Clz3nHTb)#w(fz^!gYc2W6(#tfP@m-AqtL$UR#Oo=R(p?du ze3`tWYwaBQ#}eQralgdfa(bC^(v4lC$oBXB!5#M~_{Qb7pTRyf>e}}>CqxWA*Ex01 z4Ysh?g11FNGe+xzcH|hbZFsLdwX|0Et>uJ3(t}ECT94x{2wh;JHlS%Hr)gv62!ZO5 zL^3IWos08TSq}qI=nh7L;E@ag{$MC^!e9u^puW(>YVdD}RF#VayDez@8A7?~8B{t) zwf(Y72Se!Yr^g}zF0zY*7(ne!dO<$`K{vDH2b)Vc)wc*L@Y;3quRx(js zDM!5Ay_LbKopZ}lv~+@yG`Vh|@Gjw&Pd8g3u@#AVjvzbjV8NftCfx#+NeP#CKJlv~ zco)3Q>WKls?$Ojb^FE~X5o8;k*Ips-1)roK9L2Vd=PgjS;zxUO=E4Slw0H3vJ$X;R zec!b$-jc8>h0mACgNJ}|#7n8p)4|+%DApl-2Jpgs3NUzVWU1C)?>+JL;i>7MS~?p$mPzViEr2D2wSmSgyn$nvw-*ma+ z%@{>9-1=(D@~O_G=fZ)bq~v&iCCq3E*nlY8t_DRD2!CyS@M1Rpni5Tm$2f%kq6=ke z6u*)GcgU0au1CE=Fch5}U%lpFIF5hXo&K?qPd_3e-NGW>Nlbcoqwy0A2Cd4_ypz>V z^)fv^>vJ13^k*ttTiq~K4Z876DPFIAO)q&rlzFnZZ zZe#Mt??Hz8&8mR6Z;12+M1AB42e8lXp69?cff#&We{@LAnV+73cPZY!Ss9R+NXI*} zX2N+R_V`tq@9WRc6tSVja;v{C)9rjnFbzJu{pUl=jHa?rAF53FB1LmHZ(H>QMc{W2j=yTD3gI!q?gb6UWYZc!5V_IW^cl8 z6kgqXW)>AuW2&jEzr({j0x~f&R+g7j02CAyoOw1T$FR}YFOksDKjr<33D)hO&=!2` znDBor_(8QDKvUI|PX@MA=YuOO<^weFs(N?aDH%aWU-|Skp-n&z40+B57WuYt4b%L? zkbHt2y+^%dWsc;i;{4bxFt~xinmuhYJ*#!=QpW&p#Om6Z`zvUhHnW4l%%Z;RgjY7N zUNfiCXDJHA-!ko|U7YM^H?xRg`JxziEUCAnzqbh@Ks&?rpwX*sOwzUe> zXPT`nS8m~*oH)|YBxIY{zV4UkvF^30Y$CXJnHyrI#>#I^RI#>lUk zAcE0(PjA-6ZDH9j~pdQPW{KsEeoZenglEKSO`W zp)@T1;AEIF3kxv5n@XHZI5=`g;p62EmEdO;U|Z}PH_`nu(EJIYTt8neXeT~RYjlbaS^2f*D=M7zW#cl;gBV=?=>wJ} z7cx;Vs)1agI~VWNxMc&I;d8LeGtiOVoGIiY?DU6#I2P;kXY+GiY;4ObulWxrU5aO| zSA&tTsUqI971q=^LQYm?lIW3;kpa0YD=XO4@^62ou$WNEru;C_&$d4}_(9m|DLnqA zRV44=H}^p55j7YNO?Mkfxk;cpeXCsV~>>EYwx%v{%_EruKoq zo7ZTMX-S>u*-*gIws*&-?q-MRk%b}}I%}Qa;a&!wAUq~rZugDuzP#*m8Q9r?wF-lF zUU{zVa&k82ubJW!wk>Sg1ZJ(eRFbnutvXq!n=lJd@$vD@Fm_us`{J^d`;=Sx;u_n0 zOkd=yRkIePkqtCy_q+abU5X)3%gf{?D#q+Pqp{%uf2PV>WA0RfpX!jXo1bG*XqP>+ zhAycZW&A2F(-m?%)zLZ!Du^55=>RAh)YQOBO>rey)@ffm9hWg#F*f0;8 zAUB@ug4qBtLqo$@>i{0F6u(FhHM1Q9azp=k*SJ2b-?$u?&8pK#g>z99uw;CMuH_wx zkoV)mo%3$5WZ-j>?D>}b_<_C4J2!MUVq5R|7nmHhLDChFr$s(ubkA~j%MSo2t;rzY z=1SFJiBJw7qwH9-wJq>0oNLPC1q7SCf6eC|yNnOLNo#Gj+1}pW-)9Lfv9T?WzibyE zc72w@Z<-UJC!t|SAlTqc%r9tQNxi?nza(i*Ip4)r=RNVbi+O&_ACR|u>EW|^e(TdY zbh2~qNj#G?7jxqPw_(Ds%+}fW;RW7Ew4+Qs4ZSzc4BLe0Y}j^^r-M=a1dyH z&2havMJm2f9y#i6;A6DAV0+KD_$p(D!|@Sc{Is_>z$LG%uC+en+x-96jg>EktY<-YQemp%WNTHV%2cThCF+u^-q z_ZVUSP*fJ9wG}O&n~bikgM+ApL+>|NQXTwfygP|I*>LZ+(h56i(<|_ZMhbo2?#w;M z>(>&ay7#$@ByU?m4?SEc37~OgbY%3XH(5THemg6~+3OV*(#tiwHyraZ2Xp_nY<)-r zosT_SbqS#USFi8x5LYku{MWCmz!(a|He(K~BtNNM$9>MWoM?E`xJWdao`${sDPV!b zw6$whHi|PT&6YZSBGK7L{HehZs=*T$+rBTStdbywdl%838yOM=!)nxPfHFAXZN>Up zSyU7{iPkXEtaV?3bBR{6nYEo)UZ=WeOTEZ3pvEGDe_)xeQk_eG>++7E;m}E4T}-A; zd<>J^4QKK4F0Hk8Q(b7!z833NPgpBV*NdwFGD~S zl{~g}kna1=b7}>N8b*ZpkmLQsE{(bQhTImvOlra=u8P7lm2l* zj`QAClh4hD8-SK(6ax*3jj?L^@eCVs1dI*~t67<}VS@Fntz}I#vCmH_Yb2%XXf7`- zeHQh}X`8HEHv^{@L zZbGd)-puN`K~xg(B{Z!JW!wyRc$quLQdV?SRS3GPQiR;LrnW;Q^y?if`S^qw-j~vX zM7Ej=FW?_1i~jEs+S3eak6Z#(f|N>N~0 zSnM@6Hg)m#cqrs8TjnpZCLHUDpW3U^MmVw zXSEeDCeUn7o+7o4QTwgIC$%k@j>zJoF}}Hc0G-#*5e(B3dB_e5f>Iav`iyIyqJd9= zVAoT9A)XC*=dJrw(D^MY_g4gzneTN23aqhpMUt5zxn62AS{EfFD(@!F4PRaITc1*; zrKVb$-95?Y3%!}0o5T9G*%vM%B67X%>g0rsj_$V;*_CZY*y%m$K*VKhw;H2LJL~S< z33`eGPxqLtmh!z1{+z7+<$nmr{02w5PlFHSb9bi!m*f+0zNZJ}_$T?oE#b>7Zy@Af zvt~-mqz1-4d&e{AUF}P%Y;8>dnZ&`x*=^Q4XkIX)ff{-nGb6!lknLivf#2QE;cQtl zlL0y^>WqJ~*&7jn3cLAIISbQ;=Ld7F+bmg-GrWnSR*ud`8@PV z7?BydUSIbwY8&`(b=*v74BSO((BK-!F5K#YZ!W&GZZ*+!CHRu5Y*IKnxzs)+3h%#$ zoX5)aOQ4I00Hl7#;XVt{uMp4Mn9()JrZls#z#}G>6CmBCe*1=kF>dCHP2`-^YZN;Q zVL+aEf{C`?!c}1Vg-Z0c`;*On2$Wj5z|&#x)}~CGw zAgivcvjGB04bkQmM8LMtuDsXwEeCT?7XRtUF#1lI3k{8*8t2VRk}Q&_s3;KeV?ieI zqz7jRq_-{_O|0V&5Z2$_Eu5aV)6mec6ygF2$jr=)j*c!1rw{`DNDfX*d!0k3fj5F? zbr+42!R6hlxxK%+35b=v{|CWJcuIVfi!2wPJ0%bW#MafZjWlFS3hHa?^M}?P{0rCX zk)U`NNy;Vv0e{k(qalrsj!A=-p3=K#E+&fD1P@b?hk|)#2nmw@wd>c?lCq|5OuD;K zsQH_Qe?x$pC#Zh}{m%el4`kHq&ufI{HN&j`x@q;FkiUO({5Pn$!Q8YbWbd;%+QOnz zi1hNCkv+j5W`^6F+&4bz{lBn7%FH+dG{M!ofi@ad=`6lfBaJn-bR*~%BY#^Z*LN{B z)g7&0_gnYhU)bm>b-v9~z{kO7H@P2eY_t(g+pxm?L-|{L>Q`4ogI=52&;=c3UvfAT zhID2R#J9T-C8@d`8Hwx<)lURVP4x!TjkvB-`&*~(>dCVxbo+(0rxekrr_T6+=gN9nBvi1aYSS_3GNcucHxkTFha`iU)-J3vEUH)+N2e ztnhz>V{?39~*;-k3Xlu;>%4u|^|J!_kI1Nr~TMHi#k2QOvtXt(#hGIow=^-tX zg4J#BP-E0zP}nf0p?;9Atkk!?!?PV-r_TXaNxXB8Si7|J^UH^)rKU6Rw`${T&wOnOmQ)$wlr@^*V^mKOi2nDTA@>3^ti{h+_^fI zdB0FCoc|J$2USc_j{Z-Ky6OmW7xtz1Fp8i`ZnL+Zb3X{K``O^8mTowKQ2)bh} z@qQsw^*CO|@Ee_62jB#OAXUk6AfF9xzP%lZWGtnNB7ecr)dx^|GI~3Yof?y!{xE8L zWlnFc8vJox!?J4{gDLa_0Jioax0{X64dzj=KJ-1mM!|lud~~S-o|nB)Ie(94U2UH1 z$2=|VJ?yW4M^$il0_uqU4PJ7_$ZJ}#`3O4Uj!BsMVJfwcm0Im{ZHKbj=QiW4ihnf` z$~;qKNO6PoPsdW6$@c=E?vNk?JxnVIr&9}Age3q@mzNl-UQ6tiN1=W|n!{;#U-uc` zE^-X&SJ*NDvm4O0pGzH}fw{OVP4B)-m##M4+kf1elcz9pefaUZV|5@+o&QYN_UFR= z_u~$}M*nit$Gxv&uRi+1#lzblW7&gu*@@a=h=RO6_wa&5S{jM&NhR43bY2w~v= zzvX!Pa=ePcdrt@kRE7XYI9B4JHnI$_H&yqIcC4!*L;)&eIwl$c9L#`nt~1RhnJgZg zEc-uRs|Lj3O8b~IwfTz~i|+A_6@b9Yu8ee5&IQJst!VD!nC|_Twxygwa_9?sJ(a_Ixi|>-;!Vx4HRM zKM;byjMz3@y{ zE6}@R{UU^1R|q=$ftvmLT~DYeDxF5P=n{zvEe^%STbAHDYk|2~ZGM&2wuimM)sJGL zi~hb3A293oOPVx-y|lTtYQK^96WdhA`ME^3xIqQZ?q{f9JjiO12$jU8Z}oYCh-Iuc zB)8wSUsXb330gw%dQkr7&%(*KW`r6Hsbrk9ME@w|{u@tz{<_Zi>WJX(JfzYW?k=f~csi)CH$eckqBgn*nX% zN`9t+>!}CBozQ6^=S!ix=!pkinysQ}H8SC_5t zuMJ44>udX}LNi8<0u)6J#1D|rR#TbKe z(~hmT)I%kc8lVo9Tfunmz9+oT=(6H~C7E<@rmHl87kp*gX<4L`yd5TTO0^&>r)wk0 zpBXYr?CVaw$Q!BhPO0Xe(tji65Vqi{e|Fr-3w)nRQuwCjaQ@-pT_2o?&r zpi#U7_RXjA;N+|Rdx6c1E;tOHIS<#IK(m@f;% zu_m6*d(P;Q;UFJ3TIk2E$Fg^c5LWEScR8k2Q?U!f6WQzI*Al_Uq4?s*gD%A3E%B7B z^ELg6S9#7}gcPv%9&?Z(1R<4N(Ez+1-j9M|XHayjWr;o}mI zyrckt_IYajUduR@z4>!5KjJN?RPuhX|GOaNEZA-xMBw~(b;-ZV$E#OYN?l1!xhI%H zbYDG9iu^%KtVGsttXb1gw|)rG3SiY-Z(~H*6S~?Lp*)^OOXG$erqu{#h}H3cbbP`W zpXxB-s|n_)_C>k1b`&7QpYKRg07RbQUf-=1W1XJS2)RL^z!MqiDvf%bIvI;VFF7{G zM;1TE#Fm0qRsg8kkj=omZe`Z1vf!~Z|st!e!)cR$Q5*3BfEb&M{!7*@I zNS3j4>F9H+kV=v!w-#()v$oaQiQ9c8rTyOo0HmHd zt|Q_fizH8-=f&0X_NQ}cKMmp$U`1|BZVK&awOHn4blJLujACMs8C3J{EH}CNU&USl z{m~q2ToiZ56U>t2)z|rw%1<)%UrPzS$|~tDqjv`0RG|fBYOT=YYLHRPq~? ztK=KEAUV+pMS2|8b9aFbc2)m^_vDW59Q5Ml%8SsM7{R9%zXt>jh?jfq2Nl7dR>~3v z2%`F3t&Mklxw+*G+_dJiL4&!4`?kSodU`3pZ}^MU;F~bDLxZ5YUPoJhdHyYe21ApX zZwslKD5VB=?yWoI^?_~c&5ERY;YVgvIDR8C?r(VJt` zDTcYds~KbEk(m>4l~+$uWy(6Aq9a6Q)uDUwE_~o#Dn+^js8%yfo0@Um!0SQo<`@62 zqLl#}zkV4?zZ=MCBGTU1;^o`NnQV^71!ZKbiJR^{nR9i0&|?asX`O!6ay&W?&-f17 zi`5kJ=Q0m!X$q|k(=1ryLT#v1?*1yvS|jJAPLH{aiP`fOQ$}yytl`A;y<7Qb%6mD@ zMILo@toTth{-f(DFW>;{&+|X-ySlLaLeT%m+FM4&wS--RB!mz`@Zgr9K^u2Ta0wb* zLvVMuBv=ED1$TFMcXxLhLU8wnMyF%W z)>z&om5d}}FksXS5*8TR*?N4^3X2W^Z8aIPveX>i*7_!s;=VRWq@_#9#N1NT>7xF2 z6Pz)JX)?1r|$x3Hi7a^%E@e!)(yG_{o?Tl)N2h>blK9ifyQ1$JPQ^`Ry8>^zpetEEn zT&iXi+0C$cbA1qSAa$AdBr`xy&3eThkP_}H0A0|9?{>2KA~3MFlV2Zr;#ER%5)~(? zZqTA1LOX8V(O_$`@rt<{W(XU5C}gwxgWY>0G7t19g96pv0S# zz~t5uuGzET#bXNB{X5em#9n7i<`xX(PAvC)^?l+-y|oT)!Iq2IBenECa;K99l;HW! z3l-4~9D*U@l?UhzSX#!%c;#~JTJ%#PJgTI}x`5MG%0cPAas|v6RQfSoxqh>u!oD1W z!BVl5*?MrpDJ~*pYjd6yaJbD*O#wrD?`4YRO6$?YfL&nMBL!BH#R`tG-Kh*xZA*q8 z$BUdTQNhE7v+-aCB8)&-1%VIJN4o>JiA0IXOn!9hmZf{%p!uoLdl9lbN}+QyMab#r zmcXyR$vac`jYLLm_NUqC<2+5dps%tTE`MQj`*R>Zv%6^CU!NaWozLtY)zoOjKE=RL zFjeo)0&b@V8;j>lXc3Wfzjp6D@LkPwOOAU!DQvz~|?LXYlTKQh09#^}heaj~A7} z_3HO)#hNf38xdLA!_nsR*mtG`qeZPH*f|E0LMq~p0F$c7r@qqLFO4DfaBx0w@IPtL z->*5<@|RHVJvt&}ceiNh_!1Q43qCHY!*<#IIB#C8<*W-3hoam!Ge2@*I{w*TF*J|V z;|82^i!%+U-Y=G=9+?J#5)>y$p&D01MBU_! zUYm)}m!HudliA0E-w}S>_J0M6D0`Pk>;%I$9KSE*iu!LlIMeC(_=}%U230)GQ^X1sxw8_@SGqr+lnV(7@k!MCoj=$HWf;%gTwgy$L`0L*oXnBob%*R9wLY}K zSgH5fep1;gMj(f1p>~; zy&RcDj+Yp}+aKFj=PfAB%L4*o8L)fB3ICs;r)vidr#vc*ZWYe=_Y^t5S_^|I0TEXH=A$zK#k6JX9QS4hV*%#6yj)yMj@4a}4WIjTIQyH5Ix^A#I_nhxx`!SbD$N z`@60cp$!L1r2@V@9#+Il>~i!_8dpWhDy0Ew0srI-McVAGH~i0uMUfADA-)g^^*O+> zk5Tr7Xy(4536&ZdK^z%X8k5OT+I~blzm}Kx3lRL!i%#OC(VOYL=>0*Bm1^UIc<6|R z`w>TW#IM%{ccAac{Tc(t*d2~z7EYJnU#e$iV36^SSmixx5*B&xM+W1_lasGqU+e)| zZ!4^n<>kY@P`AFf`;_XoTIp%~Afmyt(Xq~lOHl8JOYer;$)TRD(NsBUX?rIpufzJS zaP*%8|CSUp-iyaUu??AMa`Fq?tU3H1f6=9zQ0N+o=ea_)2AIBmjmxSBgs-Qk2kQ&0 zg;|Cu35rg_>WdU+*gbTr&9HlINxg4vot$d&hbt;81@Eu)L)TP_HT-;kO%xu++VzD_ zL@(QWwn^yZ+9UB(7HEPjeUn6bUqxCQ!cMNB(z9eWfCJCoFjAmIEQ%e`tle}cnqbjN z+FDX_GAyTVC?_`xt4a{aAXipa!piG=J3I4-H&MUr2CrcK!R=)IqL-BD!<~c4MMmp^ zTbp^2J+&-m(R?b57F#f5-*NSErB|C-Y_?E+ZE3utqk~*L6vp%)8hQ`gW01+MSJ_2R zPA=@-o^BOns>#jEi->?g%;R8kwA>7PVi<#KqEt#+dXnFg?9H3JOA6m)_P*tSU$qL;q%19-r&=vZ$GfPX8|g+81n*$M~#-}pEq{Yf3z`6>f8Z= zW_}yub|(9AmO6K|(1AJK=dFr)$@_7=z1LJB=)CMWEjP2s)-m}K@i*9=O{bg>xKCL` zqO_IHcaXZf&D#6x9|*nAf{C_8L=r2X3sEC9eU~D=cVjO1Rh^yTX1@DD&Ay*eSiV7< zsay+M3Vd^#xFqjgTY5SWWR_ebb4jY{&I^hCdbcr6P!aF-(07iA829|edC@l1*RA0u z7;`*{+umXA3j@3RXW!Ke--F2HWY6uf*Rb(#_d(oaX%i>)i~_dY95zno%E3lSyVdJ% zEM0hHWCV-q{kDYY=0=Q`=83svjg+(j>nFHc%Wt}G7P(uIU(&p^%kj3Mj-J_}yzKVB z+$?}C8EKc14R%;@->_SC774cTKQaluiL~L(alhtX9K_BJ^U{rCRwCLNWNgg>UhYy; zeOtMv`>vC*{6_sD+S8`_IuY_` z^UrTU>g_DN19joGe2o-#F{LdN!5frEG&jjXc;waO)vxjn@azlUD}h-~=Zl)fzH>gT zp3k2nKE~55P;RwZ7pl)4o!;^3Qc|U*+SL9i zw9>B18+V;LS>A5N!o|AeXSV$MF>kKrB)roWHUpF@SnZ^s?S>3|gAoyD2;1{T;e;LL z*rLNY<>ywh90IXrx<*ak>_FgWSH&a`e~T2jQL-(8im(BJNpzb#ASfYLMrIW-yC;=I1$BM<{dzco!o z;myG*=_@L-3T)P5#HR+y+`A3T~9bNi}1GUn2QUNZJp1GPN?(a$t zM>sNbnnArdfr-?-QpyB4870f5>om6+joI}yft~LoV(5tlTOCApc*!X;3-t6LP zM&G^^O0(Xa&e-U+8_a!DVrR^PTx!{(Xj>Qq++{pvPZ#;5!lw)4EGP;%MgHy z$%+tE=SX<&ji1wlaVZ=vLsC_f;~R($EDTXYIO)pGTT})lTityn`BYgBXTSCf=tzD^ zQRIz;nTGZ(iyfI=RVC@_lzgdJu>z~?r$(yF_spbt=ypQFur-Au1Gdh@#>BX}xd~h@ z*%JdMr-t><^V8BxWRXKgNtt-*+O8HJy}bDl`OdYRc+ukYbIM8kwT9!q9PV_dN2%;q zl9`_+^(dgP;=!uI*flsF{!OR>dUP+yNuBAhqG3j1q?|{ z<4Plkh%WnP`ea7hG*;Be8W~U5PFNIL@vB`}j*BusK|rWZLg4YZIxZ_?0=I#;$1_ts zA?n~satHIyj*bORTcud^rw9n@UYrWr8h9^X8tkHG6Mx#OvUF>k9GRAG>3`1kt+w$N z^{3sj6ej-=2POl%EFL7BZ%Ru}ulYeG(j+hvwE=L6!6){P8VoU0R>*o@kiL&}kI7D4i#Iab6nG%4h55!sg>eRHQkHZa0w-s?L(X);%#vc($^nz< z95POdjXI>E=+8kOLH8}>T=oADx9(=4#zT=-`{;`ta3X^SGe{aJI2Y3v2k*m zImjSnU~|))ax&-k{^(U)ul`63@h}8+An}t!nNH?346ZzpWJf@8W&?f=V=d9vsE ze;EpBX2ZmI&+YR2Tm!3PZIvSd%sl$$XUg8go)qqE0J;dcKi}eZWWcEB2_);iZeE=Z zdr~^@hf8w5$w{NX$6)K8WFBX;-gO@Akc<1=barLV|L!1Z*~MVJRTgK-`>><9!A&(n zdZP0_!ue>}ij;dszy0KF!hWcrUw=s380Paw*SRcZtijt-^dU zt3)f$UQ!sTy5ruSQWk!xmuIm6!I7JprALL+{`)6OFxV7{xX!Gkm(Z$-ttZB8Z{ln~ z$F^0@NHz9ETmgd|)zL7^;PyKkpo%s0SLye2^|~)?LsI}M@$S;&;UdMt>Fn(6#aip5 z-G+s(tJ_Cp_LYx8qxeiLZ&q^p;SILVd$JJ0}LS$-{RdjV%EFFLKjdaH>I;k#Q;r-%{`5JgTwUS#%~W_#oPFw3Uu%C(uNL z#}ERvlMW)4{rNZJofci4t2+R=qtDt-u*uC5!kG&{F>0(bt9%*_@bK2SHO)E8?KS2M z)ic7y=1)qY1Uq|}xRs25FDCjMY{ul-I}(Sp)$ID|-oHp*-Ri}A0hlg$xR~tLWLYVk z7Z7w{&F|=KM7MXf6yI(6IZ2 zSDt(_0hAc3fOYe?cU3}%>!8Z9FhW9y{L#Wu&p`Fkz0>=19I#KNXi(!|e=7_UK97MB z;^=IT$s{{R)bl$f(Dupc{q2)f@m9d?Sn!3pR*r&s&{Qpn%;%Zng!+^lIdbeiHL+cLCBLVF7)#7smrw^Z2{uEn(@MGn2jYow4MZiv~^A3%lAHK zm2<`#V3(X*)FI~oUF8MaY=mg0Wn$;NbPMF^EOn6_zRjaJY#>ic7fu%~s%=r3CPuB* z$gF-VfX-pL0#fW3Ub8ALbWe0pa^HsH>vyQRJ02uc?zl3*+dJ4eU|Olp%=GUw5m%tt zl>MBzaA}r8o*pSqn-9t^nwPm#(a45}Ftk&`#E59n(59Hen3p~NREb;?%NtBx29X`P zBRSGNTPA%zAAbMICu8cXmA>6StEWbSMxL$1A?M6|3NUEkVW6bM6hAs@jf%+`6R@*c zJ<}gz3D59%#xL}Rs$X!X9!&yF2<{!+)*>Pvc+_nk>XB=AceOwfflmh4KJX2<^5>o$Cxj}_ax&KU<{u0V>o*p40ns;M&$k;~evJy8TVT`e zQhSQxU@dMiSl3%$CRYhu{159u_KWe%uiP!%Tk*g7qW=}R{uAF+YXwrvT3T8bcYmi+ zwuKiG7-7}U-#r*p_?t}n4I0x9M4R=QF+E+zPPzKz~^B_yoqNachErlobP zim4-&P|i%_0EA`*3bvTX?)KL$M__4?fYO>W99oZBNKiHCxLzR1E|IK_und^zVy@NX zt~jqWF(2|1{t|C)Yc8%-tao=x8hhDtdn?{gYIx`B)3@64eV%!A)X6wLlhjI<_l#OQ zP>>RH)QeqUNzQI#YHLwYvQ;Oa((akpX?E-;KIxTIP$1!*fy4}Mz#zh9EJqKRT5AgX z@cS!N_4A3dReij7u2-4sRUcHVG>Uypjx*-2Yy>5jzL|I?Xuw8n6&y@MQ+~~oh-gn* zP5-XeaFcq`nYh)#=Ub*6N&+q+DSg9Cg{g=^K|@v?-ib@A;Ha*Gsq)uX@t0;W@~JbK zq7HX-((QORA#H@o*!K6=BB=f{I9GIpxM7XI=MyK28`k78&cSiveh~1P_X!`h=1GUr?g;e6+6(^6|3+B@OO)pcK!Xir=-`*CimJh;|3bK{;YNm-fyePyF2Vp0%oXW%%c=9q zKf27ab!emmliqqk8)R||I%&wV9rM&DQsM+kTx_{|a=%z35des+k68fv_hWUYL*DEn z-A4Ov#SW$L1N7Wg`o4*JVQT%B%^2fUo8?MRYe;uQ503K(`C&+lWGNOr!DL@Kz8yaY zgr@vJAe+!>O((F-c-!-iEsOa9BZ|{X>7L|a;;ey4s!$mP6^EiT$Lc+LZno#iggA{p ziR&rUxMMMaQC;n8e@=W!n5_*Sg_+jkmG_rcv5a@uc0?3DMB5sL?^yQBe8ZeDB2EXa z7bCyb6n@f0xvZ@FEz>@xUqnZ3AmT$*g{%Da?F(TMA;bD05ljr>srBnx^H$Gq=l!Y7 zl1ONEm0xWbcCtl+pU1u+U^DU9Z?x@92;GqM=Ra1wg&(CW^@yrs=C+jYU_}dGb!%Cg zLeHwlTo_|B`{4Lu?=X!&6CgfFr-@Rko>!TRI-la`_lG}tjsWIyu4-XuAcN}&8VfOxZWw+N9Tf2bpGq%qy9fFKm!VNV$e{0vIm6sk zeB`)6C~9M)>D4jp>#YdL0Jwr){>miKBwXU=CYn%0q|2C?d(uP4tnwo$ddxqkT0{Fo z#!U~JeVx;}GkETm_kAxbt>q-~6T@qWbC?eOEa3ZKsTSQ9;e+Q%-#DFc&zhUiPec1$ zvy<=8-_U~;Xse4!c%v`?F`oDqXj^A}J2e-FPmh7Y>o^YT8b%79=#uN98X^${T=izn z#o?9rwR@^b^m+QwGw{83Qay#>PJC0+C^i`bZms?3H6OKjFV&bnfyw=Xgddt6+k-XU zw3X`NeABbd1|vojuow-c5f0mpP_@4|1VxR-{OtbZr?}Uny^NBwvO)L07=a?4Js?t# z;(o~2G(P)X&>TR^TQYsOr`tIa>t3k<2*f~no^tJRzRxTc^h>$=v+zfLSS;}SjDY1{ zBg;=(ms3>&j0)**Dm`vkpePRtkF;@rmn7Z-B4ShbURPVt2LXXxBl_T;E7|;o@b zj^E?QQg%c{dnZ3IFXL+H9!!%;I*3J}!k~svyaR9~pLnU=xA5(1^EO2HJ;aHbUbj;> zNEagI#J%Dv^LU#=y4I`OB};QnHzD)r-u{l0+dubx@MQ104j7O9?PbKWpyke)oZNG~ zRf(+CL9eA7NRFp^u~!lLI5{(K%!)30HJN0(rCNo}6Wi9f6KC_C#>b{llwN5IbH!_3j*nvsjrL*D%ZPAFOpbRM)3n58itw0u~Z(^ zGE7|0o2bP~-Gc&kBb)S#c-s-&VA|=>w>ZuI5Y!*H%uWi?qF81vsWQQ8}%SXL*aI(!WAQtM+x2dVA8hGjNp6o&2z(8SWbI2r*Swr}el?+!~-|ua!wr9kbsDyzT65coTOL=}~tsc&_{Hi5QP1^xM$Y)EYypjl@xEVinEq>2lO|miK`2 zoIQdak3*F8s-V!D1^KV@b3??8 z9#aq`&-EwF>dBPUvU^)m^%-%J(x2w+Q8}UIYk9+43j|6G>fV!wSs&!Wieq)+ToSnAfT0JIgBbW; z$5uZ&spqF5cXKP>oX50kY*r9;ar^{vI@lPCFbhI0O`{s+*w?^} zVksr!Y9xN!?rM548=>9j#q1w)`HNWxv{ts; zS~e>`hdu>s&M!E`rdXLSmQ7$RTXe5ZiuxmC`>A(-?d1Z4^qL`%+?r`)VXm$@PT!UX^%duYh9Y^9xFA_ka%b)aB{|8s+E5Wn|1@RF*v-@ ze~K)4ymY0Ywb)|pG-JAq5yMvLS8O6X*7pORp%QO}U#=l=mk#lIe2Jf2cTco|?A6M>5iixk zw73HMV%vh+=m-iv8Bu5LNXdpix6(;QFeU=vs>N8Yg$~!UEqVk?nK0BmHA2HZ*YVtV zQr_fKy`R*hQk|YE-E5FWKZauDCWvSMz0G-r=*mpJ?W*pw^=h-tIiE0%(|LhN*OVKGk(Tm1X-OL#5(OPrBDQ^BLcpz>5aE3JoTvE5+PZTjXDiRm*5f-A&L`N` z$9fc5)bvu+n-R)K!=_g{6FID*dd+Gnwc9*&lMG}dgYVB6Xw$3b2x6-2>e6a=$*F-G z#6^Z%Yz+k{cS#Wy*PzU+*>xb$fDF>g(V8uxd6EK-kNm_jl(=2G_i9<+xFk?Ju9cHrmxc**Wi{k1kURBzKKcA0 z?tmK;EY8^GXg~uZF%!o4BUGS@h=72RHBQxw$AR|s->gSz3B?JkPCM}pKct#?83$M5 z_lrlhNO#^I%|xGe*2SR=8p~KUk-~S@K&8>vJRjEC30J=1c-@@r{Fve7Ec6_NRFm>Srbaa?mKjs`%vntjkJDP^jXZ&o%!@5XLz%}L4TNDP_ z&;sU3+3xg}a0+tGf5;_$E2r17CWsVfeYJK4iCsfmk5hYQQ`$c&0ouT&4_P?2EF#1( zy{Z_ERPnZ%SbC9t+$)wOBg20CG|KxFjvs?t_Eb3Xpel%8@+zwvk&9!LT@YtFla|(KR!$ zI-v3ciq))rB=~Mf#dthWf1caW!#(}@<)|pimKqeiWp?_Yei5W6%$@pH_RRpGWpPpc zvMuXUm$z!y?_8)ey#Nw0wIGzqGdBdOEvaq;oriGjFMrZyRsS3)f5VrE@}RTG&wjU8 zec^rQ2tGX+w7%UCq)h`)`^l!x9eVyseKtJhwO$Kouea_!WQ}(l4qaqcjxX@`;=z#Y z6{8llFQ>!28BwmzNtmzIoHfgfUrDuaUUh}mANo91Yq|UU$Y;gHUAwW6)we$Lm)i#R ze_*DJMhPY|{v^e)#cCNEcI(ru?vLCoKEUYhS$3KG{wavFvb44Y&2NDU@3*Sqwn|YW zXXhX`E%~Lo9;IT;OFP5Zl^+#^RTi7gQ#_g1+gz_<;PJEhZ55CDeocjADJZ}Fw8fy& zvUG7{?A+qq+_}TAY&dMq;7E=hSpDtc!)j>%x|jcl$r#7IGbEU3*#F%N{o_>fM4sQ9 z!d|qSV%sxuG8A3N+Hx)D!5~@2D%KWb2RC(5GKV*tkn;)!+q1bHT zrr`~^b8Q!+Um?Ib3+hDoIP#gGM&m{s>}Eg-1;udPjE_W3xZ-{(66!ap`rLdN5jN1J z+CWS_`TlJ1j$gfK7$9r5b0 z3Xy=e0qh)#IAwYl(Af_lurC78zf@EB(bl4>7P#~F+0Toy|GD`0Qt7)%CqhJi>@nH> zRX!UX4^1q!9?7`X>&Dmae1Nh&hSL7M%Plp`I)`rW4K_J-hasyAny8M|H#4=tMyPE@^{6$bEHYQoQpUAgu8hpGpx#yYU0L04h2p)o5pz~ z`s@_h!5zBB@%}tW4lbEWkenF?a%^UuwdGbKu=qegPUEh<|LZL%OU?)E*JV0TxVtfe)})sz?V< z<995p}i!Jb5^u#6)4EC>H=XCcU~3#{^IP>@z;sJGi0kMrt6;3;J0)N}e|K@~+@5 zgx{vqaX(;BB8JQP{^Zf`pO!X5G!Uh?HytF8Qiy*;7u;u+|A3&_<`9&>!SGnGg9>ec z?XTnnY+R>{FMp}ces)*uJ!*V5rrLA|S>z`c%KbYtHd|+lws+9o+8(SHg8Vh3AHY@B zxx(A;|5y#&|A^TCt+V~t!2Pp(t|b?iSGDrQ5&h-r{Z8JFsh%q}{6%-T|FeM~GgQjH zb2@rvGtjkS^D-9D8L0-Y4Jm!!zwz(O7Pov9?O|wU=HFZX2B}Zsf*El>(clQC6OSjHc7_xgTIzV|ZvVJ^> zX0^yTuc|T~+*}wlTndRskGR{>FL9TfQ=LJdFEkckN?4N<`7zz^_-Gjd&92d?4w><@ zUYc87*P8{LTIThXD47ap5#Jo^ns*F~Pw-y!|LNQ33wc0-`3Lpgb#7tq-Y_6hVlhq> zqb6kW-qH%HAqYG2jDipn%%`gq@@;z-vT{ng__=p*_UTmQjF_m1L1uwn-EP+0xnT7R zZm-5d@7?m8Fx8(}sm*|Idn&V3EBH?WfpKG~8sdT9825GUDgAd%MsK$c(S zPQ_Pdqx;@8wm_vd3xD6j`OUc%WGTYGJFoQQ>q#*m}xequzeRQ5)q{TT)ki zTgzx!IbL8+QpBt!O(xmw!E{tbXgytolqMe?*&4%p?R=F$n2v?_2P~RE(Z8sqVs4 zH}7M-1acMc&k&B9KIMtD5w5VSt(WTVEZB6BnxP6d_@+_rYa#Qi6?-MD9_(B8ZgizD4{L18ROQU;j!dN4AEB9hN!e>gYR!(esBD(T#J6&SJd5*s z91mKx1A+VI2Au^l!>VZPgs`{!hrjHA5wN?BcUPvp5feRpuK<9wG*fNX1Sanx-YB=M z8rO-m!gfreczxfjL4>h$eXL3Yndi)c;zNj?51j0h74Q4u9bZJqA6$uQJXC32BuH+O z*Vq0T=WUIzyVqzpf)9}O`2k*y0Iwfu^`m@(tiYX}yrRgv>4Jtp_&tKK7HvaE@LSwU z_obT#cIu+i(xZ{xUoh*2P&}h|>|_4G=@t&mZ}Q?Xy$e_wFtEQvyl_yP$#d&}LFM?+ zCfu+Xv@rYRi7F$(bSE?WE-X{K+|!dIPWvn4S%wL6**@P9c6`7=BiY~$rzvil%*0SH zZAiZ#-~{Q$&Taif(i@nz0PN#H`1)w>en~S0?ZzGAKmmth!~YBL-^OAosd7Gy_ADjV z5)nNe0fnAmuh|K0GyKM$x18MWHfuRmT4bjl$Iyq6y(5hd4){eb>{ zQgEQFX@fP4IQiE1_nO}@Tvu;nMxZDu4+cUk# zsTA_Sc(s~an6d`z&NIPY-mcvfgpZ|^h;2G-*udiZGr!5N)cwcRphdq z)5$HW%1XWqliB1E^D!}V5JDAlr?O_ZK!4OieP9*)`cCN_CSc`abJ&~TDAnt2RO!A1 zwkN_L$Ne+oY7^b?h88~dfemJPfuZ!_Rm0p;(}ds#T`rknvrn*_PS=5Hr$pXvt-0Wh zd45PuPRq($ukLTxx)9FALc@NG-A8)RU}ygZpepq&g3IDo?1I@ehX$_K{H>WT5(a*L zUc|wL)=3TNz7_33wJf~Ky^;M{j%BMf{By6yYP<1dQ;ZEsEWNW5Xf3R{U1xy!y!f?=Qv2~b1chA`VEXbhKD`G3y>;Oq&ysfoHK(!Y= zzrcb>Yu8Zbl4USQv481Bi3@o~O5bYk-H$2#X=_ouVu@)r4e)okZp}xsqz4}#Z!V+S zIn9UXgaj#}IdQyE9=tvG(cfs(%zWz9t+!+O7jhbWEO$hEr6i}T^hA^d#|qt|A}9MN z+*IWnTqVy3MG3!1tSgRImCGX<53{wxAi5wLg*H_tSdy= zut2f@l#?IlE?9b46_7v$B<7j<(UPv&`#*!5ZGHahNBRN*t+tmhqE>S=E7ZCMR2 zCJ2~5GNBg8(OQ=yliR474eW#Liq2Y^mN?^p6E?x)Mw-hpB(Pogf55dtxVbRPsqNW@ zW(0c%)ta@V@SRoZd84-ag7==)EP!Hw8qrZflxKPzU{l zXmJYV;)5Tm1HZNuI1UT)a_F}#|L2l+u4(RYZPQL+@?E|=wv0qZK`k>EC)ex=*=)+_ zpI>B{Xj5(#9196X?$tggK`-WRmEXhj?*aD#bbB6zC9GBT>SnW7a4!-QyYE<}%^&k5 zBtwuOE(v_Uu*(5ui}&nneK9Xs(0NsrFPDHaU!%E?a-%H`Fkw;6?g-yxRjQRSt`lW( z*M2CA65%asaBz;Y7|OM zq?hYUhLYG{+nr=^aW+WQFfP`I{K7^-E_{p|ZzCB3f6(890CarO)TL(TLor8&S&qaX zT^rLzCx~P{s165Nrb{ccStmHVB!*z>8G1YMzCSI1yPh_A0ww4^vQ+?(Fj%>q<-ZZAKAfXJK7t)%Ld z^Ay$v0he`8TukO7#e)-@LJ@kGU!b^~OfR#Fyu`gQshrCZ<%=}Db>ze}9v`I{EtX)! z0$HNMjde3QPlbyqiI?jn;2K+*FP}U+u+~B>my1g+WW^?8 zJViU3vz~iibPHN6Tp!%}60ef;7pxoCP*4!tc^i-PZEhv_#}4|fntzLh+A(7L33io8 z@v+$T5&>3yLL}d-?Q_cc9(Tv@tzm_^G;EumT;YWE>Go!_juBUdL>gkZaH{cyuS+tvU$9- zm|EbLZ^Rpy2wF& z=Tf5f%1Ef|+J@@PN8i;>%Huk#_eY(~s(_UtE~-cPJ85!Z$o|@ed$n2~2Jiy%1D0%w zzHWe>QW8lTd}$%`9OP~t8m8G%VO*Cs9&3;6k}fsYz@URoDsXzZwX_=LNc!Lw|6G^5 zygDf*<>ACDg+rY_erH%vR>2d5* z$niz8<(0$xobR!|sOyqOpD8y5xf;yx4U(KvZWF|M^Y^*S5K}vHC!LNOfrq}~QtHhI zFTGqDq(*j8_Iq`z-9pPzcfy<6vYwf5P2e+mg}oATpz;c zE>>?OQeT0}u{UKlK%a!3WjyBAeP?{CT;ZtqB~&DIIsJ^99b%}05^@O6hmSAd1zDOA}@6+5)a+Z&>7exG)t& z^;9^Hc>8nH=9GX>+ezjVx{B3E4-brX4?Nm5cjn;PGHDk&~ zIpyn!umrlK8^{~KqIeTNX^g1T%2QbOS6>@=%CfALdTV-hQ+{2&s!+~dUurXc#D4pV zHp(+RyiYEWzl>WXJT)*(=5}eXS+c|U2H7ybam7|&qEq!5C^1-WvYFl@S-!?q^sECH z(FHH0Ov=_wb2r}@%NbU=r@7*Gy%Ug<0$Md|_x#W;LaPvUp@_1SmU!9m3C#l4_9ZQZ z`i@l~UM4imW<0u7Ev|xnCIWUW!JWQl1sSuUblFrky|eTF=G1Xot-;m)J|?z!D+uUWskR2Ijs4R0uuFhnbE}~wq6O&H; z5QWusOO_{G8YDf1W+;ZEZDA;e_(>((NDc|6U1ushT1%fLE0CNXySjnU%~yN+&bret zNe;+qe{2!hk(#|}-3qd0G{AYnGMA-iInC z)IlGh6*6A2$9UW+!1brnYCATxf=SwH%+tLxnQyp~BB*m!ykrU$UuvsVoOyD!99O)G zunkd`5SPN%jm0nSo)Tg;r(1W8Rko_orx~>zT17Cr>O!E)BwNB`glXi@49W<96{1|J z*ln%BU@kh3@EeyVMP@cBpmJX^-tWqV=N88#aAIC~qGDJA4f?ibH{%>N6#^_+cQqcY z-}rDVQ}y=yVJgp|!;kdIQ*5+;Ae(XPy$S)OYF{e|fjeFDnhPe+VMkl|en3@8rpMqB z+_uh)JHMW2f4)by#ZE^*BaCXxXi>RxT^O20F&VYZP0p{Oxy@xZ@O5>e39W|8>W0PI zZcfScEQ5e~-?vxD!TL-w^#nAq$^KSRU~=T#dS;Pz zE=G$lhegcby*SATg_axv+ZT1vAz0j2N4-jFk1K#*=}Njbxe$gbBziq#U?es5BtJN< zn9P5&Hrm#PqJ4X441ykIczW7I)?XDh1#rr3S<}9n&jIHGZ4*h)+^!_h#Kmfu+3y12 zS3KRnH%9s94K`xc8Z7aH3)Z=BMol-xpI}CK;bzJ(t$4UfVn}*8GOR2A?C+e$aJsK( z!{B4ptQ0d7fjx}-IBy7Nys`*E%lBjM1lIA{+j>n09#^ZbOjdFuZyQGA59duky++*H zMUy0vt}?6TqHxubM0!-XG;_5h7<(@qxhTpI>Ug9r5*^XUZOvsygJ) zo_|3yz&o>UomyA~gG>7AwnqrwFxj$bdjMDckDrG{|T zZOk3LoMGy6hP35&%=uw~LUY+Izd|>WH=6E?gD~pxnkqu=F()>|H%%r^g*(8wi|#+P ztaR;aJW4L>eVS&c6ci!8^Ed-vKcSKUUl%M?nuT~B<^^)~N2txDuNGs%rSYm;%l4Hi z`j4(5py1!E3tSr--IE3ZdzWVc>Ug$hx9E=dsnNqY_iObEb_(13ukbPIT?6Pn8JWCR zY*}KkY8d!rX&upYVk`3JRgF1Q!bHg=_Cib5FOn!%w1!p3S@`^;SvtU!Uxh{@k&UleFt-(dT3~QO%KL6~a%e zJ1?41=q@gdu*FBQ5eb%L-z&ta)4TBPbu(`iJ4movJAZu@wR83;U8PQtT-xsVyI$H&>lYk$A{uP%@`IbKnEuZRL%HcLNJnTk$*0(>IHQ@T)842(+MAAPOnHV4lUU*NNC&~{ za}qieHUJCG(s0|1jIh>`37C3GRP+e}impnJIm~lCgIwBSJxQO}xt{n9xWYw!JSxZg zo5Z}ehjU5j`m3I2AXPmczMn08tMI23>JDpkW+l%>-QrnAMz8YWyIlMv+4tnGStr4f z6&a}`&=Ya+3E6}J=^TwQe6MRgJ7At3nYRGCyi7r+j7=VavZV!-NJ)$@WfFWhC^1@l zzO)lHiSI@S!!RzEbCJ`9J3&sqxb!!di!zCVgw@B~-Xr4@0T%P5@0-C$w_zd1!}Flg z^`ZwZKrKg$eqtuZz(ge08Sz(KxpT@1rM|%eUn=ujs-lszAeJG;rKYdFl0guIbyHwL zklcZw3I}(Qa4QbJ-3e;Scb$`y!?mAaXY$bUVfn+?i`16{EpJN8idJ3m{NmkPXcETM z9Phu#VGGz(@2p6kH{zLp4cz4XzQq4T^ote6R73=W4#$DTX+yEDF^7PP)b~Vf#&@A> zDRC;djuTsc2SQ#)U{t zF;MSB$X>mDKCSGD!!|%VOYF3I=-E^@AI2E9IQBf}w9i^n z)6*Q{14ky{(BEt+NT<9qE_!ai%1k1?HdDE!NN&W>W4|gGs@T_{Y;POrDaU;>oUafz z%+|M<;3PZ9M9(>rOD3>;0z1~kf_Jz`9e1t0ihkY$BgRoFc+~I+k(}DLRa{)K(xN+< zG&M`ISWDTkXiL-W(4k|;V)flul2uZi#H#;`y0;E%tK0TQsZvS{1q!qUN{bc?#U0*4 zkmAK5xCNKs-WG=f#fydF?(VKZic5gt7Tld1D*L==?|sjAzVnM- z^Cx4NZ0$}X4ZUyn__95to=qR(MprGAj8lcmSFx#Pww^g$b74QME-{qwDTHWzK_41* zFiTOMUd-;)spM2*e&yYRfh(_UolLOFd?@~$h1CuadlqOTR`3Q+ge4`YmurY zSN!Iqh!k8o&y-OCA_{V{p!wrVRJ}Vgp~FO+GmS4CO)C3`oQc{>s#aCI6%+_x-7pT3 zE*3cg{&YH>BPd;PlU^L_L<@NGE)9?CsCo$dq6Hw3qah=a(}YY~?&85`V5d=qn}2{W32f5K+qG?b(4&SU-MExsIg% z&aBRLjhhWhf1+PEhWFV!0F$ngX66h`N%NE!IiuXLB&3xw=MfU3>M${T|51E@X#$a6 zbus|c#ofW@?hpR}#;1=xHjHy*9{6`Ig&KSi9rK9ATP7V(A*5G$`jXGKP0zsA3cDTc zhkQ3+BTx!(a&S3TlOIrjC2yx(vJM{gq%;JIu250~#xu^lVUIklwyHDPC4=v+0)sbJ zd$Y7`Wi$wmF18+Fe8;;da7Yk_O~SEl{NBG_P$r|}3&mR|<7{+5DtZnfVc8qbtvW8$ zp4~g+DVfJ*0{sDuC+7l7bdnBLLFR|ll&c_z#pcMq%6A8GF)8HQ6Yjfwq>av%VlG$t z4S;y`{ABc3$zbJHh^7TlQ6N2Cfx%TG5sw|Pox7KW@tX|)p?Cw0m`n42cmsZBA*a8w z*U`>{(hL|{h>Q0zuBa+;TO>uioR2904N9iMwFCs4e z$kF&4D-((+zrh4QLMi^;Ce4Z5+ngwTTy+;6`rviahNmJUt->cC9&gdM<;D7D;f9Lb zwz}YZX&1S!7JH*AgvqsEIL4?wUR=4GMa~bG56kycZGGF=l-se{J9CSO(5858Rz{pM z0NCm|XQ;T*k<+>V7PQ-@1%%0iBVYFO6Re6Yk{x1`!d?m}H4;L*Rty4LZj<;EKM&!; z6jFs1tQm}Bgm|wSMu@w$vt%=q&Hr<5zwaBUrVu<}1RvSrzi;!4)BY~;;9-?|3?3ev zO!NW9O@8>~L{~SBe&{V-_+09vvZ!V@-DmAWiSM{sFB0vJ4HOYjhOC_(YdZdDO2<=( z8J#?TP?R348s;73&>s#wTAMR#n9ot8n@Y=*B5z*s9{JPV&pyvkdv!-)bUa2vi;F?; z`dzxKB1DJh!o^swbG}jj`NsYimMFcA1cSoL{wli?FXv zpub<{x>-Aorco?DGkwR`+SKNGXWHUmeBK(Tj=nq|cIwvEZKX+?f%1aP`g?ykp~vld zYwd?qRm0xD@I_!xb;(jKIXUPhp+>FC=Fo?JdQegNUoYkvOzht!NjNS}!LsPU0QFMp zik>i&pK-nRN8xq<3<-LL^^8OFb=F9Jfyzo{8TbRy>hsF>IL$_N{{#F;+0~mIi;uvcRu8MlAUl068AEfz)(LQ9ueyGLFj_Qjy?HNnHLd(wJth~NVIrN&E z!PT-!+Rt8-bCa3o2|9cn7D%AHUA}aV{{8{QttY8sALrc#7M{xoPOqHuHSTNg!l%I% zr&Thp8$%6OgC5sPho_5J16yhFqL2SLY|)qQ$hfAitONU(y=B~Y^iL$HNiWWAkk^d7 zi1FpKp6!bn@WTSaC_(|W(=M=U!+v^*-?{cxyTJsmPCF4OTQ9UQ+Y+ z^Hy2s?@l{x3tZ_rzP$vz`l&DZsCIr;5j~M%Mw)qraW{lpO7FVOCX}&Z?_eRs?HaD- zk#^iZjNYckf3jtCj_6O+3Q#{iP#&YAEbfOIJ$Bn#K@ty<|GvM&a4?MDZqpA1>KY00-S;4hQlC4 z{fo2B^E;OfC!x+aT&(G@m(gUc3;QaLy?~+YYrexPG^9x^UjCK{!=0ajh?7&mk-F}p z51ak!YWYC&EC#Rq%;&DJY~5hmf}{RVCEV~Rx;q1}-1ak*^{eB0Cx(kb`1TAn+0kx> z`xagk<3+d37|$EW#Z6^e-{00ubmUsP*41EKgZlOxH1U={RjwEQI91SB-ONupJTBAH z91zz{JX+gp{;pan$J>lD!5UWwYg(MA+x*KsmpRJUurWk|!&i|%R(7l(m)rDp=O?0x zPV+?$4Tl*AO(FbUxW+He8KHr$r^nlubJzRJL9-PN&Uz-hHHTP3m2ZDnHN$E>Zg8`l zU5`eb&hTs-g(P09UtIAZ>aR~Y_|Kzv884PUUK6&J*+E^GQ-VqLq7gM(2-%=Vzh8A? zKk7s-r+o?PYnR35LH`-TIMQo588O%0$&SR+zXoWxuTM!mmilK(+~zW%S)d3X-{0nY ztUl~PL{ht!`~2nkw(I%T0;$Jm4ba)u+AR9gJBfVV%T^cUQ$Ng_ZgDDrNQR zYPH=PWXaI5KT{)93pom$ymUYe$*tVMlG#~bfx2v1GhHl?`K_KK&e|=t9$y|^e!9}S z5UX2Yd-IR4;Gf{xV?oq&Sh0{iOl%PFSO~PdG~+y(in4=V%r+SBPrAFjmg>YnE}j(W zb*z*8vg;B{p?p3-fzcDr0l3HEG^%&)!DKUOZMb_hw3zSk7TH-74owM~a@Je>0rd4Xg9Swi=v z4CIUSq(8i~=iY$UXZ_ZZOr?e+beGjY3r2_DHU9vK;l z9r@)g+j%fyUR|n{Mf@v3pvwFGyX*R6b^h`X<=X%CssFrv+Ugx5GbbTsS!>rDj{uC< z9wP-FT9;Zu!RdU;$D`MAF%kEDULi>`FzJh`3 zgKnxy^7GppQ<62;aR19ecZ87eC~ZHxIehlbvwHiInb&B;ojR51+wN%)(IeHL3ME+= z-#K5%=JO*O5)li>I-zlyO8Z~ZrT@dN{$H5VY-8!lYNE17zf{*)pVP$`?o6-rB_Ll` zYN$M0+k%Eh@I{obJSN3B6ps$x)>HjCaY8B+dYF|RutI~FI^sHe^qarqQBmP!E>+*(|Cd*>- ziezL`ii5Zgr)PdKY5Er;wyu*b!|#EgdnfSs)SRS44e#HlBAmvGjv0E&Md>1>%*~a2 zuwkTsb5s^>7u+GtoDf|@Nm_g=cq;7*+K3fOY*&d|Vs1XepTaaGX$0fOnsBWRi`sO= z>FEg@VwG}lH3X8A>2d{YoHxKd277RECP)BOj0Jf;F`G(Ia@+HfJmuj4tcb7Um-yoHgf} z`N06K5w50Ivudw!gJ+-MD$Tqq4#w>Ke9^LOWP>He>u(yEsmCQxClr*J;HPG^Ss-)X z4wE(UP-3-nluUo}mxeg=P88wYBpS!Mj=somH64)KDe3#wA{$sN=geIy6y;NFuN9POmlS4zz~6`?d6GN}q*7CT$Ye%TLX(QDJXbh@Sc=(B;qRGO;z zv)K(|OHq}61NM%X{Cq=~HnCvtKMU1gDl%hV!3(5K zb8`$HR<+|30>i3?dVTAUG_463Y0SicwIeLN^RLOGN}!vh+~?YPqYvq*Eqw86uMau+ zcqLM^{IkU9%YRI5=MZ-d{LU0+wT(@dXHdAx>#Rk)_SPCTIFBnJCEkl$pBeUWyL^vm zyFNLSDk&)+XN2@ufssr$%5a^#IXZw|@fTIf;Z z$;qm>ae|-UGf+6kvo~(J6_x?-zNBZ-pmK)R@45s5nTPeK|02#J3M>4#OIli6^u zoz_Y-YJJmw_U-`tuws-aU+sqi&Bfk`u#>mWUBv14PNJ1&RnCoHvE#2Gl>{)N(k@D@ zj^_#cO@`PCIl2l(dHX}d7DB~XNjLTa4zV77L}|Yfg7Rs*pSEmP`s}c$+&h!Wrl(oL zib>yX#<`i1G`iDFFp#>R5I5g?P)L3NLi3#6l-3HQO!&G^@}QABo_dOck0VA`O~j%M z;w>DDi>Vc>80&MNhctc;QTw)p6)#9yB3p!;OKp<-&dj{&Eel%*9?#bWZYwR?Tr^d> zxWX(I3$ZTnY#{Qb;Nj+H(I|GJs)#3W7q=i6Wc)~k`V>QmTn6{*+#@?`N<-c7p+Fcj z4x0*bz5Fe$5|u6P!WSOJ0TF&)qGfm*%Iq(<=qcwH@EoEedG(4<;5?u>323Y=-tM?Q zZ>Zwlm-j}-$On!@s$`Vm#34Y!XoGfrW8>|Ij-zo^bx{yZx`tS215sQxH4Sacgr_GV zQQ%P-3x{SvJ!QeAC({G~3!C4uYBZZcW+6YEXe?tM>C&@l7vR<4k=iljV+a3MUf zp*DI;ivA5%@I22<0# z{X2t}BDH^vshAwbx))27EDWsWPLn;A=FE;c9oSXX+Ws!enp2f##zgL?BmYs?N-YpTO+S=S%<)Y|h8j*ZPejgF>J>_>8MZ*yE@6(|yh+p0-4>>#Sl(yQZN?CvsqVFQI)0)cNUhP= z%^jN8B`{1nUZg=e&v?CjoM?wXO0ByAK%Ckq#^`0ep`~mPq>Aew`&P@rm~-k1wXSfu zr+##~MObLT&JU@7+|8+>){kBYH8$tdri>fBmm$H5hXb}a zIM2l^kp#eO$2Rr{6&Xn-v#CXG26%gb3=FatV`B(e;B%T;k|(FiC>&=(mOA8yP7 z=i4M%!#S?!ONV!o)c^!9<)=vseB+%hXfD=OrXUk(9SdOwMyZM5_wx7&b6oJ{ylk_C zD58eavK>^y*7ZP<(&=2fcys0)5tQ4xyO^65r)7-=xUGDWT?SK#B55pK zR&uw51|rO8kxoCDnu}m#H9Z^YVR3gz+B_|+B_2e&d>AkR)!>Du(;EBNxVp9W$T7Q< zS2IoBjVqyBEZai`mq(8z0o5b`mWn{AmWJ3lZ~WZXE|{Fs5>I@b1zA5lf#7IHP6S7) z^bi?cWWI*IRKF#r7=;g?75fS<(|4tR0j+ecgGr{jBt%80F9^!4R=e4Z>Jt$8iviS{ zG3>*@;bDVjD{R8C2@)^`X930Uv@uKg;r;D7u&^2JIgacnK%FJ1dhyNDQJdXqOw$h{ z&~*z{&;*-NyC&RX?B9`&hUuIC5L4cR*nW5U>^FC}Lg2{`_e2=ae2`Q?H^8mnTCnD2 z>(}?4@fuGZ$>f%7#h2mJOVUGYkCWk{#Br(-{nfd^$-$oZ*vri^{Aqra zhfG+Mdfr%BqC|H6`?4BkU$~U1*8b<|rbXB$$5@NRe@>ZgY7-XQP6Xvf{FY82ha2P7 zVcyY!vXLcD;nP%BK#K7f&z)2UI7n{+$`mJPyS*|{=XMHgXlug7fmOtt3`HAK3WHpx z>&oLf16#=aUi!w6lg-dF$L20dkOceqri*nc%*VWs~+< ztu89t`oJM0WUz0JBH?y!83~x1J9aA$`}8(a=7aFT4f z%z0zpNwFR+A6gxXh}p$xpB~j;wq=l^*D|7OVNTtIYgn-gM=jY#IbdUj)E-R=BO$J~ zwD0M+ksEt{hEZil^+#vhQ>Z%Xqj^ox@};hU)m#N<(b^&m9OG=;!)DA38INVP1BS7f zaw+gsz@(xI6_}+JJ~}G5PsiP2UaAyVHQ;uJs?wezgWVd2Jp6VyL|HxleI_urnm3wk z8{<3*rd-iUVcB4{HC1Jk*bpurROdQ}`q52!I||dEX;(>F24*rbkM>fEizcRTvs!Pv zawN#No-sPzfXq#KC?I_qR~g-c?uD@ll{*h)&fBJ6;QFG95b&iP@BV3$(}hYMc_yJ$ zsGam%rnKYqL02;+kIa@2XXtNQ=ue)Zah0 z)lva{7~3a^Zin+Fxw}Ik)h=X{gfhMy+v6;E&Xy!S z6Kz|?X;z7ktQyL;qfKuk8{CaE3Tl$`jns(PVl}sj;!2cU{9nUYF&;UMGVY3fX$V_{ zIdDk%hfJ$1*7DsVlxQua8jKJG*-24PcF3zZ-E3oQi-E1Npo`#E{jf|UYFIwU4>N~^ zy8o097e<$!4t#Q%^u&hGb9c$eP}pdi znuwHD3YXA)DDsYk))X>OL~-J!WI5H@s-lHtd&cTr?^L|*1P?u2Dcs2o6ASC@DoI_E zkdy#e2Ms0_X=TM*7myfmefluuq(Qd<31Dc&vuvo_JMEvMp|9GRXba&zyn-W66F~%5 z>oH)1a2T=_7st}>{_WtM>AQRfLxw7vPrTA+51|YK2~IU7C1Vr$VtAoDs}Vmuy5*er z1M=vU9p4ipp6$R}qR-~pKdrRo@0*W2s_#}b!wy-xE8*@ZSY+@>UXQ^~b+uZr&?Wk34ufl=SS81RD zJQI(JSRS%H#l*QfVUIsCS$CC!;a@v{WRL%rS7^`~%McgHlQAU$;D~B~VRi&EkWB|t zn;CcEbCw-nRN9Kg=9f_2Kj-I^!?FmzY?*=!cJ+vo$rsbZs@LR><7vVB>237~W?)OJ z^U}r1+7E|^Lbe+!L03Hbj-c>P11c~98w%z4z@89?rS7zlLsaj0`ekz>oLuYqDfZm% zCZ@nq6874j9Bs-I9OL!*&-%q%Z)NoGP)}k=U%E{zgjWb+Z-Cm?hPOl{#H%Wdjdd?6 zNXgr9DUy>#Rrp2S*BGiWQ+$&LL5dS-@&gU5-+z=LydiyQX$)cQ zL`tw4=%5-w#ch5w(4vNzu)}{W(qFVs4)$iJu31VUV8*~yhIVR$zPZ93kVJlFcd%Mj z1>w*LFATK7D++|rh5{O>a3VKOM}iaFp7&X)6y=s3M$q8|wc@Rng$R_e@~{&Sf@J)8 zLCHcE+c%3WtDTPCaO(0rGc`B;1)!mbZlH9kZq+E(`b^_!lhRmi%bqj7yc{1)Q`@#? z)G6Jc#zw{#{)MqKKgz9!jtXqYea`>_*_7*%yx2-ktI8_O_%ST0)}41RQ_O$OMHL*V z0@>au`Y}mmBHeAKZd~qO;E|E0U-QuM-H*s12?y1jhUvPeK~vE8X2b)7`)5%l_PH%9 zeN%ye#XJk^kPNJD@6f$Tvhhm+Dd}jG38SBh_&*~vO)1E!YZZ#=9u@2ZmHkjtw%d2*;ayL>f!%(YAl#Pm1gQ4ddL=+>U()yD*G z?Nd>Gs#34%J9x~*PtpkWDNz}Dwew^z{q(dNWQi;rnMv6WSz|J?K9lJY2GmWBY3ugb zN1OVpDpI<*N9uu*JmtP~uHOn2ZVe1g^tVw{krx%_;<2ef4-?i7^Y{)56nv*9NxNOA zi#|IJX5ouSiOTrKP$p}*=|!jZirl9PQza9zbprTE$EeELWaTi5)+M3K7<5u?T@1`K zGx!Lw)YZq#?u2;V{xo}Pq`y(ZpNZ@wV82)tY3yjPzi68rK0qec?TmR`MvoL+H(Y6&+HPFljzkFwwgMTq zoNV5RO}+F(GBnv^_v0Fy=+feb$G2S8J9pf3;c(qFd@RzD;tqOy;M$Vii(CEbR?)MI$b3U#aa5&kYPr33;&UkwKHWv*_!T-1P0Yk6Q_L3f%OzShI(>Uv zZQ7VnWu+H)Ke5^w2wOgJ9GIRVa(s)1Ps8=nA5uTa@sMU>XU>$v*T=_x_sG0FLhT~d zqdbstDe=S~+hdK6+$BH%+oyg!LAx8g&fSXqj_?O5L7_GVG^~L1^p%&Vyy=M+k~ zjv}|kXV)HbvFwMgLf$@=#aqC85B69YZDEQ_rzEvw>-|krY+%Z`XuG-|G#^ZQJ!~Ic ze0(44@Uy0e z$tLP8`>!@f_zoQvBMB#@*<{9?q z&nV|jq~*j4W4UN0C63NW<wNozo;ZWghU%ZsyO>iQU#2``prUh&7k=edW$GbTEKV zz9^k($5ED#SkW$4uVF|7BOD@NjsNlc#s3VWzrZT1(8`+Hb))&opM5`{4?IM5YPNqo z_RHw}cm6DUtt=%cC#Nj;R|lop4<8C_F;;##kkS5EsI>p_c*l12I{sgnz?-oxJvlpQ zu!LRoI{akUyasN`-n#$buX{K2n(G;&VuZ(wkGq&_&f{vj3l$1Rc^-ajF*=!)`hxWl z^7bz@+D5cnnc63ly?6qf*$z)#KK&`0{5SUW->{SaG4-OT+Lkx8imYDCn8hg1-H$K0 z#E)l%fB6;9m)~5<=0kN72Xz*G#(2Cg|AXZFpVO1sYy1BNJ@{+7cz*ic(a^>d{vD&+ z_-;VK*!BB4YP&Rjrvej`{3oLAJ9t$4T0wTmrRQcmXdjbOSE%GAVV!wO!K)$;6)ey8 zCQngviMU@tKHA4S$uwbPMQtOsfAUwD7#Y+V4%>TP`Bi9@>X3fuHjCUk*qD{|P870*2Pt-_NM5 zrO0yD9CNyE@BSBHFY`a>4KysE&37T?)O!-&8&IX+13{XjkfNP$>syX|i^Db&bIKj_ zQLwzA<>s8fV@p6_Y<4Q;*4`lwi$vE+(CSGkI5XVuUvZTT8i@FjPrfY#xHd7+d2^J! zVpzpC1ss4?of{ufNm3Vs1mMA_qM7j3vO zWP^c9m-*;&g7@fbKKDi>N*UmnB=o0;RgbjWe72^RJ{G2=;@K_*#g{vepuP!rlse9m`(rX-=KukH1k=1H< z~>emd9O`nn0jZxv#-E}w=FG|1zw zuW!Xg)2=S~S{57=#FfM1*rr;WTKF1gSE+x;&(}|-&$--Vb;GkvjV?F7l0l}=VPE@;zG0HG-RTWrOOjrHrGTJX;e14{}@fJ7U`LK=7!{u|WWzj6qHq|;bz z3&z-ALP9jZjr#lf6|p&aej1EUeS!X)xMQ+of3d{#`DM4MNE9C%XOzv#|HBOh=WKm~W2-8p*0_ks9g%0cm4xKo8E2%dS!%&f6yij? zW$)#VY1L|6RTG-?KD;6W7AWs!l{q^(AoWKqfb{&7O;fa!rkZAKR9IpKn`FRbkzg5E zElo8^4NpnSW0_qF48E9J-Lk(gG%}@3OHHXPnOq6O#K=bc4|%psk01e6VR2w{%A|ij z9TB!e6z=Y>e+^6=%A|U+nUL43o3$y9c%#)t(Lp}YW)Q=qsy1138+vGHQIIy(++C2q zvfZA(^**56>S%Vhtv%UovnMDz*|N*@T3fO_u*H*%91#~Ez(^5U+xN{;+0@0?64@2C zSr%d1?93+4&1?mq9)g=K`HOYYOSPxt2Cm_2Q0vn7vzIy8apkFRL=vVW47FT0ol6dz zR^If6)Vtc`uk|cljkXg_ugr8W2a@YZmP3)R!T$Yqtsn+!-Ow5}nbq9q)FHudq+o5$ zIukQKEM8U*UQ^Sj{|xzUS~C*IR0L1)I?U7x9Fx+;@$`nINC<_bbJ7iyqwnh`kB^u! z=1z?cG=Z{DgK_|^x=tSb01sA$21Wl-zAxGEdm*$^@B7o9Bc7jY@_^YWE!U$&Gv!GR ztbDj7`a`sW(l1C>JbQzPjRyytfs5^X;%`??>C2p@1SZlZc2{jjEpQ%E6OZ&lAgIt~DJsI3t#fl5^y{a zl;womduSITlVkMQq`J~sY8!Dv{g>{(tKx{Zz0oWBH$(>EJmK%tRTN^1MFrtb56mDAC_)xF#8AbC$0*ZUPt7 zpbj5t#>0VO*ng5hI$JXg4P=tvtlj@fw9H3i z2H$GpxJIk7dTEhwWN_oHO-V(8#hT%W>zmMef6YRXqtbx?v*?DBl#wzxR7*gCx_YlRHa5+^KPf-G{ymS`IHhF!STc0BBBm z!N%(k?78xYBcDGAt-s}qi2Mc(wM!x&mglUaQkmv^T|*oqX^Ol>HxU8g)JTr;;?3KCKdNYP9LTXI!P3w0RJMT=xyM|)<&4J*^H({S9V~eqav&=W9TaXYTip$ zKF#VFjc^sann*vgwO6J<jt1}Amo^+PkIE`jk@@+gxl-7czJpIei)d^%ZU@_1K&dvyK?S!ziW25o zV1f3%`~Z5T){jxasLvI5o%-Z)NcOD)Xlz_YIv_gF);l0RtS*Tzf%t>7Ju5T+=JR#> z+I0-uRJnq^&FC>~Ka+nEIvGU243UUR3U!B4N-5g}%^;#)N^*tB z#Z8{B@<2}j9W|we=$4#^jP{CsWWaS(($xRADYdA1@7if&ooxn#rvpGxgZp!M)RpWO zGFZVtwdis1T_+`p_KxH^{~H=lp?b{N$(S2(;FS;O081Gbh59WfQ^spkJF(Ny^xA96 zr%qIrN~Rsl-!tXtKAv#2QynCtzYxLy{3drQTw+wtLdRPfpNnD12_~4!7}kyavguWT zTGXD;tU+ROAHP@=*9^w8m3hJxKYN6JTNC_2zASB`s|{a5G{xIs&onL~S2$9FLx;~t zQgC@Axe+gvHbb5nu?295m9~5`9lSW+lkCb8)inD@3ovRxIT&TQd^ZG99g#&wO`o%) zgctg%T1uQXFB70nk0z^`S_8LMFpMRB*t`5*+S(N z0lEZ`9s$Xg(u$3IYQAZAJPDbn#|nJqOl%nJ=a|!JR2;@=$NA!AEE%P|Q((vI2=}U3 zZ11Hh1|&(#@*akXGgHonI>h=BzRQPQ6G~?uSk)!0^%?qAtQDm_kEMIaHb=yR3U|4;Az0q8loQw^Jbh~D!dB0!4W6OIB&LV-L*Nmt3y<*9b@!GoL z+fr$#|EYzbp!&47$?LEhaXI9=j(PeOAT zW}?PLr~G!qWx{op!CV2vDxWb4?H2E zuFqaL7Nttd@Vb(Z8jMpm)2M2em_KR%hNOc^7UZEH(k8Ml7@i~dnAZWqxTKbsT_Zze3rkSgCZo7qzq!o81=rLtY|5}$vq=x zs8n(>&C2`c78!8pfjfK@xZ>vunK0}zGwA6JhypFB)5ZLAsY+FylxC8IluoLLY&DcP zM1r8o3hDlOs*@50bfQDdm^7-q28{cVEeneHc{jcUXqlEy{3~WU%z*4XlE)E45YMu; zxfYd{U3U2a&^vCNNb{8X(;YmVUHgoJHe4yO$m6QWxW=7F?~z>J-apxlhcH%6saydV zi5biNY#E`2X_U&d!!!E}=9Y((avET%M@Mc}sl-#n=e|`H-eEBzz;u1pD7&GwEiT2r zWvM{7wTZqN?X0zWQ32}Q8{DqO`bX1FIaMf3vX9;bgTVupC1-~-!RnQf@PyPRwQp;RU?P)L5Hvza=N*8l7U>~KX zDOlWQd{A9%y#_Entf+}j4u!M$2a&5eYa$?{!FDH8F)jn%wIdqKCL<(~t~vfzKI4`iUzkjC)nEqj-V-$~Kw%LM<(?LsmIStNCryDozMw zOo!YO%44a#P;&Y&F3_(kHZC&Cwzl&n4$a&xtO<{f5~pEBGMck@{p^ftn#k7REf!gVp&sy3RcbQOViA2%9tNp9M>HXG^!L5O4MMQIVB9 z(k1dWe27)avO|@V=`{%Xi>3B`V&wr59;zXLwoUxny2;Eghg%k{<2xEsDBY7s(!dS@ z0XFeRdJfK?HK>`|>NRm$0+TsZ4xZb9xWR1Rg~Z#1G;`6KUn6hw@pWU45?cq;uE@a5 z{FJC?u(Xcvs1V6SSakr=^7LndYvhv{Dx!E;#o&az?eUjBHj&#b!``cF8!Pj8;h`!j zqy8`G`_K9g&PHFJDQ62=Y+@VKZ>hZFT^oLwlAe;$(t|sYUtc6KXh?nsuZtdsyqcF# zD5Hlyt7>>8I%VdEr)hHc^c#UEyre;2+}P8fv{c;Xc0He9sgiG+ZCzbmNhBq2A08eY zbt?Walvc*)o%61Shr65|d!iNO3jWNWp{N@BoTR2YchTRE2?HSG;#=@RKCKyA3Z$gh zO2Vk^HI}1_#vd_T_Uqi@CaN|HY11W4)9Q1p5Ax8Fm}COP(Gtn_}Sxv+T?$m zM59b(P?eaJTpSb>0%i7m$P?1-xTX6QrgeW-NEb(tV(|)&2&goNN9j~ZC|-M z7R7{daV3a#5!q~Tm@DS)+|fHH1*Ym7qUSR_3OR_*G0OWoG4Lr%Uqn;Y_{rVD;Yj?t zceBC{E|!hLrTo(zO^(jhwM)#+VUJ1c?QM*Vj0i0eh7wtAq%*z3@z?8GY(duutw|fZ zwnwheC)weuN{+{#M9<#@m`pnIGyWB1Y{KnILx!)h)efH)x&&h<=hM2lGYH)t7oD(e z-!f-&6%+%;*IW*}Iy!fevyUDoO9`ue3-#*zQ7<)imowgky`z3l1A|xNHQ10JR|CuE zwu!DQ+1keT6eqE~bM-b33SPCJ{SDe_#>qB~$JRDACh>b=h(3e)U$&5!W#x23wP0V- zjzUYy#;W$!d>TP<=Zuqw&WLgEITF6t70<&l=2mHXvMgAK&WO*~x?w7Yv*A!p_bDvWsVIh0sxQ-i z42vb_c+Q-2>W?kwT@g3P*RqV@s_Q3Gx{|I~D?~oi4Z?ql#cg@*iAuu3j;-?b$>=ZK z>P(0H>gtpqVs7>}6|kc_nEb#|7y|#U72lZj`L{c;u`-yH$3Az4=_k64*0{BSGEwgT z?r-_urE2~S1w~R|V1VMiYE((ErEfY$IJQ30LRBewvVP|=3h9N}8Y6~TfB9v}bN?&; z>_7ORe{+)mp7rg&L)`qGvg6i-bt@?=JCtx!asMn_{PDvEv&JOH9}3{VrWo^MXY|tB zeF~;?9Uh?hK1CVQellh#LmDxkC_6Rrix=6bKm7dolH~uYm-^rK?){tDK;C#KO_V0q z*Vh4~`5NlKzS^$5#@64cL5}OUf9BtxA$W}EBRR5W`*Kq#YUd#2>ZBehXZ1kn*PzdC z$i0>o0T-JmszWxK$1P@8hcVul0jb{smW<4DH|P22=KI^>`+q@Yj!q!1FA*M>NUZ`r zw3voVc!T7n!Ef*9M{Z_y>1QrW-b2{Dq%o>w$wW5|PVV&Ru{k$8T{i76dLA##ZY2+1L(I z-{?SkI(A*1w>do1ZS9_XjG19>>9JBH!wY;%dR4eE2KBfy)jFSS3%nFKFA;D#8%iv{ za@2Tvr&8ee88-rM*)-#(r+g57yI8jWH`ptsf!u|IJLapc2AERVXTREz3W9?xbR3o=qc;34YGa5gOMVm6~R3 zFeYCT(muGC!cvqH_CrjdKP;V=yTztFSYchU{u1(iptfS~dY z$HRWU$>VXj0z4QNiV_3@LoQ1?+}Gq2&nigI$1OF^^Cl)HY`HH{)nzwDn^47_|H*SF zab)4zfB^lxj`2G!z0?$g%NF&uObI*Q=0gu+@XRwdh$Vo;mefv6^hl3J~X$WZ^;^30a&2tq_ za5=~+*iVwcH(@NY*8Rz!+w@MVA8(8Hn#+FUWAYoO#GNM7N8qI~yr(l;7>E1e;X~7S z1MLJJE{*3q(JWVfYohLl!v$CK8T@QKJmI;cG$!#hO>0l!d;|Ts?7sQmEqa{ae%*xGP^E$);Y#~b+?lP74ZCu> zK_CS$H|0TM@rFcE2w(eEGo$N#>hS{Nq@APws7&D7)g=N2fK=Aj@(KuCPucXlt;;7m zpRHva*IoQGg*X;P`oraCV|TO~$i?@*cD^%Kwu~p1%PKe0KA+rlJlO7|t_l3f5H3rB z3n7824GRlmf_MZp+rcN5F%EY~saJ@kg9?e$8QHC`uWD z@)1Wx_5=R2EX@4xIqxxz%c;M|DdTZkeBJ2)soOVdRkMuVX;-JM2+*ch_QjGgY+>YxSruWOS7uHBGcP}4) zmmR)|TM_%HxaEeO1+cVCvcGw{K9U>KlvSR|T+3dbk)C#5+am>nwk1aH*ZwwgqM`gw zzZ+`)tD5BEdUIMzmPmP$aYr;y37Laq@e*H4XO6u5&J&zWYVVB zSJi%vdG}1vgw40+Ym=*(p!Qd^OOLo#xkMW%zuW2%c1F#o?lL_DPj&c=Xz@&*+ zJI0%F{Y42c;?kKgZ^|{s^toAd(a@H>U4E5dK%@QR>HgUL$G-j@@@E0fRHt<7=$V>Q z-zCanXZ$5q`N&`>wKjOanfsTU{ja4zi;ry8AKiw+KP>T)e^eKLEzK*^*3SOwAgmoX zk*R=%{GCnw?U;Y}RrOQ1%%TLYPy3s+3#UH(6+^=3eDEVlXz7=xMjJUZNqYjA~Wo8xwZWDoCqlDh7^t4jG;><=VcLP>H^AMG4C>K|`@LPIO0 z{jEAei_9T|G=D1K=h-UCQlL$ka5_@<5J&ZrC_uJ@UdD;1F~fNqPHJ;{UJJgTx;O!E z_wpR?%hX@+7h(i;I^@S+FKy1G^(OE-Tn#47>`EE^oUz%+2v+KNP+*XWZTIm=mV7j~ z`|c@fQX7?{tKIF62FL1$6~=r8F1`1gS6FOp_&ln2GO%T)SDPfn=|1fobtqdR>fO$d z2v-mlh-!Pgw`7)PcOd#ZeczW`i_+72r!P)1_Iv4+*=xCO#xl;-9R?WabMKIhk_Ml* zfjMTl4x@rQCwBWl(h2>92U63k19gXo6BV|=z6G!Vulr&93LltfhQ^^#mihDfI0mwJ z<}X2e2|?G|;U6S1~=3IcmA+Mv34KpOXXsXl6z1(Ued9l-1?Ju3OFX z$md4}P2Rg3&b~o6S2hN+7N>+60Ao{Atc2AszW}Lgql+<+*-RS`scX-LDedSTXr5B| zSKIjPdFe1oe1`c3vCM63%8n|Qy^a%bIsJB0^kO(P&fA(ID5%9fPWNGOhq;XlYEc># zeLI{fOkQ3iGALhudPbF6G*EPI%w8-TmQqz-a zYxL<#MuaT5(EIp$LL!GVR8(10ky`P0G996lZ0ZdPk83Y>hVI%_yVsvDmJ3sLvOI`H z-!|blP1~L;lxyUmVg<-_Y_*ym10>W{N_uwMf+YCslAdWyxK_Tkr?W2}ns++T@w0Bjww#}!R} z@wQi~-m_Y0Vcu+#C&bpfEiQGOu*XFVhJFE7?)Gs9OMf2kMI);{cg{DM@))bQ(c+wd zSB!Z><8C{v%%M?oznp(Z+?E5+(D8`BnxH?9I;b!~*TM+RceyLkuz2g*OKC?!H zaas`*@u<}SyjUT6f3bi9SKC~?;o*`!>~VJZIgFTm2I!2mvA$5YtslE~^Zl9YzzpIm zgGx<}-lO!k`NNitiOJ!4>qzN{k00AjKo1#fCahx@<+8UF8h(teMBM>%GCzE8>>>jK z_`BB-Fc5)2A&x$L_NTismi3nh8H(bzBcU+HG2w}DUu}J-_R?Dn+*-fm)#KFgu0iL^ zy$|@hmLZ872zyld#>l4hv^ zr#;Cyc(p$F%4oWPk695T=5R@~TI+h5v@UCyzp3zq-@{`Jb$G!d8|JoJJ63BxbnWb zbZNCITJpy)2ppdLvE_5+(Kbp*?^(P_ZBP>m1Hl+&@-p8pjvUk|TAL~8h`79X7_{Iz zQlLK#Tshy!IO?MPtpoSD!|#&bEJonRBj@dzHL%Tv_sfK-lk4cFt#7~x5*W)kX(wQa ztn3T%xBTS-i+_k~`@IHom$@IP>GP%4Dsj_m)#8D{lg(Dl>plO#0h=41`nJ{Z)nAgVt&{Si_7&&;6>W?nd^y?i~AD#ZC@Q=8o{Jp@?HTqw)v8 zn{-asyAQw6}KHVsd}{Yo}x!smAuz3G**eIo!W0MEwVtNRUOW8hdtnu)a{hJN z@$7MU0_iw1+@ieNnDh6;;jQyrf5Bo)e2Q(-*f?|*AY@6{qvpw_CGvdoKNk6Zos0tD zubv)T^gA%awABT0ZmMC}vDCxPmPY(QXu=^N2R_FC`;Qs~!QexV>s)|yGZx@@16($N z^r12f@YKiWqW-D%pOQCt_D$2Nf85IcZ+iYe;IlPP&2{9@3go%}{~9j;-7)`92K~RA zO*Cvz`UK3aT+go}i&+SE?#86s{1e)P>H4F;e<-W5U|Tja(i*e$^o^lnQt2vd7PNG6 z&AVl1HobaQOSAPlEPG%~u`ExUNt;fS7&6j~msA=$X zGB;x{eOF*1sx%xpLg$HG*-wl0hV9r8D}L|YS2dgC>GU$C#hX^u9lf)9xEb{LREc7&{G6yDVI#QNtJIUtY*p5{M395_kmvYu+)pz zdSgjvE$*6$QTxRECpfO&6h94L1|h0wna3bdPrv;)lLD=3x9iUQ+s-F+DTaW!U1i=| ze^M;YY40ItW_o{qZcgbKi}`}9ZT7On=>F*({iXSKN-u_=((zh##q6&Od^FCX#acNk zrTvKh1F=+oru>zV+hT-n)`o!huGCo<<@`M-PATp3S}lbDx`TT+TXP9Yv6VI>Jf?TT z>p(BQ1j8drtPHCDnt9|u?eufnnY)Duuh;}RcjD>qBrl30+S<;a|K0_BOiSxAmsseq znc5I7ErKIb7XW$miyQ2@l3z`69%V>x4wMTn4=TB0NA(840A3TQNQSwlF2NWyQ60Mbz9cF2wZuzBT{!L3m z>_g=6LU0c`YU5ZA9@9U^O7W-_9H60|MY5`@N$3#VGk@L2$h+pfh#ZK zx?p=KDdsU;odBNxNb57H1#yKJts(ULQ5feIv5*h|5$0j_P>PWy$Yx4s2?Fzwa+28oFEr$!U&UgPfp5r&yu=K8xSY~b&n;r**bxeHnBLK8Uo7f z2m@;*62oBVHgmSaR8JH2yp0vfkA#sgnlI93DUHJBiNgy5$+I%^^gW9AyXJ(1ZSB;@ zt3FuUM6AuCZ!Nl-8ym1Bs|?om81pW96oz;1C~1~BN&_RK?zvwKu9wtlRz?s=rnULs zsCcqFf+8Y5kTUL>`=MVW;qr})wm!3sOLRB9b9mJ$U#KY8Q78qS5Yb)R%!Y+Ol~ZU{ zaaJ_DtN4gSjFN75sBSp5W0rX;xXrIfmOvgPay+VdHgQ;>6*Bs5081D$jZgaM}viDyH(8#y8yqZWh~e&;pNV`yOn)E!U>b^)w<4 zY3(5G>|Ew;{rPMyNSb}P8cKceUNVA^z`b@rL#E5kFAy!)RV%M!pF5bq2Xi zyXj{t#?zSI9hMQhUipyb?$1LfAm6S9h+0>+i2V3G=Dt*N;XK09+9MoO+ebcn(MlMK z3v;BPL%%NV``blJ5L#NQ2AE!=;S&lp_briPmqg5dB5ylHib&ywZDO@AudERTi8F$*5lWuA0=(dO*$Th7mHZ0Izy>$y(K004@f zfF$yZGA}E2Yr1sSf`K4z-YNp0*1cbm7blTo@GpcQ#^5`cl~ zhPTaW+}=|!hX;q#k?=+PHCE0x>@@!+B`3qDkodJqXN2zI9yfP#7Cr@njQBi$-W`IF zNDMwXBOD|y2;3ky}5oebvBNGGw5Mf7-=7pO{g0|9Tp4*5`{2B6SIxaxUGy|X91ZS06aYjd(h%1s z1i9*}S2#^Qrn>1P*;&5c)Sr?f(X*P%b;`q+`2cZXe-bnw#3}s5A!@)x=W?{+PSt7F z_vKr6$;E&t)jf>acfnul+7z+ocQ-Cm{mNHojN$8jb@Z77U*H*~ZsV;P4syOWd*P_m zfS>lVl8BT~Cw^I;;D* zb>ZjO&xLSE8mnBzE*Dym(TLCuz97r+oKM;2%JW}Fhy_=4l?P_LakCRjF2dK>h}m<8 zm`U7aZYP_^Qiw~r=cRGYscWp?1SmsMj44{tmcWd(%RW}WZfhV7bwVskGTUlOpB_jZ zuR$5vgY^-|P#>ITIzhcP6y6pTP7bd+@^80*C4g_gh07DGhk^y~tolP~aGfT%viy8C z`IqRIHhRXlx0U2fVd&OHz}Rtg$xTJMGDx0(FfvE(S?7u)u)RbL?&ykSa)6@JL zDFY6^8bd#8hWKK{w`|{Q$ipSy)Jo(60-K}lqGK@eawG0vTo}Gd`YB>=y}Was?G9%Z z@}_9$Z}g?layv^%)?I)kYq~!%ZyWuB-(^>e4H{ZRU#QOPHPJl!HNzrqI?XOsj2w4T zST#=ixD{*AqJjF0VwX&S&Yj|-`jM=%8ghBQTUZ>QX$WO1I|q%f8;vfsV((m7 z-l%5?BOWSE2v7hl-C`Q7N{Ta$k~7j)#&!%GP+JwPB$_)zA4oIJiF@zOEwMTAf2vTo z6q<9b8**w`O$ZOD#bUSktctjeqf{^H10Z_BcVdKcPDfAEs& z>obfCVga~QQqWr0@RQO3iC?*dhLKtvt=l{{85e%=#L~%~Ew#MrP%}@%`bX_CokB&e zL3w#2gv^0|Vjv|@rf;@FHUxNh|M*p)sRnQLI8a2{ebuc(jcN7hv~zMvDauIfstkvm zm~;;c$~>P53XrNzFoG-BSL*ZWWvEz5*0I0cH%&8T z0S3zo?(J@=!Ptg&r8Ul!GE^c%)YxJqwdY4w1@@c2&Zp`zsMTocj3aaW!yRJg%G?VI zD^AK^p2YU4?Pc({or=oOH-8Lp9x7gEMoaeMUYRY&!!wvttK=*+G64J*F>u`hP15@! ziWaOng?4HyYHSH8&vRGCrPX!*HU6-t0b7S0)7*l5hsDfn>tprxPo`HiV)DSQb*S!} zF|T92-bqAc+)Oj+6zqoQlwPR-A}s`4)zY5Y`YvN0gIRrFjz2*L?l$^)SvxkD%r9MnKCcwz+ABX%Dpeovn#Tt zE;>&y4mQc%%#Sb46DTZn2(<@0x69xb{dZ(5^yXKf%Y&cxnl}Wz_=KQTsx?>L+T7Op zCVU?^ofMf=h`IG`8xSK~<)S`f02x6zcXHIHLr1!a(%4-4SMeT4U_%k}yj7hIC%FjG zl`Sf_)T2rcp~UVHzV48kd^f1AOj=XdH47bdE29z#=3pb@>tK;oDfN z^HlL*wcMCn`i|SFOZ?QzO5u5fTJq(}(VW8i78Wm+-t42>LhHo-*H{gZY+n7v3! zfqNBm_ndyV?dt&;EVrskC<0;AC7`mBJT?oN=Q5kzS1J;Rpl~**D247)8f6!Ewnvuh zknt(E!GWbhHfteu9!)tdc=Vp;CfUGrhdZYV+gu3b%Ws_UKY@Ii6Jn7T3Y|%t0{00l7@{7!cZP+@1y`2@ijo z3tmpr!o#yHPu>$UioSfF0O(s+Ye-yr8Z99Udv7kVQ<60`(?s^d+Y%KI(Q8(QR-Lyg zMDUFRhtlw0+L`_sI2=z&yK??J%|F#h%%*b6MEhL$=bYlmE0>8Vo{GNxq}zng0(3L| znF)lvlH|n!x7qDEc&D4~Jq4I!P=bV#k?;oxAP~`d#MuLnp1}khu^y9 zUg?P!)zbC6{zSn^zy(N#KLjWNHk-v&5z~RK*RyQuZpEH5Tib~y}z*tY0pb}djMCDbhc={5<*@l2y z#R9*`p3BvwBCLfdbzvK*d7=9p?S0gEn1xT`;aOK2mg6+!F@Aq2*e!}wVPeKkae5<3 zn`L7B()j0_uUj|l&?%WIZkHFjK$~p7f%(S*9(wC>*vuRz*Q>@lAEH{V2WyOWoifHu z=PVGatWNs+z4~Jqk1$F3SY|URb#xuq2vs1j+oks2<}g0P1<9tH$=nAhBD7#8@0=zf zX(}a|-b{dEr!>jP1N-BiQ^^K@2M~@ueftg9`*|+V4ID2qb;}Q z*sc2vv)*w(G-{NvQPBvJ<_vP`!LQ-W`=)x58`4!#YqCpNx4C05+w}5cs;nspQa85r zLqD-T5-6&Q(|EKz*sAk;G7apti58sI;vf0!+lv(O#&ez;2iWV{n73%@d80q^X(a^& znKIFn?B5K6lzQnGJcp%!g@ogioNb-)zb~_?@8;Pr7XJpBW6bhcOj0YENi&=-9ep@NOLnH$b`wOPI10G@P46YYhcuJO;%6&z~CIpm;u?C(yUu1$&>ZMR@OU^-HQl= z_C(sPdf_MQR=WG+-Nb7BPEGPrAz1>$ackLBuV)?Va>(IE6SNUl6g+r%NU0DJfz^*P zbVs=(dhzig%0hK&LLOS5GArD+j4|96dEUpp^`C{~pFz&YeU)^!);sF^&n%pqpeaC- zlK{G>3+tR!=#n;UyU9r5DIukS1G1*MWaBRaymtj0*P>DLn>I{ya`qMLPWhMb?d0TI zv(b9FXi?pmC^(NEv)U52o3E77Jk*u2{dD~w33xob;Vj3ke{NX4D`+dvHkz@Y43a zci%hjo_p?|oRj_cpWT0UXLfgXzMXItC26b|q%Y9W(6D4>0BUGxk2BHG9@am9h${JH z^m7UI_sCUTR^$2e=ZmY#zfq4QZjw4~>W-Ffo~AAqXjVW+2MZQga~BH>psTf`+tH(T zQ8cvIXtID08eZuKP;Uc`i#xI7E9Pg(AD)tfOx54>et7VNz`$vYPF-Gpq!xISH9M=>6ZZ`b$83{Icn5?K7MSW`b}~^_ye(tl-1MG2LXYYQC$a^kN7Wq zME$0mwp>NCuHb&7JKksTVSyI?qo!~ahp5z%gzhc8Y~AhM3ZCPm*C9{kNW z3g>zJD`dqkrudutG$djB>~HS(>3>BwR`=-dTPN@2|C5vXkCqK6)r9^v2M(Qj`8U_G ziJqaO?WL0(8XBrqN=KbbG|j`KWdHmh8KwYB9sY}8N=iyV-c98^(Z5o5^7Q)G3G4h& z?hLI`9{<%ct$*bm1Z{Tzo3-@IewTd=&Jz>2zwbV+20cmnN5wjp;@MwTT)uhY-73-w z_=xx;M^p+4PiVI*99vT`{`cI$PNHVZKp@DuyFF+0ugD~PT~}-F`lPupZgy&h)ZtBn zG$;);?pU?4e18=qRpeO{WIc@6U#LyC^Io4j7D}HYysNw-K9X z1+*b@tv4^X4ct|Yw&K3vVey4=TH4k_Aeb+0e|4EoF(9aP6{Rmy;%QPWNlE=Qz$J8A zhQ|7F3Gm4{_337bcGG=%n+Im{s<^7-Frww53f?6%|1x(GIFd|gB;%hXb9+ywMt1^| zFNLd@YNJ>b76vs1EEer*Jq)Eo=?r~udY{C%4X-Aq(uH$#`>jQ_E2MKA%~>4<#N|^{ z=d3@uc#B~+LH}4Qbx1AV++SBwQ^}!pb!+EbBSeN*K;qKDG|2yFSpInU&xuEMFD4sk zf9^Wt^}0cv*(s~tJslJ=aBEU$_P7dl@Z@hTR^wzJ+;vVQY+{jHS&_&e9I!qLB6~^0 zyr}0>5jPt6cgdV^0sussr$KPeAQ=E3)yk9;VDP$ z7Y?G*8qS=?1h04Zm9uGm%pTjM%8l))1L|va1%3!h_mck62$Ly+%mte|z1u1Bi`P(HPxRCubEDVq2O!L%wk7%C=Qdq7B(y&h!rJ zRVl_uyi`x!iZ_I?DtbKW9&NuV*jGb|+u(BP-Yzk9MzUV^ zjH>&eS5A4Jj$3P-$_2THUnX*xvqSUw!d8DsxXwEoe+1#f>7@rl@RD$+;W<=+Om9w= zl3&-T4dXrgC%xY;9oqtO?X_xGG+pcnmI5|~p}DfGFyi>5#TsM9{uO6xrF+OO*?fz%I!JP6>=!lx;LI+ zsXtgTLv+?gi6}k~j#{&yS^h#VtJ52i=fp(!$ZWj_Fbxl;H^$zdGypL$#7p(ce+2-r zp1|dDil&IWY)E9C{1P?F_!Ar&6UT?d=-((%vkiglc#`Jnx*v~5)Y%CZ!8HoflfNcj zf1dQn3Ew>_E1_+WvN3I!->|p`)c5(27LDqtJNpG`dx^b%X z$P#i2$SMD57_lr#gXmd5k2+?9ZBVHGdjS}+OyDmi0$lGCxI8yt3!o--`{X!rTj#sML|H{_Vz6h)$gVIU5{1MxM zuje>Hf?aBA-QA!qY@HXx@q&xsslKy!{M3>T9(55|%F2AY{Wc*5&Zo7cu0F*48A4j8gBlf3$Zx)COI5k#$mVLPgH+>7Y=y zXFv{rQ@viw)cOb!F+$Ns!HZNTbt5=+-vJgofD#k8(2PZC$|+CF89+;bPC^~S-*cjV zVRL3)AU*gFgRJOiIT@vifyk(zmH1yLYV%a;a&j8AJ^<3SGWF@(-|)Qsd4ID)#xlZk zVJhn?T=`M;BjQ{~*CHSYXf9(P5;cA>Si07KNx{iO^lmxOd~pG*fws?bi6SjqSli`y z!);UWtJDu54xSwtr~P=$>JRDuJSMHNFqKldm~+o-l^kkn>TGb}&iQ<)meR|_EF|Kp z#uBDzJA(6f_Oa544}6(!FyOJPPM)igd?t2d@7dbB_ayR{=g&PwZN)5R%c8ow?m)2{ z{>q=%L?dmcTzq9lg!q)*IQrT?$GNeHJ%Wf{!y41|^lq6DO(Jsm%<)6}t{E%FE6?JMEan;v?v;G@{vk2s@p&WB-+Z{l zFQ<;O0_(4mFCqmCR}B@ygfsCNJ+~9~#GRCMPg5c(0ko&~{b4Mam%o}Ze8a-Rj5S(z ztkb&H;60O9^qmQN=}l0h1iH9UfR} z-M)HmF9)EkU~{L+hSjG1D|iv@FKn;=hKYJ2jjJT;NukI$3tT z*DoT@9-sW9971)JFiNRNmJ59a<77}3YN6tjo>;faHxgljtbJ?hL+AgV{aRl@jQ$;u zl*Zim@ycFd0TZ4AH@`tZapM~<$o+|%frU|~;Kg3;RM^TD;k>=L5y)_)pgX@X;*^XV zKzlBy6syHYlp$J49lwB|S5Ur|>!3`T{Egf5Zf#@kdYZ4Btu<#OH}=jI(PFD&kv>$l ziUaSfG-?f}GZUtLW4g-8#xcZu2)EwGp<;iHKI(PZgc*cozdN3h1sfqfV6X`@$3m$; z_}OYyUD~$HU}m71FB5}N8x{hAwOfu4%wA~7|Q+}lmVKkBR>4>Ep(aIu~1}p`aq;qaI54=@1zana|X+f^zf9c^_ zv1Dre;4X}^JML?0;P({x)z+IAkpMGNi+WvUww9_ygf&r#>V}1v6U|}sY3727%O~z9mfg2x;kRs2zLj`A0TEPA#8U3uj zMZ~d#9wZ_GpswtX;y(#AhO1Ug;Ml~#gxIZymY!E;$uk>}hqah(E1ci$9%`2o$Wgx& zKKBNks$&!?F~T0k9 zC4#4}NpcbZ#iS<1gN@v0E=lCL&Q`Htj#7r?r(JlOn|I&Seok_OU-ACncoV>lEY2Wv z6*VehVN|k)oxjf63&}&fe-!>8VvCTsV}zzgQVx(BS#9g?d`#@HD~Tk4wCh2?=hL`iTOB&!thkYJgv@wtr4<@ zRW<|N@2RCG{nm1ouWB!`A@*y{i(7T58Sxun4`3bOyudd)9M0CMM>%JEh?R`~4d$jD16(8HZ^&?xXEjDL01SDSz0mBe=KlN1l0 ztzTahC?p-WmRrur)Fvxs$L<&*(>s&J{IhaZ9N9nds@cQ4y<{xZI2H}^CX92hDhCu^ zo|UuGKwCLt$%Kmy`03rW%GhvaznDh>8^*kP3KhQ{urvsm_GnrXRVNS)rxNI;YvPL1 z8FtrG3Roc1-Gppdxesm+rnMHDfpW+toq4NZteB)Xea%BfPfNQ@L8k^=7><5Gx?LCM zcO&q45ns3I7lpR4`=O}wSH&q*7TSxr<8-5c4NhVXd+15*%A&7Y;D_I2^*b|l_+c{4 z6hw^Z%{RrfST7pFBr$axALGggbx)~Hm%&!P7d!4GzXip|J zw(#QSm}I&=cCI$(Kt4$eCiNkj?+^hGMytt(O7wYd=>$MuEd#+L^)vf{R-@G$OS;67 zOTrqkjkntS5-xVFzj0yiae7Nd((gq)z@A}_GAhy%z|f!9jATmH@kw}6MYLwL%hD?W z`Ersd3#N^I&~c?>S3AMeiuF1F&1vM3wG6*`*Gy@lve*4p4QPP^{G%VTx>(rGi1Wg~ zP=Trs2d-pbS$i`(LL2XOkLZlte8*}Dv&=muA75l^DdFX>#;1xS+rBMmDI)aQM&W3eqOz|3dU*MGw8%`*{|x{BNnJG zV&U3ZZI`Rmrsr*n!y#Z%hH@^LbpIH9+0UH+vd%#Wq5OX?_05ixY~azfyaIb zgUqBO)-noRhWK-?U+K?=7`*ssqVwpg_5#P8i+s*v&dnyje5vQU<7@=$GxeD3x^VKt zd@uG_$+W>+PR;rkB%If(EMk*+YhhnWv6wz~b03qA??5|_`<+$Wuz?w}fGC-zlB!Gg zje3+h zx6D;pB#l(!H5TCErRikqv%fPT_V%=L1*QnI@&tIiBV%|)bTl-(S2B5PWg@nd1+mQ6 zU!q+G`B%JVV-u*rKX$9*$I**)yB$+o@ZXdcs}xUn7FZhlLppmr!9}@GN<+EaM8Up@zA?c zxW}n}eApMxgmE;1a`plxA4Oo5NE~#ppLhv76vn2$`%M4+{BzTv=g-6G6SkI`f>mnq-|Nj#xt4hM;EvXC=lOQxEL1WVb4Y zacoOm#xU1nkf!*Zl2X_`WMrPx)qtFtwNtH|p=6A~Y#67hGe7xyR8fg*n@EL9XkkSv z@GAFpI^W+-c90t-o=721UV8;}3Pl(ysIyfPxjhY= z6*9cdI^K!a<%9!1uhUXf$4iYE#Q$nAP|xL0(^kX)DNTwv^O+$gWbv#FaHAW6GYz%V z=5iXUpM1feW?vB+;Lupgjmn2N_dS{A)wb}9gSdJA9G>6}FF&0sBYZrNx)c`H9Q2Xy z0}vrA^TD^UW47T#_kO`=cudQwiU1kJv_}ETQ_g5IF+Hmw;QsrY%kgA|Vv>6seqsMt zaca}^;pw+;z?O$PF?4ZR$zflYIUXzn2n5}gBBF`~{SWrpJg3ov9@0@WLDE>10eF?4 zWAzCm@+RIJzwKg=0_-tdknTc?`5hjx^*Jw$D#_P)jM@hCPk$C!prW}P-R*)Xt=>2d~J##UDJKl+4lCt5IpCFKEAD&JW6bfQV( zx%K4^;tr^5m>!Y6s390yV<;%}+T@#S!OG96D$;Pas79TZ)6_+hHNVL7A$dk42}WGJ z^_lwOtjn00`Mbk7qJ+2DT74mQoiiN6nPhuaI~0~;53QMFC`*!Tyz*y z6n`c(gLj{o20Z7{3vfpKZU`NHiIDX{P2Au12A4$lePwfAP>@v%33Yw$?<wdda5MRnJR+JYQLQ;@s@X-5zjR z@UhD{)5nr-sQPrWovOnAoN^|JjP=WDgzlGqWKZ!*7(B1}wUCdCmSQ29YD2*!i!e2p zu()=Vu_50fc<%&CIHc}vA?M_G*Q?uONItnhsJpPdoVE0P&lb;&o@$XBQYI>9hfhI-Ohz@I-7u>P359qNG%h$I)-K8D-~> zeP4OrfLH>PnDk`x>8UMhw)U{FjU}0xXuV;}>MyVg+2?O32KBi%!*@o@18?to0{0wq zsU!8z&dXi@ociDpy?~AEz<`~O&-_uIv&N3DT84-xDTqyQf&M|m=B{>L-HLF-`u728 zRetv#W5-mAY~icLm3zmAao?P(RjzGA4u7@UVR;2W_q)8M-_eDqgvNhuA1X z+v>QqYUA?4TL=j?O5U43?rpE1PHrE_+bI#sG$0rVIG<=&O6MDWu0WI3cwXr_f-QD@ z$F;J1)cYoJ`TEy=H^+3W$W6g&%mat{!25Q?W-9!NnPJ6Pj1z1E4gjD`YF<^I z?`{Tn7@zXY=w}Ad$$i}N9qaKm@)0XsxUBl)@8{R=EmxM>XuHW;qu)xynHq2EAPNG95Rc|3DS$lV0Gs9~f2$aDKEYbwHWmt*RRnZT zO2sfef1M>&*CUP7RYVpSYVnumlYFsg0*uVneq^}v2>|d#tEbU80#6U}B$t9nXQOs% z^!Q~8sQw?Rt3}(r!WO&6B9vu-#V}b2lc$UQ=NE;)FVVo;*EB3oG2JMPC~rQS4C^plC&GG%5A3<{620gMTfS$_3Vf|Dddj^ z{N^Mg;;U+vn4g=Qo1Wg(!2$w-A3l5#U5=lanB*n3J#rG45M7=jn~+UUueG^V1j1ku zT9VSzq2?@|R8gV*G~Becb#>Dxq{6}gYE`Sk%k?p_cY?Y*-E#+Db^ihe?8>ikUeZBP zo|1}+-d-u=Vz;lPr*$Gv!2ANcF=wPZ6n9!JD{H>q$hKU?PR0qM{#V7F%~T!}nN~*R(mAnVD~9a#a|8 ze0}-K+joz~?i{{qTfQh5lX15n>%pjW0x|~TnXY%~EiRCzkzz!=FwZroHHsgP*{KeJ zk-D>TJZ8n+_`VZsUHj<4Co#yUPoH`V3bJSM2?(Z^mh5x0rR)NCS<*dwHm<)qzgaIW z8GD(Z%|ytYLX5xSRT0;>e)0g59T)|mb{>3aSgs}HaiCL?Rw}H{alUX6`XnXyH^Ocf zPxUSw*|6-p4O@g=n=5c)Qn}3*xrV=S3V;1fG7ykU@f___l`n8HXQn7n;M&zt0@`1D zy^*UNi$PK8E5hY4!!;&$=%i^=%%wr3AuOugLB!9%f1Qi-{Bdh*Ye9_%Y4lcq9F2g0 z01FEXU}Jk53U z8Rm}Cg>=w;At!+1MtcyTq4^VzLcW9rj0sGXSii|hv8j>zu6pa2k;HPje|Y!`ExG3? zt&Zz_HIxeVX*^XQAH>#38lU5GdS<2)psuctD&X2QRueUJ5&~xwziX!|TJ1f{`mGN4 zbrCE)p;<2p1~T~#Z-T$g+{;f&iuh1>Ls@^Yz!WMo{PhvvbDgnWCR>W~c6MfV6?#1Qk9quo1D$cXWtuNcus z*dvSLS2a{3g_u8`q+w;RM>4y3m9I?^H{A$a-M5d>*v+(<^}WX&^kGd7k(E=iVF2or z=iIi4^yZlvP_{-t(Q&!)>Q!|~gnF=aEcw9TprFf!wX?3G728-i3Bb|H?rt2P0!p}l z029s%JpVcvBX!6oz!+2nn)Rm_E6gdMYW}~RY z0+81yvj(mss1ilM=H}-1Xa>aZRL})hmJ!PQ{h$oUAp{7{Nbw&?|pqZFgkoE}=L)@rCq|O~Pi| zd3$IYvr#M}%J^FSgQ~l`x4QZ`q3(&la)4uQ=Us*4D-;&+?=HaU^fXWCGW2-46??1J zj_QuOrntD^cVQrXZ<(lup}L{r9qe$@ZPWECV9T|~1rGMLJs8}I+GSnvYw6?V3yY?`1>oy6LK`N5jVMW@mK{9ylDfmI4{EAx+<#Tbi2-e*a=Ry`o%1I8-?Y6Z(w# zNr3){_>lep!%+sBUk+{F3#smCQx!eWf?NSxFY>$UW~5gJ(e1YY)jj7+?2BYtqpbVS ztaslJ2Yer{H(SrO8vQ;xw;H(={y|SLv^?v$>-;Kwgr>SC_5oUm@`v&8x8drAv`W*r z{B+KHjo+NRpgZH~G`2y;)5Sb{UvltY&dw|@4y~VDKWys}oANGbtW_t7=e1f!J~^`* zNq@JO2-fQNEkEGw7ZVnZMXiz7gk8tSFO*VJsNIQPww9Pi98YAeqMK;k9ecGbFE0Zh zS&e1VQ5zet>`oSv0kcH?n_(PebaZr3!p6%o3S4-9L67a(C1@aAX3?mnVM&OF*Tf`F z=`jD9q}R$F%#&(GXtA?b)FO06P@%@y&n!B&B79Dgt*sGxOeW+89$GfVplTbvoew;y zqNzH~Y@^O@EtvBO4*3{f(^ZtK1w0uiL`~T~Dn3W#;_c+_9Jr~jUV>ek7H_4+IUy9% zS3D7)VeHQ_2OYV5uLz6j(hD-jOuLm-g6%WmAI#61T0-m?S5qvkJa<#QZd2OmJL6}N ziMMAUf%Wp(HVOvzU1i#R=Ts5C^tn|n?CynUwy$sGjX1lxW@O{A<-hTYojy&!zY2Fp z(74!pqM=#A&BnGjlPnNaJ=7->S0bEC^BH=%cUN|71Oyq3m5fY`f+t6_Mk?5*1OASV zY*~Fo$4@|aIPRs8eztz?;pdP2K8N-*0Bskh=5YAh-ggjL3z1?}$9|+79UdMm7A~ay zQ)XZ-nwF5{z4JSJxJ!CytPa<>!)8N37oKGCMEWI_-Qj_112_52ZGU!9Xbduw?Pv$@ z7!DAjIOP&(rxG~d&o=L|YFd84;Y12Q$?Z#m=9Ly!)VI85ySLV|3^r1VQG$^k(=x8|6`Hpvw@bfuL+(;1^8F3q|Q#eJBu+zk73 z^IU}(r!f=)ej9H7r7cGn8cqzQY3E+(T0fO&tYh=* zgs|Qi3Om8Ke5fs(l)uL+4+8NeP!r0`RoHjAdahIDj9gYe4J+C@rgT_K-F;+r=+{Xo z+M?=Vu4cBdMwaPyThp2PQl9L>He&D*zSR(BNgN&P`8Ogyn;X`QEqiZ0(9KMrfD75P zlEb-si%e#l)R7k#gD(TMwm3vNhM{Unr%PiI!gyNrbY+b|B>2cuz^|1OkKErp(KC?b4+HZoV%I{Ej(qJkhT*s#6FMRrs)g>^J7b49uF#6Qd5jpLmMq^l5xW z(l#2AKWo&u-ll&Pcy0teh!7Fxvu)Mr&7z>5p) zm8%_*h7~e0k@3$VK0ZEWEAm0kRQPM#0rfwMS}IhFcMmqtNIc_Yx{u*Vm{QL`XN?iZ z00tp*G7pQC_vMs;g%#VPQ9v_?iOWKcB+AH*5;8Vgo|$La!0>5iweB$`!LUS}3dzaY zO3)Xw=+#=wZ6pt_O%g$TefbZAS$CrZ&bBORF&0Qs*2XibpEPSH*M5c~6kopE?C#cB z(qRaal4)$o;oW~}LAtT<30R!!VE4L#VWXh<_=WG+HYi5=Wg=&JGb?O!(WnZ_4ZF6_ znj%?5%$&6sgMp&$ko~n_%D60sT#Sx`H#MnSlU9q=305c*!piL1cg4k?^|N`5kwT_L zYIQ4?WIhIk9FXzO8hWs$CzaDSUfcIV`H>hBJ{JG2+V1z>-r;I^ye$5fF6k@qJweed z$9iA5xDmGJhke|5QP-_9-Qv!eg@`Q-iPrEJS!3I0(Uym9O({~j92tp|*4%)P8q3x* z6@`U;-dU0memL*D@JK#u>?2k?@X>wVbwqSA{cI2AtjLXxyE`mWALL2s-~R6H$)#tk z?%Z7aqqq~EiH;Q?-)maoli|)QO7FS?=x}A%;-+rtL_uFKeJ{NQ@}LRa&^_vo%JJ4OJ1=yga<)Yr}>B-IGJ5*CMbMhR0s8RASVhhelox9$}MVdBwB%4Ib^`HmlM}Cg-VI zn6moATToZ=>t7szOt+e%evV+PEWHk7@6@Ze&vL}@5tU~otyVq9|L90Ju<7h z2%FBn)H=P?7h4ToJxcgV@#k^Bi;3Pn%i);+KCc%50Up z%DsdB)GF2gW^=)$O}VN*skSa&x4j=rHG;Ibuk`M*cvm6)8po}U&!hQ9`f=2&=a0=~ z-xtOHZb9ax&51euY~fDu!quB0sLMsi zbEw&qL~$}1kL>eGhUS+VF7Lvq4j6EsKc+NC_TDsm_Oo60(=N~tw#~{co7r)Lsoaalzw4d8xM6Vu| zx`(lz@hOZUZ*Rkkva_>GN(P;LH8nLQBp%_yZ*KJE4y7z+Mo+dENO~3)7v)+5^TAS;R( zDmIFqesQtsDi(0uro2?x^O$%>${z~{w~o)Et)ac1{wj0M6B;hKdAfD=65Rf+h>dIK z^VCuHKJ(=AB}u!}>?iZ=%W8uf5q43I{M*(t+mVqf%0%bI8_fn)MVLOHXz`)YV}CZ? z9g!NWloji2NEx50h;X4Bn3+ERHu}+Y>i&iHgrY^CU<cWWD>u)b#_>1U#@}2 zGDVD!Ijcg-3Y_meTTi9WdGSF%3!^5hTEn&6nk9)GfrII~aam1~*W^04R%kMJC+hq= z3=K^xgB3DK=iYpvlyxA`6Jb$$@Rn=t2zqgTjuY$kF(C6tR@zGA^LA%kKwjG~pZblB zDstfE0c}O(Ve_2JhPHR0X1Wzl-@5Y%kHz#wIWz9Xxi!BQpR)|Dn=AgYmvD^vlVRfQ zAC9(aj0Dxfl(@#P2~eeYr;h>T$_?^VP&=a)DKa`;B~87ewMgU=lvp0(WXNn7@qy8V zSP4o)$z(og$L8^*-tZt!67g;m>yQZYcw~^{!#dQ9$UP}dWFxaeUYd3Tomez0Y<9Be z#bfHvz}yar;bX`E5=Jk*KvWK#kp1ra_V-o$Q0k$P=!uA1pNzQF>)(RDUW8i#&pu0w zw2DBXPy`k}y#le2hrPc3Vuc|D#H@=)LLv)58G_HSDQR=6%=?s**?<0Md2{PC8n zMuFP23mY0j*M+Ts$+cHhV-OZ&JZb{BD>Y@lK4$|*Hg`|gKC%0(^CoO^$EFTv@;*a; zeU)`e92<|^0C0awnkB>ndeac=e$4%CS{8;p72~8AbnGEFo z#{`d|qyl#Gr_CB8BNT|f<>0s%W5=EsgGfR0J zF__o)4heVNqLu&pkTPqwK`Fj(`wR}G1d7;e-v^!h)Y&>T{DdIy9HmKmJJ!#_-1P0i z1jmvImKNPI+>#9Y%`69NTdTe10{)n-4Rh_g7Eg;(Q;JmG7nYW}HNXF(B9nj+D5uV_br^s51rwW$f5? z+MyAOCkYW~Yo1U#Fveo(t5)xnk}zduA*64IYQ?UiNs1QFhC8*g{SL8me|Ob>e|tm~ zh*WJLttl@rFDmLE6kB3VUvPKz2mi#kG$5L0(ye!U(dR7kS3Sx5a4#;M43MbHzU!%( zX;yT~sod^r8mD5|H?8N0I!lySVD;?!9y8 zMD+SbJ9)7NYJc>xuyxVU@I$rx<-$>q#J;sTq}fw!F8lBxJ^q{9NJNt5kee$sghyJk zXUyQTv4;`|Aqw9t#Nb{Ti-?Gdh=@&XajUe1^&KsLFO{3E0$tWkeS^=ixPdSJ`3lzl za1Y;Q9=Up}8ke0Nr+s%3w13~a9#j1DGF_?Quiv0Z+0DFM$Vq-Xq;Asv_q@g2;HLrz z#36u{+5fwOewCI>zXW?(9JcZ|@TjSf(sh6m;^w1@^hS3e%262tY}B^gqx^1l?~#Tw z8@)cF{IoEwEYVDLFRA77A+=^U-t^*KTwnR66pp)f==3((BI_v}xePo^>Fo5;)OO^P zj+#^77~Q_ApVBh?-3;-O1sCkRBVQ+5Tb|cjbcq|=Zr}q^2Z6(Z>3Ww3*`j_@2MiXeB_%#BNB|~H zoHx^cY2p`-yG%2GG)wIH$-dZ18wXVzxL;dyQ+;^?3S!J$4scubi)@Y@+xFzn9CzS` z+;m(&+i(RNT~U<=!!|FRi0nv(d{F$ePB+ac9lfSvGPh-*Jn`{~Qiq_HGSmXc%gj7{ z%=`ia0|OJ2HmBA1ijasXt$i4^;J~M18aA^bDKy3|9emX+*-u;>`0 z2A@OgP}e32&uBp~@k8))7nO5q?uE~29a*D!vI#L+KU&wu8H-Epif)b*uCR!#=#?{k z_NLyFVNr+y8#gm%J#kdMC3O|t%51!EFNI*OJx;zZF4Y$yncizzC_k=WTiq^}ro4l! ztfcE=FeUXGhX149J_d!v2oh?wfw6SPGLi(xx4{f%u>eT5j%|wFR!qm9P{94 zh9SLc^tbq<8(A4GPBFt0?*SCin|&Bei5clC+`OXRwne^ut6i^dk8C3Yh2}^^Xn3ad zsXl3G`fePjSeum7kS(Ec*ZT5}Hy*%Y?xXG`u)Vv7A)~01iU*CT7i(+W1$2BkN{i3S- zwRP88ehs9~vf0x`&P(!c{`<-DNc0N_t3po|zr87$E?bI8RGOdH)zJ8OSEf>&C`X4Y zON+jcDy|Ibm3B$-cHi2LB7t>PxmOc)7Rv&szAyN7KiEZiQg z-{XV>9{&7xhV~;z-~XUNLZS2EEobFwkx^;Mh@hY4;F>@{6jz_B=gQERFAs%=JUu)D z&PMn~Mn(X&UMFkG$;4freNiO%uU=hDxzY%dY+XBO@W;5Ckq3(Fm3wT%*hU-DuddGY z+Yy2xroZyFzW=As7(qjN_#O?-Ud3*TD&X`kAy)L(7Z#T?X%+nPK6jWR_r~)ldc)GE z&&_q)T!A7mFsEzvu>ADGubBZ_FK z$9McPXEg67HT`xI?speYCod;2pPQ2tSQJlX{|`^A+Cyl+#h3k#qUUzzKr>pCd3HYn(?rfH3;Tj&wC$$M;^xi` zp_k1Fy~&0$J`K0(_ncCky{=Igm5ZMr`Smd{lVq_!#0sZfmDdUpYDJ;4Mipsf2SMRW zOH1+b@z%c+R#EnRw|;zrr`y+i+`cj>%HCQf`UD%E)Ry%orQ(qQnL{Z( z=K)#h=0Z{=Sk~X~SM<#P1sx!09-Ub!s;QjUGvE6O4RS_IUo8Tc#ZW9FK+<~(pp+7^OdT3 zgzDy(FJJsx=qxNY|8GPKos5XX@zSrVe{ykApE{0zh8p?Px;C|-fZjV{X_XW}9R~&z z4Y^YcBgzXZ2E(i7(f^@x$qaary|H8rIQ(s+kzvh{riEs~=mot|UNfxSCJx|F4zYFwb*%6W83Ya5?M@J(8t)tO@hZ(J7 z`r_OvBZH{YpnA>TeLAIts|%XGzEY>(VuC(o8#nu}i#orCsu$=mz)|nzV+uX0I8X*r zI=;lech^C?yQ^k7>r&sdvzOjX{!B{$$3h@IO`PEB>OYth?SC4HHg+Nn`WK4!Nkr=P zVQ1O@D1J?uzw_|KOFT)=y)8e#u+aBw+S9*GI7O*2o+lxEyrXvyTNUtAa1{^vV>U*x z9^6$oh9^i@8~z*CH)_R+7g*b09tK?_Gsk0kqT=+w4Xk5qjGTrY%doK>;o6}Qftm(zM&?Rv?u;4@O4(8z~#S?v`>nDZLd4TRPvkI7d|I*xWqC$ zIygi}qm!rn!@5y0G#I>LU=B^@$PQZA$G+%yiCLE_WBJF5sf%|3uh;dzq5UtT_FCSE z%vLls%<4M-t%24UF~t7rzZxegSd+&;l0c=vqV4|(4(wq6@ZUxP{J9XOwa{gaV^5R(_WGep zM2-m6k(YWGa;!WuYQnKk3Ecv^irpsYdG=_ZE(q${pA^-B^V|H7G9LGBnH5uXg-Oul zd>sCSv2so4*%PbvKJaVM*)l>@zarC|yKi&ut*Wt$Mg=-0GC-;5N3$%+4w+Z6J6WV;VT{zmJmW!Z`sl-$`^7<*erYZMQ>GlNBXR3v)U zHA*3UD$n!u0j;ACY>UM7@|p1KYjrW$ovmYjOOOnCCco9i#Xfb*%_;f5!|umG_-Q68 z>irD2=JbxJGVG*5&1z;5d;3|1F^LawR@;{}ad@zN%n;X9nCRm|mZouhy@ zb{a)_HWMuD%6r>4cWQJ=ACm@;qfBiCZ?{=8S1X}kxtn;*8A~VK#+{$_@HDH?!$KSH z)$L)XKVUfL#@OK1x}ybPWAm9uU|mCPTX0xQ-ufhHrP@}iHeZf>hg|+p(9Z*_L^xmzYZJuUqw4dHRoy$cwHFx zzI%6x>=@Q<*bMZS)QE$_VHuS&5?N_ftI7ao!zq>HL4B>zr#^%7m;TkRH<@8SqKlgo z!^=k(SQS>h#<&{#yEWqB1EFA#mgI{puq%P;)$Lh^isRrtB3d~>q}_Qx_w73J5PR;L zxZyA|wf*F${+g^S?DwqDvd;<9KX$*Z*rJ@J^}Mvxkf!3quZ$65a$j*=LB^yU#G>z#D|mD~0H$PP$^OuIzmc zXcd>dwq3*5TlO)oTATbs8M*C8^0Jk({!BFkE!1x1(kk?^x-4UJA@F94NEO)}t9@z>9QX7O>ZQ|`Tr9c6r z@wi4mi=qaGIIFd_>1+k*x_Ame2Yug8QuWE!KA~h3MogG2)NA_@r{XyFd=l>hXLn;b zG4v-V=DKC8l3{6Hfu`qj3NbG8$tA~V3G+pvDwF>{ODw$+0)vE z))VQ8Dh18mAOFUJcMzhM7w*BFZK^i-vM=!0t@qyHBamG6p6j%ty_-*qsB%J2Xw@ER z(`k-PRoE154Mqo`nqN22<0reBF-I;(U^X)-qPy(F#M}5@!)E-aT{5hPa~7#-)j{ZU z!yE-hdeVJfp>&}>e2G&!jzcf>-SKe4#np3}{pf~$0!bT_&!%5moJUv`n+ADDCMtSE z+L6KGO2+<&5oU?rsHoz9cL5klZn|P-Yf45J1?ic(Orw)<;~w|Yg;Ya~{O{6+TeRH4 zBPEzjweteJV~?MWvZ{mLk*q!I%RG~2j6BAfC4Xzw%l&#J& z$<}vYUd?B<{@9P^`xtniwu{VsBj073QHN`aoE1JcaNAm@Y71QNP@*@z+~b*LIp@hJ z;41$WGg{?M&+p`s!erkTkD74@f`P=j1&X|XI^6NQNyoO2eeG8mdrG;THMQASv+QrO zkh{+o93dE&#Nm~(&Kzbuq(a)>m#UtLEjMdS_Q<_OD&N;riwQ;h+uE?PdOPhg@3eZ2 zmg~;5*jw@L$6pzMOUO^GELB`4xxXd5OP)Th9RCqDx9Fpa$}dxl^N2V)3fbx@^H@~yb4zjSTGnd82rIe<8;`$-xe zQCX>&yVq=t^0G$!h;;A#yuizJ^jmTg=RUm#H)aXpKdvvd4pUap!h9_5GwElXSemv2 zn1M`O52NP9I>E*LOr{B64zu`w^+#@$T{Ul_z(A4ku(_8_@pLzoAL%Rm?O%;~trbU0 zp_gPlz@F<7;ulmgFvAgER8`lQ#;q0}_R*Ipp6rEPURW($C<98_3~!k>rN!W5tF>fD z3g}n~oJ=gOk{W<+TTI|xQ5p^2ON+r!2kmOJ@VV$P;*c<%z4rS8f0{KyL7VZt(#T~* zaiVpK4PA)h+~1z~yo|d3t=HiGpFKexJ5YDLGG2wAafqIQ*^pP4hes1|Z?1USPS*S! z)e3?_i@cXQyM5PV`l2*}eGF7GbMWF5@%q;6HX07|m!Un<7K!w$K29fws_M zZLp##?oh$CxRc_=J$O=2~Oznpd;a8y1FVLBA@HQ7J<+OPFiX8U(cDUDviXw zMb*E?K z9p@W6)%J5uQv5fRz>9TXE5Rj9-WnpAV0T&No|kMweK(=B#Ez7k(4LgU=2Ei;uIA%( z{rlnmrthSAbNWr+wP}C1&(t9iyb?-d)ts+x2ajoTT~}09UQTgb z6msjhJ2VhldLfhFSHo0G`lbCh;t}o4i@=DJ4^Cr=0=onc+rPIFh2o~dbC*MQ@$vw$ z&jgL{4o2>LH_0G9z1|i|G8_*ffw(e zx00v_&;d4aJp-y&kWD+?^@&ADC zmelwH=5BT+b#)00<JpmfW}a z`gN+>f&_owZb(30US725FV^94a$gR3w%UTvZX*a;Ud%YlK=V=4+Kk2EPn_G_!WS{lQ8HhE%0vW}dJh#nf7rntv|5pr)c) z!w6<$B(o^o_CHu!7H8?z)zx8s_fVpDKVSC!iwXMX;O%f?cjKyb+@m{88!vGwOV-rF zQ+D{u8_*SkJqdB$)fR~*ob?Vr?vlVj-q{U{oYi)db@}u5w{NyK7jD zuw=`f3jF)>#VkRr-}{Zdez#1z+yD4(`nzLH&m{f;y9>94RJK$$cmv#yIg;k(i&{Gj z0S`s*fZW~Pg;1N6k<;_>Y{r6^-!MW$OCkB+xb+r9NNF3CD&T-P@D*Edqd(ke6>7K% zyLk&IZ)iZO7%i+1u_xz%>GZQgVY==8D)aK87l@ig7y1xBc`Yrs&0jw{J3BEC*8K+$ z5~L9`>#DwZ6r6KGIn9<81xd-tZEbB8<>iQ7RjL4Fca9V(zah_jqsrN2V zYiT$uln9VcQ+@cEJor`J^rA?X3bniHRebqyPl_w1$H(cnUwKvg+KZ_m(2pPWo{8@|L1~w<_wy_n*~AP_F^+k0lx(=VgQC=#hyeFhOWWOn`x96v z;Y!_cPnstO-``M40}?pQVj%X#8DJ~McTJPUu7gQDkySNj7=Wi^h3ISN&9-_r5o;!0xI<^bWnLtr8il`CJA09|W+Q4=P-7nAvxQ`)64zvXf{ z?4(GsGALP|mo$Y%MNiImh^Uxf@de)})7;~a%F{8tv7>gP0f@ZtGEvvT5k@v;#~`=t zmJfYnTS9#9q$i&r8jHyU_u(d&96n+6KO|772yh^elYwEGs6x5@ALHSra#|#;8y-7O zzeGBZE}BguUd?J-Z6T46^L^d6!0wY!hvDWvWJahUARQJpzlDW_iv(RwfZog0U`IWP zASbD9j*fR!=K!2DXTB8pTyDYH095_msG)IS!Ng9fySQ~Er@8x$$2*qYYc(q(00H*B zj{pEc{Ub3RP=Ve+`1OLUx1q5mN|bLlxlW1l`1H~8E`4;bK3DPr^!=vr8Wr)=9YkrP zu!T56S{eS%$}6-z#qVoWjqm6XMks>7V$Z%~Vf*{-dTGHuJPexyBfA5MfXKz>#mULZ!@EpHV+VruCZpLHS(K=d z(^~@nV^y#1y)Ib6baI`CD^AD&n=?;cLQV&|NHwXtaagIUa#?@`Ig50X;^JV0cngnU_HDB2rR z5=XoV#5sCCo0x2vy}c0BN+zDmW?fSJOa+5F^%um=pMzB_;w0|8~xY zhqf38)qJ%MbkxbNgJ%%4^6ESC!Po?>t!%g#j^{k0jx7?0t$#G8&F40HY{?&HcV=1v z*>S^Tg#D8erZyCX28V3UP1CKEec!nL$VH#rsvh0voWv{SH%Mnj4EX4CH8dyCJSSLx z2695p_W2q=jttuhrriB(q>MPz$)?*FD@L-|7g3ik3p&?+*Hlqz^=jlqYUy5_%7%*zrE4 zVddH(^Y_mOMiC_jG&~VY$smONFg1;tIxC>%I|U>zhAb~HlL3oJdF{X2+gCz}E!zF? zrD7O|n~UEIaq;rjyQ=DMAJy;gTkoX0<_#fR+u8;Mq>e(S_$)%OoqI1fMnP*{r1W#j zYyP7_rc%%gOb!m*%4q-Ev2^FB)<{$i&n%tJPKHzuPZ@LE1TOSw6vZu-zq%D*Ob zE!$Rqxungrp4@4kL~>jLTBPhu}7Or2j}RM7vhW~-juLGh_g8` zap$C9vkNIL*itdei#s=DR?bdpW!pZt_O+IWMy#ib*CIo}`0dZ0c*2n)`U%o$8}??g zgn7OvR(9xbJ@upr#GIuSDW6sGMSZclR5lkb&+NPFiEOCZU9If*qN@fGxDpLyd_VM;CPX@(p*E)BfDW z&OmeBfwp0!r@ocYo4GgOsG+M>p@1P9e?l>hdaO`CKc&g&Be|%Uaw7mtcR?qyGk|fR zyk8TV*zqM%+cKBa;q_SF2-KcHcQ=CFzb;I1 z_F*SunWr57GGbfDJ0jC6Z7JnNBsgEHALwz}{3NxR-NKwIomw6sAk)vP%wf!GyXxXE zzDYB~Q8ZBMTi4R^iZf~EWbCr5h)xn(qvPas-VsOy(+<22e)#)(n13X9CT`;d;n=Kp zzq6*;qypRduk|WG<(t^_(!z2NjP#=gXia3O+ARTub|UF4S|;1T-ZQbs_URkFi357@ z33=BY96dNj)h zJT~T*R=VQ6cS(IZ;0tADTK5XKOp24XN;>sEZIAh#)_z-L(v(3YB_)-Ym%CKI$EkQl zLekgQS7SNvQnRy7Fnae)IL2pH25%yf_{rW#uD~>3qoA&nLI_}K?tXa<$vOi>s8v;5 z$wZHRvDl3IY``b6ZsTY8Dqw#4>h5CnLc{t7jf=5D8YbRgM#ZfMXZ=A~-^wl{Cefg? z32FC})K|eHsC6mHKF{wT>s5)q$@mF`k?_1Rh<~{Er<%4ogdK=|hw6F)I0O$=&~d#$ zc4YXHKrnO1e3}2JYMW?Wa5i)M_yd9*^=Am{p)dawvNrxfSEc{Kb^qhMe?S<@YwB*@ zY*b-QMyc}O@DG)!itA1*XubSVu|l_Zxq%|1`KF5KlP7Ed*@WCibpOExEu=6}2Zs?J zLw&2R+b;96utHz?Kg%t@U5kF*dwN-#xgEQr%|R2v7p+mX+l{x&#@1JQWj!44fM32RyBr%lh`hG>2oD2n~s-L*0th=@IbBIjCTB1;zvd# zux#61L$OHTzI(|Z_g(d`;_R`|fTiVK!;I}%cSj!EnNr=PVLw^LRiUOvYi$6NKLJO+ z@=>VP)XED2fo|%&T~YnCZbu-gI<$-SRc}Figd#hs&RdiIzVOvp$-+o~_9R1F5_SOASx2?`PNgT3d z2C|w}v?-R*WAAxCkN=u#54q{>JjZ)ixUnW5fgZmPA;ib$_>)~Q+7sfM<#U6R<$HqVZ?~oM z%wq`^L_qr#|n_XfwQd{ zE-bwEb#MP$Wb&IJ(Lsr?i$=LU!wa&lX32Wcnrca?_upn(B&dH96`b$Pn{zI*7?Wej z%gZBqj@%o1h|AI>8JUnVhX{#cAlcbX!Ly5)a;?t`#EV)qf94cqYZ>YO|BCu9VtVP7 zIO`p9@Vv!%PF9VjUsGfI#~!UA9z2Jn$x~016)W1wi3m;~n~VK^BfniUvcB7=Gd>Xt zu-d$NhVfT*K4YLLddx%KFs;^`;J@2>jx+eSSeXZ>>mg}Uk~TSowOQYgWKY`dj~VH& z;vu@Ww&0g+-^|QSIn^~NVe6Z_ti977ev$qCD( zQo!ANKup7*V=xP|go8HEjc}gebJ7h&l}VxBE`m3Pb7&H3bZ{X7x_Z5_`vB(3&uq*3 zJUY^Rq%?Z*dEilCB^ZO5-u=c*d#LQqNu-oBVjWpjcTGXU{wnLFFE%RXK9;wA3G;8O z-1;V%UYh&*{fZU((5-1RdQx?<(dn3U|M0K!|2Nn+d8T&laA}Bm)bet z^7C^baQr0iFdj8Bv38Duz@4;KFp@XQ+T2f5_b2Ax{!TYB0B)E}JIooF)d}pc%VtSw zU0qDQQrZ5ra3``)RU7r8gMzcaf6lcZ^@Z830xo9RTPr>q`W(|4BClsUTPc97G!L6a4<4nj<^16Wm)8Q*;1c9~kI0Gimp>YRgLGwJrevjXJ9 z>@}DdAwM+Q;I6^Me13jn!qV<^79!ZtgPBaaw&N;0&o^vv+~J$%%dl|Dt4-Ug><~yp z+RLcpZt)O55_Zdtsk^D9Xd6^OcZk%;Yn>_|p92=@Kj!&`W6octuRJ@tR!?`pH%h*u zHh=qKrt&ewbmW*Wa20w**WqrGuY0d&=Xw|_mB`tx{n>G=Z!Jo|m^Osi*z|F*2{Y8C zg@H#|P`CxZV5VNBIG(tf4e>_hL|-G|swHjAX1B#d3UY`ro9EHn=IyL=e5DWjQhZ%H zp!Fy`P<3;gnS$c@c%}{yzrcl|M|hO+@n%{5c4~f3R(8qLr`p`881tPR#We<4^pig9Q{%b zxif1KK}rq@+eLH?)r1G=Tfxy9Ub8(-Eymd6t27B)WC)Y zv8I#FEM|+pUg%BES@J6V1XD7(Zn(w>rR?S)txU2Helyxrh+JTQYk1UDRJh)3JOSSb zd(G+ULy_F|7l-lj{8R-M#&KFs-sDazMmq{tYKtQ4p%gh)^C9AkZbB&{xxMZ09}5|O znveERb{#nB`0TvVyy+WL_1`mm>kG%EcLgyk`VLrYdBzu`5k#S@e%v8)g@a*OY@OYu zHnYqU!ebhNXJIxt#^f_DS9fGy>gE0AV>jPaC(qcp0aK8kKA0{sKb4eUt-y|W(m97l z8c=Pr(}R7F%B%34afo5`n&GC(%Sas^os7r@N%9e}!GL@BCk6#_4Gl*V7^6&6mlaRm0VjdIi1wfwMjGgjHv>(@<%}L zG#s~%b9{?KAO>++-GBUi8hq+Bm&|5Cj+WYDXsX^RG>LlwosmODElv0o|4}w$QcOY< zc$s{eP{PbOB!%ykL|x&dXV}mYIjiLyT4&-#6X%xu#e|`&!K>tuy_1%awW#6x3X^hy z@mFN{LssqW&lyAshv%~78mc&$Ab6Msm3XgsMhY;L_!LbXU6MaR{Ya&3ftluGuCFE| zqqcR75L(RY72hCIgro8&;h^zk0e2N{^ZI2ltRQFcW_Q<+H<9yfG{&J(l)p^C;$T$b z(M#5g)?|nFIyq-v$cFe{L6-qptQ&*wF|F;zbiqn?ro%s400-fAM+)|%t;~45C*`Jm zf2s>DWU#&Qu{BJnXXa5ZDz1WDj4-Hv{{vqBSm!;3yqePMmvi2_k3CxSWi)!{1I31x z1vQ*0Yo6#DM1f4k9;a zzx<~A^!2-NPu`@@Fc`Br8oEVjcWW38Kv@Ji)pkE*G6|$susEO_D&=T#!5qw>f@|va zI{1)M-kx^kEoA?pOsW9ST*e6yFJMDI&vuJVmTrSbyQIdSc-RP}U8ay>! zI#+3x;j#s-f*l+C)Bo*0ZvN9mp-TC`ihC6IYRMmVli{ zBIX_H(*??5+Szo)CnTYsbv;$#Omz~`N9ZJ{m0Y=$ySsOg^Q@il@slVe`f)m&P)v}D z?OkwZVz8O!GUVR>#-srn;KD~X{~ojf}=vAx-Gs2e6Co;!C-r} zw3VS1J-7MDBmJ%rgC;GTEWgA0XqN(*)R;^KUx-_?`VDeL?Bzjuv#Kd^7vU3fW_guu zytgrqm9ust*SdX#Iz3ZwWt`-7^4O|Yh_W#ko1On|`YOFq`|VFX^B7Jd+(P%ntQ7NQ zs@}OS)9j;LE!xMfb(l>foGW!os^Nb>B%8&K{t7n7fl#?~y0fA4`9r z!w;8rKY)L%$^%i{zSXjE&@R^rd^>Z!-Ra(S@=2nXRYX3%ykgwX?}6{oi)VZ8m(Z+H z3X(2Nk<<9Zw;K6W;IzgBFFq9GKTStfnFK$Z4-6g6YvQy#uy(`mGL0@=eQs>9_4*^# zE7F&}4AMNHya~Ey{-J?@unnkg_q5tI+$xE<8PSo`MN_p9CoFuY$xq+ZP)d2Ozlx8r zOUm!ahV9UqaJ4 z`oO6L4PC=`=k8-*QQDJic|zK!RRW~MMhOCbPq~Z+&9{DG2?}zH-8iE6r&rp%YxbB& z=@uiKspW2F`y;X2Q3 zzl|D0G@(Q44|4)dQ@572Vddd=cqyz&)PtcRK>>chzb{5#zB&;9lBgLmX4u8md@~yP z2ud=?8}g(0YAbz4UxjFgmGGOrORbpvshp#l>{)`9de>CpH0Cjg-|kUK5x)H%c-fc< zmUdik)9#|7YT)DosNINgI4SjSXWkc~K)lV@PlDNh-RW3KZz)ss!C_7*+3fgw`_>Zk zFa>TWRYNsDuXGC~VC5WOW9;bpBsh+Vo-YnG$@?y=;Ofx2BTA?W$}4`Yd+~#J>u_^v z*1^z?EMb49_a&hSKbl?k%hnyv$l9NHvRcWfayAD)&usUOjXaPX%>`xZb#-Y&tizE5 zslq3ENwQrM5PL_xXl5Hquu$ZxYIZL;b?vAnBXdrV%dJhnQPVicfCeVz24j$ zrH{9^H>K-_t7&gafu`deL+^0*ZADS^F1$KIn)#4!tk5~Pnsyv!F`Ql_Kq11yGXV?% zg=8q4YmAq!flsJh+pa(ly@r}C-7B+CTyy=YVN+MKO#t5ZiJlE!MPDNFDNkI1=~js- zXYQz5b7p6lMKh|fnhhZx4OP%h!AT#84)%id*+^r(-&$`7|$N$JS{ukH{+iO|~`Ab`nCWI*_68#^8`@e+N z|B|2o7J;1%|H?O7=Dq(W{BFI6|66eXm&yIhVM7?sv%bqC1Siot)a>5oYN_HadoT2z zG|F9~TV(T>==9&-iWF%RiEJ;U%yHqn_f2puD^{mf_VzE_Q=D%hrJ!5($0Jg}6YxU; zJR*a?%=iBz75UF>E8_pYtd_me@!q3DyccKSXO5XzAQ?;Czb%<2$53ytmv*_d5RzW< zPa@<#`NU!1LW;JPJP3(+kK+BC9QlQb7;bT^b@x!AzyDm%Cy9XU1f&GiN>!SQxU96s z@q`LSzinBY(l*j_+dy;fR;NXtVoRs-Z{v$K4O@ z>UZYn(FY|``$rTBI;lQOWiBk-Gwq)!F-&)GY(arNiiRQa_1qUw<2;!ANJ2!gt3GsF z%Fz|*vyjeR2Rx{w1!Q!IiH4?~WM(W}!-sRN zyV?aSDSq)so4Zr+qo__z`NXPfL!95k@fzEtC}^Hv6!_3FkwBvlKMU4N%{G)=|`<$W$j8})oUCuTm$WsY3Ny|}^ zOLn-0KdGJ+CLo+CH`_jZ*Q` z9=kV!H8}#OGi6;mY+gyxD0A5*;XWBBuUO-bt4$e)NNTQj!qIP0#b7 z_F%y~VoU{%woOV@U}}J>?CVn%BQm-q0XmR{dakk{9?k`P)Q(+o3RpKMCR>K(*=2UwS z)sTvZXHT(97jdj2&Y1~9gq=hibLI3k@i=*V$@kT`t6%vUw9p;B#mr@7L7S$G4$*grT`yF*N=qOQ{8=OcJE1~WNG zuI>}Q+Ten?xMk`(11!I`UyUCex!(&hcowaoDCM@*AmqL72B}ogF2US6{S$CB5qg9%MI#nIpD$$gYi!3e#7VS6zF4vk;G2tWR)Uue^;HSH8u!?P;8F-HJ8-m z;^^pAbs<=B5MEQGN(pveXXSae#&ldp^nzOh-dTRM`1q1daIr^ za*a-=P!sbwFFUIAnUy3q(=D&}9nbCFyt?oDHB!3LbpH4!`35J)eaY+s`#AEkTQJ!EwtGJ4==(R3~Lf< zZu-M$D?l-)JNcG{x6s{mJXZ1*2j&zmvR?tc0rJh^G zw+Ie0#_Ud=WMheGI54g9Yu%kKHZGDqlLbn+8?Ss(?U1;r zZ=}*BS#*X;cid#Y>Be2gFPLiJj259qNKwGMP1y{ga^W~@baq-N>kLE&=90FVsQxu$ z&c5ipmn2;Q+6>rW>a4vu@@u(AO&6{Th~c5Hav7ehj-?Y(SRUQ8kYB3(Id^@??|A7r?UsZ;Xq`A8NW*94LP$4L`S#$g&iSNe^C)* zL+(MCf$=TvnDzd5Z7q_qm0ky5EUZNbDTc~Tfz`vjuAE7#tC-rXK_c6|a~ zLyX5HGv`M#g5C{BW5h_xzmT-&s826#6G(;3YUPXx$-dJJQRFkYxhigN+&q^JNc zlo({+ZIs!d_N;7{zRD`<@-$rWrc#G`^AOYpe9s9bARSV9D6Ejrn;h?6pAw$Y(l&k- zo3cI;&p4;$wVkiP0peBKl@wlSc~>m?!<>)N#FnW-Iqp$O^{#!m=%Imq93{RD`KaFN zR2>kwZPm7PPw{xP$6^1iztj2g=Q0L-|EupjDnFDoYnSiW7glrAf+*w30h|J}2}7QQ z(*BlPc%LX=_>FrT_nPtnr@0>lCU-fp5GE%P@|S<9#uF1}XQvt|jjapFA_!-|e{>~= z_nalmXN#!1yiN0E1jmyy2+*hLqhcTTB>1~TNYeZEGVD%XzNoNuV2#)d>60bDZWeZz zCWtZ1;&kn!G8+ZEE+R^D4;Emjw|nhr{4`FAxcFkvzVW*1jQRbE|LZCj8-zbgj@Zs4gsUws0TC4{p8m!r4Z+(~&PWksx3jfG9Dz@sGaLee_`YoT8GqnJdHx{4%H!5wEjL8G&-x>_Z%3jE_b zrcRkpwuT+F#D*?gVgr#D&|>@+C?!K3U!f0XZc^-ank1&b(eHMtwcvAJ$6`m0mO5mP zv?0K!-6v-J;;n32(Q#sPiYt%jhuH>?%Er-7FIZT~S=-sCj_Lt+vR`*fAQ`nuVLq>8 zMcsVoBrU2Ry!kNXL2Oh!L#}w|@BafIypUMZ9A8U*cx$obmpC3h3 z_MxC?SdNc({WCy$P6ZJB*9q(m%+n52shi?QvNSsbWWg?;Ff#HrF;vJ%3(F}jyP6wc3vppWr{2YO_Db@7eTiH_&1 zcz6`5Y=9A+JSE?F(3F9%F}w)7C&5Rp8IubREFWOlXpK-3b1oJ2YSKYFK#L49hzTKN)GxgDKcPL}~r<++WX#*@@TK6rU-6pB} z64WzXR4r3F=cbay>GsLSO*KPq!e(MdphDbLshTx#{<;)Ptp5cfIyEmz;Cv2Jbrbcv zY{{$Rg=8z?>7LZ<{F`?+Rm+~zY&H>;kM1?ZScz+{eYK)pt`gKP;dnB-T^W3u^sC9R zK9Y?#Q&YLHZvM9BY%Y^U!}X>IDJ{lVnb&jlH>)!eKu;dVx)d`WyLPm{hpNYw5Koh- z>4u$szYwBeX67S##?7(^Zxi;y%2g}5$pk08@6W>-mzK)L?ZJ>wg`39fNnO|aaphkI zw}!vJ3S=&rk#XAqeu%#6j$bAK91`h3H>`3^d}9>zdF+I;&U_G zAZnu}J2om~xpogFLOI-hb1{yIVU9|5cyk>mldd48=kYPVzo#ngbw>i5e4n!Y<4{6B z9`vcYvWPAy5LX-901X-)};qjQ8Zv0^O!%licQ;q^@lGWz$mVkN7~p&H1w zPD#6)3QJ$TDz{a&vVxfC;y~Bw)>axmHw#s8yex^{y3S*FulI~(jGxH`9I5*^FVuQh z^i|`A2%z|?;}SxZ`|F*=1@Dq3DlktY;Un&l`qAnB;qs9TIK8LdfL2%!y`Z!!&yf2E z(~m)BQu^QP>Pwg_s4oZ=j z=>^(<^(+e+fY0&JTTXA>vDyFZ!Mfur5_f?WUmM_=BP6bV8GDtyLlU#gChVmX2c@^@eUJc^ZFx=pV=0@Z;mVQz`|XVe0mM*{$`C@LSg8<;wK zJYCjCdvbHyn?izG+HJfPbYDdPd1aHx**%rl*LNr~`nQJ+817wbJC|Y=3`CXO9J<}N zxq~kjZO9a=f4WaW)C+XqJ0f*g(=ZhA)+kU`Rm!arUVHnBba(G3u~|*b5B9zyHuc(z zr)GBL&!t8dogGK{w#*0%-8K@p==*))%RHi1!$v5X3O)aAL-=W6}NYkUywGe z2wDa$+t46fVxx)q${eBhDFKLh_dONt){kg`nOO7iX!NKptrcN-c8Xo>~$niHJM*JW;H-N)j}gpyV+0e=F-2+^hbT<^}- zJI59)k&G9bN{K9`X_hQv=1V3J z!T{n77P}3j@%trO@2clDYNRUWcon@hrxeKVRP*Q-UndJ4rCwgjo9TQo%Ey*kwh`=$ zoP0Ehh+|tFj=MiZnq^}~U_86#zFxiCPL%VVJdj1Qc?OeBTi=oY`o%(WZj}Wy?ZI`G z5{dm~-Wc<`hdZd8aoGNnuRg6GBp?)YHJ5L^$R|R`TX)i}J7ekreJL! z!Dw@OplxO(92y!#o?2>hGgbSf;3QO;eHf3={w^EHGRbkj&^I1pJnaP^Bkdp2XZG4Vn6zK8IK=n3cp2M42Q1_R6^Md4>nw|9awsR*Y%LnB8Uk~a# z+hQB$48|RF@jNR3SteoUdblN6EENGFj721{t%kDcrK;jWw>!E-NkVX>wJ(3{Uc6+x z=62|$Se-x;lhjyB)Oz_<_NKDp#SR7pvy)<4oyA#t=53Jp-RZ*KenzATeH0NQ7nakZ zOg^Z#AJ^m+PoZN=%9k$_>3%0C1Ruv|Fb*;5{jC3_=a>nzo8v&cMDGeeHSMFry`NG# zm$zJVCTSl#7SKPLa#y(O!HcJI`K^c*UVF;d3)fl*U6HdLEqK+luyrEl-si3SOHOmQMpv_@ zt20&0x!f|yMR~#c&kt|r3j+OgT(+{f7MwC>3%>t62!gYz_a~ea&KKFaz;;kxaZI*A{?LpjtzrhWE7$KG14MCS;k>BhbjF%)>9@5=Jv z8$|zG%V@Mvsm>8Yapx|5Cb*ezbY&H1J@4pjTTZv`2i}kl;iNZ%>}_OH#us5!h}@ox zwhH*%^(8?|GRY+z3h@1PM9i-oLvPrayl#us%`2x9tj!`#^S$>Z-nt59%>O>CfD{QU z8EX82i=+>2>8|7g?_iWLfAs~BaX+xd-%Ol9PL0mKnZvht`UV+Np1Y)l76T~e-q2z!dK{OcM^Sg$tcgtTVn_ zcE7Z5-%4}jIR@Wyj9r=S2P|YV?G0>@(6Ednk5$W+-&hrbXx60V8dRJNE>8;yo=}qA zmr1BGmmfn=`x^ioo+gyi(7&HDL5x#hOloH;03kV2U@IoVBG}!D8XWT{eKE}u4BAQ0 z2uoRxyacZIGh!(9&&m?T{O$~{ zP9ocE%SFTFbJcdxynGM%3ZL0Q`Sfa5_QdEK`CPK|yBe+W7Q2HacB`%Q+%F;G4ouKQ zH`fm)Plh@iM^>H(($uh5=re85XrvTy*Fn!{L9w~){E+vpsPUhoViT0*%~m%}qBmGW zBIT&X9jhS@2S%d=GmtUFc3-I}|3jA@J|^5Wu+t>5jWXZOR_LBYa{*XP8dAeBD=@Ix z9H9}KX|=_p_y=yjK8!kLfU(eKzV+$Cz`1;`8;*s&Q@EO~?aqw_iql}Zpr_)yA&~K+ zso`gBBR`SEO7nzQ!ugzxmr^85vniFj*txS$3)3C7SjQ@Nna8JY>J0q)mh~)I7PuLG zswvlDY5znATG%eiLV{!Vg^60@65;(8D*t4z;eP+?eB!K4?8WuOXCQaH;LT}(`Y z*>GiHBU?*ol=-#cDra!}W71*3C; z^N2=b7vGh&>Pm!2MNB7c5Z(qM108>rA~Qo{O4w6EbJGJ?l*bDrtJxG~@}(UU;_Fc@ zzB&g@u=EJ3M*%3~uzY%KA=VI)k%@3*$XEs4% z{7pEs9vlqc>Vo%MZSSl9zyeL%Nru0hHdvXzVRr|AP^Z`o9>awUp}x?Mm53tP$G!R3 zs#EFdC-H#>F0E9|jzf8Y9F-^DT0`oOBqHy6jR#P|DomCeeifo$wP}#iY}>D`z!|6j zA$u>EdQ>;jBgEMK9KJRB44^P%)vy-ytB@5l-1HSQhv^9fO6`E_; z_EnvF6UGOAwy`~{ma}!pETAhH#+UeL)EM57I|`2XTfFL&gV4;C^5X+v^V2|Vf{0Qn zGjf%lO!kNn5E3TcobKz1#EZ-KG2SWBFkD4dWL+}n)jBmJ#{*dfp%~2~a z@INPLrkm6j+l6CZ3C7A3(!tM%J@cBFO4$0q5yO;Bw(wt$y=AHj?P}XbL_1`8F%W|DFoiTV%|+(gAMla> zxh(>vdykA|^2v;Q9ZUMvcRsugqWo8{&YRvy5vq8h4tk_-Vw)?Ozp6M{PK3WohL3Rg z`z$lcHT$)5+~&YqS1+XgqU;<#$i}X zLz9w1hP-@u`cE!hg{NZe7v5d`Zq`t+Zj`-Smxi>8MSr`Niu*e$7Bi7@8=Wq8>Mda5 zDo|3^&$?hZEXqm`WaT*3*w|}eqNHR-c;%UyqE(mw(*Txxvg4g6**s_wS4k6x5iTZI zF^xJdAf6?!V#f5DavJgTi2Q^wlcO)s1RI_!v?zx%x7!u-h5A{t&$%_Go$d!~3ZLEg zpEvk$_rbxgAYEb1m*4>*oHemDm6J7b>h5(a9h~3%& zL2E;*{hn%0@-6qzLNi@zCxiBN^!5j{W}Qd=ChYBS-%Taz95*8BAzW%eHr;duqI=EI zUjZEOhd&Qrl`@h!nM-L>u6Qe{dW?|3R>x;%(f*O2ol9dXv&||P4sb1S)0|l2ig~#q zt5aE-yUDSBZW`A8wF6O^?OL;?w2zog@_k%uE#pWm2&3L|T!RB2=r z_{8PBHEZ^fC!04eJf3t-40UT<{`(l90B*K@P_d;#RMB($DAPD|LmA{alv^+qw;09ugyW>k#&Zt%9o zmP0JD|7S&wbi1SH)hf$$Ck@vQ!95!NGL`RCl{4O&JVm9*;#5atTU;!!ezfV@v1ehbZ6IrFfxQZcfb7x-{F1 zP_U~gUfktU3#p;E@&7~HS4P#bZ0jx{5G1$;f;+)kxCR0Qcemi~?j%^y5Znpw?zUDS zxVyXi!d>3V-us+;#=G~&dtu~fMp`#sio7m9y{pF z3n6KP3bSqRPs8k5o>x#;@cl2(>S)VP5@#w%Gn`>B)t+|Q7)s7zg9q%#%N&F-F?;P_ zWU_Y_Gx+I^l;WpKYs1ok6cRZqM=K!L-4Eiod1sjgelAlQSbUrxU!IQNVsu%vx{KH# zResv$WnuV6x#2BE3*Wqz$*_$AS5&aJR_udH8O;LJP$>L^PBbHOa&DtC!(b^0VR}k` z_2kTF&|5UHkSjNBK;~F49zelC1=Z5PJAUj!q8-jCd_Tmj#P;-v_~f$jfNqv+yIoDF7Fe7Wk=?3FeJ73ziVGBw8*SLBUAx7M)4mU+66jIMrK8hu)vs}UgZBr? zq~YW3{hrLJ<`0n;QEW0~+4P3LMY{XAwLyeKHdRdMavxlNbgCX=A}3b18j)RT(NwW{ zwy1~PccvR8pq@MF>PD9>4_Y!4N93j0_)1fM#JIyx1X=fVhAZ1+>kN>R!G|}`2VWl5 zj#e&u#l*QZOhV<8Ex#w`g=pI?-;7B5*qAy=FXfCex|d-|YAT_4Gpo@PxUubS#|k_V zs3Y7@D^E~s(`{0W-+M>hes}#E(tfkz4JlVh*GO%4^>z!}|Fg|Lb^)m^M}=EIe>e&` zUJYeQpEY|NEYb_HE6y4Q9$I3WZzH!(JGve|!;YHGyU?8N9*4HGN#YfQDFm(%XWYV?3Beg+cO4xokSR zq~_+_QX2vRP+v(@2e&C`*+;^wVF6-D^9T88Xl4r58yNTU8c!x*P|`7Yj*WyU)IA#T~ta6J~LCbrY1Yf{&oG4C*xw3CL zF_s0mI+%R$IixIrG@*$uopQsGxl1*q;UGD>==JM(sKC#zEeLV?*ySmgiW{GnqG00k zX?>DkSM9ok%pJz^Mj!Z|>?t7$ zOCjeug&G>+EeS&5L(SaIl=4huVKY;t}QnEC#M6 zRRVKRNW3I=$!UjoRH1L$WdfbarN-)~k%~D`p>5Fa*eSFZTyIJ<{III*D z1c0?8Yuof!9x5 zK6w6~5tu^d_vQFZw-MIE)+j^Yi7K=aA6<*D?MXp-HH9No^q0UE&% zll~4^>IE5G@CEWpvR^9o8olF`zRsT=b3@A>H&gpC`9Ls(DuW>~BJ5EU{RLij-&@_0 zD1djenMCYg&=f{T7+8uu_66fal-R<0+SDj{x%;iKxbqs4@V62HiU6hYkTRDa`@XQ` zup0K|=A2SUsi(J7ALE)WTyfKEmSVApGZW3r80i;1hK}%F6&tyExkbxcu%?uzw*f@x z>#MD2x&UL(&2OyS6)aObtRy3FNJviKuysoZhugAf004@}32x%*>Ps=;@ox1FhNfTZ z`;(D9;pa83z0v_WQ!THI)i;8CDtstvXMh&5k$whDla&exDu}~X+PLOkrsZ+Y90SQ^ zN0$zS@|P^0rxafgvnbN4ZVL*hs7LvYSFR726zOp*W)4F=E=x#~<&IC2 zF(}yzFxs4CN6nolPcfA+7MJR8!I$|G+tXE8Ar(pUb=g~YEHoCII)6pdIlpY8s?%aj zJWQi#Z4{-39=^c5n$Jpra?m+&ptgJ>>JmS=?;^PiGr&Jl-?QS8U zM@X+cpW%S7cCd}TY+oP%pprE$&~##?6KQ*J-;7DrS)}WGTOsrE)YX4o0r5xl6ggjf z;T3#-u%FdyJF7p1`{i5PnM{l>%sP|s!Q#BNa<0wUgtwOaX$P7?Zf(+kd5N%`_|BIM znkX%;(T32`ZOd3t_cP{3)IJg;s))xSn{&QiBkd^bjAORpVy!boZ;oy#joX^`{Bd(` z9m45u-b&zn9F@TTzKMyy<|G5D25yZ>eDR<@#gjhA8EZu@ucxh?8OSO8i?_Ji^}7u| zBI;mfhPV6i0_Vn2lpLyXSoj+uUki&SO9(`=t%Xc3r__y(XBaIy>e$ySYty5c!e#6o zVibGlqU_?38#t|B)AgvLO-;C`Rz|$j==VcFK$x6?+l=aR^3O1m zNq%x(Z@nnJY8wA364Q@}*_gkwmj!9b1MPzBYD}`MczbH<%|;tb_ez zo?`}zi65OJ%6Z8)-KzMwb0WAIji^Lpr0UX)60u{7B9aGTi0)-_dhXPV{nbXyK1165 zSDPFNe7EqY2lUohP^cLH-%X6vQwNLCzpi44Vw0d9|I@VSOk=%R5WMlRy6~@$cEv%A zqHIzk17g@gS2t)8UK9>`>p(M<^`2&E>?BZF^?0G)x-3`3;$8pnaCa1Jwx2_*hy~da zGX^0YG-uyR?tOK%QT#e;%HIQn&Tc(^`=9pZW+(mNKf^~vMGbZPuRhRq_Z%6&1PMhFgLE@! z+5A)sL=d0Sx1o!~qF+9{izAW)8))vvD)y&3ycSNM&%hvSb~hFZV*72uv>H%T;BEe4 z>)5!1k4jH%$Tk?r_++ZTe4`h<0h|Ga^}rC zKI??gTiO2Sc1QNBd{XcC62{$b*B;mR=J?FvI!$!U)W)0R3oL?PuvfQP>NW>x)6|99 zL6_L8Sc~&Fvz3pg8?m&ggOlH9{N9oo%odX3fu}NTx>vq~PG^cX51QMqMroMCIT-b- zZ&d9$Usq6%b#@5bmI>C-Z)!m&uA*+&Hn+bTo_TP*%+%(fq`NV38IeKqeNaj5e!+P# zOJ4Up&+x8RoYarKY99KuB5sSuh>e<;Q+U9Zslai>4E}}Z8ALCynAlv#V8O(W+NhtFUebKm zbJpFM7+$pK`$I1uRH-k#kT&mPl>4@t6G58tGD9CX?mKbEa@l0_APX5;z1-1nAJ}v{ z;<6K9-Cb{c6~%IPAjf4F`=R}7nbyP?AwCL|y*kSNKkJR@(mwWTbKgeb4iY={ zX86;C2`lx@epFl$%hQ|=8zE6teK+q8i$1H}u!0Bhl|Vzt_ZwW>YF9j)m+4%ie#im7 z*O}_s$qjL>`A3&~b^oi&k@m!?V|$iN?D^^I?vvy0>B&{u%t?Rji>8Hzz9XicD?-mt zy$O@N^TGZp7jEZooPHK1>&IX08ZbHNJ>`A2UNr!$ z@9al2cpc(snUfgHZ|Cll`&P*Kkpzvi@788MrQ~fM(CRpce;=M`TT2o#VaijhLk3X@ z^ViH?^*MhZeFGOTQyIOx)z0C47cz0Q{DVC#)J6Acfc!fmOaO*99$R~DOTk%jB)p&} zztD3Ln^DWs!}pv(e|W(6!Nj;TZKtzEh2f(MS9e|4G0YMSJ_nWF_S?C$`qx%j3!pv2 z>gzNgP-)Ap!P4*X3)8rVBq~wtp}YmM)&dZX%pur^TU!v$R^Fwc)05N?Oz)91nyixkjTorKM{$nW!y>cf&iASGZFx^ zQSY;i98|Fx8LH=BQT7W}V@V_dnZyrEiKwIE15|7HYP72`ku+Bt&ZGX9j%lTX-IKxw zU|ZjGgt4L)pY(2omxp>CKKP5Xl?k*K%(L^lKCcadEatmIkUP}f_jj9t z{Eyz7cbTBA2*cBnNp7ty{a1jfdPq7WpL>06T%u&<;eJ#@t)v_HqGMVfRzw&iusgkr zkJkA6HTFc2eYb_cDMs&jV3q)AeHg!GbY2R`7Q*C7+>_%@h@F$W9qadWO3#B?M0B~> zj2Uo2np(=Nd*sq=!m$HRZFGGe!ay8*X{=o3xw)eidiov4MSecLk>R|(Ow4N3qY~Vm z+OT;i>0R;SqTl+dfW^Z{o(d53QQ*F_QuRSzPc}1du2LT>h34w+jHH)l$n)DZdDSv{d8}#kRb*h7i{2dY*-pFaMMUgM0|M$u zIKdpwrVtE0(NIexpX%|2psqnz+IR1FODvE8F1oxg%`z9ajEmC&8Qq14EZz~@X~=k^ zZ&0SDSY@uJCL|k4c;|ndIuHn27;a7v2)|edop*#BR-`q8TV2yeo_k-amDx}MJorf$ zFM4+>yG#M}--o_2q}^cS3U2oWSGv`mJLIk_0Nc+w`=%4BNkGbeu zPj5P{D|8ycSrRghLL}`HY;0)=* z6!>gON9R6!`N04@bQ|Dyup^?tv$2zaWwF*TDAer3C^8i8_AD-@c`-7H-witwHP1Q_ zn#a{w6OC5VuwlnMtR%nOEqB{*-wNra|8TB0%=P*Ge1e^rclGO9R6}&caT0dox_c(Q z)0pF0SYD{8C5O*rYnYW#paM-aG(O#%pNFs% z@`l=-uQ%Bq4daN*m6>A)TZUk3op8eharG zte%=@>2(S}ij4c{cSK8Do>*hPCe0Ub+><*=mEK;`d6z*BQH1OMH4uu^ZzX?QM|*!d zI?g1!h`fjRM^%aFmj*YG0b-y#3E1Sx8x!E@%BA-sMdpP%HspfMA!p}bz5t}pX6~cv zcx=`ki5oZx0(qMQj>gv=qu4u89F{#2ja2tjZX0gyS;w?l>p?7-&%WSA^sWq^V;}o! zmM_wb`rb8AgrD2NRUed1FL>@naLoH+xPAg#+w7u4_065Db1~YFK*@ry?8g;v zDF*MZ62Rg@haw^wbymU8FMqRG%P>=Zv0o+1mbHt%szSbZo2X_=%V{=YaEm;l%^Vlg znSxK)3Rh3&XK4`rTKQi*g7qFV223BclO5 zAW{6$=Ptx`l<~B*WOt+3T?m}*b@d|!Yhinsq6JSQ%>%cMuhMscX3~PP6Y#UNy!yH2 zaXV-az)5zVC754}r>?We)m;n_xFXe}z-upRQ6=meVIdNc1oyQ~xV6a&;`!3JS-_+z;R0NbFVr1S39HK<* zKu;93hwgzlPWxM?5MzS6BYKDvV#?h&2BQ%pJ?Jp|%s)=%)lYKv!LeA(@l~W(?y5x? zQ*;TV?X>wn{UP4SZ8a33y!|BFrYUcKPsSL;ytO-a*N;7MC0ns;DTH2MVx)1?GrseYCwWulhgf^e@&}sA=}!) zl09V0?l&;itZ?NRncM|ERe;+hc7%%}B4&IeR7&Sqht__G1;|X`1U>BV;dLT*D^?Bi zG+cEB8(Ya%*BSb}CAMZfQwu14!DvO^=7b;b+Qfe;(Rq6{5-^gOXPA{6p3*Q4wS0)4)jCMP+l5XJ*g`-aNJ!YC>7(%>gawX?(v zS!u%_Q6zv|Fkt_vJy7`+(Dzlxl2y0n?S;Xqenc)MK8wH0;g1V|U+7e(dU$%h!_@?K zt2H=CoG?t*nD3kxu-D{d=dSd80+5_rVMi#3Z9X|a&bFZGf}|x-+55A+6(Ge2>&kh7 zk5a1X&u@ma8uN$RTsk>7>1~6KYCl*PO%N%(Y@B=9a z=zEOhm2?jrv|KmEX+{;Sy zWlE!uOd^Zm&7OiC=M(;{{d!4Ko$XMk|3oQ(%x34SE6ecm{c|Df-WS@U(=908y1Scn za&)7@V>9#h=om%+r0)3r{qP9okAj2}%qeEY^&HWy?-e=~^DUNY(`BEU1-xXgWjY?Q zh<$M3e&?EE0{8Vq`4*v?K+^i$am9I)4ecQxo;|vYx3VIlBQGD)5HwI*Ln94kXK>Fj z;ho9LySBIoXU$ax9*aez6+vN&F0ps;Z^3V=sx3kx1S2#YCgNY0!pC{YBgTf}UHyFa z4|Ksd#;*EzTMS{kf@1Opq&cK$HO`blb@zTVaTW6TOiAOw$h=zk4f5#kEcI3z2uqbIU(aO9xLl{f_XpgIN>n}wq6nMd!Hi$ zI?b3q$tfRK)S~(Y5w{^S5WTqFkfACqlsfj_?C&Gq0Du5-hOfS6n;#@g zh}U)IVfCT=(ENpQ`)Tu~=I~e6Yi8Xt-(+2|Cd4<2egD2~h9-?I9p5`9n&Bck&Y&I^ zdKiznl|Q%+8FJw55&ZSa-{&q34J`sB8rG$QZ~&~kp}n_;K{5XUThBRyW*QbQulc=K zxoo)+?nb!J)Lx;n*z~|Iiug4XPblCf2?Vono zvFFy{<~mAg*)uSZ_uH&thhTQ&G~2?pV64pvz@ju9r7j=-v2I;3yID@|n`6$7fkAI=7He5TK_4 z6|fCL)qBw+SGOoByf4-J#G%nX3-D`>yd^8b+#H4=NE5V8SXt+$@XKL4F4x~ppnphN`x1d_EqP7mzVSN%6Fmtl=^Q?_kxZ9 ztmR6qN>Z;E%FukCQ3C3l$sO>!m7dTH0_ z;gTfDuqx0mjr)#U%AS2e@0K*<9RRR&f1McU;~%l)6a#_zyZ|@ROOj{5eBw_;D{3(% zmzhmG_Jd{DKL1cUi4lsbY~k~-f_Z9;I(PDHwBGuXnI{W88liG&x2m94t7Beu&`LsfqS zpXoGrj)A@q*q~x%0--WPb3L$5H97K#gZX0Q?qca)LkP_bnY~)=4IT+`GjpYg+y2@F zwE|IM$^RdW@mM9xd(dkN01Eb2py%4R1@ekIV~g^~c-h)oPll zy4=qnoXrev?k-6GMA)*xykj$W%MIp0)Hsy>uGjQ9|DY4=RbcAP+={bTAIb%7!aBOXV_Io4>5mJO$sC&V zbMTYsuxcN0eHzT*wS-=h)ji*GGA1XsUOF$8e2PvpLMZ?0GvhOly11Rm@gbEbx0x>Y zSatv0ye;ZfLGnd~{pE*{T6B8Ct!9wTb?ix~M_}1LO2HGTm90CC@aM%qx4d?K23vSz zTQri zc0hsD;|BZ60CeAVMeJUC(JY+x-Q&fk>tS~g>|4b{$TClUncE5(e$f-CNl&Y-;XUy> z-A~h5$f;+e)WHXA?d+UDVbQMnAESl&M5W)z{R7D(5yR~~rDhpe>Vftgbl~!Ax%{ZyzQU?3uJ4q+m(TEW#4{pyAlvzK< z(YaQ`bxlc%4U%~%$ePH%#7vk*m=iAsmK_N-ErigsMR~Y>NEN75`tYH}D_<;=b&~r~ z-n>wT%QxrQN)kK1_i9_+_}LVkgxY6L4N@_AWShY?2?eK-le_Fz_-!XY4Mp5MHlYDT z{XjySn_t~on8P#q3vM3Wb?=()g((e|S^eJ_iy)G}TUd7Xt2PwNZ9Z+jX%{x!pTAH( z=Lm7^r5AOVr|_P0IW;)>FVK7Gao7L5F=Ay^N?3O=A^S|O?tON1aJPc^2IV$lHe0Y* ztGE1IS+KZw@8&Uuh0lWDX?r!=di3W|Ns9@TFoK8KiI6_ZGf$_WvE;Om(7F8$6=!?n z{wHt^EkH*3572!Z^zSwXA>n^?`cHtEr|w^PIT8dUNL}z_`_X_%f4k|hqtM>YGGeAD z(nb&9u#R&0?SkU(_r`!dzaL1ZH&z#uOTWeR@k-2i9?ft4i(E*i9~8b7o8Dnc>)}HV z>iHqaf3qR+MNzm(?;rHM&U|-;|LsDQf`=H*zcK3n7y^1BqvSu+BE|nNH2ZlrAaS+RHv)988yT%WfJmzp8 z{XM49vZW$UhsCWmlG5uRo=;!uoDLVZ+x3C7KvhiH6oVzF-^|d6S+bGMUpY z?FFi9>llP+Xu}aY>w)!DTlf`*0GoPhGnH*?dz0WvU+HL>K^z|M40a|K@z(&<-)J@b zTEYE8`xEF}y=)>LB!Ga^^x=`V>z-!^!ULx6ZPRI_))_#6X#U`ULb%b}5q%X!#c7Pv z=}?X!XD;42FEOT4`MLU#-2-&6Mplbys8D#d4tkn`h`yV44EdEkTeYrNhf(!=_v2Ax zOELjkMaJBN)e(I*FVo;@39PAKyk$%{C=C*{r1;%DWn9HHN_ENuiP%rbkjc+RSMU@1 zh77n^?C4vE7M)ts5whE|AU4ajMwW@Rk0>9ZJ9~_-!~7T{bx1SBh;HEpU3hC~#o$K3 zs!{#YlCB~@J4_{y#?lf%ql;acpndqx7i;b?ZE4_Dxv0+-5Syqn9|k~>uUe*dx7UHm>Of{fhU7?8 z(mXiuga!U)|I)jwG|rcuzasT*Qho6KCN|I^yEqu5V!X%ll5kuaRjEnSw>c3ZO(*5( zN!yakPpf21(|WfrrXEF=?9X2R zj`FFSJ52jh!QWj3Q!ohcfZ}X|q)GssNg@DsA_85w>8ngyu|$C~GT;7J66DAHpnQ7i z@z(2=x~TfZ0}k~}K)~3>R{a-j4&;O>y~U}{;L`cT0xxpuZgyZbJgzb;uHiJ&ou`eO z+SN|@`QGi;WnG?#Lb+6ecD~}|ROg2bIpQ>&-wySO63h~|t@Ls#wK)k`^h=eV9}i_b z3ZeCx&GIzWk?o@KMfgmfVC%X5n$l~i3`y;>aE;6~q6Z6yq-3el;jr~^*NBH|1~ty= zuWi(Fx?@pb-kPm)k~X$xgc5|1sP_lHo==NZQfwP$!uT0Vz|1wPk@}uki~rnZ{SEo> zj)rU?mD${0ok_i=PK9{>XDzvz5LLVY6y`j#_njrK)=n<_>Fu3147>$>It6bOKjh1c zPtS5Ax(!r`X8+tI*j-0KW%?>wX|}&}|2rq)z`!Hb?i<-#cYT*SwQ+ z@&{!65`{)=02yi`18wd!!~8S#>W7&2epNQYg65KfFCHq6Ftq3x9^AtW(~NL{5t>pa z2WhCw3E{y}@g2V#F5b>|**S=my)WjzKG}k~(|tEzD_`O*^mK9HpCoKwa9ilC9#3@$ zF-!2uUo(@? zfOuu1Rx`Ob0OFzy+*E=EPl@p-0rK1^HI4WgTI*a`wSi^!s#7xUMT;^z79IDpS9H?l zGOT9Q>_)C{Tj>5M8c`(=*CZZLUkU^L)|AbP*IA(Ed?sz8E=ULfS_+KYejW%-u+gZI zJml&Yt=0?aH{jf;hYNtpazBU;sdKI-KM?bHzS;d1QMU&NT4R}EH3@SS;#tq-t3(8{ zwyWgkiHgNIbArRB6FuW5J=x2VNSf+?$2JiQmp@O%)`k5kU1TnwF!Gib>IxP)BgRy9y?>{rTA zPS%#~D#7&AZ``%l*PO$qPS9Q%umtt+{^M`qO{VoPe~VP&cSJ z+^pqH)m#IABLT9d%MGp*4`ulzy4@pMW>I@fPv9pv`?RM5IThW*DtgkJ_tEQxb zXsG2c*;H4oipy#=b$Ga`)w-Ypo?3hopzG|L(%jauo|iXpds$W&bYg|3`v<-Ex8nEC zIiIuS?^TIhXfl?mTm4aAaGP+BvJClHBr}r>fCjkxyAWp&uif z@8Ve1zvwrgxrh_f9^VXsUqm|>-%FPovo~%X<{+->g35m?=brgTe6}*9DSc!1_R+pl_75l?1O7>Z_8PL=FdNsq9IHLUK5TW(pK&j4@bTDLG6Le=IrBzOD zF8P%v-QJ#&J7GF#_f7#BBJNQbS5)hkSF9CMo5jRHCzw0`BabR!$BB>pf;ezw*@hFs z$cvqjm1p?6LfmCK@HGP9y4I9>`ef*ccw7k%ofH<5NCR#d^)C_YZ2b0W-(A}A_6w%< zv|;1S&+kSsKbO^OYm1~a(imC#Le)z3f9W^lA$> z$I!AJxBrXJW4OKU37ZXX<&$r;zhD*SXNijLV2(3I!)`f z8o~NGn=Ak*4YetU>86l-Xf8eLMO;0bZxV@|?d*!=H!bQezUpAiZIz)uqq9$waFJR& z1U$LE$F}MlkeaCS@irE>44yv8qf^gHP07TO!~P$Xx(_q*EVd_qvD&ug?+2r`;4#vf z@^;_5VKK^S#@Ahj&&rT8Ay|+V;MO+0dR?5VI6hKX<(DW=KkX` zaZP(pZ`r827+ZV(*y|e9n8tz?>(*a40*eY0+wIEz#c z4q#cyT&i4fjW%wXswVkhlnbn`hMp=H?6x@2o9303yVDn{*LXh;u7A%aCe^0&1krIR zGKmo5T92icST$>+^0Tol+1_7T2a8TjeE{7(dygI$9~$EflH>r^h;ACe)_Xix!|s3^ zOG?p*di3X@RHw4)5(A5%>n5E|vi?~Uj3=g{( zvTVA|rF|9wU~?tiPwx>ABIJ&|7Awhx_p)a4Nq%I)(J-ACzgXE|%_~(3w)6L(n(y_^ zfECt^iS;L9k()8QHPKWhYFdT?Icgv6*fEzK#x9e6wT<^%>2f1^kDZ)v0?Hep5osA! z)=`kjpt_-gg4y}Y*%k%O*#EA_Pom&O=rvpWlgPlW^L{aUtG259VJ5mR$@b8|L)xXu zB1k~P|F->pii!VHDRS9s&Ik6qW-_EAN%OJYUYY=dB<31fr8p)AY8pslk0@)KFqof5 zNkumLj8x@1prW?r@6Fs}Liwm1~DpLLB)l-wq#7lnB$engZ*v@2{6Hs^5l-HG`; z%}4FqQk^pSDf?w4QTb{y<@G`{%qTCd1l@KYpPZl6j?|vGdnkrT);}RATOY1l&RXBhjJ>ZlZS4+$PTj z`j$iyl-GCh&I?C&>RK8p)^<)P@m86Ja@trj)qL&xgt*coYfB^NUx#r4IJw{CI^y2IQ1_$R5C`zf)^HZg2M&7-9eq(caP)6I zNxvZ0+R9nvM)wtay6gYct$K>M>RBM0vzm?=r4eU-4p))i(IcMk3MPy;y9Y-`3#%x> zR9i~I+A0ww767hXPv8%s1G;@BV=>%H2=kL4#Z=trt zh_A}eWWUDk$@uvEZz>oeeDS|9_#3x06A=K~M1R{t%%>x9sYxx2$tmbsu0CekF7@fc4{D|! zFr?>IM+aJK#wGkjD%>wh=SFYyh8D0D3w1Lo_pw16K$q zXTr1BCKPLNj*$O03mXtyqZIks8BIuUfQQRey6xc0YiOQnT67^YOb{HP@Nh8#w*HxR zk_y0j^=vBa+c!Bs?Q;0wrdGL`_qk6eWrOw6gIzV+@((57N2jXnZmWWVUty+`dJs&f z24>5*s1PYd#35PFfbG6dRAhV)&)tjiYXT^K=f|W3h+k!4Our_8BB^m9%CMt18Na_H z!qSduhZFjkqlg_ZJ-THoCt`YJVvvtLr-UJ2g9Q2b$Za)5Z;o+iYRa!{)^>A{%;}lz zKF8KfUIGE)GG81(Eyy1M1l=gob`r%h@>AmgkvFX#D6y&9()xAX>WN)U&NBlQ zYYHx~4g2e)+?9Zkf=s^ODq}``EiF>teC*drKWr|Bt1uf^abIs`RTb3A$mt-N^1wvW ze4VT7Y&F1R7;GFQWXKNA>H{2QJ|cv~%dhWDihUbY^Z+@0mKLVOojL^Vo@*7 zla}p5qO}serg~gGIcKta;Tur+m-X?;uUKA5h`Oyrd5nR^+(BamaST(^A*I$fVb|Wm zc;<}_7~)nqGW@R>=R1G$b5kJ7ugWMwzpM(|8@b=C*P~(-dCe95#aabur;ZOuwZ&na zCeRc(Xln$)AuU?HXIY;QIerA{)K}KX7yz=*#PF+OZ7?5JkizqStq8`) zG61bY`1K&)&>ktUL#Df|*Xp`UYUZyj2PH@XJeaqsKi19SAAXtWiwy_ zB%|)Dzi@)>U+u}zWc!`}g7eNwuE@V%LMuQ_I7y~`I%XP$Fzb(2FZf0t7hdX7N)@Ag}s?dqK16MP{@o{^l?CvZiqOLU)r{$Rj-k zW@u1>42@T@oWfAxy!^l;qa{^dPW-p&T+1(D8mYdZtTy?}z0k^j7ioQQ(GwN`ES;hg zgQvJ0+BgLVEhU(c#47Og}Mx7Q+M}a;JG( z#S-u1)V#*~1mfTaT>*X_L!K{5(}NN$3+28PtKg`tK?^&tn8bf}^Lao806grF3{Y0R zU#(lOdjn!*b6skRGZ!~cg0T^oO({v-;O)*4qW1o=zb@;35sWMRd-sR%FBqqdf) zN~M-!7WDOFbYMkbK8h37OoX1@^HVrn&3LKD#s5V5t{?|YiBQ+5?(bouA76*+kOQ$b zQN2TUA7U8H3e9)-{&y4pIBW2y+f97I+cLMhPwVS2qZle>szr0xPVfLgzM`duiD@?~ zZ$`!(gC;yakAQFLxTcbR!-*!6V!U?J=OO9zn9&5vAR1!1&QyUOWhK)JATNA?;4J0)Ge@FyDkT`X?M-y*;3|H)`5UG)-R0VQ>iEn2RZ<{C?P|c z=NbpX+v|cHgCyGRn~`^8M!pb}KsZ9#_t3H*^mY9Y7n2i_L<7V5ENV_7)n}F|A$yq7 z=3T6V(14oQSXY)rSn8-S1-&=|xmT?>O+V48X{Du!w0QtAHPXM4b3fouJIx5N_Hox5 z`}Pj6OZ+NvQLY&1I9p$T11P#GJ#Q>}|NcF9Vj8qCgLJkkb-|S|WkNzf}vUz!>S z+5Hd@ra}bBarmXhF_-D~lBs+)x1JJ=P6drNxJZ&7YA18}MpMa|c8(8jfVO-Kopvq`7I7E(&epK0(H9VG~R1f1-xKaV3b1aY%Fn3U5HH^yiPO>_+t_*cW1AnfZc7TD2 zDIFlPA2(}KuxBY@`$@@L#%Ow6n|dxofQ}w&LHeQ-jBe-fH| zeKc^6=h0B}*xoWIPd9I)Mn&XII51f6Te*OWWdd&VvaIE%2IS8`>3^a&`+YjiR$exL zNnIQ`0CbCuU@c|}_IxvKjdv@#~ z1HzTMXbSVG_m||;mWLS*8JvgZ?7k=ubCgNRoG&MR{Nxp`#|Z_>LR=RjAbAUW zV7tDR5-5><${G%7*T#uv`(J#KeQOvlZmx#9rY+S6)b!sAqSc?RUCteqB7a-OSz-CY z_vD)*r?<nLthl={!K2?Gj#$0=Wenh#&=(7#CyF*AxY)*=L0*tUJ>SZsr6k|uk6rgUIJ zl}o4Kl#+pCT~GBWpVHnXXyLS!NFvxIW}%**tDa`0)~Ue+v#cKIN8GFAT^i(PM2z|ZugW?I_*M%}vQj}fs9_0rh|#leAmX?$Gt zA?sF5QM!=}ZYrsGmpaM_=rsz`EA)zG1{XET4$f_WF9y40`bhx>*nfTn8U$z*88D^V zYB}|t9-nz7YnpU4{rNwD&4A6-Ut~ccSx&Bu+*|JJ9;zQK zpj+`xX)H2VqezRSFD&4HvG&$MbuHbx_rijE65QS0HMnbl;K3niaCZ#^cXyW%+=IKj zySqEw$=>@t@44rkuj;$E?mraNg30Q+x_ge%%Br5NAp$dpI=cKP1cF@zzr;ZyZlEe^hCf$k**{ zu>GS}eoIVK=qRvbzqiEjNUAV>E6%I!cY_VK=AQfmFO(SvKK$!Fr=}GWS|UeyP=@G_KT{?j0+5N!Z^~?`9*^a-Mb=NXj2Gd(*X(AH#pn__F|!F3s{s=@y|1 z*cT{QVD3>HRA-G8C%*#+`Iqph%9?F78%P9vHvR2pUBAsR#d_u!J`L{i_e7-pYa+%s z<+U4@+g^Z!@}_#q)zNL}we#p*Rb$0`$ifn3hDwIHiq1P=jh)AZ4Wu+%_`D5g5 zl|(xtl0~=e>{KPJrHt72ilARZK!Jry{Z^k!VIuKviY=tYdM$Im(0=nrG}`5kloYkm z)Hu_Cu@f+0#`B^Oa=Y;ZYWDg1Zo>3;rUB%N;xZMb4z^ZeSTRXySaJ}k(zFvWtZDyM z?ksnwfYIAEzMd^g#mZED8Ahx=3IZ`Md~pyp^Z4z^d1`{J@Y`7`r!u?QV!0A6ld^`s zJuz+%Pnf)bA|W<~oghXkPv&#A>bgC0Z3pO|&-usWP22M*$>9BKInzr0_(%7L_?g4; z1@AW6pxBg@CYQl{R162_>UO!f0KLue*iJa|4&GhCa+Qmm>Ij#0`^z6!!P1KW1PM?|9Z1; zV9XfsQn&+5j&%pZF+V`h03p`j^vu$d))FPk0dyU_|GN$#0P_LrUb}q71c#JjSpW9} zSsuq>_PSdS8vgDq-_vyUYE0zu42E7(o zTRv<9tRCMhU&C__1BlR?GzWgPzvHSIxvl=v*<(A5GE9*}<2spCqaxMZ;t;#u-Q8XN zZTD`hasjlvn@RrpMy#^R)u$1y8Ix^&JgEtp=epId%Hi%}bH8Rb{zD2mCh13S0;w0) zI9@z!IDTE{m#01GMSzDoaq4$|X7tyH{|c_i4NQ~5ZUA&f{PyGM@L~pU$!&t`{~*E3 zwT>UekgGT5%?kxohq8leq!?|_Q$r{qQ(*YG%9~Bly3iAf+8WMAq`-pCqqm!Ab68TGPV3}4>tJ+VhNRcxhi*gDgi$BFn#XZl2N|0;-w|7 zl_slZxHI7ulDqyC)HZ)yW)X2;S?uAU>-y0wbMj`NO#?}Hrp|$njb+PLJI6u}4kUsQ zthd7!6_1>43E!Wcx|t7!Hle8UG@x2F)aGK1A4CfrMalTw^whrtXO zFi@m_AL+9l;#%W{XpHoAM|J}m2o^7?**)tP%{UY8p%?wDgU1GP$QW>YK!hphdlp># zTauZCniXmEl-!k^O>0H!5LWuRMgqF&Xp#`1p>XxRveMC^#QUvJ5dl`8wfQ1kVJ4o!rz4K=qYH@I@hG5VEY*_UmN{V%*K#u}-p zi_nV$CEd#HletcE_Hx+}BFtTul7;F`wWkE@;xIf!nRLFZqniYJCKWZUt1ZJT>ho?D z0X=wsQ#?(wy4Vc5b_lJQd1HOfcm{lTFD|2rw^rgN1$JjEyqcPw(@EzMuFGF2P4>Fm z7D1rQ-AUvTE-H}s;=Gy^<oa_{_>!B#2-j&Bb2wph;aSp)RQ+`}Jf?0gBxL zq*O;B1ubVe;=MOwyrqX@gZ(xMeadY-GTtZbue9CKm)^L!yA8X5BES?@zwJ_MY1nLK zY@$0?{g~4k)PK~?q(p>L8S8zFEobWu?3>F?zkm%PcRN4)a(I_P=MdkS>3~||?qNcI zKM#V2;B`Jb4?cePLyZmrZuJ&0JhOC(^OMN35tp5d^@Q~Pfu&z&C0w@UsbC-*9iBQm z6VZVS-CSB-MK9sUj)8mrp9mEuU4=T73u4J7__~c>$2Z$(d0fXIWmho$Mec?4My5L% zZs`(w#hJQveOu2VEs#LjJ7q3152A8%JAtyJ1Qvn4*`4B)qC#pIR(|B2tyMdU$JqDs zoBhB+8R_Vy8&M-^%`tWwLCFrvV|DUeWepTav({oBi0w?J8`5_8 zcywO&eh6cyUDWbh50ydu2`^RQ_v?sgYD&aQ4(_?h5;V2N=^gFnb50iQgBS&@JDh?t z;B$)TwD3PZJt&zu8##0*roc~-wtX|skBw`SQhzDwDBfHaw$`T}(&*-iU$aS58^N+{y|r5IR^pvs_F20Go^~N4?l;aa zffRfsUHL|qyc1WV-g<()j*J9VCo}}s8keDnDg?;1Oc{KQdczg*yf0O;aY^FIt!K*R zyD_%|8HbvdD&3D6Zp;U*uH`nJG1Bq$66&qR8&hACJ2lVi7|)t|@;g(0r^~3ngjTcR zFkB$zb6+9gFk-B{zq`auvOQ-R$6{Hq)ByKl3A}Wos^?Ggxq8xey9+^F^^%EilZpW^g5udxA$p*shPJm=p4pR)^u3Fs-6Ma_TC z?hl$RMJ4To|5#c*+Q{##R^>SNR_tDs@z?s@V`}rNv_2NHkt^|^nOclaPa1td+~--* zV&`e@y}3WZ+rF;SxlCtU={&BUHyu*#d{@Jo`#7-g`xMO6PAL{pDk~F1wykh0E)LsDtg` zK>l?je_w%h6@{ln|mLmR0zS_~-y+MIS`#5kHdzW+Oi}P0U97L&fGbCN@FSWGX z)t7^tk875ZR6fR8MCF%gvBAb z1>uIV>HEd_Vf@sgTSJxccKC$#fgbtpto?hVqAFoGi;UB89R3!45|M|wWM7Q*M4H^? zYZWr+l;Kz?n4hvLO~_s{J`3gZl!8OeCM(p#SWFD* zchA=D9wXU4*I*Jd9m<+^>2MhE?KIRuB{-N44;8zqUa!I_RlWPf0;|6~I(-EV&Pn{o z@NAV2qaX+b;x88tT33(!59VUa0+wC!tg&LMHHyY|O=~gb?syU(ahE9n+}|QNV9;}? z%6;E@!ho+Ej(`IbfF8xeVIOgEU8nHk)!XdQrDaGVIp)b6Ai+q8EwStk4ZqTT{jSv{ zVbU$Y&VvgQ+Oku7)o9qA>YkdHcE3RTF}*K;izgtQv%5#!Zei!xxl5k#yN@NuU@H5{ z-zg%sF_GJ?|83&j^jy*(mp*P{l)&p;p3DNLr z>s(>cVRv|Ob*WMI;`Lg0rY|1?bZ7|w(njOuxCHLJ7S$L0eCb(Aij3QOwml+;v1Izl zLWJ|G(j+JLPBn!;?&$#4;a;9}(t7e4<3-hW*yZr1ZZgDl(O|*hcSwU7N-}4@Y!b6k zvq8PI>25lnXn1||<^vhg+R1mJU}t`ZM1ioOaREGJ5U?L)tatrx7BJm2^KLC)J_``4 zbiLkOZ*q#|teV)%3q&UJGza%G@mu*-voL}10g4FJqs$YEXwBf3^L1_6NF54ekzLB} z#wr-`*1yhLJcOlat)4%9fqzw1!Iswc)Zl8lk!AoQNEe=L&CyXA4I7QG`g7#`xZE@O z>VR5r;HB8yCTHF5pN1MTYx*!arVO_C1OXR#TqL{Q7_SFDgh2t&)pn!dXpPmtWpyN) z4hOudh6&j%H1RizRx5uOXA8pcIRuQJFmXy1JB}s<+1KLHj}d(NcneL2e~&7(ic>J` zK27EET_^Td$jsjTJ=eJFaMlOE)Asm652T$JB&#)ht=6n^?k6eA?-^bdhEA333P6|f zJLL2!BmRr@W)ZJG6XPhLZxGm@of;9^2%kd=fu@NTPVT8=#tdGg>UJ0bpKH$21nc0* zoV*d5gngO3>NePWi-yf-xfRtXI)pQ;x?$(}55*S6uH{$RG0}YBO45oxe4q;I;^9KBZ$D8G^44KAup#)vcg_X_bF_7M;hy_S_HGY{@Qd-qttQLe_ zv+`*B)Ov-romWiQ=;-MZM4Hj^#XV68zCX zC03j-9FSK^ZPcQ8<4!f6T?CiBZ7uu1P697aPXSnyjivw3HmyR*?yu=?(^(jDkkNU}Z-aTP=X&H>`Mp zgmz+HDo7pECgXslZ}Ne1Z*S>&zVXnh^n#bUZvRh1>s9yqVEUNnO?xk2`aTWAr*FR8 zHrAaB`VyKip|RVq=Bs(3MqD&X@vj>V9i1;i#2aIjOl+=*B)si1Y4K0!MLM- zpbqrMaq=AN!?w6|KE$8Tzjsi#%MNE5Jf6$s6&GcDdv)bkZ_xYgK_PcpY*qQs^Bbv5 zXq^xkd7bR+|GXp0NCY7cL%gV~#tw7D^e0R*I zvfY?B+8kN4wAu;hQ?*&Pr0c(-{;jek>srIf*?tf3G%(B6;J#{tvZnHqy@QY7wv3g4 zjz=l_jKGIP0aX-MOoX_;a$}rU^-a1Z5sfsY@ z8#N{YMLa8#P`5$AA+p=>9%fu5Ip4Rtq4YLGfFF~&1Th@5> zM3cG_LMWk7Q~Rlf!bLCz{F(2sUN=@(5$)_wG?haPzpY;EBcs8(+ogFP+I2Xt+G<)a zKXqq}$V30-I&h!RXT7a-uj?fzMXx=n&BzcIPMeVvX>f{^bvnPbzkphq%K207;9aZo zMbN2-#Y0>8wtO?wFT?E%J3BA;!K>BM(GHW0$+<+)R~k8hYgar!%t)y^-lO<4TZ5zR ztkmE>^ORl8oUv*uoU?i9)YZ1ecuM6_bYxTS`O_9*{=OttE!h6#A@0C3CA};ZDM6}6 z^D+b8_$c;|ECO;w@U}k^eHKy*x=^nEQ4^s0NcvJ9j>f~^Z0`_0d-o-rhCnxO-JB$E z%Qe%F4wAQCQHlq;b!HMjC`O{&{|{yOCO7cX+w%UK+8HjFox;kT-gdMXVp80#lLAiZ{3_V%w%}2@F>C}8(SN?fObgWp4+ioc zBDKl0P6^#!z^u%9@pTD*^^p|c-YM7ayQdSjAOfbB)=EVjwR7&E*h~H^09e1 zu9#a~r7qwHcFNY)?v85puG@5mb^EO7q?~mW7@l^yQjQ;uVfM^ z|FK)Mi={{`?EjL?{&E)X&Jf^tn7KSPy$?*x$j9S*Ic>V}V02$+9`3w)=vEzN9H`!{ zBCq1KWrc7XJK^peiP3cgN0o-1doUqJ`WZIMG~;)gaqGYBXz$3qY-M6nFo_5fGK*zr zj#WBP{+3z$XZ~FEM4;>BQg)~2fn&AUS-Fjbp^s_xF6E3s$MmlhcNJ~nd3?Ro@MZ&Z zU;ED34@JmHNFugmmiA%l%yxOcH3?K|iD>lT#72`bDHXsAy|@l-=LOAi@U*uV0vx8D z%qX8ObZKZC?omdJ`qZ24W+0G}w?9q8egiqxl~n~Hxzy?RO84~9o{or_Zn-bZ97ZXN zaR`o1+d0Ul!6!Vpy|_rm4|Ci#jW> zX>$s4)1-0_r5{EMWoxzQNtR?4Zahakn$Ts-Wl$gq7Cv4_mz*YeZ7IFD-$>NeKCCm4 zavZlFkRE(x=#fLXz?u+6UZK8c=zSCJ9|FSt7m|4rWPXrx!EiF%Op3h?+l1zYF49L3 z$jZZGP^zs()LMPN4#fEUX*>rxO0&+xdQ${u*&$}P7%%b+<45iB3=Y1RIn9Si@eInD z-5~;Dwydhj+VaX{dgodMZ;%Mz#nen{Ks$z$a_{}l<;1+%pm7j`W=w6_Rd;OX#B@MK zSvaDuu12%GZtI0jR7}o>`T~YyET7bfmz6N#dJ3vD_0T&{|8cP$B<&rU=t3oW zZ-#!+0LYSabF?)SMsSzy>P>Yke}YSp)aS*PN-a zKq}z0eF+tXT89LQIk@j^^Q&KUq{FL%vLz*`W(6?hGJ72>2@7~t1UM1@Oz#vM07uIK zW&PrhKl%w=cCIhUcQ1OSy@Ls~AC^Mp zha8kI|41_SX)TSkDoYMsI|UUeT!>Iu>!i<4?A>qRK-2TMc5D-YGIb(NC{<2*6l#9! z(?Ed;FC-kkO+-p`i@Nqc$h zHO5HgD4~Bw%;!G~7JBhQdyfY4HZ#YE^*V@ojnyT-hkrGBDcx^-y+2xIOYw5uA52;G zzJ+nwDyVa$eIl4p15Dm3D;jIL!}p(YQ)21r#@e5J7i))edHCl?LYU zC(a$ttZOmFKOI=}C@IKdL1XFiNEpXW%&*52ahrG;*lbSjmX7Mi{eHq2-NJeI@m&(O^?cJ_`4RcmbHhU(+fIn0wo`H`psgnwoWHvf z?d6OpU-H=Qd}s@*(B+C>1Wp6?tdc|koM`QdnWEQ}(&eCV_r)2Fg`ten{Jm3Z_G3ts zr+ClFPHRXh47#%Cn(S!Tz_J=Y{feRxdTq=2?W6rD#c9j;v%6k3JUQa{S6kWkhb)$b z2&vsTJ0vljE#*w~gePk}REp-Ldr@?(C5St1BkaNeCy+nY?)>xpNzP27 z#QmSEFIEM^Vg|L??1gzm%W85MTM17_H!1D6N`VLWdx9#X0|HCX+B|ieKZNniZnhd6 zm3>&5@95ZbX@zbZP`F;#CIn0oCTyN~iT!)<90Ac~v#FDZN`JdCOI~bnoH_iUl1UJ_ zcjbOrOx|ueH?Byrc1GJU%Yx7S(fYD=i`(=kus#DCcpZ1ws7P*}v`jp9qX1sp?~)A* zj?H@#uY2x7mE6z!tv-hTN^pJEX3HN3dX2We8j8LX7Q;IML_+`!XJNe*X=4$zG4n0ioZ60 zEr76`>0~aF>ZjYCZOXi)8zn|#qgNAR#lc!Wg{AzHUau0HcT+jzW-!T%py(&ceK*d7 zV~$!k>Zdco`~P&j;nLyJ8!k(umIoZEa8g5p zxZ8L&GC5j3*5W`7cZ>f}9eXTc5TZ>kkfc;FeMA3M}?Qrm%Tw zNpQqj(YX-=1NG%>*2Nc4y?tikyW0eJv}PkYN(VOcj=LsDV1)YjqiQ>)Uc@>uDEw~p zpt&d3h0R|&tweGW__(mcvSn^kgWVCcNmtWr`H(0Y=26uhpK9hZWKli z4vU>1Rr|nUn0!zOy6^16eV#lA*{syH2!2AMlID@-h#Sj;>b*V}TF_Q|NwIuaske9m z!a#AhgZ-8AR{v!sT4SUJbf)@6*yR}|=G?QwpD2+K&$axBHZm%Xa6E{}9Z|nu|Fpv) zR-?%S@}%%o9FjaFj1Oo=`#u6`{4cYCn_guLQ4aSu{U^#hsL8p@Ud4=&xuxPQRt5Gt z_e)!!%XPTLVF*dri)b(qwP0{p_Rgs9XWy=_g(d|OEYy66T{3$*(%?89=;RQ(t+6ZP z=$Pea5{E${o~3sad6JxzZ~+6M3OtB3Q_#3vX#o*`88x*de~aUa*m5m{JU5AQ{PTPM z21AF*lTckpb2Q&HCE7c}rnmgY*F#N2#!X5dGVylV0G~i|sx_DRE4|EU^kBdKInIX+onI5`@CLs4 ze53Ni?&d$X{js4rDmr)kQHlz7cRc2Y%{EW5k&1#$INqxArrCc0ukYmQrI8W20vwS4 z1f``RWu9kSiLx4UQc+k`AjrGy*dPWF%vu#pJLgT>t>*)~nmGS2{>Io>Pa%%u(z)|! zCT4TzHY8Bj_&HOT>+fS~5a_BpoqIQTN;gNaO9{Nzd>ITJ0+cxt5uU!63tF?{yDpb4 zofZvz=bx;24SH4J^d0D*Fj!xnKxt$w)a#b_{ru%V^lmEH5yC|EL;w^!n6tnUJYV-(TAeeEoqT9XEig3K)yCctUJGxcB zoaIIDFFMHtC5D<~v!7Vy32YrkSd2a}@Y#K#H5SU&-yN{z1H-bMMlPxMP z$JFdcRA;bva)NAYJ#N%43Bl9U1pP7^jMr{*{Mo=M6oc$ZiGqzJ091K^B9DJyQ|D;F z_!M~t8NBE7m_j!W^i5bp1L1$RV3+lyQtsh-_Xa%zQ!9C@_0o#p>_VplFkI>G{mF=}~qasuP& zvFOmGiq2D83tH>gr8A%p{pXKXc7}iA*s13f$?{7Bb*ika9~>(SJa1vx@uSt6mCJ2} zLrR?$_9-PwV^Fh>st*C2zx&!Qc-H!vozIv}MS{wb7r}zKWO+xMj2KCXgIR`U95o*cEYOXnt`EHg>a zO=R?z9Q@7`N2ih?L)?(@-COqN3HZb5rArzHuZ2J2>Y}q+yzL!JvN)$86roiNViZOZ zLPB334E|FJD_1rrp8+>TSI1frA}ke}Shfr%cqP>$F)fxm*B+D}?cEQ^Ms%ezdHOvR zC~9_=me$`|xh<-XBO2E3k~8(*NT$uVsUmAkjH)LBev08Ut)^yv@grKrZ<$&xp)$WX zzgr&zhV=XXd{Vy#b9Hddb+vS*AbJl-@cc3*;r+1|N;^m}p&_eu;_2bgMR2|+d7$wl zeD8N~v8Z&l$kKSs+V|#4n;Hi=$EmbUl)5xTE7u7AdUL;x0_7~(G_p*%F+W118rRUqjcti2e+!&bs2Dn48n)nU#dG$1)%MHaF|EjkKEEDU4@|Dwz30y1!or)&K@{ zM!sm@XHz;17q6y~h(*-^)&H&k%=?(G#;E4_p6Bv2f*zf0-a`+7ww8;n`mQJ@r5q+B zSmM#rL>96<)D?>#*Z#cOdIE82XviH^Snhr00)5gtXgsRs?5GQcrbeho_o(YUa~FS- z|7$%Uzs&>})Iii=k*>pT)A4c*k2o44H{Gc4L*@hBqHhY#sriVP8h(6>rsKI~Fg5{s z%l6sr*>g2@3PRqEU*rhEKnvzY){)y7Eyem0-maA99P=@uQZr1ToqVazmxo;KLvP3F zJ;YLaJKb^ccZD>;Znu<{6--Aa(RR0ad%$ZStxeo&z|e8SOg@RR_i7}6zzQ(q-VB*Y z{>UP$1ZHlzk0SBMqPpp$2;4mlq{&oiNqx zv1)F$-`eIlMb~hRq_nLRZTjCLScb2a?j-!|Si#?9jNng}me+PmX^$tXS7Us=!8$wB!6sbk!MnMJpL>2y7 znHgI;$QHzu)Kx=*yqr+Gx;=cF6~(GO2~2Een=^4WcX`gVT+#B(YkMupVEw}@$~m^D~NmO)QjWB zCo0awV8oJIQ6pF>w6xa=M`v*N;N-Aa4SMkgc@NBXUu?zD_ihMF}!_?k6eDkTwaG?)L5 z1gC^~^}SJ{vlSjLKDEO_Zw~^2w_uG_>~rOJ@Q^=;-IRmUhRo^~ zD<${MX+URlR_(9omo4R}E*0Ac8xOitpBo*Z8f9jb493*(V?G$~i4{`Vd=8UYW4^V0 z52Je;&hW0oAGUtRhd4EK`-uXR5Wj=cUh0#%IgSZxZfSIXA9#=Fo{%OqMX0i*vo97t zwVolkl?`mK#KAnA15YV8mDT!w?VMt{*CLXSIt}Oe}&c!ixxpGL3Nm7t8I8VI6SaL)TyaT zN#-{0I%qCe?H5Vy-)LwWb;zn5?gl=0HC-xV#ljCPoCEC&orhRN)JCPrW)6715nL`=g^!8rrfz9z)-Kg}niEI6gn~sc3N=VC~WSnNLp3sBx z`HlEUlQN`DVzCruyQS44lC2<#3Hp_yF;oigJJ-#t*|X|+28;7H13z{CWy}+6psA@r zcCZB*@aM9_jj$^-@>f_#^TNP0P6U=KmmFzm{}2PrVVlm>#9Y4I$mIzr&p2OI^^k)A zJw!ytUzMcl7F^I;JY_|}#OXT-Jb+wpx$#SeSl}#+{^z9ohUqxA(UzQDNZ&a!VX?lg zpFWYnL(M92ae>1%;8DSfW(FUQTVBu%A$mxZd(j@T)K@p{!pJ|VC{HIBhrsYpg*7)P zA3PsMsQ3zIPLOSH)5AK$lf@*qida)>Yf?xKFDB=2!_KW}+4bbjHwuZvkeZm(wkUaM zlt?HBxnRgBUcY`cs2|R9FW)>!eQSR=hG6J4CJIl|aA&au>CIBEjzg-UV$K$i)abxutrrfKu3G(aUj9X`NOnZ+?)XG35cf(4(P&@F2y_P?!5^Tb-Au=QRvVvq*zNrNlCuN4Ms|I6Xa~pgB7>(S8Fb^1JKm zD9n%!?CYZDElx3TIUk9r#H5s{sf3-gw|eeV`TbGIfg%)E**T!f9M|q1 zGQ`MMv>YT|{kHB*FMG1=PMT9;z{ocnTaWg}# z4e3y$X3bEpQqm%hDl<9~PwBh=TAyrg?xuVxes4*5_l8J?WCDoPIbm4i*)`J&q>ty< zovKIa64|18E*JP}1clJbh8_j0mZXG)>}^dC3+PKGX7=NX@>2yWLx_l;#)VPU6Kg4| zxujeqI|rqneUxFGo*Ic-NCmF<%uU~$ga)>hXagt?mh_MO2lmQ=dYq-tEb`6#Tu zofMpHSYzl+(<}>(gaD#7xmBCFHQqg)61(H`aL&+!*zHIW$`0G^H$PL8SWt2*REt5w zAOiEIw=+;TOQU8pFgclF3{)6!Ok5;meg_iqkLsVBG#P?_*L$azBA;UP8!KG^PDcO+ zG-X7!Xz@j=O_b!uO~&iaUPyWX5SpJ* z#T1+G9x%^*{*M4onw0L8Rkv1nd*`G2H=R$>QWHj2rIx-b`;8Ciew*|Nntk61e<(Bd3VS6RBy%H-48G$st>Vn%uSq%P1f6>7h=|ovSqK*0Em$ly>QNa=xe-N{q+@eg7=6od2w1od-dp%Q%zO7l1f*UuQ<^GN6v zlifv~AaB^o{CtrqR;-w5c=rq9Flw^l7*vVR8b85l9Wmg^?J9^z0gy*TYoIw0UAD*Y z+IPL|jQ#lMuJ*#Tg0ttXBG4ZV4NdK07b$6!(fIo0 z;u5lX7fDn!fZ6$s3QL9Up^cuBiNr`h(PA-4@fz9hpKtXrUANk3Ex(LHqsgQU0_k3R zK0nr;DC>GaFp837D3-hI_4-1GV>KZ-!s$AsC$l?P9+ghB6d;z8r*bn)D{B5(|4)~4Hc$f5L4UWfg#&p zq^pQ?7-gY>+3RBBWiZj`&Sv>;?{EQ8R|3=M08PE7bs{cmC}|`$U~Y+%%*(HI*-)OI zTD=!w=BN=L4`Uq5aGW`)NEQuUMWgR+15GeN3o0cQwq%BbN>ES*_QM+Bi2Od|I7vy^Mv?{zU@`OHNSFv!~DH zyjy^?qy5*}TcBQ2pL^sX$}Kb>Sghp1rW~6v=<84vi6Pg*;1A*<@H+@eb_#8 zI%P?*bQoQ5Vj_hoAOamTud}Zwo#zg?6$+6mAT0QKT&e-t3a#lgvHSJpbnPAe%mB61 z$#4wH!h(WIS%u5}^b+Hmfb)cow1*#U+n!2>3vI`g2IwqZG(D>5&&t#{J&Z!q*c#R} zrbVCEQr17+wVKvHlw#2mraOie5Qc~uln1TSYcFdzto6K|)SKofXcSpzt(X#BxqNJO z1{%W*LjXqjy2li|7UY&H!5fr6-R9aU ztzXq>W7{oHZeR7BUhl*+o=YU0A5-cUEDm2UeVlgqt2YV+xKH&quJM*{sK9#(^ZT@RYLRAM z+m#s^JfKd)qWDRRyN(bnTRaCZN3ChgEeHpq(iaLWHeawm3AtKec8=>1`mt!h1%vhq zDL$RAhA&%jI7y&6wzl5Z%+`v1!J&=-qO;u6L0P4s^K`v?J1p9c7@@U*n{dZSN&{P(u2An)b-Yf-sh z>%Ef!AV!CU9~ndTJgzczt=ClFoIE{7_~_)hv|-L7CGHIOAb#Rq5oMvYzC3&tKUJ&y zM45PlveFPTc58j{0KB zIVB-wh{L5)ka6x1$1GcWVBwfUwi^((s&3Wmh~mZ-M*n~#b8xs$F)ywODN4fXf5BIU z`TJ8gG?Y@bjw$j(RF>qHDbwBynyp@>AFMU@~W-ZRq1m4HEodDlt@ z3xd>H{bkdr5AY9itipd9w1jt8a&UWXMMzNorg1nb{0byGZ0IraQrk9J&{2;(+(c4h zD`|=V7AO9BQG@IyBQzh#(Oqz2QZrD+L69Plv3PxPIkx{TXScJKc3rf&S=)R0AJB_!n=W0kbb zYuIb$mXm;oL|_Y#f2&DMfw?$l(jTLfZAz5%7$ZC3!R3ngO!{sqd@_rmA~W?+@X=S@0UOn%{av!_pqZ@wWGn9kF+BEm?27AHB{aZ-tD+9 z@=fzRPUMKZmg;YKs@0R*aFUUi2;?#sVl`Aq&E&hu%_?*qJv8Kkfk zbj&cyaVo{bGTrSdgAN0uJkOQ#IP#m3P99Gq(Ph(ky(a1-iDFN2(oJIzI~+(*-LVf3 z6^qOo|F~{EI{C~U!JpRd};(7$agiXMBg)YC?g6h)arQ|#WcXf zkf3_EY#Qr2|M>E=FsHn7c)CtiEg@7%4fp~MilUtQfrY#6E`>Ptk&|a-;5n$TmQ8aa z)bWIxii*~m{T~D;9Z0#8^iDN}=64LP!LPxm|1r}+L5r#-F3(#S8`HnRrCbEiZ570W z>JQ&w*SY491QH*4>J`=Op7-hDKvVYl?IVS3aQ$!ejlzOMW8(zvSYA(2;H-$*EK$n} zZq&*0d?clPG8W#o${j%&?-+!n46 zW?i-?bp1J?RstYMnX!6rR*|KNl~~ZjrUQk4(pjv=ue)+(n45~kM2~qkHa2h&f5O|* z)V6sF5NSv`rf(_xfp|v73zW}K=mvUOZ|18{_GbCg z_5wW9mg?%gY*rh&P6(FjK!mCEV<81VaCE8*h5F#LtgKBG(Qh}6B=N=A)5^hU*zRnU%%j6NVqR?0? z7oA+kCW{lVn5d@N;I+vl%+MQR$dq&s#a%9IU0Bt`3Gxw&`DLX|3p%Hd%RV@+kj10q z=}>k_T-6PRLPJ%ndJez_rmIYmdR$7=*RK7eyX45eFR$y}MqAs{pHFqYO3@&}F8kU`chA$c?10KX*T)?Yc4E+S!mWU!&nozwWs3 zEDllvE|gWBFrcu5yP;5atRLnYJRrz}`rI;6nhu!yMwz^}GC6we)OVRV+i5YDs-}|_ zMW;06les5!1ATpiMeLvX)CPS8qZ6ajvhfVO0+FkT87lIB+di|X5TbOG=T~TE=cO90 zkzyLsPfa^fD>|?Nv9ec48VAFud598){$Xh;4K48KR#~bN)l{jeslh3^#szr`<}1+m zV_w+nCo+GcF#j5p5M~U{ONNEuVWnT4=m3?CgC#CTUWgS=iUIZ_*^p+Ygj!6kS?M^?}E>0lgJ#%`n`f;@RQro;a#Celf0{ z9ni9Z1TfL5(NqulcDC;k?+{|h0v<1TOZ8SiiEm<0T*0(Y!eO^=nDkq#H~FrnkYMC> zz5@uNtmye!e=+t=IS;OgIvH_fjUO=9l|;v!K6>JT7-5rWv`h|u9s!umkVY~N-S4pK zrW;BUz+t(aw2=rMih_#8;PqwT=XH87GUUMAR&$u!IfaHc{;M+P23-bP7e zVao@!WKOpEW$v^ZRk#5s^^3u&P2%l5q4g9PjZL|Z;=!OBb0B|@fyIKZ_G*?=-#dCb z#e`)!l?EP`&uD=)sdRMZ+&L>;GwB5-4Yjo#Y_I%#3yL!x1D~no({q*zga?ROshIRo zH}Sw3qx-!`0Yv-puiCh(u69{Jjg+b+f@bZ|SW%f+Xz1ZKr{p)Q@KeZkwm1j6kKvn; zVZ?kDgz9u)AUiwln5;5CBPcWnF)viB2R&%{!YvBGQA z+b^WxSxCt0fd94r#@tl1Pq9{G&#&l+p{ArIl!ShLGHkCx)za=sE=~r_O9>;p@=Q$L zeg8SWnvbtDU1^DP+<)&PNex<1ct}CFI4Vy&B+Wf#Dh8@LuGD}+@>%ZEi08AFRaD;2 zhwAIoNuQ4pko(H)a#JVj=>L>^&ck*UpPqKeM0qeo7(ru3R+J^IZ7;4m-daz`f0@Pn zBmv4Z_PUw>Q#x4p-wH7Y`on-By4r0ZD$wAi;)H=%`M@?bnuHX=+>DmK++2FBONz60 zR!6(J;ho^0J~Sm3=4b~$B&$qkIA@L%8{^6C?3Vca)!N+D z%0ZDZEcf&RM-NTuu?JesY~$SzM!jMfSO^etfEd~OoKARTuai?(UjXx}>|irMusOYdz1qo`38Qd+#qC z^B^X3++&P;T=Bck^QGfvp5`8HQ8GPwhsaFVJ-d(JnOa$Lf=dZi6&)G7ya)&$K}r_T zrP=Us%4#oK*9l}sC_q4m1&Kx{kl7{9@u)4v23kJ{vZnt`ye2Cw%@zy)*ZxhbtiT($ z?-t_84XP_M%|aAGbfet*(UeEa7;X*Er~eQpc;Zj~D7Ua^@CMH~rBQCl809Ikuq1bP zcR8n&%rO*MS)(XBbkNK!%<=`tRx?3A?We&>kQXtQL*vwOU z;bf`(SKH>{rN{D6=b;r)$o3m{YJ2M8gM>0iOX!9TE93BdAtwpN%)Wpg@WrHtNC~^6 zF;H>Hs9re2zdy3)0=@Uz7~S0%J@x-)y1E^o=5oe*-)|(P{Vbs|5dD6T(wpV(pc6k0?Bh zy}fNc*PB zn`5F2s$W?>4lqQDAwF^oCNzb z+Ard^Uo2TAlA`++tggnefR?p>2ldeov09J?kr^s$2ZwvopM=Lb%GRo9$Ut);)D{#`XUx=x76&s;5gGU?kd-ISl(^j>G?SRe^6&RRJSd{y=l} zUqAmR(DDyZjp35^pC}`29)m}4w?=RR0#h1DJh%$yf2s(pbJq~ zE6B~2?_&>+!}TyfVA=eQO}mC|F(%pE!v48qVV`gk4XZqM&kZKY-{xu$5Az(Zr#CP`&^i}7&zIgs~;{j&KM&olz5JJjw{_1hDkZdeLvkh*k z#hnsCQrb|o5fVF!wK)khS)Aa-)qKAUzjbrPf-w{)d67rm<)Eh$ z4A1EbCFJE&x?fzY-vmF&qe}j$Dk=O?cngrr$wNeo_mfSkgqU7@wUx`AdDsZo7d=A$ zFm(+pV{{xK^ynjCU?Z=svn^U#On~O~BXqq?`00XL00Wng$qAX>JG4O5GVCld-pl>B zU#PGMrn(j9w&oBe!^IB3gnRcb&A08B1C6ojFr^CWbBm=-nS3@^HJ@Ouj5#SYKtkY6 z^21)Kv%qmZT`!kyWX&Rm0pJ6|e&(yGnm)Ry zXWDReY}xHe_`2Fo=iwA(D#Z&SoGQ(uzY>wL)-q=E_rfqVC?NYI?|HJ@oW{H40~!Ww zL2b9YDLZ~|@cHx2h5RwyMlueidsi;+)5Df(SCgz$j2PD>s11{{Z~I*@JDER|h9!SU zmM|kHerMGfNQj6KTEizpgS-Q=h;e$&scem2_Mk8=4<(?c2` z`Dts=_x^*q!0UGC!5q81TVGfin!WyklDyy5*<6g378S#jg`R(jn5&4q>MU3A%%M~` zOA#q&)HiTRTT!`G^XAtp^?nfqR5BIG-f!oqz_jEIk56lUz8WJH`Q`Qtj4#@7Wn`kX z)XON}f!hS(C$G$6t(z?_JpI*&&Pcng?Vw3>6q6e=Dw=)yt}iE7V%>asJ0E&(OlZ9R zlZj4QGmdy}75+3m*|HiFoYB3KO@d-X9%_~K=NV)12W_DW4bqgz2B5BO)B-I5a}RlC zT{Q!mU)&xuyOu7u1r3T!A1M`nBn3gp$?KLJ@q)xCqEv-aZjJD zFzV^@>)G9h%H&U{!$0#Md7R)oJ`xq_dre$-ACDZ{OnvVD)tw`2W7XG*(v{}J`>hJ_P?vo?9SQaY7fE7i*=iKJPp`6J_FS^ z5sG|R+zNY7Ku9c7Og&fX5?A*Zmkb=0G3wJuUg>ef)zDlV7mq+d!rqeFt;xSwfTU0> z(2vwdPgh6ciSa~6#JgjCXvIv1Rr_<1w-kGNo1q`AgIaQ3%CU@|^NtR}|QNk8Ea+LYZ_K5eIo}a7rn?mV&{WG97Sp+6_w;T zb@7015ko9ouV;;nlGvB3T-924VM=e^@Hp9V+y%#aC<#}jY6 zS^88KQNYz6ZARJtEQLjd7*=QjY>?#gRK%H0meovUgkL2@d+nj2c`1;WnohtcVZ@j~ z8vk4tus%Q)7NmO8t+aA3IMupuc%{ng`heqrLE$FzCF5@OAxG}s?V-&%#10X!>|9pk zWJYIjH%)ez7o?F^vpU+Us$!5`28Q;&xz3M*1KEK2o4CzCj;>NizhNqXlzN)(q`;&i zSsC}_Ytv3k@Aju@a9KYnLgyW>08CU&|2yir)U~=Q3S_bc%*`20`G8K~z}F)DrbN1- z`f(#WryqqK880^IoRV}m{=_at{8gIEZf{JeYRZTUx73dzS8VCBzVrdgsnWM=?yrdh za8_&fRd-Tw*g>KL+Sm1W{l&#+HG4XIpI%3Z2a2E`euGDcP(eRAe0f~WOOw{Px$9=G zBjKbp=!tm>&(6q`jvT~hddx~61kDM(bbZ1?4L z8WrkE>nWVD@50Jfo1P`2BGQ^y*(bj0L!CvuFOKi=wp90vsV_LAvfITUXL(ODQmr=x zqbqB(s}30??m0O)3Bl>d(xam~lnf8b9y23@51e!x#`GAeQa0ta{l*OYV3BxyQ-;Xj z2SP{AKOs2<`U}~2!g82|=n72;N zIHA_l2U?|8R4HvD;W0IPWVQIIC8~%zR1`RMZRpVzLaehR;0YLqw^bX0`xFJ!p*D+m z{(?Fc53zQtjiBX{b7&IuC^4e!%$3;EUUQ2nCH}S>kR%jb>pj5rwSJ5*=eke1x@AOH zI8Cg?o=lz#xXk}OJ^A}lEtUQU|4erudzEf&^YM+VaQfvXEo54c|x6RHb1iyuG z&T7onZW7wipMTMq zIj59j=&ti5WdQCtBEV~E^6dCvRffZOB~AzMFmf|^d5YF(lWEYsvWXknmnN>?RGKnh zTSR5wKNn&Y;8^2Xp)d9E{EYLq6yXB-nxkKj`OkHBizExGg{On6jznFr}To!Az4zO!O0)i+2YFznXQX;Y7Swr z%6K5t&{FMNp6dOgELXXoNwIdX2@l-0O@==(!Ko`{6M!gKavU0e3E$p}I+>^j9mXXy zn2&9A1v0VEXjO+GX7t-}G9}G4nH(Nh`aIiWYTd9;?-f?GtD_u3+BbXDtLwd+*>DhE zk0|@)y0arrSzXmwye-rcrXXpst9(5t0Uq(vcyDycHOE)}1>}jQvD@cBz$fEft7Dl5 zVl^sr%HuNcX%=0*gr3T%pSt!v`;J>NWYy=wp+)5_AkV#!`qNC&lYehs9B@@^)UrAW zsVOT>#WrE|@aw8ON|ai~m*Sra@x$5P;?1+O+KH;NPjq1YeIdn?X6Wm zIe1pcV*6e`sP^8ZHDhkdGewnYc*l-79Tx>e+9w|WsL^uU;lG}U@a!b2r@COso*2-~ zF~%ipojlm}V=A_?_qG=6&c80GASU4XLh5YPwyZ7MbRe~^Jgaiv%@n`YGUKSVWk17V zTpVrq`zXxjMT)MN-L+wMV_x4fW>l8giO-w}Z`qg%c&R4eAnrNHWRCQdSDwx_a2p-H zFl;9%YQ4&N>4?CfU1o{T4z!GhqPDxHK}1x<8M8PQ1GT}-lV$N}$TU1m{favdaDI6Ikm zs!Szx0PH(F{mvOcZ?m4Ln>hz-8XG*j@FaBMpK}{Ns51n+)$Rm|hAvi&ASZBb%cg#a z?Zb~OYM91A2VYJ}gV_x^|HEm8^*)IVY;%EthGf0Ym-uHcuKKRQ&Z^q*UK<^g!l$kw zi+y{}_VOPV{d4V4iuuj;+uT?77Zlcmhj`7Bq~@U0DXL#7Y=_p)d<*+`?_VwQ&dO~-pH){r0h}}woljR$b#4c944Y0UhLvL<@2miSI*V=sLkZ2XR=%+Z zu`a><)*_O|_-D;py3T@_<6F5HSLq9m4X~fj*dY>_dHFhv!R@C*l?%mI#)crWAgHQJ0nOB|IS~0)A zxnFFAc4mkQP+uUZ8@&CN3S4`U-_`k*U*w@WWu5Nk?X#4~;v#~;`*B_7C-JNI44T3l zf|{RA-WFP!=m^RoFI(Q_e`v7rztK}i72$>61Z1Z)2syNL?EZFH6>s?II^_&)aGu2i zv~tY2z3k#2FFXaHjVCk=^Nop)yVjhKfs<)((}7E;^fAJCNakS=qcFCrI@)PV{3BMuDEha{7>5 zj;|<}0I{6fpLK*!VmWlij4W>fu^gfT>gs_V#J|OI9H}WupIP(}mHtMZ|GDbc!8UNy`-nfp*8Cp+3iQYaUr5zp= z+-Hft3hj;|RoeCupwmGA0Q+@1syVPm5U*-Lyi_K%Qe7xYa!x8=W;qeqz z>;WWf{`TOlQB5%l|DX7CWgP8nB}^jmP0>-`=Vn}r>gZ4TS?W9p0(CSluRjw6$-hSrqItKRI+N7uv7S96td6bv3G{&&8BT2AHgTilwn#1BrPiEP}* zdA2AZ(D+!cYz8OHkNbdAJKBM;&0Nq=ipmqT^8xcIMvv14ufl!Klssr+<#paXCP?;T zxo;=>(ZW$Cwaur$q5ELnx)oEn{-dA+P(29j8bVGSpOH0`Ox#BA0@XIwh3lj%#;`i} zgnz2ULLgn?UqVU9Xg7y?kW%XhmBHqe=Bwf1 zr5Z5C5p!KF_En;{w_!0E(qCMb3ori`#RsI3EE-idOHG?+aft|BHdeXu3SuuGtw=Tc zb+7?Mr_@1monP~t7Naj?UWkvDF#L}5bR-D1w(iZtk3e7xsL1ehXt-Ij+s+yP*h?=A zOKhQ=@2h#(8tvC(IKGh?bHgjpKYl_I;T)y@s%lYv+TFD?ZxdTEeejZ8pyD>V=9MWjq*7*33!v9 z4cotUR0P)bK{(1wy6aQCd9iE`St6VK!2Cn!;|23CIwxycviaYXW@Z_vo=eebtgC5 z)Bm!#>W%H&u|w>uMZOB-U~{oLh-+ZtwrmQ~nQ>sAuU6pq`F+RENGtlVos=^>u$NvI zj1u2}o@}cFZ*&mz6O4os(G%l$VU;oHfDN1hE(a0#FqT9Gd`deHx8uHIfm3~MrgVsK zyQ)}UZ_VGZPE75&TS*>R7CW*Z-dmR-J#al|fLO<3tmMp2gvydv>8{V;R4T+aO1Lq4 zB6^QHmC-t18Wyy#Q`1kr6+A^KFvA8Y1ebyk-93L`@b5#K_x8p3BYJ~2S>D1y@d3dc zX>ywe*Yy6F8(bFSbLTnwM~pFkzed{qnV>< z>L8oe?s;i!Xdo*OyXe5)vEHAq5DG;KGly9yUrxl%W0V5p5+M`Qbyw_V;znnP;scu$ z3Va6f=v4zLE1OHH?4;XrmYp^TWSv*FCcWwYXuWSihreSRA_*Jc{WY#{mb1_hB7rW z)*BQKVe&1UTy|m}-DB9VU~Wz2sf!L_&xlN9O^NZ8?p#MAt}9b)uc-+w`zs5jyOgw3 zpKa5+q54ue#=4?!xg?Dhfo?8b_OotNl$4?^ZkEDX4WFmP^Q_A>M8VI}xIjTGQwXX8 zwAURa51qdPKoQ)&(a5zK{g>O;AWl;>R@rA1o&tw zx%B4)oF>-qR%veJs9yuO6SQGQ8rt;Hnq%w`^ttcZXg3iBr!{hO7zXLrsj&1S2cb3{ zz@@L#Oh-tY@BPMF#{n#ytV{AC)tfO<}~C-bF*i%Pb(6nPEV{f zF}li(rAZFak>z=-llHiIl5oV{>F+8-DfRkI{d3x6piIzT+r2$A(0N$h^cEBp{L#tz zo&fZ5Nkb|VT&L;E^~pgr``88wMUDQ1yO3ICzzG7$KSZdTpKvhY*oJ{C7}v*AAKH_l zR8X7C(x}dtAzt5ctD+HY6}#5$HsCY9h(npn{P>%1KesNnIUtfmjOQ6yXrezddu;WWN0T-X72JLd)xrWDZ6^6;U|=I#*fS$7Do*S21?q%@Ns#lb;S&b}s_XhWbIBX$N;mpZl% z{y-)t#LLvJRlLvywb&_@0Ya9y(Qz=h;fgbX?HDcgL`P4V0Q7S`Ho{NvcE|HAQ`9{5gYm%` z4fL_|*V4qChr@9Z{*t?3EHX{d81pjZnRY958bL=mfW=PL`lbKfyM_5%$ zzi>Sexm}}(=V@cJRzjA;u|viA1sF6{#i9`_ql6Ja`!{F6g7@1k(rNR|e#y{nfBjVb zpiU2|&8=*%9E<{&p%}ZdFxo3`K%EXE`Nr%r&CwqcnkU4VJm`m}W7$2c$_ZbJtjV z;{ltt|DB#?K+#3Zt3mlRaKq_I_rxO>#Arvt3j0ZE-;m(R7VEUXm_DRod!`+7yVe^z zLj#A~UcZL9AlE#hIqER($YdZkjZ1mEbiq(O?|l7rC5{ZQ>AK`#DX&T3{;1@cxSY<-Eg9CoyjEKaQ?s0Vn>1HEy7HDVlG+WJJ$?#NA}j z&hzIxKRFX6;g6AV;TLb?rIVGFDoF^4X~f~fXbEN)9EG#Cun!xtt+C%<67Aadj!K3X z??2iM`eRV?qHqp!u-t&a+tA)Wk@&G|rxvX6=fH8HkVAMtj<&xz?72mITBbR7;PwZPjQGNk>5 zCrArQu8}@mBPo z99ND4ACJEu6`|Gv`wSNdxCL5DIxJc?qk3Zk)a-|lc6@p7vx}F1UQ5|HFBn%2kI!57 zvWkeoKKlXM5@1tJg)V<>Fo?9%9$ez1rtOe>L&lp?bRV)nb!r?xhY$(K_8;Z|x;a+r z$&8!=ZUw!YnP4S&u!k!Y*=qOajqz;yLwlS*u#GEw%#v=+-#48If4pp$KWsTKENhLp zjQ?FyRV^|Sd~>vMJvX>dn>g`U2=*d*Iqsffc@g`ZgjFwnA?Cc;IxhTNDxNaFxrGD} z&Y6Yqq!?E=*FByC!a1&gDZo%IKY4){HSDzfN8SkFpc~cNaf$s8>?uDRUhB;0dRUKW zIzL7KO$8KU46k>Z-PoudAGeOHh@utqn%u>$X01SEiVu3GlSz47lAtzY0YuQg2hYAO zhfX6f0CB?~5^cP{)1bsv{|loJ z)rOl1JQYXi#vkJ}L`7}6O^gvx; zyxRM}WX($+80KcO#V(Hb@r(W%HnRdPlIur?`mR$x`QN3^-^~1qNqd29ur8mszt%%P zW@iVpJpc0n7H+1D(UMMEM-+RLkbNL_c(5>P$%3Q*S2Fg?dM}bBDX+Re#DzYrEP(pd zQ%0Mw%+3@xR)H}oDu+>**m1~iJ4X*@u#Gx?Q6F&Vtf1zoFuaBVsjp|Tu8;5JqGvKL zKITP>KWf;Wl^JTXFcQ+were+njjukHYx+eYuvQ^Zr`X8oscT;VG*T&HzJEVj&pCBv ze2#MP)h2q?@Y`=}DGXp+lR$cvuG~nUuCtHHz~@B$^?yj_kYlkys5AOT_9ldt|5=(o>Lv4}_s8-^8 zCL$=NlO#fg7Hsoh><`9MGki_OGmmy9?pvm39BC*zj0Ys$!J9 zw?`DEq8|3BVHNreWVh$NEBcn0pyn`Y0h9P0b9K1A(e*|*)t(0>Yz->pBFmuQqWub=zYMSfSC7agqsO8JSc}kM8S%E z)%9I6PWy^!NhA`Se!o#nx2!g>H22g=&!~Vcd+HW7l%_3c-N`nEz<$q9@Qa_i1;3;- zyXfndYmSSJWi+Pj+omRpKzRw;-Q`nKIJ;J+2KB7V7vTC!g|4!O>J%{X+CHGCEX6q0 zyM~-ZVi6})x_L@{yUDpLwxld8aSH62{*L?34#;?~_b^EeM*3m~I+>^mW0;0K?Sh?foqUBBhls-&(7(5#PCxg@lgS=4qf)Ikn>+ri6T)!W7DgijcbK1D zVfb~{O9HFA@L_^iz>qcb6Fr0TMBMxakefH=iV1o+QdhK?uVablc~=j7{vjrl!1-4_ z^V#3vOPH}>Tlp(s$)6S#l<}F*s-ST4O#4ojDJ@M{|<$m6WmGM2j50luS zl*dfn4*S0`ru?#*2t0AEDLqStJ5eAAEHCf5KWyO#j^wMj>b{3G@m+;kd+vGG6K(W8 zbIC~jJE#X+1-aYU7^adHkm`^cJ zU4B!}Ri`o_md)>Z=3Zla8Y1Od!aSt``e8tk1*c)WsHULbaO&hbiz|=gxBw2JPS}O% z`#OzpNqB&EDWGxZ?{3}P@N_P@*qp1M3Bligf^RSP(}f>9?e>~ln}kO4%Z)iI0=}eq zs{s?QHZ1cjq(@l>zEk>I1D0Cz_Kxq;J{R6Ht(BG)pHXa?wNInHWX8J-aA*4KP3!%D z3#5y+Af{X)_mJ3IIX-^R77?AjWvO|AFfO<<_(hYiE|T>{oGquxq#a_NMo?M;#0hZMSiJ0eDE(H zEq?Kv+A)j(=e4ea7nW6>2XFX%eo`76cbd0bi7RVcTVi^(FM`oM8jK^(Oy+62q4`w!&j9_E;y+429V5Z=poms0x zUVBr>W2Zab2E?AuM9)(&b{tYp zPaYd3;E9C2pU)QCpwD{w2FDL2WaqpR&od$hkX9!FeH4AKG+|D216hJzv(`9(`=UUq zF&f3)X1@#fT~D}S#|K^^0aL#EWu@}#Z<;f7KYBU5JuK%ze-*4!1=I}{P9eKj`$gUk zN(sN3N!_hm`QGI7esjg5u`FOd)W@j0q{8)bPzzhI4VQ zXcl(9GKDfAkpJv=@OPZnisqKu^729&l{_;n=R6-Lrar%`UoCJigs+n-^%S`^zenSw zZ*u-7#S?v66^WH92ly~!g8p)(om+9@v+>fUMUU|Vv61fdt4S)lGGHbY4a6ahpBK$B z&Us1q*}B?A>6k~%3r9`%S$J;J%?D1nHroXe?$1Vfj1Byyr%Nch$O!Ks$Fag$`g|xl zN*n@Y3^P49lI0>1>ih#L$-HFTvf@v4we-76=^xL<)^JmLmL={e@QYWJsVyvQg#o#m z;q6dJ>KM7OHL3ulnwc%5Q9DYL>?YcllD^y)Z|n;T0QiiBW2b~C+z>&+TH~B9VOLb`RZvW zX43+8cM}5gBpmYgckT~3M((m1pE}l?Bk6dYvaDPeoCO$F=kkQp;};0q_651abnVkf zQ|nX{WOBqYuT29;XAuaniayVCLL z5Xe@3gFaDScu7*+_rnMeKlwRtbhUH_$*Ed*(^j$uoWFc~WL%fyK0n!}Ik-L5yI5yRb^_UEt^`hBo+}^!Fb8< z=&6>4;|}*OI|PK%@^dydSFieC%D}dFP@E-`Dzd#0CL6Vji;YX-RANz}DH`d{*Wi0V zU%&4lkAf$CM%J6w{Zf{Lxx!s+RRKeKb5&Vc%XToAB8>W~P9Y_9J)wAhKVGP0;PMDd0`eLAP+o-KAZQo@Hw*n$k*1L`^1L~{BJ$#4Y z$6lqUhwIlm>FLMCIr5_Gwv!1$LRDX;!>d5WGW^B56bOgae7)}2&B|n^m8*ZRmh~35 z%>1CwmiRm`D1p-g$M)ugcn16nB}|OBZXd4|2n~)cF$J+NmrViIm`{g2qbn=TT@PAb5-}On2sqLD>@Z4wY4oB z6;Xw-;~N_vwO}dnIdFVQw2$=0F+|4z536fUciHggn92mPvJ~4WtKGyb;jTC88Q^8+vZL3={jC49Hj27D^ zlzVrI6gPte5_YZf3yKR(O*Z&LmC)jo665lzL2goO0(Q=dRlbphtD{w8t4;r=XHvOU zoY%8c9a)R1jQ6PSmxFw70Ev`MvLqiTZTF#6_wYGdpXvA{^_(mnl^hmngfyC*_%^W&NW( zgN(0RbIp4h>VTP_y#EWbYHMz5q%z3I|7zT-po}@5ZKKVwMmq01Hgi|!1~{-h{Y z30r*h)i1{=q_nsfr?sPsXmCLqRyItT;3w&s-^LfQDy}Scb-Uz%%hXL8AU#8tB%I=d z-CJ}CNY8vaFBOkB2wevKXjf?}sh5mSsbzOn#F2Wtp=rsG;sXbw(FJC(*JSUcOt zqZVhDFEGh_*!CmL2Q&(g^%CT#Y=T)Vv&|VVWbfQ?7>9q_6{d(hYZS7;;Pl*EYH)D( z_DpJ_X_H)L;In6ocWP2hYJC0%uz3F&<9&kEW>y!rGQz{Q7b@7DB(UZ@GlNS^m7it# z1Io+}Djo2Sl6Wnf*u#T%6V~^yO+_{-(V>s2=|I?)#|O%KM`f5peVsP4YnpyJ4=UiH z`MBhC6576h?36Hl_M0th)9TUF8&$aFttIz`hwnRn!JJ!8-prA1!RS^U%ecn<;z>kri*I%QXCvgQ#{YbjNV%fbux;H zT3C5^$?KOw+=Jq+YY-8AY4Ve&@yls-GwJD1P$ z6%s53hog06&#-sz(g)2t`?{j-H!?-4nu^QRFmUri59`Al_j8f`Ei@q3eyqz#bV*Vv zw3$yR3_3fRbL)Nv;YP9?htn$J89>5_pF?Ps%??phQDw6ZgTh9-x@PgsG~>3(fb4N` zae905m&%;xv-`)@wNg5!Ef%{~axTv%JT|n7k35RXgv3RJlTp-{;pgcO;EeBTygO4% z?prPFrk0_4y=*T)kPEld+uT769nV+H@AFbLGF^{IjaJd50%zW@?A2mKQQVcr)kvtjXGmTb>FU2ayRI?1ak_o@zS!|ee7I)J&h-PS@= zU0F+7yJMP<2GDJP9?`zIyUBuluM)e=_5zFB)O4jr0mrG_aQtuJWi#3Ne3GA=AR~<3 za3eQ(YOx39*|9J6`E-#vW&@lxlA1b&bkR#MNPk@wA~M%5-u@jQvbeMB0!{L>jv-0@ zc{iz3WYef5JI*=(g2J?oEi8@BuxOMK?K?}PBih6A8UB<)h;7!)E*j4H@9YWFAcA(> z&<~~^N~pZ;!JEQ3?sBoMG|v}%>e#r{!cQkG=c9Y);FmCrTKj5`l+bkq zxOsGs$3v7u5y9)b^c>*IfQ*epHU+65kK4Xd9v9JegB<>hZu)PZfo!Cv9}dII+C5LM z1*KZjtS3|Ko5^44IPG9>!+A*Lx zgEG`dr+{Jq+zWZEYbP7|e1JX=MqE+GJu4Yjw*k~I@bala>xtG#SVC0rq2x1+P{t%{ zxRLhuS8#Ijo z9;b-uq0Xmp#K{UCiFdiytxbYEfakexz9ItB7aOVY4R{bLSSzZ{(%fw0o|rFjra($m zHI%?>tiv#Or$`20$L$MP*A!WvE+Aj%de$9F+QLj4hwjts?~7OrxNRW93$nKlw_msj zYE>8=_6GT_Aq_N{4Y_9$X*?s5VA<+P@QqDc^k=)cRlY*1yvHTtca@uZvNzqmZTDEbwd;fV-fK3b*6ivl+ zy~9>k)$elJ1fxt?YCY&ey_KIQ0V0Z#OhZUjo0BAtkyuW)MyYmzK;Y1gPJErVs2UH$ zoTjnvJlD3cG5dI*tB@LY$VFeU#@f3{Yv=0rgjp@>Evl4CG4-&D9x;U7N^jcA$vR~A zlzI8-x`?}rlnhHb2d)Lw*tGNLynla`9~v{(fxT|0tUQ5F+jst@cgHm7kLXOQ$=U;% z0hU=o-r#IsplQ8|c@}C05pynP$wt{L&lUMPkP5B0vk@Ec6u#$_a1{RFejsQu}roL0ov#~UD~LZl|ymDpjw zrYndImA~H@74#Rvhj|_t*l>Tv7b$t$Tt)HD+L&yZHOHU&ws<(7h010ED~vD*ZBnC- zRt2BR5hRq+t$^^Eey3qnd(*3nJ2_AmqH@Drj3 zCxHC4zx#YhB>53b1Gzul!ea6^y~l5(`ilma`q+=!nJ`nS4+6iiUI!teBP zl7O6g+%GsXo05T?T9!PJF|hc_f2Qf7Z)UtCnm+INO2}Gq=+LROGdVN5v~c$D&{o4Y zx9;dkb$=`@z71jfvQ4J{JTH8tl0muVsri252IVCi4PF#*n>(0_D=?<`?QA?mm+S7! z`EZvfh(++m{MBoa(1OglgJ}n<9Q&Ebb&`9IeJu(JeYaQE`3Fa*e`mYk!mM_gf+pY# zjF$~_wfZX?GJq7MRGH5y_#|= zau;<&o6Ju+E74x~`ji!(EG$hc*cE?dXUg4bCUKeFXD!`}?%$`)r1@s`yOjnL*7Mdw z4Lvf2$ee}~syX-5@esF_9H~Cw!`F`$4AlL5{Ad-k<=z8u-8vFV^&_iBT{DTYq^_S! z*EQ`e-CPGDu3%YAcfrC_JM2=Ab3CBOvWK4H84G&qv9f-a7FQWI~X^pbCHgWx^q8s{F-hgmo z86D1daX_PWDp6f_P3)FGet(l#(*@j|jJOIu9q&qEfk2_cC7N-m{MJ1izdIV2F`FNc zLQT23u{Lfe325K~MsQZ`Dlz_rr2rvWdPzY(i)s=9>`$eM&}>8Jj}W*?QCZ3^@0WIh zFF7-Zsc`alIGK2y{zS_INaP^q;W ztWYR)f2Lk_(5TAjOYjBegW$gRLSOz+{t z)LH!@MBQ%XX375$hDtQBQj^%@b9MB4le^@jL09XD;?2U1B3_=-7dnf_uk*AyPi}?& zE@(o7oE?g6}e2 zK_v{pJn{8`GCxj%%h+HE#6Q;A)ptfo(%2Z={!w86zZ5MdJ;iQycgi^zznl5GA%2yv zN-eBp`QnO_T@HGxr2u_|z-D%hV#dbTxC$poBJqt(HfX0OoTh#wX-$4BUmM^mbl3LY z^8#HeJ8_YwLufa(UN@1f{x7<=3IfD{#}xvp1<1*+N|@w`ooP@bAxdHI zVp8sk+M-8pefjSg2lJz>n1}iE*x0o7`PEBFDtd(+;mi7S16M z{|0IQKl&Go}pC;Rst^#$a~Q{3owcB|~5 z>f9^N?yH1-O;x+>+m-y(xhi+$v;ulh=tI;qNlv!6QFbRuef{?LWwUVbwnE^n>P}U3 zuMwQ+%F$@Is;`)kdeV%~d(H4~Ks*-gbCQ<4j+@VWI{$9szJmz_D*KuYlltrq6Bqo~ z1TedsZ~@OiyPK8{7d4z0erP7eG&D=9giv>O(A)8V-##7i;T!uk{{G4`6^%GRVLkk$ z4H*lBRP;?oR!WKu)r+}=2t?q)V}Hspz?uDVcaan^hXHHT-9qnTk>c5Kcwd{Uv)rZM zOJCkFx&CSmovl%wy(i=(^j#<%=hCmDx`W;oc*|lMI!@*0iw_PsXf(xUgw+@(;yDGs z2$LJ?ev*7ulP-&&$k&#_HJcUc`)98Dd(K)AjM_I9gO%Jjm^6vn zAslf$bqP(Rf0`-*?Y{r$X2dVS<0sGa@6~-UHsD*(XXB8@XsrN|DDSYP{B(UTOm?z3 zf4k`Y>?I1pbW-xHma>MnF>$6;-_$|TXFWyzoB5=5)7sg2w5QYtkoDIKt}x!eX-y3_ zAk_#cujs8HfB|KONGa4?%9J#lthDla1BuW{@VF=;%;)y%FFd9q?x(}9(d7YtI65kb zVS|6rl3{$m$qz4cP&89Dv9QbhPbXC*o&V3ed#_71$AYe8`gu)lw)@lDdmVP{P+i%y z^qd@)RV8A}JM~XIU$ttLdB~L4k0)KeEM&>lk|<*PJ>pwk`SNMIX1xmL%>!O_zWVUm z&$()MRS%mSQ}x{X^s8CN^&fBhKbfYg`sO6%&D!|>Z|{}6OlzD@mE==n8DN*i^Kf^E7W!wiP&g&D^UH=jJE`gC2N ze1Wz?;$ew}7nK9ET*<4Gag9H-S82(6ZxIk?7fH0>mI%3 zy{aC~Tlna^aL}!f>rSS0d&t_XV+M}WxgFkeEwXlc!<}ovzIl!xu4@WROFnS1O4%V{ z-{-_nq)W`PU~YW_~laO6Te{jv<-A>L-Pi5X%e`hA^j=&M#?bKKS^v~&Kj$S*E?TuD)zXvgqvWw@ z>3jC~uJHISn|k$bw8*X}wyc@^_H%Z6oR18P%DNYD(qriwH~Ga`AAh_SY3TL#HJI5Q z9$I+Pa`vPnrx^k>gn6!fnJq56r#)HNywD<(Zx$dB;1la z&Y$%A(5pBZeHy3H>dR+H;jv~0qIt4DcDGQ?&-#+M>#zURZI-zNTpwbd6J-xx9|D{N zIRso8%M7|==pcBF1W@GGzS`d%tE1QW+H=kotNHoz@?t)jTjpphMUYp5sQJ$@NZgX_ z0GieWE>!sV#$BT9VJJ0LiXbhS*mH8Rtiy(RwR&5h?!WD3&DHWw5p8wL&F4Yx)-Aj9 z&+xpp`;mMVxMkWMtW4TG?+B_Vfg*GMt|;8Hc*kkblpttM2{<83!HO0XcM7ZdNW7JR z80wT^^INbj7I<_PIBbBI7NalyK(<_HqiS;G*Qe($_9aQQi5A=rZx3H{w@SU2{qo&{ zYRB5%o&T9N4*9KOU|?7US_=T2hFus4iil&n>sMQrznpxublW`pU;BPt`xSpS-s1hY zdi(pIE{Zcuu%Gn)^1a8dFMrC{6+Zv?ZHw_DgLhUF_q^*paBM1M12<^33~+{2&PVPo z@D?R|5l%%TCl2STe=q)9{Y?G0`{&17`(}r&JwMsKjc>L1`pZRs{sY&kZE+Uo-8EOR zrSN*^vr>H)vwbDCoA$5CekuRu)P#$DEZ{KxXMbEpUhm3;J;gv*GkCiCxvXRu}-Fxp$nFdd0llK7cx$xUX~D2LL!_a0D967qlVuBG^~+manOoqp$zn z2Mz#DQ)7s>vzL#rkKF^8`@WDX;!<)ax+XIK09MuO8dq-yWUS(G$*WO$}@ z7cFYnowyNz@$#hsu*L7vK%V|YbNqbe{UlGWvHF;-m+@Y0ZVsWA_fjzl0L3Z5aR}n~ zu$^RzuVa6=qWH|@8-=+?!n*a9ZzBz}8X541Xs$Hnh0EBr!|C(%l?1FsuzH~Gm&x?~ zdkkuT4Z7cB6A>}k8|N^>@=|&|+}2tiXovZ;(4)t(hLMB4QS3+It1ko4`Vt1BrWUMf z^A`X#ZA^a*>Tj6H%Q#wT8+TQjK6^O6nCPhKAud-i=T-W>XW?YZa)W=bzlmbCP;EL{MSoBX7w|=TN2b zMr5^C*z%lR68uX+b))z|f&9MC;zgzwtkecwZ?_B5UUffJ{H=Zrx-31c>z$m;ey3}E z{%S6cgEcSb4gqKZ?{I$R5{+U5HIX{db65c@#QmKo0><2JOf9TtpM#J(DUXZCbidz% z^cEA*)nCHGa3n1T9z?`Q*A}KtI!~ae|D70duiLd_Y|chy^;!L6%HZc_H|KGf`RJap zmBBN&ipx&!if-h#%mxL_HJ|#gASq~S-pfVSJ@XaQaiI8*xMLDB?tN@<^2tP6DrN3hMQ>w%a4L#A9xwxzgJp^0lUK$Y$!tS+4d!l>I-RA9@p2u0w7vs9CLEOp>APn~z z!%9Q){os;&juv^DrxF5Z-NS@TPU(=1zv*K{-P%2+zvceI=L(lnNG$*6ni8#x9 zd$=Y=f%nP4CS-R{dLcHe_~B(IUmtMo)oCdUD7dTWYH_hr!)hg0MYMtY*cPf-5$PPZ zyQtw4uMU#N>d1qEZEZ$5rM`r3!O~s*o<`a&ACWX?smA1SSiG-*Z-Q+xu={jGBfWZ zjrSMqeNfnKIvmT1Md2^jzT z5yC|{>^+dqQZwFcKIt0po0?A0~jYd^p-c3|11O6fk|N0QS^uANTzwk!YJy2|& zkNqd37vp<9ED4JJg)-AOT32^B<#8#SAH(=^Pv0cW4wlo&1*p`_pm#nwe9$fV#JFGg zmTWTrARqYvV^&~XW%pjD>eh|*N`%EkZmOOZ@9|8_D(Mfh<@zqy3wu2)Z(6et%Ph#- z2qV(QUx|e?MGXe0-Qglz@(gM?j9Srpv>REbmzOLw>wwvCZ%UmDrQJn>hi3}189P&a zZ0VU~XJ?IIYvTPdkAs2!h%05P)#|AQS`CY!t2%SQQvqre_)aNlTy68tM2q1R5#P>&z%)EavfFN!3T|$r$x(B!k;IW)7b4Hlu3?pR)Xj|O0QiPk@ zWp`~df20JsU#sY*jOKni;`Y|^J4Xcf(*v_n00{)8Ye$3u=^~_U!EA=hKsG!CXF9I3 z)4z!*yh;eX;#Z`+T~u6Z@BHP^x|RRXq!;w=Ip!yYWpk;U(VCeB{wzWaCVe2t->XGb zNhXkojui@^-vuj^mlqk11!xHnGl!WZ3tPMzTT}gXm9ctv)d=CXlYS?UYKLS72iM`h z5|6Eh)}8Qu^fb*)NC8CcIGV~zuXfZWy_CYFBDo2_?HmB<1)yh!Hb*dU!_7jbMw-K0 z-pW6{XhHonGZfHTl)XN0L_Rfo2y2}LvLz2wt4+^7Pv&BtWLDG0=HinJxlq>(F*K?M z$?8z3TXu~)m3EWs3kM)*$SJi#`w_Y*ed?NwKz1hJX&pv8Ky@sT?Y0U$>*z()9i3q? zRw-w?nKQ#t_JI1y*M&>x9#>p6OZve|@wfr3t6lbWt@4Z`Wf%8OkcUFP2-*`X#V9U6 znX`G*wS>VG>4o==9InO&kNKM7q3gV$+in% zDyb0caiz$nslnI0vn-;A;VwhNp|waa)N4#v@ZOoKFDj=8-&D{S*9wXTY;Pi((yvIO z@OM_ZfWjjhnj^vUlMBQs2V7&pjVcGO+w$jYD@vep=Dw-IQ=xnksI2+xwQMqMM3IjmiwVsEb`Z zU(LL=t&n+RaBs4{2cw=?(4#JJJ#qBaIR*NVbQm~kkS^M>Z+Wy5TVYdcz7B=uCcYNF zpfYRb;%~bgm3Wt)X@dQ{OL?ouQu}aUa-bg!J41T(-#N`=*&+XS+e;-tm6lK-91bcZ z(lO0E)(yg47iDX3mcml23kRBQ>X16AlGr?8D(z5JW=tb8U=Y$@|^}_oKLER zw#6M2g)NF+5@9}8#%`LVBxcK5a{gfYMIgLwJy!h=cNUwJGd9kx=W_48{JOdeiy6q?(eUJ>42%m8)eQ4NQ6ISGiC7&s{SK zmqnw_=Jf?9i)E*9)w)~DcLe1c_O|uaInd5Em@I5^2hKv02VI`+;(Q-y6}K}h>n~Mm zl5;a2_G$Bm#-N#RDJs~6s}Yh&ftM7LJ(Yp&&(M@@IYQf=C{wxFB25+ zutKGj*`M7pDe%fi!tRc;DB*ivEgtBoXw62cFBhC#WI0(jDbWDSPZ3PMBzD3ywaHi0 zsmn_U>*&-0Cj5Dt~bIulWYuqu|zgGS`H;?QW=p;`3yD>^!E zPOvKk(P{EhtK^r$AL2aj3(t3_BOIdrAaVIm%ry}i+^rr)n3Gt;+8ZgLd$2hx?U6M` zb8$2X8d`fPgSB9*%1bE-Vs$6eSD(!6QZ?_9aTy!#7AN&^TOFRc-dUG?C76>C4pTWC z_dH*EZZ}#S0N^{~P%4rA7ruAC)RAMd6(LYny;dVj&$!`T{Xc5}j+z47u}krFsZul4 zaH{qyOIpl}bkNnKU3g4)B#?dYjUC6b>rg5YSs>o<>Im+IaQYmcBW;*TQ4@n{_xEzh zDs+pcC=Uy#p?N-h)M#-$tR&_9x=8YGawA@VqA&+;5xc8$E10uU3xg-3|FfU_xmG2S=Y2AFI?_TnJR>s z$m4g!thHkWt{yNQlRASu>e>D-m@s?#d>0)i znOYiF&$Q=mGX6uk|8wkb@zj%W6h3xo!y?r>?N)vz|I-k*tNccabu6muq z|Elo+ed_&TrrxLYhqT#^;;?vJg2G|le$)tn-+6FnY3-Y^q5Hr*D*uTM%oD#7E*2Z} zSn0Cx2?+Yr!WdYgHmdN;1RJ!Z1tA>_gSw51^cT7ilRQrm=d*|V_9>J2^bSE2cd)WW z{FUL3(&i3TxogK-z_7lI+e9K-Mrlnpuyk{E?E`L^h2!eaJ~xyTD_(`x{#4P_7h_JK z*<9*!>U#y6s;@t&%nYi6y=2eKt= z-?m8YbYnGJRhyA2jxIOI%W1uYH~H+q^Z+w9Nq>N|&Wq$L@)$43a)exCMUJwaBts9=#j1V)~^{bz;o>!2v%mt^DQ|8=-lt zOHWr-L@WQoj1#;B6QcjCpT;7oD6t0lAbZ_A71mbaP>L2XoU}Ar{($%P)U>Q5$*Pnm z=$~I3)dpJIC<(AZ?%s~(ydaFM_#p!wsWvN~oARl4hI=fs%xdQKifYApJ~4<88 zR3WIQKykQB0YFy!-|UR$2=H$<#@K$ZJPF$cSU&2tY5sHX;}-Y&{w0dmf9_5EyAu5e zUH?YglI!6*_*1w2z*jGAB94E9`$!6+xq0EH-qiCqcu2!p7|_l8V*JQ*0$kTL)F{1X z`z-SR+O#?b`Dt1WNznixrpVkguiz;K!2Fh~ytnDp tnyD3Klq!4oX&|=Lg7nwTzZT)IO!(_K{6FOcagO<8Eep3(?f#jT{|2VUp;7<< diff --git a/docs/guides/hierarchy.png b/docs/guides/hierarchy.png deleted file mode 100644 index c1a29caad4e9ba86ad9bc2570543300715afba52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5018 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 H)R=z&8nlfn diff --git a/docs/guides/hostpage.png b/docs/guides/hostpage.png deleted file mode 100644 index f7f00e2dfc2ab27bd8863d61950ff6c8f8ab2560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79267 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 Oy+imhGvi!Cbm(87#6Z>n diff --git a/docs/guides/hubs.png b/docs/guides/hubs.png deleted file mode 100644 index b9bae9143f9d48bb024d035bed3b001cf3119953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8377 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 diff --git a/docs/guides/img-src/MissionPlan.odg b/docs/guides/img-src/MissionPlan.odg deleted file mode 100644 index 7f7ae4e3f48999547af388f71f0a8d6842556d6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11805 zcmb7q1zc2H_cka<3ew#v-IBwlyQI5jfT3pS?nY1=q`ON(N}RdBl;s}6VZ+=@gcXfo#zU4)#=GtNFXG+T25bXzbc2G7 zp-^kEsj(v%V$14m3uJ*9JAfTnAW)Dk5Mt_N1G05wF}F8{T7XR*l)nQa-kIM6-eLSl zQ0}%&A-0b9+O9U%dwM%Bb9!-ZG788S!p0KUp2JT~CGRIV=SZu#XW#vaUuZrKQoyBu z``*UGkW%>A+bt%w_(8;D9@lQp?Y&d!NQE@Hw9D-h)sXh&GxQzm2?P2es)U8eDC0=3 z2N^fH9yuXbi_PZ7_!o}2Y(B4tYlgiNaK9A!IVBIpo!Hi_Zbd{3_L)DG zu>dfBBj~r#(H=;i;havi{P03Sa7vHiSs6+rOE4kIJc;g+;5+l8xf(QH?Z@1>jWCv@ zfa_AGHlf`PZ0nuW%vY;FpuHvq>qWka#zLM5x{Y zdBd3bh@2ax%dF`aPqjgdr$k11D7u#4e{)|)c+%G&(!*Tg%2C6b)$}laD98E>TfFmV zI=e;)1L~Mb;*v?fy}Z-numOp>;bCFsyR3aO^)s2>$oo=g0?KbMmJUA{4hLGt=XisJWRLxGb%96J;Rr(yHc82uWpdioo-~%_b-)v# zQSK+FnnmE9!Uc6agWZImY=)yKYJwe@iz0P2roXauXOno#9`wP5dxeTnv%dtbYB!^t zvyaMH+QcX-$sIQkhWE(}P<3#?{M^UbQ#`j)JPq*d6!37fWkzKjxo@D+j|qh~zikpE z`|)70WQ@Kd`I4o*o(P_RF#a(GEV6Z`j17mo=EE71=u5 zLUpl=in!2uqGifU|HDl@+Aotb!~?KnNx>3DG*8AhQp--@BiB(rL)sE+X!Iofq)TLR ztF$rmYW>#eoOFxml3`S;VYk>l4>dc_5K(Up)+MlQzaF|{tlwxbhxwD+iamcUOl_yA zL{N6kEP16Jzx6OABNBfelvi;VD(&Z4c%{GQ;}0I1W;rJ1L5%iF2`I|aB1;=l^qOX1pl zALXPH`#iyF-l;GNq+(_CupOg3QAVu`7+fj0*Qm}9yv1|!MNx5d^wuLbK*Xb>s-h!k zvzyZM4ACqM`%NRaH&+?%zK`iyGoc)>kd8r?`n*tzoUI@K1spvMC4BcPfpxJseNd}x;BGYq-1u~g zcrPE7=)&DUAtKQ!=mNFqN;L(rRmPKcqhlj-9eiMo$Oqw4QW^>!p8Yu5%TFY}U%{yI ztP{j%Ln_G406)YuHTG=naQNEeqL&FRY^JCzAa_fYSP|hewJH$Tlj_uvvhmW-4@<6^E23M&%|?<*(e|imM2y~%R20?6 zmSz#?uWudik855M4rB^#54EopHAMyJ7dUJ8M1RnvB;#5;Q}G4_N~>xD-6j;ptJF`+ z0nB@bGlq=z!x@Q3b4?BS?U$}Ghd_eZrV)YM$d9JDg&^ZothJvGX=`k6h-4 zr=NKu+U!aCn#+ECsoP{@l{*gzR8*>1VQFe>R%|RaE?u#y_#>R0Mf25VxjECTu@bRA zj`g`;=S9V0b4=-k#F5eT!y$V9p*SI1-o86LeR4i!?Nyj(tihLAo68`=N#QwO!_Q;g zF!d^5-P#qaE}C4=bh%+;u*3(KwRKtRSS)!kC(bfIL4uvJ#+Mcqs8_Y@z`3g_g8qJ| z%htqb%-7aZzI#IwE&L_h7{KlUll(>nGR5b_ofF&HsU$9T|7Ox@^Nq<^qbF&Q%+2K) zsX@==4MHZ>J=UkXU0g|{nn81&_yPuG&=sN2-N7M)XmcU-cn3_iQdRQTT?efcvd+S- zQS6eVUP;y+N4sfN!&dEqZJRX`7H64(5|>AO>J#sHTRGS z_B)g1dw58d@(0g#V)@_1Gz33;lt>udM`i)_y2-B9r3%Z`T8nh45I9IwSJ{!83(*N8 zW3m=nnsq|Qc`Iy@&8F%zRm@_+z>;1s-w7(c7Mp#6ksK5=h7r&5yo=qrQ^KA2#S2E; zAj+?RoG1H?RX z7f%gzob0G@xu)bw0JfbRb1x>#t4Q{o|8N7?5H$v%s=Uz3&L;y-Q%;HT5|~X>CVRs0 z+kI7e;rXdQtol_WS+`=U*Vv)5Mwh*RV!0HTAnK>`4Ni|FFv8X_+e8-HOqTJx4(0`Q zr6Fg-1j|D-%kfb>CfjJ`20pt%C;|#Q;Uf`*(=U}<-OMc_edC9@ljQ-%Q$nxz>jP}s z2a2Yg*wE4C0QCWGu3BH;=za`Hf{>hDN=nR|&YKwCaI%({mv?HEzYw~)%s;%o)Q}al zGiQ{!XhtV)>Qb7Jc%S%GQh(jqk<`*X4{$%{1Y&eSZYDDWp1vK-)Cbc_nfoV>19 zpynP?qX6^}DLYR-^w!i6!@&;2QMdCtCCpwTGDS?pnBJ-8+%UQ1`rNQZ=j8XXrr>sV z+Su>=a>?hB1z|;Nq%v3r7Yipbv@GD|7+M3dWM!LW^H;Nmdf~Jey0Q)%i3#g|w@+7Y zZk6Q_5QBvwn^H(HFqUF4F#pWIkni}HgQJ@@$l;!T&Fkpf&+)pyIM;eB+I#mYuOKG_wUkX z=ls~9+GkBG-4?Db`CR9t8W$Gdz_tXZu6uqR2ljPkR)1|}v(88)VIw|B*Xo1G`Jm2} z0f}4{>D@l8s)rk8Fv|k=oI)T`7#Cgm9{9}?Q&WlnW8Ts0jk3v|!%GvU)lVq-qeTS` zk?kr}iHR{*MZ8D!1@+oX@GI|2K&r*P%Gb&h8c!KV;o}3cD8h+TEm^>@ltwIjh3kBFzscr{orzB4 zszn1Yj5s4}nhg*~3d2$4E3KTw7BgJe>u8z*3@r)rD&R0FsV=JaoJV%i&VG;V{SYu& znxzsUyNU#4*4({cd67O$8EvY3eXmaAzi73TM+aufwS ztt-f#^$LkpvMxk!fj5W2O&6ZZ(RO>=D7<}ud!7G_j+@k)^eq{8ia@LM(}_VuQETU+ z%}dQUuLW*;$%1Y++n+gxMsvX=6Or5CTpAJ|tj|z~B+=%ss&5ex=!kx1dh2kL5{^$glvjew&4{7QuZ^o3h}U1}jm(hUZzJj|LPV4~ z=UYa}3IkiQSSm@p$6xuDsSw494%bQ(LW;yf&d#XqPZP#QI8J{fZLjj}B-)QC@+Nm@ zWRa5QHN{&dwxj(RGi=lh0n9ZWOg>eN)lv^i0^EUl4fv}EnSrr-U_!d-Dr!0M5qT_1 z6*F0XmJEQS4U&N@#|gFMIYzu?gNZJEGO4A;vCE}4W}ykQ5q6p4yHB<2Uenf=8hK6w zAH*e_YC2New#ah7Bc%&)9@lle3@%`vzA$8jv+Ai{8G&=plE%d%5I`3P zpU!^ONn;^T?<4_8L2*+$jif*Ku}_E!%j&N7l`NiLzT&LHe6oq0SFg?6@;)!*8)7yF zgozeT_ra55sRXJzE4y}H2$KbUWd0}^n5Cq4 zc9g^WDC>qQ-ba%-VNPuzyNE+G41MV(c=i2!8(>Pq9&mzI|Kc1EP1CT7k8!5ReTdtd z9j!Kr$k;{2UU9saEgFrxn_c*Ee^=A^+{MA7520`sX_W&_1uOf$c{BQF7_zrpqFfk! z^x$N9o(9j7m6arRx+FqCpIWu#B&UnWlC0EW=E9N)Sh0^IF&4fQ{0;y0B8@1Xxfo(O zO9f`u2Lg;n_jpA8^v79HLAQ9sW&t8myb8>WvpZfFzrIycO~K`s=jQG%8E9ahj`pou z#PPz5#`1;!sg8kRzoX+StcO@em3V+cjS8n6QT^XSvhCK3ae@6Q%3 zizQ!fjRa%tbveS=PKc^7%vEkxG9_q;m*vtYGS<0A8(kh;n|c&(d3O?1)fcbh2WuR# zsLmC3=j=D`7WtaR!NhT4WwJC+;xwKfGrTH5c2~gD8Im80ur5t^cy5we`FbWRB`nk? z0JMPNXHJ@Yf)9+8yp-R@7%^8I^^}M>CYBGQUW=eb5KBY|W;Qu|EonJ`O)bS~xR=^6 zW~xA$GU>7}B6m}3`q~cawhhcDKp}fQ{Z1HA%}xPz1Rf)DDNF%qQq>LW&EZGOFE zq_ohcan040EE)-3rmb(_0~X&mD5!bIC!kXM4>n*(;8tJE|4ALs>qMRRUV zbMmSqId%@IrWwN?OQ4w@9pHMFlxVezq}lj2vb1FbEim9|iD-+mRJy#PJ&^0ED_V;C zBHTHxQic{*yD9gQubUQDuvBzWmDnpP!E4_30=}2!J7KLJc%S$KsKc_iPC#jGQRL5> zc3o^&G7DU+@JTj2bgm`Gb3F`@rqn8k;5^%*r_2|o=NpIdS$rZ^ov z*I8Kq*?W|>mC-DZ?3yE!tQ5xx$|QgCS1q_BaWUC(i`1{YohT)vct++#s zOUP>!YqUfrSUB^G(Hu5K0`>j&_q-_8uR9N-zED;6mJx6#$!*(L1!X2Su?bv?2%qD$aTtBxRBF=IxuV5YZw; zF<&~mwC+KcBgX4>pZOFVJRunEz`M@II4{Ef7AlUjn

jR|g4!&Evpjw@v#5Sx3pz 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 diff --git a/docs/guides/img-src/agility.fig b/docs/guides/img-src/agility.fig deleted file mode 100644 index e0644b20f9..0000000000 --- a/docs/guides/img-src/agility.fig +++ /dev/null @@ -1,50 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 2 0 1 0 7 50 -1 -1 0.000 1 0.0000 9877 4635 1237 765 8640 3870 11115 5400 -1 2 0 1 0 7 50 -1 -1 0.000 1 0.0000 9877 4635 1237 765 8640 3870 11115 5400 -1 2 0 1 0 7 50 -1 -1 0.000 1 0.0000 6662 3185 1237 765 5425 2420 7900 3950 -1 2 0 1 0 7 50 -1 -1 0.000 1 0.0000 3197 1925 1237 765 1960 1160 4435 2690 -1 2 0 1 0 30 50 -1 20 0.000 1 0.0000 3197 4985 1237 765 1960 4985 4434 4985 -1 2 0 1 0 30 50 -1 20 0.000 1 0.0000 3242 6875 1237 765 2005 6875 4479 6875 -1 2 0 1 0 30 50 -1 20 0.000 1 0.0000 3242 8720 1237 765 2005 8720 4479 8720 -1 2 0 1 0 30 50 -1 20 0.000 1 0.0000 6797 6065 1237 765 5560 6065 8034 6065 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3150 4050 3150 2970 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4590 2295 5310 2655 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4725 6705 5490 6390 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4545 5265 5445 5625 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 8460 5895 7020 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 8145 5625 8730 5220 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6750 4185 6750 4995 -4 0 0 50 -1 16 18 0.0000 4 210 1140 9360 4725 AGILITY\001 -4 0 0 50 -1 16 18 0.0000 4 270 1980 5760 3285 Required speed\001 -4 0 0 50 -1 16 18 0.0000 4 270 2010 5805 6165 Available speed\001 -4 0 0 50 -1 16 18 0.0000 4 210 1110 2565 1800 Business\001 -4 0 0 50 -1 16 18 0.0000 4 270 1485 2520 2205 Imperatives\001 -4 0 0 50 -1 16 18 0.0000 4 270 1230 2565 5085 Reliability\001 -4 0 0 50 -1 16 18 0.0000 4 210 795 2745 6705 Useful\001 -4 0 0 50 -1 16 18 0.0000 4 270 1155 2655 7200 Capacity\001 -4 0 0 50 -1 16 18 0.0000 4 210 1410 2520 8595 Ease / cost\001 -4 0 0 50 -1 16 18 0.0000 4 270 1260 2610 9000 of change\001 -4 0 0 50 -1 16 12 1.5708 4 165 3225 855 8910 ----------------Infrastructure ----------------\001 -4 0 0 50 -1 16 12 1.5708 4 210 3210 1350 8955 ---------------- CFEngine ------------------\001 diff --git a/docs/guides/img-src/arch.fig b/docs/guides/img-src/arch.fig deleted file mode 100644 index 3fb3111eda..0000000000 --- a/docs/guides/img-src/arch.fig +++ /dev/null @@ -1,84 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -0 32 #649075 -0 33 #990000 -0 34 #af714e -1 3 0 1 0 1 50 -1 20 0.000 1 0.0000 2970 1620 459 459 2970 1620 3060 2070 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 1125 5130 162 162 1125 5130 1287 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 1755 5130 162 162 1755 5130 1917 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 2565 5130 162 162 2565 5130 2727 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 3150 5130 162 162 3150 5130 3312 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 3735 5130 162 162 3735 5130 3897 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 4545 5130 162 162 4545 5130 4707 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 5265 5130 162 162 5265 5130 5427 5130 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 5805 5130 162 162 5805 5130 5967 5130 -1 3 0 1 0 33 50 -1 20 0.000 1 0.0000 4590 3645 363 363 4590 3645 4953 3645 -1 3 0 1 0 32 50 -1 20 0.000 1 0.0000 5940 1710 1274 1274 5940 1710 7214 1710 -1 3 0 1 0 33 50 -1 20 0.000 1 0.0000 1350 3690 363 363 1350 3690 1713 3690 -1 3 0 1 0 33 50 -1 20 0.000 1 0.0000 3015 3690 363 363 3015 3690 3378 3690 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 495 5130 162 162 495 5130 657 5130 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 3780 1620 4320 1620 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1620 3240 2565 2070 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 3015 3195 3015 2250 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 3465 2070 4365 3105 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 540 4905 1035 4095 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 675 4905 2745 4230 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1710 4860 1485 4185 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1215 4905 4410 4140 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1125 4905 1215 4230 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 5175 4815 4815 4185 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 5760 4860 4995 4140 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 5085 4860 3195 4185 -4 0 0 50 -1 16 18 0.0000 4 225 1005 5310 1530 Version\001 -4 0 0 50 -1 16 18 0.0000 4 225 975 5310 1875 Control\001 -4 0 0 50 -1 16 18 0.0000 4 285 1440 5310 2220 Repository\001 -4 0 0 50 -1 16 18 0.0000 4 225 1335 -1710 5175 End hosts\001 -4 0 0 50 -1 16 18 0.0000 4 285 2880 -1620 1710 Policy Definition Point\001 -4 0 0 50 -1 16 18 0.0000 4 225 2580 -1710 3645 Distribution servers\001 -4 0 0 50 -1 12 14 0.0000 4 210 3750 5445 3645 /var/cfengine/masterfiles\001 -4 0 0 50 -1 12 14 0.0000 4 210 3000 6255 5175 /var/cfengine/inputs\001 -4 0 0 50 -1 12 14 0.0000 4 210 1350 -1125 2205 /any/path\001 -4 0 0 50 -1 0 12 0.0000 4 135 795 3600 1305 TESTING\001 diff --git a/docs/guides/img-src/authdir.fig b/docs/guides/img-src/authdir.fig deleted file mode 100644 index 5d266f7060..0000000000 --- a/docs/guides/img-src/authdir.fig +++ /dev/null @@ -1,33 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1800 5040 4365 5040 4365 6390 1800 6390 1800 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4725 5040 7290 5040 7290 6390 4725 6390 4725 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 7695 5040 10260 5040 10260 6390 7695 6390 7695 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4770 1710 7335 1710 7335 3060 4770 3060 4770 1710 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 - 2 1 1.00 60.00 120.00 - 5760 3060 3465 3645 2880 5040 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 2 - 2 1 1.00 60.00 120.00 - 5895 3105 5985 4995 - 0.000 0.000 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 0 3 - 2 1 1.00 60.00 120.00 - 6615 3105 8325 3645 8910 5040 - 0.000 -1.000 0.000 -4 0 0 50 -1 14 18 0.0000 4 195 1125 2340 5805 user1\001 -4 0 0 50 -1 14 18 0.0000 4 195 1125 5085 5760 user2\001 -4 0 0 50 -1 14 18 0.0000 4 195 1125 8190 5715 user3\001 -4 0 0 50 -1 14 18 0.0000 4 240 3150 4545 2610 authorized_dir\001 diff --git a/docs/guides/img-src/brainbrawn.fig b/docs/guides/img-src/brainbrawn.fig deleted file mode 100644 index 4bccdbb9ca..0000000000 --- a/docs/guides/img-src/brainbrawn.fig +++ /dev/null @@ -1,49 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 900 900 900 7650 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7650 7650 7650 900 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4050 900 3150 3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4050 900 4950 3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3150 3150 1800 5400 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3150 3150 3600 5400 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4950 3150 4500 5400 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4950 3150 6300 5400 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 5400 3150 7650 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 5400 4050 7650 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 5400 4950 7650 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 5400 5850 7650 -4 0 0 50 -1 16 18 0.0000 4 285 2385 8100 7650 Brawn (hands on)\001 -4 0 0 50 -1 16 18 0.0000 4 285 2235 8100 1350 Brain (hands off)\001 -4 0 0 50 -1 16 18 0.0000 4 225 1755 3150 8100 Worker/slave\001 -4 0 0 50 -1 16 18 0.0000 4 225 1950 3600 450 Leader/master\001 diff --git a/docs/guides/img-src/central_pull.fig b/docs/guides/img-src/central_pull.fig deleted file mode 100644 index 827434c05b..0000000000 --- a/docs/guides/img-src/central_pull.fig +++ /dev/null @@ -1,32 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1755 1890 343 343 1755 1890 1890 2205 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1395 4095 343 343 1395 4095 1530 4410 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1845 6255 343 343 1845 6255 1980 6570 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3870 7785 343 343 3870 7785 4005 8100 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6210 3825 805 805 6210 3825 6570 4545 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 7 0 1 2 - 0 0 1.00 60.00 120.00 - 5490 3420 2160 2070 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 7 0 1 2 - 0 0 1.00 60.00 120.00 - 5400 3915 1935 4140 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 7 0 1 2 - 0 0 1.00 60.00 120.00 - 5535 4320 2205 6075 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 7 0 1 2 - 0 0 1.00 60.00 120.00 - 5940 4590 4140 7380 -4 0 0 50 -1 16 18 0.0000 4 285 1110 765 1260 host pull\001 -4 0 0 50 -1 16 18 0.0000 4 285 1110 315 3465 host pull\001 -4 0 0 50 -1 16 18 0.0000 4 285 1110 675 5760 host pull\001 -4 0 0 50 -1 16 18 0.0000 4 285 1110 1890 7560 host pull\001 -4 0 0 50 -1 16 18 0.0000 4 285 3930 7200 4005 HUB (RBAC for change only)\001 -4 0 0 50 -1 1 17 0.0000 4 255 1095 6255 4995 read only\001 diff --git a/docs/guides/img-src/central_push.fig b/docs/guides/img-src/central_push.fig deleted file mode 100644 index ba0a728e16..0000000000 --- a/docs/guides/img-src/central_push.fig +++ /dev/null @@ -1,35 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1755 1890 343 343 1755 1890 1890 2205 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1395 4095 343 343 1395 4095 1530 4410 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1845 6255 343 343 1845 6255 1980 6570 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3870 7785 343 343 3870 7785 4005 8100 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6210 3825 805 805 6210 3825 6570 4545 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5490 3420 2160 2070 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5400 3915 1935 4140 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5535 4320 2205 6075 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5940 4590 4140 7380 -4 0 0 50 -1 16 18 0.0000 4 225 1500 765 1260 host RBAC\001 -4 0 0 50 -1 16 18 0.0000 4 225 1500 315 3465 host RBAC\001 -4 0 0 50 -1 16 18 0.0000 4 225 1500 675 5760 host RBAC\001 -4 0 0 50 -1 16 18 0.0000 4 225 1500 1890 7560 host RBAC\001 -4 0 0 50 -1 16 18 0.0000 4 225 1665 7200 4005 HUB PUSH \001 -4 0 0 50 -1 1 17 0.0000 4 195 1170 4545 7785 read/write\001 -4 0 0 50 -1 1 17 0.0000 4 195 1170 2565 6525 read/write\001 -4 0 0 50 -1 1 17 0.0000 4 195 1170 1755 4770 read/write\001 -4 0 0 50 -1 1 17 0.0000 4 195 1170 1710 2745 read/write\001 diff --git a/docs/guides/img-src/cfengine-bdma.fig b/docs/guides/img-src/cfengine-bdma.fig deleted file mode 100644 index 39e4bfd4af..0000000000 --- a/docs/guides/img-src/cfengine-bdma.fig +++ /dev/null @@ -1,81 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -0 32 #c6b797 -0 33 #eff8ff -0 34 #dccba6 -0 35 #404040 -0 36 #808080 -0 37 #c0c0c0 -0 38 #e0e0e0 -0 39 #8e8f8e -0 40 #aaaaaa -0 41 #555555 -0 42 #8e8e8e -0 43 #d7d7d7 -0 44 #aeaeae -0 45 #bebebe -0 46 #515151 -0 47 #e7e3e7 -0 48 #000049 -0 49 #797979 -0 50 #303430 -0 51 #414141 -0 52 #c7b696 -0 53 #414541 -5 1 0 7 20 20 37 -1 -1 0.000 0 1 1 0 5291.000 1148.530 3439 3267 5175 3960 7143 3267 - 1 1 1.00 72.37 144.74 -1 3 0 1 0 2 50 -1 20 0.000 1 0.0000 5400 4500 2423 2423 5400 4500 6300 6750 -2 4 0 1 0 6 50 -1 20 0.000 0 0 7 0 0 5 - 4500 3600 4500 450 450 450 450 3600 4500 3600 -2 4 0 1 0 6 50 -1 20 0.000 0 0 7 0 0 5 - 10350 8550 10350 5400 6300 5400 6300 8550 10350 8550 -2 4 0 1 0 6 50 -1 20 0.000 0 0 7 0 0 5 - 4500 8550 4500 5400 450 5400 450 8550 4500 8550 -2 3 0 3 20 20 37 -1 20 0.000 0 0 0 0 0 4 - 5430 5175 5820 5850 5040 5850 5430 5175 -2 3 0 1 20 20 37 -1 20 0.000 0 0 0 0 0 4 - 7200 3690 7470 3060 6750 3240 7200 3690 -2 4 0 1 0 6 50 -1 20 0.000 0 0 7 0 0 5 - 10350 3600 10350 450 6300 450 6300 3600 10350 3600 -2 4 0 1 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 6750 4275 6750 3150 4050 3150 4050 4275 6750 4275 -2 1 0 6 20 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 5.00 120.00 120.00 - 5400 4590 5400 4095 -3 2 0 7 20 20 37 -1 -1 0.000 0 1 0 3 - 1 1 1.00 60.00 120.00 - 4590 7830 5130 7380 5310 5400 - 0.000 -1.000 0.000 -3 2 0 7 20 20 37 -1 -1 0.000 0 1 0 3 - 1 1 1.00 60.00 120.00 - 6300 7830 5760 7380 5580 5400 - 0.000 -1.000 0.000 -3 2 0 6 20 7 50 -1 -1 0.000 0 1 0 4 - 1 1 5.00 120.00 120.00 - 5355 3330 5265 2295 4725 1620 3960 1440 - 0.000 -1.000 -1.000 0.000 -4 0 0 50 -1 16 20 0.0000 4 315 1020 7650 900 Deploy\001 -4 0 0 50 -1 16 20 0.0000 4 315 1170 1800 5850 Manage\001 -4 0 0 50 -1 16 20 0.0000 4 240 750 7875 5850 Audit\001 -4 0 0 50 -1 16 20 0.0000 4 240 735 1800 900 Build\001 -4 0 9 50 -1 18 14 0.0000 4 225 2100 6750 6525 Sample and report\001 -4 0 0 50 -1 18 22 0.0000 4 345 2880 4050 4950 Knowledge Base\001 -4 0 9 50 -1 18 14 0.0000 4 225 3285 6660 7830 Alarms about promised state\001 -4 0 9 50 -1 18 14 0.0000 4 180 2580 7110 2250 all automonous clients\001 -4 0 9 50 -1 18 14 0.0000 4 240 2325 7110 1890 Publish the policy to\001 -4 0 0 50 -1 16 20 0.0000 4 315 885 4950 3690 Policy\001 -4 0 9 50 -1 18 14 0.0000 4 225 3495 720 7875 Alarms about promised events\001 -4 0 9 50 -1 18 14 0.0000 4 225 1140 765 7155 self-repair\001 -4 0 9 50 -1 18 14 0.0000 4 240 2970 765 6840 Agents maintain state and\001 -4 0 9 50 -1 18 14 0.0000 4 240 2790 630 2835 Identify where and when\001 -4 0 9 50 -1 18 14 0.0000 4 225 2820 630 3105 promises should be kept\001 -4 0 9 50 -1 18 14 0.0000 4 225 3810 630 2340 Formulate desired state promises\001 -4 0 9 50 -1 18 14 0.0000 4 240 2820 630 1395 Investigate existing state\001 -4 0 8 50 -1 18 14 0.0000 4 240 2370 630 1845 Plan policy changes.\001 diff --git a/docs/guides/img-src/cfengine-schematic.fig b/docs/guides/img-src/cfengine-schematic.fig deleted file mode 100644 index 8eaf1d78dd..0000000000 --- a/docs/guides/img-src/cfengine-schematic.fig +++ /dev/null @@ -1,43 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 2 0 7 50 -1 -1 0.000 1 0.0000 6975 1800 1153 1153 6975 1800 7380 2880 -1 3 0 2 0 7 50 -1 -1 0.000 1 0.0000 2385 1890 1153 1153 2385 1890 2790 2970 -1 3 0 2 0 7 50 -1 -1 0.000 1 0.0000 4545 4365 1153 1153 4545 4365 4950 5445 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 3645 1845 5760 1845 -3 2 0 2 0 7 50 -1 -1 0.000 0 1 1 3 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 3240 4365 2250 4095 2025 3105 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 -1 -1 0.000 0 1 1 3 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 7020 2970 6750 4005 5760 4455 - 0.000 -1.000 0.000 -3 2 0 2 8 7 50 -1 -1 0.000 0 1 1 3 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 2745 810 2520 180 2250 675 - 0.000 -1.000 0.000 -4 0 20 50 -1 18 13 0.0000 4 195 2220 3600 2700 problem management\001 -4 0 20 50 -1 18 13 0.0000 4 195 2505 3780 5895 knowledge management\001 -4 0 20 50 -1 18 13 0.0000 4 150 630 6885 4365 CMDB\001 -4 0 8 50 -1 18 15 0.0000 4 240 750 2430 3600 policy\001 -4 0 20 50 -1 18 13 0.0000 4 195 2220 90 450 incident management\001 -4 0 0 50 -1 14 13 0.0000 4 180 1200 1755 1305 cf-agent\001 -4 0 0 50 -1 16 18 0.0000 4 285 1755 1485 2295 Management\001 -4 0 0 50 -1 16 18 0.0000 4 285 1785 1485 1890 Configuration\001 -4 0 0 50 -1 16 18 0.0000 4 285 1395 6300 2115 Monitoring\001 -4 0 0 50 -1 14 13 0.0000 4 135 1650 6165 1530 cf-monitord\001 -4 0 0 50 -1 16 18 0.0000 4 285 1470 3825 4320 Knowledge\001 -4 0 0 50 -1 14 13 0.0000 4 135 1050 4005 4860 cf-know\001 diff --git a/docs/guides/img-src/components.fig b/docs/guides/img-src/components.fig deleted file mode 100644 index a9c6b7e066..0000000000 --- a/docs/guides/img-src/components.fig +++ /dev/null @@ -1,74 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 3600 3150 5850 5850 -2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 3600 2250 3600 1350 1350 1350 1350 2250 3600 2250 -2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 3600 3600 3600 2700 1350 2700 1350 3600 3600 3600 -2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 3600 4950 3600 4050 1350 4050 1350 4950 3600 4950 -2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 3600 6300 3600 5400 1350 5400 1350 6300 3600 6300 -2 4 0 2 0 31 50 -1 20 0.000 0 0 7 0 0 5 - 3600 7650 3600 6750 1350 6750 1350 7650 3600 7650 -2 4 0 2 0 16 50 -1 20 0.000 0 0 7 0 0 5 - 8100 2250 8100 1350 5850 1350 5850 2250 8100 2250 -2 4 0 2 0 16 50 -1 20 0.000 0 0 7 0 0 5 - 8100 3600 8100 2700 5850 2700 5850 3600 8100 3600 -2 4 0 2 0 16 50 -1 20 0.000 0 0 7 0 0 5 - 8100 4950 8100 4050 5850 4050 5850 4950 8100 4950 -2 4 0 2 0 16 50 -1 20 0.000 0 0 7 0 0 5 - 8100 6300 8100 5400 5850 5400 5850 6300 8100 6300 -2 4 0 2 0 16 50 -1 20 0.000 0 0 7 0 0 5 - 8100 7650 8100 6750 5850 6750 5850 7650 8100 7650 -2 4 1 2 0 16 50 -1 -1 6.000 0 0 7 0 0 5 - 4050 8100 4050 900 900 900 900 8100 4050 8100 -2 4 1 2 0 16 50 -1 -1 6.000 0 0 7 0 0 5 - 8550 8100 8550 900 5400 900 5400 8100 8550 8100 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 1350 3150 675 2475 1350 1800 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 3600 1800 4500 2475 3600 3150 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 3600 3150 4500 3825 3600 4500 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 1350 4500 675 3825 1350 3150 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 -1 -1 0.000 0 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 3600 7200 5850 5850 - 0.000 0.000 -4 0 0 50 -1 16 18 0.0000 4 285 1530 1800 7200 cf-runagent\001 -4 0 0 50 -1 16 18 0.0000 4 225 1140 1800 1800 cf-execd\001 -4 0 0 50 -1 16 18 0.0000 4 285 1530 6300 7200 cf-runagent\001 -4 0 0 50 -1 16 18 0.0000 4 225 1140 6300 1800 cf-execd\001 -4 0 0 50 -1 16 18 0.0000 4 225 1515 1800 4500 cf-monitord\001 -4 0 0 50 -1 16 18 0.0000 4 225 1185 1800 5850 cf-server\001 -4 0 0 50 -1 16 18 0.0000 4 225 1515 6300 4500 cf-monitord\001 -4 0 0 50 -1 16 18 0.0000 4 225 1185 6300 5850 cf-server\001 -4 0 0 50 -1 16 18 0.0000 4 225 735 2025 675 host1\001 -4 0 0 50 -1 16 18 0.0000 4 225 735 6525 675 host2\001 -4 0 4 50 -1 16 22 0.0000 4 345 1290 1800 3150 cf-agent\001 -4 0 4 50 -1 16 22 0.0000 4 345 1290 6300 3150 cf-agent\001 diff --git a/docs/guides/img-src/coordination.fig b/docs/guides/img-src/coordination.fig deleted file mode 100644 index c424a2ba33..0000000000 --- a/docs/guides/img-src/coordination.fig +++ /dev/null @@ -1,37 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 1201 4388 186 186 1201 4388 1246 4568 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2551 4388 186 186 2551 4388 2596 4568 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 3901 4388 186 186 3901 4388 3946 4568 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2551 2138 186 186 2551 2138 2596 2318 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 7051 2138 186 186 7051 2138 7096 2318 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 5701 4388 186 186 5701 4388 5746 4568 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 7051 4388 186 186 7051 4388 7096 4568 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 8401 4388 186 186 8401 4388 8446 4568 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1230 4365 2460 2325 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2580 4380 2565 2370 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3855 4185 2745 2370 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7031 2192 5723 4179 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7069 2204 7056 4217 -2 1 0 2 0 7 50 -1 0 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7120 2204 8338 4192 -4 0 0 50 -1 16 18 0.0000 4 225 1950 1313 5268 Uncoordinated\001 -4 0 0 50 -1 16 18 0.0000 4 225 1635 6377 5217 Coordinated\001 diff --git a/docs/guides/img-src/dikw.fig b/docs/guides/img-src/dikw.fig deleted file mode 100644 index 6e60bc9cc8..0000000000 --- a/docs/guides/img-src/dikw.fig +++ /dev/null @@ -1,29 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 1125.000 7875.000 900 6300 2250 6750 2700 8100 -5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 670.459 8777.271 900 4005 4050 5400 5400 8100 -5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 1254.852 8465.721 900 1620 6300 3825 8100 8100 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 900 8100 900 1350 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 900 8100 9900 8100 -4 0 0 50 -1 16 19 0.0000 4 225 2205 2250 6300 INFORMATION\001 -4 0 0 50 -1 16 19 0.0000 4 225 2040 4050 4950 KNOWLEDGE\001 -4 0 0 50 -1 16 19 0.0000 4 300 2100 7650 8550 Understanding\001 -4 0 0 50 -1 16 19 0.0000 4 210 1050 450 900 context\001 -4 0 0 50 -1 16 19 0.0000 4 225 1335 6525 3465 WISDOM\001 -4 0 0 50 -1 16 19 0.0000 4 300 750 7245 4095 why?\001 -4 0 0 50 -1 16 19 0.0000 4 270 1440 2880 6930 who,what,\001 -4 0 0 50 -1 16 19 0.0000 4 270 1725 2970 7425 when,where\001 -4 0 0 50 -1 16 19 0.0000 4 225 180 4725 7380 ?\001 -4 0 0 50 -1 16 19 0.0000 4 225 765 5040 5625 how?\001 -4 0 0 50 -1 16 19 0.0000 4 225 840 1260 7515 DATA\001 diff --git a/docs/guides/img-src/fed1.fig b/docs/guides/img-src/fed1.fig deleted file mode 100644 index 510380f145..0000000000 --- a/docs/guides/img-src/fed1.fig +++ /dev/null @@ -1,27 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 1350 2250 3600 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1350 2250 3600 2250 3600 5400 1350 5400 1350 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 1800 3150 promises.cf\001 --6 -6 4950 2250 7200 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 2250 7200 2250 7200 5400 4950 5400 4950 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 5400 3150 promises.cf\001 --6 -6 8550 2250 10800 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 8550 2250 10800 2250 10800 5400 8550 5400 8550 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 9000 3150 promises.cf\001 --6 -4 0 0 50 -1 0 16 0.0000 4 240 1485 5310 5850 Department 2\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 9000 5850 Department 3\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 1710 5850 Department 1\001 diff --git a/docs/guides/img-src/fed2.fig b/docs/guides/img-src/fed2.fig deleted file mode 100644 index 40cd78cc37..0000000000 --- a/docs/guides/img-src/fed2.fig +++ /dev/null @@ -1,42 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 1350 2250 3600 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1350 2250 3600 2250 3600 5400 1350 5400 1350 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 1800 3150 promises.cf\001 --6 -6 4950 2250 7200 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 2250 7200 2250 7200 5400 4950 5400 4950 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 5400 3150 promises.cf\001 --6 -6 8550 2250 10800 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 8550 2250 10800 2250 10800 5400 8550 5400 8550 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 9000 3150 promises.cf\001 --6 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 -3150 7200 -3150 7200 0 4950 0 4950 -3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2475 2250 5400 0 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6075 2250 6075 0 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 9675 2250 6750 0 -4 0 0 50 -1 16 18 0.0000 4 285 1170 5400 -2250 import.cf\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 2025 1125 use "import"\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 8775 1125 use "import"\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 6300 2025 use "import"\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 8865 5715 Department 3\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 1665 5760 Department 1\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 5400 5805 Department 2\001 diff --git a/docs/guides/img-src/fed3.fig b/docs/guides/img-src/fed3.fig deleted file mode 100644 index 92bdf32e92..0000000000 --- a/docs/guides/img-src/fed3.fig +++ /dev/null @@ -1,48 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 1350 2250 3600 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1350 2250 3600 2250 3600 5400 1350 5400 1350 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 1800 3150 promises.cf\001 --6 -6 4950 2250 7200 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 2250 7200 2250 7200 5400 4950 5400 4950 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 5400 3150 promises.cf\001 --6 -6 8550 2250 10800 5400 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 8550 2250 10800 2250 10800 5400 8550 5400 8550 2250 -4 0 0 50 -1 16 18 0.0000 4 285 1545 9000 3150 promises.cf\001 --6 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 -3150 7200 -3150 7200 0 4950 0 4950 -3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2475 2250 5400 0 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6075 2250 6075 0 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 9675 2250 6750 0 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 10485 -3150 12735 -3150 12735 0 10485 0 10485 -3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 9990 2250 11610 0 -4 0 0 50 -1 16 18 0.0000 4 285 1170 5400 -2250 import.cf\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 2025 1125 use "import"\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 8775 1125 use "import"\001 -4 0 0 50 -1 16 18 0.0000 4 285 1620 6300 2025 use "import"\001 -4 0 0 50 -1 16 18 0.0000 4 285 1335 10890 -2250 import2.cf\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 8865 5715 Department 3\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 1665 5760 Department 1\001 -4 0 0 50 -1 0 16 0.0000 4 240 1485 5400 5805 Department 2\001 diff --git a/docs/guides/img-src/firewall.fig b/docs/guides/img-src/firewall.fig deleted file mode 100644 index 07ca2ff683..0000000000 --- a/docs/guides/img-src/firewall.fig +++ /dev/null @@ -1,25 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1620 4207 614 614 1080 3915 2160 4500 -1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 7695 4297 614 614 7155 4005 8235 4590 -2 2 0 1 0 7 50 -1 47 0.000 0 0 -1 0 0 5 - 4050 2205 4995 2205 4995 7245 4050 7245 4050 2205 -3 2 0 3 0 7 50 -1 -1 0.000 0 1 0 3 - 1 1 3.00 180.00 360.00 - 2205 3915 4635 3420 7245 3870 - 0.000 -1.000 0.000 -3 2 0 3 0 7 50 -1 -1 0.000 0 1 0 3 - 1 1 3.00 180.00 360.00 - 7380 4815 4545 5355 2070 4680 - 0.000 -1.000 0.000 -4 0 0 50 -1 14 19 0.0000 4 165 1470 5535 3105 cfservd\001 -4 0 0 50 -1 14 19 0.0000 4 225 1890 5265 5805 ssh,rsync\001 -4 0 0 50 -1 18 19 0.0000 4 210 630 1350 6750 DMZ\001 -4 0 0 50 -1 18 19 0.0000 4 210 2085 6525 6750 Internal/Secure\001 diff --git a/docs/guides/img-src/hub.fig b/docs/guides/img-src/hub.fig deleted file mode 100644 index 76be5976fe..0000000000 --- a/docs/guides/img-src/hub.fig +++ /dev/null @@ -1,55 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -0 32 #648f75 -0 33 #980000 -0 34 #ae714e -1 3 0 1 0 33 50 -1 20 0.000 1 0.0000 1350 3690 363 363 1350 3690 1713 3690 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 2970 5355 162 162 2970 5355 3132 5355 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 3825 3915 162 162 3825 3915 3987 3915 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 3555 2025 162 162 3555 2025 3717 2025 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 1485 1350 162 162 1485 1350 1647 1350 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 -315 2025 162 162 -315 2025 -153 2025 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 -1080 3330 162 162 -1080 3330 -918 3330 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 -630 5400 162 162 -630 5400 -468 5400 -1 3 0 1 0 34 50 -1 20 0.000 1 0.0000 1215 5940 162 162 1215 5940 1377 5940 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1710 3330 3240 2205 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - -360 5175 990 4050 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 2745 5175 1665 4095 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1215 5535 1350 4275 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1928 3681 3510 3825 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - 1350 3195 1485 1710 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - -90 2295 990 3330 -2 1 0 2 0 17 50 -1 20 0.000 0 0 -1 1 1 2 - 1 1 1.00 60.00 120.00 - 1 1 1.00 60.00 120.00 - -630 3375 820 3589 -4 0 0 50 -1 16 18 0.0000 4 210 1260 -1710 5175 End hosts\001 -4 0 0 50 -1 16 18 0.0000 4 270 3675 -2835 4095 Distrbution /Aggregation Hub\001 diff --git a/docs/guides/img-src/hubs.fig b/docs/guides/img-src/hubs.fig deleted file mode 100644 index ead163ba2f..0000000000 --- a/docs/guides/img-src/hubs.fig +++ /dev/null @@ -1,46 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -5 1 0 1 0 7 50 -1 -1 0.000 0 0 1 0 8449.832 -2579.109 9810 4095 6885 4050 4500 2970 - 0 0 1.00 60.00 120.00 -5 1 0 1 0 7 50 -1 -1 0.000 0 1 1 0 8827.915 9673.658 9810 1215 7515 1260 4500 2340 - 0 0 1.00 60.00 120.00 -5 1 0 1 0 7 50 -1 -1 0.000 0 1 1 0 8160.000 5790.000 6570 585 4950 1395 4230 2025 - 0 0 1.00 60.00 120.00 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 945 720 318 318 945 720 1170 945 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 945 4320 318 318 945 4320 1170 4545 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4140 630 318 318 4140 630 4365 855 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3240 5355 318 318 3240 5355 3465 5580 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6885 495 318 318 6885 495 7110 720 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 10125 1260 318 318 10125 1260 10350 1485 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6956 5377 318 318 6956 5377 7181 5602 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 10125 4095 318 318 10125 4095 10350 4320 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 7650 2655 1027 1027 7650 2655 8145 3555 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3465 2745 1027 1027 3465 2745 3960 3645 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1170 945 2655 2115 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1170 4095 2565 3240 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 3285 5085 3375 3780 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6795 5085 4185 3510 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4005 900 3645 1665 -2 1 0 10 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 5 1 1.00 60.00 120.00 - 4545 2700 6705 2700 -4 0 0 50 -1 16 18 0.0000 4 225 1230 7065 2655 BACKUP\001 -4 0 0 50 -1 16 18 0.0000 4 225 645 7335 3150 HUB\001 -4 0 0 50 -1 16 18 0.0000 4 225 645 3150 2835 HUB\001 diff --git a/docs/guides/img-src/inherit.fig b/docs/guides/img-src/inherit.fig deleted file mode 100644 index 699be3fad6..0000000000 --- a/docs/guides/img-src/inherit.fig +++ /dev/null @@ -1,24 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4680 1575 6840 1575 6840 2700 4680 2700 4680 1575 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 3150 3645 5310 3645 5310 4770 3150 4770 3150 3645 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 6255 3645 8415 3645 8415 4770 6255 4770 6255 3645 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4275 3645 5490 2745 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7200 3645 6030 2700 -4 0 0 50 -1 16 18 0.0000 4 225 1050 3645 4320 extends\001 -4 0 0 50 -1 16 18 0.0000 4 225 960 6885 4275 inherits\001 -4 0 0 50 -1 16 18 0.0000 4 225 780 5355 2250 BASE\001 diff --git a/docs/guides/img-src/intersect.fig b/docs/guides/img-src/intersect.fig deleted file mode 100644 index 673297c2a8..0000000000 --- a/docs/guides/img-src/intersect.fig +++ /dev/null @@ -1,16 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2520 2475 2803 2803 2520 2475 4410 4545 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2385 2835 1028 1028 2385 2835 2790 3780 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3105 5895 2776 2776 3105 5895 3915 8550 -4 0 0 50 -1 16 18 0.0000 4 225 600 2610 1035 linux\001 -4 0 0 50 -1 16 18 0.0000 4 225 720 5400 720 hosts\001 -4 0 0 50 -1 16 18 0.0000 4 225 885 1665 3015 debian\001 -4 0 0 50 -1 16 18 0.0000 4 225 1545 1980 6075 64 bit hosts\001 diff --git a/docs/guides/img-src/itilv3.fig b/docs/guides/img-src/itilv3.fig deleted file mode 100644 index 8024f1191d..0000000000 --- a/docs/guides/img-src/itilv3.fig +++ /dev/null @@ -1,15 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 900 900 12600 900 12600 8550 900 8550 900 900 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 900 7650 12600 7650 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 900 1800 12600 1800 diff --git a/docs/guides/img-src/matrix1.fig b/docs/guides/img-src/matrix1.fig deleted file mode 100644 index c55b518f22..0000000000 --- a/docs/guides/img-src/matrix1.fig +++ /dev/null @@ -1,43 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1350 900 10800 900 10800 6795 1350 6795 1350 900 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 2700 945 2700 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 4050 900 4050 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 5400 900 5400 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 2250 10800 2250 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 3600 10800 3600 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 4995 10755 4995 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 1665 1890 1890 2115 2475 1215 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2842 1865 3067 2090 3652 1190 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2932 3170 3157 3395 3742 2495 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 1717 4475 1942 4700 2527 3800 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2842 4520 3067 4745 3652 3845 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 4237 4475 4462 4700 5047 3800 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 5812 4475 6037 4700 6622 3800 -4 0 0 50 -1 16 17 0.0000 4 210 885 270 1620 Task 1\001 -4 0 0 50 -1 16 17 0.0000 4 210 885 225 4320 Task 3\001 -4 0 0 50 -1 16 17 0.0000 4 210 885 270 2970 Task 2\001 -4 0 0 50 -1 16 17 0.0000 4 210 840 1665 630 Host 1\001 -4 0 0 50 -1 16 17 0.0000 4 210 840 3015 630 Host 2\001 -4 0 0 50 -1 16 17 0.0000 4 210 840 4320 630 Host 3\001 diff --git a/docs/guides/img-src/matrix2.fig b/docs/guides/img-src/matrix2.fig deleted file mode 100644 index a190ce7851..0000000000 --- a/docs/guides/img-src/matrix2.fig +++ /dev/null @@ -1,43 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1350 900 10800 900 10800 6795 1350 6795 1350 900 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 2700 945 2700 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 4050 900 4050 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 5400 900 5400 6795 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 2250 10800 2250 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 3600 10800 3600 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - 1350 4995 10755 4995 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 1665 1890 1890 2115 2475 1215 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2842 1865 3067 2090 3652 1190 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2932 3170 3157 3395 3742 2495 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 1717 4475 1942 4700 2527 3800 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 2842 4520 3067 4745 3652 3845 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 4237 4475 4462 4700 5047 3800 -2 1 0 6 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 5812 4475 6037 4700 6622 3800 -4 0 0 50 -1 16 17 0.0000 4 210 975 1665 630 Class 1\001 -4 0 0 50 -1 16 17 0.0000 4 210 975 3015 630 Class 2\001 -4 0 0 50 -1 16 17 0.0000 4 210 975 4320 630 Class 3\001 -4 0 0 50 -1 16 17 0.0000 4 210 1305 -45 1665 Promise 1\001 -4 0 0 50 -1 16 17 0.0000 4 210 1305 -90 3060 Promise 2\001 -4 0 0 50 -1 16 17 0.0000 4 210 1305 -90 4410 Promise 3\001 diff --git a/docs/guides/img-src/nettolerance.fig b/docs/guides/img-src/nettolerance.fig deleted file mode 100644 index 7ef2997fe9..0000000000 --- a/docs/guides/img-src/nettolerance.fig +++ /dev/null @@ -1,149 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6030 4095 90 90 6030 4095 6030 4185 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10350 4140 90 90 10350 4140 10350 4230 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5670 5850 90 90 5670 5850 5670 5940 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7155 6120 90 90 7155 6120 7155 6210 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6705 3465 90 90 6705 3465 6705 3555 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6390 1710 90 90 6390 1710 6390 1800 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4950 2700 90 90 4950 2700 4950 2790 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5085 4815 90 90 5085 4815 5085 4905 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5085 4410 90 90 5085 4410 5085 4500 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4590 4455 90 90 4590 4455 4590 4545 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4770 5175 90 90 4770 5175 4770 5265 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5310 5400 90 90 5310 5400 5310 5490 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5220 5895 90 90 5220 5895 5220 5985 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5400 6480 90 90 5400 6480 5400 6570 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6120 6165 90 90 6120 6165 6120 6255 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6750 6165 90 90 6750 6165 6750 6255 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7425 6435 90 90 7425 6435 7425 6525 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7605 5850 90 90 7605 5850 7605 5940 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7155 5175 90 90 7155 5175 7155 5265 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6660 4050 90 90 6660 4050 6660 4140 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7065 3645 90 90 7065 3645 7065 3735 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7425 2970 90 90 7425 2970 7425 3060 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6885 2925 90 90 6885 2925 6885 3015 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6480 3105 90 90 6480 3105 6480 3195 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6840 2565 90 90 6840 2565 6840 2655 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6840 1755 90 90 6840 1755 6840 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6660 1080 90 90 6660 1080 6660 1170 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5940 1125 90 90 5940 1125 5940 1215 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5760 1890 90 90 5760 1890 5760 1980 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5985 2250 90 90 5985 2250 5985 2340 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5850 2700 90 90 5850 2700 5850 2790 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5220 2160 90 90 5220 2160 5220 2250 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4545 2655 90 90 4545 2655 4545 2745 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4680 3330 90 90 4680 3330 4680 3420 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5130 3375 90 90 5130 3375 5130 3465 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9630 3780 90 90 9630 3780 9630 3870 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10125 3285 90 90 10125 3285 10125 3375 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11115 3420 90 90 11115 3420 11115 3510 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10755 2610 90 90 10755 2610 10755 2700 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9720 2565 90 90 9720 2565 9720 2655 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9135 2970 90 90 9135 2970 9135 3060 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9045 2070 90 90 9045 2070 9045 2160 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9810 1755 90 90 9810 1755 9810 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10440 1755 90 90 10440 1755 10440 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11250 1485 90 90 11250 1485 11250 1575 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10215 1080 90 90 10215 1080 10215 1170 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11115 4590 90 90 11115 4590 11115 4680 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10530 4905 90 90 10530 4905 10530 4995 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9720 4635 90 90 9720 4635 9720 4725 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9180 5355 90 90 9180 5355 9180 5445 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10080 5670 90 90 10080 5670 10080 5760 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11070 5670 90 90 11070 5670 11070 5760 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11745 5220 90 90 11745 5220 11745 5310 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11700 6345 90 90 11700 6345 11700 6435 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9675 6435 90 90 9675 6435 9675 6525 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11610 2700 90 90 11610 2700 11610 2790 -1 3 1 3 0 7 50 0 -1 8.000 1 0.0000 11115 3420 407 407 11115 3420 11070 3825 -1 3 1 3 0 7 50 0 -1 8.000 1 0.0000 6075 4095 363 363 6075 4095 6030 4455 -1 3 1 3 0 7 50 0 -1 8.000 1 0.0000 6390 1710 274 274 6390 1710 6345 1980 -1 3 1 3 0 7 50 0 -1 8.000 1 0.0000 11115 4590 318 318 11115 4590 11070 4905 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4095 4905 2655 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6075 4095 6705 3465 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 7155 6210 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 5715 5850 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5985 4095 5085 4815 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 5310 5400 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 4815 5175 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 4545 4455 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 5085 4500 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 5130 3375 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 4725 3330 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 4545 2655 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5220 2115 4905 2700 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2700 5850 2700 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1755 5985 2295 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 5760 1890 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 6885 2565 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6795 1755 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6660 1035 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 5895 1035 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6480 3060 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6840 2925 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 7425 2925 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 7065 3645 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6660 4050 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6210 7155 5220 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6165 7560 5895 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6210 7425 6435 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6165 6795 6165 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5715 5895 6165 6165 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5670 5850 5400 6480 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5220 5895 5670 5850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6 - 9135 5355 9720 4635 9630 3735 9135 2970 9765 2520 9045 2070 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9720 2520 9810 1755 10440 1800 10215 1080 11295 1485 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 10440 1755 10800 2655 10125 3285 9630 3825 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 9720 2565 10170 3330 10350 4140 11070 3465 11070 4590 11745 5220 - 11700 6345 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11115 4590 10530 4950 10035 5670 9675 6480 11070 5670 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 10755 2655 11655 2700 -4 0 0 50 -1 16 18 0.0000 4 285 2940 6885 7515 Single points of failure\001 diff --git a/docs/guides/img-src/networks.fig b/docs/guides/img-src/networks.fig deleted file mode 100644 index 55d1212c64..0000000000 --- a/docs/guides/img-src/networks.fig +++ /dev/null @@ -1,195 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1350 1350 90 90 1350 1350 1350 1440 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 2745 1395 90 90 2745 1395 2745 1485 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 2295 1935 90 90 2295 1935 2295 2025 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1710 1980 90 90 1710 1980 1710 2070 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1395 2745 90 90 1395 2745 1395 2835 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1980 3825 90 90 1980 3825 1980 3915 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1125 4905 90 90 1125 4905 1125 4995 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1575 5625 90 90 1575 5625 1575 5715 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 2520 6255 90 90 2520 6255 2520 6345 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 2925 5175 90 90 2925 5175 2925 5265 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 3465 3915 90 90 3465 3915 3465 4005 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 3195 2880 90 90 3195 2880 3195 2970 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 3510 1890 90 90 3510 1890 3510 1980 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 1035 3915 90 90 1035 3915 1035 4005 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 945 6210 90 90 945 6210 945 6300 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6030 4095 90 90 6030 4095 6030 4185 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10350 4140 90 90 10350 4140 10350 4230 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5670 5850 90 90 5670 5850 5670 5940 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7155 6120 90 90 7155 6120 7155 6210 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6705 3465 90 90 6705 3465 6705 3555 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6390 1710 90 90 6390 1710 6390 1800 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4950 2700 90 90 4950 2700 4950 2790 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5085 4815 90 90 5085 4815 5085 4905 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5085 4410 90 90 5085 4410 5085 4500 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4590 4455 90 90 4590 4455 4590 4545 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4770 5175 90 90 4770 5175 4770 5265 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5310 5400 90 90 5310 5400 5310 5490 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5220 5895 90 90 5220 5895 5220 5985 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5400 6480 90 90 5400 6480 5400 6570 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6120 6165 90 90 6120 6165 6120 6255 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6750 6165 90 90 6750 6165 6750 6255 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7425 6435 90 90 7425 6435 7425 6525 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7605 5850 90 90 7605 5850 7605 5940 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7155 5175 90 90 7155 5175 7155 5265 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6660 4050 90 90 6660 4050 6660 4140 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7065 3645 90 90 7065 3645 7065 3735 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 7425 2970 90 90 7425 2970 7425 3060 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6885 2925 90 90 6885 2925 6885 3015 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6480 3105 90 90 6480 3105 6480 3195 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6840 2565 90 90 6840 2565 6840 2655 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6840 1755 90 90 6840 1755 6840 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 6660 1080 90 90 6660 1080 6660 1170 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5940 1125 90 90 5940 1125 5940 1215 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5760 1890 90 90 5760 1890 5760 1980 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5985 2250 90 90 5985 2250 5985 2340 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5850 2700 90 90 5850 2700 5850 2790 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5220 2160 90 90 5220 2160 5220 2250 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4545 2655 90 90 4545 2655 4545 2745 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 4680 3330 90 90 4680 3330 4680 3420 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 5130 3375 90 90 5130 3375 5130 3465 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9630 3780 90 90 9630 3780 9630 3870 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10125 3285 90 90 10125 3285 10125 3375 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11115 3420 90 90 11115 3420 11115 3510 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10755 2610 90 90 10755 2610 10755 2700 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9720 2565 90 90 9720 2565 9720 2655 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9135 2970 90 90 9135 2970 9135 3060 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9045 2070 90 90 9045 2070 9045 2160 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9810 1755 90 90 9810 1755 9810 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10440 1755 90 90 10440 1755 10440 1845 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11250 1485 90 90 11250 1485 11250 1575 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10215 1080 90 90 10215 1080 10215 1170 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11115 4590 90 90 11115 4590 11115 4680 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10530 4905 90 90 10530 4905 10530 4995 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9720 4635 90 90 9720 4635 9720 4725 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9180 5355 90 90 9180 5355 9180 5445 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 10080 5670 90 90 10080 5670 10080 5760 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11070 5670 90 90 11070 5670 11070 5760 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11745 5220 90 90 11745 5220 11745 5310 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11700 6345 90 90 11700 6345 11700 6435 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 9675 6435 90 90 9675 6435 9675 6525 -1 3 0 1 0 7 50 0 0 0.000 1 0.0000 11610 2700 90 90 11610 2700 11610 2790 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 2025 3870 1035 3915 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 2025 3825 1395 2790 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 2025 3825 1710 1980 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 2025 3825 1350 1350 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3870 2295 1980 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3825 2745 1395 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3825 3510 1890 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3825 3195 2880 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3870 3465 3960 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 2025 3870 2925 5175 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3870 2520 6300 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3825 1575 5670 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3870 1170 4950 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 1980 3825 945 6210 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4095 4905 2655 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6075 4095 6705 3465 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 7155 6210 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6030 4140 5715 5850 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5985 4095 5085 4815 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 5310 5400 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 4815 5175 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 4545 4455 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5085 4815 5085 4500 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 5130 3375 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 4725 3330 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2655 4545 2655 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5220 2115 4905 2700 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 4905 2700 5850 2700 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1755 5985 2295 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 5760 1890 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 6885 2565 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6795 1755 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6660 1035 6390 1710 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6390 1710 5895 1035 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6480 3060 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6840 2925 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 7425 2925 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 7065 3645 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 6705 3465 6660 4050 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6210 7155 5220 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6165 7560 5895 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6210 7425 6435 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 7155 6165 6795 6165 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5715 5895 6165 6165 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5670 5850 5400 6480 -2 1 0 1 0 7 50 0 0 0.000 0 0 -1 0 0 2 - 5220 5895 5670 5850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 31 - 9720 6435 9180 5400 10080 5715 9720 4680 10530 4905 11070 5670 - 11700 6345 11745 5220 11115 4590 10350 4140 11115 3420 11655 2655 - 11250 1485 10170 1080 10440 1800 9810 1755 9045 2070 9720 2565 - 10440 1800 10755 2610 10125 3285 9090 2970 9765 2520 9810 1755 - 10215 1080 11655 2745 10755 2610 10350 4140 9630 3780 9720 4635 - 9180 5400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9675 6435 10080 5715 11115 5715 9675 6435 11745 6390 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 9630 3780 9135 3015 9000 2070 10215 1035 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 9135 2970 9180 5400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 11160 3465 11160 4590 11655 2700 11745 5220 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 11745 5220 11115 5670 11115 4590 10530 4950 10350 4185 10125 3285 - 9765 2565 -4 0 0 50 0 0 18 0.0000 4 195 255 1665 7560 (a)\001 -4 0 0 50 0 0 18 0.0000 4 195 255 5850 7605 (b)\001 -4 0 0 50 0 0 18 0.0000 4 195 255 10350 7560 (c)\001 diff --git a/docs/guides/img-src/paradigms.fig b/docs/guides/img-src/paradigms.fig deleted file mode 100644 index 53f66557cd..0000000000 --- a/docs/guides/img-src/paradigms.fig +++ /dev/null @@ -1,26 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3 - 225 360 225 7920 12420 7920 -3 2 0 3 4 7 50 -1 -1 0.000 0 0 0 3 - 675 7290 6075 5265 9000 765 - 0.000 -1.000 0.000 -4 0 0 50 -1 18 23 0.0000 4 285 810 5895 8280 time\001 -4 0 0 50 -1 18 23 1.5708 4 375 4065 -225 5850 capability / scalability\001 -4 0 0 50 -1 18 23 0.0000 4 285 855 855 7290 rdist\001 -4 0 0 50 -1 18 23 0.0000 4 375 705 2160 6750 lcfg\001 -4 0 31 50 -1 16 23 0.0000 4 375 4035 2880 3690 Computer Immunology\001 -4 0 0 50 -1 18 23 0.0000 4 375 1965 3780 6075 cfengine 1\001 -4 0 0 50 -1 18 23 0.0000 4 330 1320 6300 4905 puppet\001 -4 0 0 50 -1 18 23 0.0000 4 375 1065 5670 5535 bcfg2\001 -4 0 0 50 -1 18 23 0.0000 4 375 1965 4230 4140 cfengine 2\001 -4 0 0 50 -1 18 23 0.0000 4 375 1965 7200 2250 cfengine 3\001 -4 0 0 50 -1 18 23 0.0000 4 375 2865 7560 540 cfengine NOVA\001 -4 0 31 50 -1 16 23 0.0000 4 360 2730 360 7740 Push templates\001 diff --git a/docs/guides/img-src/rbac.fig b/docs/guides/img-src/rbac.fig deleted file mode 100644 index 5454d0588f..0000000000 --- a/docs/guides/img-src/rbac.fig +++ /dev/null @@ -1,23 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 10080 2385 627 627 10080 2385 10305 2970 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 720 1440 4770 1440 4770 3555 720 3555 720 1440 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 4770 2205 9270 2205 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 9540 2655 6030 2655 -4 0 0 50 -1 16 18 0.0000 4 285 2265 1485 2160 privilege granting\001 -4 0 0 50 -1 16 18 0.0000 4 285 1785 1485 2850 service agent\001 -4 0 0 50 -1 16 18 0.0000 4 165 585 9765 2430 user\001 -4 0 0 50 -1 16 18 0.0000 4 285 1995 6165 2025 RBAC promise\001 -4 0 0 50 -1 16 18 0.0000 4 270 1920 7020 3105 request to use\001 diff --git a/docs/guides/img-src/redundhubs.fig b/docs/guides/img-src/redundhubs.fig deleted file mode 100644 index badda4f91f..0000000000 --- a/docs/guides/img-src/redundhubs.fig +++ /dev/null @@ -1,63 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5b -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 2835 2835 4455 4455 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3645 3645 796 796 3645 3645 4230 4185 -4 0 0 50 -1 16 24 0.0000 4 315 735 3285 3780 Hub\001 --6 -6 5625 2205 7245 3825 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6435 3015 796 796 6435 3015 7020 3555 -4 0 0 50 -1 16 24 0.0000 4 315 735 6075 3150 Hub\001 --6 -6 4905 4635 6525 6255 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5715 5445 796 796 5715 5445 6300 5985 -4 0 0 50 -1 16 24 0.0000 4 315 735 5355 5580 Hub\001 --6 -6 7155 7245 8235 8325 -1 3 0 2 0 7 50 -1 -1 6.000 1 0.0000 7695 7785 485 485 7695 7785 7875 8235 -4 0 0 50 -1 16 24 0.0000 4 315 285 7560 7965 C\001 --6 -6 8505 5985 9585 7065 -1 3 0 2 0 7 50 -1 -1 6.000 1 0.0000 9045 6525 485 485 9045 6525 9225 6975 -4 0 0 50 -1 16 24 0.0000 4 315 285 8910 6705 C\001 --6 -6 9045 4095 10125 5175 -1 3 0 2 0 7 50 -1 -1 6.000 1 0.0000 9585 4635 485 485 9585 4635 9765 5085 -4 0 0 50 -1 16 24 0.0000 4 315 285 9450 4815 C\001 --6 -6 8865 2205 9945 3285 -1 3 0 2 0 7 50 -1 -1 6.000 1 0.0000 9405 2745 485 485 9405 2745 9585 3195 -4 0 0 50 -1 16 24 0.0000 4 315 285 9270 2925 C\001 --6 -1 3 1 2 0 7 50 -1 -1 6.000 1 0.0000 5265 4050 2763 2763 5265 4050 6660 6435 -1 3 0 2 0 7 50 -1 -1 6.000 1 0.0000 5715 5445 946 946 5715 5445 6120 6300 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 4410 3375 5625 3150 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 4095 4320 5085 4995 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 5895 4680 6210 3780 -2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 1 2 - 0 0 1.00 60.00 120.00 - 6255 6255 7380 7380 -2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 1 2 - 0 0 1.00 60.00 120.00 - 6660 5715 8595 6300 -2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 1 2 - 0 0 1.00 60.00 120.00 - 6615 5175 9135 4680 -2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 1 2 - 0 0 1.00 60.00 120.00 - 6435 4770 9000 3060 diff --git a/docs/guides/img-src/schedule_patterns.fig b/docs/guides/img-src/schedule_patterns.fig deleted file mode 100644 index 3a24c73263..0000000000 --- a/docs/guides/img-src/schedule_patterns.fig +++ /dev/null @@ -1,43 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2150 1650 180 180 2150 1650 2150 1830 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2150 2550 180 180 2150 2550 2150 2730 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2160 855 180 180 2160 855 2160 1035 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 2160 4500 180 180 2160 4500 2160 4680 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 3915 4500 180 180 3915 4500 3915 4680 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 5715 4500 180 180 5715 4500 5715 4680 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 5715 3645 180 180 5715 3645 5715 3825 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 5715 5400 180 180 5715 5400 5715 5580 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 5625 1710 180 180 5625 1710 5625 1890 -1 3 0 1 0 7 50 -1 0 0.000 1 0.0000 3915 1710 180 180 3915 1710 3915 1890 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2205 4500 3690 4500 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4140 4500 5490 3645 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4095 4500 5445 4500 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4095 4545 5490 5310 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2205 855 3735 1575 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2160 1665 3645 1710 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2160 2610 3690 1845 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4185 1710 5400 1710 diff --git a/docs/guides/img-src/update.fig b/docs/guides/img-src/update.fig deleted file mode 100644 index fb5f2c58ce..0000000000 --- a/docs/guides/img-src/update.fig +++ /dev/null @@ -1,27 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 900 1350 3600 1350 3600 2700 900 2700 900 1350 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4950 1350 7650 1350 7650 2700 4950 2700 4950 1350 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 9000 1350 11700 1350 11700 2700 9000 2700 9000 1350 -2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 3600 2025 4950 2025 -2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 7650 2025 9000 2025 -4 0 0 50 -1 16 18 0.0000 4 285 1935 9405 1890 Keep software\001 -4 0 0 50 -1 16 18 0.0000 4 225 1395 5610 1920 Determine\001 -4 0 0 50 -1 16 18 0.0000 4 225 2040 5310 2370 version on host\001 -4 0 0 50 -1 16 18 0.0000 4 285 2145 9315 2355 promise on host\001 -4 0 0 50 -1 16 18 0.0000 4 285 2385 1050 1905 Get package data\001 -4 0 0 50 -1 16 18 0.0000 4 225 1245 1650 2355 onto host\001 diff --git a/docs/guides/img-src/user2root.fig b/docs/guides/img-src/user2root.fig deleted file mode 100644 index 843a109f61..0000000000 --- a/docs/guides/img-src/user2root.fig +++ /dev/null @@ -1,30 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 1800 5040 4365 5040 4365 6390 1800 6390 1800 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4725 5040 7290 5040 7290 6390 4725 6390 4725 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 7695 5040 10260 5040 10260 6390 7695 6390 7695 5040 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4770 1710 7335 1710 7335 3060 4770 3060 4770 1710 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 2 1 1.00 60.00 120.00 - 3060 5040 5220 3150 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 2 1 1.00 60.00 120.00 - 6030 5040 5985 3150 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 2 1 1.00 60.00 120.00 - 8820 5040 6660 3195 -4 0 0 50 -1 14 18 0.0000 4 195 1125 2340 5805 user1\001 -4 0 0 50 -1 14 18 0.0000 4 195 1125 5085 5760 user2\001 -4 0 0 50 -1 14 18 0.0000 4 195 1125 8190 5715 user3\001 -4 0 0 50 -1 14 18 0.0000 4 180 900 5580 2475 root\001 diff --git a/docs/guides/impact.png b/docs/guides/impact.png deleted file mode 100644 index 36b06e09d246f15d7a8ea3885bfe12cd94b90b47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52944 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 diff --git a/docs/guides/inherit.png b/docs/guides/inherit.png deleted file mode 100644 index 13ca808d6893a17ebc62689a5a4c3e97f35c80d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2824 zcmeHI>sJy87DvU=@OchPGh~)M)C`p}HLUQJWj;`o83ghjKJW#iIGJdMtCr?tLNqlM zn?bixoIo9|)gj9^MFR(XgpgWFX6gD$T@z%TIlE`~57^Gx5A)%^&$;KGdw=)*ZU*>y z8i4kI004l2*9DJ206>GX(B7BD7oIRatQoBv}t8AFdhnEG$)oDUoa?2*iEr+xQxLR3Apekq! zm_5-4GPZ!Z-f0Fz@HGG2{~3apqy_MlF}v*9^F|`xWqU-U(0_}z)WrW*#E=+B1lUpd z)*76)J^oCmr%l`{O(pxdT17?0VU?1g*1;xAd#1jy&8~FKbSPS{)~M8I_wO?*snyOC zk3#HFjLKXn4%+u7I!0vpuGVBDR{GRNR;vvrFAAHj3z1hh77|Zg#zTd*CFRX~PpG)F z(ytgqcFa!`M}Og)(@LJ`P_M|L={c324NUGle`^2P>2eV1IA>`+W+|eE7-iiGotc$v zDn<@1UB=JJDi-_Xq$*!YD&MMgR@w!&M@R(Z^fuAyL=45lG-MPxkgj!sIF)n(v% z*+D#UWAx-`=3QLYEt{I#%n3Ps`1!9aH-VU&R$;oo(;L0d;WT!c8{d4!5%~rC@0GME zv8CulHEUn6ir04F{Vk$m<&o4Q7+Eau7vxgYP1Df*-}MW=p-RiDi}~$teS)=Hrfy(@sWxlSkjxH{W16-tUf4ddn{pz$vyKkIwN)+2_|m>r6QEPyb^=2 zx2j8SV!QDI>sYjYqX!O-Zp?>=e~CFeya#vR3msU-wsLf%>I&TCam4G*U$d<8SEf0B z7~$Koxm{&!Tbxr#dzOXELIFW>7?Tc(etMLkAkzaY>eQQEJv8h1N2eB%b^aK`AFPT3 z${A9ise8cq3}(QIVD68`za4S9jtaQ*jSOLO4}1p`2~@auVe{=c1Z=}tWVBNm(cBf? zGJujF>JtP3*;=8!h-#JySDg9aKmmhkMD+GAGas;cmq-^M@4z1x=iX5IKmRJN$s@r7)LBNXVpic#ap?()?36}vh7HyzMzh#CklA2k$)(XURpv3`uBRO*6AyztTf0`n*N^0@Se`dbX~nUDXSyFMmtd6o9P&dvCp-Rs)WXa4##7d-a+NJ(4H%I%N5gPx<3 zkywY&5UZ%(4A|p(g0?OLV&;plpX;Ih5qPu_7@rAj*Tx)=Q5A>|&aJSULbu&>RS(VLnsZl{XT=2>aAFEdI zB^UNlU)Y0zRfjVf1XcD6co=PlvzopEEl%ksYRBQA;0ff^tjOl2l*UCQ4dzw6m~Lt+ zWg>Il2xwQXEsgkeZnhUb?>bdCtF^nNKBENwX|(|F5qkN%1@2eBm#l`C-t!LXF|ijvDG~6tYOzc z{4o=x!N!&%|FQq%mj_A)4jts~FfPFBoS#RFdpP~(=jLq9SO4Pd;htRpGvmj{sOlP# zIf#B3{BZ<%LXVXassrG2A!gAq*FjA79S-35C5_0RHG31ZZ%9GLt$!5$Sjqn}7(#|& NK)$Jx81~;k^-qSXyj}nR diff --git a/docs/guides/intermediate.png b/docs/guides/intermediate.png deleted file mode 100644 index af15a65c66330b73bcc2aa815fd30cd3e42e38d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 858 zcmeAS@N?(olHy`uVBq!ia0y~yUFMGaQgQ3;-Me|s20RWAn=1Z?r-@J1a*;^Uw(tBq zcXyfag&XQ+8W$4hJr{3~>1kt7uwgjF{9@)wftD1Bwx_4R&zzMgF=vyaP13D>CA(|b zqpFTuLS5FWIZHX{v3<9wi&U7dNsW zm2Um~{Y;EP&38NbzOu7DAJm^m7q9u#U^L;w-d%tHCd_;7%)RuU$ORFeJfF8B z`~Q~upOv$7{X>4}w3XX>#m1L9*NMjE{jK`*af-%zaTWWAq7y_W%>SUW|Mwn;)1Qpz zf7q!KuX}xR%!=r`xM%93cF}A#dCg~UzBBrNqho@y(!B|sA6vy^PxSsc)UBH0UGuQA z@BL@>=ubRz;}Q=QYe*k#4ZpOoYl%RdXSC!oFeU_s8di<#x2V<=b4ZW3CkY+`=w*;orvU2o8RmMSqoF zMIL4@U;lRN7lx1uh8A`Q2+{C?frB4GJTP1Kw0rLH!W~ccWt%B$FOy`lJ^%TW20uDE)2s_~8_Vz%QRU4u=Hurf>=@*t5Uxw_IK5!>wO_RUUaz!Mp#L zncT0+7NNK(hL5e`2flv3aH+W~!*Gr1+=@z-%MZh18fv49Vyq4w5;t1&zBcz=(&xX0 z^?s{1{wN+)WCx0I$n%{mQKYh}ImU-jp2R>I$c zRUe%`sIRO&i}6s@tDUoa%eL8jHknzfYA8t?t+}6bt>1Iorb~~PZ@70r#YS;?4aaIO h{*>e2KR77WF$kwyolctS*a*xQ44$rjF6*2UngBnVo)iE8 diff --git a/docs/guides/intersect.png b/docs/guides/intersect.png deleted file mode 100644 index 9590507bd3b282e76f19c52a8f758ba08bbc4b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8985 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�jXw3iCBNw?N;`W z-C7`O5>z@BI|TC(i`A)ct}L-22^OU4yh_AU!vPQX2cOYYpJurYx+;LoT2^GpZLBzo z)sznGq}SDXHa6J`KWLOOnwg*rK(pwam4<+olF;jJLgJB*jjA{k=Q%j4LNK|pmHptw zU4C)cfezwjp%UaahW)Zj77!5bA{NW++6hDuTiGS#to0Jm5rPHY&-Vcrzi6D6uc<2l zA}<~L#I*--Dr;rW!YRJih3>MLzL5Y^HN}L0;bOA!`W307y+wKe_$(H6h=o zt2+UfjxY&}WkY6DuiWVlExlb|LfbpN`0mYPlbuZ|M;O9l?gI0OLGFIMo?hR>!M67S z@lBf{OreVB6L96KIhHASeZgc=a?Sl=_w47u#>5jO)gDO& z>ukJF?yc*FFo9;7p!Jv*6+VzlS9l-iSVOXqk^;y@GHuXgv6>k)D;4#9YN`YZEfVDY ztf>J-El7*HEEbe(8jL`p)t#oEo{&=FFfDrB#2XCCFP<{bDmd{gATaL8+m~JE^uR~P zx`4q-%ZO=_Z%P>le8E>l-u2exodBPYD4@EAI;C27AIJZ{{s2WM@LwOG1~r)|_*t5y zni}V|Td&3t%-;>~bc<0u-c+WT3N@rRRsw6x5-8HssLcLt{5uE#^5EZR;otq>-#zi) XbK(E{XQEj#nHsQ diff --git a/docs/guides/itilfcaps.png b/docs/guides/itilfcaps.png deleted file mode 100644 index 921e6e773fe6c0779236c2580a1e5779d8c4734a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4970 zcmaJ^cT^MGyB(So=~d}h1f)xo03w1AX`v;dNiP=&(u*KfkfL-DkkDHo6Pg8(B2@%L zL4+VidKFMQLZ~nIuJ_)(YrWrkf6UC8`Of*)nZ5S+?X#a48{TE02%nb zvKgK!F(tM>I5RVI+T@q<^GRYPQQ5rX$q8j`+rz?f*ih%iGapBjyv7&JqamLJ`*K@% zVruatjYQLsI;@h#a+mbsjf(8;?Cyzv-ItNg;S;QbtX!B{omp$cQ)u@1ut2sGLsD6# z#&*veeOX`j0e3$`jzWjD-zQ8hda`mjeDlIi>4tmD?yA@0&1#nGa*1?KoCA887xWhR zpMy1zmWD0Ir3D(+T${7rn7PXm3 zR;*?{G$O#Eo=r%We&0wD;~1z_j`Fvm!zrCAu;6CRUCopNlXxptLMj&*NkLU_= z-nS(A6NgveCrUrg!O`K|G>toN@j7SD9o7!J2i_<8g9%HDJz_a>n!OV~x7ekW)vU9b zq8!uuy`MgE=D7Ds%dEsI>hLBqJ|FEMJG64dIkabTj(AX&o>FDz`Jo?iK&`#0T5xTY zI#jQ5qMGr;aXOoH%<=q-?95P;=!1iD1W~KRv%!I!hNsi1wr_+ueT{jjZAiX6NZkzcFwyhO)23E>#{3YQ^}z z3rLxfke!BYgGBww$0EtWQYgsxRC&&GKl1gLUSC)tzIaqI9407#aIt!P>S*-IFN`@q zx3**7nGJeCEk<|4#vt9vHB#sJE=xq^rlHSC+5qvs@_57@WSI)yX(;%OreWz~;qwcw zwf?HL9g^=W^Ze(HZB#&)UDekrEnv^bx&n17tDMm_6Ss96r}Odn?MnoCPCW~c()gJO}$2=5RGEwk+4P3)NVjFDRkH zo;?Bpdo>Fo0O;f72~HchIpNy`B{HHoioxpFU8rdU@>3QwC1A0!~^j1;I6x02SOCvZyZ>H{!m6hgk)`GP+(|)qwq48 zmapmE>waMkm~(!<(8prS@zOx2(wZgY3atqL>%(=#_RR1~rgv@3l5*+9=aCKw6!1Ps z-YH8z^`C3F>YGr?|KjJpsVf43&0;CePua?DX8d`Xe#N*?CKa8EywCZejDhvj#jTUu zI=)|aCmu#jn~q8-MLZZxeYgH&gKe3e1ja(|aXV_KK6;X%R>}wPf4o=C((3e(8K|WP zu_Orj5pXiVUYHuhe7GZTm|^#JNkegeWJ)ivieSIp$m9uP{gcf`D_9Jv=;=FS+~Ke( zh&(3VM;z$n`O#KcYb=;Gq=)S9;}XxB*`uvgp=CDgl_ihLBSMeG>m}9~r%k2P&~*gA zIYzpypkpJmTd^tP-Pq?>fHyC^6BC0#t9V8t(S*<*>;Rxz1=E68K7oFiGfqb^iSmBcmvm!%^!0Rn(E+uwh$R)rx4 zI`tS4FseiE!5Gw9S!>psaYNU(a1UEi2^LIAjJ-* zP{P+-(oUz8Y=8agtgu#51hQyH>|>0IXTC!7gwb{vI@8Q6r8xg1^*-`VtkW~~?N4by zSXtUkW<0wee#F`BIp@Q&0kd0y>?Sy>AHR!??P4W(#G?+5pdOV=8YN6)=5wfp{5i5i z=m;Oi>nn^P`bO3yDqP5NpN2`mlt2 z@0>ao^DmZFtv z8Xq*#p^dEF#LXlHhdGi5jqbl5PO|)(Y{#AshftGte1wFDBR}`6*d`={xm8yxvD$Np zxSv<(DvxEeWc)sKld&N09oI0P7`Fn3NO` zb^Rb7VTQG1&GCR3h$otAa(=soeR$1^NLduJ#{2@NS$1Or(zZ(xn4^mTZ{;#T*a%7oA+5e&$G!N z^8vU<=V)D*4li$L^0j%Mu9DVkP_A(u%b3M+h6>|4v%s~ZYUyouW@j94d=1%;`4zIK#_L3*?k*}V_ z0+IyB{LStMk*TJn*4VT(Cmnb9e-(DmP4=UlO-(AV@WO`YI5*IVm@Fv5hx!g%r(*l2k(YBfH zs`Hf6D=)-1?p@1Od5A^f7nQR!Qw`n=Qbf&aeqfb#PBxw8E7Mgid~p`Q7y!8G z(?QC3iYH|zX;G@l0S-6;22RvDjf z5TbRlh&ql&t?|z2AYsU1amm&tNq-`lZYCPV+V{s^a_;F5jI$=C#YE!3X**I8Sl;$DlZzjN=vkGIlmAp7ODam0-Y$=%6_V4ZBO&_%h z3~geT3*WXC4v||-v|vl8h{|MO4RY(}7Cu1wiEWiCD_Wi;2c^sH+2~J!*R6qBh=l_p zV&i+kXhGhv-6c-ICqGn6h@J>d-86}#0qoPZNQdfKd@-72de;lI5%9S~DJD{f{RgHS z6^&rPXShvxGQ?z7)D~!X!rVsz+z{5#T!FS9cAwdQ4uF3vSgGE5*Ymtxu9vFm4*FcF6XrFn)PIzND+6+e=o;{$ZMj2?&Fw`xpmzCE zMG8sZzN)c%jc#0BO58bvZA+Z9e7*T7v&KnXvMctc(te9}F0R%gz7pyAxVr~llS6op zfA*yQ55Rhuy<+{Qw}MhMJ6G_p{%`76{aGnp2E+9^n@Fa8)O>Zp>^Y7U$Hl?O>(&M{ zImb=b_6L~VCd+-bC;{pk`@57UcjoWM#B-iq&NzB`OG0CDQfHcyC1kY-PEYg_JumHj zVp2|(5o-Lbo7xZGXjSSy%r{Mmsv2?vMP~SwJi~8`??spWc3`cw5E3EBhh!+CTg#>r z4_r*8e#Wge0D!diR>Ue}J=Ak*tNtPxVD0=!^WWXG5i&~!MC~(UDgIw)Gb>(9Pnnjn zz1JlEn>!@1E~_%kJ>iISq*@Ui1q9tS7kURPs&iTo>6Va0=d16@ZX}G6{g@uuYqA$? zr<%Q8&M4@Ns}8ooo3W%&kUSOd(&#(8_yiX61X8H;)t!#Zu#y{!vRx{G|A%^CinMXZ zCN;cyE&IXP(u}_m-`{p?gEC#^KN+$pkIvD$uiacT)}a*6CP^p1UG&ArT1u3uyrRr{ zb@QySn|Vs9D&GhZGLX}Ie4>Cwnf}5}$JMH!qurT@anOk0<_y>rp~&?`G5Pe%RuVS8 zw0B?Z?Go=79kGMe+vm!9} z5BviMaJ9#I`m+2Y8MV50VXG&$Tgfgj!nmli3*#q)4%M;0-QNxKuhQ(ZYTxSe{US@g zkX7?Akc9HuEB(Nv>f(5|4++E5hgtO$&R#wX)8gVj@= zzMISaqS|w!M7$)y;iy#;nECNGPEV~V?M1?&v&X(X=v(M4@LS6)a+OUd6bsD<)ZSUPt1A0flYip$Fbq)<7IJ;yJMeUyF&#< z(KyXQ@a2ku=d7J_uL(MT>iWy0pTy|!{kK#9%a{95odH|X4*PzC>h&a-4(MtdYSn7m GNB(9R5_n-6KGw1fb(>*iY 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%0Adh- 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 diff --git a/docs/guides/km2.png b/docs/guides/km2.png deleted file mode 100644 index 827bd1e21009b14d384604b5156d0565699da224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65897 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 I|32vd0op0AHUIzs diff --git a/docs/guides/km3.png b/docs/guides/km3.png deleted file mode 100644 index 089c25af6e875ee6ee5dc1ae46fd37ca5eb3cba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64487 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 olL1i!AZ!M>7eW%Gc@R3SjJ5 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

H|^| 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

6whY30l64(J*8_q9#2{7+O_W2AbhXNWc4 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 diff --git a/docs/guides/km5.png b/docs/guides/km5.png deleted file mode 100644 index 86b28fd5751cbf459fcb82faa27a458760ae1ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113978 zcmYhh1ymeOv@P6NGPneX-~@Mf3o^J9+&w^Ww*(9B?(P=cgS)%CyE~73_uc=0vt~`L z>8`G--lyuwKIgZ*tT-YZE*t;=h+v7YiU0tE4ggScAjtPCWS_gM-WwbT(Qgh)HYN_v z`gX>EskM!jF`d1kow2dCy_t=}8B{y}dnYJ+VX!g?1X|jVTL%Cl0Q^-**(LQj&Dlj+ zbgpBJPP3Y?HAV;IJMMn=IZvX>H;6Jgo8w;7QuVnPf5&@o61`E3RW#!5og7$XqE02jJW=QOxv#(rM8~$k6o?pb*({R@ zNl(g9E4Ed{|9>Y5Q&P>NQ?oqP;y*NcPShcFAy9W~N0t}1%|iknku#uykFyLVj_Ez= z3VucY_x~O3%iv7YMkTpgaowdzu_#7j zYo!wnvgwnsZOnqR4A9(y}`@5QN z5K&O?WJUgiT0=&`b!12B=|e>F=GGT`=7F&3pYIEELnJsm`C>_d24rT|JWg&{)il;G zSXZ!=6{SYo_1BX{ub{&_kG=yg5TU!}@xVpW1|N7}F31pQ@;{~ki z3`oK_a5e2^Tls3nhI=Z$c%;ZihtBi5Ea_KIWR>Mub7K_W%Tm9$Q}6Ag^CfBx*kqJO zB|T0hQdc#{7!{@FYt|(^0?6)D%zX;PyRe>Rh(G{9$br+xgTM9NKOuz|)`!UAW$Kpb zZ)o1tce)VMuo!ylJG#*i;mwKKk!>!BCnOL)%~h>i0_yX9D>LndX42q?(;_KwQEYPXp`5L#>nehR8R%ePr35id; z0xaZ3bCTU#Vz)ZDC#Ofkz}U7a20oALkzTZJy@Z-j3LD&}%g@K9&~NW@O>D;@Q+R5P zabC1#qhRIRDkVGSbE}I|{v?KArub7m$k=EJMGDsBFwJyz7Xshm%1GW0vXXYQ;cL5@ z;;})nNRx!kL(lbSGx&#=85k_M{&%@;E3F9fA4HtF8z<^$cq^WA9$7+W{lButT+|)B zqgN-Y%Lrdyp&-eSPnN*Yyan`w(xdbh%;$h0tTs9U1XETy$-3pSe_$WGbT~@iLGT}Y zX800TT1dsh>vJUd8x>gKJ~?*C*$(H&1@Z+Ox=Gw2r{Xp$I>8o09&BLp97(j8bBN}K z9K!>9J@u$=K=L37QMXz`hDvV(v=fSoh@ZNw@#Sx&$?#Uv{p0Cr=CaX#D1i8f?bT%n z$SGmIA**hTx!?#NLM_z@!QE6}8XH!6H;jV=1J3Z}l3v?E8LHo_m00_4+Eo!Q%ERp; z4&}$2lMt{d?a2~(c}{epY`ZO21VmCsMc85xN34l)9+rxED99|TB*EJ#C@>ZpSWg-Z z%^g0b{@{m(rD#&bAA!OccQBB&5QhNTf%r=ha2;xZxt(R3FMA-?&21snR~Lw4Ln&D` zhhpTZB>DWS#X*#7$1U9M0tqhcGNEq$iCZ%+Df7bfE>3o1_ZXa|D=}_J?8}Etpq}*A z88M*dzPH-`+Yikc_~3(GhC*p)dHR2{se$Y~ZeYK%WDr8hC#yr7rAzzHF|aw)OlxmT zrvFxD{{=Qg?F^TrrF{j32G#@@uWsd`6M~W+GJOsgAwV{Vj?@gQ)3Tf}j#!YF(Ed6i zm4Du~_kA<5`(L^>;I$;BMrd_WJbp`Ghl{Z=Y2{yG-MkA!P=L-TyAAQOe;hZ%fC1bb zRW3((@HU6yl&gAWT_BY5%H+}yCRh3*othcH|5&!a@`NOZ#;zTxKeb-Wh{eOq1k)!s zeBX89+RkY5Sa$6Hm==d-IN~pY)h2UwicXtzf|NEA;(ZuW!z{dPIJjT`)Zn9b4!ABJ zSeSc>DST2-ZSm-|-!8^hAL$t~-IGo`{s0L2AunE{0DyQKUbo#+ge_S?!Syzc{O8fX()c^%^~kS zKo3Za&yi_0wr+e4C{_vzrfW+Z49(!$&0>Ttl)5G8ue=s@6}c!w@47!QBnXZ~IgIxF z$g;eayr7GK(|p?!gS9%dlz1vws!7^4@p+Lz(bVK4V&xhN49C&o;qc6#(=H0f*bu}+ zmOy$h?>QEBtp(nl8hL{MU+F~^>II>6RXG*rT6(~!!Zpf zo=p2ksgMv54heVdU+X;Ff_Q!m%&{qGW7MM3ePZfyCf<)JBIfVFGQrsW18Jjs*FXuw zog9}BdYxu}b|E%hSO`XV`0e_c5a$nP^asGvUv{7R_aWw;P^QZQhx!NQBaVB-Q?`<7 z<^tTGJJoHU9*sPmo=fYLD*YIxs$7%Rxo2CrNh|tD4O99JBr3Q%ifY9I_6Ff*;;i8? z03uJJq9_hkOArasyi9pTOOmOcXmz+yu=TIUHYt2{J1~)@JpNL;sqz~-8L0F5VnNmZ zE{Fq*+LKD}kIlMBgW1cj8jX$Qemx1hk4U-f%9B`mG#TG3X(E#Def7?*wB5sYN$#P$0 zJM|0!)a2T2lC~bTa_M9^7JNT%xtM|i01MDgH%{vjd{E+Z_xFzmAw5j#2H84Ld*6|9 zSWCT?5H~m~pAuU-yLlBjyn8ypA_EzB-nwWQNBV4w%~ehtwRt_W8&AKTRoa?UU(Yeu=tru_(0K{V`^EQ18nbA8%r()x_`r5S5#l?fYR zSNG?`>*{m5Y2gt^9qHfgYYhWCAG}-Mr36L`iM5^*=cG-|rjdU-hAp>38`cDW%(a|y zqId@6BQDWrix1Ykl{wPNwfN;r3ML>%f>6^CeDLSg#ro$^R`qVu53B5+j^DRVGhJ`c z;~JL&HAy_tTYD?lc*;|cPd%@Hh`@9>hqbRcEHiJ!P%@#UH7G==FP zoY97j*d(CUdG@5HH3Q4jUFOa{*+sfJF`gSoHM!^_%Axy8!lky~zS;g_0CtT)s%##{ z-d5a0Qs)j_s#gDW z(uwCFQFI9a>&%mE^g4=gDE++T2ck*6W(*K6_h1Plhs2fMR1cMI<|i0|>*g%$W%t$r z(O#!b{8$>@F0kz$%RhUS$ewZa-K0B{e|IaVfMK!M{A*{BkmvC0pWpABDGYnMj~brG zK3$#EklP?Mbq6+nM+y-EHt6HH9sbZoizsxmK6bcas2G9I4r&(^t91B3)wAn+|F}fS zti_Y0GQ;Gs9(oGMJ1}v9*JeD*H$1h);X6& zbP$^+t~K-%19 zx6BWECCHf5sYnkKNJa3+u(|BfWz%c}&#tdNI>N`tt>`=(6X2a_3PjDQ+RtUeem?Vx z%5j2^R^siOgISvP5j;Jrly}H}RD{4q7Y_8N5s8yzL_Z$B_2BH_7*2rAfw&L8Cu#bN zyWmzvG~D$G5af2es42oE553LS0y%R4K7)qN_Z^9u)zhJ0*()g!fesd2?(vn}-rrx* z=cx*L$w{LSk42#XqE=ayLkZe;5i3^EQNSvXrF#oE&00ZG0Hrk5gp0plR%mxKE-3P6 zN+6bZeX=dZVKnOkJ$?u+_pYxgS8tHdma97p%&}3Q@!k_RH7E9v*|ziWDdE!&kbs?L`WZ(4cvL#Yi9rRe5Nr$sc;`wIv3c3DmUENp~Ea*RQNEd?O`opc8K!{KEY>XKA1Ug~;7( z1t$u+pU$-aDY%G!Kth4fWV}13o9IF%_|;@*4ajRnN=leLA{3snkpUooOuq6}|_tei`Q{MsjzE`Vl|}LjqtlvGDphz1~CJp^h))T5ZvKwTFr3 zuYbT0n*WLJi+}cXheSmUGyyRhfU)yUY(3;^8oxj!=wo5%zVPJFx&=C@_u*e_zab+` z5^|~B_II83Zs)Ra_ccS=BGANB!P(cn#697ST^YR9zwu=9lm$6*r0Tb#8`o|0c5z{j z{t+BTkB#?j<|zyi|3p(>00*_%Gz9pJjgFuD)$r$!bZYfaTy>FWTE;ea@V57hZhptC z{Z)<%{Iv!75SeLY4uA(qwzcD!0Y=Q{Y5}$=(wv;8rHa}BcmAl$Ov;-w^@@x#&(q&6 zhK3&9@uZcsN=K4jtBDF1!{bz|n?irYE87XwGmi9&Qsd-ww;JSgC9`E2$^ripn|qK? zr{#|8!lgkF!7Lt-$y=7IK@vA>c4Q3O9q@Bf@y8t??74T_%lh?Gkf^dmO~qGnJcON{ z_0tcRr?1ON%?q)b(%;g!P-;S|a!V1GSA@98f_ZJprEr!wdY4UU94J+bu_Uy>Kc;^o zSs{aYQ>;N1^MdU;_0b(SRkCP+&t)}QXHOrAaLkEtkjiCnX^im%%kp3MA7@E8ruAAf z6k0DP0t7oSfV|^zfRG>@zKM7+KBkuVl>C`=iieYGf%AoBuGT%w$9L&yAnCIhHC5GC zyFvqB)DjBun5}63`e_R+e}c%M#`g_J?Fgq>Wa@|jh0?%=`)ef%L8 z%0T$$_YiBkxkKXT0>A}DZ%keMg84V7R2Lo<@wNR>I zR1P!FRE0Tqk~IDUAR|e>-?N(0%GdEF75&@o7_9Q?VRMR7C#LwMEz1{c{H#xn;BG+P z&DlO#VltCrEdB1goPEjfKEL@D(zyj%X;>JvVp?5zR7KEfy>(Gj3+Kzw)K1)bG1@&J zU)hytuiWx-2NFN!Qxyl{UBI%k06riD*iVZRe&f;(f4N@)QeVs9#I-!_| z-WCQ%V(PGH4DKdkhZG zO$Ng-`s&ABax)I(TGFaL7IbP@_4e%)V?NG0K4H!EuOcqp9+ysL7(sE60HY3P)R+ql zJnpQ=rxQqnH9?EH*`<|?BXqGQ*))y`gMGFPhx1LL?E~R`e3QMCGlkv4byF50gE)o* z66;*8{|WMD^}ME8z01BArc{03DEJl6hlkkW)z8bDEwDf#6&0`3{UXy~m-W4^Z#{fgl?1~N;T$7i-^5`O;SYM!erm;ka}T+t1mfDfekJfqK&E-{-tBn&k_vX-8oj>kHx&AfS` zf4qAXZsFtPC{?Lhh?JFHqacc|OYNrv@qR>VC5Q@&%Q1!C1cAa9Eh72H6h46%qeZ^? zy?F}bx!lnh|KL{f5ed9**?^}hI?G-b4(@PLV2d6vtM&+*#r;=H`oq5vMg zRRmq!o1Z*m;wtOMZ|vgRm-GXcJX2(dN`wdr-$0QnYqUv&Cqz>#xxzy5_iEzH@C<=< zT$bh%Z0wsxk%YF9JJ>@(%_TXdNX0ij!`r12nlGW@1Oz9iq+fhEFirLdxm=F~eZ{{K zrDYV`r>4P^J1hTy(KesB3I&LX$lJVj!iRSBvj1^sdZ~Y%5=@r-t4F?_On!f?7$NU= z{LKaqIzl_5?3NVvl(5@8!BVwO;=5}+&i=q)T8o2j0@L1}*~FUx^&@UD$@ddDy8-&-FVdSaBzc`*Z7c%L@G^B zPwsW(^MI==%%0iyGu)BT==Z6gd- zJQU*CMt3PoyWnd<>Q2L7=z6-s_D9R5Tn00ZRO;ji0Eq9W2eClOv=AanI2;Vn|ILkq zN)sN4&XmnMWwm^*7m+RujI5;N+(eA?_ZQun(ZGa2sgWR2YkGJr>?S)GbM#X60*9e0 z7^pF*wH0OtfBfyO99!UHiY=>~n3Pw(0f2-FCXPZLh^fcV-Yz=`H-iLWCxYhV=Ltq; z&=)L&WYblO;*@khn=cAH$Auu2u$<>g?BHQ%uCndM_p=579Re{(U~%_(v7*nIFY-~b<|kRZnr_?@y>(SF&#uvwG!zb5A-`MOB~jZ-X4m5hjl zX0EhyvcMyj%Y??~l~ju|LCnu&SWt}S_0I9lt^vu+cC@n!e5?lUL9z2zpxoMLK(2_} zArw7HjnvXBXPP+D-8s@-GmxZB-?Z}O7$0M~?Jp-~g0|s1(}f*6mFVUPKV+G@R$ScB zvKU)wov{0n;jgrzeY#9g3uG{sXJmTZv1TOslsQDE81>K%tTOc1Lao+wX`=sJB?9!= zkZ&oviP?yu2nnb_XwzorOm2o;3AxZKWFYdbyU$Fi`B7Z^+wOw?KMk3;AGTZwJB4)i zLQ2$>AxUM)>}9MXV?Ftx@G1WwEcIY@m4Gaf_;k7HVp6>QJ;$Ks=GB;U{XhAaMe?8` z+J1UPOB^Hs2zMvBA&| zQx^cxp=UHy!m8?fA_zI5H_AeA>G%J4ORUQ)tr6eE)aCMJ(4wuC+1&-+G4b|9$EoT(G5k z(o(t63A$d!#&secU>Y|)g?qlmM_-w?2dW$rW5X>hyzFNz%6w1Z6hJCAq zGnya33S$E8`+vsxXDn)vHL(7l$)5Q#Ps%^3Hl12l97Y?GiY;-EiN8MnxjTpv_45H_U|)YB-r@%)hmt1`JEW^7;pOba`~-#-nG`V z{XpME(4Olm^RgK$33P`otpPynheFg%%J`WDffO^OEV_mVbTmQ~6CG`5XV>I(ve+t) z{QK*pU~K2IX^n=AIe4Jfat;y-DkmprWMdxt)nCuBBhl6f!E`K5N>UP+#cjCzcT6nx z4AeA={aRsh>G0?%zstU!gTuAY>kDBG_rG0bjy3O`&h;y5>#!-FPEQ^4f_IZM+z_?c zF{&KiNz#Tbre@CpV&3wyr-3^o~tec?@w zjjpb)5bOcoH1pVuCdarUPEJm4ZoO9_=~yA6AmVgGnJCzwW_x2i(w31!##L2mon2iV z-{;rQ_OS5rpEKDy-@%cVGJDpSnRh5<4}Z~LN{xbu-$MLQrb>euGP1!tcIC!rz!lE& z&Q{J9ljZgcC*R)O)XrTEV`jW~?NA7uw8ttzT+P~oSVJRv-ee_C3pcEVpLPT^_%>R{cN*cl$K6mtfSCEJ? z@W_GNh><9KOFetm^@CuLIOsysyjmC)1Ea?_HLh~=mlOrBJ=t?yt-BXKCVhEBtbh8fUXU-KKO3Xvy{&;N;_@HRqw1T&_Pp9ux=p`}?2HS8b)6guQElM0N^3zO?*H}L+O)L(CsPlpnOFjEuNpr>cj#yUJA?$WdfM(PYG#;Al=;UIL!6H-PpZ zL_uFkrfluQHV6-R*Y@b|#Huar+ZU^^7CdNCK%u2oFq6^)DLh0d|5R_8c*zVL^w051 z##Wtn(=h@8Z-M5CV7QO~1ROL>g7oxwRV5|Tn1STj?`t;O>ft+Fzhw(lOE5r8d+${7 z|I`A&`EzOIOav8Ma>g5m<`XaVU&jRbo5Q(E+?~StcMiI;=Mr)$9CNseapsvyBNK)j z8ha8DZeQN}hKS0^K>TFPKdyK_%Yw>j4Z8ef6Q17QZ$Gz7@qEd__i~ThQ>|Nme3C~i zaC4E`Xs-ry>RAv7fI1Uv>W{MsVm&)y-%n=8F~Tt)SSv>jBNf@Aw_ zeXR&9Rf)Y%c`lyPKOqK~lWd*DZW_a9kFl@ z5(3}?0HFw>DCT+CyWBr#iMSpyEp-%zOlMv@3L(l~pb21*VX89Y!wLqBX^)GS7L`Nl z&lT*#gfBXA?q$95cuRx4Zn_PbAj33BPaD@qHd5k`B|P%pb2dJ~9v1onNp($dKzG!q zUewg8{A{=u@s|7V+d(I4l9>Ka3No0>#NGs)OSMu3LajV0A}B<<40jkAHj9q;B#;J= z-THJ1ugD#VbtdCJX$)FCmx(qs6lH3s$>R@GI9TDMH#VZ~D?Df=H=l%82+ua*fj+om zMQVI&)oo?I8tqm#EcT{ zA1Ns-t;2Yx?`Zef;2<0_y#1Fi=64Ez8B5c*T9}!qrlwrs-+y21{;=|zLZ?Hd!=%G( ze{o!xsxlm2|NHv-+Jcz7tcDcFwIlsYKA)r>F18IWS{wu|X@k1ylD@}9cBv{X>Xnzz z`zKUJ>t)=>>(>WleBQ#dAS^i?P+0notDldm8=PzSo@@G^h2pErSrJ&o{dRvL$F#!s zi~<+C%(r$X8$#7zG^qYLDpqf^zYWUWnfdL*P58!Rfal`2PSOZ z$VY$6nSc)MvaAky9%TllzU3KQ{Fm>g63*_%&T)gD&kT*F#+-th${JFKI1BTQf7%y! zf8bpyg*VbZrkpt`6e+hw5U2=5ZZ3CakQ%OYhU&sWDRSsD&)Sa?Afzi{96CfnD=h~(&ihN)=XS2GK~9;Mm0^}IiR_A zI5&=sBHVv{ZAla83$rPNSG~~mAp7X|769*8WAI4KCY;+B#PNC-#~<7T zJvvdXTsK`zkqaXnjM*;|Nc+s6mF&#jNNjFgYS6*pul4ByKp|3oB68AT!pblmolSf# z34SvwttY#E_`DE0HCT%{+9Ip20S_ednqCRn`~T-!u~DMKU0u_d5&_$GjVw$jcf5G0 zCA;?$I(JjAP+9u=#Kgp)tkTlbrDkV=f$BJrbQ2MPoV9KtQJ8N!M)5^%_xR*o`Xj>U z)0>$#0UNr|L;8}J?2&}@6*pPD7hzytJrD8!2wf6|y6-(Q&{#;#&P}?kfKbGXFf_+WIB(1XFS83rbgE5^^(=>RRZWIF!(Z&rZ#tN%cP8zr^|KU zHMq0&G4=7ZI{*jb#Esk0N(hvFL8Y!bL8-D#DpxxItsA3vbWC@or1?Ytcf7#P7mM`BBOW*#WA#;Q4#|I=PzT$vJPM5f3J5J>q1u z;<_`4eEc$dC%aa@pF}=r&Oh2;RtS^qb>Of7!I7D>`Vx`ltOoFuxrq*)2ITpw!Wv8; zY4{HIFWZ-hvu>yGd&jHOPkZdiIj}(ugx;QSvm?#+rVLncW?!fL7OIc7Yw9H4wZ-Yo zj*SAB*2G4A0bdpP_HwjK>Zxea-P_4N>@NuwInrgr!;X!4L_01O;FCP0Yf}VwGl7i(zaJSih6kjXq()o+LNCE)*y9j3ok% z(mV9+z1}h29c_~95=c=`>=(nMIaO#}XXLDoc`<`k7ME@}CGf^ZnVeQO-P>LP%hm@Y=Tne_C(y}b3n2}~ zd0XB3Z0rxx-X8W9*&zKAQ(tKE?~d0Gi|yb~`7CFugmb7c)Z9)(3Iau48;h08U(vA;NfrP zD?Z$*pGzgT$vy;2tJ~-fC4aOTG3WNT86hWiPZDJmxwdpI2Gj98{AaUR{ z1=iU8e);R=&e6%9&O|^E`9#WF`P2=wQTD#$GBP7@nd| zaG?N$P>~j+KEgvgE0a57ood4vo~w`#c>=REFI76v*+TE%j9X-(P}HQ|%Q^UMnlX=; zX1DWTIjlem&-R1xav?DjmOpcfy~nzQuyDzBR6{{1mHy3p;*VikDTSgw$LunOH{bi` zFBbPHk>gTqt`m*DcNp_aZ{9I;NB;Ku_c_Y5smICvQZL=JYW7B?3E9=!(zV+8bseP|~#wl8SLc8JBRDqSZu~BaG z;7I*eVuFD8pZc*##0B;+5a4s|?CoiCpTi@p_W8xoT!4I{L4~I&VHMf1FlV7x9{GUj zxo08|k9~C(3ZNFKwXVPZUC=yR4mOk4{#t=)6F;1go!s~Xy z^y&7LC4-ut3KLYyk?Y|19<8E5;y_rV<}wWNw%DA75PDxfAHJnj+f;B2X;FYaM1}%s z33KuKUENa!3@(r6jasKJv8*(oYYsc=usrBJ@8>J|`JTcw?q$U8?rxtS?9h8Ic_RS7 zG%N&ZH&ewkYpA_vJr9SMITjC}k7w$5b@UgU&yRlmwzjr>ef%#IZPMCS9*kC;BUdd% z*Hy@v)a=8!0>-_ieLAZL%&fwoT_OEZq@}t}^uHa9mTgPbyH917ZEH=p%~p8qXCDBd z`|5U$8&{CheHiCV#ckIt9sNVVt2UWj2VzVqlu5zH78>dW3oOFRtlC zpxiwkYe`C8hMmYcWD24)Z@nRXiC2x?P4yBuyf2X}1+)6dunv`@i|75xFq~pDMV!nd zoOheqU!eLnyF5p(OIXpID+QLEsjK6t?Ol`RB9<`nqX0p6_Z?*$M1BRa2os!m`n*DCR z;WqC&+uxM#A&Yu@khin$4ZlGmTURr-f4IqStg`M6Qv1~R=J5PPkxlmXlL6kJ8k2J% z%vb)_U7x%DretWQ1B*b*xwxydFZ-Cc_=ZEk)5P&$N*oR`R7dTH`PR>Hv`#NQD1>_c zWX>)3i=jTLnx>zg@Yk04(&{N%&K$DyI=n~qA@z!r6{V5ZE+!92VyC?l2~B%@E;(v@ z@>~mv(!0C2+3M}uU`aWiKh9^G3Y+}8+Cw8F;1xcBL`a4E<64S8j-lneuUm89Kin_t;04C&shmpAuWn^!haN27YvN6$GLNU&!=z#K8vniM1j|P!!>@-0HhM#?&9L= zLD!^P?dUX-!1#~%cs<$Qf3^rKCV&r_!P>+{(mz=x$##5wn*)&LbSm|3Eh}VF*u(M< zdMV&--4Is}e$VjG=k4yjf5_8UpGRYnQUi+8uAu!W*Ei&l*9M2j##&lVW>yVILr@HE zC>>_|yn9Ty|8@VOz4)~A4yvEuMu=SA8@~=reoag6(WdSwg%-c-eMj48%LICXWLpQJ zz%SEPUbUi#-n)WT^L(3-g$q`6Ou74;-JzM{l*{rMOLtTO!|?LlkPm*_voP0yulB1%_l zAL=k6h)}xupOyuYaUo84j3mF_%+QF69UX(z3l63pKMsJ2jH8rv+=;30#`6r2zSlC- z>=rtNZO^;3&b%~KXHfV*Jh;2xJ9}?P-p#e^t|}SSFXBCf5iBy)hzRQFFI4a#ne1Q% zet-$ZnO##@T6nkQK;N$iCHS!v_v`?xw(H9%vMJk2Eogk3r18YotD&h*g{!9$Ki^Ng zjwSOCHv`N@Dms01qD>Jx4_hovGfH9+FJmi#v)&gHL@O>+^JS*mgEsB?&Tc1VfgYLve&%NE`61}!b%3ntT(F1k z9|$dt%{R~d^XgMv*)A6kGMEU)g6_e%Thu(Qq|P{5F6I92c`WKiz$?2 zrFz(3T7~Dcawt~hljA6dyv_64qd!0cx$-3OZf@Y;8cFo%B^;MN^U<+rTPG@p&7~}! zXhNyIg5l%U0LUl0QHnB#kPKy_<1nnn(MiJn?k;XKT0&IW>oWP>nUIDG>;pCwpyI0Er2o!PXXsC!26%8dDh4 zmXqMV$=mWNYW=I~!|%}QPdLUIVWA&<%G0ac(ctOOaHGAoGcs}S+E?KqJG_Tm+J{pv>o za^VWu$N~-UN(Zz{>L`z+9{#SCKU`i-F8k7myGCEE`yp~hCB#XFX+zQ##PteBLW{;g zLeQbXLI^@!kJY{!Dz}3LDNmcwUBlg>lg+b|KxQtRmc7YWUpB(BGziqUEoy=_ zQmZLuee;B_c#Gq4MYJzX@I;`#qS~j!KWx6eo1$cv?HH!jX>uO*AOoG%*RtZqO``0kntM~q(%1nXDsGvUK!tfVM5h1=lgsg zNpHN_*uRkJJ$RUHW{@X{uzFO!9BtW%X@K&6DX`I$4Jn|s>ns#X@mjLc<0|^f ztUpaOm_P83-Mr!u&5ATNovXmfFPeD1JYx9u0f`K3H?&Ll$7Dp2((=yGL_J4%<9J+Em!4Bnu@AqYwIT;ycw2wMz#szB`ie|;c-d&6MijMOLB%55*v`$7 zh)hvdHN`uPF7rXQkq3?Ust;Q%NAI0|Uy4#4ethIaQV^qaA?}oS;$3HYo50BmXVb4( zqd)C<3+|-VVY5Wy98Y$qeeCO+Hj9*b0u>KzcxI8vD z3yE7Pi@Ds{)MYf;ni1nwd~s((cOL^}aOBgONG-5nfuI>2_4~)W&?JTcO_0;PBB0mM zys>aM`EeBYhy6~pOitYxG6wr1s}pJi3{}#-0o}V_4}2H3HvYBq!IGhN_jle41>chK z!*fR5)h(hts!7-P!FQjnqw`kv!Rd8OYGniJwiXTIV9?> z-!+$u?j|8;>~t(2VuaA3C$tO&cOMSFP$_rB_Gl;Y*D2Jl&l6$%DAaM`^P@Gn4QwCL z_>CZXAwZjaK0U?s5;1&};FMZB$vr+)!wV%0ny~(B-An2$6=t~23NXUdheR$hs^KPC zR?^cao*E#Y8iIT>b5Hr(+9n?>zZeVunw;Uo4=Xw{6==2Zn9WJ)g8_rtuSy`&=B_|9 zD{@vJd>Y3%dxtB_E#P|q=(ZSsfi`h&ugiX>WNmj;1MLP!i@GYc_hC);9 zDv3f4#*g9YDU23A1K6}!cXs(X^XOb$T;$Z$)lp^x15|aA2JhQ`SBEG{!cRC#rvR%t z2x9$krbK&dvy+qr^mE*z7K=d}pUnat*mrcRninOB;-s40#iM^uxQvH}IuyFMt!hH+ zGo(ttSfw8F8yO#ROUuc@!^2zV5{6XZWm+=s(|NyV$IinEvU!K9X>-a3n>{xJji*el zSfw={+!%0zNKJ>4-s$5}o8L3MYH{aVOS-1cZr2-(S(J9SQ?@uIx(|oneF-2m<(1m6uz}Ag5XeV zTp=gb7`i`4p`)L>QB6fGboul0qm2#jv8ZKY&dVg5$N@Jm_!tdO`~CdE{qBL$2`>+*LcpJT)Z<0mw!7pBtz0*(-Hq+_ zu=Yr;e)OW{kN#BJhZz3Pb?C*7m)`bkLm3ZU`D`id(o)`*tERBH(-Kphg7{o7Q5|@e z>^dc4KyQnuWj)sX6Wo+^Rqoz>ZS&jn)!hysoqz?WIn?N`aTBzYZqZlhznJ*17E*Ol zl}rJ<>X0>y*r1=8l#-O_?|Q!K8zmY%#QOB_dnJlZ2thK;uPT@seAU15{1a_E&H3Sk}vds7vg} z({gPF`1UmRjj&&$b?%ah0sNn!H_&eSkH@>^R#&VI&F{`eeNZfFnId&!+PJFEI@0eR zCGaHKdEy^yT9+ce#4!b-6t}d-2}1%Mk!@#ph6Ad;@j*GJ0t8M^T^t;1MZ1lImTRq5 z^nb3FaW+Pp@Hjm5xEW&NpNi!#(zNJ=LByl-d8ErZ+>c=J`rxR?jj=Gz7v4D`*YIzy z`{&FPSf9jOs@t7rs+-$et{$60^6S_MNps~M9!`uc8I&(;^L{8x0GxK0iW;ick?muK zQ+*#Eo{V-e2zZ@Vnd7+fSt!vjJ>BnU-K~=Ti*y=n&ItB+IR49VNg6S$>v**txQwq0 zc|P7^!1+V^X1YfZd>O+5E-$b0CQTgX)p^Ef`)-cr&W@A*xTTGuo(GN1r z)QVC#k)rqjAfjvTl?4{lr<=1rjq=7Y+-DSF@6Vi`9CS;!^`3J~M$VHgKaAUDk#4VV zZ;`|B+KrT~@0^`878tuS#DHws3hTFxi9lGMsCIm znxC2*o1PrfFMI2Z5cfD?H`sP>9#-F#O+(XDghmG8<@MnnhHlvDg!6gOM1&0{QUp3N z&jd3zJXg5nTu}6^%ANy}f!%Gz+h+X|n-*!`O?&p{W&b!*PT*}m$l!W>HHz3*lpF)e zv6Ah>kL4wkS~MH0HF!YH;l4zqS6?dQ^z-`GiQ%I^g8PBL>_bX>YiZr^gqPHXv3SDR zi)6!gf%8Wi^ZG0rFOBXp*UeTXj26mCp()N{Q-$Nnk&Ig|?h3gvArUbKUTkKjugcDY zBwmIFCu|>yFORs4ew5P82!`9UuYX6yZG_gafVDC}fCkI6lB2+VCCM^xv9^$uwU9&t z5{04P&xcZNm&1uhb>6U8ITA__AIJV9eCzY_FL4hOm&-sIxj@!bl;dsVQ_7Ip6>?my zSEP}OAxq8K(1sTaXWcQRmju%Y4^}PdStOHs_oPq7Z9`sbZ*^mJT!y-jED5%hvr%~~ z2|Q3hVm*RoJkvZJ>c?vWrkap6o!cfm%hTt_%YKx`5c%W9o3K>#wepMuxdp`Uk%PAPvZ-C84M>fS)W=vkt(YypRTog&sS!R z(qhLaq+G2$-pn3(p7V}XEpJoBbdi$KYc>3MzQ6G9t%GAuqUGdtxjj~AV*0F3YI%UI z$ronI$GSO?wDoy_>HjeHmSJ%O&D!uH2@u@ff&~vQiv$uNxCM82cgx}g5AJTk-QC@t zMS?qvyL_AHoaelMzx}a$&CX1Bbx(Cq^<8&W6I`RrKCdZ$zO6d(wseX>-3Zo*f;0Dg z?*S)^F;X_y;q`I(dLw$VK9O#G(-q5bg%E15MQwlgr_Oe5tN8ZuJ)oe*^`zk2#|qLs zWcV%2=zCS7Ucr`+XH?$v<#{~RK2ISd%{{YL8|wxHm$Ez>Ui3eZBXexuTSGlps&ZhQ zyi;?>*z=>Q&Z-z&|RHhr*C?O;yztYsY<0j4)$@)L<0p z_OlXL->v&|-t#zUnqzvo8y*oT!$*2G=M?AT1>s@W-&!`ki3{ zzGdC@c|eyn%BUv-Kcr_Y?DiS_1S9~?H5~rV5tJv1rjv}NmdsJ`#W*5-`ZYZS+jY6P znEXr=ON|Mby!sk)V;#h{I*TrKhuXJu;`#DGccx0rr{I!)zmh0F;Mq_)+7?6+m}-Y| z>u_yt(?_;W^)*Qnd^^r68OB%Xg17qzw zWYxw{LuQu3WdrUPu4rEKGjIYlIA!^JY69Lrf{l$F@p{Ak2(gW-T_vdo#+Gv#!ld&_O||Tgm^|TUQ^Tr??B>69WRxZh0PG0 zT3LdM@oko@jV#7DbM@~^N=l0rI%!g2P-&7uybHYz;bCE9zsS(TMoJj!HBavaUaeOv zn&{SLOjHtvPpa9T%ew}A*_*3pQXM zo5FYez*)ZyWADJJ-`!t39v_c;dU|ZvTDUT){vn{R9`0UVY0;tJMmx~eF8`IP%A3yX zLVz;LzkW)-^-oJX-on>CKR^HLv3?ezEsb!}fvRYW&D#EgXra`U^29;9V*53YS_A4a zISXeU8D-S0g!@mqy58rnZ(Y->DtcvFRyRAJ->h`S;IjJ7E;PLHpg(WRW|87~^uM=x zb2rUxax0Km(%Z%F{BVZw{da@I+Q|6h@i>E)6VhCjV49;OT zp*sEA8gn{4m$!LyFiA#CFa|r3RpSS{w?-m!o(4Z?tI-p=+l;^)B}W^QPauq~B8vC3 z)c5Qbf~Rk$ORwFo_jZ6rcIaQHZ+`x)J0Lilr4iTkeNZ`S{hR+bF~*)>fJEUlahGg_ z1$y0^1Q}F>?j)r5PFdBind5c?Z#|{eFP*FnAXISYa@`yMe@L!>!CddR;qTd@fHZ01 zY|gkka5AdU-Qe?t@Aw`$x~(B}hWH;fC2M7EhgRk_=kaT!Sqs78MqDW}_?O231(Qi0{!fr+aP zxD3o77kgXzo7p=!AR!|IL9hPMoFHzLpW9UCH{ju6Q{TzGWZ(R65#4iN72~A}YQPVD zHB4fgF!Kas?FF(eKP^)CcpD@)(eP2MSi}=?r|uST_uVrsj|oXV-t~vb>$JqgXU1uv z0A7ERv29X9O+_TMYYT9MCXy&32KX6i?4Nl5#*i1X2!`t-3VXX++D3&(Ha5FsVJC>T zajePEc5$)D#c+N;iB{eo=)&SpL7$00feK$Kk!>7#R}UaS8E8h;I0a6QuZ_%i5vY}~ zT~EwBjH^^@r1OJp6tXI8?qMJY#rKh&r&QllbK#YO7y$^{GPW*O$O~*$!rxb zWgWg4uzxRpdH%0BuD{lj%tkQ+&BKE48rO&CTI1HwN^cVcX7q^ns2~@+ZYn-rid>rh z*%X^e48-wBt;_sK` ziN*@OcF(gq-6EG5DX&}dnQG}(A64}KXgtc^h76V9B<&|6^~83SzJRgFqE9aM`lJ10 zyUP6Gc}8JR=*H-zh2NvLk>1Dr(kE@ZfIf8~=V6QLj~~Xy#(zpn#YA(Yc8M@C<-o*j zHZHheT&uNOOETRp>fMARH=zegj>>qvuypx(cEqrF1oUf0A2AUMP z@S;IKF5gbp+_Z5dHUQ@viN{^jUJwe3KflzgiKQcG*-{NJ`>rnqisdi!?`{WnBq99* zmYgb)?RTQs`G_-KtOz7(4ecNj3T?l|9+<8&)SKPR0TnnV;|H5rn)C zJD${-t5k;QHJM_E&@u&*VjX@W#?&%-aWjGjU$N5~&Nf<}ma1n7BW25bWvVC$7$!|$ zcTEe;GWiIFeJ(D6S!7AP!Z&>}t7Fd6eiDnF-2$Jsh|t>`oXfJ3)c&rbUpX&SF0vNh zU*&fNrCC;1=zZ$gy~elmPRVV_E#6C&^S&KeGy|7|##}Ap#uvyR?;{~Kz>papBi>`Q zkpzZ1E1`g-lwE7xgk=%LNQ|#(Dj@f4q?K`9sUr_8XKE3Xq^d7f@bA*g(_zB4{P4bq z{k?|$Ol|VQyhW30;%a}tkZwbamWT?$i?o{rcNl`G(h;;+O%`sX%L)nFJrJ3x zAz%>DC8?XaL0-TMVtsw7@H=3qyY{Cua!>(}IpEvvnNcCr&*S=_ZmOv;;co%WGsn`P zpC%b+dJ=jzzL zEW3-#WrEhIg+1;9xWC3GZgBj3g!OV8-j$v&&>tF|(ZW&Vr%W2*%IcQRf4hqM0k7$C z?$+X$yk7u- zZbGY(m+V|*Eo^>3vplwQ4JX4&d)P04ol>%z2i=8#MA#$X2vEThD0Kd{8UMVIl zuNBA?t2NHICB%EEl$T{~x#`ba>+_7U`Q|ZDNGabuGD^^1fZ4(^J>zr=f>b0Mk;-R6 zB7(u6kq8YY$AE{1lq1PjXbPO>kvCvcr|4;y&vIa0P#iHYdx((|1?P%E{c|F|0C@Uy zcn|KPq5feJ3p0+oIae;hG$8wraap;E4}QvU0N?fgdAa#jV_IXch2uMri|J$U@kScS z8Gv~=s7P7!`;{VEbk`A|luWdBP`nM3ZOr@NmI!N=tRLdcS~dc7+vYvorug285@R4XL`opfYm-#xBLqnU0vw7U>v+2`Epn#3Q?Zy^W1N#&MlegV9=&;rPG;bP10W7=er8_fN zR*W4QOIM1%+t-}iuX=h@s+p^9b=qXy4wvw(UVO~v;M9_^un(netD-o0jm7XfqO!8G zD7}F}LBqT3y(tH$r#i}7U8Q4*m@M@*(LkExyI;0Pr zs9{q6WExfAM1`N8o7p?uGxn*QcVVU$YX$<}zjMb+__4@c4}ih}fVnfOVc5YGJX_yr z32$rod5F$${p+`OOnAgcT@e=&GgEEb!s^e`yKUzU^okXR0DB~&TIxTHqPhv4uWOLb zb*;H<{N{lP@2!M+9(XAvKn0)MnwRj;#>%D`m=vu(QgVSeWBbE!)+F-2{h`_}bS?}5v2~1Cr!V|Xo%Fui8r3@+vef^whuOJz zJUQUg{5(x6YuN!4Q`Ke$|+(5&(r zHc~8VESTrycJyQ1csP3CtHAMX*qKx#^YQ3irmY4Crk#ZXZ(fVJ23^+=HE$nQ`M~77 z%{~P{3lE+3lZHq6D<0xEY`R4?h|bfsl`t90A;pRR-s;n%*IW9gQ~(R;wCwnHvuieZBSbxXxnpEFetA}}5(omi> zCS$TSHL~t+kNw7#aeoq?KK$0gGm)r&jPCQQvYt#xX0nWHW61@{*jRUpQCpJd&^ zWi*@Adhdb0&Oed41)O-h=qG26gS1>SK4M(d>#uf(lVoy9+O&8lpD{# zKbl)RfbmK>?};}g7b}yAEx+F4zZzcL&N08!xjEG1A=$>VYc~nwS<|Q2+Z%~I7z3YA zvm^n@Ga!<+TwcNtN7RDHn<0g*3NpL5(Ti@{Z%ZS;J6zbVo+cb~s>d~2K^qyW1%=i= z19F!Pz#pmS2R;{4GfD!B?(fS5hi+6Pey*h|X>N1_Otx`3tPWiqDhzWs;EG#UhaSI@ zry=)3n_u(vw=q3qeOC_^KrKt$sVBA^BAF7Snb=$J}EI4 z$Pe&lesK2iUXtA6iX8V0vTN$hi+}|bXQbKP-F%zk!7HT6VzrvN%%9`qHJxz>0f~HV zCWKPGa~fnvVd!11qa(90a`R!J*2O81p?z?PE1t{E(e)y{sHIN#yX0gvsiP7Fp zAr0ZYkd6~LxNXY-Gf*W?qU9b>k_=hw2kn%DXCz11T=$%lV73t|*m#-=MEB*%H+&%3 z_Sc9m*NCSqzb8i0If~zLoihEhZvVKAmAh8(O?b5VHZ~%zxL;ONX>W^sPa9OhZ9JU& zw?j~mIi8w`8AUdKs{_t-8fW~oDZeaw!EW<@f9TJWDWb^R8}tPWzHBi=fdBrxucQ(A zkA31F{JYQ{e9dFCzx#6^EixhozrjFXWc`k-n{j6NlPOGCsE-6XHIMYM6fj=^i03!w z_70x6S*2bH_>&GyB1-xM#a5r|JOwd~jgu?e%SAsHmPYds=F%X>7WTu^5U5zagBd9y z<`qe1r)=qTf7cr}P&woCHXPDrA?)>Jk_ib*%ts8P=y)?eU5mbLJ_=j?NZV?+biQ&Y z=SJNp@fh^DB8`fRR_NL*toQP*`trEFvVX-n{q^z`f&4jZgWPH$v;^dNeIrjZD!g%_ z=?`31)l~RI*@E5W2Ey=s8Qz0fcv$y7kvGkB&Amd%oE(T;a6Wta9))-4v|qv<8VRSb zvMWB3UC(x6EqvC?eDDr~1tiZvAez++dnsA5jS-Dje6QU{pw-91w;Y}= z3&7OAt(Eshr64)K$W5gibS5t6D|!W{jJzI945IacT%Q}obW`hC&vZ5Nk=fNo_7-rH zUd>&#!d_=(0?wX`8Y`AD?r*a^N=2Jb$jQ{JAJGoGJIOx40;V#wl02VUs45Xk?}XY9 zUWx4@v>xy2iq`LJ?@#^2SOprrCI$*7r~&rO9?hDa#{$&WYdNT(^gH$2^9;q?$ICq8 zx5XiTIDq~5F!3U3>{!d`1=sq_L~Jkd&({s1!4Uk%-+(Svx}@mN)0m)%mS>xd=gVGn zT}4Tr*JDo;iM`5=lhqh}Pl8J%SInU=G*PJ`#VAo^-HKxJ=WvhfW0X^|aNbGDQnYa@Icyj!66+VT*% zpP>j1T-G?KzwiF0#t{k9{#s$W4tE#)DZAEuUoDLrEOZ|Y4+Q9!%Hs}HcpiAT4UMrA2!Q@{UF}I8zXk6YTYT@-m65|D7R3hYUE+ zSWXiXn7qV7fSgM@nGSlW|4jU3ZgqJ?AL4s5PX1E)Cn$mc-Qc8NERLlFDm&CBGBI5- zedn{0V!beO_HeMXuf<^+=>~eeJ^X?gf~=$~aE%Aw>L`FrjZuaOfX}447EnL1Gfyl4 z{!}_UtKijgrxhbQJKoy)Qx~HY?Cb5dx!Jy)+jPjoWRG=xRD(t$9B*4|p38w6Z_{<} zF`I5Ea;i7G% ztDOoP4a=f^bDHSrEt(Zflyf+BiDPlRtexFkaJfVan`qH&|MBt1qSeO}oy5;xGTXPQe+qQg8Xgv4w)epdrS*n_uuMA>w=t~cdWmzPrsbDl}o1MNn`17zf58kD13s4fkts@YipxO z*J+kZ&0Ct8nYAQNYgqqUK6oaQdIP1%JZ>pl?XVL9&J$6g*>t8LRVDz6+(W{+?O+9` z_kikeEGkQqxUNdgHag0KGsm%>ATRD?QF**{l6btW&+-fji2lD5w0_Me^_GjZ`wem8xXC-wl!J99;J@4=aiX z#P}$9w-q_)+2~AHZe*gmKaaQ4@rEN+gX==F(&npQlC-}H!}4EdKG6cF0d-GxG~J|x zgf0;c=aU$NuFX|KTe|1($HqtXWx6 zpbc-*^hqM8Sw!5gY@DCUdr@ox*T!k=a%z0E%u?ry3h*Yxye_uCSnjMdHbsaI*)3Gd zS|f5#0|wto-PD9iDzYd^osbYhzH-Jl)&Q)(?k$Ta5ngStQd84krB~_4`q*g7IaMZd z_!SFZJuP5OdPwJ@KqPLchw~4?U)tFH|=QXYXr5fv$+uXFbo?H%!LtHLfy|TCXkF{m$svmFF8^(Qw(Zp{&bL1iGV^S2^SZe$?#1F1-k|P7<*X~wD8iLPmPI(&7Ylp`+1VmC{;;W3CP{&9$ z_>NHwp3?OL8F`L5^C!D~W)?d}7Gii{52?g^OQwWz6rkx7?#N;qbGsDzxa1b9C%F2ZWpZ9>19-vFmNQrpE z^DL13VZy!`(>)Tc&|JN}qCsT`YwOERsKkL>u)$`(FburZAxqIa7{Imc-Zs3!U$w-P zy&1e}`6g*l{{$xvch&wPOUAvJ+Ou_0l*|ml$ZsWHdKB5B!0)1Pr6%th3UX!lPUi)M zf`|BqG~!KI3^|T(TgzW(#v0-q!`l5xTIJY6t&$n1mDYRw$pKSRtX{qN`RXi+ysZo< z)p1yafpi4{0R1*<4&8|47S>{BrZMf(xL_g|p`Z2;?U~TON^(qGJ1!dX$KibMgVB*99{5hJnJBJ_;~q3DFs1}PKxi}k3yG;r8~{z zXh!}4E*681RzH4&jfuDHtgZ>Vlql^Zf<$NQEX8g|&P>He1~f!e@3fNJT^H(8M5^{E z5d190gsS%4ZNp5Yg0}U}8Chz2v{18CQ8MW?m%S>4ix5MAvLBw~H zXkFl*SVZ+s7mzD^er(97JSpX87>cJ*5HL_j_QkyE=zlqQ!C(A&=>$p6@^;1@MAeq0 zDzNR|Uh^M>J5Sx)n%f>mh_y+Q$7(zbTu5*4+;`E@d=~}hrV7vpOLMS0juHV0pz>cB z7Xt{iM8!pbCK_ee3?@bwv<>-Kb1x9RL}o>4Zu?fZe5a2U>{o=OH_ zj^MyC-4FcrQTXoRql8kF_%5tT3^c}ZivI4A1+m|f5U=VX_KojGjA_{jt<}fB7YlyzO^WR7O&(1 z=Xig??CwxBfDuQAj>TU9SOB%*blGtAhvxjE0ie1dK0Ea4Q@(*iF6lkF`uZ5NJ?;CS zR}+N`axv;7PODqZp#f{(zE$a|*eJJZ!r@4MQG??b!P?II>Mf|#1KWP>xyCFV3lC`5 zZFH2xn!GB*6{AMn+xJ-D;Llhe%ZSU|WS0Ga3J4rxF&*xq*~nT=mI}f=m-RzD>9_Shxdn%(Qgqap=bfEz+r-23v-vH$*yl zI%85ytg2sSfRB8kMsLkd;POnL?Z$KJ5ZCkSSz5LFi);!QUkfJNn#VtNP33+wGQj&4 z4hbnu^{N7xFM6OH5&L9QI~NJ0j`H*L5u>o^2!Na^s|n-0Crlqa;5=2886EItm~=OO z@%m{Yf`f=>wuLS;eoS`&pUdr%f)d8psuF@>?8p9fyt(%J?_;C|w-cnp!(aLiB3?>T*i5G^IoS&Z8;fgmrSShj>5eR-=ml ztcR6&QISz?66wV4yWHrmIA73%Qm3hDs3q>^l}&&PI{ zxMk@S$AktezQyUKWst#T`9Ht{IMlosuh*D2{;tz@N@16Mi1^n<^^It;a4KvorEQ+XrAsG~UI4H?{tW_LeE=ei*o?_HR z(0MX*IUq;br7FrV#?&-%z{a(a>2>McJX-e#ODI9qe``9`LL-UFZ@ zCJbW^qCUX)_tLM2RJ060aCaLQ1M_#NP1UWX&9Zd_B!n@C1-RR!SvcWRvgyShuybhH z*;rWty|@E*)uZ;Iw4_t0uhq&53Z}cdO2z!*ZXLmBwb5Em9KC8Q&4YRr*S7!sfbwYA zALZ&-4mPGNCxV9vu>}T^{3+tX_GH52M*DgXao1bj_(T-6?lN1Bt9cSDA0~;ROQQ}A zS*4Ge_@**pnHZ$(OUd+M={!_IOjCpF6YqV0kJ4n?%GJ^hKDaj#u)hPK^j58rH~Fok zKVe0@R-=^igqWyr|Gp{C@@~1axBZ%yX~0i3(_jPEq>3ckw*pcwMSJKP146UvL3doWGg=2vR#qDVrYbG+QUxp&d0I*-vl`_drS6dL6eEg z;=IO0cYmRyvs9b0irHeL^TjM~elTj+<}eK8vtMsFvjTr*k@%ifZ!_y|gXiZc6aAK&`kpsQ1{ea%&)mmPS(DHgVoo|8a}mt@UKkwjRZ-PYuUxeFr-c2^8VEkb#I|S*50t3G5n#TG*v%gB%__ zQ#8@>Co+~+EfgO^(M<&{@|<9zvejYTiFmQpw`;))p!cQVbeJzwKa9=x7CB1^b^mI( z7&*9F(48KXU@!)JCDEEJ*x|B-x_XkM3QJ1R(0mu2D5_OPEMVbvbVPoJFY6&I5#pRo zWyYn0vo`_oh3z@V9!0q3UV0J@0!6X*Zfd{t%R`XW5>@(v56Of^;TY0l**2#neUa>^ z0<=P3hJ@`o+ncI&MlVT9Rk-Hri8cM{Tfcz73#+yLHf0nCY2hHmFcUUjIsP>=p zxha}NgxI)yPw&y<8QbQ#wY@Yab70vsl%s-5T5?(%9D3v{xF58=;nnD+hTI zmj*7vTI;LXW{?`$clXkmcPWE?ULDIA5DOey`|+0XozhAn-iHKD(%;;=(;ROX>vPNc zhfTl51v_kQuJR^j&|2iT_+JOON?|#a$}&v4XBvEqSDsGQaM$lv1=lCMQ>osXFNoJ> zE1A)}YOt;SO)DP^)_l4R!^gLMkd9)A&P~OdeCZ@~co!0sQ_~Ie+;m`WzMVd>7{(e@~Rw5KQ+i?9pd!EnVtF8O#=}&>x zx7LN1+tbA3w`$InnKnnf5mW$Tv06Sc4%b64-!$Ma)+V#mq*L_u?^JO^i;Ykw9HLXU z?S_JkPP@1JNWD+Qkm|SrK9vOQL}X{1UypyXsgS+da@EWJWsB{y~xKm6j@ zmTmxVVPyMqF=$h{LAH0YUtw>vm}t+5L_%pO#x$C|9$CwD)tASpv2fI?EG6ZZImw&8 zQn3r;tJ?G^lMGyth7F{qwqS`#^t7}p2}bZ&<#i91x4-&$+A}D@nSb_BtH6RA8gEM` zRkNU7m#=d$#`inb({WTIV~T5~p*BSi)~Rn|{Z;{dwr3y#<2y4L#86Uo$Hmi!Pk9r8 z#3zi(MOg{PawWw z|DgpAZ%d_o=H*Gp!J+)&7VIK7Yavm|jF%pN8=~V#H+BoF2I_J~WM>O{9LI{t@bGXI zhVqQGQ0n1zx|(GowwSoMt6j4!@8@OwaoI=!1r{{Zm4-h>9sjMc9q6We6dl!dO=Q`L z+T=F=f>RI{eP!1%NUn%RvZkZh<}QaL#e)WS9@SHDd;gS-@Tm2(MQ(HwavqQEd7J+& zsiYn|INXdVGEw-gQo?3jr+lUUd`}`vJ1QQvm)uLG)VAa7(ysApEH2L0?w;bbi0^Cq z-pLF$f6aoAEA69S>tGr=`|$??8cD-{E-{yjGP<*wCr6B!j6Wn-}x1gEMrt z$Xs5vj^k$b_ho#a-+NVQKp*|}o&EFDbhXhS5wnb}YzDte$tLNS_Lc_EeNJJXdNOtY z0(Ug?oVFp;=SaT|5>&N){M#L{$gIuT^C03=eM9F) zvLL6;J!&+iLgQ>vK%Ireky1_Al4XWkQtD`HYy0EJkI5{-W1>eiH5FCwtDD6E=1GCc zwA1x9XcDVF!=rY5auPXVORKRIAwLphO!Zt=-%_BMQ*A={%I(b88 zuGYx+0@5M0<7garuu}=_AL2NT)l78ZZEOr8mlh`#Kh`CsFQxUrUq3M6KP&3~N9Zul zA2}^y0tHUlW5OF)WRvu^myWILZLv$NJp-AO;3%g8lV=sMCTaYa_A2Ao=1YirROJu_ zK2uL#P@o*YeB;D|FDz&Ya&@W3MM_<1t1W1I`VmJdGenPqq^XPik43M@Y^-lf7)fH%d0XmAyf}@R~aL zmxf(w*VQFaSkyfEy|t_14H3k`N{hn>UInk)nZ51@mVi7_J8fy(&akl1o_W~ZGzkWU zJ>cVbI9S|%*4*6PMdR_X_Y{TIcWDA>di0H)ac@>sjm=7qX4@8wBc{=L$z{qZya{%r z_BqsMmD2+iV6(?IoItcaX8jp6J_KTjBIa!JyIg)VHqM{!fzrzlXN%AsotH#_-uLJJ z$9TFkvJ{+_|5OJRl{Dth2V~@cfB>)86GG7q`wwZ522?<>5IC=y)+01xj|mx8ng#fwAchRXs4NMw*-kStDWN5%oAO>_l zErWRI2)^+Yl$}k~4G~9-#3C7-zV2eJ-?oCNArLq7(&^!n8Pg@vS2$~mqbWKRDEmSy zq2y#j>5a$1m!>v-&*$vy{E3C-_UbB5igkJi1^^m$W5ztPxsU8X>8)#QWZdyN(tz^z zO%Vg52gTEnwm-(rI^Jgd+4g|(^{wDbFK<@8T|X}DbxdR7iCjKu@Wi`~>id*G4P!=I zUrax2iXHi{LT8n~9=g<64^K~N>y}UV_wh+dMFj=5Oh&H!X_+*^E?zwZK_@TF$)(Ii z1%=xF>6FecpIBKTFJ=&ER^2SwLOQictgu{TrIdiYfI|&y=a!UWf$i;5#b4CFB(Zbf zqlNsdBv2e7mip!2r_z}pLzJq|yYW<75j2qWCj>pq3Wc031PYYsU+Yy|7`l)524GMI z1`l70S~}F7j#k+?pLUar24eV^ZW{g)9swcbz43lqY?}rZchACW7~URmDSMo~9QALE z90<2#iZ1#>&pZ(8zP$z8v+7+T`V;J`5ep!O*u_H(yV?b?#NTu~R5iHt)ipGhH=JV4 z0>$A3o-jlYN_>;70?XJQ8GpKeMBg~r811D*^slV6o6H(W*q85kIJhiC_>Ueyzlb7V zAvg7cS(4sM{{Lwn^y?yzx&r{{1zD zp+Cy;zt>W70?Gua{(C80*U0~$6R~DZj2Z9$dz1MOD#o|5_8E&W|E)lrYsJPC@a)*M zZ79T%{jvDR2SD&!>dSxB7kaz7u|eZ$DM~MUaG`0rs@3D>2RgL> zt-nH1-9!BU)wb49$-ZPm{J$qzgttdHL@?B-Nr$AE1}*C~rQw1%&;D1q9BCM>%u1mG z6BBC5O96C1A^Crs5XtMk|4=fgEYJP_BP0C zGLPG6&PJjWbd^af2=zMB%s832e)^xzNP<<(lmO;c*Nbrq{xt^|8Zcpntlw;HZ=0;F z%2t9BR;;xLF&~(p?rLlKK_0t#Uu6Y1FqJADkdwwTxd-aic3M_W;((2(^5xS=(0v*A zdx~`1U`F+P3~QL42Jt&a&JHvfqSdcfQhCo#1}m+3E2|ln0p%f! z9j(prY{azYyBzYeim=Y<&k(IQ#u>ND`G%WFbk{`(0Kjk&DLirQGgV*ckw&-$1E1SL zqcB?haT%gMR!;ryEFFFTz4t8E!GJ5bN>YZfm*vLvs;3X+cYxev|2zMV@{Y@%=J)`F zSt)+R=;KUpi=5Kt+%wgS!7E5sTXM{+>!0P^|9M#EIK3lR=8Im|HURylS8*^maiK8O zPY0lg)NXL}?#8EQ*bZZnBzRrCYTUlZm0#uRMhYzSkEd$Jy*WiGw!cOuO~c^2I{R}l zW!G{4kRFE6z#>?F*79I5+Y^6STs{yJ_Ch-G17n1Z!;l()!3A8Ug;+~; zqUPxgzpskU+H0(@o08!+fsx#f7xXx&SH1JyiQk^{B5!5ZE-N2fO43!T%(0F~t9Yek zqwHW$tYz?33=H^`m4n-1fpic)na*hef?`0+=zsr1M}xWa%~E z|Fn@)DE2?|;nYEJf*E|elo&&voi6ulPs@)uB5k|6!LcVu`d{iFkhd)`^FG*96D68_ zwUx$vA|QG!tHso1O-t{j(x^GOmab%<6G%pl`g0`=ixwkh>?UN z!<8|bZ)g}hz-ydtK~|+zU9nTfKw*1QS0(&`V_tj%vte^~V5BaHkhHtnvDPZwCl)Ux zeA!=bJ~}I-or%XG ziDc&ED^H94yht8Hu_0N>#I1%G#rO-54et&hPEPt37t2!R?GSmVN%AS}=Rnf1|C#*E zgW-ZBU01F5p+A6}pHe#eNdc`DcG2+R5f%8uRC`XJr*6q3K5s9-~Lyol)3 zy@79_e+E8hNzAR0U6WT#<^2`{ zoU{fgC|&7wvvOU?zl6tSJvZ98w^>q3N`1rp~7L5r?cy=HF~ zH0+j%4cY^ye^CLyOiqhCUsZ=j4DDL@1`Uck^A&}|co+5Y&b9~8ix!CwWi!7R7o2U0Rzu?9dCYkebagUg7ZA^8u?5B8 zXw&lf9i#S-hNlP><$h#A%#)T<{JzbmaBzLO5iEi6{ro)aT5S1EM{)M?Ay>U4HqYt()nxA|utwP+g~ojskb zrNMf>jfKD1c|l$VbB*y9C`@#xv8hPK@P$#n@3fxh;GfCcQzM{Rt}!I?$d0TEoIc9O z4hb3is|?esOB6|wAJV*~&|1{zC3ntgiI^upmI~x`Qc8Wh7^mYo`?R%#t;!Nw!}eCD ze1df(2BQ_DTwIG0-N8~SgC1{|pN0qsOuQOI_BfYG{_E|~#9W1xibol|7ZI1xE?yt| zK-bThvt{fkIJi(iS_)GXIQ$yx7b_e4&1^HriRe573o>Jc{iRi2=Gs3s&+LeIWDBOE zRAzkI|D{gL7K&8fVxIWIM4&Wyx2UV#t9~?|U||Qi7y)_au9LH^+uMx+;|UB`KJ(** zD`?Pk=YbVm)(^MQx{uBZ5EfJeTmWFiW#y%GJ6>%*L$LB%AZ{nOxnw5d_3S)jfBI}D z3Tk!&aKvEjBa0U7!o3`po4`qhoegYyHjcx1%lz~JO-s$2y)Eb_&<*u1q=xC*C;b3V zj1{M7{F?5Z&~2UD(=rnn0Ag!ZpFJjLL7}SN3DUQvK)LXQt9Kw{t}DP)`p+`&<*?+G zZr}$eerB8E@N9bi%w=efws^_2r$$v5m9suwWja2j{?0;f$2~na?y{AbR*yBL=%+%N z_Tvh%HMsW#whsjVx*_Mp2yYx2@JD9CX73As-8F$&F-kh<*qc>> z4l>F`ct0L%aH8S3@(%EbW!=`rGs{kM``)qGrR>2y(dp9S(Mt*MIO6{qak3tqR-k#iy>Kj3rVqwP09 zO$~3Sg<<4$PE*sS;nFeFgHibmTiBw|P(jqR8sFgysoUom7)CEqt%<}&y%$?6OPYN` zLC~&GWyjrWXJX`4ES4$)f$78b0%%h!7m*~3*XJlcrPh>H$6-*JRTu>FSMo9dM-LJ; zv=xpEs|@K-Q45t}IN;NtFP9x3FV7eoLY)}~ zw`6HzDw_}TsutrIF7Bia>e_#V`E~o}pf{AeW=8W(N!IL-Td|VeMjs*`td(~g3;c*D zLsVI~#LvJ;T~U}(xWSgo@$UiRi#i6!pZGm>@wvEJrmgJ62*2`vlR>4; zd6coN9L$M#IvJyYJ<>Y)I7s6>UP*2BL&W@GPCX=oiguPfEx-9}Zn(umdSC)^Rnc7+ zP9HlFhk0>_Wb7ED3>xCQ*Cr^ud-^oa?6?)rSBu?iTHz@~dk~KPbMz=P!?O#}%aA2R zcvy7K93#Q3PBfq48+G(d^@MgRq>;ZBoInQ5x_pNogwOg&HzMjL|M$FIQ(I(e! zdTn;u=ZE)IE`AuhdebFzbF`^xrn{$>Rk3}2-Y=5_eCK0@?~Ea^1=aDdh7UhGPIik5 z0!ZKh*{iMo;6a(&viqwvxP5*=*wN|MMtUxD=}EjeCcIvCv7NvS+@M@WR{LD-`OfsV zEY*XwG>;65dC7Q|TazLKU}v$_{z9Ut<=$FtKA8SwVh28n4Ze=S*!HQ1FND@S)r94| z;eD-QcxswAqt67e;W4wa`cSf#(|q&C(cciSs}*+uz~}2FYiD1F=eF}*9kcA~U0aQI zhNi{7A>@dLapih`G6)K$qcy*+1*Jeve|eTb8u={2Lt<}Dls$=bea5}hZ#JuX(=W7X z)F+#Z`*fX;4q-V??4AGR0ubeIx^*`5ZttRp^{TGBe69M0*=Ia^NZtWdD5N@xP_4Xc zzDw9$L4N$AafH8N{IqI~qf7MEXB95j{<=_H;q`5V-n$GN$BxgFJA8VNB@8wC24^2v z;|$|h1)91C+3EXv7_ffTT7#E?Rn%)8<8AXXmMW_pXgkT#uhae1Y=vlra%iGg7exi{ zNU5$pgxR;{!cg8ocKTv5dt12(+tTBG17tc`3z zyP3($SG`e{qijD_^{3C>{;l+!Q_eFA25(6^d5x$}6P=%6p*zM~$W%ot5OTX!Lwh*C zCoz86gZ@+Ajm6;57s;E%t*A4Jvw5>C7v(&`{^9by_ap|EPNOYn^6oCmMHGplHwg$) z^@1;xMb>Dft02x(QRT{u@^^BB7)r!!NL_IB)tE@0f^-C1!)#F@z9Itq4P-RMZh6*m zDzOzPmkl(`&P~d|c_{~Yx&nB8L<(Md$tn^NO+*=g1=4n+Eo@H4F zToJ0t>Dv+i$&N=I=J4jXn+Hnp2QMC;G;ggkjp`Y?-GDp!h7UDW39M_0$q%3qVy4xg z-*OJ&A4@^*r%8tGOF*`1F_FZWoPko%kM6MalgaiAO-? zLP+Zr@noZx?F7YrZUfW^=CThKKAKqw1t0G`-kJ=?cHpz%z)}dQbbfZjeA-pl73UVy zx6Swia;TJPcVwkioZnSJONrMut%dS!T-4M{F%0Eg?QOTj`sTZ{N&P*IzO!}p4Ry(H zqy+yTWp5c3SJSl(5+Ni&Ah-ocaCg@vxCeK4cc+_#1h)VIf(MtzT^o04+}*wL#(O%s zpZk5ESu<;WGxeiapHrvm>{DLXwQFw=pYK#l&@f{h?Wr$kU{+rf#fB>b#_8}1_*gJ0j8j|stI!3A!Uwe7cd`Au#q6H;8k(1;uKWHlo ze(CTNN__FL68EzYIG=!|y^@N4?E^GkMVF0t`@3r#>HD%P<4>NvaxWWh+P*uxi@kdl z-cRuSNyP0C7S)p_CE8@fsSso&jisKjEs88h!z1v@Kq??0?ctsrXj6;yLDni(RmG_A zY^ZLVns?Z5)!BP~?(kwV&N9V&UU1Uv(q)u)Goc6>shvs)X?H>A)>adr1tKDrNcac) zm{6Ptg2BRgrrDUnUxO!VbPa1fAKFiqhGiQ8iry||wEp{9*$uZLzh(oSeMR|~OjIf; ze=1jD|NK2Hl)iGOlE)|-GnT-|EhLgN-Ahm(pvqqqK7-+X^7FLz^Z88XPc%u*DpVHt z>0gB#`6!3XEo`4_6s!jMQ}fY?;&922Q&*9>1(l{SPESE?ZZ?FS7joY)*{aXjO$twf zjjs3BbQK?bjJB)J^GZ|Q*O$`FHQcy}lm6~T^|keUBf}z#6_#2+p2743O9f{`MGU&3 z(vE@*a<(sN+|Pc3Y*E-n5tRFia>CUN%(|&ou^!rhSC_N%uw0`zI<2WTJ^yplpx{_~ zxvH>8f)z>2p{W^Hol~()O{^vE7vl^e&(IvhMWZ4;Ylzy>fJTg%IVdfU<+@&{9rc42 zDmv2h&jbgP5r{Q8;EQU!`X`edv^32*{SXz1bntYuPN#lI8*HX>bVv7zS1JEx6AZ}6 z4x4;5v5uj7f+RnDjAhXB9 zFdu?MnACzhPcqLU14DB2M)*_GB&v{}oSKdNCn4Jq+xplzI=91EdnPZ5HrqR#j*n#bc#3u;tV@<+5BYDEpjTv}i+=j3XO*Va>l%uOo`Q%yG-RVd2?a|CZ*DOv9#m;VvVC#_NQX{W4fZWSRh+i@obewwsxkubHYhe5yb@-)6pD!nqic zAIPO}|J!5t%bpZsuf@VVVW|BM>E+XxALE_tXN^bBlE56X?_LJPHhBri^&5Z?0K$ib zhG)ngRro!E69_PhClf94MNPVh>TvQ>*w{AGmv?l5`T64~XoJ>j_UNog7vI&MD}-Tl zPuEn}*tYd3(`PgFiXlxD;{OzJi2Yh=r$6Rq`579MJ1%jjxe)XG<4cubG@STKG8U(;D+P6s8tZf!JK$XoSO&Cxqu;Fb zLZegma0~Zi$Wll1Ce_C##b#h0foi;`UvF8fnOw&`u7xIa?z^>D>^o{%Dc}C?6e%z_ zYYWCxO9gTQVQ+(+YG%fkJjmCtrDQFPgR=-I*H}vfG$Bi^Qlf~4fLA4hz;3YZZxxus zE{Eq|;z|T>hof1dA1HyxVvy)TB{_b>vELTff!RvCvobL()t~)04=$zT1-jU#tos!v zc2M}fvh3^zhJWLU!%*fFqvwHl@lRMNBh~U;T1_2p#i(WLJH+slzt7tEbmu|f(9OpDU{HcX0V>z;|Pc85U1@lc?L}q;StMfq7 z=aeyI_G_gjNgGf?-=#{Ky_L66&-$|V!_S=@!Or21ZqpZY4f101SI@e|Qj7oK6vRY+ zgN5Xx&h@6luF%p^_kHUIHNf$mCy;?1gQh@b#{bx7r=<+sR4GPTiNl*Ze}5WP^szZZ zT!3ov;hI8IL6wBICb3Y(|E~Ij)C~zZyW7qlGNO zh?BjrQ(dfGe0To!D+2>6W~hKiez+R5lb`Qr4bUvY@rIs0)+CYZp@(mS4)-I(kM{-A zY>~d9-^g&(Ee!ikn^1A6LaIZNbx8UmM@E*fQ5Qp{>i1z6Smyk3C)Z1gNpLbbg zN%%9mZq?3R2^hu#r;u(!i8CG>Vl}V2;^b$yd&ex2hQ2uhllp7!>ok6jSWu0Ef-$rn=5W>niGMi{Gt3 z;;^u&CFUP3Hy%kFFgi*gRRyVukyTworX1LF5n_yy} zun7ZGS}!7GP|>pI8%D^VVT9lQxGwrJA4-wuw^0Q@zGW&n_wc*9U@08`_}*la*(Nb+rePz_xmw33Vi-4{@jcVnj$ty32k(`H|y_ zs5)i8hGjg_XiKPl1% z4xP-uy`N1}(D#@=iE&mK)cN_*bAVnpJFXH5so1t{tY7>PLM!}wBLOR`$Qy@)5*L^+ zAph(cQl=wG)sb0&d=@3YHLV=ln|KGhliJ-C#qaade3G;W-kS)iVWqx+GMTK4Zc!1q z@l0=)0tAdW9yL`({-lkl(_aA`cxZ21RhKmQ8*I0e4>>x#HKjyCI=tI&0RW!W5S0Ph zpZo@Kyeb>MUQI&ZZ7MiirG=1lB_g>^Q6L-@g6|LGqDAkr8Va$H(tVHS7}KaG$*~kr zo~1Fa2P=;J1!+ZYsMSz^Ig{aakh?MUXduiH{78&olsF`pYKK`G zguL`^#S{*<7T5c52;Jpc8qEoxFp=1Aan6r_`vX}I&O@MrRo5f=g#6bwoqVFz}w@ zOz#VrN{j9r1|& z57kz!hOn8~=|9Z!5z$!Re9{y&&={=aM{g2Nj;R}V7QE>T4J zL+<@o#M&2Q&5W?HuqTQCvYW&oXU`)3rQ=>B{q0KsybP)Q|93=0ei6mX^{||0{}K2N zaZUNw|L~W@NdFcm0xWuB^#3K|%c<4E-{N|iq%uo)e}8XfqvaXR)SD0=Unn@4Z7e2i z#xYk+oJd9xUiP`_9EuWpApQ{$mBaXRU_&ki7 zyb13{=}5Cnf6%vre-clb%~y)rW>QC zKl)2knyj`j=HPcXy+g$jSn?!|0Z!@v5U*Tp$yvdwnaBtYbVF6ujm_Oz`0Jez`@Vkb zHo=8o1+#ZhV0leVO-|1DotyWLh>YoypMEhW`_2$Qu)O^E*hGH2f5$pvZu)Se^M(1( zkcQ|y44s8?=nO%FRqvD3YJH~C7~+faYJ;d`V!PVEd?pCXK{C3As3xbRAb-?q*&iV= zgv?k~z^~LX86nwA^L5Kj<1+OOr2Ig?g%NwClP=0=Z*L!iz0HU(wyaXw8cNCt;+i4Fv;AqA0|f55W(op5o^2^lK&7_eE!hP>vI2=H_;HcA6r-ToC3!4z$}H z=wL){CLVG)v+K`k?F&;Yu}Np zr%ZAvSU<9~kQl>^pi6`bE)%|Gye+ge4TZd|UAPnBq3rCTr^IoDrcgYl+0SpV_5gD} z1JGz>J)@M6fa?b#5$}t`)Fe-f5r?ZKe&khbCx|_aNTG-OK$8F$UoRCu!*{*A&td7v zUrCNs1RhDSpr^jSYW(8c6Wftd;=#%+y0ENSlcs*N`AYM_tD^-*28Iy2ckhgLM>9Kv zF*OU-N{iOLmyOtRFvx;78_+(Sq3cgiX&Oj~>(ehB`Uvk=CkHiVKYN0-dsvBKw(NGq zd_{Fdu?eA$B4p zUs*wcR)fpd=KX z)W(%aFwa%-BM(Z@3c{0!+41g;H1vO{5q4EnP$1=VdWUs1S7nJXT8Qw3i@1MzRJU?m z#FHOB>qOrXjO^yD2}y!EPa)jrP~6$r6ZG*k8AJ<|1k&z&>2veKwVt;gSfmeLFpGm(d4hjYlo0F9aMC4hipRFn~)Ncc^MPoF8Z@Xu&H}y(L^-5eO`M@<%Yy$J} zzx4ohfQ38KZ~v~!(}2OkMQuuvY{6@AUQ7>9#4YOAr=ln65r7&9B=-b zQ&cYr7Y}bmnCWxw8D?libl5(xyRjH=Lvx@tgZ`O+lopAue0UQeyB&n3TBzo^;-M+7 z^-Flc4W8;l%gu`sW6GPIeQU8;v0KnDVVG=Vi&tCKv3cwT?W>76q*$x4H>JY+Xr*krx2JF@w4 ziFvDe&<7o(q~1@^>sNq9Z&7cihw2NY)ynu9QBFiFmqje1MO9;Or6k1-b|veMW=*)# zhBG2*Oj8om3Z1vKJ7o3X#u8#{r@|?`W!f#y!~4S|ywE`rdm7#?$PVTpHr7UMggDV` zwx*|lLpAAvUA`!j*bqN=SGjnX!FAjGENQLrR)dU#0}IyPRx{a$m?>Chz4v5xPOEwEflq7=BqYH{-9_hJ_VF!F79~3%M`rGf#g1 zs`ae*8Nz}FU#!2)PLs0e(&@#tKpmp$MN?A}T~7v|_%Fk*SGbL5?wdtLMQJTB#e}mR z^_{tBMd57&O+I}gA;tWnevZGm!xQ`x?HvX~=2YMLr}-NzkHs1SZRGHVo02?F2CIiz zhgTe&mJ?;~g0thw)9^Gd8sPBK;SBg;5$adz0%cdg83(5IkUoua<23Kx3$3KMwXk1z=WD6= zes>wB+GrCsmQt%$4%1n>yK&l@OhXmeNf^x{4?Qbc8HWCcRt^Rur!~ybN0izA3o zf-9G;|F$5sb?=v42BR{rc96SN!N{C%!6#Btr^)Z^8?-sOG*Y*Wi^r?4gY>ut*t+VY zrLs;ULohC5GQ>>D4(!O$#Wsr!OFbLtGHYH>aCp}m!VjU)6#?EW7>t(ULZq>UF0&O>L+kG&OL$cj z(gBI{B~ak-68J0>E0cr5WYSr)`Sda48JWJ@MNz&lcE$S%!<5Raz(k&i8?T7qx1X?o z3AEH5#p48~%rq5_KG{g*GA_RlrNmoQYl(Xv5z_bbVanuusEkZy*}HScH~rqJe%hP8 zPK{w|cxLJPbO#NSY{1~`Jo;+kV-1m^p|Zpp;FHet#b#Er4iCDw8E3Nrg`H48(}feu zIk-@ZZx0H5X5~D|ac7cp%x`^A(9wYV7_{XHQ^9g(*`6FW9<{Y7x*5C7x2Hetd0-3+ zS`?&&m8HddN}wdz-&HZ)JOYzdci8;I#k*{9O8p+P)4n-)IYJf6bVaW_ye1r#B2nXT zu(A(DF4K;(k#m!&&#u3`^mIglsg8OTPoEHpI6!eHxF%^_Q-IBgi7qRGW@7=`DuZEN z^}q^khHnSfyJ|tM4NRpXH9?c&ZWq@vru%Io=-P~8w)5V4WuARPyY5FjVPPQvu zF@EY_Hv4u(R1DG~#-iGn#T~7_eyv?jB|k$z{9sza)()e! zQ1$CT*x{1kfRrrNWcqA3RX4<5&31PVu~f5HR(zIgBUu zWw}$Ks*bO+n|+57fvL zV~2`YtM6DI3DI}upodJz?CTvd{*qOEJH$c<+L11L6?HVnD)PB~R@TE#AcvGIE4u7^ znP8=ZE(-~-i5e#Jpyts^^WeDe#p=7z@5Uj<+M(hd^>5!|M+8d2%riZt2tT$ll#*_moTdBDgg+3ry?Em#uC5sS`StCMr;JaZ-QH-D z3wT|)r72{+g3gH2s|?2md%rr)ETISO*mZLBq?7UoWp4ALS6Q~w#1&qigAVhbgk|mS zk7)=&D7}w~b!Z@0&yWSUwKp&P(|nGbI+dDZ>=v7McYhq@Z;Kv#?f6=6#+R*}E^zn1 zf?|>g8sE>-SLH{CTsk*aoOV6ab>3#@*_z(10;NSbuCT{+i@xPmQKF#mF7sVU<+%FF z>sfZAL|#{+jRwD2`|WUTIt|EZEIB#E$k+6*iy?LK{S`ixRNydU*(z)KkT9w16YnuV zD+rqCsiyX&344jzdRN(mj)=&r8%hO~1UHfP|i9u+_V|SsT2Q$&GZ|(N9>;5s@ z?vkU1?2WIk95kBmp?9rMn-y}qvEX<$GfZ0VdDDN*h_e67RT1G=eA3y}H_1R)O~XW} zi+Uu|xn3eyJooBqB)@b8gDmg&nihbeEj%GPi1>yR>4WXn)T--12ILaWQdR}->(JV| zm+|UU*xF_ADLJ6__a*(}F$wnbuf{~vmr1{h1^7M#a#laoW=Yi>?BuI6QeEACzr9~t zh?2uWi5wp7FW%~{wLBKdB8u5$HP4;zTekjo&#kij*~{y08Q}e7PZ*$WLWGSjG5!5w zj9xb3x!CfweM4;egOug-0zzAWx-g@;cEbD2Z8Pt#)iE5uq~r} zY2tRRqXKv}&x`7r3M*Svrw!<6x6^N$XxDI0Yg!l5?cDq9Z!$3oJm0o)`Zd3}l#~m6 z#t|e**ATX-zi@!eJXl$*9oaB*={`CWSq+A93QDHYy4-_+JeQd|Jz%24L%lV8BH0Pc7s z;Qqn-_YxE9?$e?VH}T##a6hjdwv5GG7`jaIjZEp(UQdrOA)*LxpvD33IP4~LQ^zoT z)+2vzMf>@5t#4X#g01FWe^c>+Dayzv-+WzPSrLuPanUt4z1f`oUH-&THsgLTH?tJm zq{3!H%KvUCCGPi+UISykb;&)ve3b})t| zK|Iu}dHr$NZqLf(`wYQ#OfaZEFb+k6M(H^Hp*N;dY!LJNuq>L}Eq_PG%}o(7w4&ll zRLsF}<@Vlc%mRln>3e*+iC9xD4!J_~>u3zjS7>SVvp~}Nd>_4LQX%<|6BWsaTMyHS z=8lAbFo*dDU&M;P{SlIZJd^6R;01mJ!}|3@4UVU zK~s~}(#XPy8Wo_2aG*Qacx$I{9CQTd=8D_o9$(=dC=pEGbzO#@s!CJI0^C})+>Z)P zaAbad&15juj*qM#P^l6T`Dn>dwAQbqZlV$Vf`NMYsVg^M)~TCui=m%Mjs{IkQGoA7 z=nourCPrekaQVm6(4}e)jVyG;AU=ES^F!C|$Jo^_&R*G%f$DbUb`C|dDaLWl_wjcg z;b-}`3^*0Vciv;-y(ooLOpMOO354s&22O7fHZUgkLah2@sqbJ=USfp#Y-fbgaJdAg z_Y`T01SBMk^`manyn6di^B$Hn>u)iYsba)s`eswIAEAS-w+Z-BKyXH7h`3EN>2JC) z3d@3tz=GO;bpZ7aAi_aB#u8STrhk3W{Y5EA1#Bu^osg*MS6yT^e$u1+nBhxyR307o zAW@+{tdPBb9n0Z!R?|WTFxQ+@AGzyjdbyy`OSD4v>iv7WVocYlrL$Q|nb}Q(bg=Dg z+B`_g@Xjtny)1fkE;>uYb^nUZ=%Ujiu(jT!_>A_p1>UPOMb;{V87$Mq z$=s`eD}&8rDWg%9jj%-4thMwtKG?nU_WARqI9zz${tsilBFXuUV>oGRihL6}`R%W6 zgGzVdsNQr?-M4&tCxI`^nA`|e?a81^OK1)7llsCywUMa(!h_E{5NebRYSep*c0GU% zytKFk;cfbMaKFUl=yceBYu*!2W|dyrNK1na_pQKB*T#W9tid;ycw9p4OoMFb>@Ja? z1}ep=W+OB-Hu5XspwO0xN@I}PKr9{hAP-|#CHmaCX%Jx$VUh|<1;Gz#BHAsYpzn=w zz5AOLVy4gHv3n{?rtdg-vLn^+=ty{~7(|h`lI^-=Yd*dY!;#>|mxxiuA;Pv1j(5!) z>G(OxC>Fqto#2ihQO8IAR+7y{r6jMyrEoy0eVUDFa5f@Uyd;6w9;RMCg+3TNHubJ< z_Z_7sFM6>!gL$s3x|n*g_`u7j2)VI$91Ms(9X;%R(4l4xTevRr`Cc881Fzfdcvua= z%@Q{VQ@;;)Fj^WK0pT!2Lrwg;*-&Nce2dciDvRzU03JeuW8k;VeAL|iO69RyngZhd zmNk~{WO{w8E_WpQ!Dq^q$mdn)WkXVL!;gw-Q3sL}+3?7X8ncx^)z^)1o}*&Hbn@oS zz|$q%tkbSDTC!!XlRW|xt~Fy*Z+j~&#VYHdZwiA^Nd|-U zPBVI2GhB91OyOQ^?Z8U5Ucu>}E%;SG_#^a4=d|qQE38-Dq9dfWPTtG!XqkOB5BLyh~f~67^eT47nYL+j~s*jW~zloyjd} zo)tP`SAW3$*sov;)QV0XX;8AqI@x z(T!=s^UjKvq`=!rDnezt)Ti8-LzFBnp0cC z*E{kjEAM$%A0Y*H$)!fSzVI*?^kwJg4N(#wb8_0TA3Ht<&t22BjntUS*0Do38t@_B z(+8KD`tDPW?gxr#0>14!u;V3Wd^s7J{xCd7uXN93QCGdeqE+m`KTR-6=v*lDDdZH~ z`513Dw8zOP*^%U}jO&%Yf%x@S998hUJMWAZO=AC@9MAqXUorLJ*jIH!j8jB(++<@D z$+?9tOsLm+{5y*Ot=?^y+=kC`Z$DK;?M{S0{CceTL(B%T?k3+Wc4fHFLt~j#i~SaV z@Mh9Z8WoiTqZ=JLa7q`(n(np|Y?>%MD)&+RE$a_Drz_18eo>&okJI~Wql(P4FV3Ek zevk2nXWK3kt&bo$KDV5B4)Mt$9Gs4Gyf-kFwVuUF05Glnr5dYZp_H=6<-hI)HXnxG z@t|WtTqOoe$*c8;W80kPa}God*tE=rR&!V>m$&u4ALVUyIX@lar-m3@6%;D3D6{&x zF5p#_dNbZq`tP{zTTF+{hK%jqldSXzW7F>NDUJi=SHe6sBK@<1i;bO4SDo!0qyZllN%j@@7#)yvU3W-2jbmuWr=v8?&XFPUv? zXU;oWF{v1ceRl4Tj7HquH>;Vw9f7j476_ zmQ@}2{cP+JogPYCp&>E1l9)t{3r!9)l0YL#_-DKcjtPfF&3zKQ!r}gY5j-w7Sw^)T z@*(!y%l&OiW5U=QiQRhp-mpnw9~&xccB&7vemT;_0*g}9^{%EyDg@uMPb2s9MudTt z3|z{rcoEe6`Ak{Kgp&IUEhz#!vum6m`kX z69I3w)`d|rfjssSTASuO%>zetfi#D!!#VfAL40%LPcW^}0zO>MjE|2aJR6I>`JOK9 zTRV%EZ|_MY@8NOPfl1H|U+ay>+Y-OHw}p7PNskVpDVa#lf1R_t-2|}~*%tZs&{nT$ z7^i)nIZ)1@;+iBSeTnn|>Q zNKW$akn2s6iYG2X;9Z6R7!ZGpjhzXS)dSIlp zv})bhSfM>}2O4HXS;0y&uVZ6Ntj-N}QQf~;<}Azvl0Ks(_(n+$W`VDkK9j&N{KNu# zbyYY}7?H-88633snili0Pe9u|hVB`~#)WzCzy?iZwDO;w`|?K$unBB`c>7UxLM%tz zjB%;fBwEPyzU^J%u7g2X*6l4m8FO*Pkdv3kt6pcCIC@6L!Qs=5K9dS2#GG1O91+qJ zO`h@N$Le*F1_*JY+;^?Uvbp%RKzw2bFfasFiNNn_FJC%cu*s4PP?;@OznL_=4F&4x zspt^D#r0ciwpC+bb;O$Tc5fkb*HI8#8vBZb}UHev)go((@IF=vL0XS4Bl8@ z*EuX0vl?I=xw-zXSb+2P*DC&5)_L_AR8($I769(%dHn6xM-#KUW63z>5|ujO6u4#eqHvnEp$=-47abj~k=^~wOEAGo zsKtL~TOj3K>>_U#wESy~>{Zr~v>4?GwBBLEZpSCwE=fM&=TGtBjM4Wo()Vt_1y6h7 z=nt7yR!Kq|RoPV^ZQMjO%5+^RSTzej%ct?lFdU(JTm0#s=HxbhR8NsoqqF&?(i}u* zlr*#Zy|{LyNuD~bjHVCi_XAWnIlPUGbdPyo9DP^zAQ1pBjAB@6udn#-Pqn1AP^b*< zsMTm&Srzn~EygvV88S2?j-z^d^hM3v9ravFxkNE+o)M|$?YZBwu*Lp&K`2VGBXq4Qz4qWdEK~Rv9WvJ50mYyVHR*-_f%TdL){r(UsdEUE^hY!ltUk`}- zGx>@IO!A;$kXF-*s?x|`!Oo#iJ7+I_Cat+&Bi7Y?>)tF(OvTmJlV%(>B`+HE$nf!d z&dDALJjRGAvKHfLH69;YV>+cYH8l_11jxxVYHMEVN6gvP&ex3WTa-^^>z9AF_K>0zUyDoROupp70t^0Cu* z5LdoapFgw(I`pxyiq@SB?TLgwtear_RZFL@6`%8Gw2pkPqqWt%T6?Ck;GHJ+Bn>sz z5^*vI>7*D8e(Z}0cQzT3uq_CkvKU@$rFDg;htJU=>A7e@B>p^v2rQ1$=}-RoD}Z0MNK7ym?9Jz<3W^ACyao%erko_wJORb-p~=RQJBKZeuO?LRpo zr6vDVJ`famaboAzGaIv)?Iz%#(4BPk_hJ37?_N$#sUPr^E|r_>OZ7fYuW4T3ar+d# z2-k9h{fdf0C^aL(JkDUH51=ho+coZ%npNxCpOh5C>x=o&h{Nq>QeWy{=^M+hXTSI3 zLpw3Z`>C&x$J2~HT?G% zJ9U=JeW42@CH?31dLQb6wdb7!oPQG_eL?v@6xa_T#2LXq!E5x)VWGaC)m9e(^)+c(*P?g1OidYpU|(ykq}qrB926itO&p7 z3ZcRMX15#BqOoytD6fgB5Cf+oRq3oVKrf50@y>@RXh)j_fh1;CiUa$)RFkC=#P^ zrlz6EtFA_HKBRmaq*>k1^&OUAD&fk1>ikP7YQDYUQ>m?#VJ(v;|H}Wrt;B1Dv)&jqB8<@3mxM)}IbSD9u;FdJ zEi*#+pbUs7IB=@Kw>)M#PDsXf1ItY$h`~KO{pRi+j}?B@$r&lwO*Ql?5_wTbW{tjZ z4@aM_7c3Fu+A4XxO_}1av8$886lQy0jF$S8LWl7jgH%|*v)}JqV{cF3o$RUhpHFaN z`4R5!qQ5FAsK@r{Au~hd`YLCofYzWSa56mp;?-2j_Da>o z_NA!eOvVmvm=%bgMR|7q;jM1wiPr0_p)!R30v~dmZJuT!-IRZ^O717?@)P<59cK)yu zI6c3IC0M)$nEe`A_Ko38@z$PrGgqWEWwqh6n-fvJCOn(%FQO&< zQ>t2_T`-=B?rDN3M&QcHIN+O~E~NILvvYusScibGO2W#!xPG^+6Eu7$9WZ5Pjw?&F zP-JAv{b?yv^if2}yj+at5R8}q_bc1BUK*mbGslc!5|5N=`A?2AN({b<;rE{~keK&s zy|fJpsXsef0W=?e`AD&YKK(nUZb?vZEO=1&cDiif$>SX_DX5A#GOUZpbCGL$3j5Hz zeDmS9TR@$ywH z{*$4@BU{G#`rQeA ziP97j=aWQrsRO$nAMXrr%*9wN3Q8M(D^6cQv#qRd8S*;##Z;LugEqfqOm|e%T2KG0 zu=|7!*9rGmb1N(&Di(sA@cMDbHfBsk)nof*S=Q~nH%`8Qitt z!FT8)QJtmE`)7(-t^Be{w1_kJq=JQFEqF}d>Eq9BkXVPc4uH}Cwz9gpw zj^4U-dH?O)lxOC8H+e9F8|#S^+S?bVyi>n&2F?%5xvWmE$v~}uo$zrYobkA9KN1m5y|-lUy>%H4=W{o8*Q!&snCWm6 zVM$8$);u@AdZc(5jDe<6QTTCd}7W667VwgQ5mH0%tMsh^Wt~+$jD& z2NRCpGMcE%x32G-9k1hfBL(jbZfYP)slTc6DOX@&-brxn3%Rq2bGMXM?QZ#dSToni zj@bswpApE3NbC%K^NhYGV2UQT4dnA0dbQBF)Gb5w*z;iPDi#b;alR9esnTJ>FI0h2 z5`zZOFWp^QI2n{>^&6f2}V$KO7Ck8lx}x|5_ddmycey~>iWthMkU%cBR@~~hsaQa zq~}bxOZFUvmCijRd-=ZyQi<3r%WoeM)(-tbe`oLvRm7wh9SgF0dYhqtzfkP zo`-jTDmp$DFf~4=S$(`;TP-HQiR`3Z#csB_sB_;5?l1mPtex9b@eO8@>3M2 z%RybNlbW*Qvx2P;G^?Gk^wbM-fk(Y_y^zUJtHWVQ@$A`_rv$sO7%qB@ zQ2`s_`OHIQPQ~qy;})~wQizAa7g`OR&4th7?nJqc6MURZp#h%_%{7p%sLA#d1EZRD z99CN4_iK?`Ch|QOj5IXJX>j)yl@+o**JEOlmi@l{vex_S{4bUcA$7-|KrgzHpy5i6 z_(d|-&T{drUF*^3rXZ2zq9NIqM(1$xl9?Zw19a77h%>WmRZy}Rs>tjvXE=T?;l zpEjpr(Eb#tK6$L=N%Qg`f(N`{e<-I;ak0fNi%{mI5EDlyihjKB1eY&lq~he8^tt$r z-IEgr8Hc=YSF?2})+i{e>=RRqy=plJPx5vtW!z3CqKyNRYeTthkNwWdzAM4Kz!{Up zV^*~L?`d&{9W zO!*o)@cZp|`Nm4MHUrxKK>Qc(oiYgu`! z1`!X=ZkVWpU0iEqgh=wjk)*MN?M9Zw@-@i}F1vX%1_Q_uZqbIt+JuxSvPWTLywuKv z<2dRy9T_8-(N)F^Ak*Z__NiZ7HcL{WI%Qm%gd}w@w~4b0#tNy_OL~Hxtwz-uKOME> zfzau#8(Uf(h)wE#|?R zP?p*-aVjl&o}?-OvTIE{4K}+Az|JLLTE&zfvZW3#tWofkIep}>ytPMOw}%TpEh`T6^97QDgXCUdvrBQM9O_ z#kGIaoy(-@`h|g1pU=fNMyOW5#CL0EbMqo)h~NCo@Nga}<;8K4T`2quKMqgx&BXqi z($K!h&DES->*L8Bw`|Ffj^!jq6SSg%9i2Tg5N`zaJFnr6qAZ$Z^*)V_8#%2p(u`;%FdG9p^0Gl24LLJMdcKxrB=Cth!rV-Kf=7-MaXo35&K>rg!27dS*5cEtvl<$}zB}*hS4L>5 z5z&*P-fm^wqRo%{$)jBjp2Jpi1D)BZU|oYmXJ{8)ZbXnC=Ruop_~YT_Xh>DlqA>5s z%~CDvMG7vWRkNV2eS(^ii__FEYZ|QP!a=w@Q=I}d&?(+6X znr~DI+IG=6YLyxRZh`gn`#ud#9gQB4N#|w2ySMx7uB z1ker0t?gktJ)M#!QYztF$))c7yG^trDO9_K=96FOVX%~1K0ds~!b@klKAcc;M%ato zQPSh6VfnDsEI^@bMyOFbRRi59Of`ys%)}brIDLg-d2kRKvQdw4OI~9;6GhA|o2#`6mmi℞$wdzR?@4$q-++>;uvO31_qkG^>&xa6m==%m;cSKZL}5Eyct7h~U8Qew(D} zR?cr}W26yh6n?xH(2xDz_Yq0#zprh}PT-&&)5>8G|(B+n?{aS;{7ina%J1m1%T&0GsB8Wgu zEs-m*1JZ3mirUCgDHQgn$#UN4VK!*Kp0_Pir^7{PU8@zUEpI}0fS7-gllsG7@_B!- z3By+4WPx&DMiYb3PQ##p)9Qy$pFWwGtZyap<6uF~5#Ac#&Rh^?7OLh0ujVXai>{C& zb%d=FPBPZNAkERITonYY(9_$y;aAOq-tU^IZeT!0O1d_)ZxaiRy|NCXUjysKOC zSeUP|WyVK4`-|0Cv5t+6QBzZsk|OKT@!2;GRw7&$ZJ9r~k>0)TJk&~1P*fZl9A(@D*(jd5T-!}T-12kDK`m(LqfzZy!R8!bpLz%`sb^Y>$PiqrNzZ|BdPq{ z+}wylYJRv{Fa+M17pe(Z3=!Tf)tVz*UDF)wvi+&x-*WABuu{|+A+bbtEiFFV>Eg}J zO+;%(M#JyhIzu7zTD^m|5=e~o_V&)qXy&R^FfIRWib$(O94Nb$rQq9r(y^c zq7N4V$Y?gUw&Z>%?FfuV*!N1SWI8Ge{&YsIRXpH$;q)>Zk{vaaCiIiH-QsXeNajyqja5NJ1QEIb zktDnpmX?qt&iw3We{1cF9D1zfZosC?O(&)(Q@ku5YT!fBHUb*z4ksuxXt^x{l@9dv zjaqS$k|NHYA%dPPqF)eD#YiJOOKr3~;-PleJ8vKet`O<$u~nLde}qs(JTo)7PVbH0 zNr#IX_-Rb}^lwBPb&2^|1d8iF7@?lupK*23p5$*F!rgUhE#TD~iHiTAlSpN&3%;6x z@qb$h;t|aM#TF5p(SOrW{U0zva`nLf`}>Oj2ci6b&850|o9Mrx#}ia=i>JEQ|G>Tf zg*W~$6x!zc9~fDH?Ee8fIwkH{GH1lX!W#8=llJ92aFZx?H4JWWf1a+xYvQ_w>w;}QV z5Hfr!etMti4*>y8kCR`|aSxDDzOYg{Tn7C9J>F#_W*RGrzDHWb=bKw-#W1kg;A#l8 zj#S7R3+(BF5&fE7GVDPpfP<9k2$hSg!g9={t8vMfEA~D(D3j7o-J)1+T}_a0>Wmm* zYHF679)Z8*gNCr}wd7T9f2X&*1cgYm;UC`J)lt61N}GS&8OKqH-A9R%Kgbja2I))4 z$xL4z`JNB%ODI@H=fo7Yh;2qTh3mPux2K^*r!j%5D)-y^mOEANB#M&LQW1dWT%$cS zb6vooG+b8x%u$5BRPwj_n`7cLmule`uC?5Mzi(>b7Z!bTs(uqD{`BnTqjJlO=;Iar zgHe7>%8BwO3ZKdH@(xmx+AWP)-1pCD6-o2xT}765X7naNcb-R!DY`1AaaPYdaC|W3 zBh?d+Jvr{!OsO?#MF`~ezfeBnaB~c|QO~ilQ3-rDGHkD5-idJWD zc%apgf_37GKB_9V98ueA^p;;^_JSX5f0w*ct9N>@Z<@UsaTjB~sNdk)(ok-^eDNsL z$h`8f>(RI{`!>dkziRCPhH(5Os(aJO?aN>x4SdXqn~PpQ9NrrbmgR9Qd*^Ko1AAgj z&Ps){F4SBsh=zwK)C&Rv{xA04GAxd6+ZrVb!6mo_cXwzYL4yZ(mxkc(lHeZPAq02V z#uD7!-QA^u2KsjL?)~lk-DjVB_Br=E&;4`jS5r?>tE$#obIvu!m~%l~mSwX5w%tF5 z;Tgr6!k+wXLwcY8_BtJ=Fw5@`erY5MF&Rqdw_aGIeT9)=dv9hO6B*LywFTC%i4ZHE zV~Ydo3m9JnJhT7cFzgo-+BS@-UG=nAk#$;3u5^=W_ekNo?6Y}>kQnkYk#+svQ*w`B zkew{5EWQ-#q0AO7O5-1I6Wv}Pxg z5br0Z>hXiyc$CAJka01IJIo>q2y&K?_05uEtFxF2$nrdh<3`3pd~*D>UCUdVQb{Z_ znfLHOYTx^j$P(=E62P<7ZSINO!xuw|A(dk$mjYlO&k7mhYiGU%jqTW*5C~{!h;L%#K5|%7f%&m3lMixD0Qh{ccQrNl9=1C7-&`IQ+MIONc!{Bj_UJe? z_N~^@bg>=>Bj(5G-dp`1YtTu4wCe2~mRVlKbJFDBHaw{!kzv$r4XH6-#`i42{hU7N zBN2u=^a@J6A&rVVrGPpcQ`bBpD>iV;rY?VAt6$Xmq4HcdTsg5RR+L6o>@E9wB3rZOmnWZA4I&?-hC6c@ zGCdCc${xf*HIJx`yP7FV8t_7B?Rs9I=}+s*iz!bU>3Q0Z8+v-sdGI|K+iD|Ykytcl zWiB}Vl5~WPNCEM>+wg=8iEGd7$~BfRzHz1CD6)WtSX2N2d=fvuX@Kt9En(kQZWsk$ z^I=vvL2OH4r)}3}zsN=dh$|jsSdQ$%4)NM#XFn7+5CN~Y^LG<3ITcbQi2zfWdXxpY|L)^BP4eyi4l0YqonvhI_bWx4`WtH}Cl#9F!*{ zk&QNiKK*Ul03%exS$36`U(;j-I^SuVD~reHaMclj9$0!kKJE7G<7D8wNT`r!P(?Mk zgVs4*jnUaG=3(Tprc2FabWwA?OISw8G&DraG2x?_icjqlH`m8sv`%e7ExHf~q=90~ zh#)11G%IjDB*coUSN>A$EiW&Vj!i|(^vE|*L@e;eUA(Df9F zUETIL;mH6#<|4ds_&kK!K*2%R(FQ7o)+&zQgqOD-SS_Y<+yI;=B*gBsH$4hRnHfAU zp%`ky<|e;*!lT~s5rWmwNH#~aR+@6+L%d!`g)6%A!qJY*z53SnJ|JGl6HwNR>gV}_1QiQba7OE39Q8b6VYeBvg9AC{glTHSvoOO#S+<#h%a#eB?e2zM6x(MKQ;x?GgIp)Ko z;VrSN_nWI6V^aKx*FZsGc|ZR{6OdT|iX5&|N(`ZC)0}PTGRLB(D&cS?RIpj`q_1_7 zWWorH!YBAFJi8#u)0+Bcjn)`J<{os@S@;zqn>-18xY`(AZLMLgY4ZZtf5oq=iV}Zm zDOVO4^56+XMo}$tUT?jpqIpe^N4^50ULZ*0tORA=B%v4VaTqB%TyBLnZfwI3gnk@9 zy}`9rm|zz(TApEwg7F#{KD8AQ1CHU=`yP zpjF5~%N9D0qVQPUKUzXf-XlDrzHVa@a;v0{-JEq&&((|VGCBUlPA}lG5KA(~Zhg%Q zDZY*P;sfHDep{j2vZNy^wk(B?Hi2zCYH2S&~o2gy6ToLaB(V~lh?w46(a@g^SHP|9{!PBUE9g+@gVX} zZMSBXoKxJS2SE^HnuNX*vnrHA`T2a$2gk|sY29cs(Hr#&L8oQo3g0Z_E)K%q%P(eq z4OqXwn@XR%7+hd#N0-`?E*iEP4Z41z1me-J!@^e$ASEth16DlIL5|G0$sg-`B|OHX z0A2>J)Ew%J533K_(Aaae_7nvnp6oq03*ZN((0L@BCT`DQPxWMEOf6O6rcZd4Wp&Vh{>>)L#wpZxWMREKI>jW?Got*pYy#L z76ScnUs`Xm_#f9t!omgJ>4PGY$Y{D%KaxW}&UhM~)}W0#xWWy6be^QRJV!YUFD1{= zs@b1Pzt!7yiF5ruPWIRlNO>9O zj%`0gu-hC^ROrQ#>~2;n5{wCOQEAX03!R?`1WV9{e5}+EGrD>-lUJDGv|O;=i;P~0 zF*~K|#fV`x6sta2lJILW?;||%xBozjT~1Y9P#xjBaRef5qu1(p!@~z+yU)&ZbN8CZ z?g-x8Zngaco=$b|ZD2jmlLxjt+f97?LSY;d@-c(6IeKRO%8KWBVCni}el!XVxlzu> z^YcP_*vrH0TwF#*>sjZkQ{P*AQ*l0w*1M;}Klt3ejBT2%jl87GK6uqPOTg6z)VmpF zP*hUPsUhCP-LWb;ejk4vCk%KP$tOT;z34A6ljO`NtDlt7^R^a$6)5lh6e*Rhmw`y; za6OGZtyZM(rzev)sPDU9fQguO^WaPE(I9Z1pIS^$L8ExT=S zVBesz!D)ZOVluzZP%=UKdJ8GK-VvN$Bft3`nVzo$##kOGsgIS6G!FH+~wNfS#d=!fV^ z*F!%FxJl@*a(iinOoZU`tXfTr73|r)`3p$VVTDP+ei%N!UiJp|ONKuIG_)O#K1pqw zS=gOcK~n`x{py*7YpV`y9^suVd*A(T5)LjMrt!kXIGnY-SFVsP1;qIlw~UZWs|r0^ z$1waN%}AjCzEuC>y5W{kOx2{L+YO|@we#oym@&Ot1H&U@4k zi--T*SBFyL;%};_v;Q(YkOcP+nbW_8HT+AR+CQL?u?t02H`YJk7~KDZ?8@AI0j4#B z34ELo{=DKEwwLE=G0cMe`3vr!6=DClHw-XYh}38}tr6%&lb4cey|2NVxhxEU32Lqz z76FXl|cdhHLr;^B$qqdWq7p_Bxd+|auHfDh(X{$*a!8E?61-S3?j z>9yL(BDyCd88in(o{TeDOHF(wLt0twj*eItO#TGrf{+cRSbwnew* z>ZYnITX4l|812Qb(0BbFc6#=Sr8+2Pz4eq!ziKl$f#%pf(EgOrRp@GDSAWsF;UKqL z3dQJgoyC@rSuK ztra}{wfoa3L+$4j@9-aB|M0ep%J7l_ZS>M>3B@ASkASJ2A0~$jL%C{$DLuq5^VH_O z;8(0zYd%LVodfCq2#(6arHOmwGOxb1Zsy~draP(C;-jb)sZqF2`$oSSnOXMW1Wa$1 zrpbf12rOOr^_eAlq&~vhWT7SGd6SSPbZau{&5AAz{EyQ5%e2jlB=pd-V6-S}siZ$N(eedWV6Gfp4q)cmWO&0`5*D?WRM5O#yA-90k z<&@JQFAmS8`N_mGcj0nnSu5E~>Tz4!=28;`vaaO%UH`Umwq@f*Zj0-ljku=T&e)mp zdt_;yM?EjuB%9+jiJK=kXbSP<2EX&kN>ew(IF@T34(apBypxPaEtSEjWl*ifxW!d* z`=z@ozop!Ds%OFrsN(M+aE7O1Ff2zadukGJ;d?~7t)_%K85rm1p0@Ipfa75%9fIpIfp{pSZD`1J`d)CG%V zJn!odUP8I=hevC{=}^qfm;@&7w%mD(4)wn-ivpSPNr8I{NB*S)V$KY~05O zf(%@U`Z6MITPn5T$DExEa0_>1c;EL2pPoXERg*hz&mimPNG_;zSi?#ed+8rzoH@Ij zNNvjmy{z2d^*`743V3BeVVFQs=aaRU!8@Lnar;c8u)`drj_Us^mpN8l-bJh*kmx1DZ^4F?>Heg+QL+;xk^T^w4wJ25nE zKhx-$uVs|U@NWVpU_I7V1TEy*i_6VUM$lWl7#vgaDh@g9kxXXV6sL=I2n34D)i-gDe|`tEjNcbJxJEzW z2Z4f7ah;OcYeVD7128{QdJWt!zu=RDaI+N@m+oPL{~4;=tyq=)T!hxX^Jm;biI0HC z>PI)9WeG4cLnMxd6Gv~K+C}EFoX712b0`0+3xxGME=z6Y2_ubDJ2J9(;O1UxbMQQW zj~%$<=U3FY*PQ6e0cTspz0s)r4Vzne6uq_MSoeWQ2xPy`e2n=A=-sHFSyJzR@B3b> zYw4ObIK=@dTIxLkXnwJN_CaIS(6C=Xo_;6*@8oE?;E0obAgy}TI%?dVD6B5c7kf@$ zh(6N8*FhFmmlzjOiP$8_+VABBKUZF@QcPyi4JuX%J7O8yZYV*dZuQym2T@6=r2!2z zzAIoB=gHdh#IJ}|5UM!gic8VsQ+KyWB}xfeB?0kG8+e^%&0F4`viNYsD_EsmoaCoG z5WeEqYT{KOK3u992=(V|PBoJc&ficLe>*Wo!$MVJRe#x~L{@O5Z-W->Z9Gu_-Ia69 zMj=6@0F*iq5vAOt;tJNqZ?GaXbE;jX=$ijtQ#)hxrz1T&Vt|Fn#vhusaCUYLEDVQy zziHd;r@3?FQLR24a2`_bpi`_%Z%<5!x)Y&xvp!S`Ex+2tsW4|RkKCKdWI8BE(!;xT-?F0(GQ_Ko6{i*{h4jQECT8>Mlz*aL zPk8v59g<=eQpGCDRJN|H6}qe18NF3tYHDtR!{PzYC)_kgVhI$#rnXw8)^GJvtLWZQ z>jaLZP1Gdzef~gJ$$~y%EY^uF@YEOP%j5}uW;~iOY`PWXZG(R(Uf@l{r_I9=CfhaY z@z{Tfg2rfpWr;f^9zDllEd2idiegac;le!AR;=uO(TT$|Vv{%uX{7?kRsL@1a+|2P z>QSW}Zhk{#jAp{R-3yQ5l=1eIWLR?-R~Z@VL=e(DQ)1hp`xzA*mwIk}8A26U>A??Q zd@xDKx=PjY8!^#>XVduqbk)!sOM-;jL5m$Lb9y#a+U$5+m8xa^vRVoo6!<|ehUKvS z@%KsgT&m^;AOiT|S0LlmziRc=sM)pl{Q$} z%GegLTosFjk(nNT~LoRoi2NU>dfMA)Gfd(1Doo0N6gDnfMtf0y?rJDmLz zAI6gSeT>t^SuCX+n~=Bp-2GKBE+8ZoB^Bhp7IBq}ja3kZ6-1i6(BWbK^SX-Zldze| zWw$=mrQqgT|5b&p)zJs@*^KJwOJlS|o7dHPiJAl{bx6%J4w5NVHkdj5uq|a`?g`OG z!($c299=w;Qbq`m@M$UNsMBEEWum+&G!fl*OyLCx1*@&{rWJu&tW4TX1JG-Pc=Wpo zlfD7$59`mbUk2C#S^}x_COYC>yXt-Am39qI5(14fn7%04G#_HnofZv`9fg+Ns<2ri zIz4AW1H$tx6QV-y)T*(|yVl=pTjgx6mMV+;cF&jhw3-Ppi^o)lQ<~R_Sl<}0wpJd4 z8kH7<`0i_QJTd)Y2; zY!P6Q<_)MLRZ8occD4guZR&Nq)Ofp5urhBgv7vrp!zVhXayTEsFBcGTG^# z7MdwIs`ZW2uJKt45B*YsYEO2egXl&>x7L!?z=Cp7?o3|wgQ>)y*(muBZeFvuu}Deo zLe3OoDgFBip7P&HntJ)Q(+kGAnOsCWOKw#RRlv-+x00{b4eD!9gX78?g~z&nsu<2s zYeYO5uS2F10sNk29kK{)rc}ot2e>dk1b`sSAFLOH-lU&^Nqom(@%i_G^*#=ju*N%h zOX@Zrw(@CdUt9jsx2@;V+rxva*j(#i%LQ)(9G(e0+#taxCJN1D1A!R zB2BcY6LuTT_>L>yIgj^nq{fNtoa-g3kD@JwDKhZ#ZWY?WU8$MWnBz6Jo$-i4riVw! zmj};sP*X+x^X}7$qDLILInOK0a}^93-dWzMMUWc;_kMMA5kG_(gi}R*8=a8bMVmAv zt>8W}4T`Nxa(3ofDkd;m7adLE2@xwDr zfAX}+BYlR%RvfEEa-X?1(@UEu(u)IXQd{q+rn@b!Q*IZZcgho$qYUDqQWhK(hiVT| za?HE1DsAg}_P$7rq7)nIcEzmXxM)jPhX9_g;r;hSDDV(325M)=?{CPW^1~j>sf(?y z1cp}u!UH!!?kAYscx`U z3ln-f49~hZA&Pw5Sg0s&mNGCMU!tNdBpvvL3OHgq26 zlbNoMOL^4pF-uYX^}3X?y2w zs#x2T(9!I6GvgXHy!~9W=1*qy4Ii_Jfg_^Gk0fgrkEIrMmM!@QAAUZJUDvPwMd7jQh%6$xMCHyWFqsc`61Hs^pP4C?=!?4F!l9b*?H)JMtiK z1d^-owJd@mF)Hq5nGxx;`XZx-5<1eyUVw|G%FdSg%L}-}_sn2jRKlHN*l6R20cE%@ zrz^`K*HdYgc-$r0_eegk(I;q4v zX)~y)7^3mp^1`VOx}3|d&rqEW**!E56V#kO`Yg92pXe=5up7YnA^zOJFD6o;M=P4c?_pMaerm9|`%KtI3eMF);y13) z^8M@&bPf9nhg<3Pw{%jwX9d>6@OVK*2Y+P#aDLin$B*KH6n|GaF&mu!9in@ldHL7R zPuG<=B|CQiOB3~q@$X5kIvpE-7fSsXPA={OM7g?HW&cY3frDH6YJ18;zu3(o4nvQB zKQ5df5C!&mPz$X8275O8b^kpJ6G`Lm`l|oiNtKsnT4#gZEJ*h7f6{OLl8|sl&mQ{w z2OcV_pAXK4CAx<7PvRjC{p|)VI+bog2Y!l#!}$}!$kbZKt-Pi~JLJmymlt@Qwn?NU zGs#RydlB`j1D(|g73h!~*dA3qrJSi2l95h24K0S)^FIXY{ygp4ewFtKM@Nk)1CXdm zU3kLrw5hh;e7^X$k0(M?Sz$%+`{tRftp7bqo8<|X!Hk#V{X&6eZGb3)><_jK!rrBJ z?(G6g`#4 zvq+$WIsiKJ8v5kV+?viQ!(Gqm!a=fwqcrOg#HYyu7r_KwPZ-GJwL5dIhL#X$rYtnN z8z+xa;C9HP$z3f|L-nMi8{@6dNJxEhVu)UARmT+|i6JtykkGCJxRWj^TX8=XD528E zCgq#TISBeQ64p#jL2mi9fMmi<;#Ov8+~CG=>mupZ_Ylq2vj$K!L0zM^dKb@ISpm1l zRzL1T-Xf&1uW>5~k!$F2;~IV2kbXk>;TER`>qFZYO#$fslvb|8L3MXsg##giZmtUc zIGf_!hFsO@7Z=;KK8xrpl4vU8>uq{LzmA()?5KAu`JJjGnlkjv&q_!?OzBh4*8?Td z$!ed_tZ$p1Dgx|>Ty1nCh3qTb<42lfbd1a@EXP?LE)N3Bc@P~$w;V)}2abm6=YPO; zPUvUM{_4eo_1#)vV4Vh6@ML|~3)wss>$D2JyWP$CxSf#{ug3+df>-XuY10SmA239& z#QB8HP2aQ)`I8?L6SudL@?E}{3pdR!9%4Cpn?D}Vy9=3@)A;gHCvEiY!Ig!C4{x-O zxq;O$eu==q+dc@D7)`gP6okH>BI~-Fi2uwXXZC5>vwSC{&0hO(qXZ9 zrgHRflJ?`rbCEuw-UN3VdDRy`fGu6dE!Scj&*h3&$sR=Kq? ztOhk+;0pN|5ihC1Og4P)4b2_$Hn;-AR=R0Wpn=HoFaGs)y3>xOdtD2a71fzS-2#y0 zQ+mlOe6A)4SL}Ejz?e+NlQ)3uEl;vOL0Tu$_PFMcRCwdS#7Ja=L!@BVM3l|YZ7f(8 zo$M@40Ac+y2RQuZYE0Nc^N-FCuJ|R+=%;CE+(1BEhxXp1_^gEPo!Y7A?JMtjF7s^u z)0*5vTL;0X&q{4!L!&KR>up=@-iIz*SVr_jkVzCs<;WT3qj#jf$Kh7GqY@JoX1?bi$-15+oJt-^)!qX+J~Ulw~{HJ z?!JDSP3mN@%lSiv!>PPVuSZen9&3PQKHj-OZc*{MXNKv?EBv0mwgmF1O2Z24o5ihX z$BapcMx~&Oh+&@2`oH|lB&SSd%bby)4~t|YYGZoA+n6HBwO0|HTJ@8f}b!q2=H$O_#Ia$1a9EzL&GjT6xVvnd`IMsuoq?~+Ei z&m?>5wZu+bp9F&w5%Oxu!gnF!z?5Y2M}j-bCugCH)JD(nO8X^CV(^aG+3<7svqgu< zpF)gOj0~$3#TG_>)7G62FSfD|1Y||q3Eq;ysBSWOh%(qC+y#%_(t`p6-OUTBpu$S4Jm*LzS1VNR`>7%ltV(1t?T#_NzK zZqr79Ph@PrjJrERt4{aU#clRZ3me2XqnZ~Zl?7>jxeT_S(Jb>^ZGlM%kzQr@WuhkG zeqp&xLdmP&Ey5|F!JH-wlJpwHdbM748S&3a7maXL$40~794hSa`)3bknVIzhx%1}b zU(UGD=RbDFIRDB+|KsG`iZvnH&Rg3>Bp~_ zzYC-PIeG~HUni|#)e!uf{t%RKnS!O=#e7767ctvC`^RPf6nTUL-Hhu+n_wlW{`siqtU*U5y}tLOH^-pp)mcp;@0ju2On!%pr~xbG zpM{N1_ePqH1)NL_TcLG7OIu(%b>ckJX#DHenu1tIEcH2C}*>md3REEWeQkI$x#bw&3A-8J*~BFIEU=~!rffez8_9BT77g- z7{&ae2*WX~W*gDkg`w}%&(HLt#PJ<}7KwLC%Ieth4w|TnXI1+QI&h6l4n7No2(WcYtlO*_)}Yjp*P9Gdga(iRB!#FXV9YnA&Mt)j8z{g?@wWUZQ}rcZl^4>*EVA@2@60JoTz8MkV7#Jw=r!t>Td7 zq-##cuX(O&Y4vi9u$cN~@p*%*8zamBCv=+ILeD;A;mGCii#M20+3&DOVigQM-6uoag@&Zrf(c}3Ohd_R} z^TAT9W4QVcniFXzA@)3(WdTTCVInce)nf9;cctD%2Je*c;`cboLi5R7V#q)Aqr$BwwdnepDenuf@_2dtY`m|is-6KT0whj_ z-sNCqp&(F33={U&>lLz5GDqm&#Ex{=GP0Nn=Nviwij{E9*VKgde!h`%U~C=Hgm{DR zZbG&G=a+h4K4i0#tTNE@iuE|Ql_|O87`v0Z)kz1Mf~@M39Dq&9x#phYegpHdIi*mVL-)BA< zN!7Y~%+6?w0ih@>jy!ubq<}LmI7xRG`7F)M%N;NZ8x3JCe`X39vP?pNw;-x)CDO|9;%ChP z)}ZtnPz9s#Rd4mDHtOv(j5nv{R+q{|;{{n>w@**PYJqPe(Ar5!+6{L71jiYvqDMmC zYDy}nL(XRwI(rl0V~0p3T~qj(4{9FUX@Zat6^0MEteqX&^AwjXOM1Oi`K@MC6j8cr zH*UZ3(D-OT`Ys48smrF@9oLpB?Y;;(_a+MkqpYi0Yz^cTls&XC+QN{MFaf=uZ`Cv9 zH8L;tsaEi7cSpzTZo6`oXkTHb{Z!0opj%5JWs#Zlp%%_hVi89M-#}@Y9LxwcCw@3; zTRV7~OACI9AgpjHlF|GPw+BTGtNzV3!X)#r1~pByw3;8nXq+ zPSi5yJsz8{s7#FC9~Di^lW1tH@iJo1LPotCpN~WxM-Sz=pZ2la93Z8mk5VD%j{dTY~xOLgdb6(O@Kg zS^NbtX$+A!l$b)Mk0)Q!^S#rOCzWB5?p>{o#0Y6?9u<=4d5bP``^B37HTLqr zfD8*}@a)YNrilB?=>+Wj9sIHe6LqT1ME|v}@{Pi|PtVBW8`syQj#b-v3yb}^$jWNRs zzt=ESEwg3wcKpMxOL~jbRx-DTNIOh4E{3;aD=Vq_D$8>;Rf?aMoz{AGVR@JR8d-rJ zTqO{rW}y8Zea2No<02{!k%KHqz!OX-5E*fif8>~E>_if5biAYg>V}3|DrY5&2&=<& zD)6fce2O9AyDu&Ba&%=XxxnJq&aUDJk;BfA9}>n%j9#8&W8+YQxqe|Pw)MI|-^EM; z1A5s}-}tNL?vN^d>nE3f^!}5EUK@EXJkkf?jn)$+d=+^cOFO>>WI+v;_!6bYKcd{r z4=#0pd6)A1l*#O(TNR8z&Z~Zze)_ayK$S`#9VBVfTC>NFjenXN+Z2S*uv@9hBjOQh z<6*hD?u11aG?jI;<$^c85?p<{yeOJ@NasEL{8mWp)c#U~{JC$#=_h?` z0jtTteQRSAHB;UtKRrjYD_d&nfU9JHH*gob_es)6vzM@@jVmE7qilF~;FsQ zk^ExNz*_%vvEr-e6l5axu7WRGy%v3H-JK-|u_L%s(2YQ%=sYCc`Sbny6;GXDq`iid zg1Md*msL*dVmni-pU2|^jCn=5-aRdx36jKg>ZYr3GqF~)RQ#(6=l@N%tZek(V9R>` z>ulL}BN0iKXo+q5@RY6|cl9c}NQh=uTE#}B%*V_|=fzu(=OVl$DMq_5 zi;pzp60)7n#PBye{TFRGNmxz#)_9s55HPB6tH}{uSsLkBEOz^?U`*GyX4_?pX!$C` z8{jTKt!BxuSt>;Gjm=hh+d1FS_Xupbx^uA2xY@IfYfg>}v0y5A*#LCqn^0X?H0SWb zlG&0vs1RyWS(>8Ih#KF2 ziyOq8&dhHBBI_-x2nqDM3lMXfU7I?D+2^{g>@d4>4GA+or-ThyjT@z6hyV!C z2;beCc85{?nuX^^uL75=LuQwjuVJgb4o3vZ%xtBuVPOr9^VU%NGPQfpN%#D{NMA-< zy{GcReow;Pp$tIjut$+jVL#IaVdLZOU8Ke@R?c&z$%^#r89KCqQkDU(X;P5Q;83DG z&oDtt-ZF-+;YWs_QQ6Ch7w&i9c$5`Qj@Bk#XHv`eiLuxN;`ZNyux5voFHZ=MXW?)0 zYT~os=$9RkZio--@Z0_JT;`{ox#Elo$@C`7S7Bw;1_G1S(eRwd-V!iQ?{2v{W!7Ye z20K%EBWgd>9BeRp`$j+%m$`g@P5q@dqkVu^q7A?AEh@yV&Yp!MzI1uYP`js-K|F1m_%cJu%rRHYXjdcL3K;}eC5_zmyve7YG_tLmuEU=ioM^EFGF ztK-8rb)Gx7L&u?EnhN&@wnaXyZAuhKi&A`YJU2(RP50^9mcvQa2+j#MxS@lclicT3 z0iv?gd52v4h@+^EEd0&B7y?yN?r zj1V#C_z$};IV*P_+z!CsHV8Hy4i2VE4rfZWnsyFbbY78}9OqA~E>l)soJZWjiU%eX z-onzxX(%ZH=QkRL$OGv_-0w3f{;mbUo~7wf7^?SUKfI`MbOzY^HU&JY6HKqx+%qCP z-M1_2VJO1}`#t!Lw-1S{6_8YaRx&gF^(?jTgmJUUV>Z6CGvA$=f-h-Ijw9m|%RWw= zR`#b$@5ffglVUN;ONTICp{JFEcFk|rK>Rp*o`NyTi)*l9JM*mRGakN>&Y59EmoMmG z4r3LwU30MuIE6!?TnYC4=eDf&BtJaWrZABgs{$S4vJBQP<6a2=N!eD7PaQ@AY+Y!s(YoaIUC%r3#~w%#z9i$ba|SaakAWnydMtQj9F%H zGp;way4A{*B4A>?oF#%@D7zA{i%w2J#l&LMwp`i$&mGJ+unK4~jeKNA%ww;}a# zB+-j8P_qnQLx}d^HG6g{5v+c-Rx=&p5Mf>4IP8F`VaKh?sIB4Ta{am6FHh7GH}644i7qK@Pyw=FG)Zyi`60LEP#YNH z3}pt0Sq*t7f8Zgie+XB@engdXca;Ko3>;8dU(g83^U>;^n=6b=B0S|9sWFcz%c*Yz zim2`V@5`R@!ZRTvCzNzj;rPN(${3ZM_osuBzTU$Eqz`sv36sa+#JZ1m1+cQBen~S( zcdcjQ#*mlUxbVF-+qq>@SSn#hBK{r9Cp4Z)`rG1>1&@_+4p+2g0|^01XrrCmy2-}? z8jdiASk?QF6`;&Gl}2hSRSDg^e#bF zGVvV(b2p(i(b||D#L0@Ldg&^5VnQEW(C~Z>Jz%2(?xb25u=#Td_6v55lKgh`<$o); z084oM50I|EuKwSMw|{lz&l|qcm!mi(KL5&&hZ2yv_%N$;POELu8 zH~@B>4H+`24a4LOe?6=pQa#MF6Byy;7pI-ovPx`UO!6d};y134Wlg;m3kdEyQ$_Lt zQTT9Oh_XDK{ec=svv6-0Au_12|3hR$J6U;B!cFD;{y041v%lX2o#Y5$bte%0g6~Q6 zr-ed^-*78>Tw(zj=?Zxrz3u&ty_GU-e^+ZHeA(L2L2PZJV6!2!yp-5;JH@}!1^^Tq z08wnih<4p(HoqW|sH0t+g{y0z9ieAt z!#o8Q-l^g;ytTh52`2OAF@0^Oe>*SOp@;MPj@h?W!vqy-S>EasS2`S_-_+!}QtrAo ztgLJ92Xp^ZCaZhkFV-{jmChv$iJxYGdI3BqmiXc-^g$|32=_nINo%WL>hFArxrvHe zU5QS2|DNAn{YiBP*A;Qn{MY8?BdhP9r&&vZ3FF-8U3|cDii*$3wjji-Uib3@(qgO! z&WQdF-A#mfyY}JQ5Ib=_LwMs?GR!Mh*TVU_{vll--Csrt{$WQuCVMG%bOzhc4QvXj z-Mqduj6uT7BbzVE^uT9G_tlnTBF-y7soB*nj|Xfz3^hfhKP_jz`;FM9-yr_)Y)8EV zhM3;7$5-x1w#D(VJ!OZeJ4Gq7BZG)I$O1wrS1RD&Old8g?EGyqD3HJ+-hzz;Y9<^e zy+;kQe~*c{eZ%z^6yEWM5jJk@e=N3ZIS8|rTZu!tVNDJ^`G>TA!2bi^|0i1hKRG!kw2Kb|dJT)4-~4&7H5@NbU&VRm zOgccyUzJeSQaZItQ#)bAVHfK_IAO1=?PQDl;!na;JQ9j;bdat@7}9=)WvR*bINcRM zroZZuo+!9-Q^7>Y>ozP0I!@ZPHrObaTO6U?qqjZaP>aPk-S&{f&3(A*J#t9kXop?y3rr7h=tK_z;T|)dm zM-D=|+j8DL((Iz3RZD*G=_%R@gI6A-OVx!_=*t&@A}%d*Ci5i2DwCY zz(zaW)`(}rP1oY|f)(Kju8~z!y`nqpm0c)XOUTT;jL$a>1XOX`1?>3ZM5kWM$h*_> zgXbRlOUgfA#0h289)-1OUCqW`-l&{Q=07N>*LK-%a)xulxUmkTm$QJ*O@j!6geZ!{ z(8d5f_6ie-L>)5bC$C>DKC|ByC!dGHkKR9E^?X+xe_qr*Xx1t%hm>dJbI$OqN4de) zMX_7aj?m0st1~25q&(alReC{k5~E7veS#WmcrN)NVy%4MW(d{u!K^&1*gLqu@FBIr8cn{hKpKn(k*R0c{YV&AXrb<)PL?!tTRdV*jIDp|F z6G=nvH0l+?d`0>?*3Z~V9K*btM^|e(rH>lvQo}<}ZDNP{8rxj`hJ{8;Z;jW##=9(k z)~RzB+}*>~9`5wr+tOZ;Y{<_ueL2$vOu>S;aAF@WUF_iIJdwx#kdZx^!#(=A14ByX z0$>)vt@^!w7F^1Eg0({|%FX7gvI`vT$SAIxFvfnv3^E)~yu}BBMOx37z1Yh`xm1T$ z4A8eo4pptwvgPqz~ItujE2bHhu{CW6sJSF4Ec;rjOeN&g3vT;Qhvy(E`Q!F09s+M&g! z8Y<$3jtR}a{W>FvNYap=E5Jq^CRnT>$T# zjrRb`A7M6@Yn07R$YLC8zs!pC1ueJr5 z`DRW6>kxHVhA=r*uqYdHXJrB-JBHCRPgHF!a`(DJAp4t&Ei_c|Ax_bVK>W`ZC|MKI zfC>U1N?|4jQHmP3ae=FsQ_D=F)Z&b*F<&D`$HPE5d!{g&185G^}~@ZmMhC=Z}ASFTi-6<5$`G~y9% ze=?d8ayFRb-iA^4Jg<51mD4x5C|aqE5%0sdP*(`*wQ5x-w{G$Zw}hE$P$$YB7f=Ff zW+d`4x_{EuMbG}ocPq)ch3!yVxoLiW!HdcI)Ar8R>sR+uZm?VmJ<~O50FhqR0l>M` zag?2=)Iw!~xgez`yQoVgJ3y&TvD?L$ONMc>h%tohv9Fyt3ROnDe#^w9x;EXVI@rE> zoShLuTMx7K)mCVoLN4O@?{}sCbklQ~k_;c9>Gv@~&wx^_@1`91J;`=4n!Dn}yy@#W zHI|4~mM)DAz)H3zu3hgj_!M`{c3Gh+vh{f8C%0-Nd;QvtxoP5r%7l=yUg|(jRD4Ob zEu5uPJp*=zuygb&Hoc;7AB!Afb7pd15?vgW8E}qLD8;7!FVfyJ zERL>=63v^01Of@}7D8}$hXf7oZo%DMJGi?A5ANL!7s z&dcA&zTiu;%(c-XTH}48Ae5?#+&sP}((-{?7apG0#yup%8Jo9@-q?0J!l!)|3j+{L zw4Re=oU}x#SIW!i3y(aKa7mv!PPj|sYpIrXHYez?#Esf}NUgrp%` zuK(-Lo&>POVCDJ({ZI*Z*M#E(wuBd63L%3*Q;eg^_>v5c5hd9v1R!$p9K z$7*~`xTGBzI*Y7{9tgx;OiZaiGj0q+GyJyHbXYG@G|PNf=R}-XuDV8tjeve~qF2PV z-)Z(S@Mi?0^+G&O>Yp0TE7z&814&Iv;ZS&_!YJX!=@`n9P`|5K=|>ib5!`riQJPID zZ8HgIe3@tmj3dTcsnSl^NIDiLzPdFd4H=mMQInb>3(hcxep&>fRH&u}`YsEHqZw_T z91J?b(R_ICVOX-UPMHdimex;Ayp>PI0@y6Y;m=jofaI~-epSA*%+kE+ea|2g$^va7 z9?HsW{V?agu2Z6{{U(I-=PC3=7b?xDvvo5Sg=Ruoq<$zVQn>}!KR9HGFVxSze_yq( z9Hh7e)LA9P-#6ssMlzhJj*31DcOBZ9e&o1I=9}x~UNOhNLlpn}NvGe3#t_44Cn%+B zaN5ZyYXDQxqTumgOdJkps53I&c7{4-Nsr6USu~zd(vkF(PCCoe=@;i1_@#djDs8%iSpO_T-dhS?!@md{t_IZH!<%~FS`wKS7b~1ka4Wn z^dXExK=yO4*-9`CHppf}PNJUk?sFl+O516|4N9Wk< z5mvm{*xfkNL}b|o>0r{qUO_#Z#Ss(=D=wGWWQVH3{VEF1V{H_VvKyOMWP!MgM%IHD zb)EyZ^%RMpWlda7R`04(R(q>Hj3R>caLl>5eaQf%L*>v5;>g>SuNX) zx`IV{Bzpy`uqY@CK#}FzCtiXr8D8aeL0z;Oq)69Q>RZvn!ZQ8b{ys9_BsA%j^{%&m=}v=|qgW=DttDW6E%T>u;= zT*Z3^23;<8r(LYnDs;|V^eX+)YApr_N^LPTZtREmM@L7cRQO$XRfL6mFzsTn2Y!tX zDLVMPyzjF{rmkZY;!__yyG)Uu9kWz<5GWh-U#)uL+r(xOLu4rcWdDJ|90px4Ph8qp z>L#s{-!s5n9c$`N!iy*u>7O9w;nTI~~ioYV8qe9KN?8f&|@1>#2 zChfcT-bXJa*edGhTHd{1Q9s-fuS?BUCcV7>eYQuQt#aIy_-?dVDt|oJZ(js@sghH7 z86Cc`XmOS0u*L|Gap29Il?Z9it=p&up@n$inGrVF`pLddeqOH68$~@o*R#*slNzHz zDHW6tA08by*WvmccNwGLDDuGkB7wzbgIASP{{I5p1-AZIz`ZK_{{V2m$n?e=$o(u` zuVq)U!k^Qj{q~~=hDYo{LS8dT$5)EMU0T9L&IByDkRrJ?R8y-<7CTINS+>cmj}xDs z6^f;ggJviMYR2%em#nr9lxzu?0RJn0&9d;etX>@J2Xs12eXoHdPD zpojfHFjMZY4H7d`uTn$N;H_`uD@EeWmKoZH>&(=&%>1b**|+zrJ)^U1=C7y*{q2#$=HowBs=R z^(0)v%P~v*mI>NvILc`z$MKzi#DMV!-#VCc^&y9JnSD!TR^AA4e zyo@i;A6fMXmQei%nD*ko;5vr~6ul zbMJUE(nAZ37E1wiE{wm0?6VrhHF>31nSI_V?I;=3kTi`<+IP|O?Or=?6X}04re-4s z3sAB#*+C8>FWgQKC)DhUlWy)GjH3aUBh= zvuGjd?qUEu0BW3|3cdo!pzSx3VrRN zsxvoIk7`+7JZO$nQ`PI6>0zg3+~;n0k3Ml!jv0G$R9EGCrKgnEBcUw6^zc=(4~3y@ z>6*@AYf+`wX4kRqF83=jx!IXhVOE>hm%+8vpKmS*y&;QKUF8`L8i(x02~l6rpCHxTG_^}M!Lgc@-N&B5#`raZPbc1I2M2xl`WJX8(L z?WnFM?Y?U2=g+x$;*HbCp0N*~Lso!Jc}oGp2qI>a>tW-vI0)OO3n}NDO0MId4SIT; zkn5t}6mXl%67IyEp~`K8T6pEEIODW;JrI$`aZF@|T-;*PPMIe^JrNM{O@-sc3-|Xb zQXOS;o(a(CrKf#jJE^v$GP*yQh}tpnu)?i;xNEF88jzC*-Fve$kn_5Ho>$~3k65%Vx4Vq@1faqxRKkjx;LoH9bsi)tH7`OpxOx}4u zx;0^h!)~{jel_M7K43n9duw%YpfP_lhcsp@o00(9-&wgIxVTKaPzj&5(pKza$6VEj zn3WdYCe3*|C42)F%1>)I*TrKUbQYeKsiNj;O#JRwig`G0d*Ro?{uXbmI&uG)N}!Ef zAvbMtUf(qYH}H(MYp3Lb%~1AwvK^=S`8uY*qbeo((CwnwSr9&@iI#As-UN~b77YIu zJbj{^LqOe}qmMYB@3ColKi09#9BI_yc%YP$e@DE2k5us_yLkuMi|YCNr1M!Lc;gEx z1;(ABYB~$%eD4Uez1j^B#{pM^b8&-hYJ&|oY6C-KZF9F{Z_RoMMU_h_29FjiSN3g1 z!U9f0pzCiM)18zx#wSXtHPnQ!j5onY^{eN)*%)&_*%1?G{+s21W z3W%8u)BqNcIhTwn1hH;OyFhXK&>?gBjd_w5RnrBm)yppLNW3&?v0&i+#H zuHYpz09tXDgQ&z+#rL~`UIg`cE2V2wqtb2*jgOqM(%ZRi=fNW>mHK9QH5xNO+utwr z;q=HivTG(%6XdYRnfMsZ{ZHB2I4OyZ(|6`qjHpMjn4MmYNZ8OHEVeJeK4$Ls4Q~NKlzxagpTERQw~sWm zFFicOxtdgce*NnDfuBF7mW%BU%;z)$I#{-CR>H*KP@p3VeEk|>W?jaO+mPn>?J@>) zS)-OLV$M&J7*Pqc<@xN2g-?pecY4*XT(SNm}1-?Cc(?Qs&r>qbw zfp}xuo5qDpkIT@j#qdTPe|Jlwu)M##Za0OvQ^oP3rqtz^ituaU@iiGqvTz0eE_0DP zX>g~f8lQlSyLc>A~NjYK7uEsw+mt3mqr~r`y(f^~~ z#7&ke7O~ptD;*>;EY{ZIH)4udWIB?=r0uFjTRlhx%!g%Ut3!p2Hr1>QtL2foJv{eHRe*O9B;Y-Y{E@D36g*sUs; z1CziqTZ)Y+fjN#P%D1Wz$x*YFTQx46^H6HlwvJ*@FsmIbwacdBXZ6BXsfzs(*VUcGu55FF(`ql+J;|IN+<>{TL; zNfwAkzE`cIcpdUSakI^3?iUptMOY~3(&T!7vUS8nm_8j%q|Vi*A1b_4m?)5%Z5MU6 z-!anCgdiLm8}E7cf;jP)OC9xTd%l-rXSJxu;kp$iGMQ-gg9punr@iP^Y%Eyi&}>JI z5Wep*Bfg9drknE?t=DwZfP%XD8e7mt^SUOQTIf+}W5Kd~JSqZ&4wx z<~6piiC&hX^~h2}`fR;(+{vc?;kK|WU#q4P^KmAmSVxN>B6-BIG-VlYMVoYmpTQ}xZmq1KvhmY$G8WMP3rt$GIt-S2`^iGn82C-&JIUeU$FoGtt9fN{I`3{kut~i4^>B&@_k;@qM zgNIU;xCV6bl#^~^u4(9^veVeXvL(3A^v~BL*XdFsy4172cg((+x#dgBSRcj(^_2 zJ)!GVKK+(9#;#aFz^+3`?k3pDq!@Xiao1yKX2`_qmyv{8(oz#9zNY&5)f03;iPfP#&)^ZJv zlf|*ZkwBnXdWcTs^FH5@-WBiUm@Y;l6K#%*$8xKfzsbrW6Wm`=hGzKQ$`8#~RxF>w zjx@gg@K=|FSh`lj6`!OL7)x<_pW(Cerf~ z|B;W=Zh5g%7x+%4T&-e$B4(xP+oywBM`c1D#L<32_4QK}_m zuz+T>mVm?(c`@o`I^d^_;whxeqg;yN>?HBK1=OFzY;ie}+!fc3Ep1gT&>TMDIp?E7 z{E=NL#Iz>GZ4MRNQx)51-Pn}^7df5-O9i~(j*_M@^#RjliZ)@BQCl)73vwiPU^u*~qVH}?6> z@yik(FQc~o_(QOeU99H}viaeEQdSOJmE^GFpNUku{*!S;@ppu|+8x->#!p04*-}x? z8Q|SY(ya5(1Ac){CeNpWZ+ib>fFLj~_`X2&SC}UI`^XRZD-{CYytdj3TJgPieYgd6>T)dzeGz6Z zB$;!%4)=2_?b-!DIuzEoc(F5#6igVdUZ}?q19O{>Y82cLX5;edt=2A#B;r{su1Y(v zxTC;FwLk!!0G6FNtovCZ`fS2M8^PeSN0_}Kc-C7pDbYcINe7Hb=3d&-|Bx|Ku^$8B zPj{mt&#tHqF-5k1%#3`Q^02UJBYU5@0zbZ4%0C6rbTH*!@dBAVU4Xz=VpcDpC2mw5 z)$X7av5sXg(5DH11^1H(GayylJt&NDt~DJ}yFYyFA+b!t;dy$$gwGj5o4k<(Ewr8) zcODWv0@c%}NJYRa9?LTkuzA_3X)5bn`gte|wSFHJxZX-EfH5S^>jO_{-Rdrl4l>Vx z`-dx1S0m{)-X8X)>-^2|M@E6HesTp)C!s3h{68N!Tt^#nn~ zsP0oc4z<++2jTKO`d*>AthVGxE_9QU?GxDvjtE&5^;{neo>DqJPW%h0!8nj!-)WsPili{r2*pqYx~CF1O(IBcd$7oX3mmhchtKK4R=oi)d+S+cH59%Fs_pi6 z41aRPBL))mzkPdm;wYO3o7vxMJ<1z&!xzKuluOK7S23=?C_VvF> zdwch7q?8*KUMOj?su~A4wl>P968ZfW22AzQW)It2gsXm|>n;zqS#7}bZc32oup^d@ zfI3s@-DFK9hnUOlr2^HvoFmd1hrpj>ZA(`r6xnT4olYrPCpLslM9s&s(U>SOHTlq^ z)4rb$BCVX^6_aguu{;ZQ_~5psvZHw8GIwlYQ35wZ!86yMKLw9;ps zmzci1=gAtj0u4?*tA*)|JG)os1KC0ZOF1U#wwO(3Cx*~XMmEM*qOI9!dWAt)1iYVadzKxasj=G8#eJ zg51QJ@QCDI7vX;Jb}5~&4kU>5>ExFisWq%*8>XQ8WN~himNf8@lYKLtHnDND+IH)J za4f}FnfwejCUj;Z5+G`vn0(n*g~6EDiq4vv3#9WMnx3B};^z7lX_D)GeZ8G!r{(dNerSfW5037GWK|&V!t!B?px#wDzwArU zD(U#!A0Jh2umc$B0RVP~?glbKIT`bEvKe9W0wuS1-;M;SZp)UKrc*Q%QZ4~hPWx8? zLDdBClaX)dj$Qq|hnQD)Dcn_L^bc_-eF>wHoi7{h8Yt?OI>M-~NouRpAk+W@UX%J3 zeCcJR_e3o?WXU?&_T_aPZP=nZ0whw-+t(wV z6f>0K0bZ)J>FHMSJ-*jjy5hr@9nrlARb2d?o>i&6wXB=B^e`0=)f-RF)((Hc=JvW7 zVF93tK|UhH3cQl0i+@8Oo$%Ohc%NQE&PhzHtlz)moBp)1kz#dlQ$0VZELg+e1icQ$ zOQmq>ZSDY8uzavc40iUkxapZ_OO4lK+I6R~I;CRF^pUvij;E7+>jaYHTZaNi6}i z(rD##ot>R+hZ8nMGeInUX>HDlBkm2-y7X!IkiX_R8cd6Z=%6cQl}WW+oxY_jUVIXE z_!qnD4ie%^8r5c!+8ivIKNHd&PI^<6xYJo{9j=PRDfriqoJ~QVd!n`VdMWvv%K8G% zAc86GwU*R8sK14w^vY!?#en2q$n>y#?~Z_}%;QaVtXzfgz81!7`N>*#7u&5Y5jptS zGcQs^jg)$2o2odVd=gQ9EXgg!U8%MoKeCun6U!-E=x8Wy5T=aDY$`1f7NAi{jmK7+3&q%Qk(p}N9;%@h`KfxWUl;Cvi7BPFP=OP!q#&osgXtQ{F zWeDM#s@(-+T6Zt^*({&_vANvyA_bTz-d{p`J2OvcICg+s!5YG2$tq-=M$iu?0dNOo+k!@c=lw z_=oJoh_sB6JdkG!}G~LcL4PkGZnC}d(%GJ>qLl+Kl&fw-;zYgv-yCPzCNn`&gE{+&Ch=K=E)CSWz zh_Vfdu}6JdI3L=AHZi=cKtghEVO81E`J$Hh6iOgT_+igoxLm!_cGAt4m+^-q$OdPx zg;=US9kA8%c=jvI%fT{*c|aHURB6dr-1>(xSwk7T&lw+F4ZgfjT2t$Qw%CgGnyq+P z^(gla3bN%pnV-h@4X)gd+|2)_?dy4%8K9pX=5ra)px?$O)9%qzXQf=RA7uyg?rCe@ z9x@N+uG`d+tqbBracder&fpzyfyH8SS)6l%_~CXfMd6=HzkZi<6yLEfQYC1~KNmW@ zGFb`U+jbY^PW&zk%ZJr4uISJbM*pfb@)RFIBszROXBbLevE^MWMXrkd(W2AJ>&cOTMbEtl$Ho+Ogq2D@J5xtS*K8aA#?+q zR0qChp~lVd2oC>#Hi6v0;lD)BFuO=N=V1nEW06+Ar>StQ1JfcIgsEWW((oiv#lcaZ zsqF=2PT%p`0q6p?lJ9kG_1(RMO5p4Yc%UFWeL(lyG}&%^xQqfv!%1|OvSdR}K?=Rp z=fsbQ{u)Cs3CW^;63nHB6);LvDpe=@0dWd}u-83XE3{K8$n+(mck0NLEf)Aqky^m0 zztFRo7+opmHN}=B_aH&#*Y>VQV%}wnb<005HDrUJo&ybERI0|`C)-?eG+El-jcSrBZ^HNi`aZ`>n9wWH*vB6QG?)dI=&~dm(ss)@9Bw z!T8ARyg8|&WPemfxiYMdpti1-yeD9q9Uk%Hl`Az&9N38n6v;Us&cQ_4qddWT>}Txk z*gt6#b$YAc)ZCTLVW!FzL}^T3wZZs#vrs=2m_vAIX42YEK?O=mvhF+ihWDQmgHq!q zvJZ~I+6$E*vVYqw*zVU97wAid@FOtcWPNj7EE;Kep3tDLo!n6J>njH2Ll3!O;Op#L z(ec35!g=`6CcTd^D@N2JEM$g1M1jBi^)8UFP%ZCv=dp_4{-3^ zp9M|I*w6kL^NqB_TCM%yTKZ`^oZ~Qj(rnwN|D=Y;;*E(-)YK}$4|B3k4fOLq6!>YM=2#!#hDT*r?QClwCb;O?jpHk&{+tKG)2M+MjDsx?oS z%Jg`S_Dl|^DB4DSp(i0Vn@&@>i2*{Odk^z+|K4MZnS%FvXP*j0X2V-C!G)j z{tCU|V9SuSOL+VCH;wS@LT80gtOj#d3is*epY7Yp#`{JK!xPk$oi5&*@CC^o zY_GzYrWPt*ZT_Nh9tK7ckrY5FVz3qLR5)GSGxa?QK@Gl`xWvZlcP>5G3|PLo)uoYc zcZ&)qk@f8(Qw%NdAS987Fbc1H7HB<3a)T+dyFl#5Pc$dm>m(aJ?bE75Xy%=bw0!!- zy2&@=Onms4$x(ZYb@1gGuAqP&hCJW%aKVFhk)YzVv3vJZHm*S>YncM_F}%8_1a z=69IQ%YOStqxO1BS;)5|4mO#)`^JZqM#GWWMs1RJvlAE(c^<)hn9oYU??2Q(9p$id zR!5^px^-dV9;qMJC&Si|HhcHg2?#?~2QientFoI($zvP7^#43$*9vO+W;%bv zi`llZcEpS6^)dZXX3)V&AvX*icH~XtS+bdo1}oW zgbMON?{*Je)sWX83S~WaZZGz*i{1BUYv6UIrD6vCzE7K(;OF}pbko)#VA+8|qnwj} z<&asP*jbHAKAGb#@!?PW7j~(*Jb%059`ImbI&UL-6Wu1i4k~s z^FjC(_F-ksaeKbJbr7#E879`Qom=`xaAJb$Mbe7O zSWNU@caC)%|HaILhVmz$&wY0~809z7z1=3(_;YU1AK4wmI0v^M9K4J%k>JY@y=9+I zQFrkEhILD0zj$%Y1uurp!^l|q5*uEUyXC%)B8dcbu^=ui4+-v-%cWkW6~s1Xk4v4( zNk9J}A43t|6>5$;?J-$V=4rEs<}qHxyKMiU6kV$|q~A_$rSqGQ+35G8(LgQar{z*Q z+E+0|iZfK?tNFx_vq@MM6V2{5Mo!a&rCKA1olo7N=b|q17XC2fJuFy?C zNDU=+y0ly`86Md8W++LG>B_N1>MOrH>RJospi!$R;gt)e`&d8R~NLwcWowQ@2v@QF*_=m0ZC9%V-v6N>!1f8pYp00&3=?ZgNE?w)WErJrt`wy_J{HV)VUV96gdNkn(H;=6EsN-obIyE9~t|Jc^RPapMnyVbR5MW!;7Vnf)R?kfbX&-?Jd`uoQ%y_&F+Pi67 z?>zCqMcoIM!!ikv!`mC70Zo7o(6USM6k-2E7_a)FEkycIw0h~UjjL>6OQ+=Q_X=rUzmaOzSL7^AXGHcLi zWm=aeJ!grIobqAQbuDrhM@?c+OT15paCiUG0@J0%3Tq;x*PP)Neuz6!8J{|ORMdx~ z@lJ4-Y^M&u_&W-e)ATuGocz>PboE3H*YfV#->P5gltHHK_D<@Bcn%~U(moin6_R$e z_R{Cr2tRmUblQ^OiN|>_fmlMSp1Rq5v6c#3{i&XPRqq?8En{-M` zUT@uK(d+Ig&xpElDR6cd)PZ=u7+EeJ9 ztT4WN@i=G<;&!|U5tbTq3jbqS#y7PuN(i|>xk|^+(CXQ-4tH2eYscJe244wes}dFs zdY^hozO4#$#UoKu3u&)487H`D=ECf;wf3+JXmj~}(+eQ9HVt4XJ)2F9;X0+mr|tHH ztu|%b@fVPz*s0a0p6$j?G<;5ZfRw6gC!o}i7B&UCrgB<*H+rA$Yy41~nF4a0H>`f` z=5Bk~waWw6wxlD@bDHb_9Xt_9zEZVhPb)EOZ>nkC^Sg+&id^0$+G#Y97gz9slP5to z+eH<9c0HBHCuy()Ud~xlfV|;!Et4wpU?s4%+Hy#(|4(Y(UJ14Kz_NVu6Sf+}F}HsB zcToVU4=o8{LHN#;|HC~b9SLe^(t+~Kn&}F72ams`aGVbJU@BI3^(!U$i2Bzvk7aHI zjm=sT-5O_l^ByNb)trPqQD+~Pn7M3S^0Jh`scNL$ElJ84!iZ*bc8IrUVZkgIYg)r| zje~Ykhw62%Dp8Ts^lr^SoWItGxTfZOG|*jI&; zdY@g<_a88LOmsFKw4!cc)Gk%!dwGweHz7t^Q{^n3et_a_j3hSt+k;^tm$U+b+;NQV z@8p&p#|Ht7IpSy$G*4yww*Z0VU&*4)$&Q?d#xs*X2QODq?DpGE<=aiw35%y+0h_fxiDW|W*EE2dV=nS~`Gk*$+pX^mfh|ts1O6muIQ6J01WeX?&FjF~t3gf@ zLGB#@VPky;$LH-B7a_%%cEM(WJ-7De@SFAcn?s`nvBvO5>*hq8h^RgxYWP?mGxyqM ztz|XaKb}8r$)w)RPelN-FEnER!Q>G`tidw&F`J-#gT(btMtxM~?z`i;xPhFXEh;WI zn>Y3aA7Eu+cbnWj@y9Q@ z4RUqSFU90&_-foX!3;PmNyX2&d#8#+WyNAf=%i*!SJYrv+n}4cH5~L6S5~biKH0yV zVWvxc&!Qflj|$ds1T?Ce}B3(H_kE9YJgMUIk(`rgf9Lx+SvIq|JU5x%SQ*A80^pQ z035O{whr?xdyLJIc}4FCg=RWhBR`3*ul!O!`T@8s!b3oHz!0{^2V~KQ+NfrZ4K-&L zK&C3iDk%%<5*yc6VQD&=Eta5=w++4Gt|(1oekrrYU&k$dJePZYtk|C?7dXb{Wdwy- zy?b|xNVa0Fakk~ZX*(kMvvqiVMW+_04qU45dLOTUVpTfhr5Yc$k2ZDqFLxzl&Prpz0b2S@my1RRIJGSB!$Y zNqHVus}O}^-$v{r^Q6`dtYhnHYN#W(fkPxxucsU6wg5*b2fgWQGU4E*J=NbOuAsA zVJN(Z24RSXbO8_j*-W*ua?;`%FjRjgZ#zY`g>WO0=@=B|9Pcu%R4QR{k*e0kWqb-$ zn%P4qJ-rRiAgP1CqzIh#ktf5b@Uc#m`MNO5dEfl(O-|wnHwaOsyFrsaOg`gGk7LrK<6c6M0#KPuxLjO4>^U1F)@%yhK?@ua(0}DiRt|dc zsVHVR7V!FSOUuhiQzVL_iQ3u7{F6@=mu%zkKFQt_QoPT?+7iqGORVqJ1kJr9?pNrZ z54{3Pw5k5ATV3s^Di{_@FWt0VI8GcZjhZwPq)F8pNR8yov2M=f+cE`;qJL!Dd&eW3 zag;`Z$K>0x=G+kGBmq%V=!eieBlZ7s)bq{AA%9vk@ z*1}WgjBGc|iD(H3`aEc~{CW6GQsLS!n#o;0Jv=aO#$sdHFR_qcm@5zW+vkCZAvmJB z3=vUWxLOtsC=eF-`nXHv1F73;7M|d#Cg7>-N7pX{@~n%R@E#%SU-Ynwkv9VH<=(Ps z`w&Kf{x>t)t2*bhD6~%+0J)**7R^;h&gg>Fk2G-Rpmb*gaC^Ki@$;AA0&K_1GTAJS zqMzZ}pG??bfOta-{Jfb(fWt)T>UdgP&=VE`5?PzcAVoVM9}qY@@of!vLObnDuXG%4 znbr6Eonwtc{~W@{D`e?J7-NTNEt>G_h3u4xs<#sL2^w|o!ib8+ud+g8vD3JV%$RSo z{?VxgyP@AGud*{71;*hqJ0d0tB$NkuG|Qj{uOp|%rp^1<*55aDufi^dnBukuJ3}BM z3*>^~S-&L1!kqf$;Ugs7F}GD4bk&G#ah+E&1p^4i8IT7e29>R!qfuBtkD4KcFS zi!GXX3gl>93-D0lM+h9U=@mHn2F0;s(o*c;{ofO*b~}Ih^eIb3PYdLo!z9}Y45FO+ zt?tC8h_byqpflwf!6`waa)>NiNMwoLUwXSJ09od@O{MBO2^6keid*F#Oh7ozx_R|{CEvzVaI>&0qed)>r;;J%|O2b zmJdo*c{mlKz11u-vd(C#;29K)vz57COVPx$S?a1u!2ORZwN75Il+N(UvnbOx!QAaY zt^(U@<3S(NHlZu?V*jK8=Oe5HFgiRB*67}!?X6Jl52B0ZAZ4c!kM96mM4Yvk>AIcB z-YuGK#TO-JsVzP%V+VY{`{%2b8?R? z^A9ptYOS*Q%PO|H&yJe0DPu6U!8Cx>D#vaPnPCq|_MO4M`;Mt1`y%QzNF8%eWuryfAEXj%7H9duE+>?+C3EAU zHqg2K+Sx&K+4wiphOw5Ai-Q4#q2s{6Zu<fve`EWl(MOreeGe{{&s**|!Ky_?aVCs#^9=B{C{Xx5iVmVDOcj#q}@r zz}WNp^fL8|o>a5uBWgG+OfH>TGIThl0cEo)@eXL6G$F&D&1UO0j1G+O!?&5*BAF(n z*_eO(Ne-zXZp6E#RHxn{PNDxBoZdA@<~Ko2bootjf?4(C_FMH<?LI^zT*w^{%iejHPv;>s-o(1E8yGz9(v$@+Dgr}pH%t#BR>FyGlo|@8UHfzKYsad z!!o9SoB03t&I~)eH&KMh5^NVLx8M3#MIhvV8<4gAr%cfQ-<_?cuU;Iz z{#v{Xw~2#qT~vSfPpVllyZ__pZkWIVyWO(u_AcEF(EN9@$M%Sego{prm|CBsf#iC% zyz(JsEpXv!MLGoK;ktI@apaWKc&Km;LOkuDO0wHo&dqikevvjJ{rCXUmm-oGc82`; z4r)7Ih*_!B@4RW+Gra>$yf)g669}oob1!;Vez;F+CY279n5@;IWq6|pxR|Y>^SmQL z4uV7zOAgoK=n1*@`Ct$y$xYpn@g%J?@+w)p?V5N)$NUN2c6%l`KQO63x#J>A-ZA@T zZFYxTKPoI~NlZH9@SN!_cvJ22twR<7V~_jpQWz7x-kC{U)sHgZR)ias+Rjy0PQ!TD)mB2P z%e+P6?KC`bhLfE}lUaNv;z%pj&!^-8zZ(tOf8NbntxYrGODp!D6toq>QlS@@H>1Cr zlhIkj$z;aM)Qrfel<6#nYvSQW!i@=lptgR6-$NXFxcstULxx~%t3n%DqMd$sutm#``<=qxmy+ZK(*KYv~}q~5@$NWaeLrBfrxV*Qwt z9C;k1iQp#y^XcH0+Z4otrc#UnDt&BV!-58KgZz3|d)j9S3m3(%-4Xg)-X44FSXV_v zw^$6j8C^gUN%6fm6oxUL=%#TUvag*vdHSIV&(@QgULH*qn0YS@RJ>u}%>cD9?96Jx zuT<`yqn~0cFwbQ%4+AX3*t*l?I6<;>wfQG3P79}UF@J4MRXCBvSk2X#HE}ZV#yo6S z5k;fvW!F3E6csw0__Vr6{j9mbIbzSsIIQ+rjwXfIh#-ywrzvsDdC^yjRQbjLlPqPl%{XWn&&aFpOj5;zVPydj*&(k{;8F1 z3R|diuQ_o{!B6??llA-zz7JH(?Qjw(l92ogmw3p)rL%*__3((xH*Fp$ebs%GG2CXP zB6jO>Px8n9Hi9_3sA!O{Dg!B{#%j5TFAo>x1C{?I^4ktxRT~ZA_l3?0b0hWibX&Z6 zI*y;>#q|p{E#QPf<&F|z3+)ekrpp~C-aA|ztWU?G<_w@~2~lwiicmev z-Wu>Ld%0CvE3?!BJz)-eoVD^XyK85u0$^nubEI16ef0m9)MwM~D&uI;Ch?=U4d=Dh zObrMow0N;MVLtG)&D44QY-Hj7=NI~&5W9}%2S|+N@7eT~$XzY~bd{7hEOGHlOF78M zsuilOBsk}@+H3FVH8N{EIXK8L`#2Jhr}-E+*RHP>$Nt?R1=z{QeHl*6|?_WVid5!~c05In1-I4G@|Amp&K z&sU3@tmCm8vNAYh918k1IWi>|V8p$q(#6!2&FSzkzR1`fKyBFG_^?o4ST}Eu+Tn9g zSG0JTrl!7?L(EYV>f)sOq;OYf2}!^gTi;4dIOUmCX4m$4WbLE4enGnW__1r*|- zT|);HB{sDzTM5Sn)x+=GzKCf#+AX;zHNMBV3E@jDpwmIlw0|UmjHOA z%2zH!yTh#ZFS5`~FsbfXQ^bJXVC`uoGIAW!ftq${$6>X)Xeu1{Tllm+ zo-UBXwhxoRTr+SGgS8Z%yc#y%xgTtEM((W!jP3nB-J}r&d!XtvCOJy0?ys ztKYIk^F<+nV8Ja|2<~nP?(Xh|yK96X!QG4CP&kEaaCf)DT?%)qZjp0Nci(>J_H7yO zjq&zh460y{{jFO__$XU3)h z=$?aL9Eqzpn_@n($Lfks1Xsyr*a-S9kdLNBeM%fKG#h?l%5fW65M8xe9zosdWwy`h zyPd!O^yAE;c?EDGQ?&600Nl3^<8Wk>Kg8^=+ZWacr49z8M$zZExuWLJBn4O>-h5+@EHy$j5IqR@3U2m_?2IVx(60=DR{Wq zg5sM`4$~BpaB&6jhtL5vX+@Sbqk*eOIP^djYThd%Cxn(5l9$}`XBI^{kOrlOKc*j6 zNmC@o!FqxmU3{10xln2gJwCD0J8h7a78W@$mr^{Yanz6jz)bSlrgLH2a6>McH=I}E zZjd<+`@!*d{wqaG#b9Y+P4cM#3u*aHDTE%0nd9~{F5IB1_~e@NXB=q@{ed7H1Dov9 zz1y*HEzc2G*)_N!ha5{)&bBFgTUFWCVs|PM6Zx@#O}+BBc(BPbWl9WdoG5L)^_0tr z0p+_@p0DLMwXZp*p32aU!KS`R*=ct(WKY|fdnX&rn|8|&+%~@fLfu@i9d6k7RK-Bp){EHrBclsH*G-(qQTpcz3fnlIjKvrW zF`eI^Id=v>SrQj+Pm9qP6TkyFYV4bt1Da&0AZqj6PZk^!ZJ-wgp%8r^#7c3&mR z0R{C*z$RY4J=HDjqxGMf85Ot;&UayS)r>HDZ(~;qs?{d<{_1pwX3++G##`&bm;|v# zLqWndMz#nt| z(&#*I(&$PcFX|B5$z}#^6UzwwnT8jC{;nfYC}i@opU;FY>E|6yhn<@FpMf>_oolFw zaXJfGdKV~@# z;G~nL&pS&2l6}@ADDz zA9xMyQ$jcbmPz~9?@pHp1JNN-3EHPCG^s};Wt@w4yuYF+G~T(0UbRg{GQy8yq}~TK zSNn^^7;GPPsFU*Quk|L1WbZ31oG#>rbO{yZKHKl4wWH3}I5_zP*#hp^oTQ0wSJk1Q z>cI-h@k-MN-q;fCPS_lu$mv1wb=p)Hx$rM@3mefMlg~$3h+HssmX+YydLNUlyhSxX z`7CDzW?sGIP_(W46`4AEja;cG)p!Ws_RhQ1| zO4|$I!@+UA9j;h7d(!XW93KTA@L*UYQa>R8tQ&l$RAS)R=*}VoiX-ss;)PcmjvG zu)@@grm>|4R54x=L#0*xrDn62v7s}3%$@;sw59VLKz`VZA8qI57Z`EvQGLR|7FV-$ zj$shtpEYoqLQ6McJlnek*F;9J#AN`!(zFN7`@II@4_7k&&Z~~JNjzC7=_0vwHNIw!h!@jjtg@@}KapM`;I3=!~JIS_~@0Q?{X&QKVO4G2w*c`b4 z^o~R{P`oY98HDr#;HLZbh?lFsc6VhxwV{cv#<;M~{_z~g2)VTTj$lT=+&%wy&9v|d^oYL-je{MD7}%myBE`D78SeXm2% zVF11xj=Vp=vy3eGC>+f2klNWI6fRU=VIOq`W+fryqH2a%2YPLmYV0L}ojhAdKmBO5 zruSjm#nQ=?*XVuz<91;QD}-&+6kGDC$TM2M5z_79*PJ45>Me2@?+8A^8gQ(8x#|@dY=c~4j@^BKIazxLkrM5y{VJ@h1s30gz~^9 zJsSD-$r+hV=1T8CWb@wDE^ubxMo*f@T=m7c1@5ow(QAISy08)x%xO2seaAH(X{#)T z?Q)MX5&O4)&e7{1vSbb)EWM&yC=W(2yQ!>|4}W7sFGQH zA)SXB>IQ%I2_d{7pBHh3xa@=U7kEYW&$VK>bX()Hi`7pxnEDBDPu~vWv0f!r9B|}m zUwsfQVg?`Uu4q(XYE7A)d%+MJiV@ZtSSsz`)9ErW>akE+J9=>K(9O%XpGAo|jm ze(OV+@}^vuZ=6xalG>k>Pzdpg0Yy;O^&B`Z=o5{e?I(T2PW3&*nKA4Pg4WPNw`FL5 zEyVar5OE@E7ND-3awn&?>Yhhp>+w_OUGw$%yP%~0*HQ#5hFuUloLv#msGLa#{hM8h zY69xdh~@ai=Tgy+G2qpY&a%z8vbXZAJFI6VtgTUowr0L@8th)Xjp1>P5|(Pkl=oMo z(qnuf-sfKiKNbq#{Q|!5{lxm{hK)vw$nN)#r9>5+>KPqiQ@sgx@gq52N_c+!!hEth z5CuW#eZp?b1|h!sc>Ndn9*33%PLkWdIaMD+5xNq=APF^rC;y(|anj;fxo-L6cm8C> zAgFrw0k!o%O;r6;_UfPhatHMGNfXxdOpwUm9wcLB;;!R0;2%Ex|NC>Tel{L%hL|je zw`z6VHv=Fetqc1`PXAW@;_j6`VbJOzu&jR1B?w*n>YI2m{G-XF?C^T!FvA|~j(_+d z#|)r^JNE?0#68||#R%a6#V`3BD91Hd{4L6)YU@O>WU`Xg&c6(oq3^-<_I@JYzO*i> zX3cp1=Rku$cTnQo`C�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 diff --git a/docs/guides/km7.png b/docs/guides/km7.png deleted file mode 100644 index 04c57abec538938be0b16ac46c9bb3e40c97efb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116542 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 z 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˟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

HOw@-j|E-AK*h~i8VQvzNH;SQ7q8PB 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%0DFo2hKqwLqnE+$3!r7H&y1I>;d!Zel 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 diff --git a/docs/guides/km9.png b/docs/guides/km9.png deleted file mode 100644 index 0199c43136873dd49e2ec466285f9a122b04f143..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135983 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 RxY<#cf2AT_E@}Gye*xF|WGnyx diff --git a/docs/guides/knowledge_bundle.png b/docs/guides/knowledge_bundle.png deleted file mode 100644 index 64981b3044e926e09e46fe11f338d801149aff0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91823 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

-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 diff --git a/docs/guides/matrix2.png b/docs/guides/matrix2.png deleted file mode 100644 index 9bd31c04b3331ec420e9220955e0b4915fecee5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7163 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 diff --git a/docs/guides/mission.png b/docs/guides/mission.png deleted file mode 100644 index 65ab91adfbd89a2c7e509f0d25856916cb83fea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48641 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 Vdn8m@D856S=l diff --git a/docs/guides/monitor.png b/docs/guides/monitor.png deleted file mode 100644 index 3cb18292b8e7529de1ad4a80c6ac3be90ea8fc85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58847 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 diff --git a/docs/guides/networks.png b/docs/guides/networks.png deleted file mode 100644 index 796d51685a76c3faf4f414d037c5b81e262f05bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14619 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 diff --git a/docs/guides/nova.png b/docs/guides/nova.png deleted file mode 100644 index 7bbc57a89e71e212022f21112c0199a3b9dd3c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85610 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 HXea-hhfQzdgkBOI;_i_YRnK~BU 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 Y5}^~}Ca{VE@qj=iMP)<^g>`-Z57C`8iU0rr diff --git a/docs/guides/nova_const.png b/docs/guides/nova_const.png deleted file mode 100644 index 162c7dffe2898ee2a6da0a16fde4922fc6341805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68903 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 M07*qoM6N<$f~k}-od5s; diff --git a/docs/guides/novaarch.png b/docs/guides/novaarch.png deleted file mode 100644 index 7974aca19e1546560d80049fee4529013060d8bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26295 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

#SQ3-r9$iwVvO4I*Llyfs8lnOIU*W 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 diff --git a/docs/guides/paradigms.png b/docs/guides/paradigms.png deleted file mode 100644 index ea0d90d66fd58df1d14c0a5a066bd63cfc16b2d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11664 zcmeHtc{tSH`}ccB6GoQG(4v@AFeab+~+>`xzD}4?sHGLp}rO;@&FQo zAWppYSpo#HL_!c;f(;I44V8b-sdiO8+%;#_OthN zgtQFL3u!rfczJtW^t?jy7E+LslfEO#)&@aB5dQ2LqJQelXLH}@ntX_MY69!XszF0K z=kmiKHdsf8josWBH%A98edwE}M$gJ7rZ9i{HU$kqRqKPFFkmNRbu0vZWurq-$WbaB z;)#kuLTU>CHzqfHmf0Z&r?<8I#;w5>{`4lR5HIm`jWK+b+4};kk~j8g$!Vhok&ARH zTJJyf&El(`6Hd!-rkC z5_NQ^^*xpm?yINt#cAUPo}Z6tKRW|6hnwkMn9%{t-sU~SopShCE3=uG;Qp@98us27KLp|`Qgd|lod)%StD z7V$RrZzmd-E-yMKufv2=Tb$9dL>u*EDCl;qR)7o;q8#nEshsv7rcILXUkiW%wU9}` z)}T6|v?0?M%Zpt9Vf&0g=jjRAzXTAQmNtT%(%#*c^4DV+d7_y=ey?G^Ztv!v6Z-2z zD;ar|9v%WrNZD<(I{NRF$LNX$ex4>CRr5SmG|FcZW@g1)O(Ad98n4g&^xaY5; zhK@An#EAUIp{&kW;x7F?0b}x!QO4Q7Lj1V_g~XRZIsZ~0hM*a$^jBn(k|R;{_x(s{ zSmF$i{AHVc;u6y0U-z&8I6nL<_MeDGI^nk2uK#zFC~73~nXrb-MBY9KvKlRDS-G3q zzdphZnF1A*dZK-V^577OmK&oKV+w;5&PY>(E;{Er<-R~di2gPEJL<=LQqSHmQ#&6;R5A^1q^1ouZ}1DCCz3#lm_Q1&7Z zy~D>k*J6}q6yLA8VwV3sS`m`FzbZ;s5r1W5Uy>U@FcztOwnb(kYe@RuKXjak9X=V0 zmW@-`oMyEPZHjZO|48lK?Unx3g)4awD|=U=biCjw?dV8@e%46*dW{)oIN-n<_2(@C zKRHOb)4{K4p>7o!q06_DigTZieQ>2<{GJ}i*V5cIs_9PSRTR0xy4dV8hQ4#Qg*Yg? z`02T!*V~P)hzHB{T6s<T+-U%n6PkQB%GNv9GVLXRrN zV_*N!ZW<3_N0Da;6<+JcG&-%9=wcn{{_Hquc{e8Qh;mgxtQDneIMS7NiN&rIrEy3^ zeC~16&pwm)Eyh|_5n<8>o%0QJ-V$qw6om;bw9a?@qF1Mp)cE*rSF?RM#3=qK^HeOy zpLz&O-*R9X5-_+vtUPHk#C96k*adshEfsA3p_`Iz8|`-ZH&2zv zknLw$3$r)e^W<#auVQv#QcMXGwM7o1&<*o6k;cW`+3T7(-(IiJPqtp=J6`iLa65d_ z6$FbPay9B#8q>a)f912xAA8aUgExnEbx%%1b{)ekjw8bKXqUXvH&(9sy#!3{{p+{k^ZrTp`#9Uq7@Sui>tG>|GMZFoB$8EzgoNaPbza;c z63l8>)Ehy*{+ShvgdVg!KsNpj5M;jQ9Mb(!UJ%4cC=ly%Xpu;#KfdW?kIZeEmgk$q zKn!uw%(`%p51-sNJO8=@=+GH>b~Xr5PtNW~=_jV%)-f=K9{(VPl;nVXoFI+0Is-zT z5@7wbw)vTao>rC&1QpoziCqzArcM{9|8#lV#D+? zarD?I%b$&dQKf9-Atc&z0a{WbV5LJGl|kwV{^N@_fq^3vrK5?o8~&pr9?FmlI&^VSRI6!HxUhnsU(>iTyrlIY@?vXr{V$Q;gEA4>lG)FM41NU43_atNt}X(+~y~R#|DM zwa6`>Y!D=~0@+XhdRBhd4$1KP#@H$UwKNB+j!oux`_mY2t)iskh9chpH0y={lmtF9 z6RP&45XljnRm9CT%XhtRR!Rb!!pvoCrc4Cc-hwC_EZOjJp)7;I|g-cW-bW*f>Sp=*|aY)-017w5TX#(LC>h-q0WJ|ujxp1 z=`+%YaJYo=`K(xJEK|pQ=n;gp$}D!h>=GJqHLXBVz@hkugVyc(!$pIk^j72Pp6{62 zpz#Zfhw^jeJytLIGOI5KOtAKU5ID6~d-JQ7}>|`$Sd~0A# z`gLV%3fGH{hKT;Ld)a}7d3@2bgEP2rH&=bT_qF%e1jFQDza;k);*EmW_a9yyS(>+g z9Da25h;7g!jm7a&Gv(lMmk3Ep%g@%b)G5ERH+Q~M`dpSVhTE%cJuPh+rW^c-In%=m zpH?>geREe6!&3PfE^&=Fx9GU7+4=1V4*A2*nO#LuH$J{jFu1%vuE*zh`grNp)qqbP zmerakd8fLfW+@>?eY|X#j}(uhZD*G;9X(cyJb$C*_bFGIO-YK+{h#0Je1^JZv%H-{ za5W9$1^MB!E2S%cdWR|bBL2j)*%j>^pqz9$t?JZLQUEeRSe!m$hmD7mxL2;TOx@UOzwOJ}x)~8@;G>P; zGE#gxCX%Xpaa)? zTn}bYMQX>XL(W_JbnB?)cXGoIC?>7$mMd0F-;>_mg2NASTD>$T#^eMd|71|<WN4-3h+4MpLNWG$$l@R38X=O@ zz0u@{=_6X=gn#Qxdg>;5d)~U92ubZN%&5H#hshFi4D+eUZv@HrZl7A>P8PYDvno|> zSm_Cb--*H%ypAca}a3n(dSs8*hne!H19=p=yS0b{ZR6Pw`H6Be3 z3a3I=Evd%y(rZ*WNqi5sTB9O%&23unK0T=?3(i1$p9@`SG9gsurz~l<-eQN=7oP{4 zxj4`A<6-5%^Q!UER8vht6N=0N9J&mN> z@7{z2^wmRqjPVGe6YQujxxVQ{NFn?+L5&t$+4~$v>9n23K{p8dVE_q&L%=&ws9#6< z2^f>kE-NBbDAUI8|4NU5rfLUNdY}$)seB5T0YEG<)-d=O7*A>g zf*2&jXIBFJH{6qQDCGT(^hgM6qu}SZ=+f!R4}+zUfSx)+hfict&@*@cI!qyfl{02u zoXSOCN-=IUF$qSI1NTWFh!=t+r-bu@9+|;_XBoMA8@C)(%4+%5=G+=Fd**3&+elL2pUxWkfjQTi6dby)%T8|)2fE8T@X z1E^3y(~M{*3DWIFAn{HhIctnzup5v#N;m@!fMBkoA?!jEDafvbsZ9SOhES7{<+9^8 ziCfiu1`&addhr7Xv#BOftT53I*A%n%AcLMx@5D0uf0>=`_qaCdbyQ0o;cJpZjiT^G z1e;id4xE%I?%cTJnW+m@^-A{qnNQnAzdq+rE3XQv)@H~5xRtON5rPzWl4mfL?HxT^ zshd$8dB2C{Kg!k2@{9*xn-`4oB6V`&boRwruen{C0dTlzGFNt;#1jTJ##fcU5wb%4d3C&%1x)LZD=q^aZ4XjXM(Cx<=xlGb=U|%gV!& z-()=@NS+MUHIs=}qeYdM@F!bwg(+#?!dBC9M>n8bxSNZ1*x&`-ONeMr` zZMC?)DusFC2Y4ioPQV^VKz!Q3AsGe+Fh+(TnXe5fL~C7Gx`8^v9TdewvOqx95F*(RIE1D7f?aa!{YVefHnpubs17(PI0rZ36O&ubIW9IB z>|-lU)z77lBy28}Rpx*E#!WhgAP$8CFcz?LQ>vqzo20^y@)tEWgfSCBkjjZMNRk2A z!MQ0WH(N~23Vie)Q>8D888yB#ax^EG07*Ii4KXqTfVhX2@Q8A5z=kt!m4z8RxfYyg zgh#Leg?yRFj?HxyQ#+gdE7%O&Cr>Ym{S&X0+K$i|i^W;vvJ+$t5M_=hOvhQo8Nw7o zLXg!d<3VKXqUQX~694h4Q0u^+{du_PoIH%oAhuS7F%}z7bR?1^oAipOD-U_3#2rHU z*?37u+z@pypYwrri5r{&z~q;~%pYK)W|x#WKU27v#-(JFu6S}k?>+j5Mu~` zbwl2?mJi4vPJfv08C-k;<1%%h6-*9p(B(QU2t^Igax%4xW3M~=i9^sk=f@bIYlV-x zkC5}$w!CyC8HWy*KLj;f(^X@^%_K;b($=~3RPW&Sn)Es!IXTTkX+JrqIiC2M_sN%G zy&u_L+b`MruCt~`i)#Cfd3vxurMt}bG;^OQ8o6qyHFuL~uA7D`kEr7%()ou2j1DuH z8OKKl2%4=PDXaNaDx`QTZMPXV#QdH`qWs+3+G>mS>TG(N2QG;w3)AmD0g~Jq$Ji8B zMzWjyPnFL#0}Ja$j;2FkeC{b3Stt+ShMb`qLg8-5Cgh6Gfx>{rTsXHE$9M=zhFSvI5t#!ueq?gD ztE(dvLV-=VB>#eaAh6NtN!bnFyP$Lf7;4C>BIdW<{Q2w+-ljTv4PjET0t#7?$ZFtY zq%_ZC%L8NH@1954!jpuD+-JOfp6>nI~uB5lv!chLS{5V7I&p5R>Pwlk9jLLkk0r=su-D!sFHMZ8jT9}_c z&j;%YYfSyppWs3$cUP0Iw}n*JkBZ>9tJ2|&Rq%Eo#g))$&0by@eQ}Ar32XegglTb3+W=fJZ1jDzS?wg>mKclQn;>U^ZmqGJ)3%WGCSku0M&|J1VvO zo@Qj|{#{MYCIVTFC;RtzjoeDN3RAG`yIEVlm;5VNbERz{a@RcTEJjVe_171oaYhNf zw?em`I3YD;QK92<^6u2v9ZZeK{z`LdCflsrmFqK=d5_TK_u#EDUFy90D-Kzr(Ctgw ztxRgetu=8P{91VSgO>)^5rv7Kl&+1l*P-2dv~SzmIgWdo%vek#e%?`4}1S@5=AUTQ!3VPb!3 z!O;phM)z)4)3=-!mvsuST3pK8kC9D}at7uq_2MjHJE#?c;SRHJ0*MZsyvWR$XDA|aq41F4X1Y%xtmXD=<6em}or3|$6P4~etP^f&i!h#r=TKWau9nBq{blAo%+ zj?I8SiACCq$M#){TR0u`0hbgQT|QDeD*6NtfM%VJLGsM@?b+i^Q)2lRTN$omXl??(1Xa?iE{)QeBSg!MGDEAv|3TxzhWU$l>qSH znPc%Q7XNw^`p`scw2Al`2p(PVW7a?NR^#0^tG-`qCsXcV6x`fGLn;kZ5Xi zR>u1rAa&So0y<<^ZT$kf&owOB(20%F%1-C0m%poN@cV1=zjM={6^k#sl@;JbkaFO0)~jY~w?)=$)DdLfc%pu>l*1R<$3cLUA)=1` zt|Nyas{qqs1sr|B`F181S%ITo6{32^+ADNDs7m6xWDF@h?%4b;CVTMK$L~hqq&)O% zYZRQu@-ZUR8?J+8RdRROHm0Y*8IwT7?v+3hQ`48r6Mmk10Mq=V)Z*Gzjx5y~YoiIp zW$Gw41+E4G#f^D6os4(4wKpghgU%kI{%}~We0~)P_3S3FJ27dL1CzD%cfV=<)v;eA z*VCnZ)vc2ZWxv_Z4t}Sw-V)q4{*}&PXRT!3$mjK!LdW0Z3$uApYogn+q&bR(G((8P z7K60oDVi_$X)K=W7P8rsY3rG!=Kn>Z-gsBRo#xuzI_eLu+&f#Q{R|Q?&>kC?e!Vo} zmR0uDoAr0`=dSIl`um=n^>_zmkEN&@{)d0v<>c-X;L89L0Y%K z@itqZ>D6p~&*B-WL~~`N+97m2W5-9czRrU_*9Mv&FIyKMJC_w@vwuj=J>9&b+PFn=3~rN)6vKEZV?at2(>LvrPns4O`y7-s z9mEIeh7jRA=WWNHypv`(S$!+FHCw$In3(BQJTlxdZ6N0JTymn~+G3NV+@=Jy2e|x^ z)%}^OA`h-pYS-gBTcWg@UO4pdo-unT@a&g*!KW~rYe`TFo$7f6Wvt5jHrYePLpLn= zfqQ@I=j;8l)3#eB(BZS%V|KU2F#F^!CmP??_9@!;x50bEW17F*r!O6S>`ATrya3Kb6Z%i^xY|nsw$!}k~YNFBEGVI)i(LN8FLn;F)dIS8X zJa`y+orhr7EdQE&(3)SR@wDL2b|35Q)tj{^zg+pDOeH`=FP}!IMaxv;a8GKAqbD8w z)5=Do2WI&fzjOGgOMvgOM9|6Ig!j#bZ=hg5q^C_$AHb z#t6t6LroVyC^fOEr!{bH@+WvLhohGv@#fS_Xzk;|(n`=M=pU78xs zdYc15(HLrXl5qX1ZiZ&-lC{IWt% zwv|}?(Vj6~IT>n3y>Xdt!g@$p9h{gr{@{rgbv*>Zno&D=5K&}{W7 zZaag)1G$#s49#s;wZZ-RwJPj;K_dvlpVL2^uWolc{QvcjOpq`B`$s0-Ct;A#F2)H) z?Zm=G^5O8?>7QjvAn3{H1{Va86Y-#}-3XeqF&Dv+-<<@_>e0vGf;`UyeJF~6M!P^9 z=*&d@L-vnC{;`mMeBqzq@K3b-ColYyDF1;3|6rv5>!8sK#yH1nl6MMS`|nWse*qt* BxV``Y diff --git a/docs/guides/performance.png b/docs/guides/performance.png deleted file mode 100644 index b12df0a0b00040e74bbbaa390cc7b315df94d4c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103117 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 diff --git a/docs/guides/postamble.texinfo b/docs/guides/postamble.texinfo deleted file mode 100644 index 3f20206432..0000000000 --- a/docs/guides/postamble.texinfo +++ /dev/null @@ -1,15 +0,0 @@ - - -@ifhtml -@html - -@end html -@end ifhtml - -@ifhtml -@contents -@end ifhtml - - -@bye - diff --git a/docs/guides/preamble.texinfo b/docs/guides/preamble.texinfo deleted file mode 100644 index f8ec853c2e..0000000000 --- a/docs/guides/preamble.texinfo +++ /dev/null @@ -1,98 +0,0 @@ -\input texinfo-altfont -\input texinfo-logo -\input texinfo -@selectaltfont{cmbright} -@setlogo{CFEngineFrontPage} - -@c ********************************************************************* -@c -@c This is a TEXINFO file. It generates both TEX documentation and -@c the "on line" documentation "info" files. -@c -@c *********************************************************************** - -@c %** start of header -@setfilename CfengineStdLibrary.info -@settitle Community Open Promise Body Library -@setchapternewpage odd -@c %** end of header - -@titlepage -@title Community Open Promise Body Library -@subtitle A CFEngine Standard -@author CFEngine AS - -@c @smallbook - -@fonttextsize 10 - -@page -@vskip 0pt plus 1filll -Copyright @copyright{} 2012 CFEngine AS -@end titlepage -@c *************************** File begins here ************************ -@ifinfo -@dircategory CFEngine Training -@direntry -* cfengine Reference: - CFEngine is a language based framework - designed for configuring and maintaining - Unix-like operating systems attached - to a TCP/IP network. -@end direntry -@end ifinfo -@ifnottex -@node Top, Basic company information and procedures, (dir), (dir) -@top CFEngine-Open-Promise-Body-Library -@end ifnottex -@ifhtml -@html -COMPLETE TABLE OF CONTENTS -

Summary of contents

-@end html -@end ifhtml -@iftex -@contents -@end iftex -@node The Purpose Of This Handbook -@chapter The Purpose Of This Handbook - -@sp 1 - -CFEngine is built on promises. Promises were chosen as the model for CFEngine's -configuration language, because they represent an expression of intention. - -If you are using custom scripts to manage your systems, you are using -@i{recipes}. Take a look at any cookbook and you will see that all -recipes look the same: take flour, eggs, butter, sugar ... and you -know nothing because you can make a hundred things from these steps. -If you don't make clear your intention, it is very hard to know what -the recipe is supposed to be: is it a cake, a waffle, a pastry? - -The same is true in system administration. Recipes are not merely -scripts, they encapsulate knowledge and experience. Their value is -in communicating @i{desired outcomes} or states. - -This library of standard components is like a cookbook that tells you -only how to make basics well. It gives these basic skills names and -therefore gives you a common vocabulary -- you will put together these -basics in creative ways to build your systems. - -@sp 2 - -@cartouche - -Please contribute to this guide by helping to develop a repertoire of -basic skills and names. This collection should be comprehensive but -parsimonious. Basics are only basics if they are few and carefully -thought out. This is a work in progress and your experience is welcome. - -This library will be moderated by CFEngine, and contributions and discussions -ca n be made to the help-cfengine@@cfengine.org mailing list. - -@end cartouche - - - - - diff --git a/docs/guides/promise_page.png b/docs/guides/promise_page.png deleted file mode 100644 index faff956db306eef455028d684af3ce513b054406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91955 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 F{{p(6*CPM` diff --git a/docs/guides/qs1.png b/docs/guides/qs1.png deleted file mode 100644 index 708c27dfeae79e1cdd2982ad78f1a8008279c032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52999 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 d+~kY@jAu92=bY};&XTa9fuNnQg4O%fP7m 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

>+TY0k}qK3eMl8 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 HW?}yUA4|Bz diff --git a/docs/guides/rbac.png b/docs/guides/rbac.png deleted file mode 100644 index 2f13877114ce652dbb93c53b3d8238c85c61d9dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3534 zcmeHJc|6ox8$Wc7C8LdGY*`{IOSv6*} z2><}x#@gZn0K$zB&J+`d=1M%%A6mrm)-E>zkhJ@K2z7Uq+CxG`f~7OzVjz|fay7^s zSUKA6x55S9B;33fNR1~+@Np+N|kDM!P= zehVA`=KoJH+R26kFiznF-pJ-Ggq%882zjsN96n$nOiR5awHpDrNwxK}*dN&YMw>T5Lek}jeXI)a_bAErdZ z@+>(EsJ@~GLG(jO)mLwGCe|E2mzO09WDt?$Bc0xKqX0Rvdt-5)0oFR@KgGpMy2O>v z!wX~z?g$J(yLj&B#E3nNxx=y#b20LK!3Nr*pT9wh>kAW*f2_KS>zq${ZUD-9EH$`7 zse~twy^RQcExsiA8qkk{_29hnCbSO-&hr_ zPt1kwq2pF?bGY1j@jN41M@%(CXVMgd$-iDEEo)7wAZ9T0I@rXC_{=@@D{?k!XejK` zjrUSIx3a7sU#X*(=%vZc*1b7fZj+9zxqWr!ywx6j@JD&bY%k;6Dc%KF6kfe-iP0di z^Ej-N=HgeJs&lQ$*Nb`WOK*O`-T`W0br3Nc&ulf7rA~gJ;w9j-Vv_Lnw0W z8I!v1a;=kgvL=RVV>atrwU+D5hA9Pig!^i$>f+12mZkHadXnVgBJrsm#b zyXkp`Pt2bQ;haW`c=JSiO{+T5ILgAqaeOy3p84)u#Gbo#9qbvKgsW*~s3rX!*AE-L zVvMqcd!`)PZeM@X_y(_@t4Xx22~e-4c~#ygu9j?NV7Gf=Z08AcW{J1sT8M)-(Jy34 zPhGxobp`$T-_btK7^x9pcxls%REu`L@3l_LWa4p}b&$CL%t2sM4f1zv%4guc}Rrvx=^kBE?4kZ&D zmGkqre=<#aOsX}8jzHU=mHBQkwi^U2ex)R&cL5+R+0Zmlj+1CMz?YnvKGj-wKdQ)209gLDCwG=9(+S6p#P@YyeqXW51@N^^G%lW zcbRVk(gxo_yu3IZn8icl(c~TN5MAc^g)h;`{}PrU1R5rg=?_!+ya(sFsy&sZ;(lFf z`6~W~4Mt_OQ@UF&@4iVgV)>U9v7(0z0BWbkWPfoG{XrM+FA~~0{_BMH3sDY=?nIku zcPzB6T@F6|h*X3L`ZZ=kpD0}W$kBdbP%lN5CDLQ}?CR<=Q%d9FxbHHr_DO($)%A_0XH;=iaC=J6$eFd%qVt_e%%~3fc zR;7Kc?15XG#R&4gyNvPdz^~~WCbdUlT`@&_<$ITQAxvH%h@S(yzaCTvkxD1EP|`b| zlDqT}+qYF-8(54@p*t`CJlENqScdUcryVmXfa>~8K)iyv@-;+erTD!zKlcN5!x!)` z8S}94-nfI~^0&P10`y0LSK^h)sTbX8*{Af5?6dW_8+f7u&xVzZMOw#MW}LR4myV2B zD@DB}v#p+~7^UcOP`gfSu6Sm%_PEJAUN)?#X2(fVZNf@WeiFwEr$Xo_Wx_s8Il%KW zQ|*P_$o*E&hWwN5!K9Py_gJQ)*s(A~4-Y$cdlT&QRtowU#jZ{Z-Z3?HPm5;!DJE6> zK9z+yp`ze(Z$9CS+=Lhp^cW*J0UlXzAIv8N+lZSTVO+S?R=qS>&5NYE5@n(9m=Iza zS5K6NkgC&}xMRz|D2ZhJXgHtX`mT~UOHimo`C8 zlvLwe=5vRhPUz;YIa_7GBK;HZ#%7DOXy4&}C29?3Qr4922F_hP9^EprQ11{(8Q;}q zzKx1qUA1e~pT6X2LDFq4wtTIWd-=*O5yX>_o1>4=mupt8hd<@2#i?%3vBQBr?5$Of zYYiu?h1vic?A+aY>l>_{y|2o&$r1+)rysejFf=*HAa|R@s`7NQT-A&8noBqk8da}2 zdL7psBMnuJmHW-b?epHV>jA-LRM+hTen&0_sKN0cgG?+*v5bCn)QWIrQx2hE*z^8y zo0V(rH5r}W0MUJfm#ilt3R!jXG+X>Di*W03lCG~?JYTHDF3Wj<+du7F{MKzBOEKiU z4={YX5?VL1UE0HDbAfhfzOZF{&iLK1$`9nz_Z@gQx14UZIE+aQIYgz_j`La(*;2E!-wWuQ(J*jU}7jtaO(b@)bj3)5R)_eO{2XW(ysS1!vWCTngf6fFBAgSw%b73Lx@B5 rA#U`9^7qyNfCL`^cJ~0F{-?p8dHA2+LxoVk(GOZu&*j|yvjYAGuT{cN diff --git a/docs/guides/redundhubs.png b/docs/guides/redundhubs.png deleted file mode 100644 index efac20cdbd215d7ed213da925fdf4bad70b95455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10562 zcmeHt=TlQ%*LP^rgb<`eNZ z5+I>>R5}QuOAVb!@yT`1^Ul2gz&rDPxIdiP<;*H)?X}llXZ`j|V1X*1xfZ{}$YD@NbS8vrVudU+xX=TP9Pazkhqife$>T zMYLA<)Wt?{s~V2#-&owVxfceOcdbHX5C}x{Uu|#t*GE;q0G(<`qE|9o3c~z!6mYad za?BXa)=^}Qdgr%uG|B>Q7AA`GFS^%BeAm6k3$Q>-<4;SUb$2m4kTQ^5kyp4%iq(?r z@6o+@0P$4%QgIT`m%yMTFdcvCINjZ7O41z2;LQc$927MdaSqL90YbsAS7X9iE9Ygt z6BADvc_cN}i8|WrlGX2FOPcKORt4r2#@N_{L-`&+4!~i|vz*f-4;CW$t#1*j^a?{M zea&NUkp{7V>n!-P7>+Gic(bHb?~|+_+poNtZ9eS)01XF-H4c_Y-;V(&CytGxAsjMz zPB7oV%iV-t7QB>PCmkp(BUPysSsEI7X*h{DnHeyvD%BfmB8}t%lTBh10KAq-k@?{2 z=j~JHz6@cxc*)x#{0rH_#Vp%jCst(@uzNdH9JoPS=>fza8-4>|^U0eL(9r&s_ffc~ zNv+;unVe0#k~S$E6~WA}6gNaqHd&=S;?U4dgkqxAfC?64IUwSP_0mh^PfQ_f1<}O- zfN!}4Bt*{c3yb4RV)$JUWXL)Da@$wlyH>M2hWzDo(ab5(h8zwZV~V|O$qh!$waBca zfdC9y6!2d8XDhUt9^k`|8)E|~(Ua+FTfcjcvGGD|j5?#v0cAaj=*HMoq87Kc=_SM? zF=B+;nrG6*8bc*AVMjzQacW|x0HI`+xD40lbkIBQz=5J@>b&{(FV9{i7BKYHN%+DM zJFtW;i_wBD%8L(T18f$D(6umT62te`HAQzAa=x(wUo&7MPnwN2h~WzWnWB{Q{G56e z5QLo{U>wQL98O6Tp;`Dk&CZ(4WI74rZurWrt8nKTK$d|rd}Kic5weL5R)3z9uC#ot zCbCvGu>alJ>Nvsg6FIxutaC}_5+vPm+9PdNTSvT@lBGo&B&=Xk(6vGZi#1q7@mZgXx~H^vh?=%5^$ zjlXpI&KzWPQSzNyn^caO-fZp?qL|aH)G_NlH+S*Hjl0v$6YA$Ow=HzMS zX&v+dE3(ZZbzWk%{cxiGGOSgbCFr0*X%KSO$h;V+&DvKn@~n_(=h`WS@p4sJM}yyY zm93V$#iGtJH6-U+*jm_Ic`#+Z{P>T;467ctxly94?0p6lw;aF}S!EXa&}cK4lEwNs z@j+MFr!$OJgH^Q$B$-+0ZmQ6m?GMWym+$!sUCo@jNG7j16O($olq-%z5X3_DZzNLq zLNiO+8+6-jvWWk*ZO=a{u1r`}d4#kEeWAuTG>K%(Nn+|w=<7Y1O`Yi(nU3cG3JBGS zt8s#xv~%j%W9?r8MQ(>uS%9@#+z!KJ>q4dLJ2EqTRi;mI6kLTeodZKKuq1Q9*$29(A zG94%b%+HDDZoQZ`@5I;Ku(Ng%@>V$HTUWS+Wjsvac=w1pN@do=t=yCW>gTK*w-=<% z?%WjC+08K?pv*c-00!IUH4_4!++C#8B{3{tNrOHu!qKaF%?25a2P6M0y ztb;bUI7@+VPSd54i$m;4uLO{|@?o&|TFxK8=ZnF8o{K}LV;dWPmj;1hFNtfpWk}4` zN_MN1;!e04AD*n-B#UTje!U53c0S(s3d>o`B$7@vHWS5kSwe=hB8RR&8|yuWLdn@9 zR$Bx4{pNIH-|Ym#ol^CnU3I(rf7I~Qp4ib{(J`*k;>Y&tnC2_ci~1H2g-ulT3D=Af z@-08hbjBL7N?CSXSXcE;^py!Sf7F%?-lcKDkJBb2s+f^%&i*8YLmX$?WrLF#f7aGb zvh^vgE^M1`M_2C7dAz>^-)t|lUJd0ZD`&5>D4mg{---Vy+0{W~M%%J7ezX*_X)Ega zTs88=zw}wRz4rTj&JAUSOx znAxcC))su}YKT_Z_A-9v?+`)lcHXz!LDGcC4np$)4)=UWEzW)kYsV`Teiqi5mk+m3 zXucEmoWV!77KC2-(i49|;1*6Q@Fu#XSp{G{u1_;*h#b0jg4?NnT=dY7F0iP^^Q%ef zoKF2v{ud>1{RAyB!=Q!_B$kT#&PP+dEo8kfbK&RtAHySoNtPZOi>eM z)NI)v@x}TCgz~4n_(o`yh-7kLB|zSW<#2jK+;MmLn#4W%PVL3yilv!t)v6`)(-r1|`G?ovbUz7Suie{B#%)8{Y#%^`OqntwZ^iT_WR(BsNi)l$i+vz7r@ zGfnXEmK=wp*I_WMZi{jUg52WB`eLCY^oM#iXtMWwhe2-uAVJMA!LZ{Pz?RU(0zA^$ zF5AfzYBa{AV)!7(=HJiI;X%R|5}^_uv0hJ@)b0$J%Z6NT3PcH+2n9a!F;0H4kcPcIwffS7_I#4E;VTG9BdAGNEg|E) zc{J4AmjrHedMe1`JKA}2<~6IprXs&;nx^dUz2xAxiDEV;ZgH8<-cAVY#lW<&A}aoc z*cWbYC>|jK7lg$fVfcAU_O}PwSRz`zA(QcP3^L{ixrzXzC!Db2EAuv-o}TVJf4A|% zSX)Uu_nMQ66U=5!&Gj<^L3J}hmVVs2b)xh9Rxy*F|E7xT*uAw3h{is7~TD*WoSV7VShEc_o>F_ z$8+TLb_Vnq+qh@_6?!Hlb{xvhI4FEY=%R6eh-!BNK^nHR0$(mu+8Byr#izk0UYHGF zl*H#u{!#!9m_wqU6>b})-Nb%LP?O=Yc%Eo7v$%yX_?B{OQmJN3(!~o)ov)M&`C9e7 zBA7$`E$>G-9A+X6t8vp?b!obHF z%xy^4Zcgc(*=9)yx2_(~RHPGuFGbK06&20g)^W3&)A`eE^UZgw^f0k&6lYp4+}3gZ zt*{ihqR!qDgVDof?*J&wOw8S<{VtNvwzXbO&4+;JI-!(7*su3B6R|CYH(!(3;wf<+ z0?5dMyS`m`-YzVqV$OSe|e18DO`;Wq3ms57(Ey19o5iLoBqKJCA$nx+oQjU&m z<;PmPzUFl`yz47}(+xRB6HM(D>GeY$YkB_%?|`gJU3iIlRzn`4O#_(Y2I%oM*Zmnj z-7QPfRu;QUN0AMWkjp^-XKG&2=7r!IRP_z-NfLDXz0uFpFm@gxNLs|Hd1S+CxddSV z{h~y5Y&ZNF#CwRy2#gPOu$FR%J{;qH7M~w+k<3~luAD1Fcau-3z-UnN!%*9fd{RFA zn(`_wqc)d@*_gr{7x$yhv2ww?B$tRH>yknGL=KOFox8;pnO@*@rqM>ouidJu0tcAt zFSIyG?T?<{3{)_AGev77MU)*f-WR~$i0Z<$&Y$l{o00d(ooc#iB(`D>2`ooz&0H%w z7GyFur2cVjb&GwbU^LUWxI4e7%w83bo659MR3V8x?fWMM%!Kr^6IiaZBBFRgfXdg>WY1 zdgJ6PpZTLp@W<}B~6bS&9# zwlyhSQ9ThAyGCU9c47shkCg_lvEMiGn*JNRmXq=%3avPhsX%TAd+nQd@9YWN($8++ z*z-Mq8Kx4W-28Q;ZNPqE`ZytgzxF~JrCbp&ZX4h(z=d|UzsnX?T-ln=ly(xnDhg|z{5$5CFJyIw~JoU!bQKJ|xwuHOqEmdV)OXeR6Cr4ir^LUWKCCJOJ|1hD8P`8!Z zr@X^ktBXBCTZip6;?MZF4}%*vYc_oqwWMKO>8${k)!wbl=P%}B2aSpdSUlvYT^S@sC?^*FTWg;j*$7>7Jv6@K5GwAc`bDX&CzK z$`g^*GlG5a#LiG@(BYsJhU&1J$~S%dyp3WUlnI!LTg#d}MnzUXXq1#}!ghLmXl#e^ zR^6IO-yu4UG(MT#ml!(#{M}c_y{37m%E`^MU+&+ZKl1Qf9(-wBg;cedSWPZ=d{|ZU ziUR&)EY|+}OwQicE5EJX&ejT3(GdS_yIC(c(hP-|(`o7tIR6K3F!&i+XvE3i_s^$D z6ogChSoT(R;6+>OxUucyCN=lor(`vJ;>6v=Rf5@9WbFgx=m4u=>^REiJ)B$B-FUfN z5^tBUy$G_hWxbyw6lC2~82?1lU7a-YSi?iP_W^?DB->SlUpxUswz|4XG8I0%shdI@cs=Xa!;daBptEdy7EnuBcpAYk%aP3bQu4ZqJ_l|gb z-8s+jFYk^HGNcmbJ?dIATA)5b=TqsyQTkf^cKGEfQ>lS^_B1}`&G&u#_h&nPn<~~v zvz3nQEZt7vr79z%XjDJzgC>9051TJ-8MQcMtTk4hA|PCRsK(?g@|^U0CBXDeX^2TS z&aHOM{MVe>Y0@s&O)+_eZ~0ap0@nrt7JO~6hc%Z`gtL3!UI5K3gNsz4`8U6RiU{g^ z9(;GN=@|8^iJm1?*l7Fg?|0F6HVa+Ap@F7@zk5_1mUrxWxA6MBxk-S8Z*3mz`rOAR z)R%51lytMSpW4$`c30C4yAt1z@S)!yhy84GUU!g8@t;k@zpG@ySw2s?p&OZkASapF z-!-cjR7sIR+!*1rPw0Z(sCl+%P5f$hBa)#=qQh#|6CRcA>NekAt#vFzV!`J^Qk;J{ z{u~k_YNTiI%^`JKmyh`&_bAnWMB!dTHlyU2nK{zeY6`ZtD0Kljoi$#+)tn8&THNRH z{-OfmjHr4N9*(8RB;aATG;`7S-8tVIUk0`IobLwBuU(k8%B|7j!V1cSCDJm&%1tT#wT)Br}661oWweb0K{D7F;hR-zZ4wrS}{b~9))OCYZqlC`$!0BXMZaPS^i2P@IJ zs7F6v74EE1YjGsxJ3l`HFXk|4&pqRo1Pa>{L zp)1L_hVp3eB4B5>xQ@%WB4jzpZGbGLxBO4)MJe6y#XGZUz|?xVV3#+|EH{_ooj~cM z^`gI#*VO2ds%lZiN~Fq!B_)NoI7nc|e!dDv8)PpZ;y`c}G&=US;_P4^8AP692)Y6T~fP3EkX1iV1^jLSe|GTXEbUt6| zJ?|(h%gR_+aCNMlroUfjct>DT4Xrra=>!mt7p{H?9h&>cVB~q&)q(y4+zi#$?C`}l z6{YIWg^BNGsO$f5b}$T@$z(n`kacc3y3!wYFVz&6T5x2_zU_PAS)N1OQIr}m%j~DgxV)P7rmz4AGQRzNNA2XGDX2zB2Lx%^*7oua z0-n{FxivrLhR7Z3NSJgKg#v;e>TgM5@@)JrmUJAEsWI* zjqVUk!L7(VuK8{r-EGe;GcUQa_tJ|jo8NweI`LYac)>+e;a5-RT@lZ6Srh_RIsY?x zm+oBAA9um3Q`{v2^Zjs_<6SrF;sx6`4eeiBc~!?tmDJF{O++$w@%c_QSF`~oZpLh(sm;{zh=BV1!s6>Tr5ai)YtbZ{@q-2cHX8n*nY zB+1#X>%H}`{?o=%D(KowNMNi5EH~n^*6NPIF8#>V7lLaKC`nwd{9+0V5dO@iWvO^( zzdbmIuUDt<9;jefp-MS0iKOGb&{}Z7x9&b-a`4IUS%22M*#Q2jTuB^O?s4>Fm7P3x zC3$cW|IDs%Oz=TMXXf)3j#p4fVROBjRfpcx;`YSmzzUn)=h`9VTdnsRC#EqA6w8-1 zVB_3puW9zBb8aCIo|&wvUabN?{SAFmARh;Xuv3*oToKmD0DtF3UYTxCK@c^n-|rt5 zd}Pi0wL-jj~ zCX^tS>+sC2-Xn=qOrl_UOg3i9a)AS=&=1-ZUl`_F-Qs+BbhC+V+Tws>S#(cRKMdt* zT64Qxaa~7|tq~)`ZjH+Nr$9WL*g!G|ff zzY)B6wxv@K@k!OtaT0p5kwZ;IOrLPmc5E#op$E8W>l)BRajW@A35nlX?m86qCl6S- z4OI}RS}pbo6zA<{I|a>s6%QrT@LF-^LDmjnb^0e%BDy^LR&!A6O=M_o?1zW)X3Z8sCc!^0Fnc|JU3bmWnKdH%US zmR|(>22dk{VP|*vhB2#-Cj8ana3>LMn?l%&1!f|;ADyKGB*JPH<4-kqp|G{Hm3;Cv zYjVeVxZF|?;iq%J2>y?bO~-CIs{SJ*S@|Ay6so0_(s>Di;hQ&qP5D|GZ1ADKt()3; zSjx~hK#^~}Cd_@mA6Vr!FRG=BJdFBPN0D%7C@H-1;3vTS1S6XoPVm%_1~HA!;ay zMyRpFFuiRUrpfoBDVU-Xy>f4dMz8y2H>b`aJNjiT1>hBs3|;P(URVAS46>t%xFJdP zTsbXNkF^VCeoAAIlYTPhe<*w$trg5?P8%0^2N|r)yi8Q0^-HT{|Kc>>9Q%k#0Ei5o zC0pEfrvtb6;SwylPGjM_E1#Z4Fej!^8xd48KgnG4{$xb-e$?0#unbL(-i@v@(3Hf~ zqcJvpAt zuCy8DLSAu;^8X#v@K7QHOV4rYaQE>6@)j0=32_0cHjM}ZnhSe4KWK}x$^ZeSrza;k zSte=FYg!PZ^lLykecS)sqv7^Hp=6T)K>jur*U#EwLARuZ1z^dZO#H*DhHXPO z1yDtD|0~ws!e|>L=nVnf;njd?Zzs_uGjm<6`3t6fBcMSK3jo;BJP1(wfAZ6;3b%Ke zjuxRb_R@|=jX?{E0{`lHpl%cBdsuXBME74w%84s$Z$#jLpS3ty^$Ott%94XfEeNF- zh_drJDFV;r3UVhihm0!BbP!H|EX0Sh(#nGQx<(GPQaIz2`lT;SX!CBG9b)1C*vim! z{5UfgUamuPO^G>41o-QB8ti;|5R{`xTNz@{EU#lUJ8eM|yn>`X1P^GYPulRatH3X9 zNF~rrtx$fd(nV&cElduas^x`kc?Am1_1WC>t!7-LMbTW{C4@d_9*s(I_e4bPgoZEv zJii;hfQeTF0{%*LL}-MLv4l_nl#U3Nw2b@UXj&Jqb*f$lI!~sXCEBy)*5$11`)5Vb z=7$&M{-EGvo%6RH4}vA6Uf-FT z*S9{-4gc@0k6|qifCyK!QghR?4#_Se*X--eL9ZM@x_=D-I734K4oh^JPXBHGYl8oJ f!GAZxe`CRa!{PtWCj!4}?71K0gJ#$N`z-w*ZaLM% diff --git a/docs/guides/role-define-loba.png b/docs/guides/role-define-loba.png deleted file mode 100644 index 61bee7f60230928f08580055f0b0c79a39e85409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21051 zcmb@u1ymf{+O-S8A`k)ucL)&N-GVy=cXubaHW1w1EqDm-?(XjHPSbd!x3kYa_MLsc z``>?D#^_PfRjXE2H@wf9b1p)@%8DVq#d!+_1%)IbF023r1w8o?8(R-h=(ko z9Tda_p~}Ya4j~)x22x_ekR{{?EY$1`S-i0mS9gGddWZJ=1r3#&js@9?;3y#@g0S)m z7afn>-Bg+p3W^9yLRdh_b?Ic)Eq!!$yB{>KZJNc13vWo{7ae?6iykTr7?M?|qKrAI zp=5oH&U6!8B^-~DARO>nQgH~CsjqFMZG7eQwqGsKME|qj?Iq~kbtc1ue}Bb+fB%wi z-;*!P1F29p%ihh+eQR?wBse&DhoPV#p9)VzSeVXWU|__qQGIm=m4t+(5oYSpv1tYo zvWm&{>y5Cm@W*J#dQ#7cy?KB#WRqDO1qB5z57NXd1;{2eB?(E6&qov#`7fct!JmmB z4Tk0y+Y=f|S}?rfw&^K6wBn1vg%deQ~M@kSqTfAmMe_wE9^w80O z#p32O3CUYXhhoyc1I{G>&w5vE;7zy#@+X})?hd?5;=WyXskd^}p7q*h*PLPgeSfUJ z|I5uiJKQ%?L!Q7Wk!@bK3|8yfQ{q6g=M2X0eso~>H|-PX-yOwq(A_J}WvcTmn&LDw zg*~L5Z;j2jnL@5G_M}i*3OJNHp`Fh=$Sv!+C;KC&E3D$v8U^-JHCr3JoiV=QbdEZW z_6z2l_sByllaUnnwS@)cC?{gzJ21QWA?P!o<=SrbPc_Nw^sYNLofCS!v?SanI!zqN zLpO@)Dg&-$Us-FX#bO}5d1%{gEs6sh*;0-1)S1~) zk9*0rinq_zzGf+OIOy+fxt@CvCgbefkSZM`#h$ChPVkI~2BfdIr}rE*YD&zQn?XJx z3L@)CLbOJz00hzTT#@92tL=xyBn5bSm<`G8aX3Tu^o2xyX5E}vFl^dh#BM|pbPL$P z;XBj`1=!{WVP*C~WG|8?0Iou;J?n+7T(p2Yo#TWpovveJIAdItsiaG_WyuA0d5gE` zx#M%6435-ZT=yN*^OoaP!J1FK8`lPmj=RwZkJDWYAn`wyA)Kz98G_TA-LGG{-}qTbk%z4TG=yMZPQ zOMmVG1A8gLo4M*bZp)n>Q%<2CO#o3u@^|EZVJBCPRyWe91_0wr!penN1Yu#DGVHus1+h#kFnNs7L*=vg?PSyG z6U+PCZrFvb8wVcVz*~6d{nmFn=#mP7Xr53d{wpf)Z>3iDcB?-;PVmgtI2kacF)ZC) zg5#k_7CuIy*}eNEiyc|9r8Wmn;y_!hr$~uq6|Ato>MDhsCz>gK3$wo7)A8;ZRmLYN zrlj>ETSbNv z6Ay zzH(~2I_bQ`r#6JslHdnDyPI*}y}?NWb!`!hSf7ebv0G6L&k=MvPhzCM;lFsUe}9I{ z8H-?<*w;Uu_M^gm#RF&^&+t88Nl0S_TlPmYir-??1Qj|+oL?YzPEADk!cjZZ&#`zW zAW7HGbaTrsTqnjK21du&Hg|E_@NkI(igcr|q%xN3bL$Zj44ICKzDEndkP~uhpWb-nHNR(IT~ykZ`wj&sMzG zSF0wSly4)}t>ni)#H3}mNr?Sf=j_d|98@92Fje61rS6Z~_`3l8vm)lHHJH@9Y1yvR zIWSL}l9JdXwTCI|nv#={^rj?2p4#8)>A#=zM-{zTpB~qSlx8#d|17EhxK50LK)oBJ zJpHc+{m~imZ}|_ut1*k;zZK^{T6$rsPW`fT6dD?;KpOmU^0a=v%;%##1!l|^Ps5Bg z0pu3lCOH4?uKuj^BTK_46!(?qU+VY-8u=EGt9N3^c`EN&#-!ZZPN6QFSvC)yLJpX? zV$vvywBMBAu0=YZ66AP2-0)m|rEq_bHyo?GRr#`PeB+VTn$n2O$!3soB&*}BFZ0}kvcnIw z@XJqHM+jKZEHCX0aty>JBFQ?RoVjZ0`!ng;9eAkI@{HcqdhpA&H-Bf;m0jH_Fyw9w z0izXOfabdMustE2jOffI*dO~c-MDW=@EHHCHL1czmn8m|Tz!n;!7>AuqOYc`>HK$0 zx2Nq>;eO+-Dp-YFW&TXUsYpqJC6I8LANGzLod>GNeEA*_^}2y~0dbMBBskb;-nu)b z+K7^{g*_xPFv^Ygg5sI6vxd-QcAEiQ1V6`JIyvyzG zF(u)-s;G`13>seo?lkun{+e!0@@?OG_hG{2;zyUg5&1soHvYxn&GPon9c)F{t`~$o z;b)0eeKa?R3zh<;q9I!#ouTfW@tllJmE+2IPB!V?$dX@*rMJPh>a-h!2PJ7B{ciN> zNnF+9!)CdX$EIQ1(KS`V&PYp(ax7G zoImMeS=8m?suOC4omqE*7<@Q?@>w5qEwmllW$u5>pnGRbh&4hAuuQ3PL_T~O5QnkJ zw^U$V2!)0@+dYyWW>1J4G<`2g?tQeX2}1~@cU~ZPt;b_)F7iagtk=={SPE;5N5(en zwCEIWQKlvNm2vx-uL*SjdGB&ntcCl~wT^e5!Sec*qeQ^vlhV#U16@dwi<& zihys`wPnNM8eXnTvo1##TP_?6glO4mh^)G^lZgL`WA=t5=?DjaS&T3n)ZXpi%)<%p zeTVo2|H{+;*S0vXOrRL$qy6mIj`myrSdNT6sN2gZ?pV3#_?C#lC&FHX0c<{QCT2U! z_>7m??|V!&1S@g0LIo9ho46}U9W%vB-<;7*ra1BTf9y6A2Ot0l8vD@U zNipQ=9i(*N5wYyH9MLOn>=i30@JSaHLK)gG!}1e5Bw=x4IozEY0#iEPLho}Ik@-|W z!ASJSefv1$rk#R!Z^AZ>QNBHHXx<<#Iv`Eltc9a4>*$aq4niKdRQ~J*M60>GLf^A7 z8%xFzNcNQ4PWhHBjH}0s=3mq=;Rr@OaoSwOjB{ZCJi9RKjeW3a)D_)9w%@N;uTIIXbh@6v>OoiZqM-r1=zHor9HMVX2^rm2Tvpi5@JVn2HuN3sJdJIe z%BK>{Ns@A1!^u{QCqN)B;r3esc}hAOV_<>E1R;&~6Q(&`hjVBtp{Jl$Dcj1C!=?y) zqW!3u&K4$yS5=&_#~2MQ_a=jw0$u>ZrI+6Uev2=sWn_kWmA$^4RM#G^YyuHAeEKKg zW8`UNBuQ&&&b*9`{lym(VSeIK=_7HgadtQ>pOwpDauL}3Ube*R;|sTkg(}9AJAKXy2Wq$(;MOGj zF-50m`;`Wo>1BpZ2@NlOu<!0U%c9%(eUg~$zL|1pK7cCXBag#2gHS(iK&gEV%NI24{+SS)8 z9dw-sxiD1PdZ@sGw>Oo2xt~>`hn-oQ2aL%S4Gauo=Cvd7c*RF?YG*@98ihqf4sVG> zY<${sr>}okB!=QQ!e#U~xzyPAS2Q;!PYx}bIbdN79#u?a);P#ubf@6B#+aM&v|85U zb&U7_sI@U9)CBE&#P)t6f7CoJAaoJ=hsGvH~G??;Lkb z>`Aj6RKJ8C{2ht%+ik;ZOUSozD7__P z^%Vyhlr99IjH54;a)1!f7*x%^lroW>D?Df`M=ENndGur*<;N|y@THnstbAA27GxHW zNz)dcp{}uTq=>*>mDn!8q(>>J(ElQ&ftWI$E}zlZKA6E`17;{M=k|R%QA~d$ObdwV zComJ=7Im?g>wlJhdFH5-%G@C^Io0$sU%!&YVYldjiHg|VZlAKtq~y>M)fIE;wr>6;Rl_&-l4Q< z;mTyAq<}HAJl*0a2*xL?^*M~GXL6@2pl77PiM#TYTD6;Yy<*r?wS4G9D*0~f`YZcj zgyJ@S*-aF43a}cU^UJcCTJtM1Kf#|$^{lG|i2bMh=IvcW?HBi)XaN0DK7Jh5VjnR( zm@`_Ja3_Ae?y}bB)JC@bKUi-v&D!>OP7)!`#E($RdjNk+4olP<5|3gU~v1G>s{!rZuo z!VKog%^jf^b)#=13sPF*UWP53LzM@Xu~Y4U%*SZXX8c*P7D#pWWNbM3M0lSvz9(zC zaG==2SVpS*$$Q8P;2GCADS)%ouAsdg0p@El48z9^9K6l^%BwW6Ecmurm7}C( zn_mLPQPYn&PH!J*vy)aUkqC@`s*$9vyJU3D{UE{UNOAPx1(`^yzHg93cuRpj>5XDr z9#x1vz%w+4MkiTI6#_?UlWB5-y=Y4J_LbO{d~7=As6eY=W2?yL`uYRuB++iS19165 z#!@B|8RClsM(U3hE1y?o8C-_% zyU{ZF49FvaU(2$tghV?L!^vmS#NpXuCC@_Ll>Z+Z$`VSTv2d4+=^& zz^GlxNRW=x!E7mN)F@8xN8qMo8!4>NicX!^C2N0Ldrx)1YVm=5g!64sg*!+XLzPgV zxJtq*lQSbjMPYNrXwWlGK8;vLh+&(gM#s(SooY4hjW^3B zZ|AL4+ty5Dz^au2pGS~wgv&&O4cV*o{=3a%{=v5vBG^&IUz-J&$F(5ef0gzcZQTn? z6XW}J<+#xNG2v|L=m*ObH&Ag_i0uQEfaE|LH&Lg*>JNlEp+h5r)xrA(jVo)k$ROy~ zzvPyiE?q6B^$EOwFbRNg?>vQMnpjIkzl2P|Le=@qTn#9^x1#$u*KD{t{L>DL-SlT!HhgBl`MZ3`%bsZ;)B4Nnc8oT$Wc~Ub~a#L`H^z!~;^EIcA zxeF#izHRoRUun_#YE!iXdx;IDmG>OCeS0UUJAn;*b#nb*>sB7vr_pWX10rTOCNfV~Ml#@|sL1d$I6V%Z)UVk%hSi|>ijJ_w*y>BnU zuL?CDZMVqV+D{@LzKxd7%Khs6$Ia#FK;p#o#VikUF~iu47K%ZI8ygMSr_QNa z@0h(;R)q`qofJK@7Tu+MO|W9ZJ5A{VI?XxE3s0i-T+(bC_TR;dG#jdS#S3`VqSCo3 zho(Wh#0#b)dS7l8jh66}U)knwzsofTE_IcBD-IcBGGN02mAdo8WR`}{TI4Mc%f&t4 z2;bAlbp<9&%o!%n9HaI@&rPwE-Lo^p^9@bzAch;`T<%D%{xpMoohKiaSmJSv?GC`| zS|z0bIo<^fb0fEM1YZpd@+|VcDeR0;xaMMTw=;ZnTKWR%s!?!61nmXRaY&rlPxaiJ z>-D$4D~{epqb8ehnXr=5$NF_ZGmc!_LyeS@lKOP)Pt>niS&;3-5S- zIWjGVh=I=%|2|~+D=X~dyC&q{2HF4Wmq89175e|>puah9)T;=;#Y61>u;*f4Mh+%( z(SKWcm|?-eUw@l*11Ua^janbCvmiorvORsVMF_;-+X-J8{-t4n{->m=^|{@6HVs0z zb|(v!Bw5noavUO%0a~qU$POwxdhc)LF!00a@jn#N9e8`n-{;f5qOA;ljDrZC5BCuQ z{4QjWffE8`*Pj;QA1b7Xi3(bWD3j>S}(--+LNR^+qCl8nhIP&XfjAD<7#kio}P5!xeUGMV%{}u#Z>c?Myr(_zZiGiXHNjgq3HT>^McK2#&n6V8=Jt( z;)`n&!Yl^yZ3QF&vKRedFWo<&e)!;D_@-i4QAPRovN55`PdRO5g}aSvpU^3`;#ylL z^$Lwq;&9=~V)EPhSFW|K0O*RW`;gvg%nBRtx9>~*XMoZ#6w4pZj0c)W^kIr_x-~~$ zo?x+q5Gv=XeFFXZCyE6H`L5sPZ2HZ*0-tO-=W=kf*$?K`7i4V=o_mTsTdo<*;R(BN zoD9!@_BS%0KeolYoh$ZT>vT1Fg?#c;B z0Z9FCtBpN2^~Xm|r+MSd+>MAYomU6%-0m)hpfgw3Jr+gxZG zLyp_mJj(zKB>Ya(?A+wW8v!b=7lYk{=WwjEv7AO;$}Hv{Lts$*6#0dr&QF7l4hnk4 zjYfG`+6<|}DmX{&KUL=KhSG5E6vlN1;|VMsHLW-iukOl&1`2zL&~Xti$iS$+NXmz@ zP@^ruQh|gs)%CZ|Y$T*$?OszJ(2mXEu?aNYweRa%6l1SuZGEq;sob>+1%De_bE3At zax&rUNP28&IoT@1K>*KyFk5J?jj+s)PkvieAypg(T|dQIgk#m~1AS|M{c|^MXwZmz zuVV3i-V(x~4cHf6Jf;q7Gk^v!S&q!77qOrT*LBA}IoAxGI5%JJWY@@Bg1 z5v|)UybGGN?knTtvB)yzG4SH{(n*VLe}Snte9&3-~YX456j6|{|4151;gfrX1Q z@(bMoyNW0xl-6V7c9T4Q6!;A)4mn>+jgAXmC3n@2?2wr^GKl;o%7-VA3!LagSCMW+ zW~zU2!*`iE{$8c!_01ToC37l6!a{Zo|ldHEqyicD(*ofAT#SyU(qaT)tO+`ttW!uxO zUE#N4627>X)i@aE$L`wmJ47S*jlbByk6;VZ-clD!Y0OCX(Kt`tMu1pot$U+u(+=h2 zcva=fB}We!e_^l2I)euNzlCd~4Al^zUjSMh){HsO07lOUgDmFwBYm93jV@XULz*v( zMv7>LO+HJ5NDHrtBX^i9JH0$?`RTA|n zAcpm1F^6hhY|m5vZybXHe$1*$i~pg!?|ACexf*O~-v!)ZxW1nP?2w8^Jwz_|wF(L6 ze&7jzA6b4PbF17`A-hvmweS8juXbgX1r%v;c*L8>0c{HZt#FF2C2Iur3tSfL^CLHz z>DocC=|fU`><&kBMBj@3Qv`io|GvL3bIf`h_;h8Rb~kmhrH7v8-iRXPCLPW7!4zI0n9iO~OcT*mZ+-LX3LHL2 zeH-Tnntr=lfW2PTnY@(~(%zFGEw$Kej&g+{rTQY0`mQ3w;20t6gK9BS{XNzN{q%vr zn_KC~zE2sN1T+-t02axIRNQ)Znr6>AqoKw|ykJ6t80LhhY)!RV=C{ zM{A+D{B;iz|OD>q-G}2XwaMLFS4nBX-S;_=v2sl*G;(A+0%Baj=mEWqzZR- zrwd23?9_qQh!>cgoJ>Li$+5j+wVY9*)*07&V-<=u5LDkX7EhPmYdE@^FjQ{)UQc$y zjD+xAzk3F&xsp;m09j!N{(zfH+j|;0=F$9IO^j!bZVM723NdsZ!E9--XY=AxYCD63 zjBM~sSbfz533n2LxjvoeG8sVXD+MxBDyf1n*;1cBdw2_yuM+%Hna z6w^~tNk$Oaw<6^I_Wq}Mqeh??MN9}J-GLq1g z_I@t*C`fc+qWizo1^);p{PTJ{>+k=j$D`vyF!f28AA?|kZfdytb}SpH`0n%8aJhxH zO*|Vq$|PddXRSX&0`@P*Bj@9hhV!QO$_r6|5oT?%YT8pKzQnw&lqFjZYQyKzuZ}TQ zE-?IARhaiJd0B<$Gv~W_N}^!{taeC1zpEej!7j;mN%Zhu??nc%5#CEDUzqd6xj^yp z`MRdiIr*iWsIw*UTOw!cCZkt9w{}jBhb5kS%)iLD8woULLAN*Y9yC~dc4)I6TX>K% zm@1?rVHf+d$85R4meA=SjhN0A-NXl9h3wVyj{Zro`VC4Atzn<@7Q$MX*1(c>rO~#m zS(>VAu4A#Wo>HjrpV+P1)J9WyQ?75^=nK1`Vofs|i6s_rhCgoD?9|n9!x-6); z>o+uN)Z$p}GUK&piBggtc>q-ijS#f>OsrimR9fLrF7BGIuVo-7rCi!jd+WY>_5GX$ zy3TXx*Abv?SJAn`A}+8}R~EIdZCEM}KtfK5->gf^^`1boU$cb)>c1o^+>$u0 zh-Lw?QQovvEEVa(sVhdq9&VFVSEi(@c)=@m~xY6#*|O zKN8HROemxZg${V{7#Cc6GvTdUM|h4!}*kcYT&rQz}a4oNHc;bh?!t)v*XEb*EWao zGtP)dAfQZ5T)!^xRe|N3a|Qlt$8AVG1eMWS5PkALAvM)gY}C)5h&yWwrZkG0!|}{- zs3#8beS35oDp;c;VIM|hdU1$`AGfISsQBbn&<~o}c|oxw@5BEaO0L^C8fUa`&81*S z1iV7)HEb8##iwf@8crQrj!_D~vk9%QC6jzT0N&gnT5=fn!WS zssnW?q!OjGM1wJj_}$dcg(?IuLL0%wM*;)}@Yg2)-Pk3nde31lOf}i6*lGqhk1V%w zQ;H59SdabGT5K6CEm1@c& zyjXw1=+A1lCx0AxM2OMi(7Z#aQxdCOrb!Nv6U&~%STOatd*_h( zh|5%PZLS%2bPFJef0lw5A;IM$CFgrR9J#9(imVUaBq%2Qyp6q6OMO4WIlw-qO7;jU zLaZDy(cgjzKgEk|#!ls(4$2B_>780$->N)HIJmi(&THq5;Tw*t&?l?8#v;ESO1Rv! z=b0#HwH?C~cu8n;)!=zkyc}O~!0hc(EI7X3%)orX2~Ts|w>%nF;XeA)b>k$aod;i+ z;Ja5JBD^ENNWrQv<+%!18$)UtUt=O}X~2AMy^U>?CwIyuO#O!)!(QqZV%lG)eefIx z^$eCP7CF`7$q}NS#cSg}rqqU^+L`;?DmS__0O!c^6ooIEZkcH>yQ(T@Aq8T+@c!gw zo8$gA{s}GqVfrK4JXc#pQ=}A^Mz^2R;n^i;k2?-JBS7qe&H!Va?0=VAC;NF{?v4Ab zc71B$@uk#fG(~p!jqe_S?O`o_sWB;ne?&OgU#Y%IBZ0rzq%CL8mofu2v@HHBFpYaF zw~GD*>I5pF%l}99j*#UAwD3#At$_frUT~R0xDo6x1}p1)vlliwKu3 zqR9UiZ8`mDBLA7(P{1?&gKhqXMUW{BF)RNi4Z?;D!6}Fx|1Y!?Q!D{#Nz3>?7Ahu( zTJ{!&8j@5wm!-?;G@dm3Eu(%a$Ii34{D1<1oc}RPA~U8oX;JRVaMSmMq?N}5hoe>QMo)C>y>5Zu9d;T3B$Gw4Y=+Dhe*48LT$bzONLFFvsw!$NDVp>eJ#PE(@1kQ7 ztxb5Q_V@eNpo{a;HLSAUXGbGSA(Fb7GC9GI(d>lX*DCr+Fk;ZTD1Qf`t3@5;to%{= zfr+UDq1gv6J2|+h7du@iJBw9Uos`y0ze75^#oz}oPBh)j{xU=_EBhx(0^N_%kS_a~ z7+4dGb?O?5k4utGVh9dH3mqzun!;NBr)x|-KgmNH3i4XdzsFTHBaFSQtGXTEPmz!n zl?6&Q%!-(d;F!qj4Ao6bhI#XdCJqNo(}vHHid~8; zyId#d*ppXy>BHL6J;VqV$%d=&Q`Nes)QhoZ`=g{&dS6V&v#Vd7(rs0h!p>SqwPV6N zcqeniLxf`fsW>E;>%6T<+eI%fB&nY%xrGE9tG#jxgZ3un;p!c^t#cC=lLqbyoSm_2 ztKhN+s=Yd-zSkUR-iF|rLC^D5f-S2Johr7Bez{y-q^R%1?K|w|IXkW0hq_y&YhDg- z+RtuH+z0ut@E23;kWXLP=FCQqZP9McXGV`Lk^UOm zMiiN!X1irtci$QTbw`fF&<ifjSYpa~1a9^SIs~RR(^Y<_1wGJ)2=t_ePj z(xjaKL30LwieT?W$tP9vf20|I9XQQf)#6Iu8*I=Mo1SXEW}mnCr^g zgEewIWSC^Xqv^Ubztgn$mr=v|;cYX(iFkV(c!mbFxg50m{O5s0!#Zj}dBE)DcS9Y0 zC$>M$X$XH2;tOtjO=I(KI?ch}ZZ3LA?a`28dHwua%W?)$B2~yg17Naj7lb_7)TH9c zJ7mP_sr4C}4V^#P*#UKA^C0#ZESgR$A_05_{{44kmxS#~eeK5C_3xdiJ@~wt+4@WF zZ7W%BHqI*9igGxxyCsrXFliG-vTu)7PDx;h43V?SBz~yuo5T+prmQ&Iu~NGv?N-Y3 z7HLj}LNoL2S~_S_4wEH%OH3QZ-T=F19Y1adu8HL@6Bv(Jwtn_@MCh-sK@Lt-D<}HJ z`*|~lx;#P@QI>)ZlS4r^W)u5+`>s7Z#N9iU4kPP6?y^qy@&oZXFns%zMMUX_8~4B; z+8ceTA!Y(^6H)czhW=wP?hC!)84}7)rhrvy?u7ft8=ZH>`*69}ua2$YertkS3uga= zBcuC24E`nisRtOvs8jKE`C~GrJZuhM;kmqWP!n3Z!5)jF75vsi_-U;z%O%UAf2vyM zq$)1OdS?uAztQK4_O!ckwL|UueFm<9hZ9^oa*0ssDm9p`ns1!-^@ziar4*NRRX$?E ztLMdC>m;S;{D^v(vjbtx4s6ZDRAos$(9e$53@S5(4{$r}i5WV+4TV{sCgIgC@pBC! zM2K$qKLx_)v)@FR;Gi?QgZ~dC49Ku>$U{p?rAD+KOdmTZnpsvd<9+K@9x!wHJ)Q37 zn7YR$!8XNzBIt89?O*a@M-HE24`m(&x(1SwXR&XC73k#I6HkalC*R<-ab;gM5;ZaP zDw99!g*rv7WpT`#u92TKi%Z+gf?#OKn$gJn35F%}%POiHvH=Ys`)-NNo~Tn6ruV+`7*NMGXGhLZMZDMm8`I%18W7jxl|w0)NScZ z#jM!qI%3?zGx)9c>;$CZ2w2U$vyhkfWlhG|kk1a)-T@y?D$tjvDwj|&WHls}Acy1S z5v+AaD%RyBA%9^DYESLG+Vzh8g%7bmTQJ_JhuF~b%iJ%c9ai(a!Br8|jM7&qUl~sS z|0?u}|2LtJPHUazZcX;~ep1@|Mn00vRPVL<$Tq!mVGjC_X!nl=74ABAGt@uEjOhVY z8UMSshbDG{VG^M!VbV z0_Ao7Wg0VsY+BcFMu8m{ZnzGylI287%ry=sL%37!#mf_6eqw8PXY^W&MyXG+InD0j zy~?LDN=4VkZpW=t_!X(Sg5kUR#!@5VUCe>85Sih-4Po;p$2N4^(yrl%n)AzfU2k-^ z71L@{$Xp-m+8l8@h~a$CD;|UU19-4s1_8s1x4)-+?(_p3$%L{pd)K_v!&nslj23$# z_&}WXojvX^@uxjC<6K3=I|X^b-}d;w%y*TBNMX-#|KekNKxi=9XU6Nd-Tsp2@O$wO zY3-j`0f=G@nQNn(a_0MylIv*&A_F!Cf4uC>|Myu!V9cK0UaH^pNr!=jmG^t9Eo81P z7Ie!08%Fm06C-uD?eY2(C!5vfR5Dt)SS7&Elp1_(p^9U;4ccL#XGiAMTRZDBzu%lG zY+GqzI-+11?+-#3bU=(tPKHV=MTS7Xrztx+26(LxYVO-1beo~b_Fw7-r}=GNL*cEo_$?*B%<-MBEn(KAK&zoI86knQG{jELy9 z9GV{YUj{CV_qFIuUoB&bp6^u=a>gI^m|f>86eqcPD4|JWb*5ZU5X!j4iL9TI&@D@T zEv>uq&}X;}YBa3C*Lx=AU9?k`qdL1wTrHfg@K5D*KZ0JvfR&}e{Ogj_AIV5T>rqi zN6QChhIY`S)o^J>Uv6wK_|xNlsdri5R8|5L_OCP7Q`{CHy#AC2MFK1SML+*@Xo$}g zjKBw2^C|_;uQbC;(FQ^*=rn3-N_Oa9ztRwq;0&Er2}ToUe0Y`j0aZcV-q!vY81?Ck z|Hm%@GHvDijo#;W%np0$Dc})KX45m-$PCKf+;@4_z`;l3KBye&w@OyWdp4xOJPm$v zBBq1YLH4(#<4l#745@(%<&jEj?La`?I&%bWJ>BlG7x+NXgVA_xyNAFvqtO;HyjcxT z;?Ca}R(+3F;1JX3j(1ynGUP!`KAlr_VlIWvyvKd^Y{r=@7-msYOm&Jeli3z>Dh{xv z=;nL!>GVa7o)_^RslOB^cm|_jw6@0u#Q80r*E=PPwM%CeXxQPI&ZhUC9N()Zj@U%; zlkFrOFhr}|D#zzn7@RT5UVHf(`{gpk<8O!U6F}CyMW)h?MpxRa%O5UVxC_aem^EFm zC*2-NFOUj^(*U(-`_btM16}n55Z#ntIY$Qy3MKdV{{`p+IgMW?xn+I0zQ@WrQozup zN|XImW%jJ}ipAyvkUm;dKR5kUo9*9ZL1~)cSdu+L3%v|TERWnP;o6)UFEYQPI&GCT1P= z6@X4Z^n6|rY60@5z*(-5Eolvm0}V|O%)jlI7#^Lw zsJS>IBCnf4o#c77CWa^GhS(Nt=irJ&qLp}BQAr_fyP3~=I9lZ?cp4D)BQ7n?+cuRT z?RKY(Ul<;ns)O8li0gFkHb94X^dZE5gg3zgBFc_wj>a1qfTaCrp;$mCBvp1KNUo->HCvT;FKwy809r@Q5!r zyy0oSr^MO!>Sjj6I6so(Rm0ksi{lnWy}Ti5<6ub?Tf+8biUc$!Dwg)65dJD{ETdYY zEgE%rbdcwfv1&ix+@2n**G#ZML^5#&>0vxZhhK{>{rwgzeL**RP21pP3iq=Rd1L7unZX@yJT+i%tFZ-3r7;YbJ$5VwgB zbuIolQWi4WGCH%_^^+y+qJ3)CtGj0~^5j7=p)J^J#ahuJww5D*{{`uwuXXjrO5^EW zFVtMCXWb?ZKJZkcLc>9Oak_0cEqpHAn<3H!9xg(c=2rGFLKh}$-ww$mdUoAUsYQcX zPmi>Zp0E2yfH%pHoER;U!b-P*jq>Kl>}3a1CbGtbmSQ@gW3=!_gMF6_UXjg3d>T(P z8m|0DTkU){#MKi_{@MZ%$%JOBod7Jh^-f}g1+5r((yVLTv2(qcDs(xbU(th;UdbWl z`bXtNkDO{DS6eil)n|u&*lLqm?vXpOH!+~xWR5C?(NCY~)95bvbkdcFxT&-BuUZt% zx|^qLAEn8A12%`GNXJvUrVtR$zZuWEr^hcTH!ZB}%O>*4(Ci0cDf4q7ABP&=Pyrx% z`2$QbIJ<^fZVlCSuvkZIQ)28W6&2kML=5~neSh4io-9$x82>fvGJgWDp6F|uLgk8r ztd(cle3JM0+6XES4!UGmMNs0`Jw9)Zi#H%nZ~LkHi5`Tv)ni*0U$1|4PThGfer$c? zrwZk}KZZ@kG8PfDzYg(6dCN>#x+>;d-NJ4%&M)CUNp|z` zR{i;5(L^@hy+cuQ>9%;mura`fxJhGJK5c18-8hcEaHMwTTS7TH!M>3%8uE{8bJ^lO z@^lr1iwF9o@tDR0LV#@U#HPSx>KjCctmc6UF+@GJCkB4$?!{^w>SemgVl^OdsD8pgw8DfYD6S7TYiDYCQGgPuKmF;8; z9i+i<%35N^v6JjlmJA~MnswrIUg!7yzQ4ZjzxVyU*K@zm{oMC+UC+DRk2b@;D@{~} zEM3#-g;eTUtTg$K7SqAKW>SB zr@H=1GJb@0#QMqjh;5$&=rXSdA!JbOjQz?DYQYm)-)~d|QQNQgN1~gDf`d)_Lad&7 z_EaIWuc73A3M1z|GbS)AJtJ9E2#4Vz_LE}|T!c8?K1XU;-gxl%RxI84iRiTrr~?D} zsMBv5-|A8R@bvMI;e&LdDYr=L>gaDey9GXdn|8u8q_yAjMXIuND3O&`JPF@_V&jZ! z%YRn!R|&b@$i6(YDl1aiY#uRY-quSTFejEsSn_9U20$)Yod1v`_P~6KZ}N!38Kg~B zj2>;(4)nsa(5$)s7_{Jd_5%qn7>{*)75uVbOH^`klZjjP(oCn%FttW)5FN^)87*TM zRF9t6FGh|JYWQ=`fI`$)A3mpr?c+&k1#IC&N7vZZcy1|K*`5spyuV#TIJvbyoj%)( zYPy1t5-Y12yE^OR)1-}`gzENXlNmwyoxRh87R5%S36kP(JgS~(P*k9$N zp=it{E`XT%Q-Jd}za>Z*W})tYu={c-O`VXbYXTSyyM+I!gDKSqP`khLRQ?wo&Gx^I zz&C&%9C-@*B~DDXCM=%%J=D9|InwU^!sO=0y~X>(vrF;`Frzvj)l^WRdrl%09ly-F zJucjQ$)5t!gjN6_6S;DpD_j}`-5mBTJg%sARB=g)FF^Tl!`xvM0KI||)6Gym@3)ZL zKgwDaT!RO=HgN)q+dzn$F zxxJ~$t{{!EQ_|8Av^BaMn<`apQeDW76N7TzL@;r^wTz7nL>#oYYBf^VDE z5%nODKtsd?Zz79>u9;To5jjAP4vPJ$T--W?Lrq|B`B9hEtCy=3!d}BH4y*pn6ucxM zhyrmN2>u#`Q`PHCTG`PUmq3^`Luw9@2{;q%fDTg7#>Presd$a)hG3?iHbD-MuQ?I+ z+euUfVI}I?JEb#Ustkc-l_T~p7$~q$fUg9mG6MNK$0srVmsAra)}@O3pZhSV8ZWwp_pf`**M974%<2rOfOEx9AYv2-yZ1LYq*8Q(h> z^Tjc#Ai&<&(c1Ikv|3y$d`d7=XI3E^%G&@U0k4v;1uHMtnOcP-|2)ZhZ1eS~2{*3I9ToLo#2Giz?k$D^0W} zp=%YX*g$X5CtUm?uz?O-4lHa!+^`*2DjEw+|26k83#T#rG(W+ZfaVf6iYi{6qWwq| zu%<>W)~N(D*EhDJx|K7N)}9el($dfi%6VILS)55;vBp#btNTsLe;m0~LD3@*c4ut@ zfj3WgCf+@+W^Z@T{m?QW;P2chjsZrHZLW4MNXvWpC9kQzbZREU432B3)fB&z^1^==B)>j zW>Rh^!*s7VgeYapR(0#%<9PFLvo;To7oA^c%=ACuAXP{yM0 zz#+3$a^2nCcDZM@Xx0nfu%@`QH2x2ss$*kgXLw=*pL0_}%N=SHP19v6gO;qBJ4;c6 zUPsQ92*8OFc+IY>q(WHoQ+UPRktgpt^+!WP)-vW@_{vkL&b}=&y!gnp{H0+^_04uJ9T?Lii2K=+4g(lVlo(FAA<#ngay45;}Xoo1u%gdLPnT3X;dNMD_>gmCX z2IZ8L0m3HecKzHXr6d+Y;qd<7<#CIjDfXM< zumtbv--B4&*yM+;Yp&NXz$7Fkx4wU8oi3&1-`t#TmXemP^keAp^Ygzbj)9_`@Sr=N z{&cpR6dE}<;-l5J98mw-p~9=yfrq2DJ}jxYxcJU^O~T`I8vLT7y%le!%z(lvG7awl zh)Ww>Af>|3E6Fx&EuU*QR7co?xgVlt9 zr@&?>;f~t7P4PjUhh58zn^dKA_w=Wp1%hj(&$9jIdi=y%vu`HD0SKYhgD&k)05frd zF+eLc3y|dhk--zOL&r0+_sEAfr%tYsPXzA&NS2Wy7p4M_s1*ZnM_OW%IdPIWUEnyr b>~Hv^C1w)*VATF(+eg#OSffADE|LELe@;3S diff --git a/docs/guides/roll-forward.png b/docs/guides/roll-forward.png deleted file mode 100644 index 7b641c58e10947708015e3d22ed46b2527ae8a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65312 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 diff --git a/docs/guides/savefiledlg.png b/docs/guides/savefiledlg.png deleted file mode 100644 index 942fea407148eecf8bb2bd28e4a0088bf53cf477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10507 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 diff --git a/docs/guides/schedule_patterns.png b/docs/guides/schedule_patterns.png deleted file mode 100644 index 05010d94701ec5f5eed06a14e76774267ba9e27f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3833 zcmeHJ`#Y5BAD&iiDH@?78ivu39BMK(yiP-AEIC9M${{(7Y8;AXoRi5oL>TPU!M#Y zC!GA|U7H~gh`c@C_80`RP8l4Yn|=V9-RT7w@F5$4_lkr-M z@ZhKz{|iA7oQtC-E+jlMDl*{0nTROO!-nVssRo<)5Xk00ds}OF5`F6J+rnFiRjgdk z&q-TqBCX|v;F<~KTxRq1-LfNQ5mz*y&%`yuKBxJ6E=i_v*3h(HgAmQbQ$I;+O-gv{E6PiPEZEKU;G9|*smAj+g|yu^T_ek3Cp zu~B%-1Y)YD*eaK#i3b!AuuY24^~*~L_#!;G#jPYZgTS~)^H)g_+6<>H^em6pj1q1v z+@W0#IaWj3v4yH2ulDk8md(815nJrRfF$`;D@$p-%Qgc{{JLB#8O2-j^*(VwVF$uY z81GuduCC8ReXs+c;{l8>nOyF&O?(Am>$5qNfPkNM^#-(MU7un<(8|+KUxV@SSmp8@ zlAYo$U6VFcp2FpFBL=`vuwV(*%S`O(ZVQut0jfOCq1RMSAJ$ac zAE$$=zE8R!g}?Iz+)L2p^g-1=9rZYea7*h4j>G}0uEoH}KFlW-+NVF@)E>bS75FiV zr>Ug*JOz{hV~2I*D3xkOx1qvx(Nt%}PhLwaK;5+r^7p7uya;qb3{zG<)w#{UEZ+H; zT03_ieEHzMXK$-R)tQFP#jwlYvXKcIixh)^HX>dorg~)6bKb#($DW;B8sAbA{f?C_ zqzxm(0eW#?PGk*f-ZF?%SEebYse144U^lp_CE8P%S5?>M2Rrz^Szd*EpC^%VT$kyX zx0;r$v?p}+Sbf9PDQhQ;q?&ou@~Y%R)5G;*cgK|BDwu|Nq}9%^=-0V9BYr>ku&1re zFNs^YL&Dj@hYQ`mmZF>~)3)(R+WG#uN_?QxBd~L0WLfeTp`O$3uwG1JQf+eg#Z`xI zI+NQE$aQT`9QAbVJSQ=&mm_u2%KGYu-HoK8GbKCkMHz5L%odm8msV@@xy~bsmTvsY z+^g-K!3@TsV#exJ{cF^F)w^Wjibw6UmytWQlW)H>vS;6a_T8*2eK06A(R^X)PV0rv z*7xC0;u0pxgz9k?`bON|!P5ap4d}!3am~?RbBp6#=>ba%4N(Q&`)8fT*w!!G;5)Nx z?`QgiNmRDNvV4L(IU|{SPyVp$Wm0%}!NqMBin|I?9f!ieA6KTZf z>c%DBIz^Hh9lfBvzzr%%*I`1^&r^VIxOe(FEuEq@aIL3foy=E{01OlbU8p#CgG!?e zyZi9iT(-ekelP-7Qz637dI;c5^d5Q!spIBDqTN=Nh{iqLvDaf8-0u%v;jnd1m>O5x z0j00z$*65my*cACM~=;bV#mWu;#{lnp)2YY6O|Tg`op(}iFN|`t@|=E=QwQtVrNhh zagjKRIo0ahMcXf#DJJfq#eTzL&T)atydJc;x|J$2=dkIr1f+Pz0Zlo4sulWCJ!rxj zZS5zJ9XXeS+OZMfH?KGID@&pJHM0Z^wc==tkux7PB9wT#!0%hc^rjXx?ysqsH4Zfh z3uydOklcFo@NJ3qDuIctYY?XtKghT~bCH=~s;}SKu?nl;HECf`?^D|M67tTDCljtn z#Gd+6o!I+tFz;((iz3FEvPB_Z_x2debv5Ro0HU_R{JSpYWxEu2x^~uR?Rd!=~?|!WM-s$x1&t z@o@_$69z~5Re3JKJmUuIikSQ7G1Eu|5#i(;YVscMa@8+(ZrHme#Ju9;Ec)##wVACg z2Ih#t4ol0`bbu%KZ9ZUXQ>cTx^C(v8=Si#ud9wY)*H8_)#3mUPL%(1b^)&U)Q_6!aWjFe=P zIqcB0&LFHD-3=GJkasC5fW+si+VMrCy?L$j}&R1?^v`8_XwU`jRQ+P>2x zo~E5Ir;DfgFfG^#~9D_}^TFH->}_Ec)Hwp#MyVKLC7(#(w|+ diff --git a/docs/guides/scope2.png b/docs/guides/scope2.png deleted file mode 100644 index 4f43f9e47d443be742da83ba643766fc13aef8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5003 zcmai22{e@b_aB8sVG>gjuSpa_F-+N_p|qf~q%hPQS%yJ|kr`#l8by|jCA%b)n2}`~ zV`;+ZN7;s9EHi~M%w%8YH}Csf&iSA7|DXRo=X;)e?s?90&vWnneD3$&cw6g>`^Arl z0|0>iR+nHm005x@!PzgiOJFg6($5e)_98Di1pxq3?tdMja?>&|fpO16t7{f}hQxPE ziijXgs}KNyjJg%f%r107;pe&UB2KJRboI5jh4DIZPGyF3= zvRh#NMA>WfYu-9cg4r%5bV+(k?Rp>YV0^cTvUs7%)`7y}F$VGh02%{g^YilapNV`1 zj?(F+z#L5xxBXVlkM6+$)-w_Ii+*??R!m5v3w;3zjTQ~K2at=KfFfozKLabF!1pvZ zH}X?$TV8|oL}0~43D@ANPa9939c@`&=cy%ZE0WpfG)%Yd3u2lB?2$LK^u$Vh4wNp} ziX*PnN}0z zQb4oJAHaRw%!)C=cXCRl9Yl6JI|m@dUWadZ$?f`&Z_ww9x^9Jyjg8@q{{DWe`ah}L z^-?MvcMp6{h%g7$_$P&d%o^zZC_Bt_z0UJhWLqiWY&Bv=j$lxVZq)7P4WwgVOVz-V zFQ~Rv^RPgYTO8b#SrG|Jp7H{AUzhr2U~p}DF#Ds;gYcxQ8Ew6xLqa3s23sdhjMQRj z#XVkSC(S$BJ+}jJwy$LiYih62g6QrA+hD0O?m~wjsvxaK1uIrGz{UjvNwwCO$X(i$ zpNo_8nuR<^?1!dmym|cC>R=O}^r#XJB_NiKyQRkW_PQ}F^J>=fHyq|0n^%Uzwz$bM z1cY^;!mYvQ zW{BS0{-e3g*9eK>XnG}(zt9%s;o$0~po5)984CuE<9yks;sW9^L&Pwx_w3*!Io~FcXk6h#4 z@%n5twjsvwM!Mo-G^g?@>^TV8zu;ghtoA< zpw?lyaL~-=?O@vMqbxV#I7=Cl<+t?Gyu9C#C8Hja)Cz0M7`M2!JR5hGN1QoOr@GAT zuu3dD)EFrJ#4NbGV`P&i#RlyHbA9|atb+P#P?77(1SeuyHWC% zW|e7BFQ>Vt7+F*^2~5Rrp`6{*QImuZ2Q+Os1HOIbskPN+aN|4U1m4O}503XuKh&a) zSWRZJSTq{V{_Ff3;`(Xmh3uxK8$lK@)<>_Pml|O4Q@yJRarP14?rX5()wWANO6-J> zi1yda@9bb-G#l@wu^mWJ1Ja^kVwD)!(l1s=2n=ws ze|1S5xX)Lw)~K+H*`=O2J+CNDs>#~MMnpvTEBuYeiLaF*sw$E0j~m3Yf3!@u$pUSc zxjdhhL1%u|Do_Qu@7RqY=n1Tajx+OZKvxxm{Il%vtqXvCO#fQ0qZ<4j=;EUt02Cz* z|3T?0SE`QI9eGPeG_JOieZ&B;#hHT=s;&a`YdYLInDIv>o=~=HU!cq4?f7{Y39a)( z&)9txZpU?Ai(8fe$|HqfIs$?aKsd7#rvM)E6OVHPz;qsqi3&_VP>n8YoEy!`kxzh< zvE&M1?;lFGCYaM7=v@Hr)udH?=<1atZHKczT7{i>ITYZy5(G2~seTsn=1&7QEhVjr z>v1FNp5m{~gnp_hC6&5Otfi3|whxlT6fva^Lyx$k>#5Y{Z&=Dw$P}gQE@d>}zB_Jy zab+c^VWPr36iM_7siq!ZcYR=YcE``ibVrhZ-_Bxj$$L)&rJ>jSpm}ZSnK)YXd8NjT z34P${fX<_%Ke%HWn!j>DQTH4UKp<`9`neqM-_0lNbikqSkA{q-el?bLFwXDFeAwdu zqB3>-#6ujP(sC*iL<=wsDb3#gP}3&)wc#Zt&TZn-{WF~mHo>0C`EN92(k3k(;@lcf z{=ck>bbibC?x@2A_1GKJx3Qe#!nkBNZM!}4Qlq;ay>kSNntJ!=-;7F2YjG9FNrOD3#2D!%j{rfxpi?Ols@;iG!U6if|>VV>xN#kRYSK`r7 zh19~Vu&De}seAG%LE&4CS@&+`+?*M@+`6!^;D_yg_c9gJnOZXc@~7$Nk>EXNsw~hpYi|P85!;6li{lx~aJpx* zIU5qk;D=b|J1DJqsZgu*=3IXwqNrH=+J@?hjn)$Bg@Rafe3Z+wi1T=T%uJEurExiw z)>XejfBQ2BRl)i%+SljMiwgS1mYA3y!-z`>L9gO|?i;{lW(!gF5dBBhaqZ8h-k2-%VA^vus`h=sOL_Zm&vK`GXeqM=wM%Z>CTIs%68EC8R2ecb+u2WN z#dXrJch!5+R!!0)z+`UhY_o}eDQ|`{y_1oKSIF(k@LfN=Jw(31O3nV>C9igT<%T0O zcMuY!3hwLYhpWEVG0S<_=U6l&BZ(Qyo0^f1x+$ZZpFM5){Hjv0*2!wZn}bzeHy=0* zUtk5d%mmwDUD_t(v|0+)*Yr+0^UFvv7`&QhF;j(Ei8nDQfe)J;aI*UWfDZ*Fd` zZ-yVJR|P+o>0F5RUcH+Y2e2;XOv!=|O*6aH6?|6T5SJy@bZ3?v7AUnE9a z=v;EIPbGp673-*VjWeNxBL1w#_wHD6T7LDS6}*}U@@!tdGbM4l=?^w7NnSvf0+jxT z+Wx0XrSh?D^jiQ0v#nz*d`q44zru$@V3m3`PXPkX6ZlSUch-5V{x>Ivk2KOw4Si@a zfGyr`3=A(y*Q>>SII60MXT~Vs3g^?=D2&0xbjgJwHJ-B{NOjYj<(C7JqkJlOVhooJ zpYMax+b_sg%6UY|UdTy7v?@x*k}!~un$>rPaq3y^sGrgVHvQLH@34Jm)FuLZIrHFQ zs~_|Be?+F>_jE4%~1d^P>Pb>3l2^9iVcm``1l_5VLOPBjn|sY$emNIRZs=P z7MCP9qpnOiS0r$`tp_NEe%cmfwz*CJ0@(e_U5uGlF9-f#8115v zptan&b3*&CHc?7+wN*vFiK)Td5#H^b{G&RK(CS~+kQZC28u{*G4XEPSv(AMlZ*{B> zlaT1czt`3t=v7TOxIz*wbdo~NF4O0Ld2=`%Zu!P7;S2UV;^RKl$>keEvOs|SNzF*J zz1{cOE>8gycGmi!QKuh`;roY5(>OZ_~?Mm3IEi`P~PF0O0&Ha0e%+vjKT{Dp<8Z-lMES2T2TRMS;q zwO6!^Dh&F_^qY~vK>Jv7L9Lz#H_sLd-+SSx)aJ}le(KPt#zuL0Y0o1kqTF3}=Athi zbvWD42s_PRmh<$3Kiyd#gfE#!?5wlGnac2027@7X;rX=xRkw%v@!d7L(YdtGh-@Z) z94mo04PW~Gm3Ou!W3{`hRbH_*uUt69H~>Zo(x*QV9faH=Uq){24d zhFvM2uqUXc;?y()$|w{$SGT^|Z)3X6?b2qahH&V020Lq0Da#(p-l`|Kny%jJMWtkJ zv%gLRZwBIDg31eeNqflj!nOiqIRPCt&ytLeoGVh1oP$2*+IF$@&Sio|UP`Qlwv(pS zNAEQRz@e%s=WHlV_|Wv4+vo?x1i1d6mno+{r z9pa0oqdBzriES)#qD+DO-ON4IXGG6Mre{f~{>s44%F^@?SFOfbH9d)-Bbd1i!+eFkl79mlZjD zFY4F&Dv6z~bsnoXA6JUzF?-5v@>`SI!eoF^tlC^{ZuV^Oi$)XX=nUA&D9d48IK;VR zKtWrhlekEw1Cxv?@A5UWoKgn$E}aQ!wv`{P*~{)-$n8Z~AhY7cYCm6Gvvm&ayB*|Y zUU0tvANcZjFrjBMq~=84Su;E89O-7XdF}qv#quWC74;O(9ewgt1MkXTVyHIXq(P7ZFoyl_TM#i{gGk1QHxcpcZ0Nt{-!G?v&qj-h5(d=Q9>8}1 zSB5#O0_k`Hsl-~qQXAGY>&Q;Ui$|2cO*mKTNxTmiR(rC!u{Ue~~H6ELW z|BFv_6Am(+Tk%f3E^iMDq{-XG*&lC}BDPLD4L$YOS&4;`Ju?S)A|1=E+^3K+y_;dV zy$KU22L=uAZ}mk0@%(ByF*)e$4tsiw=Z_xg7_sSWezZyrfgy*hEvvr$7L%;~q#OZn z4wGdnr4~Zy0c37=FPJC@ieRV!6Ubz;poJ{?4|cj|ACz3@Xhv%$C*B7DM+3m9prEvf zl8v68o@(OG##qRByNo2;&|leG!bzbMUu$|^*iqze+@Qe!(?q37A4P$fH?3gEzFeHa zE|4_oSW^UlhruY=cG_IQ|HM^s*4bNcI`v=EI$A*l^`Zz!(arVDZr&5`*JcjmLUt&L|)Z&~FVNo5b?KpKj zx82uORZ5O3*pz6@e68Eizk!hS#f$s#ehL;j@&Q7$^}$evA6^5m(0ExfGp1_8@4IgU z_~;N!c2xB`Trqg34$H`~-(c!->oP_zJuY$}VNQd*JF@#%_Li;4oRj+D(?nVhafwI) zsKrefy&(VMPpTVA?Qh-JF}=@anE|+(6IZV3ArX%I3m`@Glx z`0Jt>RZXpuH6NSLTpcDaD~9wQ_dNgrND|^-6#?LF0RX)5g?|G%(kmzU4)O=a?2F77 z0H};Xcrthk*=KPUQFm6dGj(<|a5MqbRf%0q9GxueY>7WJFf$p@Te{d7+KF1Y(~8)d z6Wf^*voJAnFtM>PAs@5k0RS-|@%4+cd-~C`n=}5b2i4iB?7Z%n>o|`f03(P-{4Rjt z2&33iv&yGs z)}uFbZ(Xsp%yw38djkf^4+1{D3xDz581EceX}lfLH$~oA^lF!~w48w!f+q<=`Rils zIXLa`1MxpQkR!{!*cXETe(3`*O!(g&lqO_@KIs3Ph9Y!Jg6Q$@X?y%ZB*_08Ba~_D z+ux%@K7Ku-gz)}%hs2o(ZKnzPze5U^PVek)Ck#FX*qNOD9zgu)F$jiH{&hnYq#+h%u z_0dp(7i28SC83G%M{Wf}& zOd^gFFR8;fT$>*s9$>zV?IYRV?sfWjS+U!k5aAEd_tnoI+1S{)?Fx?3 z69>Jsc*eAH%<{NXHG(1qtdYa{+7vT3?i)^P23sJ83mal*N z?^N#DmR9KQ+(f1q@sYgUetHU^*Q&d^y^V>EhJEuzB91D*yu3VtMF9f`S^>jEgImkX zuz!G!(61=Z*;h;qF5kHV`Hf7#B&_r$EaA#c%C(A|IU9Jab}hqJLB>3vy{4vY&g?LI zzlW#o1>flC%Fa*H6OV%~)vRU8nV%RI2M&<)y}4Z1(e=8npHvqAs$p^i#c}yS8wo`k zUQ_@Bc@8G-t&@pjBstqhQOAjqWv>-ycCb>G=LaRPA%?9=Z;$IHm&5AnYLCp*(^CP@ ztG#c~aG%^3+}bWP&elpD+Ab17;&E4uuNRE_`}^ptd@cu9ey_JNq|JJ5-rJ9>ueW{8 zujfRJ6ciM#cN@qDhm0cZNy*7}^Ht=GjB=&Z58iDM+x2<8(Q9!hc{)M%yAzJ@zq%M? zB;t0aO5!#w9`%>C9N@9uS$pLce1FtlzB#B1hwMp;3P}%H5PD&7V5Fc6D|>T57CrZ6yHOZfbXv z=}S}HGojXMXLT2=cSXOS|Mm2PgM&Cmt9M|IPuHP7muY@_>YR3`E3Kfmhl4zoWtn`v zq3Q0@h1F9hc8{GBGIXIM*XGe(wbE$-Wn{kd=fW-m;?;G5@h%0WhNGh+#fPg77$PUxnhzi8 z*m&>P1a?glqTJ!A8#fJ#-DP$2k|cMx+1XfCy$=xb(+DRlYw>%_A1-F`KD4;4m#@-M z4@}qAWZgzo&i3QAkXv0NM9ferXFAlt<%f%wbL?#f#;KW-zz%KWT?LEIsPY-gNG~=% z=AUr4^P=_cEq&!PMZLJYNN#U29Zu~VEGsJ;^?SJ_CntZs)_ZlqJ1woMn&^q39nC0B zE9oc{c-{{s^rX6&&}T|W{A+7{I4Fh8MQbg$-4_D`lHT(K8i2{qx1W`q!+P#)N=Z&c zSCcLYVm1j07=Dk7uSHanbZ>J|g))6^8n*{aNwvyU4+~_{k{I<~HX;Pft*m0K+iPG48(a`~jCF1C40cnMV z&dx81l0BEaBxLwkYn-y>s*9e@lb0953Hb&2vfTA=a|xY-zsIo``u#~twJFWof$<$% z7J-M0R4AdMgGm=M^x2}64r6;OnuJ25D6!u!am;t);&(G#6X%#aUNn37jwFXF$;N^Cc~%zZ$-IiJ>xtccx5(AlmI{ndfHv_2wA4Ot-b5s>*S` zs^m;j!l2ph)c3UYHs>~xjQZlTLZ>;WeH0GRNb0SS6zFwOwYqQ`8&?TragrzZTN83ZP;ZDjJW&Oc-z;D?e_%L z-|6~=Nn1bI zF^1X5zJL4nXP3WXfjos01vTpwzdV-NZ{DhF1c#m5XreNw`ZNvukOI4AbzwrSdVWYY z8$;xGJ+0QI<$E5XM?tPZk(5A2?KuE0TS2N;r(3M!W7@AiA&udM0g#Z?J_$>u%ZjO~ z%|gue;n4=Y_iMMJ*%3j6xt$#&6%`dVwS|q1jI3-}M8x6ANu6eSdzk^(_OzwFIPQQ(6R?w;Gi zcD=6;rhzjso*nObH+p}6e@{=38b~)P|8;XuiFLn}?g0a7U80Ya2T#X`lE5gi3O-MT zk~}HpYdMO2$b%eDNLufXC!J?oteOMCqxC**ygR0tyAY=#2=C)8kObMsJy7joG z`u0x0(+Fo=NrZ0OVP?SHC0$(DI?twNcQ5-WzR=D#z1R}vTF5kNIw60TE&WJsi6D1b z40hXJ@yfk`L>Lahv7)mWL?3-EGAW5eUu4y-u`O(zn_ut{h zuP?4VDH}hQOe1&v=kU(aQCUSrML~gS1UWSy-=AaG;%SHla7I%G1+^z(!RUf!;R3%I z6n-Wll`8za@5~LF#Vh`Nam*JYbV3tt$?{k_gDIeXDH0`X4&#ck}db)JD-Tjj22#dRru>h(`9KCO}Z_m!QMwL$Q`RbB8u+yB?k`*@^509kF zLEAk9fn@93>+@)#-lNEE{~rh2(LqLUlU|N?tjS-fYw!ll!MxZ^*@Bq3@2T7TS#cAV zedh_3MHka4U2uha;(8>`XM{sP+~|FvwpEfYU!{Qjd!(omr_7)Jcn(+sCUDzrtHekG zRXBGB!vzZpe2AG}WGy8;?y!tQhCUOvk1!O;E)NU zS9&(jTh76FlUIJJ+(xJBH3bC)_I;bnZmaav)bH%x?cV*|o5+`fgtk%sN6P8xK?dEH zxv{acheOb4iQrdD%aVC(SpVloWKp}*lM@SDTLv1MRDpIfG@tL=MU)$y{A_F{_ZOJJ znmwoKqIr;HJ`FuR1o1HbnVBcpTBC!5GE!0q!9oz93CYt-%F48>O|R*LcwvzA8c5^O z8^`$tkQ9sx7;3r06!rwR0so_GY6*m)$SVKOc`}N-HgZ;hZF`iLM^XLKrofnwIkAdE%*y6-7$a!SqE!VIU>Qx4prAlv-cgYEgO!@o#i8#jZLQ{GDM-MmLX*SE4_gI0$|eC$#hi-R z3vwa5zV&2nk^>dV20_*Rf(w?(SV* z8QY&64Gj%lU0p@~+TH@rZf>Vbjh9dNm&_l(i;IiHzv@><`F*dQw}yPZjv{;{MqmSh zJdf+q_mwKU)wX$d?#eg_!atjhjLdn?m8g_Ltt~Y+2@=~M&7DI^!hEUHm(|xt8RE5= z$`B@>k`OfqD6!urW*kaCskQ7zrXOJgf$V4{@}xAJz=BmbugB-}U@!zh6KWbcM1y>M zFG(EDZ_5RRS&gDZSm8rhkIg{>ZDZn`8`W@c{`}h8;rx-uAO+(;0)6vKij*c-{lPhU zfbKwv)zN=sZt02*CL}*r>%wvD!ZZdgPr_v9NQOFu6$z+0-DmXFW-{KhF3h-blGPoS zQ@JRpgJCEIOTr`S;_vgb2)f6;%BNCmWi>L~ACzXaq}J1gL;IhQLPPI{zNOc@XtW*! zU*Ql8HvW^G18bM}N|SNdo*71c)Dm$y^5CE2<}~zCc2-tyjoLJc;k#U!yYJTBGqGSY zQ9i*3=z>0{Y>)-tKTkAZY8gsT`rBful(gn?J17mS8P`4<@0Ri^6u%7=WwLx5FUnf# z!ME-oy=@S-f7^wfZyn-X=pjU!L0B*bC97?c`7CL}0mKOv zs~@v6osP_2*KzO>@mCTlzuR0m)Aq4|v2#C1Ul4cnv#!1W&;)(szwwLp>z7YKC|#() z07mpC`Mh88sbF-z;bBr}T%4sGf%W?v%B75JE2HqTGw-}Pg7#nxk%wbDKWG5rymp3Z zBYkOEwgNT{J%Nb)5iL@QUpF_diIOVvv3lCtFu?Gzj1ndx4$l2decSa$#H+*I+4{F{ z5HlYddU}{`Cyci3RwOn|J-0wV&C%kw1pgd1eT8ISt{dH9^XxPdipKoWllxDQr1Hk@ z^~P>enll`H>Fwge1_Uj(+ON0F9;y^8L+-=y)LUI&{S6?K4 zBq5v{GHV}Mm6;nD$wD)}k}C{k%Zn4|x;2R_$>Egoz^B`&b36{kFI5c=Jf)KqrSoKWfrB*uc9kerul-ROp_>?KVv=>Kn$Q{Vhx#A6Ms+IGS-uS|Mt03 zZb+;itMEgLWOKbwf#+jg?~$X=;aY$8(Yrndx3Qfwmn*MSPo3mP-Y8i=J^Ay`@>KCS zN`?<`N+G=N`Uom717#R7i$q!R&Bv!N^o1>5=B&7gunHK3F|O|dvj3_ng+(RiXWE~W zBkxUYlR+%BCcg$o<@h#3pmHOt_FtIwQ53yL1luXilPzK?@x|bQTxkVC)uOVoSZQcP z4B|0M9t&jM63sg6!)VMTmMr}%Ve3mD{^*~g9*D>>^z}ayjQ0-@Bdi%27;ZdUmzOzY zwA>$$>sLJw%Zp1=Er~^I9v&VpcSqHfmA%&y^uB)>Ktx0gB2C7@!O6(TKuM&#Y+ik? z=wXpC{DE_ruF{(myjxeMRZqgeFk)LTSNrMR=%uMsx-O^`)UK}QhYCzgC}u&*K?pZh zu2r8Y;O7f|GhT~?95XB@Ati-Z?`dUeNdrWtb+BwIh#_Q2OIlEoiHwS*s^m7i9(&#{ zyFqGt-;+i&2!B^qRRwW=>^{w?n3##4t%ShK2BYrxl{VAigS~A>BUJo%E=ScSWtH%_ z{B0d5dis6pR>yqY#vrHnnuLHdMdee>WsaLdN>HpB-KZ@U4QX+1XQHxcG$ZRxmMb=k zb7a-}yNH(exF3K76cgv8Xq5mXB9%&34j&{ypE^cLCzI;nEfD+sUQqez)U+}I!`bLm z(V{FY+pCN+M;2vDyWv{gTjN3otuh?Zj#MF8B@!;;Z?05S+g8-VRduI-;j`?ny|=fv zdl*vIC>A2D3e67`A!;LORgA977SUXGY(&w(Z@Y~{EdkYPi=Dd}cf*Evi<0<<4q{

0+{ZMx1b9oZ%#pS#T!#_ui=)N=E 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

u?-l6^bKF=;Q3-0_);ukzKX5 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 IRWy6_UxtE{+yDRo diff --git a/docs/guides/setuid.png b/docs/guides/setuid.png deleted file mode 100644 index 2cb431ee726e0ca0fbc11d49403d797798362c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8476 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

aIr+Fhh2Np98%i3??S_L0i7Dq#sMF zJd)QkLo+Wd`NxcXI};SD zD5~)~ugz8^Q)VnmWD$uT*HnXX%1NGxpBg3H)D1NE_9$<~&0z5hRlNXZar5s2vB6yz zUYKtIzEZ#TTnhV^A4!b_&pfc%yQwez0AO(GwO&O;Ds=ksD~-B}6Fj}X_h{z;-}q5y zX_SFB=Ah~%1E9KIVhy*G^IbgtM9PWryVJv*wMy|2AFV*XB$UP0#z8^K`kPza%d08i zvgpDr&eYF*{rVd*a?ffL3LN2=|1k@f;35RfSJ@30`;O;P?6BPT^X%YnMg53Z6q(s6XWUz!5*zoT z2!dykIjUH`1T8`laY%*s9VUPyd#E9RAo7A0$(Up2v$G_3h%Z%e_FM8;-bG_#5`6UL5!nb{vIP44;DF-dSHggfhE_ zQ@g)7N@+EvllZFqIHBE@HadF|IZc6YHx)1v#KkY)9IC^6e6@KTzly}r&k5Uzg4kZ$ zGWJ);82nU9=AwO^ufP__^L3v)1cXSnS;*(77hBJ)1!#M4X1e;ueOO!}9oXQjXOGF(=r+SXqF`*(Ts{?q%yhT7Yr_QJwl&QaEp zCvrC_a?^&J*GHJ+FnkpRX)y9Wc2U^oh^spPm1vQxvMWDkP-Uc|%h7Nis+Z{Ye?LqEG**HzzY6Xic~k(*=;5@F7WCE}hv0wC)~ zpYqqcgh#W`PG?W^;<9FR zNxSVrIkmTnPoyM;LPvrIbOiuZ-r$d0v_c8;swfDmhc`|lJeiP4V)F!Y&6!{mOqoc7 z=(3ze#qFE*@Q^Lodo312Nf0# z98k8muN1E5u^u1f0ZX3vyXqV#xUCzOp+q^7a6B341&)gY^jCTa+@LAGplUhayq)Ih z2lUOit#A}l9O6OQH5 z=Ry&wSU|qX@Aj{!KNJ8}o%f)rrba34!bdGD_b2_l$QbBn?#s@F4fyN$dMpGGTDB`F z-6d~YSz8eL9T`2CcI#&Q*}G(<@)v6pM<2wcTr#e6RKDPlON~kOhrvNDNkD&TP zohlPd8eNDo~Zpfh?RL5#OtH)2>b|Gta5TqS7x1G}gtD_~uOL=i;{d)vxf{Ash5;0hBMDC_{X2B>>xc7RTjA?mZKBSZGn2fKU zO@7W=_v9F9ew{=S`JnEP#cs$R2(aX8DR{$ZxDCPZ8#^yf0s^9cb6b`is_hi_Ccr_c9KC%)8w8HPMfzS00x22q-G4`m!lII#iLP6LA?fD)XFT;EDIZ$*A*c_2~7%} zO*j7co=p%n4C77bj@9MGmK{Z6FjF$9&>`($j~V6nJz?`7e62&i{bix67KPsgUj15qc}KVjo+X ze1w9<3xM+*I6a1_aeqJm_l7KhOj_(70s4FUbaHz7RJF;N7S-r$ur+oGiL2|j6_KO+ zqW(c=qlNWpH(Rs#aw_suJRch7+vTikci`>2dhBcef?jEfUKS7 z>kVFhH{yFABH;nw2nuPHMI7+5>N*Dz_spxM9{Z2?ahXXXOpUBl50d=e6n~Vw=5waU z0r+n4RhYOz=Gb6YY}Q?fp3U8kX6c&l?Z$%cZL+Ps^DPNnG8I2nJi^hnQ?R?vf6Ht@ z$LxPe!0p?%3mC)~jPL$&gU{Ecti+wT$o_TV{tLHa?8ht*uO_+@9U|$07SHh+zH#(I zHC#`fw4@>m!+WNgSA8Vhh;J8Es}!kKu0AgOzr3T40X!IjP(vvs>w-l(Ky%c$=61Yk z9E$W}%i-B#R4KY68*8GX(`0=?%f+4IPChk)`#LaGgj&DnT`~bVjG&5d)(OSr)?{w7 zlb%GV;|v0TvdzUylTj2HuM<jxhV>=VAAV=3ov#!eZw)w zXN1CF`8PZ#jwzptqhYd6Pe@fXPn8;B3VWX=*tZr3eDdVFhCuqrs5;#V{S86NnQyDX z8`=E9w@VFy$i4}(G%ws|8G3Y^Pw6HUujp@c{h@K&&xq->yI98nUMslwsE@p?tn&AB zUWg0(We*YX@sjIUYA{|Spg+|Ofo`8WvqZ1oiz3W@y*Ag0u?zLr8&B4yf-`pt=M%J; zf`)`slmu8+Fu$+>F%q7-{J?j#A2l+-vdCpQwqn=MEKy2%+ZWRt`h~3&-m^g z!=k1blb|6BV>m^XoV8b-lDkcf;Xg9$>=WoYTbj-?B*V~>?EUJ+fbv0gk@_RL>NH+vMdVAlG&^lcXH$_4{>>$>EFTx!Y1gSUg&;$V9;k60{o%rJB(tL6o-f zD7zB@h@BBObT;}FS}`Fw;(Cr?(`|%myg<@Vt~ezPRNTnkhpEzD)`fil>wO|fH28TP zxVCuFH|;$7U7o2H1k7V}k5LqiG?(4!sB&Ai5-;f!cloR*AokFTTaM0xgE z7w-rF$?hL%N%B|dZAw#Annbx!@%kP++8hu)7u7e)kv}KB-{<|h&6YcwHgQU$7VM!& zS1Xea(J`GN7}IYAeSTUP_0^V_gD4)Fw=xp=xo;@8roB3j1jjK#+?o7sra+fxwr^pD zI&h?KFFJ4vJPT7%^m%YF-?k$NSGsD^qY~U5tWeU^Z**wJ>kM)EYK-CBa6=PxUZt6T zQo>%ZDeT?(PYOIo<@P^lUH#JDF%iu{3bY@rFzvVRZ?auh|6R~n;CsS1!REutfs1%! zA%u%K)~hC|<#|{bq`wv23(hbF12rz-dNc$Nj1^38k$h&A79Wf*wED$tA5&CKDuBH! zjDRH7U(nKx4D`95jn>@!TAfOFV1W#cu0J2Wo^bWF3Tw>K^Sg1>2hYY6&A)RN*E7?t z2G8uorOIaBKr~iCOn*P4|BOj5*UF=+8onEpUtpJeU*V?JGwSV@Z*TvN_>)~ug+ngc zq~0t#t!3Y_$RbQOL@74yB4K(K+^E zcRyuY^)uM&rSa+@%Fy{p&{fkR15fbV2Sm;Lp*BQtpavk-eWwd>KanMhI(9}K_d5D3 zzJsp2Kk0uQAr*LPZ1s7cwB=Z|GMeQq9j%zPuk&w%scM5&^KDh9#T(s!Z{dAs-WP=Y z8()s>**8#x)j0f+RTvj;ta;6-P$|ukBI!SQ^s*1NjpJ+%P={iP*V?uRjt33z?LfiI zvES-4$<0MGy;JmT7XpYc&2qA;2bx~5)?7}S-ECFo(TnK|F^_ZHZf4Py}{IQrmD0?K{(nx;41g~X#5Bdn^ znre2SfODj|?}4i^WRx_fsN&adNB0N!MUtt0M5qq0TpikEUYch7I{ z6`T8?%3aQ+vsMv=BRdgD_qE2I*I0AZfaQop>k#ks%ui$`Oe_WO zflgS5t3~&#*X+j?b-?2sf+DQ$rwqE+(P*g9-d>FnQUV zXw>HR9TV2hsRKK&2OI$1i`pI&Eb@I~chJ=(s^*79)%NmMpDr?1xJjMHD`?F6*$7T5 zcfJ$Y(t5WV;_^eOBvR;Yn8b8}NDnnc;TvOCoJr17kP~kyv5_(A)y?l@==oj0&#`xJ zP04hcf6|w#xB>eY6hab!BP3O4T1V|!LIwWFLri6_W{#!N{MZu4&BH0kZ5%dmHlP{f!39Wt z>~tG3RE2vk-MDqi?-c>_I~vX?SCinAb`ZcYzSlg=8J!^RJ`ipCrt42++ey3E{z(}0 zRvd)$Zt=h3t|}m^?%NL_T|-HibT?9tv+{ynXo~ep$EbWk*dga6CxTbEiyfeLKK@~g4LOrY-7GnowPv)i2#kshKo zel$n9sWIaf2iu;?WMARQ4c+%1>S<{%5q5kqru_~K2y!FxyLHlkJ1`i)qOO24o*svi z9Zc-+O1H5)X}tUniDU0CR?;Yd3Feno@{<$>P~G92^`ir|-fzYUn)}%HVM&|#JTvwx zwh+m`^P3V!mnDLE$K1%v6|Ha8#3#FED8u!0g-luQf;-wNxf6Up>q%Z2>Sqf@(N((f z_)2O0fu<58N7Ej<;vee<1=Y>0H72jLlD^eEe>JO8WGf!!E=_>7IR^2?uc%)DT$@ zJtPRUp_H-4i+;JMCP)jgaRniGn|Bp2v-c9H4Uv* zcqPtRbfFKnkKR8)VCCA-ipdZr41FPdz7pkeo^g~SVT0Mo5*f5SB#2gf*ne9w*!44< zM9ICDU*fQ5P%RvJ5D*dC8~^4TKd)c@1aI|;cKFa;im)>(B{qY#4ZYJK&81c<&7lrk z!#8?UWl6?6d1d{0K)lP2V^oGX_N_4J1~)LrvQ zPsBdI3b@MLIDXHuN_9u&wDHxMSVD#`#kI*(BWMksE9tF2e;yUE2{_3E18ICyb)GlY zLbwrS2az#{!3M>i#VCK?J!OjT4hB4Frk_FkglZ5pYO*4U@D{M@r?tI`J;z zoE%8<$B7HDfpxHQbytB(ekec%zTt)4>qMKMv7_8Axv^}ZA>QsjU3;&jW*V`}++#!S zTI@_LvOPWQ(NqU2K7US_Bizcfb9+Cied|^d@UY~I5sZEZKM#Pk&xxn>Aq_yd^~4~x z7$H8dMH8Wgx(Gl4AE4;IC%f+GRjTeNR>~l7@)H}dH$^JA+nI;K2bbmK+ zQD4^>F*Z@cgqYTDB! zWOsCGcH5BrkiyBP{j1YCKx)EZ41~>cjT{((Gsvyaw2XPlt|wdY=Cpxw^0{$7=24C5 zi|*Y}0X|ACft) z%dXE$`@ZzF1dQ1U{Nx24svgaBxKJ2nJB7-qxD!9v&J8GS1{=iJc|E(KtaQUI^jxhh zk`bei1X0fXjt0?c5C`6rC(iGmiLJBJ<0K+0!W4T8POl)ZS1(7RqzY^Df2K81*F?Q* zcRkRypqQ4{cqC2MYf>KZ4jb076QCf9rYsi=J$*izIKM6NJvZ?bkFT@w3LNKV<Q_hiLjYjP&rdin?0i{Dc4ZfM!r~d0-v9;{7F(GepXRt8l3T2+ zeVPkDCyO``LLh-1y~=w><=P6buFC-0r8FN@j@igF_W`bSCe2EF^F&IN9Gf;msWviz z1=x(w!0QAYj^)BHimWU6r3vZhZ$m)gvyMd-yaAQ1fRr%K>@+eG0{H0~c0Nmk1vzJr zeqTfpeZ+7mU_{H;+mokLY6A0t51m0nd){N+;X>%cZkIs zbutUCIMBAOGd_}{)_DEV?mJmHg;s(Rb7*0OUu0dMu&%^|Z2`CZWXA|3i2&lB3s0{& z+zY`fh>}*^b^3R$bHjY1OZ3Eaqf`<=w14ypd3yfGvZ-YRX0>Wc_vl+O_|>VohA+7YIn>|HzWp}VJC?p z0PcwDtx^9!d1X*tzxE|<%gWh!Z>bo1{5)Udtc@pOz{|H=%Wg>U`=nr5J%8sTRwcC7 zIVKNLPiN)Nm3eV`-cEi|yUBCb@QcM2!!q!b#xzuNqmLUPV=NJcx*%hB+S6PlijQf^ z$bG;j5Xs_8rQFlC{Kf^F*;ZCF_b(5p%pF1pi~`g@TMK{9hi!mCtY@>|a8`*6gxW}L z4O{(0O$z^rvbyFU$D3?~`~#{U_-QjIv!mDgR@CH71@OW=K^Rx3j(^$vCQ-20X;?OuS*&U0MRW|! z3b7oUefTZOH?ni1geH2{7Gv!)lIv+~Y8oSn7T7n(eF_dz?6Rj@w%o*pod>3D@Vhk> zQzPQKe^_f~|Mnk6+KHkZFt@G1?F_ve7#R5S<;zd|5#kKht8#f|FNLp_qF-<3J6oXr zcA|rizVFZSQRJ|^Erl*Yq@N6;I2n{}QKXs5pk zfnxWQH4I?qtY{LuI{(G74fAZNCVq)bNFDuK^ln|*?iq&jlGzsX%;d_M7+4_Jie1UpNa>GXtz~*W+=fbg3QzI1h@5j9e;O9V}tyQMys0AmY zMc8XqB=!79^sWoKrAiOQzuL5Twsjf7fzFP9*+gX$S@1vUSYJev)9dx!T3zi2q?&D* zJR+AE5S##~xmXZagH~IzXG?VA-SdD&NZ*lZS^VIwS2^IE<}>D+byc?XI>#+X(2W@cuyI~PiHyY+camb|1$|%p#hA*YH%-qsl;xjNR+!UN1I>E+N1+uH(704 zekjvM8pn9#@zEHMsD83*C|BpW{iOPCb0{587e6QB-rWc}k%&-^kZV7UuhKPRG@=az z5kzXn%Y))%_}Y=7CkocE3F0@!V;(W{p|CNpbw#?%yT)@QKDKl^U?Un@SlYMz>&X#{ z028UV>!w3lE_$AXZ9N-#_+Mih#nBA+e_Y>z7*;)6W7g8MK3~f=8m%wW1#!6H=uNA# z7Lr)0J+E@IW^09?r5~r~_|W+DS-ZL=O2X;{b7n$VQVk-?Tg4TL`TEn{TpMTQIDf!3 zeDQNF$`x^OD)`+RSxg7$J`KhA6xnn#xu%+YFgGdn6;McBeVrSrz8qpZ-Iy2rp6>)K zc9hMXgKe74SFTo6Haj*t(C(oPV$V?PMoD$?@v}H3IEi8jf^Ss-! zjHbODu`V{FPn=kK60zYPr=gc zgM_sg9rM%4s=AO|#CYdqXo|^Zl#9Gij(31qqN>beEW`%{!uuDhu41C9MGWvYu4H5) zsUbs5;!50?7AaR_+?k!l#1bwMFfCD&PpBJi zG3@kQUm;3A7FB%lEwm=`_Tu7@P1lE>bAbrqCk+opB4lNLy}h;(7+E9L1%B_mNgx(d?Z+sa=ho& zs9VenIXO(ZGEr{1Ymkn;>X1colb#_FCn>GWXO37}HD7$rSguPSl0eeeI3V?@l*LfGy$1{ z(gp)3jkbS(t4dUP_rFPsP4oC~TK=CBq5cuLCDvq&D*ZH_l=gq~g0p$FLbs^QC&Jl6S)53(wDouWtX4`)2 zjA(aYfD|60s?cEo%y09e(yW(^VIitsb zHMOB4LWV-&YL!o4Etm+F@{cHmQd0egQNH~>U@`(8s6ynG+-*~Hb8}^-ySG8oUpA&G zA%yM{SY*L!ZLhzx-^$%hCMPFFVJoB0J-2;6sb~ZjX z007wUY2SGS08B9e!1$S!5gg&43fmC?Rm-sl2U$Gt>1nbIvN3TS z=5~8qdjtT^0{8CRGJ+FHqrZz;armzb*yaAm z;D3L@Z{3y)NU{}Z>CsIk%-3n&_ei9FgCChV(+6X4;c;eQ&BZe&Nfrhn8kgiFs9~A) z0!9|WT91&2D>X9?r+uV|)tQT%of5y{ve2LQ(UJ0~_^tiSR{!Pxm?qB&qeV1;kIe5E zk(d^){n-@dF2I9sMsg5$80Q}#5AWPEqv^Cqhvhq5+n=-Jm3m52%+iCS$Si~RXxtNW zr2~I>&_aVWlj(CkCv>8b^kWIvjm8=4WWkrl-R-|Z%8qH5FVv4)*_OVlqNJyT3ff~^ z9lTR5yO=#NJ1Tg%6%Fjk_hBPr3nzpyZ@t63j^_m*wWG7GG7U{R`Y9n7#^{}K3$HYt z688ponaU3Y!sRK{=Sx}=9)F)}^XU>!O9ppG_)cJai*6^Z&|D*n`$g7fvWrSNzNo1$ zb&>s>op_jlx=z9_{-ZIC8wg4P*8~o(vv@`T6z8uCSQq=p;Qzl98#9DUK#*~>yEtxR zH=qa>9md0^mb1?WK<+>%E`#S;tZBBn7c$^3ASL!Tzh+$@96GCa+W=I-i92DZ50gJA zVJwm(4X-XWduY#Jx=*$QZ*bEw8kN1U?~yB0(htPRf#(-w-LnWW+er#B5;ZMP(-X^+ zSTmZ9X)y$68b3?^A;8#)OyU{y^JG*0yKf+4>fn)Wfr?c8HJMYu>lUo>z@#R2?)bxh zBt4HW9DNBMpn$N0PY6Vh(ef4*0?6OR$|r1z9^bf@=E`7~4$7YspTKoU&dKJLz3x$> zSnB#=pG%H*Z2ZAR(wXSuT)w7{%D3C1`rHz|FQ0fKqP)j>{TL4mu$O&w#6iGef zB%cK8hV9gV5y@|{E|1*FY``mum|Mjvg=Vn8%tJ~Bz>T?xCO$wJM1>0B7rR+#7!3PSwJKNgFaKlR?Alv3+(Ukv$U|2 zol+;$)(-TT6}={pT7T*_^C&U2@|LsrvqDyYXs-s;3^e6E)IJ;q3*NreeX9}%0bkMApaxz>Dx7w@gBOPTeL|Y#0+$4 z6MyE+bD7iK4A^A?h3Zq5<4I(h6svZo6Tn+=oe{AH{g0A~B-zjb`!4rDAJQK5IaJUP z#T;bZ2MZq799+ySmL(`W{xt_}>Crk_V1}IJwk%wOo-AfMEdOGB(ffK3mv`YfEg!V$ zEtNdx0$?B-#<2BuaQS!>Bq+KPdDJp z9j)KgZi%P0K+Ce5!O9`54d$GYzgXb8u-C}u(YCUY}8c8$0b5K zd^X6zsRYqLd%lcAM?I@_m7k4!>3u%+_#@0WPxBbN_w2O1%S@g>@yawvBrWpdz5dumGn% zDw}4ph4{66gf4yU@*ByySm#<9;dCQ|PDvZm)Ra%l`8@o3x%qC$6hob%0kPLJ9w%qn ze*}3Y|9R+rxhA1?@6xjTh&pmEem&RR+uH#5`&nHGqtF@S`JA<|$y;X0`cx@x#8w^n zJsytG)nx{XRFnqZoc_7;Wsi6$$)Z3lU_dYqaSJiaZ4pFbIV=vgTFjvS%ZH>L0ge$le|{`~m#<3)7ib84mk%6R zIjzU~AcnZX!V-&2-VAt}Wj_Ia$89lf@L54@e(shxhyk9?dqM+(-3&mbmlI8@)IkjZ z)D8YGSV5kc&(d6!95CO(0BY(OHyZqj$r;*xYi*#-9MrN?cI0=%M(gwna&EIrQ?|2K zS}!Fc_U^DH$AWHel;?>9x6qy?A2B^e=+Uhg*y;#K$q$qU+!#nKzX{4$y6EG)=Xf$D z<{p?mD1HJ==q#dZ&dsH$a3AcUA`SZ-LeFb1c$T*ZpE9kE_e|4g^`(`VXL`6^4s0kv_OUSR|C1B}c zR+xga6*WEdYq#uVS#-;ZG9x`Z7&LSu?&m%?(E7St#3$YUefm)4x7`w{1sqGZCZy3t zz}Ghfzl7vpGgJwkyYvC5+s{=Ld!gAa)`mLBsebpR%Y5t%b4jwj)@VJ>3P=lOm0~)4SsrWbrsOZO zO0ZNn+xw<-P=s0avvjgYGHa*iC92j$IQnb#875Y(T^8P!X@7C&1SCR>W99vqCu3}P z^k_1;r3aW)6@TcsK+u+k8+A2Vus~Ke8>-~Ic}1IpEi#7=`FsWhQhP&(0QHs67iI>; zIueiPZk1V$_w^u$GQ{3(Fv~l00z%Ce<_KInPszsHh_Y8JoIK__5VQ*Zz8rkPk)S~x9zO@V8Oip~y|6BCwxy}o{K$JN?7*rvz5uV^-pJ`Uy7>;PQ28VD|(dII}|6sT3-Xs5KlGnv2Z~B)A_x(U)QAb zRAG9H%wI3daDE-qq7t6~t5+#Voa>WbCrhL(hMhqjF}rvwQ844jU{8+*{BV%g`rgaL z7i5zpJzeue8|bkXg~2ue*q9v`8Wn7CrL67!uDuQf@y}(r9)E52l#(~ zu}xt(0GpsAN@}zw025uHgN0jb(GPyW)JME~;q*TUM5H9K-P!FGwv z2-pycmHeeSr~pqCtfy-ZXyPyKmB4YxXLlgagFY`n5oi#s@|7&_;wlLPy=zztEv% z!o?A~xavO~;Nt%vS2b@wYctYzpWHZ7&Pe2}TcZX7)s;|O+|qcLVdM!pUl@{ee=_g2 z`|LmmgyXl-LffFvSRu)@qaY-R6YWB0uDlDs=@cLXpPR~Lb2jJeBIJ;yk4z> z_OYYs{IRmH5@Be2MPK_?1HKlZj+VKI6&Yf3nVyjdgI4?bUmCwgcSsxgMqJ}Fk#n_1 zezu3>?nTk6NrdO_-j66Ahy__(2-G?EVFEW$BU>2zNyn_OAmX?|&yIt@@>It2yorQ} zn#W(t!@$lvGC#*X^UL5VGyZShDj{&)0;HOIR&hG49ziw zK~SOH@;73i$A|0HU#CQ|gtT02)?kYoIwD6;rabN3w6?>03L@X)1g#~wZbYF`Xsi;`aD8Kh}=%G&g z>5y>&sE7$t?hz+vS{ z)wbJpvB}N-@!+P;m<69S&xCmAR+$xSh95QGfC27dZ`plswkyzj`k2pFu*`+XZ>YY^wxXg zV{cAk{d>}Et36%0$J@C*`Ja%2d4c@N&5tY*lo_>aY}pcHvNvc_lXQi~ReWtFJ#6 z8UR%M{1N@-C;mwjYzpx0GlKpmg2oxZKi}obZJ>48=4X$}bp5Km>B5c#NN7xucD;7S zwTdLFv|2BY_Sg&CyaN8u{tTd*FV#!K zS82p8CW%`n&kqBYk&>x+ zf$O+bwXB9Zb#_ZmC_c^}btWN>>lwp@C}jybQFHkVN!yXnqAEEo49{yHaNj>yK3^9j z;=>Qa!oqf0?WdzFz1V=&*L!>$^n|;?dH2+>TwFHbTyJ3~IFyPiEYJe@tBl&a6cSDO z36&doW`ICIyWhRfI8+p9Ch@ zK|#BMnYKl}uK;lmk;de@?O@z^xGUW2I?DuZchmovwp4D63ooaTMQXAG-wg>nRpn$4 z;`QjyOyb^3U=oe)LTeO#xGsESq4W(IOY6s6-7v6>xC zMq!^w`P_i^HaCfy-E1Ez=sd5;^dv2jTA|}l$V)LJl46^m_|FtmnYTg*(s$>&W9@af z!nakwUKwL7Wn?M!w1V z?WpQoR5^8oihRRYmQS8LH6Exf$r4$Rdl=X+eq(1nl7!Bp@t(z}ytp=aQ+fYpVvtV} zaJB&}t)TMEAf6rVp89G*KD^>3!$_~1EQ5OF*DZkmN5`^2Clb{ z)s@RDzSqUZC4eq@RU*f#4?We6;$eR5N_bLueEsXNjw;q#_so|)1%TzNNA9EE# zavKC1vclf`*g1O{yFUtH5`}klBWHoLS`8xmV`Rff4^lqurKlLA8;d)G4FMI_-Q$=T z+9815onKR1ZY!~ur=?5AW^*wC9Fh6iRLLF@e+%=(#K>d?BN}cm2XV?a77#$N9*vL* zZ>fa8exy-p%u?G^?*E*lBy<2aY;9v5jt!JPkoYJjm0;_3b*lIOE0&%QqjE+gtHwxV-V{g@m1we+=6U4@D)U$}#o z3jM@?opR&ROj_cca(jz(Vg!C)EXLxiDy=e!qIDvHn@?_ffcX@V7FSN}!T4^*e#pDh za0XYNqUf;$lBq$e-?s&%go0B9MeLN_ENhj$=B^!Uj2{aDx!;PgLb|32n8*Tt=l(VC z{4W#Ie>0)7TXsaq9^@xh3G-!0Z2kTG^8m1%wSRR0j0<;Yn{B7Pe!9X1TOJ0U0#i)N zlK-?gpdQ%=8+UX-RoRtS*;z;F;mGb&j|DoMOBl%~i1VC4O*my~iP2H{nqZFN1v|rP zXBQHg1+dVjZF&XENZ5Xj8EA?sZ*%f`4c~VJw_%yFPm#O@@8oFv+Ox9sA-E%Jk*h8$;!3Xfl|LZ*XSi*t0fcBF*So|HPhgU zGK*@za|L^BEz5#B)HH{LV{BCtEs35<%eM!LgxqY>-Wlj{s?lmEIq4Uv89gkx#iJ89 zCiIE;^;KHCd_*|)?XId_&kL8)()I|0`m%O&aZl1B13uhkNcaXp9-;u=zEtvsB4(hP zbiX=eSM^*(Vi;uFaK`DKC-iVe-|AU&VcS)=3UxzDKLnl8q4ikWiT&wMAHoCYchbV5 zyuPaR<@hzqGuu)+4Xf4W#8kL-@oS<_qjB|?6rlAGIXihmwlMO!SZTd#t|y0}XnU+V z^xAD~LzTm3kblT1O+)9VlzF*=KRa?A5otC>Bzaq2h;i9|fSi@M3E#djim{l<21yvyRHH?-wpEKNSUy`?rOErmwflJb%~X8}I@3s;Qpv>0F`OosCCT=Fd~#Yo#mLSGe+a-nL|#n2G^-0tr1Zf|PdM;Mu+5#nUwFHhp5^ft z)+wp-*we&o5B}OXtoPh$pa}GUx*$D~EdgCj#J@irUV0m3(InYx*ny)7z-(*;4w2ZdyH-&c`rSg74`hpL zAQ+>ep6}$kS)m(bjG))c(v9c9_l|eVD@symAljT=2M={{v zpL&CVP&oI}LNc`ifWx0S2IP6-yJbpT4d`e!@#KB)Oc78nkB({{_6#dobMujE1eP!W zPbXPpXGVLt*uA@YI^G1aNn?f_2`SoL^_hnS7e5()Ee}KJExM+vV3S6gh66J8!+L`Vy~w?iA0_l zPX+5#z}`+&0p@Z6h)e1u9yxixof69$!5;?j<>Xj#xCr=Rb^>2_au@}?ISA*K_OB0@ zf~Nj2Q8p+AWOuh_gAGYm_9C6(h5FTxf90R9GCU%ia%YVj zs7l+{xr8&0e&Y8H>9OPZ#k;?%FtF^EnK$;lwFvuaLv4~FX=hmh2cov z?C^`80h#@?r(g^-5XDxOh>;QU-eM>WBFYQ+WYWaMZj+|eQ)KV$1*k3{dlbH-pT`M_ zQ=%S}=1v+98w%B`uJK7?9~YlNiJ1gWFXS8#kaV<-?;__m|LCd&#x!Wg+RnJw$q`(f zre5yK&UkrxnN7EU!&219cP;{Qp3=bu^>$zTHMsZAi8sCK5;d;!YP`_!R0ieN+a_Q; zYyStHyR>iRy zg1t7u6B1}1nQ@*m2nwQ_@#ELd(4#NCbGRt3+8ozoAlq_(dsbS~&-k>dOrvvRhDsuK zgLZ1ZubJD?lx(c0JJ7Y7%lepBCA5AEaDy(QXCi+aUb4$$WG>Tb&-K4OAN=wRwqUDk zBMFy}&_?7J4aPv%D_{fTh~q$#7HyNHgF!`eOeSAq3Z6@bL4ZH^XfYnvBYhq2(D5YD z^>beCe_p!=(ru}gK5q=wGQ%pK!C?00HVmG(Xfblw(G-aL+_X=^iW7- zse4(=Ho^!(RqcaaQT>7OI~p(@S8Y@7DLBR77>NtOd!O+Cm6IJ70(V^Yg{cjF3JrZ1 zi(V2D{_Y(4Hi<{3w4Y|JyB^5B!x=#3FN)qkT+i~nNPY>vy0dn-YTOk|sz|X~IcC1h zGQMR<+pUg;jc?iT6RXOr=i~Be4}Bf|7YC6KZ8R2qpgHF%D44Ii`D>2Y$xNq_*i@+X`JMC;xO;+u_v5?vB(Ks8U&d^qjOv(2%Q-II~d+R-F4rLj*MkK>*0 znUhk@+dF));TBYx;njz-E?X=QkZ+VuUzN0j5W9cDNj(d*Bc*=zSvXW|W)V)hYrX>F z|H~yeb`9cX6U{tpt@i6?ijIfF&7laPd%62;FB0`8&s%!MKQ=nVvssuXVvULYHlG(t z#V;zM@cxX3HNUsCZpW%7#3~rg!*JttN^g)xmq5si>(mtg+n{eB6xx|WT~u;aBc2xI zqyCn6dpB(I!kP0!IBw|kSbNAt=HbPJknT{=ic-WCd21sCVWV1I>p!riaDM^YSMV(pJ!Gg<@(VS7rs1$MT03!XwUBzyGD62A_=H<^GX?j9igx;& z&pn-P1=-gU`fJOSej($W;OraDUVB!C1mKpG*|6$%&+JY!dZL=f}7A-uPvym>$~v85>H>8%^oK3R>%AU+HbjlKiSel>oQ9AWfhUWvay0UyLsBDfCj(Q?!E zDays##olFi>oL0YT@XXNr1#xezo#28%;GR>kO6k3pu5-^QO?7o4k(aB_{ntuvH#~V z`+&-@{0E6(JzX~n_K4LjKB30@Y%j~T8XiC<{OSH*u2}w-huo)KG(m9^ro<22KX6=g za7A;=H`e@#2f@U-H?Fp^>^zc1pKdV!Ai=ig#?YCs?QSiOk6JM(eeu#~Ntr|gIbHT1B z*m+D>$-7P*==!LhlfBK%*_by)plIqX(##VF8OL9+0XRi+74h@lE=f4Fdiy}WHv@3^ z$fSC}3SA^_A4TInXk1`aKXsXBTTM@pBWwDQ6z2OBW-7*%TGa2p@D`Nw&Y6-xZQ}63 zBm1rJX65u(hMg-ziD)H|x{3JDQaApS{z5J8`(O*xH^f5y?fLWKcZ>9og7H&T;hVQ0 zn~f=mKLT~(=Fe)Ka%t&jKk1+V0PP48<8`|+egNR|M`Cke$H8Aw+3vhjr-N!&zCzad zXY;}}VfI8#>met5)Be+GYuCErA1cWw*vHiAOnUw$i%~lScCdesez>lPJ7tn^DK}*x zcI!!)3&YoS+i3xv=!$rq;{JO{X-wr}=3-Dx7<1Rx{e&T3%yQP;w0N`Y7maJX539`& zGX>o|DY5FYi2g`Bu}V3frwzERb&FgUUjBwZ=kH&lqTGsZH*bDAU;54QCC%f3EKq4> zB*A`#MB~6H?-R3CGy@P%k~I`}gMA?bSAmvT=9hxYpY_V9V;d1~7ipYp zHycUAR&Zl#ura3X(eGpWFQG1}4hFc4t97oKi{**oQfo{D{t%kX@XflXma9QUm4x6e zg+l}BU4y%fmN{$&>&?^(*^MuJuqjiS&_}PG-!(|!T=H5O_h#fzmdlkHgjg@oxq=Td(C5hUi}RXw&H&I3tC zXWv5KVzyuRm$npj9k-xF@1<~1RKV60^3Aq?;eJ7G>+cT3|E)FU-!OsyMKcRXk%1H; zJj-1`S1M376+6KX7nqvK(GGg`VvHEl3_+qwrJE55e29Ew6ZTSm zx`^)#AfE)b4n^dLYhc5V0ZAZu@X78+=h-QS7xSK!i_#Ni0VFf`e=KFyd#YY|TWAk6 z8>j1*0B#pIA!FReE$$;jyFuk_03M|LhPfnw1B;IeVmMg3Mt5tG9$<;_t$X^~_0=K% z(|^4P1xlIM7~Hg)e4Ysq1#wmQ9E0?qh&0M4ut)|GZoyx?*kTDPzaW$zcHl)pQ2ak? xn@tl%jw74h%O${eT>Kh&cMvSOZ%omF!?&enPWgB_fi)W7o~HhtqT7}){};A;+_3-v diff --git a/docs/guides/topicmap.png b/docs/guides/topicmap.png deleted file mode 100644 index 4b28e9a99b4fb32c0798be33ceab7aa6f6efb1b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123105 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 bJ;0Fp|CIlUE|uF|^kq827i(JoeQ^E>3l`5o diff --git a/docs/guides/updatedialog.png b/docs/guides/updatedialog.png deleted file mode 100644 index aca7f06b9ae0227666f518082045a026fbb1fd12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 zcmeHKdot^0UPE6K(sX^Do< z1+)9l-papkYx61yw>6?BdbPXmbW?6LIJWxd6-rJG$k&ZZMawXz{qc!zMXIHPFV4v; zo4&kVr0`Mxis9q^? z@U>DiUO&*VjPEt>TO*Gw&CP0VZDLO2x&#X_rvBVZ8w!aSrFNzfZU+> zE)pwh*c@Wx3x)+OM67~GtskoF96hEu5Msoam;mF4K^FmDqA5~ie@KD zYWMf-jt3i&$m)|MKfv50S$Nx%!|ooS&F1dOA4jm>&DN5;UukqRjZm+>-WkJca`W?@ zCa_8v(6OC)kds9t_HVF$;tzKYoCzX-2+e{AmgPVX2wt6q-eHs!!3u; zMmy-j0Hq1_&QKpo>j11p^TF;&F^fjLeo@GPFP*8;9EO&o1oGkQ?f71s??m`E?OrEI z+xbdVG)3P6Ay@FbEIe(`lLN=YnLJ=zMpE&3;eDjUPxMG7C6MKaMv4VGIxT+WL;b9} z^8)iHl6@yFCkC*EJQT~h<45d+)*$$%1r5dfE6W$oYWV>j7znVp`3g6NP!0q0hXYC9 zqa#e_Sw&#qB|iu#IQqTx&+H#|GaH?Kxs~AcIz$zxG5zn0h^d(!XGZjhZh16a*RiO^jB6wJ2_KzzOr66I3}l-f zy{x8z(*uXg+8^n##Hly#m9}_yNN6>}bAnh-b^lcm53_!nyd2YiqMTTtV9KWOOS#)k ziN(j7S<#rM>WLw^X*Yg31YEHbf%pxSP>8Gf1H8JY)orv!z*i4ne!Ew~>t;3B>xdrp zXPre0g8G=*W{byT;LgzpB%Gl(WKpE(mY_S#RF&I$PZUFr!y?V8RBB}eu4#qr0iK+V z(gjvih`->YD@21|p0Zfzy!utmMfk*uKT%3l z+Uv#bsb@M6vfr8aa3-kw=BElgUsyMlmuk5jpsm~koi`SIs!Y2R>CNG-)c!z|uA)d( z$+-mYg4dhGWj=1|p3`OBB&TZW;?c7Mk^9ChO49W97zcT^u-n-L7R~?$4hK`SCA&Os z0*wZxt4|lSAo4(M3et2Z|XP#`z|GKcm0!XW<$O zaR)>Fw1z)eoG8?8M=81%1dt6uybYvp|GyFmLuGl{)Abd{>&>^>d9a5UPiI}O7t(h2 zA7QB5+rc{Lx^7g^N$Nk5BBp!mg!ti0;cOJ)V3r_O$68_bO*=|I!8}jsB$@>GZkABY zue8`88u5@}w-vXDh*68!$}i7bk#eo;x^H@|TDbMm0_nJK*o_sF+X<&?12=toB{m&`}>cv{c< zqQ}#s&i7Udp1nyLkuIDr^q6C}aed6c8MXXC^*w$TSv;LmL!OI+F4Z^V&|9|ozyr|J zqqmdBGW1Bb^li}ddJkxplUDM1J+G~{1byM631l=tPKz2ZBO?i#0XSnVgCXy z`%!-5o2RVSYOSqnxJ)6&Z(+hTug(4igmxbp*} zYC*&(yQ==Qc1ZK&&W{E3bd^A7^4u8T3s1I>8P1`)v;3b{1cnAWhH%Tq-!Mla+7Ojh z*K1$8?a0^Q%UgCaa8+ebam;M$+*mnx+AC~S+PSpY9UMhO@m;yMxcLLI!JmE3lF$p zxdv2-rUh`>>}yjd4?`j&f9haT_MdI|V#)fSg}msXWaPmW^J(L{2)bN`ZMN?D0 zve3Aelas_KH<2m+YDUR&DXxDiTAX? z@b{odL4cg=kPEQY}1UN=5itJxN_nDPn9=0azci@F&&VX~i=3(s{O>6V}ak_dHoP00w}8 zQQe+9^TNa19YW{Zj4xk_oUH4Rtxi`+H32|g;qZ3n(4^mQP8PI$ZBAaB$rLEYZ{*{^ z6?(x+_ut5k^ay}>g+2uhS+Ouk#AJx%Z2#K)WrP3cchD|3R|jYT$pp|0mXba_Rs8 diff --git a/docs/guides/views.png b/docs/guides/views.png deleted file mode 100644 index f5fc7d6d38f07da88d84ba62701476c4fd14a9b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73716 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�Sq)u$S`Be*`pf~#f%bPf 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 diff --git a/docs/guides/weakest.png b/docs/guides/weakest.png deleted file mode 100644 index 72e56ab3a6f68c6f67af6e321c62c79be4f091c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50436 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 diff --git a/docs/guides/winevent-notkept-storage.png b/docs/guides/winevent-notkept-storage.png deleted file mode 100644 index 0aaf43ceb638b6c73e54793d45069725e6a1449b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21153 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 Qr2zOGF~yrOjGQC>4LOL^W&i*H diff --git a/docs/guides/winevent-repaired-acl-closeup.png b/docs/guides/winevent-repaired-acl-closeup.png deleted file mode 100644 index 31213a5d027c9b52c8833389f56435e8924ab0a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4883 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 ViY&Vy;s00x+UojhH7d4${SSaZ9W(#{ diff --git a/docs/guides/winhello.png b/docs/guides/winhello.png deleted file mode 100644 index e6ff026505df88ea532968bfcd55ad93170971f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2161 zcmZ9Odoq{vWzK$OnnwA`miV~vuvP~>^VqYyOY2;eDUrN6snIE#XFv47p zW|&(st0H|ljB;l0q={*3@rs3)W0BLQ%0Kk{s0ALmemMy0+WWp?g zK=3c+y035o!>Uc2Re!^AR8G~qotqR&zDijY4ds+H9 ztA_=5qifMRuz`I_#62%F8f~uZ3wq1N7k@L-F8?i-s!C5^*!c5MX66ZKq)8V#1@1qK zHICpo29*q9?RkveH7DI@8$CE)(BKLKmRhK6{JW-rP!q>@m_EtULqWzQ;-O%a)hIEX zaI?WrlOK?o^q`9*S*7Mttj9L;s}IJEk=D_>%ZIPCHgnFlhwz8BT}Ex2Hw;lCzfI%j z$?f8i{>3J$1-n8TA*x!NZ0_^`Pl$|(7??P|hhYeXiNtsYWX>0{;KzhJO?x`~IhasG zx0z%8i0&BUZB}AO9Sy993x$EUVHv9~WHcc!AAk{qY-A1y5pkJq)=6LPGD~@Xb0mxu zNF&?;oNjUH>ZO|35t+5YnN7|M_1=}{oV*Rz(&+0sk%yBwc&B78BI_~>!&=8Z)+0_? zcLlRT+;!*%sdYK6fRyvJrF(Su${{Xx)11SgCj`@@%Hn@~&Y!t`D+&Fr=Xe0Qfl-yL z+o>xnhN%~iP+^0I3$>oK_?<95pwmc4sm(^CXa{&Iir4gDodw~X_)T`doxe{3{n6bk zT^EjZhU(yQ`T3Rm$}G@m%cT%mX!jAU1Z@tXrMkOIsBHqtG|t~2B>m^+kX@u_6f0>7 zBz?2?Q8!8nNW1ds(-8pZ1_QueIRj_LK>#3+{|f$F|K2z=eiQ_}++3$;8u3{Ezi-JkCJSloM6G8ciH{&4iVVVK zzj%$ZfuknPO7k< zU=oT`HqFmSNXZbHldFoXk+?HE-xXaIsLhlMIMr@*u{HYq7c0U#Hw27J zJuMLRME8ktH3g(zlIQy;&hrMo&j*9%$=Q2hOgLqK<3ZONiB=&>YcsUKDBG$+N^?-H zHN8UCL7V-WGQ&MHAv(&HO>D#_b$!=@VasEuS*r~VV)kxwh6By(;ab(GYxyR(_UfpP zAxBdWo>kd&AwukLdK1}ik_tNLcXLLhf4CL2 z_T_okm?@p=B3LiL)`Ejg+v5#(T+HuHzF(~xr3fI^gzmY4_qM;ESj@B)cY8>|toJ~g z6{{9G5?za!>&iC`FFr&pQ0q6rKwhi0JK=`;blH@`Yp>mAI|P!lj3* ze|At@HID(ti+!&(3UM0X!;@+gRYy+Wp8Bgf?v|p$zN_JYsj%-k22BDXnC4cJZd>Q-4-5}+cD*ZQm#aAA)Bb>Q1AI0` z$-$^>;QR$be+0Sc7E)(Lci(Z z+gCWq@F7BP3)fkYBehw%70I+=$ad>$h)}Ly@aH04P|b#%2d~Em?X!RK(2iBesZYmK zd!~MPYCoH>yWwC#8n7L>T9F$^m2mEb8FL6OXHl{Wd&tl6$53Th=^VcRX+ej6O`IR* zbmWBVz21E=YSPlv@Gr%Bs2R%t1Avp`Ifpv?i+BD5 DjEO$* diff --git a/docs/guides/winreg-create.png b/docs/guides/winreg-create.png deleted file mode 100644 index a1b5af79b5a744b2649f1208bedb9654d36dfa26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7816 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 diff --git a/docs/guides/winreg-delete.png b/docs/guides/winreg-delete.png deleted file mode 100644 index 131031fe3ca642433ae7926da55f0bb0deb0b580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7594 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 diff --git a/docs/guides/winservice-properties_name.png b/docs/guides/winservice-properties_name.png deleted file mode 100644 index 86e41266215cbb60572a449782f2cdc784bc8892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6775 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 diff --git a/docs/guides/software.png b/docs/guides/software.png deleted file mode 100644 index b7e39b07d2d5b2265f8b3518d1c18d7f14daa5c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102100 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 z 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 Gp8o@JpI(yy diff --git a/docs/guides/status.png b/docs/guides/status.png deleted file mode 100644 index 1e98e3103e3ae79dc6fc197db4159e16bcc82fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61762 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 Vdn8m@D856S=l diff --git a/docs/guides/timeseries.png b/docs/guides/timeseries.png deleted file mode 100644 index c11ea8b9a4f0dde5a5f49999d70d53655aab424e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83220 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¨t4@Ujb1 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

&lo%Vb1M`1*OT0jvaIKI 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 diff --git a/docs/reference/CFEngineFrontPage.pdf b/docs/reference/CFEngineFrontPage.pdf deleted file mode 100644 index 26e35bee2f6dc9015e8e65220fe04c5664112813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60068 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 F{|_Ud>oouX diff --git a/docs/reference/NewLogo.pdf b/docs/reference/NewLogo.pdf deleted file mode 100644 index cb51106b1dad97f0d07611eddff33866a5d17956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13566 zcmb_@cU)7;wr~)T4x)fGAyT9XA@rI^@4bV9l+YoN1PK@kic~4mEGVD?(gdU{AiXFk zNUs6`3!rGCfDr}SxSP5vchUohRVh|`WL_g3SgV05IBE1kW7$X{kLbwMpV(&`X z%D$Gjl?7>u=iVJC67;IP?)uWM1dqC~ruBgKJyG7w29N9*MARw0RJ_v{z!pqNH8;J$G$O7H+atdIm zoYFZ)pc91%#(?DycxHrHBhbh&lqUiWNMngYdfFf`E)YOoFvKVbz@h^H=wUGiHW)xA zu<9=uM+*;sgeL|JJwR;D2nY$$K?Y+0tZ49oa(*`bX6=B?FJ*xt2fTrQGKU63O#Hmi zU>C*%)~y-OfdLF*09VihY`;OFe}evo)N#kS2O@p`K=E4wGX%!n3+Mqu4*>p3Tlt?6 z{6i2%h=rvY7z%^^rgR|JFD4<@%8UnK)_-B+K*~RQRTx$Nx%c4j?@pUA56pq~e=6=k zC4oqkO^CZE0-}q!;OB|3Hqd5-IQV%14kIro&j>L@`1$w(BFiZ2ybUU=BCi62{dS7|sr}C&RxQ9Y5FjrQa8d2gf^H94H7zX-4bXcD=m*iT(;htu)jE94%AHOqltb=v`h9v~ z?dlFr>tUjZya(zE10&aQZXRCIQ)1#0k_w7S$||aAI=XuL28Kq)Hnw*54vtRFo?ZxV zA74LzG$!mqI5r|O=4xzQd_rPUMrKy_jhnY_=R7DVEP7a6Qd(A1TUX!E_~dC*XIFPm zZ{PD5{Uf7e;}erp(=&vn<+tzNe^^;vBYpk0vAOk~{A2q-E-Dc9FR_5%e=8TD1gb-T zB>+PJa#0-$KME7>}AA1PAR>?j4F|1c_7MBq5V2%8Qp|{pU}Ojf@Q6 z8AuNDiE!hYNw}AR-Dv-E*~+@mPwGXAm~^rr3&oLmJgM%Lh5g9p%8gm`v{x-IMZT`n zsy}W!qEy!8)Wen@aIU^m%IgaCy-&zbabv}ud&I(|Kgr}TV;CzV{r2iv&;09;sbPII zTO9Wji>=RAN5;e$e=5h576?(fm9QA}lHQJKutx^rWcp%aNAD<@`{SG!>sz$ZQmF*0 z0cNC#o)k_O)x9C+kl2n0Q)On;W-G!RfgMN!`X$icxUprl`NQe3X)X=K4+#p_jJ{xY z6~$8DGlj`a5E_(k*P$Hfbp&P|G%$;OHdz@ND*fpK9!cJB$2?8}S%zFRr& zCY&}Ay473Q={whZyLXWWQ6r};lvvv!ia(e|18<#{i?zbh0Tkj)JMQJ z3P$f`)L;`5>4OuV6jgrPVwK*rxhcHnlj1nFu@;>o>|__3>=H5Ix~Ae8Ys92h3mR_Q zp$XgICnb**NazP-hGgfAeSmCgI)AZ$GG5O&aARTyspN9oF;Vy4=8&Zpf28Nk{TGel zPlm?Z;=f1s?1Qdoh+V8IXYsyB@4EP0_GJ&<%dT4XD+V4G#^3!^RrCff@{iQNNo}n= z@;4RpOQGItGfJ6NPDaH6&O!B?G1r~vKZ~X_oM5G2Q|G;{XXb3YY(C3@!82lgy0*f3 zqZ02;O*@@sHsfqzd=L!%M*0?F_(8)uMWw@8oDYf0OIx%!jE&mdls?wEjY!!!q_Gp= zrEeJ-3&!2sW@fZ1qF3*6$0a#dxQ*^Oc{Zm)6b42dnHw6HDTrmQuQMpo_Q1S#o`M} zdoni`^vJH?^XQTm^&viExbo%%bc|%ryKJ50>#?aJas!#yQqAWe5 zQe!LyzRbop$Frg7Kgjpd$>~CMk}h-eO|m2PmE!AKbVbK+bR?3}rx@*vGO0)dmKx@mb2@=^ySYZkWn7|Au?VCZ-D9Ujp(d)#FA zewdkCr*l+sL5Sr6wTMIGAqZ(QG8F`)w1WpYw%t{9baW$ z%BuL;X7WIhd|6-E`O9{Ln042N?L_JDH(GP{@QDUr_CXzPhsYNRRh?DTSV(76VPsyc zyGI3UDbr!IGySGRAy?&DYBbWoR0&k=G^qjap`4=5kBUXTU%+I6=uf055c3l#CkRLZ z|5oKuocarHwt zwLY!%+_)}}RI8W%&G7EBao7hn*Wr$ZhWrovAR4xnd_vV#44w)HCn95T@bIl?e1@a< z>Kj{5bH9NGTyc=J0Mw5$Zxkf36(-Z-92UC=Yjaz+* zFwv^i(~4{yTAo`}gaO5DuTjtJ@f;&c_qmt2du5)dqqzpSRL<4G(^#7eLmLRAePu(8$;%Ok8P5eem-oSxnj2uii;r|?1OYX_Cbpx`yh%Qq|$N^ z`BF1$=fpy+2Abf;H#>Kh?B*D^t$u+?{7nCF=BQ*l`(6IfnTBF}PP@g=rVo~%erP+| z<~tPQMjv*^f(@rlDpa$tM+eI+*C~w-&Kr4Kei+biKb?Fya$RxOfWd`bz(2G};!BRiq9CV09$V}RzL-)c_XR<+ut46#fiL+nh`t%)_1k=lh z-*=>Q90iH-3~}b3<&1=WxEmO~edy_#Kk_8%-o4W}9NC>{j%S*s=uWy>-0VK4q2!?+ zaf-l5m%bHKqbPUEaUXPXYWYDNSLLbCInScEj6eKNuMXWPDs}YTQg+TO4d<-P4~#SN zx!q7E{@G07Ztivdg?P$ELfSD`qhi1Cn%!qsMO>2?MrJh<9&z60(zEV=)X%`v;eOZ4 zZZPX!W&5W9Sw@golB=>FD!D!S5FQ$(LOwyVXkR$8K&Y%Gm|1`9k)KnrhkG?- zxIdEl#85Fs{a%>WXssoFMu%!kfuvAovz55|g9ERXUwiX1&VV?%nATNALvC0vCUM>I z(0d(z^ipnN`nw~CnLDm(YaNj^PUr69uDa1Pp5i}pR|!A4WCA-4IO}zs1Zm+~UE3k@ zw=T7?`SSZ%6yNhODRo^x*B4$;*(dCkMyC2Yj|Ii`#FDc&=a7`;;$bJZRGfa^w5t4q)4^kH^n zjXo;HnNVb$nU(vw?p*uw=FsJR5GO^GL=|=14J&Au*;`}sZq{+urRBjUI!*03bwF3g zsWTT!=t9pG^BNp8#_X2eh{o%?(NcsTVVMY!uKdH;D=TLMB9&4Cd@w7s<6egCUizOC zqVzO7Q|XL$+ZzhbBcS+mWj%8h^1V3(5zAw9j%di|Mv|(xYx&ak>73$M0eVr+A|{ja&F!2 zWar*e+1e|Jo!1i9L*VbA^O0P1^(ap%HQU`c(?#OnOl$}i@o<*Sg~aXgiQJ+&okK2t zAI`bH2}UFzyWIZn)?HGc&Z`IoaT9ha;fH8T=WH050-uEOeeBYkFhwD?6zku$;+n6n zW)Fd5I!{mTMOl#|3@yMw?5RKd1ZvvIpe^#R@^KhHRm{y(M+84AXV(KG0os66wA`gm`7K z%>@ToHZakclHzw+c;UMw2-yL@h1mz)=H3aL`aX1}jZUWZ_&zA;&6--bLsQ%X;k2L{ zxjx>L9%^5Wq*tIxpE?P70_)9lgGJ`(<+f|i0*OmN{xjLJeyrPBGqwD|8!Y1L7H@Xb zSuLg6OHPxxV8#X>yEp?{tu?7tUt`OGV)176ebCoa25;cR2d(t`pkaO@eDBzV8zs19 zsKQ|%l%MwHe9(#@(;hF@!jiW!wp9S@qd$I#yXSp&;jD8%$0pw}Rma9F(~sjN6{<=t zv()7+V;gT&D~?%?Nmt~pSDTbgOf3N9%w7lwUkDG&)w*&|Bmb!RmjliNL0ECWF{rq7z5Ro9LM z6+f$$Y*ZrlS8lycj$UJR5Ps;-@9f~qD!4>KRBlbZAj){%g7eY@P zn;Y{~uTFe5p(&LsOupS&eTIQYSQWI)8Tw4(;tHDtIe=Ju?sa|hB^~Qp-b=9$OT!7S7md#2Uev<#zOe5;x^Xi#DDJ!sk7;^K+<&EsnXiI7l8R6^Q_nvdC zGlwv&=YaO?TaXpxu5+Z~M8%;KbFT1I(bn{Ov6lW^qYDw<)bZW*WIb9bh zeERmD)T$RL2AxT6J7e(SdncTS;!GTh*^{59s6QL?cMUY$rrCLGA03OMkNuTc% zZVGZrH9$R|s&<&I=c;(#5gsb9k>?18fhZZxIF=wzb#4>~_? z_gm-PZzVH(w8D=R@YYz)e2V$jyvG>+2-`#tJH8TXqTou~vST~?$h`+kFvPu-|pTG^8zH+OBxpMzgP48Lt|YwS=Wy@a0Ec?Y*qvrwnD%T|svAP6#(TW9zzj;=H`U1e7y_jG#oUd#?I zSUCKQXEavNul$yT$|p;bK(2csnXWr0_@)m_MQm#}D&1xFo^A^6;UbldwWPw^8xx-9 zU(NC}XY7kFK3L=8ZOxTU+8eaX<1vn#T0^nYgTGBp4)&U}7zL+JR6ZJV1?J5pa+B&l z=xP~+0;=B!ElCxB1a5bTx);SSz}}NJmv(*n1ZYM!cO$2T#=Ihg{e-j=RqWf-4FbRS z@z4omeF90S&E;=Ow(f&M=_>GDHhW|E4WF4WyWc~Be6&1&O~viUUR%{I zK?@2K`5H-Z2^Rav-;I5bW1h^rJ+Yz_6m${ldEt(h3}?2}88IGVIt`3sPf~$-az-)i zJWLr#O;Uk*U$O7gm*erlt}GGtvuTe__&A|&yr;Amw@y9>PZngMW~!7X_Cd0m=3RRX zyF|5RZQmB3-R3It;Ht7KHgDNBS1bc1_c^iITlwgjF!Y**V$7?6(u+5&*3WC~Y^jfF zSP=)7k-hloi_Q}t#_Qm$I=iKXLm}qw@fZzI)C%_VqDMh=NA*PgOO61`;-sY7NchLM zbXq%M*uEYIGh*?gMa-tb=$BUTT0l^E=rIoO_?M}o$?4Cvzh0TY4_YyV-mtmyp-M5z z_V6~oLlf^q)=_l0 z8r5-QUSzaYeeboJ&oxD(dN%eMed#Y%4?SLmoernf=oQN_nP_7V)kx-F>kU^2k z>pz4a*6u(9FPz18Dsij4)!>F(W&W5@b?b7Wz~9r&3#fQo&|*8X6Woj5T-WNLdlC6{ zl@hvnCQ5g&7hdZcOKR(IzR^fhw;Qi&VJY&ro?UI_ZfMDvpBn5>Q5dw0d-2lq9hlOR zH~!_l$_w|01xBK$>d#}^>f$>zrM7h2h{}DC%Q>k94`vO@`aCZc8ik9H40&A7$i1!A zAK*ype-|&Q&!W$El(c3mRlfQ}uyi}^8fI6jeR5B|^{}SokkKVq_q$n%C*>O7-kXdo zeQIXoGT$B*N&%6XiuT54E)?u&N4?H)3rMS)pF5RK*nE~VKhrxQ!3%vESk+ZtRw60e zoVqj@Nq%J0ULW7J8nh51K{-zj^VvB{u5Dl7jXL7$&xL1$gei>=;ZFi0i?t{8pxrmd=b$3$edYTUBKU%51?o~aup0RXF`2I|L za%x}6x|25Q;g5Tt+Ixw`U2gI7hlf8?-~=|>l^OGt3ygC!(@uT7Z?4e8!g(^U7`)13 zRkJg%H%`kz1zo;LaEpO6w6HxoOOEN-2eIPR3qGPhzqwevO41WLBx}dbmTtIK9(_r& zIHBAMHE334DLe*a#GM>(v20Zw1F|Ilk3CwH(bA!Zog*!`pQk6f-R_`fopw)UVPdz3 zzO}xvNj>`U2wWb%SRlw9hGg)~J3up?4914!GolV5wUbvEb#* zEzpzy>?Hr*(B#TJuPcW>-fBRvQQS)tl zn>Rh(na~U);Uaq}?)U3vE0UN;Rl*A}L2SG$3Em!LV@u)~(){swOvvRnY=iWmsa&~q zndeLL_sV|xY*YEH##*@?tK4*AW7i$5OiRS#K)@|)mxwTK_N8JR zPOd!JY5Uqfh#nq8C)}B%kN-FbCsyI7b$(d&yxhqZk?lfqgt&C4pNaABdJ$&?g2}n z8f5aO61%Tb)2+CRw^aBwgY8vp25%{*a3fgCF`gE&W;6p|r*3IS1Kkz$zAC+9e zyT!oLX*a+u+v{<2oqy`eA#}0q=3?(2nD+>zEoHp5{USykwZ+Vl^q??Pqu}d#nMaX+yj;TxUfjBlBRxDXx zUl%oUEOC5!+5uyBY*Te1-+!}uYUY;zAb)zmD|`p_ipf5REcT((%v^kZvn>ICG>nN| zsJgyw@??fG>?$9=2ftJfEa-R@Q+7L=o(wCzIM22A3DtRYxK=+Ib>Z#hjN`r_ zHuJmy=Ob1%7uMACkyv!sjPlhw7QQZl6V)ctOvVkVgCi4iFNG30Br6>=%;`ijjNWFL z2Mpewd;3nToc$Yq-C)OZRj@Yo+Wqxm*2bmvkp9z{Wq3M&XkR04oyCTvQ~%JUcjLgBc;cAO08m)MquWAnN1%lm9(W@fG7<~n5R z+~C-b{-)(~$7nCUL#f8;ckOV+)1#_ZlupAXb0 zqr?$&ZJq7>oElf?HKls*o={aW!3g)aYU~ZcsCVxxoKQ9-B|fWvHYySksCZ6E&uHCb z{ToNHy}iNIoy&rqvRXV9kEcorUUO=xTdH581#23+@~2lfgABS*3;ubh#xkGZaT+)E zc3kXl%sirJnc!rXX5G!4!Fi^|Ug@D^zq9CTzNZ^Kp$WgY5sFLvwwxZGS$u-k^6+d^hv`#nobBc*6bEju(i!vGGQoz31s#bDDBgeb$ka zw{2u5h>;Pw>{V|#Thw>N{7-H3XxJ^8xED*%E{@ve7#VyIe@qqi1P&~#b9aCEy;XLr zfpuB1ty=ohbtyHJA5Ph_@opdzj|vqT(oND;MB)++(gV?N=06O$GVI<)QWTfXl+TT6 z=mnt*{b~~zQ@N)Rx2on?*_Z|yfc#>pC>paSq5ME8JD^PhsE_)a`k7?Le&%z_4 zQb5ksyJi|=svD{xN9D_NH~%Jbo4c3Q;#Q<*-tpj#&z`;eFCImq7^ z6I%qAoJ8yLRA~qE%VtXC9nVrludy)~9(@$gLwALqS*~-*CpKRrD&UEr*lJtN&2`zW zP_n$sZYji|Yuuu?X=VygEx1cKCbrGTy_2*?0cv?)^4j zAS)odsv5-A1vOnNH-4{Af0McVX>;{dA5rlkLe;iwB&#uU4|K_4#{fq&-m2_|6KWpW zoHbL$iB|QMzL6eL=UJp>qTkvF34ZRSYFE`rMt8;ZoR-V+r}Vd9;;dZFpLG_fF8I;v zFuN|=@GZ32dqe7OcrW^FIjMKH09U?><~raPKWd7YM)YnxwY`)>zY@dq}X*z zmdsI!F=Y1PF1!l!43*+^$dl}Em)|NTpDf4W$)0SNH_ZG;O~>5F!DCz(-(5(#ayp^^ z!WFGq3E`Oj%e^ROR#A8VZ!gX{vPBJJzI>`UZZyKH1({m+Xn-WsO<3i6Vt(d){kwuaXlDsdAM4^v`JUN6%xqo%rhQY19} z?#KU8TPw$^}wKfm;|4YHBNfy|Dce63@ii!@)p9HibgFEs2LVB)CAnLX)X zq*NWtB@)hBB*!gb^{g?QMs9oB&aX3=QQ3mX3)9@a0r!T`;zEe{ZZy0*MS1U-6J{)~ z&#*oTscx7#n5w0*q%(zvLA`s zXbdLdp93P=-@K4HgnW2*KqIH@{+zI-=ehK15Y&TPLWSq8r<>Bl)p{eC51Do-MZ=v~ z+`diMGmsy@jqFWh9U_FaVA&E8S4a#y0^NHt3P(5rlBR)ph~?{x;u@{o3_9L*{Y_WN z)b#xuCW_e)+(W99Z&N`t*b!5fe?YNtz zjxMe*e9&m52y|ZO`}%ZN^vBPIZ!bx;U#m6Cz{@o)wBxVk36i!ckQU;p3P`fo&4I@H z`bIx460k=v0h)RJUCzfpI-GN6YKMNw&p5x{`gOtfX)=Ux!mS<75XDc1xHcc>ow!yo zGyO(QY18SbETeF^E?g*Yt>E%Vs|~xN{iEU&cSQ5D2_6*qA4+!&9e|>F5Z4havq*hpEgT4wGSN>f+ew@e9=9ibu`%!K*Y)XO zuD8lB9rNtQ;~Pexy;AF*+$AMFzD~Px6t*!9hcXJVMOum_AOxhJ4oi!+DpLnm{kgXm z8YgldQ;5-^@ZSZ=Klf38v)N;mCZ#zL!{arih@*z13O@=+au(=I z;iXeu*y^5RLS?!cYHjt3BacAl0>>fdf9Ex^x5~B=tE`qqC=ElJ^q+(Z*i`X5AGIrPXC0k$yj~B z)$H|86>p!UpFB6%pX3;OVvvq{qD8#YJ6-IX%@RIsUXEnZqeHrI3DOlpz8oC;QmIS3 z<^~7oon2S2>7&DRId7k<#hqoogpqw53#`VG_Ex*>I8jm;u#WdxbQ2ixIQ?1ijU3a9 zAbsO5Ve$Dg3sIfm84IfzH!0Wr>QeCwUU~6Of47Y27aTUe4>G;eE?CDJQ@oO=9QT7(%t3Yz->jQWYPaUsKiPHvRd7{Wwla zrnrQB&FZR)N!i-hf*1Te_E7zjgtFLl$G1m~Q$s+<6MM&cM2a4qi$||UF0&K$fkh3? zDw(AWTZuo?6S1UzLM9-s4j%uha>>Q&`6-1{!a}_vDC)PtKb%6Kt9^=<1p`GpsUPOH z&9jSro$YTw@ZAb^_T#u)OK+Yo0e-};oG^qPx`Uozh7tbJ5~KZ z-QfGv2Q|3=Ty^}jy7qUa>(3(NKk9B7A%7IUI+~gOS)(eiB>QKHssPN9@4VF zCGDjIRgm{kgt~iqdHz8usrGFQ7=2E#L?+10%pCECEf}{4@d>@G%59 zBrpu{P_RAV4^U;WM+DdsaZuB5;)n9|^+BM~!3fkZu70BajY$J?V7({lNPnfRBp7G=NTwA0`k1`x%B>ftX(pfqn;Jr55NO?4v1$ zl?E!f-NOPgVlZ<=xGB;HDT4?>|FS@!AMDq|Pf*A|(ES_x{A>au9WWK-&v^vK2>uUU z|2ahem^^_gSyL?hU~2p?le64EP9gje>f-+{(j|an2?x;w==>ml#C6pUf=^Zv3jD|` z{ERy>Sy?e)7!aTT!-(GzApUpb2q0p6U~Tcg*iquoBNjR%D{1xg9{w|yA3L*sst$GpW0+)<)OftnSW`6Dgnnu{-sS8`mgw8Wq~>O zzl>8*0M3N`3#{V5X;V=7uQU`7PR;xiEEK9J_ZPYtlshmJp@8E>V2F)hBm&R@7-Ee? z0w+Zdj-CJqbAr8*-~)>T$9If$!7dv5y1H8W`cSC0g0_~HKJb=M(3RKIlh@W)Rn(UQ h`e6U_h;s+$ZqOKa6y~Smq4H2=IYv=YJqvxt{|ABZKY#!L diff --git a/docs/reference/bodyparts/abortbundleclasses_example.texinfo b/docs/reference/bodyparts/abortbundleclasses_example.texinfo deleted file mode 100644 index f90d56bdd3..0000000000 --- a/docs/reference/bodyparts/abortbundleclasses_example.texinfo +++ /dev/null @@ -1,56 +0,0 @@ - -This example shows how to use the feature to validate input to a method bundle. - -@verbatim - -body common control - -{ -bundlesequence => { "testbundle" }; -version => "1.2.3"; -} - -########################################### - -body agent control - -{ -abortbundleclasses => { "invalid.*" }; -} - -########################################### - -bundle agent testbundle -{ -vars: - - "userlist" slist => { "xyz", "mark", "jeang", "jonhenrik", "thomas", "eben" }; - -methods: - - "any" usebundle => subtest("$(userlist)"); - -} - -########################################### - -bundle agent subtest(user) - -{ -classes: - - "invalid" not => regcmp("[a-z]{4}","$(user)"); - -reports: - - !invalid:: - - "User name $(user) is valid at exactly 4 letters"; - - # abortbundleclasses will prevent this from being evaluated - invalid:: - - "User name $(user) is invalid"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/abortbundleclasses_notes.texinfo b/docs/reference/bodyparts/abortbundleclasses_notes.texinfo deleted file mode 100644 index 32aabca394..0000000000 --- a/docs/reference/bodyparts/abortbundleclasses_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -A list of regular expressions for classes, or class expressions that -@code{cf-agent} will watch out for. If any of these classes becomes -defined, it will cause the current bundle to be aborted. This may be -used for validation, for example. diff --git a/docs/reference/bodyparts/abortclasses_example.texinfo b/docs/reference/bodyparts/abortclasses_example.texinfo deleted file mode 100644 index 7695ab502a..0000000000 --- a/docs/reference/bodyparts/abortclasses_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - - body agent control - - { - abortclasses => { "danger.*", "should_not_continue" }; - } - -@end verbatim diff --git a/docs/reference/bodyparts/abortclasses_notes.texinfo b/docs/reference/bodyparts/abortclasses_notes.texinfo deleted file mode 100644 index 9dd158d160..0000000000 --- a/docs/reference/bodyparts/abortclasses_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - - -A list of class regular expressions that @code{cf-agent} will watch -out for. If any matching class becomes defined, it will cause the -current execution of @code{cf-agent} to be aborted. This may be used -for validation, for example. To handle class expressions, simply create -an alias for the expression with a single name. diff --git a/docs/reference/bodyparts/aces_example.texinfo b/docs/reference/bodyparts/aces_example.texinfo deleted file mode 100644 index b5c7d9585e..0000000000 --- a/docs/reference/bodyparts/aces_example.texinfo +++ /dev/null @@ -1,19 +0,0 @@ - -@verbatim - -body acl template - -{ -acl_method => "overwrite"; -acl_type => "posix"; -acl_default => "access"; - -aces => { - "user:*:r(wwx),-r:allow", - "group:*:+rw:allow", - "mask:x:allow", - "all:r" - }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/aces_notes.texinfo b/docs/reference/bodyparts/aces_notes.texinfo deleted file mode 100644 index 3ece242fc9..0000000000 --- a/docs/reference/bodyparts/aces_notes.texinfo +++ /dev/null @@ -1,87 +0,0 @@ - -POSIX ACL are available in CFEngine Community starting with -3.4.0. NTFS ACL are available with CFEngine Nova or above. Form of -the permissions is: - -@cartouche -@smallexample - aces => @{ - "@var{user:uid:mode[:perm_type]}", ..., - "@var{group:gid:mode[:perm_type]}", ..., - "@var{all:mode[:perm_type]}" - @}; -@end smallexample -@end cartouche - -@itemize -@item @code{user} indicates that the line applies to a user specified - by the user identitfier @code{uid}. @code{mode} is the permission - mode string. - -@item @code{group} indicates that the line applies to a group specified - by the group identitfier @code{gid}. @code{mode} is the permission - mode string. - -@item @code{all} indicates that the line applies to every - user. @code{mode} is the permission mode string. - -@item @code{uid} is a valid user identifier for the system and - cannot be empty. However, @code{uid} can be set to * as a synonym - for the entity that owns the file system object (e.g. user:*:r). - -@item @code{gid} is a valid group identifier for the system and - cannot be empty. However, in some acl types, @code{gid} can be set - to * to indicate a special group (e.g. in POSIX this refers to the - file group). - -@item @code{mode} is one or more strings - @code{op}|@code{perms}|(@code{nperms}); a concatenation of @code{op}, - @code{perms} and optionally (@code{nperms}), see below, separated - with commas (e.g. +rx,-w(s)). @code{mode} is parsed from left to - right. -@c TODO: include support for @code{fullaccess}, @code{noaccess}, -@c and @code{remove} - -@item @code{op} specifies the operation on any existing permissions, - if the defined ACE already exists. @code{op} can be =, empty, + or - -. = or empty sets the permissions to the ACE as stated, + adds and - - removes the permissions from any existing ACE. - @c TODO: what to do if + or - is used when ACE does not exist? - -@item @code{nperms} (optional) specifies file system specific - (native) permissions. Only valid if @code{acl_type} is - defined. @code{nperms} will only be enforced if the file object is - stored on a file system supporting the acl type set in - @code{acl_type} (e.g. @code{nperms} will be ignored if - @code{acl_type:}@code{ntfs} and the object is stored on a file system - not supporting ntfs ACLs). Valid values for @code{nperms} varies with - different ACL types, and is defined in subsequent sections. - -@item @code{perm_type} (optional) can be set to either @code{allow} or - @code{deny}, and defaults to @code{allow}. @code{deny} is only valid - if @code{acl_type} is set to an ACL type that support deny - permissions. A @code{deny} ACE will only be enforced if the file - object is stored on a file system supporting the acl type set in - @code{acl_type}. -@end itemize - -@code{gperms} (generic permissions) is a concatenation of zero or more -of the characters shown in the table below. If left empty, -none of the permissions are set. -@c TODO: Should be allowed to set no permissions (empty perms?) - - -@multitable @columnfractions .05 .2 .30 .35 -@headitem Flag @tab Description @tab Semantics on file @tab Semantics on directory - -@item @code{r} @tab Read @tab Read data, permissions, attributes @tab Read -directory contents, permissions, attributes -@item @code{w} @tab Write @tab Write data @tab Create, delete, rename subobjects -@item @code{x} @tab Execute @tab Execute file @tab Access subobjects -@end multitable - - -Note that the @code{r} permission is not neccessary to read an object's -permissions and attributes in all file systems (e.g. in POSIX, having -@code{x} on its containing directory is sufficient). - diff --git a/docs/reference/bodyparts/acl_directory_inherit_example.texinfo b/docs/reference/bodyparts/acl_directory_inherit_example.texinfo deleted file mode 100644 index 2754639781..0000000000 --- a/docs/reference/bodyparts/acl_directory_inherit_example.texinfo +++ /dev/null @@ -1,19 +0,0 @@ - -@verbatim - -body acl template - -{ -acl_method => "overwrite"; -acl_type => "posix"; -acl_default => "access"; - -aces => { - "user:*:rwx:allow", - "group:*:+rw:allow", - "mask:rx:allow", - "all:r" - }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/acl_directory_inherit_notes.texinfo b/docs/reference/bodyparts/acl_directory_inherit_notes.texinfo deleted file mode 100644 index 117b31f07e..0000000000 --- a/docs/reference/bodyparts/acl_directory_inherit_notes.texinfo +++ /dev/null @@ -1,14 +0,0 @@ - - - -Directories have ACLs associated with them, but they also have the -ability to inherit an ACL to sub-objects created within them. POSIX -calls the former ACL type "access ACL" and the latter "default ACL", -and we will use the same terminology. - -The constraint @code{acl_default} gives control over the -default ACL of directories. The default ACL can be left unchanged -(@code{nochange}), empty (@code{clear}), or be explicitly specified -(@code{specify}). In addition, the default ACL can be set equal to the -directory's access ACL (@code{parent}). This has the effect that child -objects of the directory gets the same access ACL as the directory. diff --git a/docs/reference/bodyparts/acl_method_example.texinfo b/docs/reference/bodyparts/acl_method_example.texinfo deleted file mode 100644 index 41fe4fefaa..0000000000 --- a/docs/reference/bodyparts/acl_method_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - -@verbatim - -body acl template - -{ -acl_method => "overwrite"; -acl_type => "posix"; -aces => { "user:*:rw:allow", "group:*:+r:allow", "all:"}; -} - -@end verbatim diff --git a/docs/reference/bodyparts/acl_method_notes.texinfo b/docs/reference/bodyparts/acl_method_notes.texinfo deleted file mode 100644 index c58c522079..0000000000 --- a/docs/reference/bodyparts/acl_method_notes.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - - -When defining an ACL, we can either use an existing ACL as the -starting point, or state all entries of the ACL. If we just care about -one entry, say that the superuser has full access, the @code{method} -constraint can be set to @code{append}, which is the default. This has -the effect that all the existing ACL entries that are not mentioned -will be left unchanged. On the other hand, if @code{method} is set to -@code{overwrite}, the resulting ACL will only contain the mentioned -entries. When doing this, it is important to check that all the -required ACL entries are set, e.g. owning user, group and all in Posix -ACLs. diff --git a/docs/reference/bodyparts/acl_type_example.texinfo b/docs/reference/bodyparts/acl_type_example.texinfo deleted file mode 100644 index de9d438554..0000000000 --- a/docs/reference/bodyparts/acl_type_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body acl template - -{ -acl_type => "ntfs"; -aces => { "user:Administrator:rwx(po)", "user:Auditor:r(o)"}; -} - -@end verbatim diff --git a/docs/reference/bodyparts/acl_type_notes.texinfo b/docs/reference/bodyparts/acl_type_notes.texinfo deleted file mode 100644 index 71960752cc..0000000000 --- a/docs/reference/bodyparts/acl_type_notes.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -ACLs are supported on multiple platforms, which may have different -sets of available permission flags. By using the constraint -@code{acl_type}, we can specify which platform, or ACL API, we are -targeting with the ACL. The default, @code{generic}, is designed to -work on all supported platforms. However, if very specific permission -flags are required, like ``Take Ownership'' on the NTFS platform, we -must set @code{acl_type} to indicate the target platform. Currently, -the supported values are @code{posix} and @code{ntfs}. diff --git a/docs/reference/bodyparts/action_example.texinfo b/docs/reference/bodyparts/action_example.texinfo deleted file mode 100644 index d76ae10bbc..0000000000 --- a/docs/reference/bodyparts/action_example.texinfo +++ /dev/null @@ -1,45 +0,0 @@ - -The following example shows a simple use of transaction control, -causing the promise to be verified as a separate background process. - -@verbatim - -body action background - -{ -action_policy => "warn"; -} - -@end verbatim -In the following example, the action includes the definition of a class -based on the actions that were performed. -@verbatim -bundle edit_line MarkNRoot - { - insert_lines: - - !pw_loaded:: - - "/etc/passwd" - - insert_type => "file", - action => defineclass("pw_loaded"); - - delete_lines: - - pw_loaded:: - - "(mark|root):.*" not_matching => "true"; - - } - -######################################################## - -body action defineclass(c) -{ -promise_repaired => { "$(c)" }; -persist_time => "0"; -} - -@end verbatim - diff --git a/docs/reference/bodyparts/action_notes.texinfo b/docs/reference/bodyparts/action_notes.texinfo deleted file mode 100644 index fb5b278bf3..0000000000 --- a/docs/reference/bodyparts/action_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -The @code{action} settings allow general transaction control to be -implemented on promise verification. Action bodies place limits on how -often to verify the promise and what classes to raise in the case that -the promise can or cannot be kept. - diff --git a/docs/reference/bodyparts/action_policy_example.texinfo b/docs/reference/bodyparts/action_policy_example.texinfo deleted file mode 100644 index cafb88fbcc..0000000000 --- a/docs/reference/bodyparts/action_policy_example.texinfo +++ /dev/null @@ -1,13 +0,0 @@ - -The following example shows a simple use of transaction control, -causing the promise to be verified as a separate background process. - -@verbatim - -body action background - -{ -action_policy => "warn"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/action_policy_notes.texinfo b/docs/reference/bodyparts/action_policy_notes.texinfo deleted file mode 100644 index 576fa8cdc6..0000000000 --- a/docs/reference/bodyparts/action_policy_notes.texinfo +++ /dev/null @@ -1,77 +0,0 @@ - -The @code{action} settings allow general transaction control to be -implemented on promise verification. Action bodies place limits on how -often to verify the promise and what classes to raise in the case that -the promise can or cannot be kept. - -Note that actions can be added to sub-bundles like methods and editing -bundles, and that promises within these do not inherit action settings -at higher levels. Thus, in the following example there are two levels -of action setting: - -@verbatim -######################################################## -# -# Warn if line matched -# -######################################################## - -body common control - -{ -bundlesequence => { "testbundle" }; -} - -######################################################## - -bundle agent testbundle - -{ -files: - - "/var/cfengine/inputs/.*" - - edit_line => DeleteLinesMatching(".*cfenvd.*"), - action => WarnOnly; -} - -######################################################## - -bundle edit_line DeleteLinesMatching(regex) - { - delete_lines: - - "$(regex)" action => WarnOnly; - - } - -######################################################## - -body action WarnOnly -{ -action_policy => "warn"; -} -@end verbatim - -The @code{action} setting for the @code{files} promise means that file -edits will not be committed to disk, only warned about. This is a master-level -promise that overrides anything that happens during the editing. The -@code{action} setting for the edit bundle means that the internal -memory modelling of the file will only warn about changes rather than -committing them to the memory model. This makes little difference to the -end result, but it means that CFEngine will report - -@smallexample -Need to delete line - ... - but only a warning was promised -@end smallexample - -@noindent Instead of - -@smallexample -Deleting the prpomised line ... -Need to save file - but only a warning was promised -@end smallexample - -@noindent In either case, no changes will be made to the disk, but the messages -given by @code{cf-agent} will differ. - diff --git a/docs/reference/bodyparts/addclasses_example.texinfo b/docs/reference/bodyparts/addclasses_example.texinfo deleted file mode 100644 index 519676db11..0000000000 --- a/docs/reference/bodyparts/addclasses_example.texinfo +++ /dev/null @@ -1,16 +0,0 @@ - -Add classes adds global, literal classes. The only predicates available during the control -section are hard-classes. - -@verbatim - -any:: - - addclasses => { "My_Organization" } - -solaris:: - - addclasses => { "some_solaris_alive", "running_on_sunshine" }; - - -@end verbatim diff --git a/docs/reference/bodyparts/addclasses_notes.texinfo b/docs/reference/bodyparts/addclasses_notes.texinfo deleted file mode 100644 index 1125743da0..0000000000 --- a/docs/reference/bodyparts/addclasses_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -Another place to make global aliases for system hardclasses. Classes -here are added unqeuivocally to the system. If classes are used to -predicate definition, then they must be defined in terms of global -hard classes. - diff --git a/docs/reference/bodyparts/admit_example.texinfo b/docs/reference/bodyparts/admit_example.texinfo deleted file mode 100644 index 8b23da008f..0000000000 --- a/docs/reference/bodyparts/admit_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim -access: - - "/home/mark/LapTop" - - admit => { "127.0.0.1", "192.168.0.1/24", ".*\.domain\.tld" }; - -@end verbatim diff --git a/docs/reference/bodyparts/admit_notes.texinfo b/docs/reference/bodyparts/admit_notes.texinfo deleted file mode 100644 index 4d9006356c..0000000000 --- a/docs/reference/bodyparts/admit_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -Admit promises grant access to file objects on the server. Arguments -may be IP addresses or hostnames, provided DNS name resolution is -active. In order to reach this stage, a client must first have passed -all of the standard connection tests in the control body. - -The lists may contain network addresses in CIDR notation or regular -expressions to match the IP address or name of the connecting host. diff --git a/docs/reference/bodyparts/agent_expireafter_example.texinfo b/docs/reference/bodyparts/agent_expireafter_example.texinfo deleted file mode 100644 index 80e8bb49e7..0000000000 --- a/docs/reference/bodyparts/agent_expireafter_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body executor control -{ -agent_expireafter => "120"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/agent_expireafter_notes.texinfo b/docs/reference/bodyparts/agent_expireafter_notes.texinfo deleted file mode 100644 index 2fee7099c6..0000000000 --- a/docs/reference/bodyparts/agent_expireafter_notes.texinfo +++ /dev/null @@ -1,19 +0,0 @@ -@noindent Sets a maximum time on any run of the command in @code{exec_command}. -If no data is received from the pipe opened to the process created with -@code{exec_command} after the time has elapsed, the process gets killed. - -@noindent Note that if you have long-running jobs, they may get killed -with this setting. Therefore, you should ensure it is higher than any run of -@code{cf-agent} that you want to leave alone. Alternatively, you can make -your jobs output something to STDOUT at least as often as this threshold. -This will reset the timer. - -@noindent The setting will effectively allow you to set a threshold on the -number of simultaneous agents that are running. For example, if you set it to -@code{120} and you are using a 5-minute agent schedule, a maximum of -120 / 5 = 24 agents should be enforced. - -@noindent @b{Default value}:@* -@* - -The default value is 10080 minutes (one week). diff --git a/docs/reference/bodyparts/agentaccess_example.texinfo b/docs/reference/bodyparts/agentaccess_example.texinfo deleted file mode 100644 index 249e379b6b..0000000000 --- a/docs/reference/bodyparts/agentaccess_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - - agentaccess => { "mark", "root", "sudo" }; - -@end verbatim diff --git a/docs/reference/bodyparts/agentaccess_notes.texinfo b/docs/reference/bodyparts/agentaccess_notes.texinfo deleted file mode 100644 index f46fa6516e..0000000000 --- a/docs/reference/bodyparts/agentaccess_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -A list of user names that will be allowed to attempt execution of the -current configuration. This is mainly a sanity check rather than a -security measure. - diff --git a/docs/reference/bodyparts/agentfacility_example.texinfo b/docs/reference/bodyparts/agentfacility_example.texinfo deleted file mode 100644 index e8f1645891..0000000000 --- a/docs/reference/bodyparts/agentfacility_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -agentfacility => "LOG_USER"; - -@end verbatim diff --git a/docs/reference/bodyparts/agentfacility_notes.texinfo b/docs/reference/bodyparts/agentfacility_notes.texinfo deleted file mode 100644 index 61cafc466a..0000000000 --- a/docs/reference/bodyparts/agentfacility_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -Sets the agent's syslog facility level. See the manual pages for -syslog. This is ignored on Windows, as CFEngine Nova creates event logs. - diff --git a/docs/reference/bodyparts/allclassesreport_example.texinfo b/docs/reference/bodyparts/allclassesreport_example.texinfo deleted file mode 100644 index 1655d4e996..0000000000 --- a/docs/reference/bodyparts/allclassesreport_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ -@verbatim -body agent control -{ -allclassesreport => "true"; -} -@end verbatim diff --git a/docs/reference/bodyparts/allclassesreport_notes.texinfo b/docs/reference/bodyparts/allclassesreport_notes.texinfo deleted file mode 100644 index 4822e943ae..0000000000 --- a/docs/reference/bodyparts/allclassesreport_notes.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@i{History}: Was introduced in 3.2.0, Nova 2.1.0 (2011) - - -This option determines whether state/allclasses.txt file is written to -disk during agent execution. This functionality is retained only for -CFEngine 2 compatibility as more convenient facilities exist in -CFEngine 3 language to achieve similar results. - -This option is turned off by default. diff --git a/docs/reference/bodyparts/allow_blank_fields_example.texinfo b/docs/reference/bodyparts/allow_blank_fields_example.texinfo deleted file mode 100644 index 5a8000d815..0000000000 --- a/docs/reference/bodyparts/allow_blank_fields_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body edit_field example -{ -# ... -allow_blank_fields => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/allow_blank_fields_notes.texinfo b/docs/reference/bodyparts/allow_blank_fields_notes.texinfo deleted file mode 100644 index 8f95f21da2..0000000000 --- a/docs/reference/bodyparts/allow_blank_fields_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - - -When editing a file using the field or column model, blank fields, especially -at the start and end are generally discarded. If this is set to true, CFEngine -will retain the blank fields and print the appropriate number of field separators. - - diff --git a/docs/reference/bodyparts/allowallconnects_example.texinfo b/docs/reference/bodyparts/allowallconnects_example.texinfo deleted file mode 100644 index 9760c54319..0000000000 --- a/docs/reference/bodyparts/allowallconnects_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - -@verbatim - -allowallconnects => { - "127.0.0.1", - "::1", - "200\.1\.10\..*", - "host\.domain\.tld", - "host[0-9]+\.domain\.com" - }; - -@end verbatim diff --git a/docs/reference/bodyparts/allowallconnects_notes.texinfo b/docs/reference/bodyparts/allowallconnects_notes.texinfo deleted file mode 100644 index 398181f320..0000000000 --- a/docs/reference/bodyparts/allowallconnects_notes.texinfo +++ /dev/null @@ -1,16 +0,0 @@ - -This list of regular expressions matches hosts that are allowed to -connect an umlimited number of times up to the maximum connection -limit. Without this, a host may only connect once (which is a very -strong constraint, as the host must wait for the TCP FIN_WAIT to -expire before reconnection can be attempted). - -In CFEngine 2 this corresponds to @code{AllowMultipleConnectionsFrom}. - -Note that @code{127.0.0.1} is a regular expression (i.e., ``127 any character -0 any character 0 any character 1''), but this will only match the IP address -@code{127.0.0.1}. Take care with IP addresses and domain names, as the -hostname regular expression @code{www.domain.com} will potentially match more -than one hostname (e.g., @code{wwwxdomain.com}, in addition to the desired -hostname @code{www.domain.com}). - diff --git a/docs/reference/bodyparts/allowconnects_example.texinfo b/docs/reference/bodyparts/allowconnects_example.texinfo deleted file mode 100644 index 059ccbd03e..0000000000 --- a/docs/reference/bodyparts/allowconnects_example.texinfo +++ /dev/null @@ -1,13 +0,0 @@ - -@verbatim - -allowconnects => { - "127.0.0.1", - "::1", - "200\.1\.10\..*", - "host\.domain\.tld", - "host[0-9]+\.domain\.com" - }; - -@end verbatim - diff --git a/docs/reference/bodyparts/allowconnects_notes.texinfo b/docs/reference/bodyparts/allowconnects_notes.texinfo deleted file mode 100644 index 0d53e03253..0000000000 --- a/docs/reference/bodyparts/allowconnects_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -If a client's identity matches an entry in this list it is granted to -permission to send data to the server port. Clients who are not in this -list may not connect or send data to the server. - -See also the warning about regular expressions in @code{allowallconnects}. diff --git a/docs/reference/bodyparts/allowusers_example.texinfo b/docs/reference/bodyparts/allowusers_example.texinfo deleted file mode 100644 index 2bb13eeead..0000000000 --- a/docs/reference/bodyparts/allowusers_example.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - - -@verbatim - -allowusers => { "cfengine", "root" }; - -@end verbatim diff --git a/docs/reference/bodyparts/allowusers_notes.texinfo b/docs/reference/bodyparts/allowusers_notes.texinfo deleted file mode 100644 index 05550c1277..0000000000 --- a/docs/reference/bodyparts/allowusers_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -The usernames listed in this list are those asserted as public key -identities during client-server connections. These may or may not -correspond to system identities on the server-side system. - diff --git a/docs/reference/bodyparts/alwaysvalidate_example.texinfo b/docs/reference/bodyparts/alwaysvalidate_example.texinfo deleted file mode 100644 index 8a6cb42a92..0000000000 --- a/docs/reference/bodyparts/alwaysvalidate_example.texinfo +++ /dev/null @@ -1,13 +0,0 @@ - -@verbatim - -body agent control -{ -Min00_05:: - - # revalidate once per hour, regardless of change in configuration - - alwaysvalidate => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/alwaysvalidate_notes.texinfo b/docs/reference/bodyparts/alwaysvalidate_notes.texinfo deleted file mode 100644 index 761af2b453..0000000000 --- a/docs/reference/bodyparts/alwaysvalidate_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -@i{History}: Was introduced in version 3.1.2,Nova 2.0.1 (2010) - -The agents @code{cf-agent}, and @code{cfserverd} etc can run @code{cf-promises} to validate -inputs before attempting to execute a configuration. As of version 3.1.2 core, this only -happens if the configuration file has changed to save CPU cycles. When this attribute is set, -@code{cf-agent} will force a revalidation of the input. diff --git a/docs/reference/bodyparts/and_example.texinfo b/docs/reference/bodyparts/and_example.texinfo deleted file mode 100644 index fffad2e7dd..0000000000 --- a/docs/reference/bodyparts/and_example.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -@verbatim - -classes: - - "compound_class" and => { classmatch("host[0-9].*"), "Monday", "Hr02" }; - -@end verbatim diff --git a/docs/reference/bodyparts/and_notes.texinfo b/docs/reference/bodyparts/and_notes.texinfo deleted file mode 100644 index 01ca3a3197..0000000000 --- a/docs/reference/bodyparts/and_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -If an expression contains a mixture of different object types that -need to be ANDed together, this list form is more convenient than -providing an expression. If all of the class expressions listed in the -RHS match, then the class on the LHS is defined. diff --git a/docs/reference/bodyparts/args_example.texinfo b/docs/reference/bodyparts/args_example.texinfo deleted file mode 100644 index f50d618f19..0000000000 --- a/docs/reference/bodyparts/args_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -commands: - - "/bin/echo one" - - args => "two three"; - -@end verbatim diff --git a/docs/reference/bodyparts/args_notes.texinfo b/docs/reference/bodyparts/args_notes.texinfo deleted file mode 100644 index 86f045e046..0000000000 --- a/docs/reference/bodyparts/args_notes.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -Sometimes it is convenient to separate the arguments to a command from -the command itself. The final arguments are the concatenation with one -space. So in the example above the command would be - -@verbatim - - /bin/echo one two three - -@end verbatim - diff --git a/docs/reference/bodyparts/associates_example.texinfo b/docs/reference/bodyparts/associates_example.texinfo deleted file mode 100644 index 967b064fa1..0000000000 --- a/docs/reference/bodyparts/associates_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - - -@verbatim - -body association example(literal,scalar,list) - -{ -#... -associates => { "literal", $(scalar), @(list)}; -} - -@end verbatim diff --git a/docs/reference/bodyparts/associates_notes.texinfo b/docs/reference/bodyparts/associates_notes.texinfo deleted file mode 100644 index c24badf443..0000000000 --- a/docs/reference/bodyparts/associates_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -An element of an association which is a list of topics to which the -current topic is associated. diff --git a/docs/reference/bodyparts/atime_example.texinfo b/docs/reference/bodyparts/atime_example.texinfo deleted file mode 100644 index 41d12a7942..0000000000 --- a/docs/reference/bodyparts/atime_example.texinfo +++ /dev/null @@ -1,20 +0,0 @@ - -@verbatim -body file_select used_recently -{ - -# files accessed within the last hour -atime => irange(ago(0,0,0,1,0,0),now); -file_result => "atime"; -} - - -body file_select not_used_much - -{ -# files not accessed since 00:00 1st Jan 2000 (in the local timezime) -atime => irange(on(2000,1,1,0,0,0),now); -file_result => "!atime"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/atime_notes.texinfo b/docs/reference/bodyparts/atime_notes.texinfo deleted file mode 100644 index 882112c770..0000000000 --- a/docs/reference/bodyparts/atime_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -A range of times during which a file was accessed can be specified in -a @code{file_select} body. (Like file filters in CFEngine 2.) - diff --git a/docs/reference/bodyparts/attribute_value_example.texinfo b/docs/reference/bodyparts/attribute_value_example.texinfo deleted file mode 100644 index 0e1ec83cdc..0000000000 --- a/docs/reference/bodyparts/attribute_value_example.texinfo +++ /dev/null @@ -1,7 +0,0 @@ -@verbatim - -body attribute_value example(s) -{ -attribute_value => "$(s)"; -} -@end verbatim diff --git a/docs/reference/bodyparts/attribute_value_notes.texinfo b/docs/reference/bodyparts/attribute_value_notes.texinfo deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/reference/bodyparts/audit_example.texinfo b/docs/reference/bodyparts/audit_example.texinfo deleted file mode 100644 index a19730ee28..0000000000 --- a/docs/reference/bodyparts/audit_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body action example -{ -# ... - -audit => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/audit_notes.texinfo b/docs/reference/bodyparts/audit_notes.texinfo deleted file mode 100644 index 03b7e13738..0000000000 --- a/docs/reference/bodyparts/audit_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - - -If this is set, CFEngine will perform auditing on this specific -promise. This means that all details surrounding the verification of -the current promise will be recorded in the audit database. The -database may be inspected with @code{cf-report}, or @code{cfshow} in -CFEngine 2. - diff --git a/docs/reference/bodyparts/auditing_example.texinfo b/docs/reference/bodyparts/auditing_example.texinfo deleted file mode 100644 index e337dd7773..0000000000 --- a/docs/reference/bodyparts/auditing_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -auditing => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/auditing_notes.texinfo b/docs/reference/bodyparts/auditing_notes.texinfo deleted file mode 100644 index cb46ab8b3a..0000000000 --- a/docs/reference/bodyparts/auditing_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - - -If this is set, CFEngine will perform auditing on promises in the -current configuration. This means that all details surrounding the -verification of the current promise will be recorded in the audit -database. The database may be inspected with @code{cf-report}, or -@code{cfshow} in CFEngine 2. diff --git a/docs/reference/bodyparts/authorize_example.texinfo b/docs/reference/bodyparts/authorize_example.texinfo deleted file mode 100644 index a76c177167..0000000000 --- a/docs/reference/bodyparts/authorize_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - - -@verbatim - -roles: - - ".*" authorize => { "mark", "marks_friend" }; - -@end verbatim diff --git a/docs/reference/bodyparts/authorize_notes.texinfo b/docs/reference/bodyparts/authorize_notes.texinfo deleted file mode 100644 index f76bb20c45..0000000000 --- a/docs/reference/bodyparts/authorize_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -Part of Role Based Access Control (RBAC) in CFEngine. The users listed -in this section are granted access to set certain classes by using the -remote @code{cf-runagent}. The user-names will refer to public key -identities already trusted on the system. diff --git a/docs/reference/bodyparts/background_children_example.texinfo b/docs/reference/bodyparts/background_children_example.texinfo deleted file mode 100644 index 4aa17805c5..0000000000 --- a/docs/reference/bodyparts/background_children_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body runagent control -{ -background_children => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/background_children_notes.texinfo b/docs/reference/bodyparts/background_children_notes.texinfo deleted file mode 100644 index 88b1de1877..0000000000 --- a/docs/reference/bodyparts/background_children_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -Causes the runagent to attempt parallelized connections to the servers. diff --git a/docs/reference/bodyparts/background_example.texinfo b/docs/reference/bodyparts/background_example.texinfo deleted file mode 100644 index 05977fe86c..0000000000 --- a/docs/reference/bodyparts/background_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body action example -{ -background => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/background_notes.texinfo b/docs/reference/bodyparts/background_notes.texinfo deleted file mode 100644 index d23bed88a6..0000000000 --- a/docs/reference/bodyparts/background_notes.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -If possible, perform the verification of the current promise in the background. -This is advantageous only if the verification might take a significant -amount of time, e.g. in remote copying of filesystem/disk scans. - -On the windows version of CFEngine Nova, this can be useful if we -don't want to wait for a particular command to finish execution before -checking the next promise. This is particular for the windows platform -because there is no way that a program can start itself in the -background here (i.e. fork off a child process). However, file -operations can not be performed in the background on windows. diff --git a/docs/reference/bodyparts/before_after_example.texinfo b/docs/reference/bodyparts/before_after_example.texinfo deleted file mode 100644 index 7f618545b1..0000000000 --- a/docs/reference/bodyparts/before_after_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body location append - -{ -#... -before_after => "before"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/before_after_notes.texinfo b/docs/reference/bodyparts/before_after_notes.texinfo deleted file mode 100644 index 58115da65f..0000000000 --- a/docs/reference/bodyparts/before_after_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -Determines whether an edit will occur before or after the currently -matched line. diff --git a/docs/reference/bodyparts/binarypaddingchar_example.texinfo b/docs/reference/bodyparts/binarypaddingchar_example.texinfo deleted file mode 100644 index 10ca46b487..0000000000 --- a/docs/reference/bodyparts/binarypaddingchar_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -binarypaddingchar => "#"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/binarypaddingchar_notes.texinfo b/docs/reference/bodyparts/binarypaddingchar_notes.texinfo deleted file mode 100644 index 18efaea6af..0000000000 --- a/docs/reference/bodyparts/binarypaddingchar_notes.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -When editing binary files, it can be dangerous to replace a text -string with one that is longer or shorter as byte references and jumps -would be destroyed. CFEngine will therefore not allow replacements that -are larger in size than the original, but shorter strings can be padded -out to the same length. - -@noindent @b{Default value}:@* - -The @code{binarypaddingchar} defaults to the empty string (i.e., no padding) diff --git a/docs/reference/bodyparts/bindtointerface_example.texinfo b/docs/reference/bodyparts/bindtointerface_example.texinfo deleted file mode 100644 index 00444f240e..0000000000 --- a/docs/reference/bodyparts/bindtointerface_example.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - - -@verbatim - -bindtointerface => "192.168.1.1"; - -@end verbatim diff --git a/docs/reference/bodyparts/bindtointerface_notes.texinfo b/docs/reference/bodyparts/bindtointerface_notes.texinfo deleted file mode 100644 index 432b17cc21..0000000000 --- a/docs/reference/bodyparts/bindtointerface_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -On multi-homed hosts, the server and client can bind -to a specific interface for server traffic. The IP address -of the interface must be given as the argument, not the device name. diff --git a/docs/reference/bodyparts/bsdflags_example.texinfo b/docs/reference/bodyparts/bsdflags_example.texinfo deleted file mode 100644 index 1052df74a3..0000000000 --- a/docs/reference/bodyparts/bsdflags_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body perms example - -{ -bsdflags => { "uappnd","uchg","uunlnk","nodump", - "opaque","sappnd","schg","sunlnk" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/bsdflags_notes.texinfo b/docs/reference/bodyparts/bsdflags_notes.texinfo deleted file mode 100644 index 7f3c63382f..0000000000 --- a/docs/reference/bodyparts/bsdflags_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -The BSD Unices (FreeBSD, OpenBSD, NetBSD) and MacOSX have additional -filesystem flags which can be set. Refer to the BSD @code{chflags} -documentation for this. diff --git a/docs/reference/bodyparts/build_xpath_example.texinfo b/docs/reference/bodyparts/build_xpath_example.texinfo deleted file mode 100644 index 1bde002bd5..0000000000 --- a/docs/reference/bodyparts/build_xpath_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body build_xpath example(s) - { - build_xpath => "$(s)"; - } - -@end verbatim diff --git a/docs/reference/bodyparts/build_xpath_notes.texinfo b/docs/reference/bodyparts/build_xpath_notes.texinfo deleted file mode 100644 index ac35b3fbde..0000000000 --- a/docs/reference/bodyparts/build_xpath_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -Please note that when @code{build_xpath} is defined as an attribute, within -an @code{edit_xml} promise body, the tree described by the specified XPath will -be verified and built BEFORE other @code{edit_xml} promises within same promise -body. Therefore, the file will not be empty during the execution of such promises. diff --git a/docs/reference/bodyparts/bundle_return_value_index_example.texinfo b/docs/reference/bodyparts/bundle_return_value_index_example.texinfo deleted file mode 100644 index 515a0f3bb4..0000000000 --- a/docs/reference/bodyparts/bundle_return_value_index_example.texinfo +++ /dev/null @@ -1,40 +0,0 @@ - -@verbatim -body common control -{ -bundlesequence => { "test" }; -} - - -bundle agent test -{ -methods: - - "any" usebundle => child, - useresult => "my_return_var"; - - -reports: - - cfengine_3:: - - "My return was: \"$(my_return_var[1])\" and \"$(my_return_var[2])\""; - -} - -bundle agent child -{ -reports: - - cfengine_3:: - - # Map these indices into the useresult namespace - - "this is a return value" - bundle_return_value_index => "1"; - - "this is another return value" - bundle_return_value_index => "2"; - -} -@end verbatim diff --git a/docs/reference/bodyparts/bundle_return_value_index_notes.texinfo b/docs/reference/bodyparts/bundle_return_value_index_notes.texinfo deleted file mode 100644 index c5639439c0..0000000000 --- a/docs/reference/bodyparts/bundle_return_value_index_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -@i{History}: Was introduced in 3.4.0 (2012) - -It is currently believed that only scalar return values make sense, hence -return values are limited to scalars. diff --git a/docs/reference/bodyparts/bundlesequence_example.texinfo b/docs/reference/bodyparts/bundlesequence_example.texinfo deleted file mode 100644 index 473eb67ae7..0000000000 --- a/docs/reference/bodyparts/bundlesequence_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - -@verbatim -body common control - -{ -bundlesequence => { - update("policy_host.domain.tld"), - "main", - "cfengine2" - }; -} -@end verbatim diff --git a/docs/reference/bodyparts/bundlesequence_notes.texinfo b/docs/reference/bodyparts/bundlesequence_notes.texinfo deleted file mode 100644 index fcba2418e5..0000000000 --- a/docs/reference/bodyparts/bundlesequence_notes.texinfo +++ /dev/null @@ -1,57 +0,0 @@ - -The @code{bundlesequence} determines which of the compiled bundles -will be executed and in what order they will be executed. The list -refers to the names of bundles (which might be parameterized -function-like objects). - -The order in which you execute bundles can affect the outcome of your -promises. In general you should always define variables before you use them. - -The @code{bundlesequence} is like a genetic makeup of a machine. The bundles -act like characteristics of the systems. If you want different systems to have -different bundlesequences, distinguish them with classes: - -@verbatim -webservers:: - - bundlesequence => { "main", "web" }; - -others:: - - bundlesequence => { "main", "otherstuff" }; - -@end verbatim - -If you want to add a basic common sequence to all sequences, then use -global variable lists to do this: - -@verbatim -body common control -{ -webservers:: - - bundlesequence => { @(g.bs), "web" }; - -others:: - - bundlesequence => { @(g.bs), "otherstuff" }; - -} - -bundle common g -{ -vars: - - "bs" slist => { "main", "basic_stuff" }; -} - -@end verbatim - -@noindent @b{Default value}:@* -@* - -There is no default value for @code{bundlesequence}, and the absence of a -@code{bundlesequence} will cause a compilation error. A bundlesequence may -also be specified using the @code{-b} or @code{--bundlesequence} command line -option. - diff --git a/docs/reference/bodyparts/call_collect_interval_example.texinfo b/docs/reference/bodyparts/call_collect_interval_example.texinfo deleted file mode 100644 index 7714c02bb8..0000000000 --- a/docs/reference/bodyparts/call_collect_interval_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -call_collect_interval => "5"; - -@end verbatim diff --git a/docs/reference/bodyparts/call_collect_interval_notes.texinfo b/docs/reference/bodyparts/call_collect_interval_notes.texinfo deleted file mode 100644 index d930543e0d..0000000000 --- a/docs/reference/bodyparts/call_collect_interval_notes.texinfo +++ /dev/null @@ -1,89 +0,0 @@ - -@i{History}: Was introduced in 3.4.0, Enterprise 3.0.0 (2012) - -If option time is set, it causes the server daemon to peer with a policy -hub by attempting a connection at regular intervals of the value of the -parameter in minutes. - -This feature is designed to allow Enterprise report collection from -hosts that are not directly addressable from a hub data-aggregation -process. For example, if some of the clients of a policy hub are -behind a network address translator then the hub is not able to open a -channel to address them directly. The effect is to place a `collect -call' with the policy hub. - -If this option is set, the client's cf-serverd will `peer' with the -server daemon on a policy hub. This means that, cf-serverd on an -unreachable (e.g. NATed) host will attempt to report in to the -cf-serverd on its assigned policy hub and offer it a short time window -in which to download reports over the established connection. The -effect is to establish a temporary secure tunnel between hosts, -initiated from the satellite host end. The connection is made in such -a way that host autonomy is not compromised. Either hub may refuse or -decline to play their role at any time, in the usual way (avoiding DOS -attacks). Normal access controls must be set for communication in both -directions. - -Collect calling cannot be as efficient as data collection by the -cf-hub, as the hub is not able to load balance. Hosts that use this -approach should exclude themselves from the cf-hub data collection. - -The sequence of events is this: - -@itemize -@item Satellite cf-serverd connects to its registered policy hub -@item The satellite indentifies itself to authentication and access control -and sends a collect-call `pull' request to the hub -@item The hub might honour this, if the access control grants access. -@item If access is granted, the hub has @code{collect_window} seconds -to initiate a query to the satellite for its reports. -@item The policy hub indentifies itself to authentication and access control -and sends a query request to the hub to collect the reports. -@item When finished the satellite closes the tunnel. -@end itemize - -The full configuration would look something like this -@verbatim - -######################################################### -# Server config -######################################################### - -body server control - -{ -allowconnects => { "10.10.10" , "::1" }; -allowallconnects => { "10.10.10" , "::1" }; -trustkeysfrom => { "10.10.10" , "::1" }; - -call_collect_interval => "5"; -} - -######################################################### - -bundle server access_rules() - -{ -access: - - policy_hub:: - - "collect_calls" - resource_type => "query", - admit => { "10.10.10" }; # the apparent NAT address of the satellite - - satellite_hosts:: - - "delta" - comment => "Grant access to cfengine hub to collect report deltas", - resource_type => "query", - admit => { "policy_hub" }; - - "full" - comment => "Grant access to cfengine hub to collect full report dump", - resource_type => "query", - admit => { "policy_hub" }; -} - - -@end verbatim diff --git a/docs/reference/bodyparts/cancel_kept_example.texinfo b/docs/reference/bodyparts/cancel_kept_example.texinfo deleted file mode 100644 index 28f2f473bb..0000000000 --- a/docs/reference/bodyparts/cancel_kept_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body classes example -{ -cancel_kept => { "success", "kaplah" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/cancel_kept_notes.texinfo b/docs/reference/bodyparts/cancel_kept_notes.texinfo deleted file mode 100644 index 617c8ca37f..0000000000 --- a/docs/reference/bodyparts/cancel_kept_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -If the promise was already kept and nothing was done, cancel (undefine) any of -the listed classes so that they are no longer defined. - -Note that any strings passed to this list are automatically -canonified, so it is unecessary to call a canonify function on such inputs. - -@b{History}: This attribute was introduced in CFEngine version 3.0.4 (2010) diff --git a/docs/reference/bodyparts/cancel_notkept_example.texinfo b/docs/reference/bodyparts/cancel_notkept_example.texinfo deleted file mode 100644 index c79671fbd2..0000000000 --- a/docs/reference/bodyparts/cancel_notkept_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body classes example -{ -cancel_notkept => { "failure" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/cancel_notkept_notes.texinfo b/docs/reference/bodyparts/cancel_notkept_notes.texinfo deleted file mode 100644 index ad6086232c..0000000000 --- a/docs/reference/bodyparts/cancel_notkept_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -If the promise was not kept but nothing could be done, cancel (undefine) -any of the listed classes so that they are no longer defined. - -Note that any strings passed to this list are automatically -canonified, so it is unecessary to call a canonify function on such inputs. - -@b{History}: This attribute was introduced in CFEngine version 3.0.4 (2010) diff --git a/docs/reference/bodyparts/cancel_repaired_example.texinfo b/docs/reference/bodyparts/cancel_repaired_example.texinfo deleted file mode 100644 index fcd791683d..0000000000 --- a/docs/reference/bodyparts/cancel_repaired_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body classes example -{ -cancel_repaired => { "change_happened" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/cancel_repaired_notes.texinfo b/docs/reference/bodyparts/cancel_repaired_notes.texinfo deleted file mode 100644 index 5c7a168188..0000000000 --- a/docs/reference/bodyparts/cancel_repaired_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -If the promise was repaired and changes were made to the system, -cancel (undefine) any of the listed classes so that they are no longer defined. - -Note that any strings passed to this list are automatically -canonified, so it is unecessary to call a canonify function on such inputs. - -@b{History}: This attribute was introduced in CFEngine version 3.0.4 (2010) diff --git a/docs/reference/bodyparts/cfruncommand_example.texinfo b/docs/reference/bodyparts/cfruncommand_example.texinfo deleted file mode 100644 index 420def7ad7..0000000000 --- a/docs/reference/bodyparts/cfruncommand_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body server control - -{ -cfruncommand => "/var/cfengine/bin/cf-agent"; -} - - -@end verbatim diff --git a/docs/reference/bodyparts/cfruncommand_notes.texinfo b/docs/reference/bodyparts/cfruncommand_notes.texinfo deleted file mode 100644 index 83147fcc52..0000000000 --- a/docs/reference/bodyparts/cfruncommand_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -It is normal for this to point to the location of @code{cf-agent} but -it could also point to the @code{cf-execd}, or even another program or -shell command at your own risk. diff --git a/docs/reference/bodyparts/chdir_example.texinfo b/docs/reference/bodyparts/chdir_example.texinfo deleted file mode 100644 index 371641de8e..0000000000 --- a/docs/reference/bodyparts/chdir_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body contain example - -{ -chdir => "/containment/directory"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/chdir_notes.texinfo b/docs/reference/bodyparts/chdir_notes.texinfo deleted file mode 100644 index 43d273fe7f..0000000000 --- a/docs/reference/bodyparts/chdir_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -This command has the effect of placing the running command into a current working -directory equal to the parameter given, i.e. it works like the @samp{cd} shell command. diff --git a/docs/reference/bodyparts/check_foreign_example.texinfo b/docs/reference/bodyparts/check_foreign_example.texinfo deleted file mode 100644 index 632f562818..0000000000 --- a/docs/reference/bodyparts/check_foreign_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body volume example - -{ -#.. -check_foreign => "false"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/check_foreign_notes.texinfo b/docs/reference/bodyparts/check_foreign_notes.texinfo deleted file mode 100644 index 12780bb4e2..0000000000 --- a/docs/reference/bodyparts/check_foreign_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -CFEngine will not normally perform sanity checks on filesystems which -are not local to the host. If @code{true} it will ignore a partition's -network location and ask the current host to verify storage located -physically on other systems. diff --git a/docs/reference/bodyparts/check_root_example.texinfo b/docs/reference/bodyparts/check_root_example.texinfo deleted file mode 100644 index ba7d82537e..0000000000 --- a/docs/reference/bodyparts/check_root_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body copy_from example -{ -check_root => "true"; -} - -@end verbatim - diff --git a/docs/reference/bodyparts/check_root_notes.texinfo b/docs/reference/bodyparts/check_root_notes.texinfo deleted file mode 100644 index 49bfd864b1..0000000000 --- a/docs/reference/bodyparts/check_root_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -When copying files recursively (by depth search), this flag determines -whether the permissions of the root directory should be set from the -root of the source. The default is to check only copied file objects -and subdirectories within this root (false). diff --git a/docs/reference/bodyparts/checksum_alert_time_example.texinfo b/docs/reference/bodyparts/checksum_alert_time_example.texinfo deleted file mode 100644 index 55bbd391ad..0000000000 --- a/docs/reference/bodyparts/checksum_alert_time_example.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -@verbatim -body agent control -{ -checksum_alert_time => "30"; -} -@end verbatim diff --git a/docs/reference/bodyparts/checksum_alert_time_notes.texinfo b/docs/reference/bodyparts/checksum_alert_time_notes.texinfo deleted file mode 100644 index c8b202879d..0000000000 --- a/docs/reference/bodyparts/checksum_alert_time_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -When checksum changes trigger an alert, this is registered as a persistent class. -This value determines the longevity of that class. diff --git a/docs/reference/bodyparts/childlibpath_example.texinfo b/docs/reference/bodyparts/childlibpath_example.texinfo deleted file mode 100644 index 8e2a7cd9a9..0000000000 --- a/docs/reference/bodyparts/childlibpath_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -childlibpath => "/usr/local/lib:/usr/local/gnu/lib"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/childlibpath_notes.texinfo b/docs/reference/bodyparts/childlibpath_notes.texinfo deleted file mode 100644 index b85ffe56bf..0000000000 --- a/docs/reference/bodyparts/childlibpath_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -This string may be used to set the internal @code{LD_LIBRARY_PATH} -environment of the agent. diff --git a/docs/reference/bodyparts/chroot_example.texinfo b/docs/reference/bodyparts/chroot_example.texinfo deleted file mode 100644 index 41f9de40b6..0000000000 --- a/docs/reference/bodyparts/chroot_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body contain example - -{ -chroot => "/private/path"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/chroot_notes.texinfo b/docs/reference/bodyparts/chroot_notes.texinfo deleted file mode 100644 index ee9b474765..0000000000 --- a/docs/reference/bodyparts/chroot_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -Sets the path of the directory that will be experienced as the top-most -root directory for the process. In security parlance, this creates -a `sandbox' for the process. Windows does not support this feature. diff --git a/docs/reference/bodyparts/collapse_destination_dir_example.texinfo b/docs/reference/bodyparts/collapse_destination_dir_example.texinfo deleted file mode 100644 index ad3e891e92..0000000000 --- a/docs/reference/bodyparts/collapse_destination_dir_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - -@verbatim - -body copy_from mycopy(from,server) - -{ -source => "$(from)"; -servers => { "$(server)" }; -collapse_destination_dir => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/collapse_destination_dir_notes.texinfo b/docs/reference/bodyparts/collapse_destination_dir_notes.texinfo deleted file mode 100644 index 55a63c1f3a..0000000000 --- a/docs/reference/bodyparts/collapse_destination_dir_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -Under normal operations, recursive copies cause CFEngine to track subdirectories -of files. So, for instance, if we copy recurively from @file{src} to @file{dest}, -then @file{src/subdir/file} will map to @file{dest/subdir/file}. - -By setting this option to @samp{true}, the promiser destination -directory promises to aggregate files searched from all subdirectories -into itself, i.e. a single destination directory. diff --git a/docs/reference/bodyparts/collect_window_example.texinfo b/docs/reference/bodyparts/collect_window_example.texinfo deleted file mode 100644 index 3fb7f6ca07..0000000000 --- a/docs/reference/bodyparts/collect_window_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -collect_window => "15"; - -@end verbatim diff --git a/docs/reference/bodyparts/collect_window_notes.texinfo b/docs/reference/bodyparts/collect_window_notes.texinfo deleted file mode 100644 index e6adaf2212..0000000000 --- a/docs/reference/bodyparts/collect_window_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -@i{History}: Was introduced in 3.4.0, Enterprise 3.0.0 (2012) - -The time is measured in seconds, default value 10s. diff --git a/docs/reference/bodyparts/command_example.texinfo b/docs/reference/bodyparts/command_example.texinfo deleted file mode 100644 index a669784ec0..0000000000 --- a/docs/reference/bodyparts/command_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - -@verbatim - -body process_select example - -{ -command => "cf-.*"; - -process_result => "command"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/command_notes.texinfo b/docs/reference/bodyparts/command_notes.texinfo deleted file mode 100644 index ba47c46455..0000000000 --- a/docs/reference/bodyparts/command_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -This expression should match the entire @code{COMMAND} field of the -process table (not just a fragment). This field is usually the last -field on the line and thus starts with the first non-space character -and ends with the end of line. diff --git a/docs/reference/bodyparts/comment_example.texinfo b/docs/reference/bodyparts/comment_example.texinfo deleted file mode 100644 index f461ba9719..0000000000 --- a/docs/reference/bodyparts/comment_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -comment => "This comment follows the data for reference ...", - -@end verbatim diff --git a/docs/reference/bodyparts/comment_notes.texinfo b/docs/reference/bodyparts/comment_notes.texinfo deleted file mode 100644 index 766ef18bd6..0000000000 --- a/docs/reference/bodyparts/comment_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -Comments written in code follow the program, they are not merely discarded. -They appear in reports and error messages. diff --git a/docs/reference/bodyparts/compare_example.texinfo b/docs/reference/bodyparts/compare_example.texinfo deleted file mode 100644 index 053eb84dbd..0000000000 --- a/docs/reference/bodyparts/compare_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - - -@verbatim - -body copy_from example - -{ -compare => "digest"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/compare_notes.texinfo b/docs/reference/bodyparts/compare_notes.texinfo deleted file mode 100644 index 1889c7a724..0000000000 --- a/docs/reference/bodyparts/compare_notes.texinfo +++ /dev/null @@ -1,43 +0,0 @@ - -The default copy method is @samp{mtime} (modification time), meaning that -the source file is copied to the destination (promiser) file, if the -source file has been modified more recently than the destination. - -The different options are: -@itemize -@item -@code{mtime} CFEngine copies the file if the modification time of the source -file is more recent than that of the promised file - -@item -@code{ctime} CFEngine copies the file if the creation time of the source file -is more recent than that of the promised file - -@item -@code{atime} CFEngine copies the file if the modification time or creation -time of the source file is more recent than that of the promised file. If the -times are equal, a byte-for-bye comparison is done on the files to determine -if it needs to be copied. - -@item -@code{exists} CFEngine copies the file if the promised file does not already -exist. - -@item -@code{binary} CFEngine copies the file if they are both plain files and a -byte-for-byte comparison determines that they are different. If both are not -plain files, CFEngine reverts to comparing the @code{mtime} and @code{ctime} -of the files. If the source file is on a different machine (i.e., network -copy), then @code{hash} is used instead to reduce network bandwidth. - -@item -@code{hash} CFEngine copies the file if they are both plain files and a -message digest comparison indicates that the files are different. In -Enterprise versions of CFEngine version 3.1.0 and later, SHA256 is used as a -message digest hash to conform with FIPS; in older Enterprise versions of -CFEngine and all Community versions, MD5 is used. - -@item -@code{digest} a synonym for @code{hash} - -@end itemize diff --git a/docs/reference/bodyparts/copy_backup_example.texinfo b/docs/reference/bodyparts/copy_backup_example.texinfo deleted file mode 100644 index 7adbf1a838..0000000000 --- a/docs/reference/bodyparts/copy_backup_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body copy_from example -{ -copy_backup => "timestamp"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/copy_backup_notes.texinfo b/docs/reference/bodyparts/copy_backup_notes.texinfo deleted file mode 100644 index 75d733b1cc..0000000000 --- a/docs/reference/bodyparts/copy_backup_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -Determines whether a backup of the previous version is kept on the -system. This should be viewed in connection with the system repository, -since a defined repository affects the location at which the backup -is stored. See -@ref{default_repository in agent, ,default_repository} and -@ref{repository in files, ,repository} for further details. diff --git a/docs/reference/bodyparts/copy_patterns_example.texinfo b/docs/reference/bodyparts/copy_patterns_example.texinfo deleted file mode 100644 index 010ec796fe..0000000000 --- a/docs/reference/bodyparts/copy_patterns_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body link_from example -{ -copy_patterns => { "special_node1", "/path/special_node2" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/copy_patterns_notes.texinfo b/docs/reference/bodyparts/copy_patterns_notes.texinfo deleted file mode 100644 index edae69024c..0000000000 --- a/docs/reference/bodyparts/copy_patterns_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -During the linking of files, it is sometimes useful to buffer changes -with an actual copy, especially if the link is to an emphemeral file -system. This list of patterns matches files that arise during a -linking policy. A positive match means that the file should be copied -and updated by modification time. diff --git a/docs/reference/bodyparts/copy_size_example.texinfo b/docs/reference/bodyparts/copy_size_example.texinfo deleted file mode 100644 index b05a6c82ce..0000000000 --- a/docs/reference/bodyparts/copy_size_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body copy_from example -{ -copy_size => irange("0","50000"); -} - -@end verbatim diff --git a/docs/reference/bodyparts/copy_size_notes.texinfo b/docs/reference/bodyparts/copy_size_notes.texinfo deleted file mode 100644 index e6bac7c9f0..0000000000 --- a/docs/reference/bodyparts/copy_size_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -The use of the irange function is optional. Ranges may also be -specified as a comma separated numbers. diff --git a/docs/reference/bodyparts/copylink_patterns_example.texinfo b/docs/reference/bodyparts/copylink_patterns_example.texinfo deleted file mode 100644 index 2fe2b1b3fd..0000000000 --- a/docs/reference/bodyparts/copylink_patterns_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body copy_from example -{ -copylink_patterns => { "special_node1", "other_node.*" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/copylink_patterns_notes.texinfo b/docs/reference/bodyparts/copylink_patterns_notes.texinfo deleted file mode 100644 index c252a3a74b..0000000000 --- a/docs/reference/bodyparts/copylink_patterns_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - - -The matches are performed on the last node of the filename, i.e. the -file without its path. As windows does not support symbolic links, -this feature is not available there. diff --git a/docs/reference/bodyparts/create_example.texinfo b/docs/reference/bodyparts/create_example.texinfo deleted file mode 100644 index 7dde34afe7..0000000000 --- a/docs/reference/bodyparts/create_example.texinfo +++ /dev/null @@ -1,15 +0,0 @@ - -@verbatim - -files: - - "/path/plain_file" - - create => "true"; - - "/path/dir/." - - create => "true"; - -@end verbatim - diff --git a/docs/reference/bodyparts/create_notes.texinfo b/docs/reference/bodyparts/create_notes.texinfo deleted file mode 100644 index ff30058d86..0000000000 --- a/docs/reference/bodyparts/create_notes.texinfo +++ /dev/null @@ -1,18 +0,0 @@ - - -Directories are created by using the @samp{/.} to signify a directory type. -Note that, if no permissions are specified, mode 600 is chosen for a file, -and mode 755 is chosen for a directory. If you cannot accept these defaults, -you @i{should} specify permissions. - -Note that technically, @samp{/.} is a regular expression. However, it is -used as a special case meaning "directory". See the @b{filenames and regular -expressions} near the beginning of the section on -@ref{files in agent promises, ,files promises} for a more complete discussion. - -@b{Note:} In general, you should not use @code{create} with -@ref{copy_from in files, ,copy_from} or @ref{link_from in files, ,link_from} -in files promises. These latter attributes automatically -create the promised file, and using @code{create} may actually prevent the -copy or link promise from being kept (since @code{create} acts first, which -may affect file comparison or linking operations). diff --git a/docs/reference/bodyparts/csv2xml_example.texinfo b/docs/reference/bodyparts/csv2xml_example.texinfo deleted file mode 100644 index a7732ac387..0000000000 --- a/docs/reference/bodyparts/csv2xml_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body reporter control -{ -csv2xml => { "myreport.csv", "custom_report.csv" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/csv2xml_notes.texinfo b/docs/reference/bodyparts/csv2xml_notes.texinfo deleted file mode 100644 index ac234050fd..0000000000 --- a/docs/reference/bodyparts/csv2xml_notes.texinfo +++ /dev/null @@ -1,14 +0,0 @@ - -CSV files are easy to generate in CFEngine from individual promise logging functions. -XML is not easily generated due to its hierarchical structure. This function allows -@code{cf-report} to convert a CSV file into pidgin XML for convenience. The schema -has the general form: - -@verbatim - - - ... ... ... - ... ... ... - - -@end verbatim diff --git a/docs/reference/bodyparts/ctime_example.texinfo b/docs/reference/bodyparts/ctime_example.texinfo deleted file mode 100644 index 83ee006369..0000000000 --- a/docs/reference/bodyparts/ctime_example.texinfo +++ /dev/null @@ -1,13 +0,0 @@ - - -@verbatim - -body files_select example -{ -ctime => irange(ago(1,0,0,0,0,0),now); -file_result => "ctime"; -} - -@end verbatim - - diff --git a/docs/reference/bodyparts/ctime_notes.texinfo b/docs/reference/bodyparts/ctime_notes.texinfo deleted file mode 100644 index 2995b4414f..0000000000 --- a/docs/reference/bodyparts/ctime_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -The file's change time refers to both modification of content and attributes -such as permissions. On windows, @code{ctime} refers to creation time. diff --git a/docs/reference/bodyparts/data_type_example.texinfo b/docs/reference/bodyparts/data_type_example.texinfo deleted file mode 100644 index 009058a78e..0000000000 --- a/docs/reference/bodyparts/data_type_example.texinfo +++ /dev/null @@ -1,17 +0,0 @@ - -@verbatim - - "/bin/df" - - handle => "free_disk_watch", - stream_type => "pipe", - - data_type => "slist", - - history_type => "static", - units => "device", - match_value => file_systems, - action => sample_min(10,15); - - -@end verbatim diff --git a/docs/reference/bodyparts/data_type_notes.texinfo b/docs/reference/bodyparts/data_type_notes.texinfo deleted file mode 100644 index 4e55eac83c..0000000000 --- a/docs/reference/bodyparts/data_type_notes.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -When CFEngine (Nova) observes data, such as the attached partitions in -the example above, the datatype determines how that data will be -handled. Integer and real values, counters etc., are recorded as -time-series if the history type is `weekly', or as single values -otherwise. If multiple items are matched by an observation, -e.g. several lines in a file match the given regular expression, -then these can be made into a list by choosing @code{slist}, else -the first matching item will be selected. - diff --git a/docs/reference/bodyparts/database_columns_example.texinfo b/docs/reference/bodyparts/database_columns_example.texinfo deleted file mode 100644 index e688dd200b..0000000000 --- a/docs/reference/bodyparts/database_columns_example.texinfo +++ /dev/null @@ -1,18 +0,0 @@ - -@verbatim - - "cf_topic_maps/topics" - - database_operation => "create", - database_type => "sql", - database_columns => { - "topic_name,varchar,256", - "topic_comment,varchar,1024", - "topic_id,varchar,256", - "topic_type,varchar,256", - "topic_extra,varchar,26" - }, - - database_server => myserver; - -@end verbatim diff --git a/docs/reference/bodyparts/database_columns_notes.texinfo b/docs/reference/bodyparts/database_columns_notes.texinfo deleted file mode 100644 index 7d0ba7cae8..0000000000 --- a/docs/reference/bodyparts/database_columns_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -Columns are a list of tuplets (@var{Name,type,size}). Array items are triplets, and fixed size data elements are doublets. diff --git a/docs/reference/bodyparts/database_operation_example.texinfo b/docs/reference/bodyparts/database_operation_example.texinfo deleted file mode 100644 index 11eae7936c..0000000000 --- a/docs/reference/bodyparts/database_operation_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -database_operation => "create"; - -@end verbatim diff --git a/docs/reference/bodyparts/database_operation_notes.texinfo b/docs/reference/bodyparts/database_operation_notes.texinfo deleted file mode 100644 index 8b13789179..0000000000 --- a/docs/reference/bodyparts/database_operation_notes.texinfo +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/reference/bodyparts/database_rows_example.texinfo b/docs/reference/bodyparts/database_rows_example.texinfo deleted file mode 100644 index d659a90783..0000000000 --- a/docs/reference/bodyparts/database_rows_example.texinfo +++ /dev/null @@ -1,20 +0,0 @@ - -@verbatim - -bundle agent databases - -{ -databases: - - windows:: - - # Regsitry has (value,data) pairs in "keys" which are directories - - "HKEY_LOCAL_MACHINE\SOFTWARE\CFEngine AS\CFEngine" - - database_operation => "create", - database_rows => { "value1,REG_SZ,new value 1", "value2,REG_DWORD,12345"} , - database_type => "ms_registry"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/database_rows_notes.texinfo b/docs/reference/bodyparts/database_rows_notes.texinfo deleted file mode 100644 index b55b9049d1..0000000000 --- a/docs/reference/bodyparts/database_rows_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -This constraint is used only in adding data to database columns. Rows are considered to be -instances of individual columns. - -In the case of the system registry on Windows, the rows represent data on data-value pairs. -The currently supported types (the middle field) for the Windows registry are @code{REG_SZ} (string), -@code{REG_EXPAND_SZ} (expandable string) and @code{REG_DWORD} (double word). diff --git a/docs/reference/bodyparts/database_type_example.texinfo b/docs/reference/bodyparts/database_type_example.texinfo deleted file mode 100644 index 4b861d430a..0000000000 --- a/docs/reference/bodyparts/database_type_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -database_type => "ms_registry"; - -@end verbatim diff --git a/docs/reference/bodyparts/database_type_notes.texinfo b/docs/reference/bodyparts/database_type_notes.texinfo deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/reference/bodyparts/db_server_connection_db_example.texinfo b/docs/reference/bodyparts/db_server_connection_db_example.texinfo deleted file mode 100644 index 7a631f8c06..0000000000 --- a/docs/reference/bodyparts/db_server_connection_db_example.texinfo +++ /dev/null @@ -1,15 +0,0 @@ - -@verbatim - -body database_server myserver(x) -{ -db_server_owner => "$(x)"; -db_server_password => ""; -db_server_host => "localhost"; -db_server_type => "$(mysql)"; -db_server_connection_db => "$(x)"; -} - -@end verbatim - -@noindent where @samp{x} is currently @code{mysql} or @code{postgres}. diff --git a/docs/reference/bodyparts/db_server_connection_db_notes.texinfo b/docs/reference/bodyparts/db_server_connection_db_notes.texinfo deleted file mode 100644 index aa1fec9764..0000000000 --- a/docs/reference/bodyparts/db_server_connection_db_notes.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -In order to create a database on a database server (all of which -practice voluntary cooperation), one has to be able to connect -to the server, however, without an existing database this is not allowed. -Thus, database servers provide a default database that can be connected -to in order to thereafter create new databases. These are called -@code{postgres} and @code{mysql} for their respective database servers. - -For the knowledge agent, this setting is made in the control body, -for database verification promises, it is made in the -@code{database_server} body. diff --git a/docs/reference/bodyparts/db_server_host_example.texinfo b/docs/reference/bodyparts/db_server_host_example.texinfo deleted file mode 100644 index e1542b8d02..0000000000 --- a/docs/reference/bodyparts/db_server_host_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -db_server_host => "sqlserv.example.org"; - -@end verbatim diff --git a/docs/reference/bodyparts/db_server_host_notes.texinfo b/docs/reference/bodyparts/db_server_host_notes.texinfo deleted file mode 100644 index a507e5ba47..0000000000 --- a/docs/reference/bodyparts/db_server_host_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -Hostname or IP address of the server. diff --git a/docs/reference/bodyparts/db_server_owner_example.texinfo b/docs/reference/bodyparts/db_server_owner_example.texinfo deleted file mode 100644 index 18419641d1..0000000000 --- a/docs/reference/bodyparts/db_server_owner_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -db_server_owner => "mark"; - -@end verbatim diff --git a/docs/reference/bodyparts/db_server_owner_notes.texinfo b/docs/reference/bodyparts/db_server_owner_notes.texinfo deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/reference/bodyparts/db_server_password_example.texinfo b/docs/reference/bodyparts/db_server_password_example.texinfo deleted file mode 100644 index 3a28c29c8c..0000000000 --- a/docs/reference/bodyparts/db_server_password_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -db_server_password => "xyz.1234"; - -@end verbatim diff --git a/docs/reference/bodyparts/db_server_password_notes.texinfo b/docs/reference/bodyparts/db_server_password_notes.texinfo deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/reference/bodyparts/db_server_type_example.texinfo b/docs/reference/bodyparts/db_server_type_example.texinfo deleted file mode 100644 index 063faf73a6..0000000000 --- a/docs/reference/bodyparts/db_server_type_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -db_server_type => "postgres"; - -@end verbatim diff --git a/docs/reference/bodyparts/db_server_type_notes.texinfo b/docs/reference/bodyparts/db_server_type_notes.texinfo deleted file mode 100644 index 8b13789179..0000000000 --- a/docs/reference/bodyparts/db_server_type_notes.texinfo +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/reference/bodyparts/default_repository_example.texinfo b/docs/reference/bodyparts/default_repository_example.texinfo deleted file mode 100644 index 390a47f4dc..0000000000 --- a/docs/reference/bodyparts/default_repository_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -default_repository => "/var/cfengine/repository"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/default_repository_notes.texinfo b/docs/reference/bodyparts/default_repository_notes.texinfo deleted file mode 100644 index c3af8a854b..0000000000 --- a/docs/reference/bodyparts/default_repository_notes.texinfo +++ /dev/null @@ -1,13 +0,0 @@ - -If defined the default repository is the location where versions of -files altered by CFEngine are stored. This should be understood in -relation to the policy for @samp{backup} in copying, editing etc. If -the backups are time-stamped, this becomes effective a version control -repository. See also @ref{repository in files, ,repository} for a way -to locally override the global repository. - -Note that when a repository is specified, the files are stored using the -canonified directory name of the original file, concatenated with the name of -the file. So, for example, @file{/usr/local/etc/postfix.conf} would ordinarily -be stored in an alternative repository as -@file{_usr_local_etc_postfix.conf.cfsaved}. diff --git a/docs/reference/bodyparts/default_timeout_example.texinfo b/docs/reference/bodyparts/default_timeout_example.texinfo deleted file mode 100644 index 805d9d92ea..0000000000 --- a/docs/reference/bodyparts/default_timeout_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -default_timeout => "10"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/default_timeout_notes.texinfo b/docs/reference/bodyparts/default_timeout_notes.texinfo deleted file mode 100644 index e8428adab3..0000000000 --- a/docs/reference/bodyparts/default_timeout_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -The time is in seconds. It is not a guaranteed number, since it -depends on system behaviour. under Linux, the kernel version plays a -role, since not all system calls seem to respect the signals. - diff --git a/docs/reference/bodyparts/defaultcopytype_example.texinfo b/docs/reference/bodyparts/defaultcopytype_example.texinfo deleted file mode 100644 index f487cef689..0000000000 --- a/docs/reference/bodyparts/defaultcopytype_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body agent control -{ -#... -defaultcopytype => "digest"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/defaultcopytype_notes.texinfo b/docs/reference/bodyparts/defaultcopytype_notes.texinfo deleted file mode 100644 index bfa7bf01f7..0000000000 --- a/docs/reference/bodyparts/defaultcopytype_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -Sets the global default policy for comparing source and image in copy transactions. - diff --git a/docs/reference/bodyparts/delete_if_contains_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_contains_from_list_example.texinfo deleted file mode 100644 index c465a268cb..0000000000 --- a/docs/reference/bodyparts/delete_if_contains_from_list_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body delete_select example(s) -{ -delete_if_contains_from_list => { @(s) }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_contains_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_contains_from_list_notes.texinfo deleted file mode 100644 index 7cbb0da0d3..0000000000 --- a/docs/reference/bodyparts/delete_if_contains_from_list_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - - -Delete lines from a file if they contain the sub-strings listed. -Note that this determination is made only on promised lines (that is, this -attribute modifies the selection criteria, it does not make the initial -selection). diff --git a/docs/reference/bodyparts/delete_if_match_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_match_from_list_example.texinfo deleted file mode 100644 index abef80c702..0000000000 --- a/docs/reference/bodyparts/delete_if_match_from_list_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body delete_select example(s) -{ -delete_if_match_from_list => { @(s) }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_match_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_match_from_list_notes.texinfo deleted file mode 100644 index b8538d3ba3..0000000000 --- a/docs/reference/bodyparts/delete_if_match_from_list_notes.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -Delete lines from a file if the lines @i{completely} match any of -the regular expressions listed (that is, the regular expression -is anchored, @pxref{Anchored vs. unanchored regular expressions}). - -Note that the ``match'' determination is made only on promised lines (that is, this -attribute modifies the selection criteria, it does not make the initial -selection). - diff --git a/docs/reference/bodyparts/delete_if_not_contains_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_not_contains_from_list_example.texinfo deleted file mode 100644 index 198edfffbd..0000000000 --- a/docs/reference/bodyparts/delete_if_not_contains_from_list_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body delete_select discard(s) -{ -delete_if_not_contains_from_list => { "substring1", "substring2" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_not_contains_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_not_contains_from_list_notes.texinfo deleted file mode 100644 index db8f4c5f8f..0000000000 --- a/docs/reference/bodyparts/delete_if_not_contains_from_list_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -Delete lines from the file which do not contain the sub-strings listed. -Note that this determination is made only on promised lines (that is, this -attribute modifies the selection criteria, it does not make the initial -selection). diff --git a/docs/reference/bodyparts/delete_if_not_match_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_not_match_from_list_example.texinfo deleted file mode 100644 index 216a1fc59a..0000000000 --- a/docs/reference/bodyparts/delete_if_not_match_from_list_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body delete_select example(s) -{ -delete_if_not_match_from_list => { @(s) }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_not_match_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_not_match_from_list_notes.texinfo deleted file mode 100644 index 36357bde5c..0000000000 --- a/docs/reference/bodyparts/delete_if_not_match_from_list_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -Delete lines from a file unless the lines @i{completely} match any of -the regular expressions listed (that is, the regular expressions -are anchored, @pxref{Anchored vs. unanchored regular expressions}). - -Note that the ``match'' determination is made only on promised lines (that is, this -attribute modifies the selection criteria, it does not make the initial -selection). diff --git a/docs/reference/bodyparts/delete_if_not_startwith_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_not_startwith_from_list_example.texinfo deleted file mode 100644 index 3bf32a574c..0000000000 --- a/docs/reference/bodyparts/delete_if_not_startwith_from_list_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body delete_select example(s) -{ -delete_if_not_startwith_from_list => { @(s) }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_not_startwith_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_not_startwith_from_list_notes.texinfo deleted file mode 100644 index 7c01af0315..0000000000 --- a/docs/reference/bodyparts/delete_if_not_startwith_from_list_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -Delete lines from a file unless they start with the sub-strings in the list -given. Note that this determination is made only on promised lines (that is, -this attribute modifies the selection criteria, it does not make the initial -selection). diff --git a/docs/reference/bodyparts/delete_if_startwith_from_list_example.texinfo b/docs/reference/bodyparts/delete_if_startwith_from_list_example.texinfo deleted file mode 100644 index 8422531d8b..0000000000 --- a/docs/reference/bodyparts/delete_if_startwith_from_list_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body delete_select example(s) -{ -delete_if_startwith_from_list => { @(s) }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/delete_if_startwith_from_list_notes.texinfo b/docs/reference/bodyparts/delete_if_startwith_from_list_notes.texinfo deleted file mode 100644 index 4cf1654900..0000000000 --- a/docs/reference/bodyparts/delete_if_startwith_from_list_notes.texinfo +++ /dev/null @@ -1,33 +0,0 @@ - -Delete lines from a file if they begin with the sub-strings listed. -Note that this determination is made only on promised lines (that is, this -attribute modifies the selection criteria, it does not make the initial -selection). Therefore, if the file contains the following lines: - -@verbatim -start alpha igniter -start beta igniter -init alpha burner -init beta burner -stop beta igniter -stop alpha igniter -stop alpha burner -@end verbatim - -Then the following promise initially selects the four lines containing -@samp{alpha}, but is moderated by the @code{delete_select} attribute. Thus, -the promise will delete only the first and third lines of the file: - -@verbatim -bundle edit_line alpha -{ -delete_lines: - ".*alpha.*" - delete_select => starters; -} - -body delete_select starters -{ - delete_if_startwith_from_list => { "begin", "start", "init" }; -} -@end verbatim diff --git a/docs/reference/bodyparts/deny_example.texinfo b/docs/reference/bodyparts/deny_example.texinfo deleted file mode 100644 index 7e2b1a1199..0000000000 --- a/docs/reference/bodyparts/deny_example.texinfo +++ /dev/null @@ -1,16 +0,0 @@ - - -@verbatim - -bundle server access_rules() - -{ -access: - - "/path" - - admit => { ".*\.example\.org" }, - deny => { "badhost_1\.example\.org", "badhost_1\.example\.org" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/deny_notes.texinfo b/docs/reference/bodyparts/deny_notes.texinfo deleted file mode 100644 index 1c62ccf165..0000000000 --- a/docs/reference/bodyparts/deny_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -Denial is for special exceptions. A better strategy is always to grant -on a need to know basis. A security policy based on exceptions is a -weak one. - -Note that only regular expressions or exact matches are allowed in this -list, as non-specific matches are too greedy for denial. diff --git a/docs/reference/bodyparts/denybadclocks_example.texinfo b/docs/reference/bodyparts/denybadclocks_example.texinfo deleted file mode 100644 index 9f3e4f20db..0000000000 --- a/docs/reference/bodyparts/denybadclocks_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body server control -{ -#.. -denybadclocks => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/denybadclocks_notes.texinfo b/docs/reference/bodyparts/denybadclocks_notes.texinfo deleted file mode 100644 index b12a45f223..0000000000 --- a/docs/reference/bodyparts/denybadclocks_notes.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - -A possible form of attack on the fileserver is to request files based -on time by setting the clocks incorrectly. This option prevents -connections from clients whose clocks are drifting too far from the -server clock (where "too far" is currently defined as "more than an hour -off"). This serves as a warning about clock asynchronization -and also a protection against Denial of Service attempts based on -clock corruption. diff --git a/docs/reference/bodyparts/denyconnects_example.texinfo b/docs/reference/bodyparts/denyconnects_example.texinfo deleted file mode 100644 index 2799efb927..0000000000 --- a/docs/reference/bodyparts/denyconnects_example.texinfo +++ /dev/null @@ -1,8 +0,0 @@ - - -@verbatim -body server control -{ -denyconnects => { "badhost\.domain\.evil", "host3\.domain\.com" }; -} -@end verbatim diff --git a/docs/reference/bodyparts/denyconnects_notes.texinfo b/docs/reference/bodyparts/denyconnects_notes.texinfo deleted file mode 100644 index 8dfad71d76..0000000000 --- a/docs/reference/bodyparts/denyconnects_notes.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -Hosts or IP addresses that are explicitly denied access. This should -only be used in special circumstances. One should never grant generic -access to everything and then deny special cases. Since the default -server behaviour is to grant no access to anything, this list is -unnecessary unless you have already granted access to some set of -hosts using a generic pattern, to which you intend to make an exception. - -See also the warning about regular expressions in @code{allowallconnects}. diff --git a/docs/reference/bodyparts/depends_on_example.texinfo b/docs/reference/bodyparts/depends_on_example.texinfo deleted file mode 100644 index 7199b06c38..0000000000 --- a/docs/reference/bodyparts/depends_on_example.texinfo +++ /dev/null @@ -1,24 +0,0 @@ - -@verbatim - -body common control -{ -bundlesequence => { "one" }; -} - -bundle agent one -{ -reports: - - cfengine_3:: - - "two" - depends_on => { "handle_one" }; - - "one" - handle => "handle_one"; - -} - - -@end verbatim diff --git a/docs/reference/bodyparts/depends_on_notes.texinfo b/docs/reference/bodyparts/depends_on_notes.texinfo deleted file mode 100644 index 086f4ccc8e..0000000000 --- a/docs/reference/bodyparts/depends_on_notes.texinfo +++ /dev/null @@ -1,15 +0,0 @@ - -This is a list of promise handles for whom this promise is a -promisee. In other words, we acknowledge that this promise will be -affected by the list of promises whose handles are specified. - -It has the effect of partially ordering promises. - -As of version 3.4.0, promise this feature is active and may be -considered a short-hand for setting classes. If one promise depends on -a list of others, it will not be verified unless the dependent -promises have already been verified and kept: i.e. as long as the -dependent promises are either kept or repaired the dependee can be -verified. - -Handles in other namespaces may be referred to by @var{namespace:handle}. diff --git a/docs/reference/bodyparts/depth_example.texinfo b/docs/reference/bodyparts/depth_example.texinfo deleted file mode 100644 index 0be22615ef..0000000000 --- a/docs/reference/bodyparts/depth_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body depth_search example -{ -depth => "inf"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/depth_notes.texinfo b/docs/reference/bodyparts/depth_notes.texinfo deleted file mode 100644 index a075174e97..0000000000 --- a/docs/reference/bodyparts/depth_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -This was previous called `recurse' in earlier versions of CFEngine. -Note that the value @samp{inf} may be used for an unlimited value. - -When searching recursively from a directory, the parent directory is -not part of the search. It is only the anchor point. To alter the parent, -a separate non-recursive promise should be made. diff --git a/docs/reference/bodyparts/dirlinks_example.texinfo b/docs/reference/bodyparts/dirlinks_example.texinfo deleted file mode 100644 index 1a04b61388..0000000000 --- a/docs/reference/bodyparts/dirlinks_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body delete example -{ -dirlinks => "keep"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/dirlinks_notes.texinfo b/docs/reference/bodyparts/dirlinks_notes.texinfo deleted file mode 100644 index e7921a3d46..0000000000 --- a/docs/reference/bodyparts/dirlinks_notes.texinfo +++ /dev/null @@ -1,18 +0,0 @@ - -Links to directories are normally removed just like any other link or -file objects. By keeping directory links, you preserve the logical -directory structure of the file system so that a link to a directory -is not removed but is treated as a directory to be descended into. - -The value @code{keep} instructs CFEngine not to remove directory links. -The values @code{delete} and @code{tidy} are synonymous, and instruct -CFEngine to remove directory links. - -@noindent @b{Default value} (only if body is present):@* -@* - -The default value only has significance if there is a @code{delete} body -present. If there is no @code{delete} body, then files (and directory links) -are @b{not} deleted. - -@code{dirlinks => delete} diff --git a/docs/reference/bodyparts/disable_example.texinfo b/docs/reference/bodyparts/disable_example.texinfo deleted file mode 100644 index 43dee7b08a..0000000000 --- a/docs/reference/bodyparts/disable_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body rename example -{ -disable => "true"; -disable_suffix => ".nuked"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/disable_mode_example.texinfo b/docs/reference/bodyparts/disable_mode_example.texinfo deleted file mode 100644 index 7a6d431041..0000000000 --- a/docs/reference/bodyparts/disable_mode_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - - -@verbatim - -body rename example -{ -disable_mode => "0600"; -} - -@end verbatim - diff --git a/docs/reference/bodyparts/disable_mode_notes.texinfo b/docs/reference/bodyparts/disable_mode_notes.texinfo deleted file mode 100644 index da2c16e949..0000000000 --- a/docs/reference/bodyparts/disable_mode_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -To disable an executable it is not enough to rename it, you should also remove the -executable flag. - diff --git a/docs/reference/bodyparts/disable_notes.texinfo b/docs/reference/bodyparts/disable_notes.texinfo deleted file mode 100644 index bf4cb3717f..0000000000 --- a/docs/reference/bodyparts/disable_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -Disabling a file means making is impotent in the context in which it -has an effect. For executables this means preventing execution, for an -information file it means making the file unreadable. diff --git a/docs/reference/bodyparts/disable_suffix_example.texinfo b/docs/reference/bodyparts/disable_suffix_example.texinfo deleted file mode 100644 index 9a3dc812cd..0000000000 --- a/docs/reference/bodyparts/disable_suffix_example.texinfo +++ /dev/null @@ -1,12 +0,0 @@ - - -@verbatim - -body rename example -{ -disable => "true"; -disable_suffix => ".nuked"; -} - -@end verbatim - diff --git a/docs/reference/bodyparts/disable_suffix_notes.texinfo b/docs/reference/bodyparts/disable_suffix_notes.texinfo deleted file mode 100644 index 96a7d29149..0000000000 --- a/docs/reference/bodyparts/disable_suffix_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -To make disabled files in a particular manner, use this string suffix. -The default value is @file{.cf-disabled}. diff --git a/docs/reference/bodyparts/dist_example.texinfo b/docs/reference/bodyparts/dist_example.texinfo deleted file mode 100644 index b8d9b7dbd7..0000000000 --- a/docs/reference/bodyparts/dist_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -classes: - - "my_dist" - - dist => { "10", "20", "40", "50" }; - -@end verbatim diff --git a/docs/reference/bodyparts/dist_notes.texinfo b/docs/reference/bodyparts/dist_notes.texinfo deleted file mode 100644 index 20e17e2662..0000000000 --- a/docs/reference/bodyparts/dist_notes.texinfo +++ /dev/null @@ -1,15 +0,0 @@ - -Assign one generic class (always) and one additional class, randomly weighted -on a probability distribution. The sum of @code{10+20+40+50 = 120} in the -example above, so in generating a distribution, CFEngine picks a number -between @code{1-120}. This will generate the following classes: - -@smallexample -my_dist (always) -my_dist_10 (10/120 of the time) -my_dist_20 (20/120 of the time) -my_dist_40 (40/120 of the time) -my_dist_50 (50/120 of the time) -@end smallexample - -This was previous called a @samp{strategy} in CFEngine 2. diff --git a/docs/reference/bodyparts/domain_example.texinfo b/docs/reference/bodyparts/domain_example.texinfo deleted file mode 100644 index c40d2ec7af..0000000000 --- a/docs/reference/bodyparts/domain_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body common control -{ -domain => "example.org"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/domain_notes.texinfo b/docs/reference/bodyparts/domain_notes.texinfo deleted file mode 100644 index 9bde773b1f..0000000000 --- a/docs/reference/bodyparts/domain_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -There is no standard, universal or reliable way of determining the -DNS domain name of a host, so it can be set explicitly to simplify -discovery and name-lookup. - diff --git a/docs/reference/bodyparts/dryrun_example.texinfo b/docs/reference/bodyparts/dryrun_example.texinfo deleted file mode 100644 index 0bda0465c3..0000000000 --- a/docs/reference/bodyparts/dryrun_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -dryrun => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/dryrun_notes.texinfo b/docs/reference/bodyparts/dryrun_notes.texinfo deleted file mode 100644 index 011ec54480..0000000000 --- a/docs/reference/bodyparts/dryrun_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -If set in the configuration, CFEngine makes no changes to a -system, only reports what it needs to do. diff --git a/docs/reference/bodyparts/dynamicaddresses_example.texinfo b/docs/reference/bodyparts/dynamicaddresses_example.texinfo deleted file mode 100644 index f69d1a60a5..0000000000 --- a/docs/reference/bodyparts/dynamicaddresses_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body server control -{ -dynamicaddresses => { "dhcp_.*" }; -} - -@end verbatim diff --git a/docs/reference/bodyparts/dynamicaddresses_notes.texinfo b/docs/reference/bodyparts/dynamicaddresses_notes.texinfo deleted file mode 100644 index 37ccf70402..0000000000 --- a/docs/reference/bodyparts/dynamicaddresses_notes.texinfo +++ /dev/null @@ -1,7 +0,0 @@ - -The addresses or hostnames here are expected to have non-permanent -address-name bindings, we must therefor work harder to determine -whether hosts credentials are trusted by looking for existing public -keys in files that do not match the current hostname or IP. - -@b{This feature has been deprecated since 3.1.0.} This is now handled transparently. diff --git a/docs/reference/bodyparts/edit_backup_example.texinfo b/docs/reference/bodyparts/edit_backup_example.texinfo deleted file mode 100644 index 04c7256ccb..0000000000 --- a/docs/reference/bodyparts/edit_backup_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body edit_defaults example -{ -edit_backup => "timestamp"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/edit_backup_notes.texinfo b/docs/reference/bodyparts/edit_backup_notes.texinfo deleted file mode 100644 index 8b13789179..0000000000 --- a/docs/reference/bodyparts/edit_backup_notes.texinfo +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/reference/bodyparts/edit_fstab_example.texinfo b/docs/reference/bodyparts/edit_fstab_example.texinfo deleted file mode 100644 index 49573e1912..0000000000 --- a/docs/reference/bodyparts/edit_fstab_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body mount example -{ -edit_fstab => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/edit_fstab_notes.texinfo b/docs/reference/bodyparts/edit_fstab_notes.texinfo deleted file mode 100644 index f19e1bdef5..0000000000 --- a/docs/reference/bodyparts/edit_fstab_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -The default behaviour is to not place edits in the file system table. diff --git a/docs/reference/bodyparts/edit_template_example.texinfo b/docs/reference/bodyparts/edit_template_example.texinfo deleted file mode 100644 index e4d3b86f26..0000000000 --- a/docs/reference/bodyparts/edit_template_example.texinfo +++ /dev/null @@ -1,56 +0,0 @@ - - -@verbatim -#This is a template file /templates/input.tmpl - -These lines apply to anyone - -[%CFEngine solaris.Monday:: %] -Everything after here applies only to solaris on Mondays -until overridden... - -[%CFEngine linux:: %] -Everything after here now applies now to linux only. - -[%CFEngine BEGIN %] -This is a block of text -That contains list variables: $(some.list) -With text before and after. -[%CFEngine END %] - -nameserver $(some.list) -@end verbatim - -For example: - -@verbatim -[%CFEngine any:: %] - - ServerAdmin $(stage_file.params[apache_mail_address][1]) - DocumentRoot /var/www/htdocs - ServerName $(stage_file.params[apache_server_name][1]) - AddHandler cgi-script cgi - ErrorLog /var/log/httpd/error.log - AddType application/x-x509-ca-cert .crt - AddType application/x-pkcs7-crl .crl - SSLEngine off - CustomLog /var/log/httpd/access.log - - -[%CFEngine webservers_prod:: %] -[%CFEngine BEGIN %] - - ServerAdmin $(stage_file.params[apache_mail_address][1]) - DocumentRoot /var/www/htdocs - ServerName $(stage_file.params[apache_server_name][1]) - AddHandler cgi-script cgi - ErrorLog /var/log/httpd/error.log - AddType application/x-x509-ca-cert .crt - AddType application/x-pkcs7-crl .crl - SSLEngine on - SSLCertificateFile $(stage_file.params[apache_ssl_crt][1]) - SSLCertificateKeyFile $(stage_file.params[apache_ssl_key][1]) - CustomLog /var/log/httpd/access.log - -[%CFEngine END %] -@end verbatim diff --git a/docs/reference/bodyparts/edit_template_notes.texinfo b/docs/reference/bodyparts/edit_template_notes.texinfo deleted file mode 100644 index efea0e704c..0000000000 --- a/docs/reference/bodyparts/edit_template_notes.texinfo +++ /dev/null @@ -1,26 +0,0 @@ - -@i{History}: Was introduced in 3.3.0, Nova 2.2.0 (2012) - -The template format uses inline tags to mark regions and classes. -Each line represents an @code{insert_lines} promise, unless the promises -are grouped into a block using: - -@verbatim -[%CFEngine BEGIN %] -... -[%CFEngine END %] -@end verbatim - -@noindent Variables, scalars and list variables are expanded within each -promise; so, if lines are grouped into a block, the whole block is repeated -when lists are expanded (see the Special Topics Guide on editing). - -If a class-context modified is used: - -@verbatim -[%CFEngine class-expression:: %] -@end verbatim -@noindent then the lines that follow are only inserted if the context -matches the agent's current context. This allows conditional insertion. - - diff --git a/docs/reference/bodyparts/editbinaryfilesize_example.texinfo b/docs/reference/bodyparts/editbinaryfilesize_example.texinfo deleted file mode 100644 index 68d894ebbd..0000000000 --- a/docs/reference/bodyparts/editbinaryfilesize_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - - -@verbatim - -body agent control -{ -edibinaryfilesize => "10M"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/editbinaryfilesize_notes.texinfo b/docs/reference/bodyparts/editbinaryfilesize_notes.texinfo deleted file mode 100644 index c521936064..0000000000 --- a/docs/reference/bodyparts/editbinaryfilesize_notes.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -The global setting for the file-editing safety-net for binary files (this -value may be overridden on a per-promise basis with @code{max_file_size}, -@xref{edit_defaults in files}. The default value for @code{editbinaryfilesize} -is @code{100k}. Note the use of special units is allowed, -@xref{Datatypes in CFEngine 3}, for a list of permissible suffixes. - -When setting limits, the limit on editing binary files should generally be -set higher than for text files. diff --git a/docs/reference/bodyparts/editfilesize_example.texinfo b/docs/reference/bodyparts/editfilesize_example.texinfo deleted file mode 100644 index e6b473f5d1..0000000000 --- a/docs/reference/bodyparts/editfilesize_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body agent control -{ -editfilesize => "120k"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/editfilesize_notes.texinfo b/docs/reference/bodyparts/editfilesize_notes.texinfo deleted file mode 100644 index e5e0591135..0000000000 --- a/docs/reference/bodyparts/editfilesize_notes.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -The global setting for the file-editing safety-net (this value may be -overridden on a per-promise basis with @code{max_file_size}, -@xref{edit_defaults in files}. Note the use of special units is -allowed, @xref{Datatypes in CFEngine 3}, for a list of permissible -suffixes. diff --git a/docs/reference/bodyparts/empty_file_before_editing_example.texinfo b/docs/reference/bodyparts/empty_file_before_editing_example.texinfo deleted file mode 100644 index a8f350753c..0000000000 --- a/docs/reference/bodyparts/empty_file_before_editing_example.texinfo +++ /dev/null @@ -1,9 +0,0 @@ - -@verbatim - -body edit_defaults example -{ -empty_file_before_editing => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/empty_file_before_editing_notes.texinfo b/docs/reference/bodyparts/empty_file_before_editing_notes.texinfo deleted file mode 100644 index 6ea31ca7d0..0000000000 --- a/docs/reference/bodyparts/empty_file_before_editing_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -Emptying a file before reconstructing its contents according to a -fixed recipe allows an ordered procedure to be convergent. - diff --git a/docs/reference/bodyparts/encrypt_example.texinfo b/docs/reference/bodyparts/encrypt_example.texinfo deleted file mode 100644 index 06b8c4dbf0..0000000000 --- a/docs/reference/bodyparts/encrypt_example.texinfo +++ /dev/null @@ -1,10 +0,0 @@ - -@verbatim - -body copy_from example -{ -servers => { "remote-host.example.org" }; -encrypt => "true"; -} - -@end verbatim diff --git a/docs/reference/bodyparts/encrypt_notes.texinfo b/docs/reference/bodyparts/encrypt_notes.texinfo deleted file mode 100644 index 753f43723c..0000000000 --- a/docs/reference/bodyparts/encrypt_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -Client connections are encrypted with using a Blowfish randomly -generated session key. The intial connection is encrypted using the -public/private keys for the client and server hosts. diff --git a/docs/reference/bodyparts/env_addresses_example.texinfo b/docs/reference/bodyparts/env_addresses_example.texinfo deleted file mode 100644 index 01dea3a51e..0000000000 --- a/docs/reference/bodyparts/env_addresses_example.texinfo +++ /dev/null @@ -1,18 +0,0 @@ - -@verbatim - -body environment_interface vnet(primary) -{ -env_name => "$(this.promiser)"; -env_addresses => { "$(primary)" }; - -host1:: - - env_network => "default_vnet1"; - -host2:: - - env_network => "default_vnet2"; - -} -@end verbatim diff --git a/docs/reference/bodyparts/env_addresses_notes.texinfo b/docs/reference/bodyparts/env_addresses_notes.texinfo deleted file mode 100644 index da1f6b7811..0000000000 --- a/docs/reference/bodyparts/env_addresses_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -The IP addresses of the virtual machine can be overridden here at run time. diff --git a/docs/reference/bodyparts/env_baseline_example.texinfo b/docs/reference/bodyparts/env_baseline_example.texinfo deleted file mode 100644 index ee7b25f879..0000000000 --- a/docs/reference/bodyparts/env_baseline_example.texinfo +++ /dev/null @@ -1,6 +0,0 @@ - -@verbatim - -env_baseline => "/path/to/image"; - -@end verbatim diff --git a/docs/reference/bodyparts/env_baseline_notes.texinfo b/docs/reference/bodyparts/env_baseline_notes.texinfo deleted file mode 100644 index 383030dc63..0000000000 --- a/docs/reference/bodyparts/env_baseline_notes.texinfo +++ /dev/null @@ -1,2 +0,0 @@ - -This function is for future development. diff --git a/docs/reference/bodyparts/env_cpus_example.texinfo b/docs/reference/bodyparts/env_cpus_example.texinfo deleted file mode 100644 index b0e69ed6a1..0000000000 --- a/docs/reference/bodyparts/env_cpus_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body environment_resources my_environment -{ -env_cpus => "2"; -env_memory => "512"; # in KB -env_disk => "1024"; # in MB -} - -@end verbatim diff --git a/docs/reference/bodyparts/env_cpus_notes.texinfo b/docs/reference/bodyparts/env_cpus_notes.texinfo deleted file mode 100644 index d808d093b8..0000000000 --- a/docs/reference/bodyparts/env_cpus_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -The maximum number of cores or processors in the physical environment will -set a natural limit on this value. - -This attribute conflicts with @code{env_spec}. diff --git a/docs/reference/bodyparts/env_disk_example.texinfo b/docs/reference/bodyparts/env_disk_example.texinfo deleted file mode 100644 index b0e69ed6a1..0000000000 --- a/docs/reference/bodyparts/env_disk_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body environment_resources my_environment -{ -env_cpus => "2"; -env_memory => "512"; # in KB -env_disk => "1024"; # in MB -} - -@end verbatim diff --git a/docs/reference/bodyparts/env_disk_notes.texinfo b/docs/reference/bodyparts/env_disk_notes.texinfo deleted file mode 100644 index 1374df7af2..0000000000 --- a/docs/reference/bodyparts/env_disk_notes.texinfo +++ /dev/null @@ -1,4 +0,0 @@ - -This parameter is currently unsupported, for future extension. - -This attribute conflicts with @code{env_spec}. diff --git a/docs/reference/bodyparts/env_memory_example.texinfo b/docs/reference/bodyparts/env_memory_example.texinfo deleted file mode 100644 index b0e69ed6a1..0000000000 --- a/docs/reference/bodyparts/env_memory_example.texinfo +++ /dev/null @@ -1,11 +0,0 @@ - -@verbatim - -body environment_resources my_environment -{ -env_cpus => "2"; -env_memory => "512"; # in KB -env_disk => "1024"; # in MB -} - -@end verbatim diff --git a/docs/reference/bodyparts/env_memory_notes.texinfo b/docs/reference/bodyparts/env_memory_notes.texinfo deleted file mode 100644 index d81c40bcfd..0000000000 --- a/docs/reference/bodyparts/env_memory_notes.texinfo +++ /dev/null @@ -1,5 +0,0 @@ - -The maximum amount of memory in the physical environment will set a -natural limit on this value. - -This attribute conflicts with @code{env_spec}. diff --git a/docs/reference/bodyparts/env_name_example.texinfo b/docs/reference/bodyparts/env_name_example.texinfo deleted file mode 100644 index 29b04c5783..0000000000 --- a/docs/reference/bodyparts/env_name_example.texinfo +++ /dev/null @@ -1,14 +0,0 @@ - -@verbatim -body environment_interface vnet(primary) -{ -env_name => "$(this.promiser)"; -env_addresses => { "$(primary)" }; - -host1:: - env_network => "default_vnet1"; - -host2:: - env_network => "default_vnet2"; -} -@end verbatim diff --git a/docs/reference/bodyparts/env_name_notes.texinfo b/docs/reference/bodyparts/env_name_notes.texinfo deleted file mode 100644 index db7565626f..0000000000 --- a/docs/reference/bodyparts/env_name_notes.texinfo +++ /dev/null @@ -1,3 +0,0 @@ - -The `hostname' of a virtual guest may or may not be the same as the identifier used -as `promiser' by the virtualization manager. diff --git a/docs/reference/bodyparts/env_network_example.texinfo b/docs/reference/bodyparts/env_network_example.texinfo deleted file mode 100644 index c31a408ed0..0000000000 --- a/docs/reference/bodyparts/env_network_example.texinfo +++ /dev/null @@ -1,16 +0,0 @@ - -@verbatim - -body environment_interface vnet(primary) - { - env_name => "$(this.promiser)"; - env_addresses => { "$(primary)" }; - - host1:: - env_network => "default_vnet1"; - - host2:: - env_network => "default_vnet2"; - } - -@end verbatim diff --git a/docs/reference/bodyparts/env_network_notes.texinfo b/docs/reference/bodyparts/env_network_notes.texinfo deleted file mode 100644 index 8b13789179..0000000000 --- a/docs/reference/bodyparts/env_network_notes.texinfo +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/reference/bodyparts/env_spec_example.texinfo b/docs/reference/bodyparts/env_spec_example.texinfo deleted file mode 100644 index 4d4f8edc65..0000000000 --- a/docs/reference/bodyparts/env_spec_example.texinfo +++ /dev/null @@ -1,35 +0,0 @@ - - -@verbatim -body environment_resources virt_xml(host) -{ -env_spec => - -" - $(host) - - linux - /var/lib/xen/install/vmlinuz-ubuntu10.4-x86_64 - /var/lib/xen/install/initrd-vmlinuz-ubuntu10.4-x86_64 - kickstart=http://example.com/myguest.ks - - 131072 - 1 - - - - - - - - -

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�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�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 Q=L;ANn}$YGNecV_16lMBIRF3v diff --git a/docs/guides/convergence.png b/docs/guides/convergence.png deleted file mode 100644 index 529e5d99f677ab68f95c6f858ce7688f48460f9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252868 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⩔}jwoZiMCN_1W1;L-6{A{&0ozhd(y{E&u@Qgw4_{ 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