Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 2.11 KB

README.md

File metadata and controls

51 lines (35 loc) · 2.11 KB

Config Service

Service for storing and serving configurations across multiple services and contexts.

Description

config service is a place to store configuration data such as user preferences, saved query filters, ingestion config, etc. Many of these use cases have not yet been built out. In general, this service is meant for user-managed configuration that needs to be persisted, and contains support for version history, auditing etc. In the past, we've addressed such things by spinning up individual services (such as attribute service). As new features get built out, we want to avoid that (and eventually to merge older services back into this).

space-1.jpg
Hypertrace Architecture

Refer config_service.proto for Config Service APIs.

Building locally

The Config service uses gradlew to compile/install/distribute. Gradle wrapper is already part of the source code. To build Config Service, run:

./gradlew dockerBuildImages

Testing

Running unit tests

Run ./gradlew test to execute unit tests.

Running integration tests

Run ./gradlew integrationTest to execute integration tests.

Testing image

To test your image using the docker-compose setup follow the steps:

  • Commit you changes to a branch say config-service-test.
  • Go to hypertrace-service and checkout the above branch in the submodule.
cd config-service && git checkout config-service-test && cd ..
  hypertrace-service:
    image: hypertrace/hypertrace-service:test
    container_name: hypertrace-service
    ...
  • and then run docker-compose up to test the setup.

Docker Image Source: