Managing Environments
Descope allows you to create many projects to fit your needs. You could have multiple projects for different businesses, or you could have a development, staging, and production projects for the various stages of your development and testing. Descope makes it easy to manage your projects and migrate configurations between projects.
Creating Projects
Within the Descope console, clicking the project drop down in the top right allows you to create new projects by
clicking the + Project
button at the bottom of the list of your projects. When you create a new project, you can
provide the project with a name and choose whether it is production
or non-production
. You can later change
whether the project is production
or non-production
from the Project Settings
page within the console. Note that selecting production
or non-production
does not effect the features within
the project. This is an internal identifier for Descope to see which projects are marked as production
.
Managing Secrets in Environments
When working with environments, it's essential to note Descope's behavior in handling API keys and other related secrets around connectors and OAuth provider configurations. The below outlines how Descope manages secrets and credentials during project cloning, exporting, and importing.
- During the cloning of a project, secrets are cloned to the new project with all of their current configuration and settings.
- While exporting a project, the exported project zip will contain the connector or OAuth provider configuration; however, the credentials will be removed to prevent the export of secrets.
- It is possible to import connectors and OAuth providers with their credentials and secrets when importing a project. The examples below outline how you would import connectors with secrets, but the same applies to OAuth providers.
- If you have exported a project and are importing that project to another project that already has the same connectors or OAuth providers configured, the secrets stored within the project you are importing to will be retained (unless overridden by editing the secrets within the exported zip), but the other settings of the connector or OAuth provider will be updated. Please also see the documentation around secret placeholders for more information on overriding secrets.
Importing Secrets
When you export your project, you will receive a zip file with the contents, such as the one below.
The connectors directory includes the configuration of each connector associated your Project.
To import the secrets within a new project, add them to the downloaded files within the zip, zip the entire directory back up, and then import them to your new project. This will then import the secrets into your project and allow the connectors to be immediately used without further configuration of the connectors after the import.
Secret Placeholders
When you export a project with connectors or OAuth providers configured with secrets, you will see that the secrets will
have a placeholder of PLACEHOLDER_VALUE
. There are two options when handling placeholders within the secrets of the
configuration files.
- If you leave
PLACEHOLDER_VALUE
in the exported configuration file, the secrets in the project you are importing will be retained. - If you would like to override the configured secrets within the project, you would change the
PLACEHOLDER_VALUE
to be the correct secrets for the project. - Removing the line containing the placeholder or replacing
"PLACEHOLDER_VALUE"
withnull
or""
will clear the configured value from the secret on import.
Below are examples of connector and OAuth provider configurations with PLACEHOLDER_VALUE
.
Cloning Projects
From the Project Settings page Descope allows you to clone your projects. This allows you to create a duplicate of your current project. A use case for this would be cloning your development project to create a staging and production project. This will copy your flows, styles, project settings, authentication method configurations, email templates, etc.
Exporting Projects
Within Descope, you can export a project from the Project Settings page. This exports your flows, styles, project settings, authentication method configurations, email templates, etc. You can then import the downloaded zip file into another project, or selectively import your flows or styles into another project.
Importing Projects
Descope allows you to import an exported project to another existing project. This is useful when you are working between development, staging, and production projects. Once you have tested your configurations within your environments, you can export and import the project into the next level in your deployments.
Tracking Changes
If you would like to track changes between your project configurations, you can export your project and store within your code repository of choice. This allows you to track the configuration changes you have made within your projects over time.
Descope also offers a GitHub template with built in GitHub actions which enable you to quickly configure your CI/CD pipeline within GitHub. You can review this tool within our Knowledge Base Article.
Managing Projects from the Management SDK
The Descope SDK allows you clone projects. This requires a pro or enterprise tier licenses.
Install SDK
Import and initialize Management SDK
Update Project Name
This endpoint allows you to update the current project's name.
Export Project
This endpoint allows you to export the current project.
Import Project
This endpoint allows you to import all settings and configurations into the current project. Use with caution, this endpoint overrides any current configuration.
Clone Project
This function allows you to clone the current project, including its settings and configurations.
Note
Users, tenants and access keys are not cloned.