picklebox
The conceptual model of a box — the base types, the four orthogonal classes, and the resolvers.
Picklebox is the conceptual model for an Angelbox box. It owns the base
types — Box, Instance, Location, BoxSettings — the four
orthogonal classes (Ssh, Probe, Unlock, Nixoply), the resolver
set (simple-host, nixoply, website), and the bash pipeline that
projects a box.pkl and shape.pkl pair into the configuration that
lands on the machine.
The four classes are orthogonal on purpose. A box is reachable over ssh, it is probed for its facts, it can be unlocked for local changes, and it can be configured by nixoply — four separate concerns, four separate tools, none of which needs to know the others exist.
The configuration is Pkl, so it is typed. A box that does not say what it is will not compile.
- REPOSITORYhttps://gitlab.com/angelbox/picklebox
