Documentation

Customer onboarding

How customers register, verify their domain, and get provisioned on the platform.

Updated Aug 5, 20256 min read

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:

  1. Registers the customer and product entity in MongoDB
  2. Creates the subscription record (via Billing module)
  3. Generates the instance configuration for the chosen product
  4. 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).