Configuration
Skew protection is configured via environment variables or Helm values.
Feature Flag
Section titled “Feature Flag”| Property | Value |
|---|---|
| Type | Boolean |
| Default | false |
| Environment Variable | PLT_FEATURE_SKEW_PROTECTION |
| Helm | services.icc.features.skew_protection.enable |
When disabled, ICC does not interact with the Gateway API at all. No HTTPRoute resources are created, no version tracking occurs. Existing deployments without a Gateway controller are unaffected.
Grace Period
Section titled “Grace Period”| Property | Value |
|---|---|
| Type | Integer (milliseconds) |
| Default | 86400000 (24 hours) |
| Environment Variable | PLT_SKEW_GRACE_PERIOD_MS |
| Helm | services.icc.skew_protection.grace_period_ms |
Maximum duration a version can remain in Draining state before being force-expired, regardless of remaining traffic.
Cookie Max-Age
Section titled “Cookie Max-Age”| Property | Value |
|---|---|
| Type | Integer (seconds) |
| Default | 43200 (12 hours) |
| Environment Variable | PLT_SKEW_COOKIE_MAX_AGE |
| Helm | services.icc.skew_protection.cookie_max_age |
The Max-Age attribute on the __plt_dpl cookie. Controls how long the browser retains the deployment cookie.
Auto-Cleanup
Section titled “Auto-Cleanup”| Property | Value |
|---|---|
| Type | Boolean |
| Default | false |
| Environment Variable | PLT_SKEW_AUTO_CLEANUP |
| Helm | services.icc.skew_protection.auto_cleanup |
When enabled, ICC deletes the Deployment and Service resources for expired versions. When disabled, expired Deployments are scaled to 0 replicas but left for users to manually remove.
Check Interval
Section titled “Check Interval”| Property | Value |
|---|---|
| Type | Integer (milliseconds) |
| Default | 60000 (1 minute) |
| Environment Variable | PLT_SKEW_CHECK_INTERVAL_MS |
| Helm | services.icc.skew_protection.check_interval_ms |
How often the draining checker runs to evaluate whether draining versions should be expired.
Traffic Window
Section titled “Traffic Window”| Property | Value |
|---|---|
| Type | Integer (milliseconds) |
| Default | 300000 (5 minutes) |
| Environment Variable | PLT_SKEW_TRAFFIC_WINDOW_MS |
| Helm | services.icc.skew_protection.traffic_window_ms |
The Prometheus query window for measuring requests per second to draining versions. The RPS check is skipped until the version has been draining longer than this window.
Summary
Section titled “Summary”| Variable | Helm | Type | Default | Description |
|---|---|---|---|---|
PLT_FEATURE_SKEW_PROTECTION | services.icc.features.skew_protection.enable | Boolean | false | Enable/disable skew protection globally |
PLT_SKEW_GRACE_PERIOD_MS | services.icc.skew_protection.grace_period_ms | Integer | 86400000 | Grace period before force-expiring draining versions (ms) |
PLT_SKEW_COOKIE_MAX_AGE | services.icc.skew_protection.cookie_max_age | Integer | 43200 | Cookie Max-Age attribute (seconds) |
PLT_SKEW_AUTO_CLEANUP | services.icc.skew_protection.auto_cleanup | Boolean | false | Auto-delete expired Deployments and Services |
PLT_SKEW_CHECK_INTERVAL_MS | services.icc.skew_protection.check_interval_ms | Integer | 60000 | Draining checker interval (ms) |
PLT_SKEW_TRAFFIC_WINDOW_MS | services.icc.skew_protection.traffic_window_ms | Integer | 300000 | Prometheus query window for RPS check (ms) |