Release
v7.3.0
Highlights
For Users
- Users can now recursively upload and download files. #260, #261
- Users can upload a local directory to a data federation as a tarball and can unpack a tarball into a directory as it downloads.
- For improved debugging, writing a debug file into a known location is now supported. #22
- Introduced Javascript client allowing browsers to perform file transfers. Installation of the Javascript client enables users via their browser to download a file from a data federation supported by Pelican. #344
For Admins
- [Origin] Added support for S3 file backend so that admins may expose or configure the S3 backend. #169
- [Cache] Added authentication to cache service. #311
- [Issuer] Introduced new OAuth2 issuer built into the origin packaging. #262
- [General] Introduced web pages for the
directorandregistrycomponents. #265, #354, #355 - New feature to allow the director to aggregate metrics from registered origins and to allow the director to periodically test origins #291 #175
What's Changed
- Get rid of superfluous symlink by @timtheisen in https://github.com/PelicanPlatform/pelican/pull/348
- Code cleanup in serveNamespaceRegistry by @turetske in https://github.com/PelicanPlatform/pelican/pull/341
- Made Pelican logging able to output to file by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/346
- Fix problems with config_test.go by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/363
- Revert "Code cleanup in serveNamespaceRegistry" by @turetske in https://github.com/PelicanPlatform/pelican/pull/364
- Namespace registry serve cleanup by @turetske in https://github.com/PelicanPlatform/pelican/pull/365
- Renamed getOriginJWK to getServerJWK by @turetske in https://github.com/PelicanPlatform/pelican/pull/339
- Use Server.Hostname than os.Hostname() in generating CA by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/356
- Standardize server init and cleanup a few other small items by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/362
- Fix issue with progress bar panic on download by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/369
- Always generate a CA if no host certificate present by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/375
- Add authorization to Prometheus /metrics endpoint by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/373
- Set correct log level for Prometheus logger by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/358
- Unit test for namespace-registry by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/337
- Introduce enum for health status and component names for SetComponentHealthStatus by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/376
- Fix Config Bug by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/381
- Refactor init_server_cred to be more clear on their usage by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/382
- Adjusted dev.Dockerfile to run make web-build properly by @turetske in https://github.com/PelicanPlatform/pelican/pull/386
- Git test action updates by @turetske in https://github.com/PelicanPlatform/pelican/pull/385
- Fix small bugs in DiscoverFederation() by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/400
- Fixed scitokens generation bug by @turetske in https://github.com/PelicanPlatform/pelican/pull/392
- Add swagger spec and include auth APIs and common APIs by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/401
- Replace ComputeExternalAddress by param Server.ExternalWebUrl and rename Server.Port and Server.Address by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/378
- End-to-end test for XRootD by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/328
- Add unit tests to XRootD monitoring handler by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/347
- Hook up monitoring paths functionality by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/407
- Refactor origin_ui to web_ui to reuse basic logic for server web UI/API by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/398
- If no auth token is present, do not emit verbose error message by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/404
- Director-based origin health tests by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/305
- Always unmarshall config when /config API is called by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/395
- Update integration test file by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/422
- Rename namespace-registry to conform to go standards and move registry db test by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/425
- Update integration test file - update stashcp source by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/426
- Ensure TTL caches evict expired item by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/416
- Federation Overview #221 by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/411
- Reimplimented recursive downloads by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/377
- Fixed non running e2e test by @turetske in https://github.com/PelicanPlatform/pelican/pull/434
- Remove content length from upload to enable chunked by @djw8605 in https://github.com/PelicanPlatform/pelican/pull/208
- Add authorization policies for OA4MP by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/393
- Add supervisor script to make origins servable by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/428
- Fix bad error message from director by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/433
- Fix racing conditions in various director-related code and tests by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/441
- Periodically prepare a combined custom + system CA bundle by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/406
- Add cache supervisord process by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/443
- Add test dependencies to dev.Dockerfile for PR #419 by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/450
- Pelican cache with auth by @turetske in https://github.com/PelicanPlatform/pelican/pull/423
- Automatically unpack tarballs when downloaded by @bbockelm in https://github.com/PelicanPlatform/pelican/pull/408
- Web UI Move by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/449
- Fix doc missing space for client-usage.mdx by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/432
- Update Web UI src code location by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/455
- Upgrade NextJS to ^14 by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/454
- Refactor director SD tests and add test for duplicated origins by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/430
- Refactor
generatepackage by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/442 - Provide ConfigureOriginAPI a cancel context that can be cancelled on shutdown by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/431
- Implement recursive uploads by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/415
- Add
listServerAPI to director Web UI by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/458 - Refactor file transfer tests into a utility class by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/447
- Swagger docs by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/456
- Provide better message (with no error) when we register an already-registered namespace prefix by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/461
- Arm-compatible Pelican container and fix 404 minio RPM by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/469
- Adding dir listing capability to Pelican Origins by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/468
- Enable key chaining to protect super/sub namespaces by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/460
- Fix progress bar for recursive downloads by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/471
- Director UI by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/466
- Build containers but don't push on PR by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/467
- Data Exports Overview Table #220 by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/410
- Lock NextJS to 14.0.3 by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/475
- Fix progress bars w/ recursive uploads and downloads by @joereuss12 in https://github.com/PelicanPlatform/pelican/pull/473
- Add S3 backend to Pelican by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/419
- Refactor
checkAPITokento be more generic and less verbose by @haoming29 in https://github.com/PelicanPlatform/pelican/pull/429 - Make the registry aware of topology by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/470
- Add draft of SECURITY.md by @jhiemstrawisc in https://github.com/PelicanPlatform/pelican/pull/324
- Placeholder namespace UI 354 by @CannonLock in https://github.com/PelicanPlatform/pelican/pull/478
New Contributors
- @timtheisen made their first contribution in https://github.com/PelicanPlatform/pelican/pull/348
- @djw8605 made their first contribution in https://github.com/PelicanPlatform/pelican/pull/208
Full Changelog: https://github.com/PelicanPlatform/pelican/compare/v7.2.0...v7.3.0
Changelog
- 4e93152 Address code review feedback * Update minio package version as the existing one was removed from archive * Remove redundant code * Preserve dev environment for dev container
- 8904cde Replace xrd-http plugin by xrdcl-pelican plugin in dev-container
- d1e3b82 Replace xrd-http plugin by xrdcl-pelican plugin in prod container
Changelog
- 85cf48c Remove chmod on user-provided xrootd config files
Changelog
- ef6d348 Truncate the plugin output file as soon as possible