Skip to content

Connector, action and source kinds

Connector, action and source kinds

Generated from the KC-00 capability map (broker_config::capability).

flowchart LR
Request["v5 create / update / probe"] --> Map["KIND_ROWS capability map"]
File["indra.toml / state.toml"] --> Map
Map --> Ready["ready: runtime path runs"]
Map --> Pending["pending ticket: refused"]
Map --> Refused["refused decision: removed"]
Ready --> Deliver["connector / action / source delivers"]
Pending --> BadRequest["400 refusal"]
Refused --> BadRequest
kindaliasesfamilyownerstateconnectoractionsourceprobeSQL INTOfeature
alloydbgoogle_alloydb, alloy_dbrelationalMV-02areadyyesyesyesyesyes-
aws_iotaws_iot_corecloud-iotSB-11pending SB-11yesyesyesyesyesaws_iot
azure_blobazure_blob_storage, azureblob, azblobobject-storeMV-02dreadyyesyesyesyesyesazure_blob
azure_eventhubsazure_event_hubs, azure, eventhubs, azure_event_hub_producercloud-messagingMV-03breadyyesyesyesyesyesazure_eventhubs
azure_iotazure_iot_hub, azure_iothub, iothubcloud-iotSB-11pending SB-11yesyesyesyesyesazure_iot
bigquerybq, gbqobject-storeMV-02dreadyyesyesyesyesyesbigquery
cassandrascylla, scylladb, cqltime-seriesSB-27pending SB-27yesyesyesyesyescassandra
clickhousechtime-seriesMV-02breadyyesyesyesyesyesclickhouse
cockroachdbcockroachrelationalMV-02areadyyesyesyesyesyes-
confluentconfluent_kafka, confluent_cloud, confluent_producermessage-brokerMV-03areadyyesyesyesyesyesconfluent
consoleloggerlocalKC-00/D9readyyesyesyesyesyes-
couchbasecouch, cbdocument-storeMV-02creadyyesyesyesyesyescouchbase
databricksdelta_lakeobject-storeMV-02drefused D3nonononono-
datalayerstime-seriesMV-02breadyyesyesyesyesyes-
disk_logdisk, disklogobject-storeMV-02dreadyyesyesyesyesyes-
doristime-seriesMV-02breadyyesyesyesyesyes-
dynamodbdynamo, ddbobject-storeMV-02dreadyyesyesyesyesyesdynamodb
elasticsearchelastic, es, opensearchdocument-storeMV-02creadyyesyesyesyesyeselasticsearch
gcp_iotgcp_iot_core, cloud_iotcloud-iotD3refused D3nononononogcp_iot
gcp_pubsubgcp, pubsub, gcp_pubsub_consumer, gcp_pubsub_producercloud-messagingMV-03breadyyesyesnoyesyesgcp_pubsub
greptimedbgreptimetime-seriesMV-02breadyyesyesyesyesyes-
httpresthttpMV-03creadyyesyesyesyesyes-
influxdbinfluxtime-seriesMV-02breadyyesyesyesyesyes-
iotdbtime-seriesMV-02breadyyesyesyesyesyes-
kafkakafka_producer, kafka_consumermessage-brokerMV-03areadyyesyesyesyesyeskafka
kinesisaws_kinesiscloud-messagingMV-03breadyyesyesyesyesyeskinesis
mongodbmongo, documentdbdocument-storeMV-02creadyyesyesyesyesyesmongodb
mqtt_bridgemqtt, mqtt-bridge, bridgemessage-brokerMV-03areadyyesyesyesyesyes-
mssqlsqlserverrelationalMV-02areadyyesyesyesyesyes-
mysqlmariadbrelationalMV-02areadyyesyesyesyesyes-
oci_streamingocicloud-messagingSB-11pending SB-11yesyesyesyesyes-
opc_uaopcuadeviceMV-03creadyyesyesyesyesyes-
opentsdbopentstime-seriesMV-02breadyyesyesyesyesyes-
oraclerelationalMV-02areadyyesyesyesyesyes-
pgsqlpostgres, postgresqlrelationalMV-01readyyesyesyesyesyes-
pulsarmessage-brokerMV-03areadyyesyesyesyesyes-
rabbitmqrabbit, amqpmessage-brokerMV-03areadyyesyesyesyesyesrabbitmq
redismessage-brokerMV-03areadyyesyesyesyesyes-
redshiftrelationalMV-02areadyyesyesyesyesyes-
rocketmqmessage-brokerMV-03areadyyesyesyesyesyes-
s3minioobject-storeMV-02dreadyyesyesyesyesyess3
snowflakesnowflake_streaming, snowflake_aggregatedobject-storeMV-02dreadyyesyesyesyesyes-
sparkplug_bsparkplug, spbdeviceMV-03creadyyesyesyesyesyes-
tablestoreotsobject-storeMV-02dreadyyesyesyesyesyes-
tdenginetime-seriesMV-02breadyyesyesyesyesyes-
testlocalMV-03ctest-onlyyesnonoyesyes-
timescaledbtimescaletime-seriesSB-27pending SB-27yesyesyesyesyes-
timestreamaws_timestreamtime-seriesMV-02breadyyesyesyesyesyes-
webhookhttpMV-01readyyesyesyesyesyes-
azure_event_gridcloud-messagingD3refused D3nonononono-
s3_tabless3tables, icebergobject-storeMV-04refused MV-04nonononono-

States

  • ready: implemented with no invented target value and proved by tests. Only ready kinds may deliver through the v5 path. The v1 path and SQL INTO keep their old delivery.
  • pending <ticket>: refused until the named family ticket sets the kind ready.
  • refused <decision>: not kept for compatibility; D3 closed services and the MV-04 S3 Tables removal.
  • test-only: the local test helper, present only in a test build (decision D9).

Behaviour of a kind that is not ready

Connector, action and source create answer 400 for a kind that is not ready. The three IoT kinds aws_iot, azure_iot and oci_streaming answer 400 BAD_REQUEST for create and update. The code is ALREADY_EXISTS for the other kinds when the connector credential fields pass. A missing credential names the field. http, opc_ua, sparkplug_b and the object, file and remaining cloud kinds answer 400 ALREADY_EXISTS; other kinds answer 400 BAD_REQUEST. Update answers 400 BAD_REQUEST.

Probe answers 400 TEST_FAILED. A non-ready refusal carries connector type <kind> is not available in this broker. Nothing is stored. A refused update keeps the old record. A strict config file load fails and names the file, key and kind. A stored record from an earlier version is kept and visible and reports disconnected with a status_reason.

A stored record raises connector_unavailable:<id> or action_unavailable:<id>. A rule that uses it stays enabled and counts the forward as failed. The schema, action-type and source-type listings show only ready kinds.