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 phasesValues: "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: { |
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 |
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 |