brokers Broker (host:porta, separati da virgola) | string | yes | — kafka1.example.com:9092, kafka2.example.com:9092 | Lista dei bootstrap broker del cluster, separati da virgola. Ne basta uno raggiungibile: il client scopre gli altri. Formato host:porta. |
topic Topic | string | yes | — orders.events | Nome del topic da consumare. Il consumer si sottoscrive a tutte le sue partizioni. |
groupId Consumer Group ID | string | no | — flowforge-orders-processor | Identifica il gruppo di consumer che si spartiscono le partizioni. Più istanze con lo stesso id scalano in parallelo. Vuoto = id dedicato a questo workflow (flowforge-<workflowId>). |
fromBeginning Leggi dall'inizio (primo avvio) | boolean | no | false | On: al primo avvio del gruppo consuma dall'offset più vecchio disponibile (backfill dello storico). Off (default): riparte dall'ultimo offset committato dal gruppo (solo i nuovi messaggi). |
ssl TLS (ssl) | boolean | no | false | On per i cluster che richiedono connessione cifrata (quasi tutti i gestiti: Confluent, MSK, Aiven). |
saslMechanism Autenticazione SASL | enumnoneplainscram-sha-256scram-sha-512
| no | none | Meccanismo SASL. none = nessuna auth (broker aperti / reti fidate). plain / scram-sha-256 / scram-sha-512 per i cluster gestiti. Richiede username e password qui sotto. |
saslUsername SASL username / API key | string | no | — {{secrets.KAFKA_KEY}} | Username SASL (o API key per Confluent Cloud). Usa {{secrets.X}} per non incollarlo in chiaro. |
saslPassword SASL password / API secret | string | no | — {{secrets.KAFKA_SECRET}} | Password SASL (o API secret). Usa {{secrets.X}} dalle Variabili tenant: non incollare segreti nel nodo. |
jsonParse Parsa i messaggi come JSON | boolean | no | true | On (default): il payload viene parsato come JSON in "data" (fallback alla stringa grezza se non è JSON valido). Off: "data" resta la stringa. "raw" contiene sempre il testo originale. |
messagePointer JSON Pointer di filtro/estrazione | string | no | — /eventType oppure /payload/status | RFC 6901 JSON Pointer. Se valorizzato, il run parte SOLO se il puntatore risolve a un valore non-undefined (esposto come "matched"). I messaggi senza match avanzano comunque l'offset (scartati per scelta). Vuoto = ogni messaggio fa partire un run. |
maxMessagesPerSec Budget anti-flood (messaggi/sec) | number | no | 0 | Tetto di run avviati al secondo. Oltre il budget i messaggi avanzano l'offset senza far partire un run (scartati) per proteggere il runtime. 0 = nessun limite. In Kafka il consumer group + partizioni già distribuiscono il carico. |
reconnect Riconnessione automatica | boolean | no | true | On (default): su crash del consumer riconnette con backoff esponenziale (1s→2s→…→30s). Off: alla prima caduta il consumer si ferma finché non riabiliti/salvi il workflow. |