DACS.VFS(5) | DACS Formats and Conventions | DACS.VFS(5) |
dacs.vfs — the DACS virtual filestore
These files are part of the DACS suite.
The virtual filestore provides flexible ways for DACS and software built on top of DACS to obtain information regardless of how or where the information is stored. The DACS core accesses (almost) all configuration information through the virtual filestore layer, allowing information to be more easily shared and maintained, secured, or organized for better performance.
Sometimes it is easiest to store information in a regular file initially, where it can be modified using an ordinary text editor, but after some growth a database might improve performance. In some situations, accessing the information remotely, via HTTP, makes administration more convenient or is more secure. A goal of the virtual filestore is to make data storage alternatives easier to specify and change.
vfs_uri
and Item TypesMany DACS components need to access data
to perform their function.
The documentation for a component will specify a reserved, case-sensitive
name called an item type for each data set
that it may use.
For example,
dacspasswd(1) identifies
the account information that it manages by the name passwds
.
Item types start with an alphabetic character followed by zero
or more alphanumerics, hyphens, and underscores.
Item types used by DACS are always completely lower case.
Some other item types used by DACS are
federation_keys
and jurisdiction_keys
(used by dacskey(1) and others),
and revocations
(used by dacs.acls(5) and others).
The dacsconf(1) command can list
all reserved item types.
The
VFS directive is used to
specify the mapping from an item type to a
vfs_uri
,
which describes where and how the information is stored.
Some commands and functions take a vfs_uri
as an argument
to provide a default or override a default.
A vfs_uri
has the following syntax:
vfs_uri -> [ '['item_type
']' ]URI
The general form of the URI syntax is (see RFC 2396 and RFC 3986):
scheme
: [ //authority
] [path
] [query
] [fragment
]
The distribution's
conf/site.conf-std
file
(by default installed as
/usr/local/dacs/federations/site.conf
;
see dacs.install(7))
specifies defaults for many item types.
For example, it defines the "roles file"
(item type roles
;
see dacs_authenticate(8))
as:
VFS "[roles]dacs-kwv-fs:${Conf::FEDERATIONS_ROOT}/${Conf::FEDERATION_DOMAIN}/${Conf::JURISDICTION_NAME}/roles"
For the hypothetical federation domain example.com
and
jurisdiction J1
,
by default this would resolve to a file,
/usr/local/dacs/federations/example.com/J1/roles
.
That file might consist of entries like:
julia:project1/dacs,admin,horses sara:project2/dacs,project1/dacs,lps sam:project2/dacs,project1/dacs admin:root,project2/admin
The default location of the DACS XML DTDs
(item type dtds
) is defined as:
VFS "[dtds]dacs-fs:${Conf::DACS_HOME}/www/dtd-xsd"
By default, this would resolve to the directory /usr/local/dacs/www/dtd-xsd.
Refer to the VFS directive for additional detail.
Each virtual filestore instance contains either an uninterpreted sequence of bytes (e.g., a Unix file or the output of a program) or an object that contains zero or more items, each of which is associated with a key (i.e., the name of an item relative in its virtual filestore context) and has an uninterpreted sequence of bytes as its value (e.g., a database file, a Unix file containing lines having a particular keyword/value structure, or a directory containing regular files).
For maximum portability, a key should be composed of characters from the Portable Filename Character Set: any alphanumeric character, period, hyphen, or underscore. The true limitation on the character set depends on the underlying storage scheme and URI syntax constraints. There is no a priori limit on naming context or key length.
Copyright © 2003-2018 Distributed Systems Software.
See the
LICENSE
file that accompanies the distribution
for licensing information.
DACS Version 1.4.52 | 24-Sep-2024 | DACS.VFS(5) |
Table of Contents |
Font:
|
−− | Set | ++ |
$Id: dacs.vfs.5.xml 3016 2018-08-17 18:12:46Z brachman $