Project Level Secrets and Variables in Facets
The Traditional Challenge
Traditionally, managing environment variables and secrets across different environments has been a major pain point:
- Multiple environment-specific files to maintain
- Risk of secrets exposure in version control
- Complex secret rotation processes
- Difficulty in maintaining consistency across environments
- No clear separation between configuration and sensitive data
Facets' Approach: Project-Level Source of Truth

Variables Management
- Project-Level Definition: Define variables once at the project level as your source of truth
- Key-Value Storage: Each variable has a key and value defined at the blueprint level
- Auto-Injection: Mark variables for automatic injection across all resources
- Resource-Level Flexibility: Create aliases for specific resource usage when needed
- Environment Overrides: Override any variable at environment level without changing the source
Secrets Management
- Secure by Design: Only secret keys are stored at project level
- Environment-Level Values: Secret values are stored securely in the environment's secret manager
- Flexible Access: Choose between auto-injection or selective usage through aliases
- Safe Storage: No sensitive data in version control
- Easy Rotation: Update secret values at environment level without touching the blueprint
Benefits
- Single Source of Truth: One place to define and manage all configurations
- Environment Flexibility: Override values as needed for different environments
- Security First: Proper separation of configuration and sensitive data
- Simplified Management: No need to maintain multiple environment-specific files
- Developer Friendly: Clear visibility of available variables and secrets
This approach transforms what was once a complex, risky process into a streamlined, secure system that scales with your needs.
Updated 3 days ago