forked from ungleich-public/cdist
[scanner] initial documentation
Note: still needs to patch main cdist(1) manpage
This commit is contained in:
parent
3a9dd5b166
commit
2232435c22
3 changed files with 100 additions and 32 deletions
99
docs/src/cdist-scan.rst
Normal file
99
docs/src/cdist-scan.rst
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
Scan
|
||||
=====
|
||||
|
||||
Description
|
||||
-----------
|
||||
Runs cdist as a daemon that discover/watch on hosts and reconfigure them
|
||||
periodically. It is especially useful in netboot-based environment where hosts
|
||||
boot unconfigured, and to ensure your infrastructure stays in sync with your
|
||||
configuration.
|
||||
|
||||
This feature is still consider to be in **beta** stage.
|
||||
|
||||
Usage (Examples)
|
||||
----------------
|
||||
|
||||
Discover hosts on local network and configure those whose name is resolved by
|
||||
the name mapper script.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ cdist scan --beta --interface eth0 \
|
||||
--mode scan --name-mapper path/to/script \
|
||||
--mode trigger --mode config
|
||||
|
||||
List known hosts and exit.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ cdist scan --beta --list --name-mapper path/to/script
|
||||
|
||||
Please refer to `cdist(1)` for a detailed list of parameters.
|
||||
|
||||
Modes
|
||||
-----
|
||||
|
||||
The scanner has 3 modes that can be independently toggled. If the `--mode`
|
||||
parameter is not specified, only `tigger` and `scan` are enabled (= hosts are
|
||||
not configured).
|
||||
|
||||
trigger
|
||||
Send ICMPv6 requests to specific hosts or broadcast over IPv6 link-local to
|
||||
trigger detection by the `scan` module.
|
||||
|
||||
scan
|
||||
Watch for incoming ICMPv6 replies and optionally configure detected hosts.
|
||||
|
||||
config
|
||||
Enable configuration of hosts detected by `scan`.
|
||||
|
||||
Name Mapper Script
|
||||
------------------
|
||||
|
||||
The name mapper script takes an IPv6 address as first argument and writes the
|
||||
resolved name to stdout - if any. The script must be executable.
|
||||
|
||||
Simplest script:
|
||||
|
||||
.. code-block:: sh
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
"fe80::20d:b9ff:fe57:3524")
|
||||
printf "my-host-01"
|
||||
;;
|
||||
"fe80::7603:bdff:fe05:89bb")
|
||||
printf "my-host-02"
|
||||
;;
|
||||
esac
|
||||
|
||||
Resolving name from `PTR` DNS record:
|
||||
|
||||
.. code-block:: sh
|
||||
#!/bin/sh
|
||||
|
||||
for cmd in dig sed; do
|
||||
if ! command -v $cmd > /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
dig +short -x "$1" | sed -e 's/.$//'
|
||||
|
||||
|
||||
Trigger Source Script
|
||||
---------------------
|
||||
|
||||
This script returns a list of addresses (separated by a newline) to be used by
|
||||
`trigger` mode. It is not used to map names. The script must be executable.
|
||||
|
||||
Simplest script:
|
||||
|
||||
.. code-block:: sh
|
||||
#!/bin/sh
|
||||
|
||||
cat << EOF
|
||||
server1.domain.tld
|
||||
server2.domain.tld
|
||||
server3.domain.tld
|
||||
EOF
|
||||
|
|
@ -34,6 +34,7 @@ It natively supports IPv6 since the first release.
|
|||
cdist-parallelization
|
||||
cdist-inventory
|
||||
cdist-preos
|
||||
cdist-scan
|
||||
cdist-integration
|
||||
cdist-reference
|
||||
cdist-best-practice
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue