private-cloud-deliverylisted
Install: claude install-skill konradcinkusz/architecture-standards
# Private-cloud delivery: selling the SaaS as self-hosted
**Read [`references/PRIVATE-CLOUD-DELIVERY.md`](references/PRIVATE-CLOUD-DELIVERY.md) before applying any of this.**
That file is the standard; everything below it is a summary to help you decide
whether this skill applies and to check your work afterwards.
## What this standard covers
- The model in one paragraph
- The responsibility split
- The per-client registry
- The vendor workflow: push and stop
- The IaC you hand over
- Upgrades and rollback
- The product switch
- Commercial artifacts
- A fifth shape: public registry, one-command run
## Failure modes
| Symptom | Cause |
|---|---|
| Vendor workflow fails for one client only | Client JSON missing/null fields, or the same-named GitHub Environment lacks the secrets — the error message should already be saying which |
| Vendor "just fixes it" in the customer's cloud | Scope creep past the push-only credential; the split in §2 is the contract, decline in writing |
| Customer deploy pulls unauthorized | Registry referenced as created-here instead of `existing` + pull grant |
| Upgrade works, rollback corrupts | Release contained migrations; rollback was not coordinated (§6) |
| Customer environment drifts from the template | Customer edited resources in the portal; the re-run-with-tag lifecycle only holds if the template stays authoritative — say so in the handover doc |
| Enterprise features half-enabled | `TenantMode` implemented per-service instead of at token