# Copyright (c) 2020 Linumiz # SPDX-License-Identifier: Apache-2.0 menuconfig HAWKBIT bool "Eclipse hawkBit Firmware Over-the-Air support" depends on SETTINGS depends on FLASH depends on REBOOT depends on NET_TCP depends on NET_SOCKETS depends on IMG_MANAGER depends on NETWORKING depends on HTTP_CLIENT depends on DNS_RESOLVER depends on JSON_LIBRARY depends on BOOTLOADER_MCUBOOT depends on SMF depends on SMF_ANCESTOR_SUPPORT select MPU_ALLOW_FLASH_WRITE select IMG_ENABLE_IMAGE_CHECK select IMG_ERASE_PROGRESSIVELY imply HWINFO if !HAWKBIT_CUSTOM_DEVICE_ID help hawkBit is a domain independent back-end framework for polling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure. if HAWKBIT config HAWKBIT_POLL_INTERVAL int "Time to poll interval (in minutes)" default 5 range 1 43200 help Set the interval that the hawkbit update server will be polled. This time interval is zero and 43200 minutes(30 days). This will be overridden by the value configured in the settings of the hawkBit server. config HAWKBIT_AUTOHANDLER bool "hawkBit autohandler" select EVENTS default y help Activate autohandler to handle the update process automatically. config HAWKBIT_SHELL bool "hawkBit shell utilities" depends on SHELL depends on HAWKBIT_AUTOHANDLER help Activate shell module that provides hawkBit commands. config HAWKBIT_TENANT string "Tenant name for the hawkbit server" default "default" help Configure the tenant name for the hawkbit server. config HAWKBIT_SERVER string "User address for the hawkbit server" help Configure the hawkbit server address. config HAWKBIT_PORT int "Port number for the hawkbit server" default 8080 help Configure the hawkbit port number. config HAWKBIT_SET_SETTINGS_RUNTIME bool "Set hawkbit settings at runtime" help Enable to set hawkbit settings at runtime. choice HAWKBIT_DDI_SECURITY prompt "hawkBit DDI API authentication modes" default HAWKBIT_DDI_NO_SECURITY config HAWKBIT_DDI_NO_SECURITY bool "No authentication security" help No authentication security for the hawkBit DDI API. config HAWKBIT_DDI_TARGET_SECURITY bool "Use target security token authentication" help Use target security token authentication for the hawkBit DDI API. config HAWKBIT_DDI_GATEWAY_SECURITY bool "Use gateway security token authentication" help Use gateway security token authentication for the hawkBit DDI API. endchoice config HAWKBIT_DDI_SECURITY_TOKEN string "Authentication security token" depends on HAWKBIT_DDI_TARGET_SECURITY || HAWKBIT_DDI_GATEWAY_SECURITY default "" help Authentication security token for the configured hawkBit DDI authentication mode. config HAWKBIT_CUSTOM_ATTRIBUTES bool "Custom device attributes" help Use custom definition of device attributes. config HAWKBIT_STATUS_BUFFER_SIZE int "hawkBit status buffer size" default 200 help Set the size of the buffer, which is used to store the json strings, that are sent to the hawkBit server. It might be increased if the custom attributes are used extensively. config HAWKBIT_CUSTOM_DEVICE_ID bool "Custom device id through callback function" help Be able to customize the device id during runtime to a custom value, by configuring the callback function. See `hawkbit_set_device_identity_cb` config HAWKBIT_DEVICE_ID_MAX_LENGTH int "Maximum length of the device id" depends on HAWKBIT_CUSTOM_DEVICE_ID range 1 128 default 32 help Maximum length of the device id. config HAWKBIT_USE_TLS bool "Use TLS for hawkBit server connection" depends on NET_SOCKETS_SOCKOPT_TLS help Use TLS for hawkBit connection. if HAWKBIT_USE_TLS choice HAWKBIT_CERT_TAG prompt "hawkBit certificate tag" default HAWKBIT_USE_STATIC_CERT_TAG config HAWKBIT_USE_STATIC_CERT_TAG bool "Use static certificate tag" help Use static certificate tag for TLS connection to the hawkBit server. config HAWKBIT_USE_DYNAMIC_CERT_TAG bool "Use dynamic certificate tag" depends on HAWKBIT_SET_SETTINGS_RUNTIME help Use dynamic certificate tag for TLS connection to the hawkBit server. endchoice config HAWKBIT_STATIC_CERT_TAG int "Static certificate tag" depends on HAWKBIT_USE_STATIC_CERT_TAG default 1 help Static certificate tag for TLS connection to the hawkBit server. endif choice HAWKBIT_REBOOT_MODE prompt "Reboot mode after update" default HAWKBIT_REBOOT_WARM config HAWKBIT_REBOOT_WARM bool "Warm reboot after update" help Do a warm reboot after the update. config HAWKBIT_REBOOT_COLD bool "Cold reboot after update" help Do a cold reboot after the update. endchoice config HEAP_MEM_POOL_ADD_SIZE_HAWKBIT int "Heap memory pool size for hawkBit" default 4096 help Set the size of the heap memory pool for hawkBit. config HAWKBIT_EVENT_CALLBACKS bool "Set hawkBit event callbacks" help Be able to set event callbacks for hawkBit. module = HAWKBIT module-str = Log Level for hawkbit module-help = Enables logging for hawkBit code. source "subsys/logging/Kconfig.template.log_config" endif