Skip to main content

Module fingerprint

Module fingerprint 

Source
Expand description

What a plan’s identity is, and what it deliberately ignores.

An approval binds to a fingerprint over the semantic inputs, and an apply regenerates it and refuses on any difference. So the fingerprint has to answer one question exactly: would this plan still do the same thing to the same target? Anything that changes the answer is in. Anything that cannot is out, or every rerun would invalidate itself.

The encoding is RFC 8785 JSON canonicalization, restricted to the value kinds a plan’s inputs need: integers, strings, booleans, nulls, arrays, and string-keyed objects. Floating point is excluded by the type rather than handled, because the one genuinely subtle part of the RFC is the number grammar and a plan has no reason to carry a float.

Enums§

Value
The value kinds a fingerprint input may be.

Functions§

canonical
Encode one value as RFC 8785 canonical JSON.
fingerprint
The digest of one canonical encoding.