Kore Node es in intermediario entre Kore Base y los diferentes Kore Clients como podría ser Kore HTTP. Sus principales funciones son 4:
- Crear una API que consumiran los diferentes Kore Clients para poder comunicarse con Kore Base, el objetivo de esta API es la simplificación de los tipos, es decir, se encarga de recibir tipos básicos como
String
y convertirlos en tipos complejos que espera recibir Kore Base como unDigestIdentifier
. Otro objetivo de esta API es convinar diferentes métodos de la API de Kore Base para realizar una funcionalidad concreta como podría ser la de crear un sujeto de trazabilidad, de esta forma añadimos una capa de abstracción sobre la API de Kore Base. - Implementar los diferentes métodos que necesitan las bases de datos para que Kore Base pueda utilizarlas, de esta forma Kore Base no está acoplado con ninguna base de datos y definiendo unos métodos es capaz de funcionar con un LevelDB, un SQlite o un Cassandra.
- Recibir los parámetros de configuración a través de archivos
.toml
,.yaml
y.json
; además devariables de entorno
. Para profundizar sobre los parámetros de configuración visite la siguiente sección. - Exponer un Prometheus de forma opcional para poder obtener métricas. Para obtener más información sobre la configuración del prometheus visite la siguiente sección.
Acutalmente Kore Node consta de 3 features:
- sqlite: Para hacer uso de la base de datos de
SQlite
. - leveldb: Para hacer uso de la base de datos de
LevelDB
. - prometheus: para exponer una API con un
endpoint
llamado/metrics
donde se podrán obtener métricas.