Top-level Configuration Keys¶
Herein are described the top-level keys in the run control file.
builddir
¶
The temporary location to build whatever it is needs building.
'path/to/dir' or None # string, optional
mongodbpath
¶
The value to pass into the --dbpath
option to mongod
. Defaults to '${builddir}/_dbpath'
if unspecified.
databases
¶
This represents the public or private databases that are used to store unstructured data about the group and its activities.
[{ # list of dictionaries in order of precedence
'name': 'x', # string identifier for databases name
'url': 'http://...', # location of database
'path': 'path/to/database', # inside of the resource location
'public': True | False, # whether the database is fully public or may contain
# sensitive information.
'local': True | False # Whether or not git, hg, or mongo are locally hosted/updated or full remote
},
...
]
stores
¶
This is used to represent connection information to document stores, think PDFs, images, etc.
[{ # list of dictionaries in order of precedence
'name': 'x', # string identifier for store name
'url': 'http://...', # location of the store
'path': 'path/to/store' or None, # inside of the resource location, optional
'public': True | False, # whether the store is fully public or may contain
# sensitive information.
},
...
]
groupname
¶
This is a string of the research group name.
cname
¶
This is a string of the CNAME value. This will be put into a file called CNAME in the root HTML build dir, if it is present.
deploy
¶
This is a list of deployment targets to send information to from the build directories.
[{ # list of dictionaries in order of precedence
'name': 'x', # string identifier for store name
'url': 'http://...', # location of the store
'src': 'path/to/src/in/builddir', # what are we copying, eg 'html'(optional, the default)
'dst': 'path/to/dest/in/deploydir/x' or None, # inside of the resource location, optional
},
...
]
deploydir
¶
The temporary location to for all deployment directories. If not present, this
will default to a deploy
dir inside of the builddir
'path/to/dir' or None # string, optional
Keys Usually Set by CLI¶
The following keys are normally set by the command line interface. However, you can set them in the run control file should you choose to.
cmd
¶
The command to run.
'rc' | 'add' | ... # str
client
¶
The MongoDB client to use. This is almost always set by regolith internally.
db
¶
The database to use. This should coorespond to the name field of one of the databases
entries.
coll
¶
The collection name inside of a database to use.
documents
¶
List of documents to add, update, etc. Should be in JSON / mongodb format.
public_only
¶
Boolean for whether to select only public databases.
filename
¶
Sting that is a path to a file to operate on.
debug
¶
Boolean for whether to run in debug mode or not.
blacklist
¶
List of files to not load when loading databases. If not provided, blacklists
['.travis.yml', '.travis.yaml']
schemas
¶
Dict of dicts which overrides the schema for a key in a collection.
For example:
schema = {'people': {'name': {'anyof_type': ['string', 'number']}}}
would allow the names of people to also be numbers.
See the collections for a complete list of the schemas.
static_source
¶
File path to the static source for regolith build html
. If none provided it defaults to “templates”
This is useful for local website builds where the regolithrc.json
may be in another folder.
User Configuration¶
Users can also provide information available to all databases via a local user
configuration file.
The file must be stored in '~/.config/regolith/user.json
and can have
keys similar to regolithrc.json
.
Note that these keys are applied before the regolithrc.json
so if there
are conflicting keys the user keys are overridden.
These keys could be used for storing information for emailing, git remotes,
and other configuration.