Skip to content

Configuration

Skew protection is configured via environment variables or Helm values.

PropertyValue
TypeBoolean
Defaultfalse
Environment VariablePLT_FEATURE_SKEW_PROTECTION
Helmservices.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.

PropertyValue
TypeInteger (milliseconds)
Default1800000 (30 minutes)
Environment VariablePLT_SKEW_HTTP_GRACE_PERIOD_MS
Helmservices.icc.skew_protection.http_grace_period_ms

Duration after entering Draining during which the version is kept alive unconditionally. No traffic checks or policy evaluations run during this window.

PropertyValue
TypeInteger (milliseconds)
Default86400000 (24 hours)
Environment VariablePLT_SKEW_HTTP_MAX_ALIVE_MS
Helmservices.icc.skew_protection.http_max_alive_ms

Hard ceiling on how long a version can remain in Draining state. After this duration, the version is force-expired regardless of remaining traffic.

PropertyValue
TypeInteger (seconds)
Default43200 (12 hours)
Environment VariablePLT_SKEW_COOKIE_MAX_AGE
Helmservices.icc.skew_protection.cookie_max_age

The Max-Age attribute on the __plt_dpl cookie. Controls how long the browser retains the deployment cookie.

PropertyValue
TypeBoolean
Defaultfalse
Environment VariablePLT_SKEW_AUTO_CLEANUP
Helmservices.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.

PropertyValue
TypeInteger (milliseconds)
Default60000 (1 minute)
Environment VariablePLT_SKEW_CHECK_INTERVAL_MS
Helmservices.icc.skew_protection.check_interval_ms

How often the draining checker runs to evaluate whether draining versions should be expired.

PropertyValue
TypeInteger (milliseconds)
Default300000 (5 minutes)
Environment VariablePLT_SKEW_TRAFFIC_WINDOW_MS
Helmservices.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.

VariableHelmTypeDefaultDescription
PLT_FEATURE_SKEW_PROTECTIONservices.icc.features.skew_protection.enableBooleanfalseEnable/disable skew protection globally
PLT_SKEW_HTTP_GRACE_PERIOD_MSservices.icc.skew_protection.http_grace_period_msInteger1800000Grace period for HTTP versions (ms)
PLT_SKEW_HTTP_MAX_ALIVE_MSservices.icc.skew_protection.http_max_alive_msInteger86400000Max alive ceiling for HTTP versions (ms)
PLT_SKEW_COOKIE_MAX_AGEservices.icc.skew_protection.cookie_max_ageInteger43200Cookie Max-Age attribute (seconds)
PLT_SKEW_AUTO_CLEANUPservices.icc.skew_protection.auto_cleanupBooleanfalseAuto-delete expired Deployments and Services
PLT_SKEW_CHECK_INTERVAL_MSservices.icc.skew_protection.check_interval_msInteger60000Draining checker interval (ms)
PLT_SKEW_TRAFFIC_WINDOW_MSservices.icc.skew_protection.traffic_window_msInteger300000Prometheus query window for RPS check (ms)