diff --git a/Makefile b/Makefile index 7277bca..34c0d10 100644 --- a/Makefile +++ b/Makefile @@ -78,4 +78,7 @@ image-gen: docker build -t $(ALPHA_IMAGE_NAME) . docker save $(ALPHA_IMAGE_NAME) | gzip > $(ALPHA_IMAGE_COMPRESSED_FILENAME).tar.gz -.PHONY: test build vet linters install integration image-gen generate-protos generate-golang generate-python generate-ruby clean +doc-images: + docker run -v ./:/data plantuml/plantuml "doc" + +.PHONY: test build vet linters install integration image-gen generate-protos generate-golang generate-python generate-ruby doc-images clean diff --git a/README.md b/README.md index 2b30c6b..6eefd42 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ The service handles device connectivity as well as receiving and storing transmi ## Configuring and running the service +This diagram shows a summary of steps taken during configuration and how the system will operate. + +![](doc/system_overview.png) + ### Setup steps 1. Create a third-party application on [developer.tesla.com](https://developer.tesla.com). diff --git a/doc/system_overview.png b/doc/system_overview.png new file mode 100644 index 0000000..b533a6f Binary files /dev/null and b/doc/system_overview.png differ diff --git a/doc/system_overview.puml b/doc/system_overview.puml new file mode 100644 index 0000000..0f03db9 --- /dev/null +++ b/doc/system_overview.puml @@ -0,0 +1,26 @@ +@startuml +title Fleet Telemetry + +== First time only == + +Partner -> "Fleet API": Call register endpoint with CSR +"Fleet API" -> "Fleet API": Process CSR\n(this will take some time) +"Fleet API" -> Partner: Email notification +Partner -> Partner: Setup fleet-telemetry server + +== For each user == + +Partner -> Customer: Share the add virtual key to vehicle link\nhttps://tesla.com/_ak/your-domain.com +Customer -> Vehicle: Click link, add virtual key to vehicle +note over Partner: Prerequisites:\n- Virtual key on vehicle\n- Firmware version > 2023.20\n- Not a pre-2021 Model S or X +Partner -> "Fleet API": Configure vehicle request +"Fleet API" -> Vehicle: Configures vehicle for streaming + +== Once vehicle is configured == + +group mTLS Websocket +Vehicle -> "Fleet Telemetry Server": Data +end +"Fleet Telemetry Server" -> "Data Broker": Data + +@enduml