LaserData Cloud
Deployments

Configuration

Versioned deployment configuration with schemas, activation, and rollback

Every deployment has configuration that controls the behavior of the Iggy server and any active connectors. Configuration is versioned - you can create multiple versions, activate a specific version, and roll back to a previous one.

All configuration data is encrypted at rest alongside all other sensitive data on the platform.

Configuration Kinds

KindWhat It Configures
IggyIggy server settings - topic sizes, retention policies, system limits, transport settings
ConnectorsGlobal connectors runtime settings
Individual connectorPer-connector instance settings - stream/topic mappings, plugin configuration, batch settings

How It Works

  1. Each deployment starts with a default configuration based on best-practice defaults
  2. You can create a new named configuration with custom values
  3. Each named config maintains a version history - every save creates a new version
  4. Activate a specific version to apply it to the deployment
  5. Trigger a reconfigure task to apply the change (see Apply Configuration Changes)
  6. The Warden agent pulls the task and applies the active configuration
  7. If something goes wrong, activate a previous version and reconfigure to roll back

Configuration Schemas

Every configuration kind has a schema that defines the available settings, their types, defaults, and validation rules. You can retrieve the schema to see what's configurable before creating a config.

From the Console

  1. Navigate to your deployment and open the Configuration tab
  2. Select the configuration kind (Iggy, Connectors, or a specific connector instance)
  3. The schema is displayed as a form with current values, defaults, and descriptions
  4. Modify values and click Save to create a new version
  5. Click Activate to apply the version to the deployment

Managing Configurations

From the Configuration tab you can:

  • View all named configs for each kind with their version history
  • See the primary (active) configuration
  • Compare versions side-by-side
  • Activate any version to make it live
  • Delete configurations you no longer need

Required permission: deployment:config:manage (create, activate, delete) or deployment:config:read (view)


API Reference

Get Configuration Schema

Returns the available settings, types, and defaults for a configuration kind. The response is organized into sections, each with a human-readable name, description, and list of schema entries.

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/schema \
  -H "ld-api-key: YOUR_API_KEY"
{
  "segment": {
    "name": "Segment",
    "description": "Log segment size and rotation settings.",
    "schema": [
      {
        "key": "IGGY_SEGMENT_SIZE",
        "name": "Segment Size",
        "description": "Maximum size of a single log segment",
        "default_value": "1 GB",
        "kind": "size",
        "versions": "all",
        "editable": true,
        "secret": false,
        "requirements": [],
        "rules": []
      }
    ]
  },
  "stream": {
    "name": "Stream",
    "description": "Stream creation defaults and limits.",
    "schema": [...]
  },
  "topic": {
    "name": "Topic",
    "description": "Topic creation defaults and limits.",
    "schema": [...]
  }
}

Each section key is a snake_case identifier (e.g. segment, stream, topic, tcp, http, quic, compression, encryption, data_maintenance). Schema entries include:

FieldDescription
keyConfiguration key (e.g. IGGY_SEGMENT_SIZE)
nameHuman-readable name
descriptionWhat the setting controls
default_valueDefault value
kindField type — string, bool, int, float, size, duration, path, url, etc.
editableWhether the value can be changed
secretWhether the value is masked in responses
requirementsDependencies on other config values
rulesValidation rules (min, max, etc.)

Connector config schemas use the same format with additional sections: sink, source, and plugin_config.

Create a Configuration

curl -X POST {supervisor_url}/deployments/{deployment_id}/configs/iggy \
  -H "ld-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "high-throughput",
    "values": {
      "IGGY_SYSTEM_TOPIC_MAX_SIZE": "2 GB"
    },
    "activate": false
  }'

Returns 201 Created with ld-config header containing the new config ID.

Set "activate": true to immediately apply the config after creation.

Get Active Configuration

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/primary \
  -H "ld-api-key: YOUR_API_KEY"

List All Configurations

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy \
  -H "ld-api-key: YOUR_API_KEY"

Get a Specific Configuration

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id} \
  -H "ld-api-key: YOUR_API_KEY"

Get Version History

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions \
  -H "ld-api-key: YOUR_API_KEY"

Get a Specific Version

curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions/{version} \
  -H "ld-api-key: YOUR_API_KEY"

Activate a Version

curl -X PUT {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/activate/{version} \
  -H "ld-api-key: YOUR_API_KEY"

Returns 204 No Content.

Delete a Configuration

curl -X DELETE {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id} \
  -H "ld-api-key: YOUR_API_KEY"

Returns 204 No Content.

Apply Configuration Changes

After activating a new configuration version, trigger a reconfigure task to apply it to the deployment:

curl -X POST {supervisor_url}/deployments/{deployment_id}/tasks \
  -H "ld-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "iggy:reconfigure"
  }'

The Warden agent on each node pulls the task and applies the active configuration automatically. Use connectors:reconfigure to apply connector configuration changes instead.

Required permission: deployment:task:manage

List Tasks

curl {supervisor_url}/deployments/{deployment_id}/tasks \
  -H "ld-api-key: YOUR_API_KEY"

Returns all tasks for the deployment, including their status and type. Use this to monitor the progress of reconfigure, upgrade, and other operational tasks.

On this page