-
-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add tar/asm.IterateHeaders #71
Conversation
This allows reading the metadata contained in tar-split without expensively recreating the whole tar stream including full contents. We have two use cases for this: - In a situation where tar-split is distributed along with a separate metadata stream, ensuring that the two are exactly consistent - Reading the tar headers allows making a ~cheap check of consistency of on-disk layers, just checking that the files exist in expected sizes, without reading the full contents. This can be implemented outside of this repo, but it's not ideal: - The function necessarily hard-codes some assumptions about how tar-split determines the boundaries of SegmentType/FileType entries (or, indeed, whether it uses FileType entries at all). That's best maintained directly beside the code that creates this. - The ExpectedPadding() value is not currently exported, so the consumer would have to heuristically guess where the padding ends. Signed-off-by: Miloslav Trmač <[email protected]>
@mtrmac, this is very nice! Thank you for exposing this! There was a use case I had where exposing |
/approve |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting use-case. Thanks for that.
and i've tagged release v0.11.6 |
@vbatts Thanks! |
The current code simply ignores |
This allows reading the metadata contained in tar-split without expensively recreating the whole tar stream including full contents.
We have two use cases for this:
This can be implemented outside of this repo, but it's not ideal:
SegmentType
/FileType
entries (or, indeed, whether it uses FileType entries at all). That's best maintained directly beside the code that creates this.ExpectedPadding()
value is not currently exported, so the consumer would have to heuristically guess where the padding ends.Cc: @kwilczynski