2. Configuration¶
- AD_BASE_DN¶
Type:
str()Default:
override_meA base DN of the form ‘dc=mgrid,dc=net’ that is used as the root for all queries.
- AD_ENABLED¶
Type:
bool()Default:
FalseEnable or disable Active Directory integration.
- AD_PASSWORD¶
Type:
password()Default:
override_meAD administrator password.
- AD_URL¶
Type:
str()Default:
ldap://ad.example.com:389An url of the form ‘ldap://ad:389’ that describes the location of the Active Directory. Note that in the query active directory mannerisms are used, so a normal ldap will not suffice.
- AD_USER_DOMAIN¶
Type:
str()Default:
override_meA user domain that is added to all user names when they authenticate without a backslash or at sign in the username. Typical example MGRID\
- AD_USER¶
Type:
str()Default:
override_meAD administrator account. This account is used to retrieve user information after login, when the user password is no longer in context and available.
- API_URL¶
Type:
url()Default:
https://example.com/api/v1The URL for the API, e.g.
https://querybuilder.example.com/api/v1.
- APP_DB_HOST¶
Type:
str()Default:
override_meThe hostname of the application model database, e.g.
postgres.
- APP_DB_NAME¶
Type:
str()Default:
override_meThe name of the application model database, e.g.
querybuilder.
- APP_DB_PASSWORD¶
Type:
password()Default:
override_meThe password for the application model database, e.g.
secret.
- APP_DB_PORT¶
Type:
int()Default:
5432The port number of the application model database, e.g.
5432.
- APP_DB_USER¶
Type:
str()Default:
override_meThe username for the application model database, e.g.
querybuilder.
- AUDIT_APPLICATION_CODE¶
Type:
str()Default:
querybuilderName of the application to send to the central FluentD server.
- AUDIT_APPLICATION_INSTANCE¶
Type:
str()Default:
defaultInstance name of the application to send to the central FluentD server.
- AUDIT_APPLICATION_IP¶
Type:
ip()Default:
127.0.0.1IP address of the application instance to send to the central FluentD server.
- AUDIT_ENABLED¶
Type:
bool()Default:
FalseEnable or disable audit logging to a central FluentD server.
- AUDIT_LABEL¶
Type:
str()Default:
logLabel used for all logs sent to the central FluentD server.
- AUDIT_PORT¶
Type:
int()Default:
24224Port number of the central FluentD server.
- AUDIT_SERVER¶
Type:
str()Default:
override_meHostname of the central FluentD server.
- AUDIT_TAG¶
Type:
str()Default:
auditTag used for all logs sent to the central FluentD server.
- AUTH_METHOD¶
Type:
enum('local', 'ad', 'azure')Default:
adAuthentication method for users.
- AZURE_BLOB_ENABLED¶
Type:
bool()Default:
FalseEnable or disable the use of Azure Blob Storage export targets.
- AZURE_CLIENT_ID¶
Type:
str()Default:
override_meIdentifier for the Azure client.
- AZURE_CLIENT_SECRET¶
Type:
password()Default:
override_meSecret for the Azure client.
- AZURE_GRAPH_API_URL¶
Type:
url()Default:
https://graph.microsoft.comThe url of the Graph API.
- AZURE_GRAPH_AUTH_URL¶
Type:
url()Default:
https://login.microsoftonline.com/example.onmicrosoft.comThe url where QueryBuilder asks for an access_token to be able to fetch data from the Graph API.
- AZURE_GRAPH_QUERY_URL¶
Type:
url()Default:
https://graph.microsoft.com/v1.0/myorganization/users/{user_id}/memberOf?$select=displayNameThe url for asking group membership of a specific user. Ensure there is a {user_id} part which will be substituted with the actual user id.
- AZURE_KEYS_URL¶
Type:
url()Default:
https://example.b2clogin.com/example.onmicrosoft.com/discovery/v2.0/keys?p=B2C_1_signuploginThe url for fetching the public key the id_token is signed with. This value only needs to be set when AZURE_VERIFY_ID_TOKEN is true.
- AZURE_LOGOUT_URI¶
Type:
url()Default:
https://example.b2clogin.com/example.onmicrosoft.com/B2C_1_signuplogin/oauth2/v2.0/logoutThe uri where the user is redirected to when logout is clicked.
- AZURE_REDIRECT_URI¶
Type:
url()Default:
https://querybuilder.mgrid.dev:8443/authThe uri where the user is redirected to when the login was successful.
- AZURE_USER_AUTH_URL¶
Type:
url()Default:
https://example.b2clogin.com/example.onmicrosoft.com/B2C_1_signuplogin/oauth2/v2.0/authorizeThe url for user authentication. This is where the user will be redirected to for logging in.
- AZURE_VERIFY_ID_TOKEN¶
Type:
bool()Default:
TrueWhether to verify the id_token received from the Azure login page.
- BASE_URL¶
Type:
url()Default:
https://example.comThe base URL of the application.
- BUTTON_APPROVAL¶
Type:
str()Default:
Request ApprovalText for the request approval button.
- BUTTON_EXPORT¶
Type:
str()Default:
Perform TransferTest for the perform transfer button.
- BUTTON_SCHEDULE¶
Type:
str()Default:
Schedule TransferText for the schedule transfer button.
- CONTACT_EMAIL¶
Type:
email()Default:
info@example.comSupport email address for e.g. users having trouble logging in.
- DAS_DEBUG¶
Type:
bool()Default:
FalseEnable or disable debugging calls to the DAS.
- DAS_ENABLED¶
Type:
bool()Default:
TrueEnable or disable DAS support.
- DAS_PASSWORD¶
Type:
password()Default:
override_mePassword for calls to the DAS.
- DAS_SSL_VERIFY¶
Type:
bool()Default:
TrueEnable or disable SSL verification of calls to the DAS.
- DAS_TIMEOUT¶
Type:
int()Default:
10Timeout in seconds of calls to the DAS.
- DAS_URL¶
Type:
url()Default:
https://das.example.com/api/v1URL of the DAS server.
- DDS_DEBUG¶
Type:
bool()Default:
FalseEnable or disable debugging DDS calls.
- DDS_ENABLED¶
Type:
bool()Default:
TrueEnable or disable integration with the DDS.
- DDS_PASSWORD¶
Type:
password()Default:
override_mePassword for calls to the DDS.
- DDS_SSL_VERIFY¶
Type:
bool()Default:
TrueEnable or disable SSL verification of calls to the DDS.
- DDS_TIMEOUT¶
Type:
int()Default:
10Timeout in seconds of calls to the DDS.
- DDS_URL¶
Type:
url()Default:
https://dds.example.com/api/v1URL of the DDS server.
- DUO_APIHOSTNAME¶
Type:
domain()Default:
api-00000000.duosecurity.comHostname of the DUO server to interact with, e.g.
api-ffffffff.duosecurity.com.
- DUO_ENABLED¶
Type:
bool()Default:
FalseEnable or disable DUO 2 factor authentication.
- DUO_IKEY¶
Type:
password()Default:
override_meOne of the keys needed to interact with the DUO servers.
- DUO_SKEY¶
Type:
password()Default:
override_meOne of the keys needed to interact with the DUO servers.
- EXEC_RECIPE_MODULE¶
Type:
path()Default:
app.recipes.override_mePath to a recipe file, e.g. app.recipes.example. In this example there should be a file named example.py in the app/recipes directory.
- GLOBAL_OWNER_EMAIL¶
Type:
email()Default:
datasteward@example.comEmail address of a datasteward who is authorized to approve for all projects. If this setting is not used, individual projects must be provisioned with an owner email address.
- HOST¶
Type:
ip()Default:
0.0.0.0IP address the server binds to.
- IMG_LOGO¶
Type:
any(path(), url())Default:
/static/images/mgrid_logo.svgLocation of the logo image for the UI. May be a relative path, e.g.
/static/images/mgrid_logo.svgif the logo is present in the QueryBuilder Docker image, or an absolute URL, e.g.https://querybuilder.example.com/logo.png. In the case of an absolute URL, make sure that the CORS settings of the nginx proxy in the Docker image allow this URL.
- IMG_LOGO_LARGE¶
Type:
any(path(), url())Default:
/static/images/mgrid_logo.svgLocation of the large logo image for the UI. May be a relative path, e.g.
/static/images/mgrid_logo.svgif the logo is present in the QueryBuilder Docker image, or an absolute URL, e.g.https://querybuilder.example.com/logo.png. In the case of an absolute URL, make sure that the CORS settings of the nginx proxy in the Docker image allow this URL.
- JWT_ALGORITHM¶
Type:
str()Default:
HS512Which algorithm to sign the JWT with. See https://pyjwt.readthedocs.io/en/latest/algorithms.html for the available algorithms.
- JWT_HEADER_NAME¶
Type:
str()Default:
AuthorizationWhat header should contain the JWT in a request.
- JWT_HEADER_TYPE¶
Type:
str()Default:
BearerWhat type of header the JWT is in.
- JWT_IDENTITY_CLAIM¶
Type:
str()Default:
identityThe claim in a JWT that is used as the source of identity.
- JWT_SECRET_KEY¶
Type:
password()Default:
override_meThe JWT secret key that is used to authenticate requests to the management API
- JWT_TOKEN_LOCATION¶
Type:
enum('headers', 'cookies', 'query_string', 'json')Default:
headersWhere to look for a JWT when processing a request.
- LOCAL_TIMEZONE¶
Type:
str()Default:
Europe/AmsterdamTimestamps are stored in UTC and this setting is used to translate to the local timezone of the users.
- LOG_LEVEL¶
Type:
enum('debug', 'info', 'warning', 'error', 'critical')Default:
warningLog level of the application.
- LOGO_URL¶
Type:
url()Default:
https://querybuilder.example.com/projectsThe URL where the browser is directed to when the user clicks on the logo.
- MODAL_APPROVAL¶
Type:
str()Default:
Requested approval for:Text for the modal when requesting approval.
- MODAL_EXPORT¶
Type:
str()Default:
Performing transfer for:Text for the modal when performing transfer.
- MODAL_SCHEDULE¶
Type:
str()Default:
Schedule transfer for:Text for the modal when scheduling transfer.
- PERMANENT_SESSION_LIFETIME¶
Type:
int()Default:
14400The cookie’s expiration will be set this number of seconds in the future.
- PORT¶
Type:
int()Default:
5000IP port the server binds to.
- SECRET_KEY¶
Type:
password()Default:
override_meThe secret key that is used to authenticate requests to the UI.
- SESSION_COOKIE_HTTPONLY¶
Type:
bool()Default:
TrueBrowsers will not allow JavaScript access to cookies marked as “HTTP only” for security.
- SESSION_COOKIE_NAME¶
Type:
str()Default:
sessionThe name of the session cookie.
- SESSION_COOKIE_PATH¶
Type:
path()Default:
/The path that the session cookie will be valid for.
- SESSION_COOKIE_SECURE¶
Type:
bool()Default:
TrueBrowsers will only send cookies with requests over HTTPS if the cookie is marked “secure”.
- SESSION_COPY_PROTECTION¶
Type:
bool()Default:
TrueEnable or disable session protection.
- SESSION_FILE_DIR¶
Type:
path()Default:
/tmp/flask_sessionThe directory where session files are stored.
- SESSION_TYPE¶
Type:
enum('null', 'filesystem', 'sqlalchemy')Default:
filesystemSpecifies which type of session interface to use.
- SFTP_ENABLED¶
Type:
bool()Default:
FalseEnable or disable support for SFTP exports.
- SOURCE_DATABASE¶
Type:
str()Default:
override_meSource database name.
- SOURCE_MASK¶
Type:
bool()Default:
TrueA boolean switch that determines if during query construction the output of the query should be masked. If True returns only a count of distinct rows in the output of the query.
- SOURCE_PASSWORD¶
Type:
password()Default:
override_meSource database password.
- SOURCE_PROHIBIT_PII_FILTERS¶
Type:
bool()Default:
FalseA boolean switch that prohibits table attributes that are marked with a deid attribute (and are assumed personally identifyable information) to be used in default filter expressions. This restricts the possibility to use information contained in that attribute to formulate a filtering condition. Note that these attributes are always allowed – regardless of this configuration setting – in dataset filter conditions (in dataset, not in dataset) to facilitate dataset joining.
- SOURCE_SERVER¶
Type:
str()Default:
override_meSource database hostname.
- SOURCE_USERNAME¶
Type:
str()Default:
override_meSource database username. The QueryBuilder source database account needs read-only access to the source schemas as defined in the
SOURCE_WORLD.
- SOURCE_WORLD¶
Type:
path()Default:
override_meThe world definition for the configured source. Should point to a yaml definition that specifies the structure of the schemas, tables, attributes and relationships in the source.
- SOURCE¶
Type:
enum('psql', 'mssql')Default:
psqlThe database type, either psql for PostgreSQL or mssql for Microsoft SQL Server.
- SQLALCHEMY_ENGINE_OPTIONS¶
Type:
map()Default:
{'pool_pre_ping': True, 'pool_size': 1}A dictionary that can contain options for the model database engine, most notably to change the connection pool characteristics.
- SQLALCHEMY_TRACK_MODIFICATIONS¶
Type:
bool()Default:
FalseIf set to True, Flask-SQLAlchemy will track modifications of objects and emit signals.
- SSL_ENABLED¶
Type:
bool()Default:
FalseEnable or disable SSL. There is an NGINX instance of front of this application that handles SSL, so this should be set to false.
- SSL_VERIFY¶
Type:
bool()Default:
TrueEnable or disable verification of SSL certificates of external programs.
- STATUS_APPROVED¶
Type:
str()Default:
Ready for transferText in column when query is ready for transfer.
- STATUS_EMPTY_QUERY¶
Type:
str()Default:
Empty queryText in column when query is empty.
- STATUS_NEED_APPROVAL¶
Type:
str()Default:
Need approval for transferText in column when query needs approval for transfer.
- STATUS_REQUESTED_APPROVAL¶
Type:
str()Default:
Requested approval for transferText in column when approval for transfer has been requested for query.
- STATUS_UNKNOWN¶
Type:
str()Default:
Approval server offlineText in column when approval server is offline.
- USE_SESSION_FOR_NEXT¶
Type:
bool()Default:
TrueWhen the login view is redirected to, it will have a next variable in the query string, which is the page that the user was trying to access. Alternatively, if USE_SESSION_FOR_NEXT is True, the page is stored in the session under the key next.
- WORKERS¶
Type:
int()Default:
2The number of worker processes that will be forked to handle incoming requests. Setting this is optional, but may be required in environments where the default value of 2 is not sufficient.
- XAPDEID_ENABLED¶
Type:
bool()Default:
FalseEnable or disable the XAP DEID server integration.
- XAPDEID_PASSWORD¶
Type:
password()Default:
override_mePassword for the XAP DEID server.
- XAPDEID_URL¶
Type:
url()Default:
https://deid.example.comURL for the XAP DEID server.
- XAPDEID_USER¶
Type:
str()Default:
override_meUser for the XAP DEID server.