Overview
Thedeploy command deploys node extensions to your Tenderly gateway, making your custom RPC methods available for use. You can deploy a single extension or all extensions configured in your tenderly.yaml file.
Prerequisites
Before deploying extensions, ensure you have:-
Authenticated with Tenderly
-
Initialized at least one extension in your
tenderly.yaml - An active gateway configured for your project
Deployment Modes
The deploy command supports two modes:Deploy All Extensions
Deploy all extensions configured intenderly.yaml:
- Reads all projects and extensions from your configuration
- Deploys each extension to its respective project’s gateway
- Reports success or failure for each extension
Deploy Single Extension
Deploy a specific extension by providing all required flags:When deploying a single extension, all three flags (
--account, --project, --extensionName) are required.Flags
The account slug where the extension will be deployed. Required when deploying a single extension.
The project slug where the extension will be deployed. Required when deploying a single extension.
Name of the specific extension to deploy (as defined in
tenderly.yaml). Required when deploying a single extension.Examples
Deploy All Extensions
Deploy all configured extensions across all projects:Deploy Single Extension
Deploy only a specific extension:Deploy from CI/CD Pipeline
Deploy extensions as part of your automated deployment:.github/workflows/deploy.yml
Validation
Before deploying, the command validates each extension:Method Name Validation
Ensures the method name follows the required pattern:Method Name Availability
Checks that the method name isn’t already used by another extension: Error:Action Existence
Verifies the referenced action exists in the project: Error:Action Availability
Confirms the action isn’t already used by another extension: Error:Error Handling
Missing Required Flags
When deploying a single extension, all flags must be provided:Extension Not Found in Config
If the specified extension doesn’t exist intenderly.yaml:
tenderly.yaml
No Gateway Found
If the project doesn’t have a gateway configured:Multiple Validation Failures
Multiple validation errors are reported together:Deployment Process
Understanding what happens during deployment:Fetch Project Data
For each project, the CLI fetches:
- Gateway information
- Existing actions
- Currently deployed extensions
Validate Extensions
Each extension is validated:
- Method name format
- Method name uniqueness
- Action existence
- Action availability
Deploy to Gateway
Valid extensions are deployed to the project’s gateway, creating the custom RPC endpoint.
Using Deployed Extensions
Once deployed, your extensions are available via your Tenderly gateway:JavaScript/TypeScript (ethers.js)
Web3.js
cURL
Test your extension with cURL:Best Practices
Test Before Deploying
Test Before Deploying
Test your Web3 Actions thoroughly before deploying extensions:
- Deploy the action first
- Test the webhook endpoint directly
- Verify the response format
- Then deploy the extension
Use Version Control
Use Version Control
Commit your
tenderly.yaml configuration changes before deploying:Deploy in Stages
Deploy in Stages
For multiple extensions, consider deploying one at a time first:
Monitor Deployments
Monitor Deployments
Keep track of deployment results, especially in CI/CD:
- Check exit codes in automated pipelines
- Log deployment outputs
- Set up notifications for deployment failures
Document Gateway URLs
Document Gateway URLs
Keep your gateway URLs documented and secure:
- Store them in environment variables
- Don’t commit them to public repositories
- Share them securely with team members
Troubleshooting
Extension deployed but not working
Extension deployed but not working
If deployment succeeds but the extension isn’t callable:
- Verify your gateway URL is correct
- Check the action is properly deployed
- Test the webhook endpoint directly
- Ensure the action’s webhook trigger is not authenticated
Action validation failures
Action validation failures
If the action fails validation:
- Confirm the action exists in your Tenderly dashboard
- Verify it has a webhook trigger
- Check that
authenticated: falseis set - Ensure it’s not used by another extension
Gateway not found errors
Gateway not found errors
If you get “No gateway found” errors:
- Contact Tenderly support to enable gateway access
- Verify your account and project slugs are correct
- Check you have appropriate permissions
Next Steps
Initialize Extensions
Learn how to create new extensions
Web3 Actions
Build and test your action logic
Extensions Overview
Understand Node Extensions concepts
Configuration Reference
Complete configuration reference