-
Notifications
You must be signed in to change notification settings - Fork 115
Configuration
All configuration for Kuiper placed in one single file named configuration.yaml to be more straight forward as seen below.
The following section of the configuration file is responsible for setting the parameters for Flask web application.
by default Kuiper will use the IP address [0.0.0.0]
and port [5000]
for the web application
...
# ============ Kuiper Platform
# NOTE: Kuiper IP and PORT will not be used anymore since gunicorn will handle the requests, see and change Gunicorn section instead
Kuiper:
Debug: True # enable debugging mode # deprecated since gunicorn will handle the sessions
RemoveRawFiles: False # remove raw files uploaded to Kuiper, as consequences enable this will allow upload the file multiple times
installer: ./kuiper_install.sh
logs_level: DEBUG # log level stored in the app logs (INFO, WARNING, DEBUG, and ERROR)
...
Gunicorn used to allow open multiple HTTPs session and handle clients requests, this section contains the ip address and port which listen to for clients requests (by default it will listen on 0.0.0.0:8000
for clients requests), also you could change the certificate used to any other certificate in cert_key
and cert_cert
...
# ============ Gunicorn configuration
# gunicorn used to support multi-request connections at the same time, gunicorn will run Flask platform and handle requests to it
Gunicorn:
IP: 0.0.0.0 # gunicorn LISTEN IP address
PORT: 8000 # gunicorn LISTEN PORT number
Threads: 6 # gunicorn number of thrads
worker_class: gevent # gunicorn workder class
timeout: 3600 # gunicorn request timeout 1h
workers: 4 # gunicorn number of workers
cert_key: cert/MyKey.key # SSL key ptath
cert_cert: cert/MyCertificate.crt # SSL certificate path
...
The following section of the configuration file is responsible for setting the parameters for celery based on redis configurations.
...
# ============ configuration of celery
CELERY:
CELERY_BROKER_URL: redis://localhost:6379
CELERY_RESULT_BACKEND: redis://localhost:6379
CELERY_WORKER_NAME: worker@kuiper
CELERY_TASK_ACKS_LATE: True,
celery_task_name: 'task.parser.kuiper'
...
The following section of the configuration file is responsible for setting the parameters for the elasticsearch database. by default it will use the IP address [127.0.0.1] and port [9200]
...
# ============ Elasticsearch
ElasticSearch:
IP : 0.0.0.0
PORT : 9200
...
MongoDB database name, by default [Kuiper]
...
MongoDB:
DB_NAME: 'Kuiper' # MongoDB Database name
DB_IP: '127.0.0.1' # MongoDB Database IP address
DB_PORT: 27017 # MongoDB Database Port number
...
This configuration used when checking the release, it stores the Github URL for Kuiper and the current release
...
# ============ Git
Git:
git_url_release : 'https://api.github.com/repos/DFIRKuiper/Kuiper/releases/latest' # link for git to pull new updates if exists
k_version : "v2.0.0" # current version of kuiper
...
This section contains the log files and directory for Kuiper
...
# ============ Logs
Logs:
log_folder: ./logs/ # store the logs folder
install_log: Kuiper-install.log
access_log: Kuiper-access-gunicorn.log
app_log: Kuiper-flask.log
celery_log: Kuiper-celery.log
update_log: Kuiper-update.log
gunicorn_pid: gunicorn.pid
kuiper_log: Kuiper.log
...
The following section store the default paths used by Kuiper,
...
# ============ configuration of directories on the platform
# it is preferable to not change these settings (except platform_folder)
Directories:
platform_folder: &platform_folder "./" # main folder
app_folder: &app_folder [*platform_folder, /app] # application files folder
app_parsers: [*platform_folder, /app/parsers] # parsers folder
artifacts_upload: [*platform_folder, /files] # uploaded artifacts folders
artifacts_upload_raw: [*platform_folder, /raw] # original uploaded compressed files
...