Add a new tenant

Note

Canonical source: guides/ADD_NEW_TENANT.md. Transcluded here for the docs site. Edit the source file if anything is wrong.

  1. Fetch info from tenant

    1. Their e-mail for admin account

    2. An unrestricted Stripe API key

    3. List of modules they want to use (can change later on)

    4. Their Tenant Name and Event Name (can be same)

    5. Subdomain they would like (*.midsummer.cloud)

  2. Run export MIDSUMMER_PROD=true && ./manage.py init_new_tenant on k8s

    • This will run you through an onboarding of their system.

    • If they don’t have a midsummer account, one will be created for them and a password reset will be sent

Naming Conventions

  • If they are ONLY sandboxing, make sure their tenant and domain contains “-sandbox”

  • Try to avoid naming the domain with numbers. (e.g. use furrydelphia not furrydelphia2026)

Gotchas

  • Restricted Stripe Keys will Fail

  • Sandbox Stripe Keys will work, but should ONLY be used for sandbox deployments. Items created in Sandbox Mode do NOT transfer over to Live Stripe and will make recreation from our end very tricky (Todo: Make a migration script)