Projects and environments
GenSX organizes your workflows and deployments using a flexible structure of projects and environments, making it easy to match the rest of your application architecture and CI/CD topology. Projects are a top level resource and environments are instances of a project that you deploy to.
Project structure
A project in GenSX is a collection of related workflows that are deployed, managed, and monitored together:
- Projects as logical units: Group related workflows that serve a common purpose
- Shared configuration: Apply settings across all workflows in a project
- Collective deployment: Deploy all workflows within a project in one operation
- Unified monitoring: View traces and metrics for an entire project
Projects typically correspond to a codebase or application that contains multiple workflows.
Environment separation
Within each project, you can have multiple environments. For example, you could create three environments for each project:
- Development: For building and testing new features
- Staging: For pre-production validation
- Production: For live, user-facing workflows
You have full control over your environments so you can organize them however you see fit.
Each environment maintains separate:
- Workflow deployments
- Configuration and environment variables
- Execution traces and monitoring data
Configuring projects
Project configuration file
Projects are defined using a gensx.yaml
file at the root of your codebase:
# gensx.yaml
projectName: customer-support-bot
description: AI assistant for customer support
This configuration applies to both local development and cloud deployments.
Working with environments
Deploying to different environments
Deploy your workflows to specific environments using the CLI:
# Deploy to the default environment
gensx deploy src/workflows.tsx
# Deploy to a staging environment
gensx deploy src/workflows.tsx --env staging
# Deploy to production
gensx deploy src/workflows.tsx --env production
Environment-specific configuration
Set environment-specific variables during deployment:
# Development-specific settings
gensx deploy src/workflows.tsx --env development \
-ev LOG_LEVEL=debug \
-ev OPENAI_API_KEY
# Production-specific settings
gensx deploy src/workflows.tsx --env production \
-ev LOG_LEVEL=error \
-ev OPENAI_API_KEY
Projects in the GenSX Console
The GenSX Console organizes everything by project and environment:
Selecting an environment brings you to the workflows view:
When you click into a workflow, you can trigger it within the console if you’ve deployed it to GenSX Cloud:
You can also see API documentation and sample code for calling that workflow:
Next steps
- Configure serverless deployments for your projects
- Set up local development for testing
- Learn about observability across environments