CF-AGENT(8)

πŸ“¦
version 3.24.1 Β· 2 versions
, in debian trixie

πŸ’– CF-AGENT(8) πŸ’–

okay bestie, welcome to the System Manager's Manual page for cf-agent β€” she's the queen bee of the CFEngine crew and she's about to run your whole policy life. ✨


🌸 NAME 🌸

cf-agent β€” evaluate CFEngine policy code and actuate change to the system.

no cap, that's the whole job description. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

cf-agent [OPTION]...  [FILE]

πŸ‘‘ DESCRIPTION πŸ‘‘

So cf-agent evaluates policy code and makes changes to the system. That's her whole thing. πŸ’…

Policy bundles get evaluated in the order of the provided bundlesequence β€” and that bundlesequence is normally specified in the common control body, iykyk. Then, for each bundle, cf-agent groups promise statements according to their type. And then promise types are evaluated in a preset order, because the goal is fast system convergence to policy. iconic behavior honestly.


✨ OPTIONS ✨

  • --bootstrap, -B _value_ β€” bootstrap CFEngine to the given policy server IP, hostname, or :avahi (that's automatic detection, slay) πŸŽ€
  • --bundlesequence, -b _value_ β€” set or override the bundlesequence straight from the command line
  • --workdir, -w _value_ β€” override the default /var/cfengine work directory, for testing purposes (same as setting CFENGINE_TEST_OVERRIDE_WORKDIR)
  • --debug, -d β€” enable debugging output πŸ”₯
  • --define, -D _value_ β€” define a list of comma separated classes to be defined at the start of execution
  • --self-diagnostics, -x _value_ β€” run checks to diagnose a CFEngine agent installation 🩺
  • --dry-run, -n β€” all talk and no action mode, bestie: make no changes, only inform of promises not kept πŸ™ˆ
  • --file, -f _value_ β€” specify an alternative input file than the default. Heads up: this option is overridden by FILE if supplied as an argument.
  • --help, -h β€” print the help message
  • --inform, -I β€” print basic information about changes made to the system, i.e. promises repaired
  • --log-level, -g _value_ β€” specify how detailed logs should be. Possible values: 'error', 'warning', 'notice', 'info', 'verbose', 'debug'
  • --negate, -N _value_ β€” define a list of comma separated classes to be undefined at the start of execution
  • --no-lock, -K β€” ignore locking constraints during execution (ifelapsed/expireafter) if "too soon" to run
  • --verbose, -v β€” output verbose information about the behaviour of the agent
  • --version, -V β€” output the version of the software
  • --timing-output, -t β€” output timing information on console when in verbose mode
  • --trust-server, -T _value_ β€” possible values: 'yes' (default, trust the server when bootstrapping), 'no' (server key must already be trusted)
  • --color, -C _value_ β€” enable colorized output. Possible values: 'always', 'auto', 'never'. If the option is used, the default value is 'auto' 🌈
  • --no-extensions, -E β€” disable extension loading (used while upgrading)
  • --timestamp, -l β€” log timestamps on each line of log output
  • --ignore-preferred-augments, - β€” ignore def_preferred.json file in favor of def.json
  • --log-modules, - _value_ β€” enable even more detailed debug logging for specific areas of the implementation. Use together with '-d'. Use --log-modules=help for a list of available modules πŸ”
  • --no-augments, - β€” do not load augments (def.json)
  • --no-host-specific-data, - β€” do not load host-specific data (host_specific.json)
  • --show-evaluated-classes, - _value_ β€” show final evaluated classes, including those defined in common bundles in policy. Optionally can take a regular expression.
  • --show-evaluated-vars, - _value_ β€” show final evaluated variables, including those defined without dependency to user-defined classes in policy. Optionally can take a regular expression.
  • --skip-bootstrap-policy-run, - β€” do not run policy as the last step of the bootstrap process
  • --skip-bootstrap-service-start, - β€” do not start CFEngine services as part of the bootstrap process
  • --skip-db-check, - _value_ β€” do not run database integrity checks and repairs at startup
  • --simulate, - _value_ β€” run in simulate mode, either 'manifest', 'manifest-full' or 'diff'

🧚 CFENGINE 🧚

CFEngine provides automated configuration management of large-scale computer systems. A system administrator describes the desired state of a system using CFEngine policy code. The program cf-agent reads policy code and attempts to bring the current system state to the desired state described. Policy code is downloaded by cf-agent from a cf-serverd daemon. The daemon cf-execd is responsible for running cf-agent periodically.

Documentation for CFEngine is available at https://docs.cfengine.com/. πŸ“š


πŸ’œ PROMISE THEORY πŸ’œ

CFEngine is built on principles from promise theory, proposed by Mark Burgess in 2004. Promise theory is a model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. A promise is a declaration of intent whose purpose is to increase the recipient's certainty about a claim of past, present or future behaviour. For a promise to increase certainty, the recipient needs to trust the promiser, but trust can also be built on the verification that previous promises have been kept, thus trust plays a symbiotic relationship with promises. 🫢

For an introduction to promise theory, please see http://arxiv.org/abs/0810.3294/


⭐ AVAILABILITY ⭐

cf-agent is part of CFEngine.

Binary packages may be downloaded from https://cfengine.com/download/.

The source code is available at https://github.com/cfengine/


πŸ’€ BUGS πŸ’€

Please see the public bug-tracker at https://northerntech.atlassian.net/projects/CFE/.

GitHub pull-requests may be submitted to https://github.com/cfengine/core/.


πŸ”₯ SEE ALSO πŸ”₯

cf-promises(8), cf-agent(8), cf-serverd(8), cf-execd(8), cf-monitord(8), cf-runagent(8), cf-key(8)


πŸŽ€ AUTHOR πŸŽ€

Mark Burgess and Northern.tech AS


okay so that's literally the whole page, bestie. go forth and converge. πŸ’–

and that's the vibe check on this one β€” she's from the System Administration section of the CFEngine manual, CF-AGENT(8), and yes the manual itself is just called CFEngine. mwah. πŸ’…βœ¨

πŸ“¦ where this page comes from