Skip to content

feat(viewer): add optional GCS and S3 cloud sources for local computer viewer - #1035

Open
jonasjancarik wants to merge 3 commits into
marcone:main-devfrom
jonasjancarik:feat/cloud-viewer-gcs
Open

feat(viewer): add optional GCS and S3 cloud sources for local computer viewer#1035
jonasjancarik wants to merge 3 commits into
marcone:main-devfrom
jonasjancarik:feat/cloud-viewer-gcs

Conversation

@jonasjancarik

@jonasjancarik jonasjancarik commented Mar 2, 2026

Copy link
Copy Markdown

Summary

  • keep existing local TeslaUSB viewer flow intact
  • add an additive Cloud source in Viewer (Local/Cloud switch)
  • add cloudviewer-api service for GCS listing/signing/streaming + local compatibility endpoints
  • add local computer runtime via Docker Compose and nginx proxy wiring
  • document setup in doc/CloudViewerGCS.md

Details

  • frontend source selector and source-aware loading/playback in teslausb-www/html/index.html
  • cloud endpoints:
    • GET /api/v1/cloud/health
    • GET /api/v1/cloud/videolist
    • GET /api/v1/cloud/object-url
    • GET /api/v1/cloud/stream
  • local compatibility endpoints:
    • GET /api/v1/local/config
    • GET /api/v1/local/status
    • GET /api/v1/local/videolist
  • docker files:
    • docker-compose.yml
    • docker/nginx-cloudviewer.conf
  • env/docs:
    • .env.example
    • doc/CloudViewerGCS.md

Validation

  • cd cloudviewer-api && go test ./...
  • docker compose config
  • docker compose build
  • smoke:
    • GET /api/v1/cloud/videolist
    • GET /api/v1/cloud/object-url?...

Transparency: Coded by Codex; manually tested by @jonasjancarik.

@jonasjancarik jonasjancarik changed the title feat(viewer): add optional GCS cloud source for local computer viewer feat(viewer): add optional GCS and S3 cloud sources for local computer viewer Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant