Parent: #234 · Blocked by: #248
Scope
Set up 4 separate TrapFall projects for dual-environment tracking, with DSN routing configuration in both Rungu and CIRA.
TrapFall Projects
| Project |
Slug |
DSN Path |
Purpose |
| rungu-prod |
rungu-production |
/api/rungu-prod/envelope/ |
Production errors |
| rungu-dev |
rungu-development |
/api/rungu-dev/envelope/ |
Dev/staging errors |
| cira-prod |
cira-production |
/api/cira-prod/envelope/ |
Production errors |
| cira-dev |
cira-development |
/api/cira-dev/envelope/ |
Dev/staging errors |
DSN Format
https://<trapfall-key>@trapfall.ajianaz.dev:9090/<project-slug>
Config (both Rungu and CIRA)
// In config, derive DSN from environment + app name:
impl SentryConfig {
pub fn build_dsn(host: &str, app: &str, env: &str) -> String {
format!("https://key@{}/{}-{}", host, app, env)
}
}
Environment variable:
| Env Var |
Example Value |
TRAPFALL_HOST |
trapfall.ajianaz.dev:9090 |
APP_ENVIRONMENT |
production or development |
APP_NAME |
rungu or cira |
Dashboard Routing
- TrapFall dashboard already supports project filtering
- Tag events with
environment=production|development for easy filtering
- Release tag:
rungu@0.2.0 or cira@0.1.0
Tasks
Effort: ~1 hour
Parent: #234 · Blocked by: #248
Scope
Set up 4 separate TrapFall projects for dual-environment tracking, with DSN routing configuration in both Rungu and CIRA.
TrapFall Projects
rungu-production/api/rungu-prod/envelope/rungu-development/api/rungu-dev/envelope/cira-production/api/cira-prod/envelope/cira-development/api/cira-dev/envelope/DSN Format
Config (both Rungu and CIRA)
Environment variable:
TRAPFALL_HOSTtrapfall.ajianaz.dev:9090APP_ENVIRONMENTproductionordevelopmentAPP_NAMErunguorciraDashboard Routing
environment=production|developmentfor easy filteringrungu@0.2.0orcira@0.1.0Tasks
rungu-productionprojectrungu-developmentprojectEffort: ~1 hour