Add depot, attendant, jetfire, optimus, ota services with kustomize overlays

This commit is contained in:
Chris Rai
2026-01-31 15:35:07 -05:00
parent a0ec642ca1
commit 9a5cb2f547
404 changed files with 38817 additions and 16 deletions

View File

@@ -0,0 +1,56 @@
package handlers
import (
"github.com/fiskerinc/cloud-services/services/optimus/services"
"github.com/fiskerinc/cloud-services/pkg/common"
"github.com/fiskerinc/cloud-services/pkg/grpc/kafka_grpc"
"github.com/fiskerinc/cloud-services/pkg/logger"
"github.com/fiskerinc/cloud-services/pkg/validator"
"github.com/pkg/errors"
)
func ProduceSignalsFromMessageBatch(vin string, payload *kafka_grpc.GRPC_BatchPayload) ([]common.CANSignal, error) {
var batch []common.CANSignal
if payload == nil {
return nil, errors.New("payload is nil")
}
if payload.Data == nil {
return nil, errors.New("payload.Data is nil")
}
// TODO Where to report epoch_usec, dropped, and filtered stats
dbcVersion := payload.Version
dbc, err := services.GetDBCCollection().Get(dbcVersion)
if err != nil {
return nil, err
}
// r := services.RedisClientPool().GetFromPool()
// defer r.Close()
clickClient, err := services.GetClickhouseClient()
if err != nil {
return nil, err
}
filters := services.GetVehicleMessageFilters().GetFiltersForVehicle(clickClient, vin)
for _, msg := range payload.Data.Frames {
if err := validator.ValidateStruct(msg); err != nil {
logger.Warn().Str("id", vin).Err(err).Msgf("%+v", msg)
continue
}
if !filters.AllowMessage(int(msg.ID), int(msg.GetEpoch())) {
continue
}
signals, err := dbc.GenerateCANSignals(vin, msg)
if err == nil && len(signals) > 0 {
batch = append(batch, signals...)
} else if err != nil {
logger.At(logger.Warn(), vin, "dbc").Err(err).Send()
}
}
return batch, nil
}