Repository navigation
feat(recipes): add recipe contract v3 - #65
Merged
Merged
Conversation
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Cover explicit schema compatibility, schema-2 v3 blocks, and health timeout presence. Assert SaveSecrets preserves an empty recipe entry in its caller-owned map. Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: NovusEdge <novusedge0@gmail.com>
Signed-off-by: NovusEdge <novusedge0@gmail.com>
1 of 2 tasks
PR #48 merged install-alpine.sh into install.sh and dropped its setup-xorg-base call. Alpine's xfce4 metapackage does not depend on xorg-server or xinit, so tty1 looped on 'startx: not found' and the e2e libinput assert failed. Signed-off-by: NovusEdge <novusedge0@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Add typed recipe parameters, separate private secret storage, declared outputs,
and health checks across SSH/cloud-init provisioning, CLI status/logs/wait,
the TUI parameter form, bundled recipes, and annotated samples.
Includes regression coverage for SSH argument joining, quoted output read-back,
and the Alpine XFCE X-server setup fix also tracked in #66.
Why
Recipe configuration and health are now explicit contracts instead of manual
script edits. Preserve schema2 recipes, the existing recipes name list, and
JSON contract2 with additive recipe-detail fields.
Tests run
26c52dc:go build ./... && go test ./... && golangci-lint run ./...passed once; lint reported
0 issues.26c52dc: Debian 13 cloud check passed once, including cloud-init,parameter delivery, child-process secret export, transient-secret removal,
output discovery, parameter-triggered SSH re-apply, health, public-reader
redaction, and private seed permissions.
305a1dd: Alpine disk e2e passed once after restoring X-server setup.The run verified the installed ext4 root, XFCE, udev, Xorg/libinput, Docker
and redaction-fixture outputs, healthy wait, secret masking in apply/log/status
readers, and the parameter-change dry-run assertion.
The unit gate and Debian check were not repeated after the Alpine-only fix.
Earlier validation at
a02cd93included vet, tidy, formatting, Just lint,ShellCheck, and Python MCP tests (131 passed, 4 existing warnings). The last
race run passed at
c698919; no race refresh was run in this follow-up.A fresh whole-branch review remains pending; all three earlier chunk reviews
were approved.
Live output
Debian 13 cloud check (
26c52dc, exit 0):Alpine disk e2e (
305a1dd, exit 0):Test guests used isolated data roots, headless VNC, 2048 MiB RAM, and 2 CPUs.
Both successful guests were stopped and deleted; runner logs are retained
locally. No existing user VM or daemon was changed.
OS matrix
305a1dd.26c52dc.Docs
CLI and JSON references, canonical annotated samples, and cloud secret-storage
notes updated. Host secret-bearing seed files remain owner-only; guest
transient delivery is removed after recipe commands. No host-seed deletion or
disk-detach behavior is promised.