{
  "meta": {
    "description": "Padas Core REST POST bodies for the quickstart pipeline (streams \u2192 syslog TCP connectors \u2192 processing task \u2192 lifecycle starts). Mirrors padas-registry-quickstart.json for Core-only quickstart.",
    "troubleshooting": [
      "Source: Core listens for TCP syslog-style lines on 0.0.0.0:8080 by default. padas_tcp_quickstart_server.py connects as a client and sends synthetic lines to SOURCE_TARGET_HOST:SOURCE_TARGET_PORT (default 127.0.0.1:8080). If Core runs on another host, point the script at that host/IP.",
      "Sink: Core opens a TCP connection to the sink address:port (default 127.0.0.1:8081). Run padas_tcp_quickstart_server.py on the same host as Core, or change sink connector config.address to where the script listens (SINK_HOST:SINK_PORT).",
      "The sample PDL keeps events where parse_kv yields action=\"login\" (~one third of templates). If the pipeline is healthy but you see no [SINK] lines, wait a few seconds or lower EVENT_INTERVAL_SECONDS in the script."
    ],
    "references": [
      "https://github.com/padasio/padas-core/blob/main/docs/api/connectors/CONNECTOR_API_SPEC.md",
      "https://github.com/padasio/padas-core/blob/main/docs/api/PADAS_API_SPECIFICATION.md"
    ]
  },
  "streams": [
    {
      "stream": {
        "id": "conn-source-syslog-quickstart_stream",
        "wal": {
          "enabled": false
        }
      }
    },
    {
      "stream": {
        "id": "conn-sink-syslog-quickstart_stream",
        "wal": {
          "enabled": false
        }
      }
    }
  ],
  "connectors": [
    {
      "connector": {
        "id": "conn-source-syslog-quickstart",
        "type": "source",
        "class": "syslog",
        "stream": "conn-source-syslog-quickstart_stream",
        "enabled": true,
        "config": {
          "path": "",
          "endpoint": "",
          "bootstrap_servers": "",
          "topic": "",
          "group_id": "",
          "mode": "tcp",
          "input_mode": "raw",
          "address": "0.0.0.0",
          "port": 8080,
          "include_raw_data": false,
          "routing_rules": [],
          "timestamp": {
            "enabled": false,
            "field": "timestamp",
            "format": "auto",
            "regex": "",
            "format_custom": ""
          },
          "buffer": {
            "max_events": 5000
          },
          "workers": 2,
          "preserve_order": false,
          "pattern": "",
          "recursive": false,
          "watch_changes": false,
          "encoding": "utf8",
          "checkpointing": true,
          "checkpoint_dir": "",
          "read_from": "beginning",
          "max_line_bytes": 102400,
          "max_read_bytes": 2048,
          "line_delimiter": "\n",
          "fingerprint": {
            "strategy": "checksum",
            "init_hash_length": 256,
            "init_hash_lines": 0,
            "ignored_header_bytes": 0
          },
          "multiline": {
            "start_pattern": "",
            "mode": "halt_before",
            "condition_pattern": "",
            "timeout_ms": 1000
          },
          "method": "GET",
          "timeout_seconds": 30,
          "retry_attempts": 0,
          "interval_ms": 100,
          "headers": "",
          "authentication": {
            "auth_type": "bearer",
            "username": "",
            "api_key_header": "X-API-Key"
          },
          "batch": {
            "max_events": 100,
            "timeout_ms": 100,
            "max_bytes": 1048576
          },
          "compression": "auto",
          "compression_threshold": 1024,
          "tls": {
            "enabled": false,
            "ca_file": "",
            "cert_file": "",
            "key_file": "",
            "verify_cert": true,
            "verify_host": true
          },
          "auto_offset_reset": "latest",
          "enable_auto_commit": "true",
          "security_protocol": "plaintext",
          "sasl_mechanism": "",
          "sasl_username": "",
          "ssl_ca_location": "",
          "ssl_certificate_location": "",
          "ssl_key_location": "",
          "additional_properties": "",
          "index": "",
          "sourcetype": "",
          "source": "",
          "host": "",
          "enable_ack": false,
          "timeout_secs": 30
        }
      }
    },
    {
      "connector": {
        "id": "conn-sink-syslog-quickstart",
        "type": "sink",
        "class": "syslog",
        "stream": "conn-sink-syslog-quickstart_stream",
        "enabled": true,
        "config": {
          "path": "",
          "endpoint": "",
          "bootstrap_servers": "",
          "topic": "",
          "mode": "tcp",
          "address": "127.0.0.1",
          "port": 8081,
          "bucket": "",
          "region": "",
          "object_storage_endpoint": "",
          "force_path_style": false,
          "prefix": "",
          "object_storage_format": "json_lines",
          "outer_compression": "none",
          "parquet_compression": "snappy",
          "parquet_max_row_group_rows": 65536,
          "max_batch_bytes": 10000000,
          "max_batch_events": 100000,
          "max_batch_age_ms": 300000,
          "max_object_bytes": 134217728,
          "max_retries": 5,
          "retry_initial_backoff_ms": 200,
          "role_arn": "",
          "role_session_name": "",
          "external_id": "",
          "integrity_enabled": false,
          "emit_verification_manifest": false,
          "timestamp": {
            "enabled": false,
            "field": "timestamp",
            "format": "auto",
            "regex": ""
          },
          "buffer": {
            "max_events": 10000
          },
          "workers": 2,
          "preserve_order": false,
          "pattern": "",
          "recursive": false,
          "watch_changes": false,
          "encoding": "utf8",
          "method": "POST",
          "timeout_seconds": 30,
          "retry_attempts": 0,
          "headers": "",
          "authentication": {
            "auth_type": "bearer",
            "username": "",
            "api_key_header": "X-API-Key"
          },
          "batch": {
            "max_events": 100,
            "timeout_ms": 100
          },
          "compression": "auto",
          "compression_threshold": 1024,
          "tls": {
            "enabled": false,
            "ca_file": "",
            "cert_file": "",
            "key_file": "",
            "verify_cert": false,
            "verify_host": true
          },
          "security_protocol": "plaintext",
          "sasl_mechanism": "",
          "sasl_username": "",
          "ssl_ca_location": "",
          "ssl_certificate_location": "",
          "ssl_key_location": "",
          "additional_properties": "",
          "index": "",
          "sourcetype": "",
          "source": "",
          "host": "",
          "enable_ack": false,
          "timeout_secs": 30,
          "compress": false,
          "output_mode": "rfc3164"
        }
      }
    }
  ],
  "task": {
    "task": {
      "id": "task-quickstart-normalize",
      "mode": "processing",
      "source_stream": "conn-source-syslog-quickstart_stream",
      "sink_streams": [
        "conn-sink-syslog-quickstart_stream"
      ],
      "enabled": true,
      "queries": [
        {
          "id": "task-quickstart-normalize_query",
          "pdl": "parse_kv \n| action = \"login\"\n| eval custom_field = \"Yey, this is my first task!\""
        }
      ]
    }
  },
  "starts_in_order": [
    {
      "kind": "connector",
      "id": "conn-source-syslog-quickstart"
    },
    {
      "kind": "task",
      "id": "task-quickstart-normalize"
    },
    {
      "kind": "connector",
      "id": "conn-sink-syslog-quickstart"
    }
  ]
}