Skip to content
Auto-Generated Documentation

This set of documentation is automatically generated from source, and will help ensure any change to functionality will always be documented and available on release.

Config

Howler Deployment Configuration

Field Type Description Required Default
auth Auth Authentication module configuration Yes See Auth for more details.
core Core Core component configuration Yes See Core for more details.
datastore Datastore Datastore configuration Yes See Datastore for more details.
filestore Filestore Filestore configuration Yes See Filestore for more details.
logging Logging Logging configuration Yes See Logging for more details.
system System System configuration Yes See System for more details.
ui UI UI configuration parameters Yes See UI for more details.

APMServer

None

Field Type Description Required Default
server_url Keyword URL to API server Optional None
token Keyword Authentication token for server Optional None

Auth

Authentication Methods

Field Type Description Required Default
allow_apikeys Boolean Allow API keys? Yes None
allow_extended_apikeys Boolean Allow extended API keys? Yes None
max_apikey_duration_amount Integer Amount of unit of maximum duration for API keys Optional None
max_apikey_duration_unit Enum Unit of maximum duration for API keys
Values:
"days", "hours", "minutes", "seconds", "weeks"
Optional None
internal Internal Internal authentication settings Yes See Internal for more details.
oauth OAuth OAuth settings Yes See OAuth for more details.

Core

Howler Core Component Configuration

Field Type Description Required Default
metrics Metrics Configuration for Metrics Collection Yes See Metrics for more details.
redis Redis Configuration for Redis instances Yes See Redis for more details.

Datastore

Datastore Configuration

Field Type Description Required Default
hosts List [Host] List of hosts used for the datastore Yes None
ilm ILM Index Lifecycle Management Policy Yes See ILM for more details.
type Enum Type of application used for the datastore
Values:
"elasticsearch"
Yes None

Filestore

Filestore Configuration

Field Type Description Required Default
storage List [Host] List of filestores used for storage Yes None

Host

Host Entries

Field Type Description Required Default
name Keyword Name of the host Yes None
username Keyword Username to login with Optional None
password Keyword Password to login with Optional None
apikey_id Keyword ID of the API Key to use when connecting Optional None
apikey_secret Keyword Secret data of the API Key to use when connecting Optional None
scheme Keyword Scheme to use when connecting Optional http
host Keyword URL to connect to Yes None

ILM

Index Lifecycle Management

Field Type Description Required Default
enabled Boolean Are we enabling ILM across indices? Yes None
days_until_archive Integer Days until documents get archived Yes None
indexes Mapping [ILMParams] Index-specific ILM policies Yes See ILMParams for more details.
update_archive Boolean Do we want to update documents in the archive? Yes None

ILMParams

Parameters associated to ILM Policies

Field Type Description Required Default
warm Integer How long, per unit of time, should a document remain in the 'warm' tier? Yes None
cold Integer How long, per unit of time, should a document remain in the 'cold' tier? Yes None
delete Integer How long, per unit of time, should a document remain before being deleted? Yes None
unit Enum Unit of time used by warm, cold, delete phases
Values:
"d", "h", "m"
Yes None

Internal

Internal Authentication Configuration

Field Type Description Required Default
enabled Boolean Internal authentication allowed? Yes None
failure_ttl Integer How long to wait after max_failures before re-attempting login? Yes None
max_failures Integer Maximum number of fails allowed before timeout Yes None
password_requirements PasswordRequirement Password requirements Yes See PasswordRequirement for more details.

Logging

Model Definition for the Logging Configuration

Field Type Description Required Default
log_level Enum What level of logging should we have?
Values:
"CRITICAL", "DEBUG", "DISABLED", "ERROR", "INFO", "WARNING"
Yes None
log_to_console Boolean Should we log to console? Yes None
log_to_file Boolean Should we log to files on the server? Yes None
log_directory Keyword If log_to_file: true, what is the directory to store logs? Yes None
log_to_syslog Boolean Should logs be sent to a syslog server? Yes None
syslog_host Keyword If log_to_syslog: true, provide hostname/IP of the syslog server? Yes None
syslog_port Integer If log_to_syslog: true, provide port of the syslog server? Yes None
export_interval Integer How often, in seconds, should counters log their values? Yes None
log_as_json Boolean Log in JSON format? Yes None

Metrics

Metrics Configuration

Field Type Description Required Default
apm_server APMServer APM server configuration Yes See APMServer for more details.

OAuth

OAuth Configuration

Field Type Description Required Default
enabled Boolean Enable use of OAuth? Yes None
gravatar_enabled Boolean Enable gravatar? Yes None
providers Mapping [OAuthProvider] OAuth provider configuration Yes See OAuthProvider for more details.
strict_apikeys Boolean Only allow apikeys that last as long as the access token used to log in Yes False

OAuthAutoProperty

None

Field Type Description Required Default
field Keyword Field to apply pattern to Yes None
pattern Keyword Regex pattern for auto-prop assignment Yes None
type Enum Type of property assignment on pattern match
Values:
"access", "classification", "role"
Yes None
value Keyword Assigned property value Yes None

OAuthProvider

OAuth Provider Configuration

Field Type Description Required Default
auto_create Boolean Auto-create users if they are missing Yes True
auto_sync Boolean Should we automatically sync with OAuth provider? Yes False
auto_properties List [OAuthAutoProperty] Automatic role and classification assignments Yes []
uid_randomize Boolean Should we generate a random username for the authenticated user? Yes False
uid_randomize_digits Integer How many digits should we add at the end of the username? Yes 0
uid_randomize_delimiter Keyword What is the delimiter used by the random name generator? Yes -
uid_regex Keyword Regex used to parse an email address and capture parts to create a user ID out of it Optional None
uid_format Keyword Format of the user ID based on the captured parts from the regex Optional None
client_id Keyword ID of your application to authenticate to the OAuth provider Optional None
client_secret Keyword Password to your application to authenticate to the OAuth provider Optional None
request_token_url Keyword URL to request token Optional None
request_token_params Keyword Parameters to request token Optional None
required_groups List [Keyword] The groups the JWT must contain in order to allow access Yes []
role_map Mapping [Keyword] A mapping of OAuth groups to howler roles Yes {}
access_token_url Keyword URL to get access token Optional None
access_token_params Keyword Parameters to get access token Optional None
authorize_params Keyword Parameters used to authorize access to a resource Optional None
api_base_url Keyword Base URL for downloading the user's and groups info Optional None
audience Keyword The audience to validate against. Only must be set if audience is different than the client id. Optional None
scope Keyword The scope to validate against Yes None
picture_url Keyword URL for downloading the user's profile Optional None
groups_url Keyword URL for accessing additional data about the user's groups Optional None
groups_key Keyword Path to the list of groups in the response returned from groups_url Optional None
iss Keyword Optional issuer field for JWT validation Optional None
jwks_uri Keyword URL used to verify if a returned JWKS token is valid Yes None
user_get Keyword Path from the base_url to fetch the user info Optional None

PasswordRequirement

Password Requirement

Field Type Description Required Default
lower Boolean Password must contain lowercase letters Yes None
number Boolean Password must contain numbers Yes None
special Boolean Password must contain special characters Yes None
upper Boolean Password must contain uppercase letters Yes None
min_length Integer Minimum password length Yes None

Redis

Redis Configuration

Field Type Description Required Default
nonpersistent RedisServer A volatile Redis instance Yes See RedisServer for more details.
persistent RedisServer A persistent Redis instance Yes See RedisServer for more details.

RedisServer

Redis Service configuration

Field Type Description Required Default
host Keyword Hostname of Redis instance Yes None
port Integer Port of Redis instance Yes None

Retention

Retention Configuration

Field Type Description Required Default
enabled Boolean Whether to enable the hit retention limit. If enabled, hits will be purged after the specified duration. Yes True
limit_unit Enum The unit to use when computing the retention limit
Values:
"days", "hours", "microseconds", "milliseconds", "minutes", "seconds", "weeks"
Yes days
limit_amount Integer The number of limit_units to use when computing the retention limit Yes 350
crontab Keyword The crontab that denotes how often to run the retention job Yes 0 0 * * *

System

System Configuration

Field Type Description Required Default
type Enum Type of system
Values:
"development", "production", "staging"
Yes None
retention Retention Retention Configuration Yes See Retention for more details.

UI

UI Configuration

Field Type Description Required Default
audit Boolean Should API calls be audited and saved to a separate log file? Yes None
banner Mapping [Keyword] Banner message display on the main page (format: {: message}) Optional None
banner_level Enum Banner message level
Values:
"error", "info", "success", "warning"
Yes None
debug Boolean Enable debugging? Yes None
static_folder Keyword The directory where static assets are stored. Optional None
discover_url Keyword Discover URL Optional None
email Email Assemblyline admins email address Optional None
enforce_quota Boolean Enforce the user's quotas? Yes None
secret_key Keyword Flask secret key to store cookies, etc. Yes None
validate_session_ip Boolean Validate if the session IP matches the IP the session was created from Yes None
validate_session_useragent Boolean Validate if the session useragent matches the useragent the session was created with Yes None
websocket_url Keyword The url to hit when emitting websocket events on the cluster Optional None