Skip to main content

Setting up your environment

Exactly how you will want to manage your Org to enable version control and environment promotion will depend on your use case and which package of Tray you are working with.

Workspaces as environments

If you are a Team or Enterprise customer building internal automations, you can generally make use of shared workspaces to manage your environments.

Team / Enterprise setup

The following diagram shows a multiple workspace setup whereby you have dev and prod workspaces for each department.

Workspaces can be created and used to sub-divide your organization, for example:

  • Company departments (sales, marketing, HR etc.)
  • Internal teams
  • A bespoke integration for a customers.

env-promotion-standard-setup

FeatureNotesLimitations
Users (RBAC)Control what access each user has access to which env/workspace
AuthsAuths are only available to users in that workspace
Promotion methodExport project from department dev and import to department prod workspace
Custom servicesCreate in organization workspace to make available to all workspaces
Custom connectorsCreate in organization workspace to make available to all workspaces

Pro customer setup

The following diagram shows a setup appropriate for a smaller company (possibly on a pro account with a limited number of workspaces) whereby you:

  • Create one dev workspace for all dev projects

  • Create one other production workspace for all prod projects

two-workspace-setup

FeatureNotesLimitations
Users (RBAC)Users in dev workspace have access to all dev projects and auths. Same for prod workspace usersUnable to assign different roles to users per project within an environment
AuthsDev workspace auths are available to be used in all dev projects. Same for prod workspace authsCannot limit auth access per project within an environment
Promotion methodExport from project in dev, import to project in prod
Custom servicesCustom services can be made available to both dev and prod workspaces
Custom connectorsCustom connectors can be made available to both dev and prod workspaces

Embedded integrations setup

For Enterprise customers building out Embedded integrations, it is not currently possible to create Solutions in custom shared workspaces.

In order to manage multiple integrations you will need to decide between two approaches:

Accounts/orgs as environments

In this setup you will need to request multiple Tray orgs to act as e.g. dev, staging and prod.

Each integration is then promoted from the 'Embedded' workspace of one account to the next.

This is the most common setup for Embedded environment control, and is most effective in terms of segragating users, auths, test vs live data and End Users

Custom assets (services, service environments (OAuth apps) and custom connectors) are somewhat tricky to manage, however.

env-promotion-projects-accounts-as-environments

FeatureNotesLimitations
Users (RBAC)Users in dev account have access to all dev projects and auths. Same for prod account usersUnable to assign different roles to users per project
End UsersUse Test End Users in staging/dev environments so that billing is not affected
AuthsDev workspace auths are available to be used in all dev projects. Same for prod workspace authsCannot limit auth access per project within an environment
Promotion methodExport from project in dev, import to project in prod
Custom servicesMay need to create in each accountDuring env promotion, need to edit json exports to change service details
Custom connectorsIf using a custom service, may need to create in each accountDuring env promotion, need to edit json exports to change connector details
TokensEach env has its own token - use separate master tokens to connect with dev and prod in your codebase

Projects as environments

This setup might be aprropriate for customers with a small (<=5) number of integrations.

It is simpler for custom services, custom service envs (OAuth apps) and custom connectors.

However, you will have to use Solution tags to segragate as you are using the same master token for both environments.

And it is not possible to fully segragate users, permissions and test / live data.

env-promotion-embedded-projects-as-environments

FeatureNotesLimitations
General setupUse labels/naming convention to associate Projects + Authentications with environment
Users (RBAC)All users are part of the Embedded org workspaceUnable to assign different roles to users per environment
End UsersUse Test End Users in staging/dev environments so that billing is not affected
AuthsAll auths are available to all usersCannot limit auth access per evironment
Promotion methodExport/import project from one project to another
Custom servicesCan create and use in all projects/environments
Custom connectorsCan create and use in all projects/environments
TokensEach env doesn't have its own token