Cloud sync troubleshooting
What to do when the Google Drive sync misbehaves, and what to do if a credential leaks. Setting the sync up in the first place is Google Drive session sync, and the section numbers referred to below are that page’s.
9. If a credential leaks (incident response)
If rclone.conf, the OAuth client secret, or a service-account JSON is ever
committed, pasted into a log, or otherwise exposed:
- Revoke the OAuth client’s access: Google Account → Security → Third-party
access → remove
mseq-cloud-sync; and/or rotate the client secret in Cloud Console (Credentials → mseq-rclone → reset secret). - Treat the git history / log as compromised.
- Re-run Sections 1 and 5 to mint a fresh credential and re-auth each Pi.
rclone obscure in the config is obfuscation, not encryption: treat the
whole file as a live secret regardless.
10. Service-account variant (only if you chose that model in Section 0)
Instead of the OAuth dance:
- In Cloud Console: IAM & Admin → Service Accounts → Create. Create one service account per Pi (or one shared: your call). For each, Keys → Add Key → JSON and download the JSON.
- Copy each Pi’s JSON to it as
/etc/mseq/google-service-account.json(0640 root:patch). - In
rclone config, leaveclient_id/client_secretblank and setservice_account_file> /etc/mseq/google-service-account.json. - Share
mseq/with each service account’s email (it looks likename@project.iam.gserviceaccount.com) as Editor in the Drive web UI. Without this, the service account cannot read or write the shared tree. - Run the Section 8 visibility check.
Troubleshooting quick reference
| Symptom | Likely cause | Fix |
|---|---|---|
| Wizard tries to open a browser / hangs on a Pi | answered “yes” to auto config | Re-run, answer No, use rclone authorize on a desktop (Section 5) |
| Sync works for ~7 days then stops | OAuth consent screen left in Testing | Publish App (Section 1.3) and re-auth |
Frequent rateLimitExceeded / slow sync |
using rclone’s shared default client ID | create your own OAuth client (Section 1) |
| PEER view empty, no error | peer never pushed yet | wait one push cycle; confirm with Section 8 |
| Section 8 listing errors with permission/not-found | wrong auth model wiring | shared-account: confirm both Pis use the same account; service-account: confirm mseq/ is shared (Section 10.4) |
Cross-References
- Google Drive session sync: the setup walkthrough these fixes refer back to
- Saving and loading sessions: what the sync does once it is running