registry man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

REGISTRY(4)							   REGISTRY(4)

NAME
       registry, regquery - registration of services dynamically

SYNOPSIS
       ndb/registry [ -f dbfile ]

       ndb/regquery [ -m mntpt ] [ -n ] [ attr value ] ...

DESCRIPTION
       Registry	 is  a	file server that provides registration and location of
       services by their attributes where services come and go.	 It was origi‐
       nally intended to register Grid resources but has much wider use.  Reg‐
       istry serves 9P on its standard input.  That  can  be  mounted  in  the
       local  name  space (see below for an example), or served over a connec‐
       tion (eg, via  listen(1)).   The	 conventional  local  mount  point  is
       /mnt/registry,  which  is where registries(2) expects to find the local
       registry by default.  There can, however, be any number	of  registries
       active,	each  supporting  a  different group of users and services, in
       different authentication domains.

       Registry serves a one-level directory containing a  few	control	 files
       and one file per registered service.  All the files are text files with
       similar format: zero or more lines of one or more words,	 separated  by
       white  space (blank or tab).  A word can be quoted, using single quotes
       in the style of sh(1), allowing it to contain white space or  represent
       the empty string ''.  Within a quoted word, a single quote character is
       represented by two adjacent ones.   (In	programs,  use	String->quoted
       from  string(2), or more simply the %q string format of sys-print(2) to
       quote strings appropriately.)

       The control files are:

       new    A text file that is opened and written to register  a  new  ser‐
	      vice.  Opening new returns a file descriptor to a new but anony‐
	      mous service file.  It must be written to set its name and  ini‐
	      tial description.	 The first write contains one or more words:

		     svcname [ attr value ]..."

	      The  first  word,	 svcname,  is  the proposed service name.  The
	      write returns an error if the name duplicates any existing name.
	      Otherwise, a new file svcname will appear in the directory.  The
	      optional attribute value pairs form the initial service descrip‐
	      tion.   The service is removed from the register by default when
	      the file is closed.  To advertise a service  without  having  to
	      hold  open a file descriptor, include an attr named persist with
	      non-zero value; the service will then  remain  registered	 until
	      explicitly removed (see below).

       index  A	 read-only  text  file containing a list of all the currently-
	      registered  services,  one  per  line.   Each  line  contains  a
	      sequence	of  words.  The first word is the service name and the
	      remaining ones are paired: attribute name then value.

       find   A text file which should be  opened  for	reading	 and  writing.
	      Each  write provides a set of attribute/value pairs that acts as
	      a filter, selecting only those services  that  possess  all  the
	      given  attributes	 with  the given values; the value "*" matches
	      any value.  Subsequent reads return a list of services,  in  the
	      same  format  as	index, but listing only the selected services.
	      The selection is made from those available at the	 time  of  the
	      write.   There  is  a  separate filter for each open instance of
	      find, so that several processes can set different filters simul‐
	      taneously.   (Note that after the write, the file offset must be
	      set to zero using sys-seek(2) before reading.)

       event  A read-only text file that can be used to	 detect	 when  changes
	      are made to the registry.	 Reading from it blocks until a change
	      is made. At that point, the read completes and returns a	string
	      with  a  newline	terminated decimal version number representing
	      the number of  changes  made  to	the  registry,	which  matches
	      Qid.vers	for the registry directory.  Multiple changes are coa‐
	      lesced into one report.

       A service file created by new may be read by anyone, but may be written
       only  by	 its  owner.  Each write must contain a set of attribute/value
       pairs, formatted as above, which adds new  attributes  to  the  service
       description  and	 changes  the  value of existing attributes.  The file
       remains until the service is struck off the register.  The owner	 of  a
       service	can remove its registration at any time by removing the corre‐
       sponding service file (eg, using rm(1) or sys-remove(2)).

       Typically, most services register themselves dynamically, perhaps using
       their  locations	 (eg,  network address) as their service names.	 (Reg‐
       istry itself does not interpret the name.)  The -f option  causes  reg‐
       istry  to  load	initially  a  set  of static service descriptions from
       dbfile, which is in attrdb(6) format.  The database entry for each ser‐
       vice  contains  the  pair  service=svcname, causing registry to make an
       entry for the given svcname with attribute/value pairs initialised from
       the rest of that database entry.	 For example:

	      service=net!click!1234
		   description='snapshot service' auth=none

       Static entries are regarded as persistent but can be removed explicitly
       by the registry owner.

       Regquery looks for services in the registry mounted at mntpt  (default:
       /mnt/registry)  that  match  all	 the  given attribute/value pairs.  It
       prints the resulting list of services, one per line.  If the -n	option
       is given, regquery prints only the service name(s); otherwise it prints
       the service description as well.	 If no attributes  are	given  on  the
       command	line,  regquery	 prompts for successive queries, one per line,
       and prints each result.

EXAMPLE
       Start a registry that appears at the standard location for  local  reg‐
       istries, /mnt/registry:

	      mount {ndb/registry} /mnt/registry

       Make  that  registry  available to the network on authenticated connec‐
       tions:

	      listen -v 'tcp!*!registry' {export /mnt/registry&}

SOURCE
       /appl/cmd/ndb/registry.b

SEE ALSO
       attrdb(2), registries(2)

BUGS
       It is not currently possible to have two values with the same attribute
       name in the same service description.

								   REGISTRY(4)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net