Help us shape the future of Go! Take the 2026 Go Developer Survey

tool-go

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2026 License: MIT

README

tool-go

The Go runtime for a garm tool service. What your service imports so that serving a governed tool is a handler body and a main, and nothing else.

What is here

garmtool/ Serve, lifecycle, health, drain, structured errors, middleware, cancellation, idempotency.
testkit/ The harness for testing your own tool service.
templates/ What garm new toolservice --lang go writes.
conformance/ Runs the suite published by garm against your service.

Why this is its own repository

Because the boundary has to be real. A tool service must not be able to import the enforcing code and run the policy chain itself — that is a second, unreviewed implementation of governance, in the place it matters most.

Inside one repository that is a rule a refactor can quietly relax. As a separate module in a separate repository, it is a fact about what go get can reach.

The same boundary means your build does not inherit garm's dependency tree.

What is deliberately not here

  • Enforcement. Your service receives a request that has already passed the chain. It does not re-check, and it is not given the means to.
  • The annotations or the generator — garm.
  • The garm-side test harness. garmd has its own, for testing the chain. This one is for testing your handler.

Status

Early. toolbind and a NATS runtime that serves registered tools and drains on shutdown. Health, structured errors, middleware, cancellation, idempotency and the conformance suite are not built.

MIT licensed.

Directories

Path Synopsis
Package garmtool runs a tool service.
Package garmtool runs a tool service.
Package toolbind is the seam a generated tool binding registers against.
Package toolbind is the seam a generated tool binding registers against.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL