You need to sign in or sign up before continuing.
feat(DEV-19) setup comprehensive configuration system
Description
Add configuration system that allows the user to easily create and update configuration files and exposes a programmatically visible schema for configuration.
Changes:
- in sila-python convert typedDicts -> dataclasses (ServerConfig and CloudServerConfig)
- removed
.env
support for connector configuration. - removed
connector start
CLI arguments for overriding.env
config values. - created new base class for configs --
ConnectorBaseConfig
which allows for one extending subclass to be declared
Implementations:
https://gitlab.com/unitelabs/connectors/kern-ds/-/merge_requests/8 (updated. contains examples of config.json and schema.json)
unitelabs/connectors/bluesens!18 (up to date!)
https://gitlab.com/unitelabs/connectors/qinstruments-bioshake/-/merge_requests/5
https://gitlab.com/unitelabs/connectors/file-system/-/merge_requests/12
Documentation:
https://gitlab.com/unitelabs/web/docs/-/merge_requests/42
Connector-Factory:
updated documentation for connectors and base implementation of connector configuration.
Testing:
-
config create
- CLI to create a new config file at the default location./config.json
-
config schema
- CLI to create a jsonschema of the configuration -
config show
- CLI to visualize the config -
certificate generate
- CLI adjusted to accept a config file, or run on a config file in the default location. Should prompt the user about updating the config file, while also allowing the generation of certificates without a config file.
Checklist
-
I have read and accept the Contributor Agreement
Edited by Desiree Davison