https://github.com/hypertrace/config-service
Service for storing and serving configurations across multiple services and contexts.
https://github.com/hypertrace/config-service
Last synced: 7 months ago
JSON representation
Service for storing and serving configurations across multiple services and contexts.
- Host: GitHub
- URL: https://github.com/hypertrace/config-service
- Owner: hypertrace
- License: other
- Created: 2020-12-03T17:50:01.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T06:02:08.000Z (over 1 year ago)
- Last Synced: 2024-10-25T06:26:21.028Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 964 KB
- Stars: 1
- Watchers: 3
- Forks: 5
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
## Config Service
Service for storing and serving configurations across multiple services and contexts.
## Description
[config service](https://github.com/hypertrace/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).
|  |
|:--:|
| *Hypertrace Architecture* |
Refer [config_service.proto](config-service-api/src/main/proto/org/hypertrace/config/service/v1/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](https://github.com/hypertrace/hypertrace-service) and checkout the above branch in the submodule.
```
cd config-service && git checkout config-service-test && cd ..
```
- Change tag for `hypertrace-service` from `:main` to `:test` in [docker-compose file](https://github.com/hypertrace/hypertrace/blob/main/docker/docker-compose.yml) like this.
```yaml
hypertrace-service:
image: hypertrace/hypertrace-service:test
container_name: hypertrace-service
...
```
- and then run `docker-compose up` to test the setup.
## Docker Image Source:
- [DockerHub > Config service](https://hub.docker.com/r/hypertrace/config-service)