Customer onboarding
Onboarding moves a customer from first visit to a running, HTTPS-protected product instance. It is orchestrated by the Customer Onboarding module and enforced by the Identity and Domain & SSL modules.
The onboarding flow
Visit → Connect domain → Verify DNS → Create account → Provision → Notify
└────────────┴───────────────┴─────────────┴──────────┴─────────┘
all overseen by the Onboarding state machine
1. Connect your domain
The customer enters their domain. The platform reads Gateway → PlatformServerIP from Platform Settings to display the correct A record.
| Record | Host | Value |
|---|---|---|
| A | @ |
PlatformServerIP |
| A | www |
PlatformServerIP |
2. Verify DNS
The onboarding wizard calls the Identity/DNS verification route. Verification succeeds only when the domain resolves to the configured platform IP. Until verification passes, account creation stays locked.
3. Create account
When domain passes verification, the customer submits registration:
- Company name, owner name, email, mobile, country, timezone, chosen product
- Terms acceptance enforced
- A temporary password is emailed automatically
4. Provision
The Provisioning workflow:
- Registers the customer and product entity in MongoDB
- Creates the subscription record (via Billing module)
- Generates the instance configuration for the chosen product
- Queues an SSL + gateway provisioning job (see architecture)
5. Activate
Provisioning hands off to the Gateway Activation sub-flow, which:
- Ensures the domain resolves to the platform IP
- Builds a Caddy snippet via the configured website template
- Issues the certificate (Let’s Encrypt) through Caddy
- Runs an HTTPS health check and flips the site to
Active
State machine
| State | Meaning |
|---|---|
Registered |
Account created, not yet provisioned |
Provisioning |
Instance + subscription being set up |
Ready |
Fully built, awaiting automatic activation / user sign-in |
Active |
Domain verified and HTTPS live |
Failed |
One or more steps failed; shown on dashboard with retry |
Retries honor the Gateway Activation settings (ActivationRetryIntervalMinutes, MaximumActivationRetries) and timeout (ActivationHealthTimeoutSeconds).
Related modules
- Identity & authentication — accounts, roles, tokens
- Domain & SSL — DNS verification, certificates
- Billing & subscriptions — auto-invoicing
- Notification — the temporary-password email