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