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
director
andregistry
components. #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 #348
- Code cleanup in serveNamespaceRegistry by @turetske in #341
- Made Pelican logging able to output to file by @joereuss12 in #346
- Fix problems with config_test.go by @joereuss12 in #363
- Revert "Code cleanup in serveNamespaceRegistry" by @turetske in #364
- Namespace registry serve cleanup by @turetske in #365
- Renamed getOriginJWK to getServerJWK by @turetske in #339
- Use Server.Hostname than os.Hostname() in generating CA by @haoming29 in #356
- Standardize server init and cleanup a few other small items by @jhiemstrawisc in #362
- Fix issue with progress bar panic on download by @joereuss12 in #369
- Always generate a CA if no host certificate present by @haoming29 in #375
- Add authorization to Prometheus /metrics endpoint by @haoming29 in #373
- Set correct log level for Prometheus logger by @haoming29 in #358
- Unit test for namespace-registry by @joereuss12 in #337
- Introduce enum for health status and component names for SetComponentHealthStatus by @haoming29 in #376
- Fix Config Bug by @CannonLock in #381
- Refactor init_server_cred to be more clear on their usage by @haoming29 in #382
- Adjusted dev.Dockerfile to run make web-build properly by @turetske in #386
- Git test action updates by @turetske in #385
- Fix small bugs in DiscoverFederation() by @jhiemstrawisc in #400
- Fixed scitokens generation bug by @turetske in #392
- Add swagger spec and include auth APIs and common APIs by @haoming29 in #401
- Replace ComputeExternalAddress by param Server.ExternalWebUrl and rename Server.Port and Server.Address by @haoming29 in #378
- End-to-end test for XRootD by @bbockelm in #328
- Add unit tests to XRootD monitoring handler by @haoming29 in #347
- Hook up monitoring paths functionality by @bbockelm in #407
- Refactor origin_ui to web_ui to reuse basic logic for server web UI/API by @haoming29 in #398
- If no auth token is present, do not emit verbose error message by @bbockelm in #404
- Director-based origin health tests by @haoming29 in #305
- Always unmarshall config when /config API is called by @haoming29 in #395
- Update integration test file by @haoming29 in #422
- Rename namespace-registry to conform to go standards and move registry db test by @jhiemstrawisc in #425
- Update integration test file - update stashcp source by @haoming29 in #426
- Ensure TTL caches evict expired item by @haoming29 in #416
- Federation Overview #221 by @CannonLock in #411
- Reimplimented recursive downloads by @joereuss12 in #377
- Fixed non running e2e test by @turetske in #434
- Remove content length from upload to enable chunked by @djw8605 in #208
- Add authorization policies for OA4MP by @bbockelm in #393
- Add supervisor script to make origins servable by @jhiemstrawisc in #428
- Fix bad error message from director by @jhiemstrawisc in #433
- Fix racing conditions in various director-related code and tests by @haoming29 in #441
- Periodically prepare a combined custom + system CA bundle by @bbockelm in #406
- Add cache supervisord process by @jhiemstrawisc in #443
- Add test dependencies to dev.Dockerfile for PR #419 by @jhiemstrawisc in #450
- Pelican cache with auth by @turetske in #423
- Automatically unpack tarballs when downloaded by @bbockelm in #408
- Web UI Move by @CannonLock in #449
- Fix doc missing space for client-usage.mdx by @haoming29 in #432
- Update Web UI src code location by @CannonLock in #455
- Upgrade NextJS to ^14 by @CannonLock in #454
- Refactor director SD tests and add test for duplicated origins by @haoming29 in #430
- Refactor
generate
package by @haoming29 in #442 - Provide ConfigureOriginAPI a cancel context that can be cancelled on shutdown by @haoming29 in #431
- Implement recursive uploads by @joereuss12 in #415
- Add
listServer
API to director Web UI by @haoming29 in #458 - Refactor file transfer tests into a utility class by @haoming29 in #447
- Swagger docs by @CannonLock in #456
- Provide better message (with no error) when we register an already-registered namespace prefix by @jhiemstrawisc in #461
- Arm-compatible Pelican container and fix 404 minio RPM by @haoming29 in #469
- Adding dir listing capability to Pelican Origins by @joereuss12 in #468
- Enable key chaining to protect super/sub namespaces by @jhiemstrawisc in #460
- Fix progress bar for recursive downloads by @joereuss12 in #471
- Director UI by @CannonLock in #466
- Build containers but don't push on PR by @CannonLock in #467
- Data Exports Overview Table #220 by @CannonLock in #410
- Lock NextJS to 14.0.3 by @CannonLock in #475
- Fix progress bars w/ recursive uploads and downloads by @joereuss12 in #473
- Add S3 backend to Pelican by @jhiemstrawisc in #419
- Refactor
checkAPIToken
to be more generic and less verbose by @haoming29 in #429 - Make the registry aware of topology by @jhiemstrawisc in #470
- Add draft of SECURITY.md by @jhiemstrawisc in #324
- Placeholder namespace UI 354 by @CannonLock in #478
New Contributors
- @timtheisen made their first contribution in #348
- @djw8605 made their first contribution in #208
Full Changelog: v7.2.0...v7.3.0