# ---------------------------------------------------------------------------
# Top-level Kconfig file for MTDA
# ---------------------------------------------------------------------------
#
# This software is a part of MTDA.
# Copyright (C) 2023 Siemens Digital Industries Software
#
# ---------------------------------------------------------------------------
# SPDX-License-Identifier: MIT
# ---------------------------------------------------------------------------

menu "General Settings"
config EXPERIMENTAL
    bool "Experimental features"
    default n
    help
      Enable experimental features.
endmenu

menu "Main Settings"
config MAIN_DEBUG
    int "Debug log level"
    default 2
    help
      Level of debug messages to print out while running (set to 0 to turn all
      debug messages off).

config MAIN_FUSE
    bool "FUSE support"
    depends on EXPERIMENTAL
    default n
    help
      Enable support for mounting partitions from the shared device using FUSE
      instead of losetup and mount. This feature is experimental and
      requires partitionfs, fuseext2 and fusefat.

config MAIN_HOSTNAME
    string "Agent network name"
    help
      Name of this agent on the network (defaults to hostname).
endmenu

menu "Pastebin Settings"

config PASTEBIN_API
    string "Pastebin API key"
    help
      Define the API key to be passed to the pastebin service

config PASTEBIN_ENDPOINT
    string "Pastebin endpoint URL"
    help
      Specify an alternate pastebin service (defaults to
      http://pastebin.com/api/api_post.php)

endmenu

menu "UI settings"

config UI_PREFIX
    string "Prefix key to control UI"
    help
      Change the key prefix to control the interactive MTDA console. The default
      prefix is 'ctrl-a' (which is also used by the 'screen' tool, this
      setting may be used to use e.g. 'ctrl-b' instead).
endmenu

menu "Console Settings"

config CONSOLE_VARIANT
    string "Console driver variant"
    help
      Select a console variant. MTDA provides the following drivers: 'serial'
      and 'telnet'.
endmenu

menu "Keyboard Settings"
config KEYBOARD_VARIANT
    string "Keyboard driver"
    help
      Select a keyboard driver between 'hid' and 'qemu'.
endmenu

menu "Monitor console settings"
config MONITOR_VARIANT
    string "Console variant"
    help
      'variant' key should be set, other settings in this section are
       variant-specific.
endmenu

menu "Power Control Settings"
config POWER_VARIANT
    string "Power variant"
    default "qemu"
    help
      Select a power variant from 'aviosys_8800', 'gpio', 'pduclient',
      'qemu' and 'usbrelay'.
endmenu

menu "Remote Settings"
config REMOTE_CONTROL
    int "Control port number"
    default 5556
    help
      Remote port listening for control commands (defaults to '5556').

config REMOTE_CONSOLE
    int "Console port number"
    default 5557
    help
      Remote port to connect to in order to get console messages (defaults to
      '5557').

config REMOTE_HOST
    string "Hostname"
    default "localhost"
    help
      Remote host name or ip to connect to as a client to interact with the
      MTDA agent (defaults to 'localhost').
endmenu

menu "Console Settings"
config CONSOLE_VARIANT
    string "Console variant"
    default "qemu"
    help
      Select a shared storage variant from 'docker', 'qemu', 'samsung'
      and 'usbf'.
endmenu

menu "Video Settings"
config VIDEO_VARIANT
    string "Video variant"
    help
      Select a 'video' variant: 'mjpg_streamer' is the only supported
      driver at this time.
endmenu

menu "Storage Settings"
config STORAGE_VARIANT
    string "Storage type"
    default "qemu"
    help
      Select a shared storage variant from 'docker', 'qemu', 'samsung'
      and 'usbf'.

config STORAGE_FILE
    string "Storage file"
    default "/var/lib/mtda/usb-shared-storage.img"
endmenu

menu "Webserver settings"
config WWW_PORT
    int "HTTP port"
    default 5000
    help
      Port to run the HTTP service on (defaults to 5000).

config WWW_HOST
    string "Host Address"
    default "127.0.0.1"
    help
      Host address to listen on. This defaults to '127.0.0.1' to only
      accept connections from the machine running the MTDA service.

      Change to '0.0.0.0' to accept connections from anywhere.
endmenu
