Hostcap roadmap

Here is a list of all the Perl and shell (mostly bash) scripts, Makefiles, configuration files, and directories that make up the hostcap package. While you may look at the contents of most of the files, the individual hostgroup files are not listed here, because we don't want to export all information about all our hosts to the whole world, and the exact list of hostgroups changes frequently.

Some of the comments in some of the files may be in German to make sure they are understood by all of our computer facility staff.

The source code for the hostcap command will be available soon (you can get a copy if you ask me by e-mail, but I don't have a full-fledged, polished distribution ready yet).

/home/config/hostgroups/
Directory holding all the hostgroup files.

/home/config/hostgroups/INDEX
Text file holding the list of hostgroup files, one per line. The reason this is required is that there may be other files in this directory, such as a template for new hostgroups.

/home/config/hostgroups/Makefile
This Makefile is used to check and install hostgroup files after having modified them.

/home/config/bin/hostgroups/hostcap
Not really a hostgroup file. This file defines pseudo-records specifying things like the list of capabilities, and it includes all the real hostgroup files using the M4 include directive.

/home/config/bin/update
Shell script that is invoked by hostgroups/Makefile to check and install modified hostgroups.

/home/config/bin/ckaddrs
/home/config/bin/ckcaps
/home/config/bin/cknames
/home/config/bin/ckorg
Perl scripts that perform various checks on modified hostgroup files; invoked by bin/update.

/home/config/bin/gendns
Perl script that generates the DNS (bind) domain data file from the host database.

/home/config/bin/genhosts
Bash scripts that generates the source file for the hosts NIS map from the host database (standard ``/etc/hosts'' format).

/home/config/bin/gennetgroup
Perl script that generates a NIS netgroup from the host database; the output can be used as part of the source file for the netgroup NIS map. The script is called with a netgroup name and one or more arguments passed to the hostcap command (typically relational expressions that specify the subset of hosts to be included in the netgroup). Care is taken to avoid the artificial size limit built in the Solaris netgroup implementation.

/home/config/bin/freeaddrs
Perl script that lists the free IP-addresses in a given subnet, using the host database as input.

/home/config/etc/arch.allowed
/home/config/etc/os.allowed
Lists the permitted values for the arch= and os= capabilities.

/home/config/etc/net.allowed
This file lists the range of permitted IP addresses for each hostgroup. It is indexed with the name of a hostgroup file. Each address range is specified as a comma-list of full IP addresses, and/or subnet IDs, and/or ranges of subnet IDs.

/home/config/etc/zone-data.informatik
Perl file that defines various constants used by gendns when called with the argument informatik (primary nameserver, SOA parameters, mail exchangers, etc.). There may exist several such files with different suffixes.

/home/config/bin/hostconfig.cron
This shell script is called as a cron-job on the central nameserver machine (roughly every 10 minutes).

/home/config/bin/makefile.cron
This GNU gmake makefile is invoked by hostconfig.cron, and its output is mailed to hostmaster (a local alias for the staff responsible for the host database).

/home/config/bin/newdb
Shell script to create a new host database when one or more hostgroups have been modified. This script is called by makefile.cron.

/home/nic/install/
This directory (which resides on the nameserver machine) holds all the installed hostgroup files. It is scanned by makefile.cron periodically to check if any hostgroup files have been modified.

/home/nic/install/LOCK/
Lock directory used by update and newdb to take care of multiple instances of these scripts running at the same time.

/home/nic/hostcap
/home/nic/hostcap.db
The host database (text and .db versions).

/home/nic/etc/netgroup.prolog
/home/nic/etc/netgroup.fixed
The prolog (a comment) and the constant portion of the automatically generated netgroup NIS map source file.

/home/nic/etc/extra.netgroup
If such a file exists for a given netgroup, its contents are prepended to the netgroup (line by line) when the netgroup is created by calling the gennetgroup command. This is useful for including (external) hostnames that are not present in the host database.

Top: hostcap overview  Prev: Life with hostcap