Repository navigation
Add prisma deploy list: show every deployed node of a stage with its address and platform ID - #388
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…ity for deploy list @internal/lowering/deployed reads a stage's Project and Branch with the find-only container lookup, its application topology, and the Branch's services, databases and buckets. @internal/cli/app-identity exposes resolveAppIdentity outside the public control surface. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Lets deploy list treat no Project, no Branch and no topology the same way from one place, and test the no-topology case in its pure join. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…tage
Each node of the stage's application topology is one row, joined by
logicalId to its service, database or bucket on the Branch; the root is
the Project. Human output is a table, stdout one tab-separated line per
node, --json an array of { address, kind, platformId, url }. No Project,
Branch or topology fails with DEPLOY.TARGET_NOT_FOUND.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Committed fixtures outside a __tests__ directory are unclassified source to the architecture coverage check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…lookup The same git ref check deploy runs, so a bad stage name fails with DEPLOY.STAGE_INVALID instead of reading as "nothing deployed". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…turns it A service row's appEndpointDomain is already a full https URL, the one deploy prints. Prefixing https:// again listed https://https://... against a real deploy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
e2e-verify-identity's Management API reads move to platform-state.ts so the deploy list check can compare against the same topology and rows. App rows now keep their endpoint URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…l deploy The installed prisma does not mount deploy list yet, so the script mounts Composer's command family itself with a service-token credential. It checks that every topology node is listed in order, that each ID is the Project or the row with the node's logicalId on the stage Branch, and that each service URL is its https endpoint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
ADR-0053 and ADR-0050 get dated amendments for deploy list, the index entries follow, and deploy-cli.md says what it reads and how it fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
A Listing what is deployed section in the deploying guide, a row in the piped output table, and the same facts in the agent skill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…tform row deploy list, the local emulators and the e2e identity check each kept their own copy of which resource types deploy to a database or bucket row. They now read RESOURCE_ROW_KINDS from @internal/lowering/deployed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
…dential has no workspace It now fails with the same message deploy gives in that case, instead of saying only that the credential names no workspace. The human-table test now checks the header row and whole rows, not two substrings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
… Branch It returned undefined, which deploy list reads as nothing deployed and so would hide the bug. It now rejects with an error naming the project. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
|
✅ Gizmo reviewed 844b31e — posted 0 inline comment(s) this pass. Open findings: none Change walkthroughThis incremental pass reviews the final polish on Review record — .drive/.../reviews/code-review.md replaces the empty "Already addressed" section with per-finding fix commits (F01–F07). The cited commits exist on the branch with matching subjects, and the F03 claim checks out: Docs and skill — deploying.md and SKILL.md reword the release claim from the speculative "first ships in the release after 8.0.0-rc.26" to the verifiable "needs a E2E script — scripts/e2e-verify-deploy-list.ts mounts a second, command-less family declaring |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
commit: |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
orm-demo's prisma.config.ts has an orm section. With only Composer's family mounted, the engine rejected it as CLI.CONFIG_UNKNOWN_SECTION. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
Brings in dev servers (#381), full node addresses (#384, ADR-0057), the deploy entry in prisma.config.ts (#387) and prisma deploy list (#388). The secrets decision becomes ADR-0058, and every reference to it moves with it. A dev server gets its environment from materializeEnv, so it receives the same per-service secret values from process.env, an unset optional secret is absent, and a changed value restarts it; the serve test now covers both. The docs that described placeholders for dev servers now describe reading secrets before the dev server starts. Tests and expected error text use full addresses. Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This adds
prisma deploy list. It prints every node of a deployed app on one stage, with its address, kind, platform ID and URL. Without--stageit lists production.--jsonprints the same rows for scripts and agents.Why
Since the address change in #384, every deployed node is named on the platform by its full address, such as
shop.catalog.db. But nothing showed those addresses. Users and agents could only work them out by reading the code. This command shows them, and the platform ID next to each one. The planned platform commands that take an address (prisma service logs @pr-42:shop.api) need that.How it works
A deploy already uploads the app's topology to the platform for each stage: one entry per node, keyed by the node's address.
deploy listreads that topology. It then looks up each node's platform row (the Project, a service, a database or a bucket) by itslogicalIdon that stage's Branch.deploydoes. The app name comes from the entry inprisma.config.ts, and--nameand--entrywork as ondeploy.--stageis checked the same way too.deployprints.DEPLOY.TARGET_NOT_FOUND.The command lives in
@prisma/composer-cli, next toemulator list, because it reads Prisma Cloud data. Two internal subpaths,@internal/lowering/deployedand@internal/cli/app-identity, give it the platform reads and the app-name lookup. They don't pull Alchemy into the CLI's startup. The table of which resource types get a database or bucket row is now one shared map,RESOURCE_ROW_KINDS, used by the command, the e2e scripts and the local emulators.One step left: the
prismabinaryThe
prismabinary from prisma/prisma-cli mounts each Composer command by name.prisma deploy listworks only once prisma-cli adds"deploy list"next to"emulator list". That is a one-line follow-up PR, opened after a Composer release includes this command. Until then, the new CI check runs Composer's command code directly.Testing
storefront-authto production and to a named stage, listed both, and checked a stage that doesn't exist. The named stage listed only its own rows. The test Project was deleted afterwards. The details are in.drive/projects/node-addressing/slices/a2-deploy-list/qa.md.Alternatives considered
emulator listset the pattern of putting Prisma Cloud commands in composer-cli.deploy show. Rejected:listis the verb for a collection.Agent: victoria-52
🤖 Generated with Claude Code