feat(provider): add Unikraft Cloud service provider#986
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Codex review: found issues before merge. Reviewed July 9, 2026, 3:49 AM ET / 07:49 UTC. Summary Reproducibility: not applicable. for the feature itself. For the retained review finding, the current merge result still shows the direct Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Land the provider only after maintainer acceptance of built-in Unikraft Cloud support, with the direct changelog line removed and release-note context preserved in the PR body or commits. Do we have a high-confidence way to reproduce the issue? Not applicable for the feature itself. For the retained review finding, the current merge result still shows the direct Is this the best way to solve the issue? Unclear: the provider-local adapter approach and live proof fit the repository direction, but built-in provider acceptance remains a maintainer product decision. The release-owned changelog edit should be removed before merge. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 7239e753df64. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (4 earlier review cycles)
|
Co-authored-by: Cursor <cursoragent@cursor.com>
The Unikraft Cloud instance-create API expects `image` to be a JSON string
(e.g. "nginx:latest"), but the client serialized it as an object
{"url": "..."}. Live create requests failed with HTTP 400:
"'image' in instance creation arguments has type 'object', but expected
'string'", so warmup never provisioned an instance against the real API.
Verified end-to-end against api.fra.unikraft.cloud (metro fra):
warmup -> status --wait -> list -> stop, with zero residual instances
after cleanup (confirmed via crabbox list, raw API list, and direct
UUID lookup).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
✅ Live create → use → destroy proof (metro
|
…rovider # Conflicts: # docs/features/provider-live-smoke.md # docs/providers/README.md
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Summary
unikraft-cloudprovider for creating, inspecting, listing, and deleting claimed Unikraft Cloud OCI-image microVM services.Test plan
go test ./internal/providers/unikraftcloud ./internal/providers/all ./internal/cligo test ./cmd/crabboxnode scripts/generate-provider-matrix.mjs --checknode scripts/check-command-docs.mjsnode scripts/check-docs-links.mjsgit diff --checkMade with Cursor