########################################################################
# ALFRED DEFAULT SECRETS ###############################################
########################################################################
# The secrets.conf is intended as your

# SECTION: flask -------------------------------------------------------
# General settings for the flask server used to run alfred experiments
# ----------------------------------------------------------------------
[flask]
secret_key =        # Secret key for flask's session. If none is provided here, a random secret key will be generated automatically.

[general]
adminpass_lvl1 =    # password for admin mode level 1
adminpass_lvl2 =    # password for admin mode level 2
adminpass_lvl3 =    # password for admin mode level 3

# SECTION: encryption --------------------------------------------------
# Encryption settings
# ----------------------------------------------------------------------
[encryption]
key =       # Key used for symmetric encryption in alfred. Must be a valid fernet key. See documentation of alfred3.experiment.ExperimentSession.encrypt for more information on how to generate a key.

# SECTION: mongo_saving_agent ------------------------------------------
# Configuration of a saving agent that saves data to a MongoDB
# Authentication is conducted through the pymongo API.
# See https://pymongo.readthedocs.io/en/stable/
# for more information on pymongo.
# ----------------------------------------------------------------------
[mongo_saving_agent]
mock = false
use = false                     # If true, alfred will use this saving agent
name = mongo                    # Name of the saving agent
assure_initialization = true    # If true, alfred will abort in case initialization of this saving agent fails
level = 1                       # Activation level, works like a threshold. Only tasks with higher level than the level given here will be saved. Usually, there's no need to change this setting. Don't touch it, if you don't fully understand it.

user =                  # username for authentication on database
password =              # password for authentication
host =                  # host adress of database
port =                  # port on which to communicate with database
database = alfred       # name of the actual database
collection =            # name of the document collection to use in the database
misc_collection =       # name of the document collection to use for miscellaneous data alongside this saving agent.
                        # Miscellaneous data is mainly administrative, for example, data neede for
                        # efficient list randomization.
auth_source = alfred    # name of the authentication database
use_ssl = false         # If true, alfred will communicate with the database via ssl/tls. In this case, a CA file is needed
ca_file_path =          # A file containing a single or a bundle of “certification authority” certificates, which are used to validate certificates passed from the other end of the connection.


# SECTION: fallback_mongo_saving_agent ---------------------------------
# Configuration of a fallback mongo saving agent that takes effect, if
# the main mongo saving agent fails for any reason.
# ----------------------------------------------------------------------
[fallback_mongo_saving_agent]
mock = false
use = false                     # same as for [mongo_saving_agent]
name = mongo_fallback           # same as for [mongo_saving_agent]
assure_initialization = true    # same as for [mongo_saving_agent]
level = 99                      # same as for [mongo_saving_agent]

user =                          # same as for [mongo_saving_agent]
password =                      # same as for [mongo_saving_agent]
host =                          # same as for [mongo_saving_agent]
database =                      # same as for [mongo_saving_agent]
collection =                    # same as for [mongo_saving_agent]
use_ssl = false                 # same as for [mongo_saving_agent]
ca_file_path =                  # same as for [mongo_saving_agent]


# SECTION: mongo_saving_agent_unlinked ---------------------------------
# Configuration of a saving agent for saving unlinked data.
# This saving agent will be used by pages derived from UnlinkedDataPage.
#
# NOTE: You only need to enter information that differs from the
# main mongo saving agent, so it might be enough to set 'use = true' and
# 'collection = unlinked', if you use a different collection on the
# same database.
#
# You can define all options that are offered by mongo_saving_agent,
# but should not define options here without assigning a value. That
# would break the inheritance mechanism.
# ----------------------------------------------------------------------
[mongo_saving_agent_unlinked]
mock = false
encrypt = false                 # If true, values will be encrypted before they are written to the database. A valid encryption key must be defined for this option to work.
use = false                     # same as for [mongo_saving_agent]
name = mongo_unlinked           # same as for [mongo_saving_agent]
