Tenant Center

Quick Summary

The Tenant Center allows you to deploy your current workspace to multiple tenant environments. Think of your tenants as things like your stage or dev environment, and your users.

Each tenant is given a separate, isolated database and business logic, and you have the ability to selectively roll out new releases to one or more users simultaneously.

What is the Tenant Center?

The Tenant Center is designed to bring a more traditional workflow into Xano.

With Tenant Center, you can:

  • Easily manage separate development, stage, and production environments

  • Isolate your users into separate environments and roll out new releases to them selectively, or all at once

  • Organize your users into different groups to enable easier deployment of beta or exclusive features to select users

How do I use the Tenant Center?

Creating New Tenants

1

From your production / main development workspace, head to the Tenant Center from the left-hand navigation menu.

You'll find it located under the Marketplace (if you have it enabled) or the Library.

2

Click to create a new tenant.

Remember, tenants can be either your own stage and production environments, or actual separate user workspaces.

When adding a new tenant, you'll need to provide some basic information.

Parameter
Purpose
Example

Display Name

The name of the tenant workspace

Stage

Beta Customer ABC

Description

A description of the tenant workspace

"Staging changes for testing" "Workspace for customer ABC" "Beta access"

Tags

Apply tags to your tenants to easily filter them when searching and deploying new changes. Great for things like separating subscription tiers or tagging development-specific, internal tenants

This is optional, but highly recommended

dev customers build plan launch plan scale plan

A note on new tenant creation

Creating a new tenant does not deploy a release to it by default.


Managing Tenants

Once you've created a tenant, you can click the icon to access tenant settings.

Edit Tenant

Change the settings applied when creating the tenant, such as the display name or description.

Deploy Release

Push a release to this specific tenant.

Impersonate

Access the tenant in its current state. Great for troubleshooting tenant specific issues and manual verification of pushed changes

Environment Variables

You can access and manage this tenant's environment variables from here. Use these to store things like API keys and other sensitive information to be used in that tenant's function stacks.

For example, if you are pushing a feature that calls OpenAI, and each tenant has their own OpenAI API key, you'd put that here and just make sure the name of the variable matches what you have in development.

Backups

Create or restore a backup of a tenant

Logs

Review logs directly associated with that tenant, such as release deployments, backups, and impersonations.


Developing and Deploying Releases

1

Make any changes you'd like to deploy in your development tenant. Push them to your stage tenant if you're using one.

Just make sure you're deploying from the tenant that contains your final, tested round of changes to push live to your tenants.

2

Use the tag selector to filter only the tenants you want to deploy to.

Select the appropriate tags and click Apply. Remember, you can also deploy to a single tenant by clicking the icon on that specific tenant.

3

Set up a new release by clicking at the top of the page.

In the Releases panel, click

Give your new release a name, a description, and choose the source branch you'll be deploying changes from.

When you're ready, click at the bottom of the panel.

4

Select the tenants you'd like to deploy to.

You can click the checkbox at the top to select all currently shown tenants, or select individual tenants yourself.

5

Click at the top of the page to deploy a release to your selected tenants.

Select the release to deploy and click the Deploy button at the bottom of the panel.

After deployment, the Release Stats table at the top will give you quick visibility into your deployment metrics.


RBAC: Tenant Center

The Tenant Center addon includes additional Role-based Access Control (RBAC) settings you can use to manage tenant-related permissions.

These permissions include:

  • Tenant Center - Enables access to the Tenant Center

  • Tenant Center RBAC - Enables access to Tenant Center RBAC Override settings Note: This does not disable the ability to disable/enable Tenant Center RBAC Overrides, but does disable access to editing the specific override settings.

  • Tenant Center Logs - Enables access to the logs inside of the Tenant Center

  • Tenant Center Backup - Determines if a user can modify backup settings or perform backup/restore operations for tenants

  • Tenant Center Deploy - Determines if a user can deploy releases to tenants

  • Tenant Center Impersonate - Determines if a user can impersonate (access directly) a tenant

  • Tenant Center Secrets - Enables access to secrets for a tenant, such as Environment Variables

RBAC Override

From the Edit Tenant panel, you can enable RBAC Override. This option allows you to specify individual user permissions for each tenant by clicking RBAC at the top of the Tenant Center.

Enabling the RBAC Override option
An example of available permissions with RBAC Override enabled

Best Practices

1

Tag your tenants

Using tags is crucial to quick and consistent work inside of the Tenant Center, especially as the number of tenants you have grows.

2

Follow a traditional deployment framework

This would include developing on a development tenant, pushing final changes to a stage tenant where all of your QA and testing happens, and then deploying releases from stage.

Read more about the entire Development Lifecycle here.

3

Inform your users of upcoming deployments

In most cases, it's good practice to make sure your users are aware of upcoming changes.

4

Use backups

Tenant backups are incredibly important when deploying new changes, so you can use them to quickly roll back changes.

Last updated

Was this helpful?