Add Debian packaging, Makefile, manpages, tests, and design doc
Introduces a static-binary build and Debian package (amd64/arm64) with version/commit/date stamped via -ldflags. Ships section-1 manpages for ctool, ctfetch, and ctail. Adds a `version` subcommand reachable as `ctool version`, `ctool -version`, `ctool --version`, `ctool fetch version`, `ctool tail version`, and via the ctfetch/ctail symlinks. Adds tests covering the dispatcher, fetch/tail argument parsing, and the formatter/helper functions. Adds a retrofit design document modelled on the vpp-maglev one, with FRs and NFRs for each tool and the dispatcher. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
83
docs/ctool.1
Normal file
83
docs/ctool.1
Normal file
@@ -0,0 +1,83 @@
|
||||
.TH CTOOL 1 "April 2026" "ctool" "User Commands"
|
||||
.SH NAME
|
||||
ctool \- tools for working with Static CT log tiles
|
||||
.SH SYNOPSIS
|
||||
.B ctool
|
||||
.I command
|
||||
[\fIflags\fR] [\fIargs\fR...]
|
||||
.PP
|
||||
.B ctool
|
||||
.B version
|
||||
.SH DESCRIPTION
|
||||
.B ctool
|
||||
is a busybox\-style front\-end for a set of tools that read tiles from
|
||||
a Static CT API log (c2sp.org/static\-ct\-api).
|
||||
It dispatches on the first argument to one of the subcommands below.
|
||||
The same binary can also be invoked through the
|
||||
.B ctfetch
|
||||
or
|
||||
.B ctail
|
||||
symlinks, in which case the subcommand name is implied by the link
|
||||
name; flags and arguments are unchanged.
|
||||
.SH COMMANDS
|
||||
.TP
|
||||
.B fetch
|
||||
Fetch and decode one or more entries from a Static CT log and print
|
||||
them as structured JSON. Supports both leaf\-index lookups and
|
||||
full\-tile dumps, with optional SCT decoding, issuer\-certificate
|
||||
lookup, and CT log\-list enrichment. See
|
||||
.BR ctfetch (1)
|
||||
for the full reference.
|
||||
.TP
|
||||
.B tail
|
||||
Follow a Static CT log. Polls the log's checkpoint, walks new data
|
||||
tiles as they complete, and prints a one\-line summary per certificate
|
||||
or precertificate \(em leaf index, type, validity range, issuer, and
|
||||
subject name. See
|
||||
.BR ctail (1)
|
||||
for the full reference.
|
||||
.TP
|
||||
.B version
|
||||
Print the binary's version, git commit hash, and build date, then
|
||||
exit. Equivalent forms
|
||||
.B ctool fetch version
|
||||
and
|
||||
.B ctool tail version
|
||||
also work and print the same information.
|
||||
.SH EXAMPLES
|
||||
Fetch a single leaf entry with all optional enrichments:
|
||||
.PP
|
||||
.RS
|
||||
.EX
|
||||
$ ctool fetch https://halloumi2026h1.mon.ct.ipng.ch 629794635 +all
|
||||
.EE
|
||||
.RE
|
||||
.PP
|
||||
Tail a log from the current tree tip:
|
||||
.PP
|
||||
.RS
|
||||
.EX
|
||||
$ ctool tail https://halloumi2026h2.mon.ct.ipng.ch
|
||||
.EE
|
||||
.RE
|
||||
.PP
|
||||
Print the build version:
|
||||
.PP
|
||||
.RS
|
||||
.EX
|
||||
$ ctool version
|
||||
ctool version 0.1.0 (commit abc1234, built 2026\-04\-21T12:00:00Z)
|
||||
.EE
|
||||
.RE
|
||||
.SH "FULL DOCUMENTATION"
|
||||
This manpage is an overview only. For the complete reference of each
|
||||
subcommand \(em every flag, every output modifier, and the format of
|
||||
the JSON and tail\-line output \(em see the per\-command manpages:
|
||||
.BR ctfetch (1)
|
||||
and
|
||||
.BR ctail (1).
|
||||
.SH SEE ALSO
|
||||
.BR ctfetch (1),
|
||||
.BR ctail (1)
|
||||
.SH AUTHOR
|
||||
Pim van Pelt <pim@ipng.ch>
|
||||
Reference in New Issue
Block a user