Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View File

@@ -0,0 +1,250 @@
syntax = "proto3";
option go_package = "grpc/kafka_grpc";
enum EmumStatus {
DELIVERED = 0;
TIMEOUT = 1;
FAILED = 2;
}
enum ManifestFileType {
bootloader = 0;
software = 1;
calibration = 2;
other = 3;
}
enum CompatibleTrim {
EXTREME = 0;
ULTRA = 1;
SPORT = 2;
}
enum CompatibleDriveSide {
LEFT_HAND_DRIVE = 0;
RIGHT_HAND_DRIVE = 1;
}
message GRPC_AttendantPayload {
string handler = 1;
oneof Data {
CarUpdateStatus carUpdateStatus = 2;
CarUpdateProgress carUpdateProgress = 3;
FileKeysRequest fileKeyReq = 4;
ECCKeys keys = 5;
UpdateData updateApprove = 6;
VehicleData updateGet = 7;
UpdateManifest updateManifest = 8;
Order order = 9;
MessageStatus messageStatus = 10;
DTCEntry dtcEntry = 11;
CarUpdateRequest carUpdateRequest = 12;
}
}
message CarUpdateStatus {
map<string, CarECU> ecus = 1;
}
message CarECU {
string vin = 1;
string ecu = 2;
string sw_version = 3;
string serial_number = 4;
string hw_version = 5;
string boot_loader_version = 6;
string fingerprint = 7;
string code_data_string = 8;
string vendor = 9;
string supplier_sw_version = 10;
int64 epoch_usec = 11;
string assy_number = 12;
optional int64 createdAt = 13;
optional int64 updatedAt = 14;
}
message CarUpdateProgress {
uint64 fileCurrent = 1;
uint64 fileTotal = 2;
uint64 pkgCurrent = 3;
uint64 pkgTotal = 4;
int64 installedFiles = 5;
int64 totalFiles = 6;
int64 carUpdateID = 7;
string ecu = 8;
string info = 9;
string status = 10;
int64 errCode = 11;
}
message FileKeysRequest {
repeated string fileIDs = 1;
}
message DTCEntry {
int64 createdAt = 1;
string vin = 2;
string ecu = 3;
uint64 dtc = 4;
int64 timestamp = 5;
uint32 speed = 6;
uint32 mileage = 7;
uint32 volt = 8;
string snapshotBase64 = 9;
uint32 status = 10;
}
message ECCKeys {
repeated ECCKey eccKeys = 1;
}
message ECCKey {
string ecu = 1;
string env = 2;
optional BineryHex pub_key_level_1 = 3;
optional BineryHex pub_key_level_2 = 4;
optional BineryHex pub_key_level_3 = 5;
optional BineryHex level_1 = 6;
optional BineryHex level_2 = 7;
optional BineryHex level_3 = 8;
optional int64 created = 9;
optional int64 updated = 10;
}
message BineryHex {
bytes data = 1;
}
message UpdateData {
int64 id = 1;
}
message VehicleData {
string vin = 1;
}
message MessageStatus {
string messageId = 1;
EmumStatus status = 2;
}
message UpdateManifest {
int64 id = 1;
string name = 2;
string version = 3;
string description = 4;
string release_notes = 5;
string ecu_list = 6;
repeated UpdateManifestECU ecu_updates = 7;
string fingerprint = 8;
int64 car_update_id = 9;
bool rollback = 10;
string type = 11;
string vod = 12;
int32 manifest_type = 13;
optional bool active = 14;
string country = 15;
string powertrain = 16;
string restraint = 17;
string model = 18;
string trim = 19;
int32 year = 20;
string body_type = 21;
string sums = 22;
string env = 23;
int32 update_duration = 24;
int32 max_attempts = 25;
optional int64 created = 26;
optional int64 updated = 27;
}
message UpdateManifestECU {
int64 id = 1;
int64 manifest_id = 2;
string name = 3;
string version = 4;
string current_version = 5;
string hw_version = 6;
repeated string hw_versions = 7;
string configuration_mask = 8;
string configuration = 9;
bool self_download = 10;
string mode = 11;
repeated UpdateManifestFile files = 12;
repeated UpdateManifestECU rollback = 13;
ECCKey ecc_keys = 14;
int32 install_priority = 15;
optional int64 created = 16;
optional int64 updated = 17;
}
message UpdateManifestFile {
string file_id = 1;
int64 manifest_ecu_id = 2;
string filename = 3;
string url = 4;
uint64 file_size = 5;
string checksum = 6;
string type = 7;
int32 order = 8;
MemoryRegion write_region = 9;
MemoryRegion erase_region = 10;
FileKeyResponse file_key = 11;
optional bool parsed_file = 12;
string signature = 13;
repeated string compatible_trims = 14;
repeated string compatible_drive_sides = 15;
optional string created = 16;
optional string updated = 17;
}
message MemoryRegion {
uint64 offset = 1;
uint64 length = 2;
}
message FileKeyResponse {
string file_id = 1;
string key = 2;
string auth = 3;
string nonce = 4;
string error = 5;
}
message FeatureCodes {
string familyCode = 1;
string featureCode = 2;
}
message VehicleSpecification {
string orderId = 1; // OrderIndicator
string productId = 2; // ProductionPhaseIndicator
string vehicleId = 3; // VehicleIndicator
string mfPlant = 4; // ManufacturingPlant
string modelType = 5; // ModelType
int64 modelId = 6; // ModelYearIndicator
int64 modelYear = 7;
string sn = 8; // SequenceNumber
int64 version = 9; // VersionDuringModelYear
string model = 10; // VehicleModel
string vinPre = 11; // VinPrefix
string destCon = 12; // DestinationCountry
repeated FeatureCodes feature = 13; // VehicleFeatures
int64 date = 14; // ExpectedReferenceDate
string fOrderId = 15; // FleetOrderIndicator
}
message Order {
int64 specId = 1;
int64 orderNo = 2;
string msgIdentifier = 3;
VehicleSpecification VehicleSpecification = 4;
}
message CarUpdateRequest {
int64 car_update_id = 1;
}