# Jetfire Data Routing Service
Jetfire Service listens to CAN Signals on the vehicle_signals topic on Kafka,
and performs a pivot operation for populating the feature_table on Clickhouse, 
and populating the real_time table on Clickhouse. 
CAN Signals are batched and inserted into vehicle_signal table without any transform performed on the data.

Feature Table inserts are typically batched at `JETFIRE_FEATURE_BATCH_PERIOD_MS=10000`.

Vehicle Signal Table inserts are typically batched at `JETFIRE_VEHICLE_SIGNAL_BATCH_PERIOD_MS=10000`

The schemas for sink tables are fetched periodically, set to `JETFIRE_SCHEMA_RESET_PERIOD_MS=3600000`
Additionally, a GET request to the `/reset` endpoint on port `8077` will also trigger an immediate schema reset.

For more information about Jetfire service, see https://fiskerinc.atlassian.net/wiki/spaces/COM/pages/1401487522/Jetfire+Service

## Usage

Copy `./.env.tenmplate` to `./.env` file

Secrets in the .env file will need to be filled in manually.

Running jetfire locally
```
source set_envs.sh
go run main.go
```