Skip to content

Add support for setup of rclone#3085

Open
bbockelm wants to merge 5 commits intoPelicanPlatform:mainfrom
bbockelm:rclone-support
Open

Add support for setup of rclone#3085
bbockelm wants to merge 5 commits intoPelicanPlatform:mainfrom
bbockelm:rclone-support

Conversation

@bbockelm
Copy link
Collaborator

@bbockelm bbockelm commented Feb 7, 2026

This commit adds new sub-commands for installing and configuring rclone to work with a Pelican data federation.

Particularly, rclone has the ability to invoke a command to renew the token if a 401 is sent; this is done and the director now returns a 401 on expiration.

@bbockelm bbockelm marked this pull request as ready for review February 7, 2026 19:58
@bbockelm bbockelm added enhancement New feature or request client Issue affecting the OSDF client labels Feb 8, 2026
@bbockelm bbockelm linked an issue Feb 8, 2026 that may be closed by this pull request
@CannonLock
Copy link
Contributor

@bbockelm What is accepted for the byte_rate config?

Regex filter is ideal, just need something so the web ui can provide some guidance to validity.

@bbockelm
Copy link
Collaborator Author

bbockelm commented Feb 9, 2026

It's perhaps overly-permissive (examples are in the docs and unit test) so a regex may be surprisingly hard.

Accepts a number (float or integer) followed by a unit. The unit can be any common SI prefix followed by '/s' or 'ps' or other time specification.

@CannonLock
Copy link
Contributor

@bbockelm Sounds good, I will tack on a PR tomorrow to sort the config piece.

@bbockelm
Copy link
Collaborator Author

bbockelm commented Feb 9, 2026

One thing to note - this only affects a "hidden" knob currently. I don't have a feel for whether that impacts the web UI code.

This commit adds new sub-commands for installing and configuring
rclone to work with a Pelican data federation.

Particularly, rclone has the ability to invoke a command to renew
the token *if* a 401 is sent; this is done and the director now
returns a 401 on expiration.
Previously, the code iterated through all the existing scopes and
checked to see if they were 'acceptable'.  It's unclear the goal
of this: what we really wanted was to specify all the needed functionality
(read, write, delete) and ask if this functionality would be satisfied
by the existing scopes.

Noticed when rclone kept trying to reuse a token with only storage.create.
- Shared permission implies the token should be generated for exactly
  the path -- it's shared like a "pre-signed URL", as specific as
  possible.
- Regular permission may ask for more authorization to avoid getting
  tokens repeatedly.
@bbockelm
Copy link
Collaborator Author

Note: for a reasonable user experience, we'll need to wait until after rclone/rclone#9152 (or equivalent) is part of an rclone release. Otherwise, beyond syncs of directories (which has a side-effect of avoiding that particular bug), the UX is a lot of errors.

@bbockelm bbockelm requested a review from turetske February 21, 2026 18:53
@turetske turetske self-assigned this Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Issue affecting the OSDF client enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Help bootstrap use of rclone with Pelican

3 participants