{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "HD Proxy Start Configuration",
  "type": "object",
  "properties": {
    "node_name": {
      "type": "string",
      "description": "Unique identifier for the proxy node."
    },
    "listen_address": {
      "type": "string",
      "description": "Address for the Control Plane (default: :8080)."
    },
    "dms_url": {
      "type": "string",
      "description": "Upstream HTTPS absolute URL to the Data Management System."
    },
    "dms_ca_cert_path": {
      "type": "string",
      "description": "Absolute path to DMS CA certificate trust anchors."
    },
    "client_cert_file": {
      "type": "string",
      "description": "Path to the localized public cert."
    },
    "client_key_file": {
      "type": "string",
      "description": "Path to local private TLS key."
    },
    "bootstrap_token": {
      "type": "string",
      "description": "Token to pass to DMS during cold-starts for manual authentication (RSA-4096)."
    },
    "k8s_token": {
      "type": "string",
      "description": "Standard Kubernetes ServiceAccount token for authenticating integrations natively."
    },
    "pki_wrap_key": {
      "type": "string",
      "description": "Optional AES key for encrypting persisted identity files."
    },
    "command_interface": {
      "type": "string",
      "description": "The IPv4 interface for the Command Network to bind to.",
      "default": "0.0.0.0"
    },
    "observability_interface": {
      "type": "string",
      "description": "The IPv4 interface for the Observability Network to bind to.",
      "default": "0.0.0.0"
    },
    "production_interface": {
      "type": "string",
      "description": "The physical PCIe network interface bound to the VFIO kernel module used for fast-path DPDK packet RX/TX. If 'none', uses posix system stack.",
      "default": "none"
    },

    "otel_grpc_url": {
      "type": "string",
      "description": "Open Telemetry collection endpoint."
    },
    "scc_timeout_ms": {
      "type": "integer",
      "description": "Timeout when proxying to downstream storage controllers (default: 5000)."
    },
    "log_stdout": {
      "type": "boolean",
      "description": "Enable standard output json logging natively."
    }
  },
  "required": [
    "node_name",
    "dms_url"
  ]
}
