HDFS content-server signer + YAML config; select signer for HDFS/WebHDFS#785
Open
myloginid wants to merge 4 commits intodelta-io:mainfrom
Open
HDFS content-server signer + YAML config; select signer for HDFS/WebHDFS#785myloginid wants to merge 4 commits intodelta-io:mainfrom
myloginid wants to merge 4 commits intodelta-io:mainfrom
Conversation
…r for HDFS/WebHDFS; add jose4j dep
…eak long lines; direct signer config; add hdfsSigner default in ServerConfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title: HDFS content-server signer + YAML config; select signer for HDFS/WebHDFS
Why
Summary of changes (delta-sharing submodule)
server/src/main/scala/io/delta/sharing/server/common/HdfsFileSigner.scala: Signs Ed25519 JWT tokens and returns/get?token=...URLs pointing at a Content Server.standalone/internal/DeltaSharedTable.scala: chooseHdfsFileSignerwhen table data path is onorg.apache.hadoop.hdfs.DistributedFileSystem,org.apache.hadoop.hdfs.web.WebHdfsFileSystem, ororg.apache.hadoop.hdfs.web.SWebHdfsFileSystem.kernel/internal/DeltaSharedTableKernel.scala: matches the same logic for Kernel path.server/src/main/scala/io/delta/sharing/server/config/ServerConfig.scala: addhdfsSignerwith fields:contentServerBase: base URL for the Content Server (e.g.,https://content.example.com).signingPrivateKeyFile: PEM Ed25519 private key path.audience(optional): JWT aud to embed/enforce.kid(optional): key id for rotation.server/src/main/scala/io/delta/sharing/server/DeltaSharingService.scala: configureHdfsFileSignerfrom YAML if provided; falls back to env/-D.config/delta-sharing-server.yaml.sample: showshdfsSigner:block with comments.build.sbt: addorg.bitbucket.b_c:jose4jfor Ed25519 JWT signing.Behavior & compatibility
Content Server (reference implementation in companion repo)
/get?token=...endpoint with:Range: bytes=...handling; returns 206 +Content-Range.config/content-server.yaml.sample.Security
audandkidsupport; rotation by adding new public key to Content Server.Testing
hdfsSignerconfigured (YAML or env).queryand fetch file URLs; verify they are/get?token=....curl -H 'Range: bytes=0-1023'the returned URL; expect206 Partial Content.Docs
hdfsSignerblock; comments explain fields and operational guidance.Notes