Skip to content
saleh muhaysin edited this page Jul 28, 2020 · 3 revisions

Configuration

All configuration for Kuiper placed in one single file named configuration.yaml to be more straight forward as seen below.

Kuiper platform

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

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 
...

Celery

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'
...

Elasticsearch

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

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
...

Git

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
...

Logs

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
  
...

Default Files

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
...