Prerequisites
Before setting up environments, ensure you have:- Admin access to your Elementum organization
- Snowflake credentials for the new environment (if using Snowflake-connected apps)
- CloudLink configured in your production environment
Each environment requires its own CloudLink configuration. Have your Snowflake connection details ready before creating a new environment.
Part 1: Creating an Environment
Create a new environment from your production organization to start developing and testing in isolation.Navigate to Environments
Go to Organization Settings > Platform > Environments.You’ll see a list of all environments in your organization, with Production marked as the default.
Create New Environment
Click the + Create Environment button in the top right corner.A modal appears with the message: “Create an environment that allows you to safely build, test, and release changes without affecting your live app.”
Enter Environment Details
Fill in the required fields:
The subdomain creates the environment’s URL:
| Field | Description | Example |
|---|---|---|
| Environment name | A descriptive name for the environment | Development, Testing, Staging |
| Subdomain | The URL prefix for this environment | dev, test, staging |
| Description | Optional description of the environment’s purpose | For testing new features before production |
[subdomain]-[yourorg].elementum.ioPart 2: Configuring CloudLink
After creating an environment, configure CloudLink to connect the environment to your data warehouse.Environment Isolation Requirements
Before configuring CloudLink for a new environment, create dedicated Snowflake resources:| Resource | Example Naming Convention |
|---|---|
| User | ELEMENTUM_DEV, ELEMENTUM_STAGING, ELEMENTUM_PROD |
| Role | ELEMENTUM_DEV, ELEMENTUM_STAGING, ELEMENTUM_PROD |
| Database | ELEMENTUM_DEV, ELEMENTUM_STAGING, ELEMENTUM_PROD |
| Schema | ELEMENTUM_PLATFORM (within each environment’s database) |
- No Cross-Access: Users from one environment should never have access to another environment’s database or platform schema
- Platform Data Isolation: The database and schema where Elementum stores platform data must be unique per environment
- Shared External Data (Optional): If you want environments to access the same business data tables (non-platform data), you can grant those permissions—but understand that data changes will be visible across all environments with access
Example: You might grant both
ELEMENTUM_DEV and ELEMENTUM_PROD users read access to SALES_DB.PUBLIC.CUSTOMERS for testing with real data structures. However, each user must write platform data to their own isolated database (ELEMENTUM_DEV or ELEMENTUM_PROD).Open Environment Configuration
From the Environments list, find your new environment and click the Configure button on its card.This opens the environment configuration page showing the environment name, status, and domain configuration.
Access CloudLink Settings
Click the Manage CloudLink Credentials button.This opens the new environment in a new tab/window, navigating directly to the CloudLinks settings page.
Edit CloudLink Connection
On the CloudLinks page, click the Edit button on the CloudLink entry.The Edit CloudLink modal appears with the following fields:Connection Settings:
- Name - Identifier for this CloudLink connection
- Username - Snowflake service account username
- URL - Your Snowflake account URL (e.g.,
your-account.snowflakecomputing.com) - Authentication Method - Select Password or Key-pair authentication
- Password - Service account password (if using password authentication)
- Interval - Sync frequency (default: 20 minutes)
- Time unit - Minutes, Hours, or Days
The default sync interval is 20 minutes. Shorter intervals provide faster data updates but increase Snowflake credit consumption.
Configure Data Connection
After entering valid credentials, additional fields become available:
- Role - Select the Snowflake role for this connection
- Warehouse - Select the Snowflake warehouse to use
- Database - Select the database where Elementum stores platform data
Part 3: Deploying Apps Between Environments
Once your environment has CloudLink configured, you can deploy apps to and from it.Navigate to the App
Open the app you want to deploy in its source environment (the environment where the app currently exists).For example, to deploy an app from Development to Production, open the app in the Development environment.
Open Deployments
In the app’s left navigation, under the Configuration section, click Deployments.The Deployments page shows all available environments with their deployment status.
View Environment Status
Each environment is displayed as a card showing:
- Environment name and description
- Status indicator: Deployed (green), Deploying (yellow), Failed (red), or Not Deployed (gray)
- Deploy button to initiate deployment
Initiate Deployment
Find the target environment (where you want to deploy the app) and click the Deploy button on its card.A confirmation modal appears:
- Title: “Deploy App To Environment”
- Message: “Deployment will copy all app configurations and associated objects to the target environment.”
- Visual showing the deployment flow from source to target
- Summary: “Deploy App from [Source] to [Target]”
Confirm and Deploy
Review the deployment details and click Deploy to proceed.The deployment process begins:
- Status changes to “Deploying” (yellow)
- Progress bar shows deployment progress
- Upon completion, status changes to “Deployed” (green)
Monitor Deployment
Track deployment progress:
View the Deployment History panel for a log of all deployment activity.
| Status | Description |
|---|---|
| Deploying | Deployment is in progress |
| Deployed | Deployment completed successfully |
| Failed | Deployment encountered an error |
| Not Deployed | App has not been deployed to this environment |
Part 4: Post-Deployment Configuration
Apps with Tables or Elements linked to Snowflake require additional configuration after deployment. Simple apps without external data dependencies complete immediately.Apps Without External Dependencies
For apps that don’t connect to Snowflake data:- Deployment completes immediately
- Environment card shows green “Deployed” status
- No additional configuration required
- App is ready to use in the target environment
Apps With Snowflake Dependencies
For apps with Tables or Elements linked to Snowflake, you must configure the data connections in the new environment.Access Post-Deployment Configuration
After deployment completes, the Deploy button changes to Configure.The card shows:
- Green “Deployed” status pill
- “Complete” progress indicator
- Configure button
Review Items Needing Configuration
The Resolve Issues modal appears with the message: “Review and resolve configuration issues before proceeding with deployment.”The left panel lists all Datasets (Tables and Elements) that need configuration, each showing:
- Dataset name
- Configuration status (“Not configured”)
- Error count indicating fields needing mapping
Select a Dataset
Click on a Dataset in the left panel to configure it.The right panel shows:
- Dataset name and error count
- “Configure data source connection and field mappings”
- Valid fields count and errors count
Configure Data Connection
The CloudLink is pre-selected. Configure the data source:
- Database - Select the database from the dropdown
- Schema - Select the schema containing your data
- Table - Select the table that corresponds to this dataset
Map Fields
After selecting the table, map each field:
For each Target Field listed:
| Target Field | Action |
|---|---|
| Field from the deployed app | Select the corresponding Source Field from the new environment’s table |
- Use the dropdown to select the matching Source Field
- Ensure data types align (TEXT to TEXT, NUMBER to NUMBER, etc.)
- Repeat for all fields in the dataset
Save Configuration
After mapping all fields for all datasets:
- Click Configure Dataset to save the configurations
- Configured items are removed from the list
- Continue until all items are configured
- When the list is empty, the modal closes
Troubleshooting
Deployment Fails Immediately
Deployment Fails Immediately
Possible Causes:
- CloudLink not configured in target environment
- CloudLink credentials invalid or expired
- Network connectivity issues
- Verify CloudLink is configured in the target environment
- Test CloudLink connection in Organization Settings
- Check Snowflake service account permissions
Cannot See Target Environment
Cannot See Target Environment
Possible Causes:
- Environment not yet created
- Insufficient permissions to view environments
- Verify the environment exists in Organization Settings > Environments
- Contact your administrator to check access permissions
Field Mapping Errors
Field Mapping Errors
Possible Causes:
- Table structure differs between environments
- Missing columns in target environment’s table
- Data type mismatches
- Verify the target table exists and has the expected columns
- Check that column names match or can be mapped correctly
- Ensure data types are compatible between source and target
Configure Button Not Appearing
Configure Button Not Appearing
Using the Same Snowflake User Across Environments in Different Organizations
Using the Same Snowflake User Across Environments in Different Organizations
Scenario:
You need to use the same Snowflake user account with key-pair authentication for CloudLinks in environments that belong to different organizations.Solution:
Snowflake supports key-pair rotation, which allows you to configure a second public key for the same user account. This enables environments in both organizations to authenticate simultaneously without disrupting existing connections.Steps:
Important: Key-pair rotation is only required when using the same Snowflake user across environments in different organizations. If you are using the same Snowflake user across multiple environments within the same organization, key-pair rotation is not necessary because they share the same public key.
-
Obtain the Public Key from the Organization You Are Adding the CloudLink To:
- Navigate to Organization Settings > CloudLinks in the organization where you want to add the CloudLink
- Start creating a new Snowflake CloudLink
- Select Key-pair authentication as the authentication method
- Copy the public key displayed
-
Configure Key-Pair Rotation in Snowflake:
- Contact your Snowflake administrator to set the
RSA_PUBLIC_KEY_2property for the Snowflake user - Provide the public key copied from the organization where you’re adding the CloudLink
- The Snowflake admin should run:
- Contact your Snowflake administrator to set the
-
Complete CloudLink Setup:
- After the second public key is configured in Snowflake, complete the CloudLink setup in the organization
- Both organizations will now be able to authenticate with the same Snowflake user
- The existing CloudLink in the other organization continues to work without interruption
Best Practices
Environment Strategy
Use Descriptive Names
Name environments clearly: Development, Testing, Staging, Training. This helps team members understand each environment’s purpose.
Document Configurations
Keep records of which CloudLink credentials and databases each environment uses for easier troubleshooting.
Test Before Production
Always deploy to a non-production environment first. Verify functionality before promoting to Production.
One App at a Time
Deploy apps individually to isolate issues. If a deployment fails, you’ll know exactly which app caused the problem.
CloudLink Management
- Create separate Snowflake credentials for each environment (user, role, database, schema)
- Never share platform databases/schemas between environments
- Document which external data is shared between environments (if any)
- Verify IP whitelisting includes Elementum’s IP addresses
- Monitor CloudLink connection health regularly
Deployment Workflow
- Develop - Make changes in a Development environment
- Test - Deploy to Testing/QA environment for validation
- Stage - Deploy to Staging for final verification (optional)
- Release - Deploy to Production when ready