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,
|
||||
'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',
|
||||
'name': 'checkConnectorsConfigurationInSeconds',
|
||||
@@ -155,6 +163,12 @@ def configure():
|
||||
'TLS + Access Token (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)
|
||||
|
||||
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 = [
|
||||
{
|
||||
'type': 'input',
|
||||
@@ -359,11 +429,12 @@ def configure():
|
||||
'thingsboard': {**base_answers, 'security': security_answers,
|
||||
'qos': qos_and_storage_type_answers['qos']},
|
||||
'storage': {'type': qos_and_storage_type_answers['storage'], **storage_answers},
|
||||
'grpc': {'enabled': grpc_enabled, **grpc_api_answers},
|
||||
'connectors': connectors_list
|
||||
})
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
print(colored('Something went wrong! Please try again.', color='red'))
|
||||
raise SystemExit
|
||||
raise e
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user