Skip to content

About

Shared Go packages for estate services: pg and goose, testcontainers, config, logging, health, security headers, auth.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

go-commons

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

Use

go get github.com/JorisJonkers-dev/go-commons@vX.Y.Z

Pin 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 tag

Work on it

mise 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.

About

Shared Go packages for estate services: pg and goose, testcontainers, config, logging, health, security headers, auth.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages