01-Feb-2026 — Environment-setup — further features #146
Comprehensive environment management overhaul with API and MongoDB migration
Introduces new environment configuration API, MongoDB cluster-based config, and enhanced UI with vendor branding and dashboard links.
New Environment Configuration API
- RESTful endpoints for reading and writing environment configurations
EnvironmentConfigService for centralised config management
- Separation of concerns: environment config extracted from backup/restore
- Config initialisation from files with validation and error handling
MongoDB Configuration Migration
- Migrate from
uri field to cluster field in MongoDB configuration
- Cluster field stores cluster name without .mongodb.net suffix
- Database migration script (20260201000000) converts existing records
- Backward compatible: handles both legacy URI and new cluster formats
- Improved regex parsing for cluster extraction from URIs
Enhanced Environment Setup UI:
- Vendor logos in all configuration section headings
- Ramblers logo dynamically loaded from System Settings
- AWS, MongoDB, and Fly.io static brand logos
- External link buttons for quick dashboard access:
- AWS S3 Console (global and per-environment bucket views)
- MongoDB Atlas dashboard
- Fly.io app-specific dashboard
- Deployed application URL
- Environment list alphabetically sorted by name
- Improved visual spacing and button styling consistency
Backend Architecture Improvements:
- New
environments-config.ts module for config operations
- Enhanced
config-initializer with cluster field population
- Updated backup/restore service to use new config service
- CLI tools migrated to cluster-based MongoDB configuration
- Fly.toml path resolution fixed for compiled environments
Technical Implementation
- New
EnvironmentConfig and EnvironmentsConfig models
- Integration with SystemConfigService for dynamic Ramblers logo
- Custom
.btn-outline-flyio styling for brand consistency
- Shared
sortBy() utility for environment sorting
- Type-safe API routes with proper error handling