Skip to content

Platform settings reference

::: caution Settings are durable product policy These values live in PostgreSQL, are audited, and may queue global runtime reconciliation. An environment variable does not replace a setting, and a runtime change is incomplete until affected targets acknowledge it. :::

Platform settings are validated groups in core/config/platform.php and stored in system_settings. Manage them at /admin/platform-settings, /api/admin/system/settings, or with platform:settings:show and platform:settings:set.

Updating edge_runtime, origin_safety, or proxy_defaults creates an asynchronous global edge reconcile operation. Other groups apply to later requests or scheduled work without rewriting every domain.

Operations

FieldDefaultAllowed
audit_retention_days36530–3,650
scheduler_stale_seconds18060–3,600
clock_drift_warning_seconds51–300
backup_stale_hours261–168

Telemetry

FieldDefaultAllowed
raw_retention_days71–30
hourly_retention_days40030–730
daily_retention_days1,095365–3,650
finalization_delay_minutes155–1,440
ipv4_mask_bits248–32
ipv6_mask_bits4816–64

The masking and finalization fields are active application policy. The shipped ClickHouse DDL has fixed TTLs of 7, 400, and 3 years; changing retention values does not migrate ClickHouse tables automatically.

DNS lifecycle

FieldDefaultAllowed
deprovision_delay_days71–365
domain_reclaim_cooldown_days71–365

Revision history

FieldDefaultAllowed
retention_days11–365
minimum_revisions_per_domain102–100

API rate limits

FieldDefault per identityAllowed
login_per_minute101–1,000
account_reads_per_minute6001–10,000
account_mutations_per_minute2401–5,000
bulk_per_minute121–1,000
origin_tests_per_minute201–1,000
edge_registrations_per_hour101–1,000
edge_agent_per_minute6001–10,000

Edge runtime

FieldDefaultAllowed
heartbeat_fresh_seconds4510–300
placement_drain_seconds30030–86,400
max_domain_artifact_bytes2,097,15265,536–16,777,216

Origin safety

FieldDefaultAllowed
private_origin_allowlistemptyup to 128 private IPv4/IPv6 CIDRs
blocked_origin_networksemptyup to 128 IPv4/IPv6 CIDRs
blocked_origin_addressesemptyup to 128 IPv4/IPv6 addresses

The allowlist cannot override unspecified, loopback, link-local, metadata, multicast, reserved, platform, edge-service, or proxy-loop rejection.

Proxy defaults

FieldDefaultAllowed
enabledtrueboolean
redirect_httpsfalseboolean
http_versions1.1, 2one or both
retry_count00–2

API examples

Read all groups:

sh
curl --fail \
  --header "Authorization: Bearer ${CDNF_TOKEN}" \
  https://control.example.com/api/admin/system/settings

Update one group:

sh
curl --fail --request PATCH \
  --header "Authorization: Bearer ${CDNF_TOKEN}" \
  --header "Idempotency-Key: 8d90bd25-afcb-40df-89e1-61087b85ca91" \
  --header "Content-Type: application/json" \
  --data '{"values":{"heartbeat_fresh_seconds":45}}' \
  https://control.example.com/api/admin/system/settings/edge_runtime

CDNFoundry documentation