Repository navigation
Conversation
Add app_link, app_list, app_get, app_deploy, app_rollback and app_unlink. GitHub Actions uploads releases with an OIDC token checked against the linked repository, branch and event. carrel-deployd, installed by the machine owner, long-polls for releases, switches them atomically and rolls back on a failed health check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Unpack through os.Root into a staging directory, refuse existing names and cap unpacked size, so chained links cannot write outside a release. - Reserve images_gb and free disk before streaming and allow one upload per app at a time. - Clear pending on live and failed reports; never prune a deploying release; reuse an unpacked release instead of deleting the running one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
Summary
app_link,app_list,app_get,app_deploy,app_rollback,app_unlink(PLAN 7.9).POST /apps/v1/{tenant}/{app}/releasesaccepts a GitHub OIDC token (audience = carrel host) and checks repository, branch, event, and the repository id pinned on first deploy. Artifacts count againstimages_gb, at most 500 MB, 3 kept.carrel-deployd(newcmd/) long-polls/apps/v1/agent/nextwith a per-app token (stored hashed), verifies the checksum, unpacks safely, switchescurrentatomically, health-checks the port and rolls back on failure./apps/v1/install.shsets up the agent and thecarrel-app-<app>unit; the start command stays in a local file carrel cannot change.app_unlinkremove app records, releases and stored files.Test plan
go test -race ./...on sandbox (10 new control-plane tests, 3 agent tests)🤖 Generated with Claude Code