Home / TxPipe / oura
Jun 10, 9-10 AM (0)
Jun 10, 10-11 AM (0)
Jun 10, 11-12 PM (0)
Jun 10, 12-1 PM (0)
Jun 10, 1-2 PM (0)
Jun 10, 2-3 PM (0)
Jun 10, 3-4 PM (0)
Jun 10, 4-5 PM (0)
Jun 10, 5-6 PM (0)
Jun 10, 6-7 PM (0)
Jun 10, 7-8 PM (0)
Jun 10, 8-9 PM (0)
Jun 10, 9-10 PM (0)
Jun 10, 10-11 PM (0)
Jun 10, 11-12 AM (0)
Jun 11, 12-1 AM (0)
Jun 11, 1-2 AM (0)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (0)
Jun 11, 4-5 AM (0)
Jun 11, 5-6 AM (0)
Jun 11, 6-7 AM (0)
Jun 11, 7-8 AM (0)
Jun 11, 8-9 AM (0)
Jun 11, 9-10 AM (0)
Jun 11, 10-11 AM (0)
Jun 11, 11-12 PM (0)
Jun 11, 12-1 PM (0)
Jun 11, 1-2 PM (0)
Jun 11, 2-3 PM (0)
Jun 11, 3-4 PM (0)
Jun 11, 4-5 PM (0)
Jun 11, 5-6 PM (0)
Jun 11, 6-7 PM (0)
Jun 11, 7-8 PM (0)
Jun 11, 8-9 PM (0)
Jun 11, 9-10 PM (0)
Jun 11, 10-11 PM (0)
Jun 11, 11-12 AM (0)
Jun 12, 12-1 AM (0)
Jun 12, 1-2 AM (0)
Jun 12, 2-3 AM (0)
Jun 12, 3-4 AM (0)
Jun 12, 4-5 AM (0)
Jun 12, 5-6 AM (0)
Jun 12, 6-7 AM (0)
Jun 12, 7-8 AM (0)
Jun 12, 8-9 AM (0)
Jun 12, 9-10 AM (0)
Jun 12, 10-11 AM (0)
Jun 12, 11-12 PM (0)
Jun 12, 12-1 PM (3)
Jun 12, 1-2 PM (0)
Jun 12, 2-3 PM (3)
Jun 12, 3-4 PM (2)
Jun 12, 4-5 PM (0)
Jun 12, 5-6 PM (0)
Jun 12, 6-7 PM (2)
Jun 12, 7-8 PM (5)
Jun 12, 8-9 PM (0)
Jun 12, 9-10 PM (0)
Jun 12, 10-11 PM (8)
Jun 12, 11-12 AM (0)
Jun 13, 12-1 AM (0)
Jun 13, 1-2 AM (0)
Jun 13, 2-3 AM (0)
Jun 13, 3-4 AM (0)
Jun 13, 4-5 AM (0)
Jun 13, 5-6 AM (0)
Jun 13, 6-7 AM (0)
Jun 13, 7-8 AM (0)
Jun 13, 8-9 AM (0)
Jun 13, 9-10 AM (0)
Jun 13, 10-11 AM (0)
Jun 13, 11-12 PM (1)
Jun 13, 12-1 PM (0)
Jun 13, 1-2 PM (7)
Jun 13, 2-3 PM (0)
Jun 13, 3-4 PM (0)
Jun 13, 4-5 PM (0)
Jun 13, 5-6 PM (0)
Jun 13, 6-7 PM (0)
Jun 13, 7-8 PM (0)
Jun 13, 8-9 PM (2)
Jun 13, 9-10 PM (7)
Jun 13, 10-11 PM (0)
Jun 13, 11-12 AM (10)
Jun 14, 12-1 AM (0)
Jun 14, 1-2 AM (0)
Jun 14, 2-3 AM (0)
Jun 14, 3-4 AM (0)
Jun 14, 4-5 AM (0)
Jun 14, 5-6 AM (0)
Jun 14, 6-7 AM (0)
Jun 14, 7-8 AM (0)
Jun 14, 8-9 AM (0)
Jun 14, 9-10 AM (0)
Jun 14, 10-11 AM (0)
Jun 14, 11-12 PM (5)
Jun 14, 12-1 PM (1)
Jun 14, 1-2 PM (3)
Jun 14, 2-3 PM (7)
Jun 14, 3-4 PM (0)
Jun 14, 4-5 PM (0)
Jun 14, 5-6 PM (0)
Jun 14, 6-7 PM (0)
Jun 14, 7-8 PM (0)
Jun 14, 8-9 PM (0)
Jun 14, 9-10 PM (0)
Jun 14, 10-11 PM (1)
Jun 14, 11-12 AM (8)
Jun 15, 12-1 AM (0)
Jun 15, 1-2 AM (0)
Jun 15, 2-3 AM (0)
Jun 15, 3-4 AM (0)
Jun 15, 4-5 AM (0)
Jun 15, 5-6 AM (0)
Jun 15, 6-7 AM (0)
Jun 15, 7-8 AM (0)
Jun 15, 8-9 AM (0)
Jun 15, 9-10 AM (0)
Jun 15, 10-11 AM (0)
Jun 15, 11-12 PM (0)
Jun 15, 12-1 PM (2)
Jun 15, 1-2 PM (2)
Jun 15, 2-3 PM (1)
Jun 15, 3-4 PM (2)
Jun 15, 4-5 PM (0)
Jun 15, 5-6 PM (0)
Jun 15, 6-7 PM (0)
Jun 15, 7-8 PM (0)
Jun 15, 8-9 PM (0)
Jun 15, 9-10 PM (0)
Jun 15, 10-11 PM (0)
Jun 15, 11-12 AM (0)
Jun 16, 12-1 AM (0)
Jun 16, 1-2 AM (0)
Jun 16, 2-3 AM (0)
Jun 16, 3-4 AM (0)
Jun 16, 4-5 AM (0)
Jun 16, 5-6 AM (0)
Jun 16, 6-7 AM (0)
Jun 16, 7-8 AM (0)
Jun 16, 8-9 AM (0)
Jun 16, 9-10 AM (0)
Jun 16, 10-11 AM (0)
Jun 16, 11-12 PM (0)
Jun 16, 12-1 PM (0)
Jun 16, 1-2 PM (0)
Jun 16, 2-3 PM (0)
Jun 16, 3-4 PM (0)
Jun 16, 4-5 PM (0)
Jun 16, 5-6 PM (0)
Jun 16, 6-7 PM (0)
Jun 16, 7-8 PM (0)
Jun 16, 8-9 PM (0)
Jun 16, 9-10 PM (0)
Jun 16, 10-11 PM (0)
Jun 16, 11-12 AM (0)
Jun 17, 12-1 AM (0)
Jun 17, 1-2 AM (0)
Jun 17, 2-3 AM (0)
Jun 17, 3-4 AM (0)
Jun 17, 4-5 AM (0)
Jun 17, 5-6 AM (0)
Jun 17, 6-7 AM (0)
Jun 17, 7-8 AM (0)
Jun 17, 8-9 AM (0)
Jun 17, 9-10 AM (0)
82 commits this week Jun 10, 2026 - Jun 17, 2026
docs: reorder v2 sidebar, split examples, add quickstart install tabs
Acting on review feedback for the published v2 docs:

- Sidebar order: fix the dataflow ordering (Sources -> Filters -> Sinks, was
  Filters -> Sources -> Sinks), cluster the standalone intro pages at the top
  (Introduction -> How it works -> Quick Start) instead of wedging Quick Start
  between groups, and move Reference below the config section. Added intentional
  intra-group order for Installation and Usage (watch -> dump -> daemon ->
  library).
- Rename the "Advanced Features" group to "Configuration" and position it right
  after the component groups — these pages are all optional daemon.toml config
  blocks. Kept it separate from Usage (CLI entry points) rather than merging.
- Split Examples into "Runnable examples" (the repo projects) and a new
  "Recipes" page (the inline copy-paste daemon.toml snippets).
- Quickstart step 1 now offers the full install-method tabs (Shell / PowerShell
  / Homebrew / npm), matching the Binary Releases page.

Verified with a full local astro build of txpipe/docs: 196 pages built, the
Tabs-in-Steps install block renders, and the new Recipes page builds.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: fix MDX/Mermaid build errors in v2 docs
The Starlight docs build (txpipe/docs) failed compiling the v2 docset merged
in #950:

- advanced/stateful_cursor.mdx: a `</TabItem>` indented two spaces directly
  after a Markdown list was absorbed as a loose list-item paragraph, so MDX
  never saw the closing tag ("Expected the closing tag </TabItem>"). Moving the
  Tabs/TabItem JSX tags to column 0 with blank lines around the content puts
  the tags outside the list.
- how_it_works.mdx: harden the Mermaid block to canonical syntax (spaced
  dotted-link labels, non-reserved node id) so rehype-mermaid's img-svg
  renderer accepts it.

Verified with a full local `astro build` of txpipe/docs against this content:
195 pages built, the diagram rasterizes to SVG, all three new pages render.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: fix MDX/Mermaid build errors in v2 docs
The Starlight docs build (txpipe/docs) failed compiling the v2 docset:

- advanced/stateful_cursor.mdx: a `</TabItem>` indented two spaces directly
  after a Markdown list was absorbed as a loose list-item paragraph, so MDX
  never saw the closing tag ("Expected the closing tag </TabItem>"). Move all
  the Tabs/TabItem JSX tags to column 0 with blank lines around the content so
  the tags sit outside the list.
- how_it_works.mdx: harden the Mermaid block to canonical syntax (spaced
  dotted-link labels, non-reserved node id) so rehype-mermaid's img-svg
  renderer accepts it.

Verified with a full local `astro build` of txpipe/docs against this content:
195 pages built, the diagram rasterizes to SVG, all three new pages render.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: revamp v2 docs — friendlier prose, navigation, and new guide pages
Bring the whole v2 docset up to a consistent, friendly-but-efficient voice and
make it easier to navigate, without breaking any existing URLs.

Highlights:
- Consistent skeleton across every source/sink/filter page (what it is + when to
  use it; consistent required/optional field markup; gotchas as asides).
- New section landing pages (sources/sinks/filters/advanced) with "which one
  should I use?" comparison tables.
- Sinks clustered by category via sidebar.order (Console -> Files -> Messaging
  -> Cloud -> Database), no file moves.
- Deduplicated the AWS/GCP credential chains onto the Sinks overview page.
- Split the 634-line Data Dictionary: concept model stays, Legacy-V1 event
  catalog moves to its own reference page.
- Components the site barely used: Tabs (install/k8s/cursor), Steps (daemon,
  kafka guide), asides for feature gating and gotchas, code-block titles.
- New pages: How it works (pipeline model + first Mermaid diagram + rollback
  handling), Quick Start (watch -> minimal daemon.toml), Troubleshooting.
- Accuracy: corrected stale "requires feature X" notes left wrong by the
  batteries-included change (only kafka/zeromq/mithril/wasm need a custom build).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: make cloud-sink examples runnable standalone via docker-compose
Add a docker-compose.yml to each cloud-sink example so it runs with no real
cloud account, and document the standalone workflow in each README:

- aws_s3 / aws_sqs / aws_lambda — LocalStack + an init script that provisions
  the bucket / queue / function. The AWS SDK honors AWS_ENDPOINT_URL, so no
  code change is needed; the READMEs show the env vars to target LocalStack.
- gcp_pubsub — Google's Pub/Sub emulator + a curl init container creating the
  topic and a subscription. Targeted via PUBSUB_EMULATOR_HOST.
- gcp_cloudfunction / webhook_basics — an http-echo server stands in for the
  HTTP endpoint.

Each README gains "Run standalone" and "Run against real <cloud>" sections.
All six were verified end-to-end against the bundled services.

Also fix a pre-existing bug in aws_s3/daemon.toml: the AwsS3 sink only accepts
Record::CborBlock, but the example ran a ParseCbor filter, so it errored on the
first block regardless of AWS. Removed the filter (N2N already emits CborBlock).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
chore: update cargo-dist, drop self-updater and PR release dry-run
Bump cargo-dist to 0.30.3 and adjust its config:

- install-updater = false: stop bundling the axoupdate self-updater in
  the generated installers.
- pr-run-mode = "skip": don't run the release dry-run on pull requests
  (PR validation already lives in ci.yml); the release workflow now fires
  only on version tags.

release.yml is regenerated from dist-workspace.toml accordingly.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: correct opt-in build notes for kafka and mithril
The batteries-included PR (#944) described mithril as "unsupported on
Windows MSVC", but the green `--all-features` Windows CI check shows its
GMP/blst C-crypto crates build and statically link there. Mithril is opt-in
because it's a heavy C toolchain (large binary + long build), not for
portability reasons.

Also fix the kafka note: it now pulls a vendored OpenSSL build (wired to the
`kafka` feature), so opt-in builds need a C compiler + Perl rather than the
platform's system OpenSSL dev libraries. No behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
chore: slim dependencies and ship a batteries-included default binary
Reduce Oura's dependency footprint so the released binary can bundle most
integrations by default, instead of forcing consumers to compile custom
feature-flavored builds.

Base trims & dedup:
- move reqwest to rustls and bump to 0.12, collapsing the duplicate
  native-tls/openssl and rustls/http/hyper stacks onto a single tree
- gate handlebars behind the `sql` feature (its only user)
- drop the unused `yaml` config format (keep toml + json)
- bump bech32 0.9->0.11 and itertools 0.12->0.14 to dedupe with pallas
- adopt gasket/gasket-prometheus 0.11.1, which drops prometheus_exporter_base
  and its legacy TLS/HTTP server stack (metrics endpoint verified working)

Batteries-included release binary (~37 MB, fully pure-Rust TLS):
- default dist features now bundle u5c, elasticsearch, hydra, redis, rabbitmq,
  sql, gcp and aws
- keep sqlx, elasticsearch and google-cloud-pubsub on rustls so no system
  OpenSSL is pulled into the release build
- leave kafka, zeromq, mithril and wasm opt-in (each needs a special build
  environment incompatible with portable cross-target releases)
- wire the opt-in `kafka` feature to vendored OpenSSL (its only TLS backend is
  openssl-sys) so kafka / `--all-features` builds compile without a system
  OpenSSL; the release bundle stays pure-rustls
- document the bundled vs. source-build integrations in the install docs

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: add per-example READMEs and slim the examples showcase
Add a brief README.md to each runnable example under examples/ describing
its scope, pipeline (as a mermaid flowchart), prerequisites, and run command.
24 new READMEs plus 4 existing ones (postgresql, redis_cursor,
metadata_regex_filter, wasm_basic) reshaped to the same template.

With per-example READMEs now serving as the detail pages behind the showcase,
drop the now-duplicated "Companion files & setup" section and the "Setup"
column from docs/v2/examples/index.mdx, leaving a clean Example | What it shows
catalog plus the inline recipes.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
docs: replace dead mainnet relay in v2 docs and CONTRIBUTING
The v2 docs and CONTRIBUTING still referenced
relays-new.cardano-mainnet.iohk.io:3001, which no longer resolves
(NXDOMAIN), so copy-pasted config snippets and `oura watch` commands fail
to connect. Point them at the live
backbone.mainnet.cardanofoundation.org:3001 relay, matching the example
configs fixed in #939.

(v1 docs are maintained on the lts/v1 branch and fixed separately.)

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
chore(examples): remove the broken pool_metadata example
pool_metadata used `type = "Deno"`, a filter that has been removed from the
codebase, so the example fails to load. It also pointed `main_module` at a
`./filter.js` that doesn't exist (only `filter.ts` shipped). Custom filters
are already demonstrated by the `wasm_basic` (WasmPlugin) example, so remove
the dead example rather than port it.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>