uservice-dynconf
uservice-dynconf copied to clipboard
The service to control dynamic configs of the other userver-based services
uservice-dynconf
The service to control dynamic configs of the other userver-based services.
Service using postgres db version 10+
The service is ready to use. Web interface for configs administration would be added soon.
Run uservice-dynconf
# Clone the service
git clone [email protected]:userver-framework/uservice-dynconf.git
cd uservice-dynconf
git submodule update --init
# Create schemas and struct db for storage configs
psql -f ./postgresql/schemas/uservice_dynconf.sql
# Full db default value configs
psql -f ./postgresql/data/default_configs.sql
# Run build or install (optional Env PREFIX set install dir)
make install
# Run service
uservice-dynconf --config /etc/uservice-dynconf/config_vars.yaml
HowTo configure other userver-based microservices to use uservice-dynconf
In file static_configs.yaml
of the microservice add the following lines to connect and retrieve configurations from the uservice-dynconf
:
dynamic-config-client:
# uservice-dynconf address
config-url: http://localhost:8083
# service name to send to uservice-dynconf
service-name: microservice-name
http-retries: 5
http-timeout: 20s
dynamic-config-client-updater:
config-settings: false
fallback-path: dynamic_config_fallback.json
full-update-interval: 1m
load-only-my-values: true
store-enabled: true
update-interval: 5s
HTTP API
HTTP REST API of the uservice-dynconf is described in OpenAPI format in file
Makefile
Makefile contains useful targets for development:
-
make build-debug
- debug build of the service with all the assertions and sanitizers enabled -
make build-release
- release build of the service with LTO -
make test-debug
- does amake build-debug
and runs all the tests on the result -
make test-release
- does amake build-release
and runs all the tests on the result -
make
ormake all
- builds and runs all the tests in release and debug modes -
make format
- autoformat all the C++ and Python sources -
make clean-
- cleans the object files -
make dist-clean
- clean all, including the CMake cached configurations -
make install
- does amake build-release
and runs install in directory set in environmentPREFIX
-
make install-debug
- does amake build-debug
and runs install in directory set in environmentPREFIX
-
make docker-COMMAND
- runmake COMMAND
in docker environment -
make docker-build-debug
- debug build of the service with all the assertions and sanitizers enabled in docker environment -
make docker-test-debug
- does amake build-debug
and runs all the tests on the result in docker environment -
make docker-start-service
- does amake install
and runs service in docker environment -
make docker-start-service-debug
- does amake install-debug
and runs service in docker environment -
make docker-clean-data
- stop docker containers and clean database data
Edit Makefile.local
to change the default configuration and build options.
License
Distributed under the Apache-2.0 License with the CLA.