staging.toml RawHistoryFolder
1# Gordon v2 - Staging Configuration Example
2# For testing and preview environments
3
4[server]
5port = 8080
6registry_port = 5000
7registry_domain = "staging-registry.company.com"
8runtime = "auto" # auto-detects Docker/Podman
9ssl_email = "devops@company.com"
10data_dir = "./data"
11
12# Secrets backend for staging
13[secrets]
14backend = "pass" # Use pass for secure secret storage
15
16[registry_auth]
17enabled = true
18type = "token" # Token auth for CI/CD pipelines
19
20# JWT signing secret stored in pass
21token_secret = "gordon/staging/token_secret"
22
23# Generate CI tokens with:
24# gordon auth token generate --subject ci-staging --scopes push,pull --expiry 0
25# Tokens are unique to this Gordon instance (different token_secret = incompatible tokens)
26
27# Alternative: Password auth
28# type = "password"
29# username = "staging-user"
30# password_hash = "gordon/staging/password_hash" # bcrypt hash in pass
31
32# Staging logging configuration
33[logging]
34enabled = true # Enable logging for staging debugging
35level = "debug" # Verbose logging for troubleshooting
36dir = "./staging-logs" # Staging-specific log directory
37main_log_file = "gordon.log" # Main application logs
38proxy_log_file = "proxy.log" # HTTP proxy traffic logs
39container_log_dir = "containers" # Container logs subdirectory
40
41# Staging log rotation settings
42max_size = 50 # Moderate file sizes for staging
43max_backups = 5 # Keep reasonable history
44max_age = 30 # Keep logs for 1 month
45compress = true # Compress to save space
46
47# Staging environment routes - using branch-based deployments
48[routes]
49"staging.company.com" = "company-app:staging" # Main staging branch
50"staging-api.company.com" = "company-api:staging" # API staging
51
52# Feature branch testing
53"feature-auth.company.com" = "company-app:feature-auth" # Feature branch: auth improvements
54"feature-ui.company.com" = "company-app:feature-ui-redesign" # Feature branch: UI updates
55"hotfix-123.company.com" = "company-app:hotfix-user-login" # Hotfix branch
56
57# PR preview environments
58"pr-42.company.com" = "company-app:pr-42" # Pull request #42 preview
59"pr-55.company.com" = "company-app:pr-55" # Pull request #55 preview
60
61# Development tools
62"staging-admin.company.com" = "admin-panel:develop" # Admin panel dev version
63
64# Staging workflow:
65# 1. Developer pushes feature branch
66# 2. CI builds and tags: company-app:feature-auth
67# 3. CI pushes: docker push staging-registry.company.com/company-app:feature-auth
68# 4. Gordon auto-deploys to feature-auth.company.com
69# 5. Team tests at https://feature-auth.company.com
70# 6. Merge to staging → auto-deploy to staging.company.com