all hosts which are members of this group.
The configuration of all managed hosts is stored in a directory on the local
-host. Safcm uses https://yaml.org/[YAML] for all configuration files. However,
-tasks like copying a file require no explicit configuration (see the
-documentation for details).
+host. Safcm uses https://yaml.org/[YAML] for all configuration files for its
+natural syntax. Strict type checks prevent potential pitfalls of more complex
+YAML syntax. Tasks like copying a file require no explicit configuration.
Files consist of a tree of files (regular files and symbolic links) and
directories with permissions, user/group and content. Files can use
To sync the configuration to a remote host the local `safcm` binary connects
to it via `ssh`. It then copies a _remote helper_ binary to `/tmp` on the
remote host to later perform the actual sync. If the remote helper is already
-present, has the proper checksum, permissions and user then the copy is
+present, has the proper checksum, permissions and user/group then the copy is
skipped. `safcm` then queries the remote host for information, including
operating system, architecture and detected groups. With all relevant data
collected it assigns the host its groups, evaluates the configuration
** GNU/Linux with common commands (`uname`, `id`, `stat`, `sha512sum`,
`cat`, `mktemp`, `rm`, `ln`, `chmod`)
** FreeBSD (same commands, but uses `sha512`)
+ ** OpenBSD (same commands, but uses `sha512`)
* SSH server
* to install packages:
** `apt-get` (Debian or derivative)