Summary
Add an explicit snapshot-profile option that allows a Google Drive rclone remote to use rclone's default/shared Drive OAuth client when the operator has intentionally chosen to reuse an existing machine-level rclone synchronization setup.
Problem
bbackup currently treats any Google Drive rclone: snapshot profile without a configured client_id as unhealthy:
Google Drive remote ALIEN001-GD has no client_id; configure a dedicated OAuth client before treating this snapshot profile as reliable
That is a good safe default, but it blocks hosts where the same rclone remote is already the configured and monitored Google Drive synchronization surface. On SCAR01, the mounted Google Drive service and the backup profile both use the same working remote:
The remote is reachable, mounted, and has a valid token, but no dedicated client_id field. Because the health check is hard-fail only, local snapshot automation refuses to run with:
Refusing to run snapshot profile with critical alerts
Requested behavior
Keep the current safety default, but add an explicit profile-level opt-in such as:
snapshot_profiles:
essentials-daily:
repository: rclone:ALIEN001-GD:backups/SCAR01/restic/essentials-daily
allow_default_rclone_drive_client: true
When this flag is absent or false, preserve the current behavior: Google Drive remotes without client_id fail health checks.
When true, allow the profile health check to pass with a clear message such as:
Google Drive remote ALIEN001-GD uses the default rclone Drive client by explicit profile configuration
Local proof-of-concept
A focused local patch was tested with:
uv run pytest tests/test_snapshot.py -q
Result:
The patch shape is small:
- Add
SnapshotProfile.allow_default_rclone_drive_client: bool = False.
- Parse
allow_default_rclone_drive_client from profile config.
- In
_rclone_drive_client_id_check, accept a Drive remote without client_id only when the profile flag is true.
- Add a regression test proving default rejection remains and explicit opt-in passes.
Rationale
This keeps the conservative default for reliability-sensitive backups while giving operators an auditable way to acknowledge and accept the existing rclone Drive client configuration for a specific profile. The opt-in is profile-local, visible in config review, and avoids weakening health checks globally.
Summary
Add an explicit snapshot-profile option that allows a Google Drive rclone remote to use rclone's default/shared Drive OAuth client when the operator has intentionally chosen to reuse an existing machine-level rclone synchronization setup.
Problem
bbackupcurrently treats any Google Driverclone:snapshot profile without a configuredclient_idas unhealthy:That is a good safe default, but it blocks hosts where the same
rcloneremote is already the configured and monitored Google Drive synchronization surface. On SCAR01, the mounted Google Drive service and the backup profile both use the same working remote:The remote is reachable, mounted, and has a valid token, but no dedicated
client_idfield. Because the health check is hard-fail only, local snapshot automation refuses to run with:Requested behavior
Keep the current safety default, but add an explicit profile-level opt-in such as:
When this flag is absent or false, preserve the current behavior: Google Drive remotes without
client_idfail health checks.When true, allow the profile health check to pass with a clear message such as:
Local proof-of-concept
A focused local patch was tested with:
Result:
The patch shape is small:
SnapshotProfile.allow_default_rclone_drive_client: bool = False.allow_default_rclone_drive_clientfrom profile config._rclone_drive_client_id_check, accept a Drive remote withoutclient_idonly when the profile flag is true.Rationale
This keeps the conservative default for reliability-sensitive backups while giving operators an auditable way to acknowledge and accept the existing rclone Drive client configuration for a specific profile. The opt-in is profile-local, visible in config review, and avoids weakening health checks globally.