Skip to main content

Quickstart

This is the shortest repo-supported path from local setup to one visible Triggers v2 run.

Goal:

  • start the shared local v2 stack
  • register the flow_lab source
  • run the flow_lab service
  • create and release one simple flow
  • publish one event and see a run

1. Start the local stack

From notify_triggers/:

cd /Users/claudiu/dev/newton/momentum-online/notify_triggers
make local-infra
make local-up

That gives you the shared local Kafka, NATS, and the triggers-v2 API on http://localhost:8888.

2. Seed the example source

From triggers-sdk-go/examples/flow_lab/:

cd /Users/claudiu/dev/newton/momentum-online/triggers-sdk-go/examples/flow_lab
make seed

This registers the local Kafka source used by the example flow.

That source is separate from service ingress. make seed registers the flow-starting source flow_lab_in, while the running flow_lab service separately declares its own service ingress with Ingress(triggers.NATS).

3. Run the example service

In the same folder:

make run

Leave that process running. In another shell, confirm the service is online:

curl -s http://localhost:8888/api/v2/services/flow_lab | jq '.liveness, [.manifest.actions[].name]'

Expected result:

  • online
  • ["parse","wrap"]

If you do not see that, stop here and fix registration before building a flow.

4. Create the first flow

In Studio, create the simplest allowed path:

source (flow_lab_in)
-> service (flow_lab)
-> action (parse)

Two rules from the repo example matter here:

  • a source never connects directly to an action
  • an action never connects directly to another action

That is the recommended first path, not the full graph grammar. The broader runtime also allows a source to route into nodes such as condition, rate-limit, mapping, output-topic, or service-in.

Map the incoming message field into parse.message, then release the flow. If your Studio flow also needs to be enabled separately, do that before producing an event.

For a fuller walkthrough, use /triggers/first-end-to-end-flow.

5. Publish one event

Back in triggers-sdk-go/examples/flow_lab/:

make produce

By default that publishes {"message":"hello from flow_lab"} to the example topic.

6. Inspect the run

Use the flow ID from Studio and inspect recent runs:

curl -s "http://localhost:8888/api/v2/flows/<flow_id>/runs" | jq .

At this point you have proven the main newcomer loop:

  • the source exists
  • the service registered its manifest
  • the flow released
  • one source event produced one visible run