APPLIER
A stateful configuration compiler that turns minimal UBI-family bases into purpose-built appliances with security, efficiency, and modularity as first-order constraints.
Problem
Purpose-built appliances tend to accumulate hand-written installation steps, undocumented state, and base-image assumptions. APPLIER treats the desired appliance as a compilable specification instead of a pile of shell history.
Constraints
- Accept UBI Micro and larger UBI-family bases without assuming a full userland.
- Keep the generated appliance small, auditable, reproducible, and explicit about retained state.
- Separate appliance intent from implementation so an LLM or human can produce the same structured build input.
- Avoid hidden network access, mutable bootstrap behavior, and unnecessary runtime tooling.
Architecture
- 01
Purpose specification describes services, packages, files, users, capabilities, ports, health checks, and retained state.
- 02
A compiler resolves that specification into deterministic build stages and validates incompatible requirements before execution.
- 03
Build adapters target the capabilities available in the selected UBI base instead of forcing every base into one installation path.
- 04
The output includes a machine-readable manifest so the appliance can explain how it was assembled.
Failures / lessons
- Minimal images are only useful when the build system understands what is absent; minimalism cannot be implemented as deletion after the fact.
- State needs to be declared as deliberately as packages. Undocumented state is configuration debt with better camouflage.
- LLM-assisted configuration is safer when the model produces a constrained intermediate representation rather than executable shell.