Skip to content
Docs
foxborne.comRequest a pilot

Google Cloud Storage

Read logs from a Cloud Storage bucket through a service account that holds the Storage Object Viewer role, so Foxborne can list and read objects and change nothing.

How-toEvery deploymentAdminMarkdown
On this page6

Connect a bucket once, and Foxborne reads new objects as they land under the prefix. It reads through a service account with the viewer role and never writes to the bucket.

Before you start#

  • You need the Admin role.
  • The bucket and prefix that hold the logs.
  • A service account for Foxborne to read with, such as [email protected].
  • Rights to change the bucket's IAM policy.

Give the service account read access#

Grant the service account Storage Object Viewer, roles/storage.objectViewer, on the bucket. The role lists and reads objects, and it cannot create, overwrite or delete them.

Grant it on the bucket rather than the project, so the account reads nothing else. The connection test attempts a write and a delete, and confirms that both are refused.

Connect the bucket#

  1. Choose Google Cloud Storage

    In Sources, select Add source, pick Google Cloud Storage under Object storage and select Continue. The card reads A bucket read through a service account with the viewer role.

  2. Fill in the fields

    FieldExample in the consoleWhat to enter
    NameFor example: Fleet log archive, west rangeA name the team will recognize.
    Bucket and prefixgs://your-bucket/px4/The bucket, and the prefix the logs land under.
    Service account[email protected]The service account you granted the viewer role.
    File pattern*.ulgWhich objects to read.

    If the object paths name the vehicle, mark that part with {vehicle}, as in the pattern {vehicle}/{yyyy-mm-dd}/*.ulg. With a pattern such as *.ulg, Foxborne matches each flight log by the MAVLink system ID it records.

  3. Test the connection

    Select Test connection. Four checks appear one after another:

    CheckResult
    Resolve and connect.Reached the location from the Foxborne worker.
    List objects.Read access confirmed.
    Attempt a write.Refused, as it should be.
    Attempt a delete.Refused, as it should be.
  4. Add the source

    Select Add source. The toast names the source and says The first sync is running.

Check the result#

  • The source appears in Connections with Read-only, verified under Access and Healthy under Status.
  • The drawer shows the bucket under Location, the service account under Credential and your pattern under Matches.
  • Guarantees states Every file is hashed with SHA-256 before parsing and stored unmodified.
  • The audit log records Added source with a detail such as Google Cloud Storage, read-only test passed.

Troubleshoot#

  • Status shows Needs attention or Error. Open the source's drawer and read the note at the top.
  • Files land on the wrong vehicle. Check where {vehicle} sits in the pattern against the real object names. Or leave it out, and let the system ID in each flight log decide.
  • Runs from the bucket show Partial. The bucket holds flight logs only. Bring in the journal and receive log through a collector, another source or Import files.

Next#