Repository navigation
S27: TeployAdapter behind SHIP_DEPLOY_ADAPTER=teploy (default off) - #54
Merged
Merged
Conversation
…Y_ADAPTER=teploy (default off) Implements DeploymentAdapter for Teploy (status --json, deploy, rollback --to, exec image inspect) and an optional adapter path in executeDelivery and executeDeliveryRollback. Legacy path is untouched when the flag is off. Capabilities the CLI cannot honestly provide are declared in capabilities().unsupported and the dependent conformance checks report skipped. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqsBNqvaWezf1DwQrAnVgX
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.
Changes
src/teploy-adapter.ts:TeployAdapterimplementsDeploymentAdapterover the same argv runner and commands delivery.ts uses (status --json,deploy --image --version --skip-dns-check,rollback --to,exec ... docker image inspect). Bound to one service@destination;status.appmust match or the answer isunknown. Ship-host file lease (fencing: lease).capabilities().unsupported(new optional field in deployment-adapter.ts) declares: destination fence vs manualteploy deploy, provider dry-run, target generation token, recovery artifact digest, logs, provisioning, other recovery modes.src/delivery.ts: optionaladapterfactory onexecuteDeliveryandexecuteDeliveryRollback. Absent means the legacy code runs unchanged. Present: preconditions/build stay shared; only the deploy command and rollback go through the adapter journey. Record states unchanged (acted ->unknown, not acted ->held); the legacy sweep still confirms.src/worker.ts: passes the factory only whenSHIP_DEPLOY_ADAPTER=teploy.src/fixtures/fake-teploy.mjs: fake CLI (real child process) with unreadable status, wrong service, hidden artifact, ID-form images, racing rival, failing deploy.Checks
adapter: undefinedgive identical records, the legacy argv and a single status read, and no lease dir.Not verified / still open
teploy logsflags unverified, so logs undeclared.teploy deploy --dry-run;status --jsonexposing a deploy generation.🤖 Generated with Claude Code
https://claude.ai/code/session_01VqsBNqvaWezf1DwQrAnVgX
Generated by Claude Code