-
Notifications
You must be signed in to change notification settings - Fork 0
Migrating from Java
The Crystal implementation is the same product: same profile schemas, same command surface, same trust rules.
Both frontends are supported exactly as documented — the stable
profile/os/jobs schema including the phases and modules aliases, and
WorkstationProfile manifests with apiVersion: initkit.io/v1alpha1.
Check before switching:
fluxion validate -c your-profile.yaml
fluxion dry-run -c your-profile.yamlState files written by the Java version are read directly. The vocabulary changed internally — phases became jobs, modules became steps — but the recorded work is the same work, so it maps across.
fluxion state showYou should see what previous runs recorded. Nothing needs reinstalling.
--phase is now --job. The old name is not accepted; the docs and the
error messages agree on one word.
import produces a complete profile. The Java version emitted a bare
fragment that could not be validated or previewed without hand-editing a header
onto it. The job inside still lifts straight into an existing profile.
Colour is automatic. Output piped into a file or a pager is plain without
passing a flag, and NO_COLOR is honoured.
There is no JVM. A single static binary, no runtime to install.
The rules that matter are identical, and deliberately so:
- Downloads are HTTPS-only, size-bounded, and digest-checked before use
- A detached signature must name a signer the profile explicitly trusts
- Privileged commands resolve their target under a root-owned system directory
-
applyrefuses to run as root - Items marked
confirmneed--yes; nothing prompts mid-run - An unanswerable probe reports unknown, never missing
That is a bug worth reporting. The Crystal implementation was written against a
behavioural specification extracted from the Java sources — exact enum
spellings, argv vectors, validation messages, and the state file format — and
that specification is in the repository under .port-spec/.
Include the profile, the command, and what you expected.