Go packages three estate services share: grimoire, tribelt and the estate dashboard. A package lands here only when a consumer migrates to it, in a pull request of the consumer's that names this one (#1). Nothing here is speculative.
| Package | What | Consumers |
|---|---|---|
identity |
who is calling, from identity's Principal contract: the Gate's signed header and JWT access tokens verified against the Issuer's keys, opaque tokens introspected, and the policy helpers RequireRole, RefuseTools, RequireUser, RequireMachine and RequireRecentTwoFactor |
identity (JorisJonkers-dev/identity#109) |
identity/signin |
the sign-in kit for a native app: the code flow with PKCE on go-oidc, a session holding the access token's Principal, back-channel logout, and RequireRecentTwoFactor asking identity for a fresh proof; held to identity's flow-conformance suite (contract/flows) |
identity's flow-conformance suite |
secure |
the browser hardening headers: the three every service sends the same, and the content security policy, permissions policy and HSTS each service sets | estate-dashboard |
testlint |
lints for the estate testing standards: a test named as a sentence, and a table of functions that runs each case as a named t.Run; run as go tool testlint ./... |
identity |
go get github.com/JorisJonkers-dev/go-commons@vX.Y.ZPin an exact tag; see VERSIONING.md. Pre-1.0, a minor release may break an API.
The test lints are a tool, not a library:
go get -tool github.com/JorisJonkers-dev/go-commons/cmd/testlint@vX.Y.Z
go tool testlint ./... # and -tags integration ./... for tests behind that tagmise install, then task check, which is everything CI runs: lint, the tests with the race
detector and a 95% coverage gate, and a secret scan.