catalog_server(1)

πŸ“¦
version 9.9 Β· 3 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

✨ catalog_server(1) ✨

okay bestie, welcome to the catalog_server page from the Cooperative Computing Tools manual, section 1 πŸ’– buckle up, this one's literally the matchmaker of your whole distributed cluster 🫢


🌸 NAME 🌸

catalog_server β€” start a catalog server ✨


πŸŽ€ SYNOPSIS πŸŽ€

catalog_server [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically, a catalog server is the naming and discovery girlie for a bunch of components in the Cooperative Computing Tools β€” especially the Chirp distributed filesystem and the Work Queue distributed programming framework πŸ‘‘

here's the vibe: services that want to be known on the network periodically publish their info to the catalog server via a short UDP packet πŸ“¨ and then clients that wanna discover services by name can query the catalog by sending an HTTP request to the catalog server and they get back a listing of all known services. it's giving directory service but make it iconic 🌈

want to see the complete contents of the catalog with your own eyeballs? direct your browser to http://catalog.cse.nd.edu:9097 πŸ‘€ the command line tools work_queue_status and chirp_status serve up that same data in a form that's most useful for Work Queue and Chirp respectively, no cap. and if you're a large site, you're encouraged (fr fr) to run your own catalog server and set the CATALOG_HOST and CATALOG_PORT environment variables so clients get pointed at your server πŸ’…

⚠️ important tea: the catalog server is a discovery service, NOT an authentication service. so services are free to advertise whatever names and properties they please 😭 however β€” and this is the slay part β€” the catalog updates each incoming record with the actual IP address and port from which it came, which prevents a malicious service from overwriting another service's record. protective king behavior, honestly πŸ›‘οΈ

πŸ’… OPTIONS πŸ’…

  • -b, --background β€” run as a daemon 🧚
  • -B, --pid-file=<file> β€” write the process identifier (PID) to file πŸ“
  • -d, --debug=<flag> β€” enable debugging for this subsystem πŸ›
  • -h, --help β€” show this help screen πŸ†˜
  • -H, --history=<directory> β€” store catalog history in this directory. this enables fast data recovery after a failure or restart, and it enables historical queries via deltadb_query πŸ”₯
  • -I, --interface=<addr> β€” listen only on this network interface 🎧
  • -l, --lifetime=<secs> β€” lifetime of data, in seconds (default is 1800) ⏳
  • -L, --update-log=<file> β€” log new updates to this file πŸ“‹
  • -m, --max-jobs=<n> β€” maximum number of child processes. (default is 50) πŸ‘Ά
  • -M, --server-size=<size> β€” maximum size of a server to be believed. (default is any) πŸ€”
  • -n, --name=<name> β€” set the preferred hostname of this server 🏷️
  • -o, --debug-file=<file> β€” write debugging output to this file. by default, debugging is sent to stderr (":stderr"). you may specify logs to be sent to stdout (":stdout") instead πŸ“€
  • -O, --debug-rotate-max=<bytes> β€” rotate debug file once it reaches this size (default 10M, 0 disables) πŸ”„
  • -p, --=<port> β€” port number to listen on (default is 9097) πŸšͺ
  • -S, --single β€” single process mode; do not fork on queries πŸ™…β™€οΈ
  • -T, --timeout=<time> β€” maximum time to allow a query process to run. (default is 60s) ⏰
  • -u, --update-host=<host> β€” send status updates to this host. (default is catalog.cse.nd.edu,backup-catalog.cse.nd.edu) πŸ“‘
  • -U, --update-interval=<time> β€” send status updates at this interval. (default is 5m) πŸ”
  • -v, --version β€” show version string πŸ†
  • -Z, --port-file=<file> β€” select port at random and write it to this file. (default is disabled) 🎲

🌈 ENVIRONMENT VARIABLES 🌈

  • CATALOG_HOST β€” hostname of catalog server (same as -u).
  • CATALOG_PORT β€” port number of catalog server to be contacted.
  • TCP_LOW_PORT β€” inclusive low port in range used with -Z.
  • TCP_HIGH_PORT β€” inclusive high port in range used with -Z.

πŸ’€ EXIT STATUS πŸ’€

on success, returns zero ✨ on failure, returns non-zero 😭 (iykyk)


the Cooperative Computing Tools are Copyright (C) 2005-2019 The University of Notre Dame 🏫 this software is distributed under the GNU General Public License. see the file COPYING for details πŸ“œ


🫢 SEE ALSO 🫢


and that's the whole page bestie πŸ’– this was CCTools 8.0.0 DEVELOPMENT era, and yeah the footer tag is exactly that same catalog_server(1) energy, so go forth and discover some services 🌟 periodt βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from