June 29, 2025

The unglamorous heart of a multi-tenant product is the pipeline that turns “we need a site” into a live hostname with certificates, DNS, and a form that actually submits.

Manual registrar clicks do not scale. Neither does “email us the DNS records and we will get to it.” When the product’s promise is a branded site for every tenant, provisioning has to be a job the software can run, retry, and explain when it fails.

Buy it, or bring your own

Some tenants want a domain purchased for them. Some already own one and want to point it. The pipeline has to handle both without inventing a new process each time. That means registrar APIs, nameserver changes, apex and www, and the awkward half-hour when DNS has propagated for you but not for the user’s office Wi-Fi.

SSL is not a checkbox

Certificates expire. HTTP to HTTPS redirects get forgotten. Mixed content shows up the first time someone pastes an old image URL. We treat SSL as part of the provision, not a later hardening pass: issue, renew, fail visibly, and keep the tenant on HTTPS even if they typed the old thing.

What the operator needs to see

A spinner that says “provisioning” is not a status. Operators need stages: domain purchased, nameservers set, DNS verified, cert issued, site live. They need a retry that is safe. They need a log they can send to a tenant without us translating it. That console is as much of the product as the public page.

If your roadmap includes “and then each customer gets a site,” start with the pipeline. The pretty template is the easy part.