1# Copyright (c) 2020 Linumiz
2# SPDX -License-Identifier: Apache-2.0
3
4menuconfig HAWKBIT
5	bool "Hawkbit Firmware Over-the-Air support"
6	select NVS
7	select FLASH
8	select REBOOT
9	select HWINFO
10	select MBEDTLS
11	select MBEDTLS_ENABLE_HEAP
12	select NET_TCP
13	select NET_SOCKETS
14	select IMG_MANAGER
15	select NETWORKING
16	select HTTP_CLIENT
17	select DNS_RESOLVER
18	select JSON_LIBRARY
19	select BOOTLOADER_MCUBOOT
20	select MPU_ALLOW_FLASH_WRITE
21	select IMG_ERASE_PROGRESSIVELY
22	select NET_SOCKETS_POSIX_NAMES
23	help
24	  Hawkbit is a domain independent back-end framework for polling out
25	  software updates to constrained edge devices as well as more powerful
26	  controllers and gateways connected to IP based networking infrastructure.
27
28if HAWKBIT
29config HAWKBIT_POLL_INTERVAL
30	int "Time to poll interval (in minutes)"
31	default 5
32	range 1 43200
33	help
34	  Set the interval that the hawkbit update server will be polled.
35	  This time interval is zero and 43200 minutes(30 days).
36
37config HAWKBIT_SHELL
38	bool "Enable Hawkbit shell utilities"
39	depends on SHELL
40	help
41	  Activate shell module that provides Hawkbit commands.
42
43config HAWKBIT_SERVER
44	string "User address for the hawkbit server"
45	default ""
46	help
47	  Configure the hawkbit server address.
48
49config HAWKBIT_PORT
50	string "Port address for the hawkbit server"
51	default "8080"
52	help
53	  Configure the hawkbit port number.
54
55choice
56	prompt "Hawkbit DDI API authentication modes"
57	default HAWKBIT_DDI_NO_SECURITY
58
59config HAWKBIT_DDI_NO_SECURITY
60	bool "No authentication security"
61	help
62	  No authentication security for the Hawkbit DDI API.
63
64config HAWKBIT_DDI_TARGET_SECURITY
65	bool "Use target security token authentication"
66	help
67	  Use target security token authentication for the Hawkbit DDI API.
68
69config HAWKBIT_DDI_GATEWAY_SECURITY
70	bool "Use gateway security token authentication"
71	help
72	  Use gateway security token authentication for the Hawkbit DDI API.
73
74endchoice
75
76config HAWKBIT_DDI_SECURITY_TOKEN
77	string "Authentication security token"
78	depends on HAWKBIT_DDI_TARGET_SECURITY || HAWKBIT_DDI_GATEWAY_SECURITY
79	default ""
80	help
81	  Authentication security token for the configured Hawkbit DDI
82	  authentication mode.
83
84module = HAWKBIT
85module-str = Log Level for hawkbit
86module-help = Enables logging for Hawkbit code.
87source "subsys/logging/Kconfig.template.log_config"
88
89endif
90