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_labsource - run the
flow_labservice - 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
What to read next
- /triggers/core-concepts for the runtime vocabulary
- /triggers/first-end-to-end-flow for the same path with more inspection detail
- /triggers/studio-flows for the graph grammar behind the canvas
- /triggers/flow-lab for the full example README