Attaching a service to a project
Attaching a service connects it to a project so your app can actually use it. The clever part is that The Deployer doesn't just blindly plug things together — an AI agent reads your project's code first and tells you whether the service is the right fit.
Meet the Attachment Doctor
The Attachment Doctor is an agent that inspects your project before wiring anything in. It reads your code's dependencies, configuration files (things like a database schema or settings file), and what the project appears to expect. Then it gives a verdict:
| Verdict | What it means | What you can do |
|---|---|---|
| Compatible | The service matches what your code expects | Attach it — it wires straight in |
| Wrong engine | Your code expects a different engine (e.g. it wants PostgreSQL but you picked MySQL) | Switch engines with one click, or create anyway and attach later after changing your code |
| Not needed | Your project doesn't look like it uses this kind of service | Skip it, or force the attach if you know you need it |
The agent only ever sees the names of settings, never their secret values, so your data and credentials stay private throughout.
When the verdict is wrong engine, the Doctor also gives you plain migration guidance — including a ready-to-copy prompt you can hand to a coding assistant — so you know exactly what to change.
How to attach
You can attach at two moments:
- While creating the service. On the wizard's Attach step, pick a project. The Doctor analyses it live and shows the verdict right there. If it's compatible and you continue, the service attaches automatically once it's created. See creating a service.
- Any time later. Open the service's page (Services → the service) and click Attach to a project. Pick the project, review the verdict, and confirm.
If the verdict is compatible, the service attaches. If it's wrong engine or not needed, the attach is skipped with a note and you can come back to it — nothing is forced on you silently.
What attaching actually does
When you confirm a compatible attach, The Deployer:
- Wires the connection details into your project's environment variables — the address, username, password, and so on that your app needs. These values are stored encrypted, and are exactly the ones you'd otherwise reveal on the service page.
- Opens the network so your project's server is allowed to reach the service.
- Runs a targeted redeploy — a focused re-launch that picks up the new settings and gets your app talking to the service. You can watch it like any deployment (see launching & reading the logs).
You don't have to touch environment variables yourself, though you can view and edit them any time — see environment variables.
Where connection details live
On the service's page, the Connection details panel shows the service's address and credentials (hidden until you click Reveal, and only available once the service is ready). The Attached projects panel lists every project using the service, with a link to the deployment that wired it in.
Detaching
To disconnect a service from a project, open the service page and click Detach next to that project. This removes exactly the environment keys that were added and runs another targeted redeploy, so your project is left clean. To remove a service entirely, detach it from every project first, then delete it — deleting tears down the underlying cloud resource so you stop being billed for it.