mirror of
https://github.com/thingsboard/thingsboard-gateway
synced 2025-10-26 22:31:42 +08:00
Refactored configuration wizard
This commit is contained in:
@@ -138,6 +138,14 @@ def configure():
|
|||||||
'validate': NumberValidator,
|
'validate': NumberValidator,
|
||||||
'filter': lambda val: int(val)
|
'filter': lambda val: int(val)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'type': 'input',
|
||||||
|
'name': 'minPackSendDelayMS',
|
||||||
|
'message': 'Minimal delay between sending messages (milliseconds):',
|
||||||
|
'default': str(default_config['thingsboard']['minPackSendDelayMS']),
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
{
|
{
|
||||||
'type': 'input',
|
'type': 'input',
|
||||||
'name': 'checkConnectorsConfigurationInSeconds',
|
'name': 'checkConnectorsConfigurationInSeconds',
|
||||||
@@ -155,6 +163,12 @@ def configure():
|
|||||||
'TLS + Access Token (Advanced Security)',
|
'TLS + Access Token (Advanced Security)',
|
||||||
'TLS + Private Key (Advanced Security)'
|
'TLS + Private Key (Advanced Security)'
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'type': 'confirm',
|
||||||
|
'name': 'grpc-enabled',
|
||||||
|
'message': 'Do you want to enable GRPC API on your gateway?',
|
||||||
|
'default': False
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -208,6 +222,62 @@ def configure():
|
|||||||
|
|
||||||
security_answers = prompt(security_questions, style=style)
|
security_answers = prompt(security_questions, style=style)
|
||||||
|
|
||||||
|
grpc_enabled = base_answers.pop('grpc-enabled')
|
||||||
|
|
||||||
|
if grpc_enabled:
|
||||||
|
grpc_api_questions = [
|
||||||
|
{
|
||||||
|
'name': 'serverPort',
|
||||||
|
'default': 9595,
|
||||||
|
'message': '[GRPC] Please set port for GRPC server:',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'keepaliveTimeMs',
|
||||||
|
'default': 10000,
|
||||||
|
'message': '[GRPC] Keep alive period:',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'keepaliveTimeoutMs',
|
||||||
|
'default': 5000,
|
||||||
|
'message': '[GRPC] Keep alive timeout',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'keepalivePermitWithoutCalls',
|
||||||
|
'default': True,
|
||||||
|
'message': '[GRPC] Allow send pings from clients without calls:'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'maxPingsWithoutData',
|
||||||
|
'default': 0,
|
||||||
|
'message': '[GRPC] Maximal count of pings without data from client to server:',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'minTimeBetweenPingsMs',
|
||||||
|
'default': 10000,
|
||||||
|
'message': '[GRPC] Minimal period between ping messages:',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'minPingIntervalWithoutDataMs',
|
||||||
|
'default': 5000,
|
||||||
|
'message': '[GRPC] Minimal period between ping messages without data:',
|
||||||
|
'validate': NumberValidator,
|
||||||
|
'filter': lambda val: int(val)
|
||||||
|
},
|
||||||
|
]
|
||||||
|
grpc_api_answers = prompt(grpc_api_questions, style=style)
|
||||||
|
else:
|
||||||
|
grpc_api_answers = default_config.get('grpc', {})
|
||||||
|
|
||||||
qos_and_storage_type_question = [
|
qos_and_storage_type_question = [
|
||||||
{
|
{
|
||||||
'type': 'input',
|
'type': 'input',
|
||||||
@@ -359,11 +429,12 @@ def configure():
|
|||||||
'thingsboard': {**base_answers, 'security': security_answers,
|
'thingsboard': {**base_answers, 'security': security_answers,
|
||||||
'qos': qos_and_storage_type_answers['qos']},
|
'qos': qos_and_storage_type_answers['qos']},
|
||||||
'storage': {'type': qos_and_storage_type_answers['storage'], **storage_answers},
|
'storage': {'type': qos_and_storage_type_answers['storage'], **storage_answers},
|
||||||
|
'grpc': {'enabled': grpc_enabled, **grpc_api_answers},
|
||||||
'connectors': connectors_list
|
'connectors': connectors_list
|
||||||
})
|
})
|
||||||
except Exception:
|
except Exception as e:
|
||||||
print(colored('Something went wrong! Please try again.', color='red'))
|
print(colored('Something went wrong! Please try again.', color='red'))
|
||||||
raise SystemExit
|
raise e
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user