.. _userdb_yaml_config: UserDBConfig YAML Configuration =============================== One of the formats the :ref:`userdb_config` accepts is YAML. This page describes the YAML config file, including detailing each of the options and how to adjust the values to get different configuration results. Overview -------- This file specifies the different groups, or domains, of like entities. There are domains of users, of web URIs, of social media sites, etc. The UserDBConfig tool specificies population-wide relationships between the entities in each type of domain. The file can be specified in different ways. The :ref:`Legacy ` and in YAML_ Main Config ----------- This is the file that is passed to ``GenerateTables.pl`` and controls all of the parameters and relationships ``GenerateTables.pl`` is to produce. .. table:: Main YAML Config Options +-----------------------+---------------------------------------------------+ | Key | Description | +=======================+===================================================+ | REQUIRED_MODULES | An int, the first this many modules are ones that | | | each user is required to have in their list. | +-----------------------+---------------------------------------------------+ | MODULES | This is a list of the module names, which must | | | match the name of perl script in the same | | | directory as the ``GenerateTables.pl`` script. | +-----------------------+---------------------------------------------------+ | UDOMAINS | This is a list of user domains. Each of these | | | points to a CSV of users who comprise this group | +-----------------------+---------------------------------------------------+ | SDOMAIN | For some ConsoleUser apps this is where files | | | will be saved. | +-----------------------+---------------------------------------------------+ | MDIST | An :ref:`dist_matrix` representing email and other| | | communication method relationships between user | | | domains | +-----------------------+---------------------------------------------------+ | NODE_PARAM | A parameter that shapes the distributions used in | | | many random selections. See :ref:`node_param` | +-----------------------+---------------------------------------------------+ | WDOMAINS | This is a list of web domains. Each element of | | | list is the base name for a set of files that | | | list the values a user could choose to interact | | | with the web (or other service) when trying to | | | generate this type of traffic to this logical | | | grouping of servers. HTTP/HTTPS will use the name| | | as given in the list, other services will append | | | an extension signifying their activity type. For | | | example, FTP will add ``.ftp`` to the name and | | | expect that file to list available FTP servers. | +-----------------------+---------------------------------------------------+ | WEB_PARAM | A parameter that shapes the distributions used in | | | many random selections. | +-----------------------+---------------------------------------------------+ | ZIPF | A parameter that affects the popularity | | | distribution sites within a domain. | +-----------------------+---------------------------------------------------+ | WDIST | An :ref:`dist_matrix` representing relationships | | | between users and the services available in a | | | "web" domain | +-----------------------+---------------------------------------------------+ | BLOG_DIST | An :ref:`dist_matrix` representing relationships | | | between users and the blog sites available in a | | | "web" domain | +-----------------------+---------------------------------------------------+ | FORUM_DIST | An :ref:`dist_matrix` representing relationships | | | between users and the forum sites available in a | | | "web" domain | +-----------------------+---------------------------------------------------+ | FileSharingDOMAINS | This is a list of File Sharing domains, where each| | | list element is the name of a file that lists File| | | Sharing base URIs one per line. | +-----------------------+---------------------------------------------------+ | FileSharingDIST | An :ref:`dist_matrix` representing relationships | | | between users and the file sharing sites available| | | in a file sharing domain | +-----------------------+---------------------------------------------------+ | BABBLE | The default :ref:`babble_file` for ConsoleUsers | +-----------------------+---------------------------------------------------+ | TORRENT_PARAM | Paramater that shapes the distribution of remote | | | files a user can choose to download. | +-----------------------+---------------------------------------------------+ | TO_TORRENT_PARAM | Paramater that shapes the distribution of local | | | files a user can choose to share. | +-----------------------+---------------------------------------------------+ | TORRENT_ZIPF | A parameter that affects the popularity | | | distribution files one may download. | +-----------------------+---------------------------------------------------+ | TO_TORRENT_ZIPF | A parameter that affects the popularity | | | distribution files one may share. | +-----------------------+---------------------------------------------------+ | TRACKER_PARAM | Paramater that shapes the distribution of trackers| | | a user can use while sharing. | +-----------------------+---------------------------------------------------+ | TRACKER_ZIPF | A parameter that affects the popularity | | | distribution trackers users will chose from. | +-----------------------+---------------------------------------------------+ | TORRENT_LIST | A file listing remote files that users can | | | attempt to download. | +-----------------------+---------------------------------------------------+ | TO_TORRENT_LIST | A file listing local files that users can attempt | | | to share. | +-----------------------+---------------------------------------------------+ | TRACKER_LIST | A file listing trackers that users can attempt to | | | use. | +-----------------------+---------------------------------------------------+ | TRANSMISSION_MIN_SEED | The minimum number of transmission users who will | | | seed each file from the TORRENT_LIST | +-----------------------+---------------------------------------------------+ | TRANSMISSION_MAX_SEED | The maximum number of transmission users who will | | | seed each file from the TORRENT_LIST | +-----------------------+---------------------------------------------------+ .. _`YAML`: https://yaml.org/