Shared wire-types module across API, agent, and provider #15
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem. Rendered-config and model types are duplicated across
tomswallapi (compiler output), tomswall (
internal/agent), and the Terraformprovider (client structs). Three hand-synced copies of the same schema is a
standing invitation for skew — and skew here means silent policy gaps (see
tomswall #1).
Proposal. Extract one Go module (e.g.
tomswall-types) owning: therendered per-device config schema (with
schema_version), the APIrequest/response DTOs, and the source/dest selector grammar parser. All three
repos import it; drift becomes a compile error. Alternative: an OpenAPI spec
in this repo with generated clients — heavier, but also gives you #17's
plan-time validation for free.