Simple TOML Config
Clean. Declarative. Readable by anyone.
Configuration that fits in your head.
See the Difference
Traditional Approach (20+ lines)
vcl 4.1;
sub vcl_recv {
if (req.http.Cookie) {
set req.http.Cookie = regsuball(
req.http.Cookie,
"(^|;\s*)(__utm[a-z]+|_ga|_gid)=[^;]*",
""
);
if (req.http.Cookie ~ "^\s*$") {
unset req.http.Cookie;
}
}
}
sub vcl_backend_response {
if (beresp.status == 200) {
set beresp.ttl = 1h;
set beresp.grace = 24h;
}
if (beresp.http.Cache-Control ~ "no-cache") {
set beresp.uncacheable = true;
}
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
}• Custom scripting language
• Imperative logic
• Regex-based patterns
• Specialized knowledge required
Trident TOML (8 lines)
# trident.toml
[cache]
default_ttl = "1h"
grace_period = "24h"
[cache.key]
strip_cookies = ["__utm*", "_ga", "_gid"]
[response_headers]
x_cache = true• Standard TOML format
• Declarative config
• Readable patterns
• Any developer can read it
Why TOML Wins
Readable by Anyone
Junior devs, ops teams, even managers can review and understand the config.
Secure by Default
Built-in cookie bypass, auth handling, and request smuggling prevention.
Hot Reload
Change config, save file, done. No restarts, no SIGHUP signals needed.
Validation on Load
Config errors caught immediately with clear error messages. No runtime surprises.
Git-Friendly
Simple diffs, easy code review. Compare to 500-line VCL changes.
Faster Onboarding
New team members productive in minutes, not weeks of VCL training.
Real-World Examples
Stale-While-Revalidate
3 lines vs 25 lines# Trident
[cache]
grace_period = "24h"# Varnish VCL
sub vcl_hit {
if (obj.ttl >= 0s) {
return (deliver);
}
if (std.healthy(req.backend_hint)) {
if (obj.ttl + obj.grace > 0s) {
return (deliver);
}
}
return (miss);
}Cache Tags
Built-in & Ready# Trident - Built-in cache tags
# Tags extracted from X-Cache-Tags header
# Purge via REST API:
curl -X POST /admin/purge/tag \
-d '{"tag": "product:123"}'# Traditional approach
# Often requires enterprise tier
# Or custom implementation
# Manual ban list management
# Additional complexityBackend Health Checks
5 lines vs 15 lines# Trident
[[backends]]
name = "origin"
host = "backend.example.com"
health_check_path = "/health"
health_check_interval = "5s"# Varnish VCL
probe health {
.url = "/health";
.interval = 5s;
.timeout = 2s;
.window = 5;
.threshold = 3;
}
backend origin {
.host = "backend.example.com";
.probe = health;
}Simpler AND Faster
You might think simple config means slower performance. Wrong. Trident's rules engine adds only 1.1% overhead vs 68.5% for equivalent VCL.
Complete Production Config
# trident.toml - Complete e-commerce config
[server]
listen = "0.0.0.0:80"
admin_listen = "127.0.0.1:8080"
[cache]
max_memory = "4GB"
default_ttl = "1h"
grace_period = "24h"
[cache.compression]
enabled = true
algorithm = "zstd"
level = 3
[cache.coalesce]
enabled = true
timeout = "30s"
[cache.stale_if_error]
enabled = true
max_stale_age = "1h"
status_codes = [500, 502, 503, 504]
[cache.key]
vary_headers = ["X-Customer-Group"]
strip_cookies = ["__utm*", "_ga", "_gid", "fbclid"]
normalize_query = true
[[backends]]
name = "origin"
host = "backend.example.com"
port = 443
tls = true
health_check_path = "/health"
health_check_interval = "10s"
[logging]
format = "json"
level = "info"40 lines of readable TOML. Full production setup.
Equivalent Varnish VCL: 200+ lines
Start with Simple Configuration
Declarative TOML is included in all Trident plans.