Skip to content

Platform Configuration

Tutorial

Platform Configuration

Configure TTLs, limits, and platform behavior

30 min Advanced
OpsConfigurationTTLLimits

What You'll Learn

  • TTL Settings — Configure instance/snapshot TTLs with ISO 8601 durations
  • Concurrency Limits — Set per-analyst and cluster-wide caps
  • Maintenance Mode — Enable/disable platform maintenance windows
  • Export Config — Control export duration and behaviour
# Cell 1 — Parameters
USERNAME = "_FILL_ME_IN_" # Set your email before running
# Cell 2 — Connect
from graph_olap import GraphOLAPClient
client = GraphOLAPClient(username=USERNAME)
# Cell 3 — Provision
from notebook_setup import provision
personas, conn = provision(USERNAME)
analyst = personas["analyst"]
admin = personas["admin"]
ops = personas["ops"]
client = ops
print(f"Connected to: {ops._config.api_url}")
1

TTL Configuration

Automatic cleanup with ISO 8601 durations

# View current lifecycle settings
lifecycle = client.ops.get_lifecycle_config()
print(f"Current instance TTL: {lifecycle.instance.default_ttl}")
# Update instance TTL to 24 hours (ISO 8601 duration format)
# Common formats: PT1H (1 hour), PT24H (24 hours), P7D (7 days)
client.ops.update_lifecycle_config(
instance={"default_ttl": "PT24H"}
)
# Verify the change
lifecycle = client.ops.get_lifecycle_config()
print(f"Updated instance TTL: {lifecycle.instance.default_ttl}")
2

Concurrency Limits

Per-analyst and cluster-wide caps

# View current concurrency limits
concurrency = client.ops.get_concurrency_config()
print(f"Per analyst: {concurrency.per_analyst}")
print(f"Cluster total: {concurrency.cluster_total}")
# Update concurrency limits
client.ops.update_concurrency_config(
per_analyst=10,
cluster_total=200,
)
# Verify
concurrency = client.ops.get_concurrency_config()
print(f"\nUpdated per analyst: {concurrency.per_analyst}")
print(f"Updated cluster total: {concurrency.cluster_total}")
3

Maintenance Mode

Enable/disable scheduled maintenance windows

# Check current maintenance mode status
maint = client.ops.get_maintenance_mode()
print(f"Maintenance mode: {'ENABLED' if maint.enabled else 'DISABLED'}")
if maint.enabled:
print(f"Message: {maint.message}")
# Enable maintenance mode (blocks new instance creation)
client.ops.set_maintenance_mode(
enabled=True,
message="Scheduled maintenance — upgrading database cluster",
)
print("\nMaintenance mode enabled.")
# Disable maintenance mode
client.ops.set_maintenance_mode(enabled=False, message="")
print("Maintenance mode disabled.")
4

Export Configuration

Control export duration limits

# View current export settings
export = client.ops.get_export_config()
print(f"Max export duration: {export.max_duration_seconds}s")
# Update max export duration to 2 hours
client.ops.update_export_config(max_duration_seconds=7200)
# Verify
export = client.ops.get_export_config()
print(f"Updated max duration: {export.max_duration_seconds}s")

Key Takeaways

  • TTLs use ISO 8601 duration format (PT24H, P7D) via update_lifecycle_config()
  • Concurrency is split into per_analyst and cluster_total via update_concurrency_config()
  • set_maintenance_mode() blocks new instance creation during maintenance windows
  • update_export_config() controls max export duration in seconds
  • All configuration changes require ops-level permissions and take effect immediately