Conversation
A CSV parser for the command line whose subject is timestamps: it reads epoch, ISO 8601 and Windows FILETIME in a column and writes any of them back, localised to a named zone, so a timeline assembled from several tools can be brought onto one clock before analysis. Installed from the upstream release binary, statically linked against musl. Pinned to the version's own tag rather than the rolling 'release' tag, whose artefacts are rebuilt monthly against a newer IANA database and whose checksum therefore moves; a pin to it would fail source_hash on every install after the next rebuild. Linux binaries are published for x86-64 only, so the state carries the amd64 grain guard rather than installing a binary that cannot run. The manual page is generated by the binary itself at install time, from the same definitions that parse its options, so the page on the image cannot describe an option this build lacks. Renovate can keep the pin current: one GitHub-hosted asset with a single digest is the case the custom manager handles, capturing the version and the hash together so a bump arrives as a matching pair.
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.
In support of teamdfir/sift#684, opened at Rob Lee's request that csvdt be added to the SIFT Workstation project.
Adds csvdt, a command-line CSV parser whose subject is timestamps: it reads epoch, ISO 8601 and Windows FILETIME in a column and writes any of them back, localised to a named zone. The use it is meant for on SIFT is bringing a timeline assembled from several parsers onto one clock before the rows are correlated.
Disclosure: I am the author of csvdt. Happy to change any of the below, and equally happy to close this if it turns out not to be something SIFT wants to carry.
/usr/local/bin/csvdt. The rollingreleasetag is deliberately not used: its artefacts are rebuilt monthly against a newer IANA tzdata, so its checksum moves and a pin to it would failsource_hashon every install after the next rebuild.aarch64-unknown-linux-muslupstream and drop the guard than have SIFT carry an arch gap on my account; say the word and I will do that before this is merged..github/renovate.jsonhandles. Checked against that regex as renovate applies it (dotAll, whole file) — it capturescurrentValueandcurrentDigesttogether, so a bump arrives as a matching pair rather than a new version against a stale hash.--generate-man), from the same definitions that parse its options, so the page on the image cannot describe an option the installed build lacks.mandbis tolerated as absent.sift/scripts/init.slsin both theinclude:list and thetest.noprequire:list.Applied in the
saltstack-testerimage on 22.04/3007 and 24.04/3006: three states, none failed, and a second run reports all threeClean. The installed binary reportscsvdt 1.0.0+2026.08.8609888 (IANA tzdata 2025b)and writes a 68 KB man page.man -wdoes not resolve it inside the tester image, but only because that image is a minimized Ubuntu with man-db removed — which is the case the(mandb -q || true)tolerance is there for.License: GPL-3.0-or-later. Source: https://github.com/YardQuit/csvdt