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).

Directory holding all the hostgroup files.

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.

This Makefile is used to check and install hostgroup files after having modified them.

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.

Shell script that is invoked by hostgroups/Makefile to check and install modified hostgroups.

Perl scripts that perform various checks on modified hostgroup files; invoked by bin/update.

Perl script that generates the DNS (bind) domain data file from the host database.

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

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.

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

Lists the permitted values for the arch= and os= capabilities.

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.

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.

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

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).

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

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.

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

The host database (text and .db versions).

The prolog (a comment) and the constant portion of the automatically generated netgroup NIS map source file.

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