Release Notes v0.1.0¶
Released: 2026-11-01
Highlights¶
The first release of systemspec-credential: a registry of the credentials
a set of systems needs, without their values, and an event log of what
happened to each. From the two, credspec works out what to do next and
what is due, and writes it out for people.
- One validated registry. Every secret, key, token, certificate and account: what it is for, how and where it is made, what it may do, where it is stored, who uses it, who handles it and how it rotates. Write it in JSON or build it in Go; both pass the same validation, and the JSON Schemas are generated from the Go types.
- What to do next. Each credential is
to-create,to-record,to-deployordeployed, with its next step: the console or command that makes it, and how to install it in each store. - What is due. A lifecycle state from the rotation policy and the
events, and a
statuscommand that fails a deploy when anything is expired or overdue. - Reports for people. A self-contained HTML report, a management plan with the launch checklist and the rotation calendar, an iCalendar export and a Markdown reference for documentation sites.
The Registry¶
Each entry describes one credential in one place for one environment.
- Where it comes from: the issuer and its console, and the generation
method (
random,keypair,issued,derivedorfederated) with the command or console steps. - Where it lives: each store with its role (
primary,backuporrendered), path, console, and how the value is installed there. - Who uses it and what it may do: consumers, entitlements, what a holder can do and how to revoke it.
- Rotation:
scheduled,on-expiryoron-demand, with the procedure and its impact. - Handling: whether a person or a system generates, distributes and rotates it. Every report counts what needs you by hand.
- Reach:
dependsOnandreacheslink credentials, so each shows what its leak exposes, directly or through others, and which credentials expose it. - Accounts: a person's login that controls other credentials, with its protections and recovery.
See The Registry.
Events, Work and States¶
credspec record adds created, rotated, expires, deployed,
verified and revoked events, for one credential or every one matching
a * pattern. From them come each credential's work progress and its
lifecycle state: ok, due, overdue, expiring, expired,
unknown-expiry, unrecorded, planned or retired.
Reports¶
| Format | For |
|---|---|
html |
Browsing: search, filters, details, shareable filtered views, CSV |
plan |
Doing: the launch checklist in dependency order, what to record and deploy, the rotation calendar, account protections, exposure |
ics |
Remembering: every rotation and expiry with a reminder, stable across re-imports |
markdown |
Documentation: a reference that depends only on the registry |
json |
Other tools |
Time-dependent reports record their as-of date, read back by report.AsOf,
so a test can check a committed copy is current. See
Reports.
Packages¶
| Package | Purpose |
|---|---|
credspec |
Types, validation, event log, states, progress, reach |
report |
The reports |
schema |
The generated JSON Schemas, embedded |
cli |
The commands, mountable in your own Cobra tool |
cmd/credspec |
The standalone command |
credspec and report depend only on the standard library and oscompat.
Files are written atomically, and the same code is correct on Linux, macOS
and Windows. See Using It from Go.
Installation¶
go install github.com/plexusone/systemspec-credential/cmd/[email protected]
or, as a library:
go get github.com/plexusone/[email protected]
Compatibility¶
This is the first release. The registry and event log formats are at
formatVersion 1; a change that breaks existing files will change that
version.
Documentation¶
- A MkDocs site with guides to getting started, the registry, events and states, reports and use from Go.
- The product and technical requirements, the plan and the roadmap under Design.