Blueprints & duplication
Environment drift is the problem where staging slowly stops resembling production, and reproducing a bug means rebuilding a project from memory. Blueprints and duplication exist to make "give me another one of those" a single action.
Two related things
Duplicate copies a live project into a new one—right now, from the project you're looking at.
Save as blueprint captures a project's shape as a reusable template stored at the organization level. You can spawn new projects from a blueprint whenever you need one, long after the original has changed.
Use duplication when you want a copy today. Use a blueprint when you want a repeatable starting point.
Duplicating a project
- Open the project and choose Duplicate.
- Name the new project and pick which server it should land on—it does not have to be the one the source runs on.
- Choose what to carry over: apps, configs and secrets, services, and domains.
- Confirm.
Kaja creates the new project and recreates everything you selected inside it.
What to think about before you confirm
- Secrets. Duplication can copy real credentials into the new project. The confirmation step tells you exactly which secrets are involved—read it. Copying a production key into a staging environment is easy to do by accident and hard to undo.
- Services. Managed services are recreated as new instances with their own storage and credentials. The copy does not share a database with the original.
- Domains. A generated hostname is issued fresh for the copy. A custom domain can only point at one place, so it stays with the original.
- Auto-deploy. Decide whether the copy should redeploy on push. A duplicate that shares a repo with the original will otherwise rebuild every time that repo changes.
Blueprints
Blueprints live at the organization level, not inside a single project, so any project in the organization can be spawned from one. Create a blueprint from a project you're happy with, then use it as the starting point for new environments.
Because a blueprint is captured at a point in time, it does not track later changes to the project it came from. If the source project moves on, create a new blueprint from it.
Freezing a project
Related but different: freeze stops everything in a project without deleting it, so an environment you're not using stops consuming resources. Resume it when you need it again. Freezing is manual—Kaja will not freeze a project on your behalf.
Next steps
- Projects — What a project contains.
- Managed services — How services are recreated in a copy.
- Domains & HTTPS — Why custom domains stay with the original.