Contents
- Overview
- Configuration
- Deployment
- Usage
- Design
- Contributing
6.1. Versioning
6.2. Issue Reporting
6.3. Building
6.4. Testing
6.4.1. Functional
6.4.2. Performance
6.5. Releasing
1. Overview
This repo contains the Helm chart for the Awakari Core system deployment.
The chart deploys the following minimum set of components:
- Sharded MongoDB
- NATS in the Jetstream mode (if NATS usage is enabled).
- Specific queue wrapper service (e.g. queue-nats)
- Specific condition services (e.g. kiwi-tree)
- Subscriptions service
- Matches service
- Messages service
- Writer service
2. Configuration
For a component-specific options see the corresponding sub-chart configuration. Here follow own configuration options:
Variable |
Default |
Description |
conditions.kiwi.tree |
true |
Enables the kiwi-tree conditions usage. May be used together with other conditions implementations. |
queue.backend.nats |
true |
Enables the NATS JetStream queue wrapper service. Exclusive, can not be used together with other queue backends. |
3. Deployment
Create the target namespace:
kubectl create namespace awakari
Install the package built locally:
helm install core core-0.0.0.tgz -n awakari
Warning
Do not change the "core" release name
Or use an existing:
helm repo add awakari-core https://awakari.github.io/core
helm install core awakari-core/core \
-n awakari
4. Usage
TODO
5. Design
The core of Awakari consist of:

6. Contributing
6.1. Versioning
The service uses the semantic versioning.
The single source of the version info is the git tag:
git describe --tags --abbrev=0
6.2. Issue Reporting
TODO
6.3. Building
Build a helm package:
helm package helm/core
6.4. Testing
6.4.1. Functional
The repo contains core functional end-to-end tests.
To run these tests, first port-forward the core public API to local:
- messages to local port 50051
- subscriptions to local port 50052
- writer to local port 50053
Then:
make test
TODO
6.5. Releasing
To release a new version (e.g. 1.2.3
) it's enough to put a git tag:
git tag -v1.2.3
git push --tags
The corresponding CI job is started to build a helm chart and publish it with the specified tag (+latest).