Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
3f6a10a
feat: add .gitignore to static-next-server (#18)
oddgrd Feb 6, 2023
1b8e38e
fix: gitignore filename (#19)
oddgrd Feb 6, 2023
c28f163
chore: v0.10.0 (#20)
oddgrd Feb 10, 2023
3ad8b14
feat: gitignore static folder, but allow it for shuttle (#21)
oddgrd Feb 14, 2023
94c5dd3
chore: v0.11.0 (#22)
oddgrd Feb 27, 2023
2a599dd
chore: v0.11.3 (#25)
oddgrd Mar 8, 2023
ecc256f
chore(static-next-server/README): added notes on why static... (#31)
iulianbarbu Mar 17, 2023
64b2cd2
feat: shuttle next (#27)
chesedo Mar 20, 2023
53b6911
chore: v0.13.0 (#33)
oddgrd Mar 27, 2023
2642519
chore: bump static folder to 0.13.1 (#34)
oddgrd Mar 28, 2023
da693ce
feat: workspace example (#35)
chesedo Apr 12, 2023
5d7268b
Update project cmd (#36)
jonaro00 Apr 12, 2023
099b409
chore: v0.14.0 (#37)
oddgrd Apr 12, 2023
6fd2a8a
feat examples: add rocket dynamic template (shuttle-static-folder) ex…
jhawkesworth Apr 20, 2023
61ad08a
chore: v0.15.0 (#39)
oddgrd Apr 27, 2023
66ad6cf
Basic Service impl
morlinbrot May 3, 2023
d2dab07
Add simple job execution
morlinbrot May 3, 2023
412febb
run CronService job in a loop
urbaniak May 3, 2023
53d4fe3
Add some documentation
morlinbrot May 4, 2023
2eb52d5
Use tracing for output, clean up dependencies
morlinbrot May 5, 2023
026fc30
feat: changing '/hello' routes to '/' (#41)
mikegin May 5, 2023
43c0758
misc: rename examples to shuttle-examples (#44)
chesedo May 5, 2023
0c5b8c2
chore: v0.16.0 (#46)
oddgrd May 8, 2023
3024595
Basic Axum router impl
morlinbrot May 8, 2023
391f119
style: Added rustfmt.toml (#45)
ethanholz May 8, 2023
cdf353d
Add request.sh for testing, simplify router
morlinbrot May 8, 2023
0991a84
Add shuttle-persist to the mix
morlinbrot May 8, 2023
d05f9df
Impl CrontabService with persist, write new schedules to persist
morlinbrot May 8, 2023
d75767f
Fix unwrap panics
morlinbrot May 9, 2023
d5a61a8
Add README.md
morlinbrot May 9, 2023
c1f1ad4
Add CronRunner to run jobs
morlinbrot May 10, 2023
5c9957b
Move CronService to its own crate
morlinbrot May 10, 2023
cb63060
Update request.sh with usable url
morlinbrot May 11, 2023
1633d46
Make use of CrontabService::new now accepting a router
morlinbrot May 11, 2023
58a1556
Adapt to changes in shuttle_crontab for code review part 1
morlinbrot May 11, 2023
6681065
chore: bump salvo
oddgrd May 12, 2023
63d2447
Refactor back into an example
morlinbrot May 15, 2023
3dff726
Rename to request-scheduler
morlinbrot May 15, 2023
4e43e38
Update documentation
morlinbrot May 15, 2023
579ef1c
Delete old crontab example
morlinbrot May 15, 2023
5881b39
Clean up
morlinbrot May 15, 2023
10bb391
Merge pull request #47 from morlinbrot/feat/crontab-api
iulianbarbu May 16, 2023
8f1d504
Merge pull request #48 from oddgrd/chore/bump-salvo
iulianbarbu May 17, 2023
a4d5b8e
feat: saas example (#50)
joshua-mo-143 May 19, 2023
0fe92a1
fix: make Stripe payment price a secret instead of hardcoding (#51)
joshua-mo-143 May 19, 2023
9ade4b1
chore: v0.17.0 (#49)
oddgrd May 22, 2023
724f065
fix call to grab_secrets (#53)
vim-zz May 31, 2023
dc9d1ff
feat: Add an axum/with-state example using updated generic AxumServic…
morlinbrot Jun 5, 2023
2a7ce1f
chore: v0.18.0 (#56)
oddgrd Jun 5, 2023
09895b1
feat: template for empty custom service (#59)
jonaro00 Jun 7, 2023
85f4cb2
fix: remove unnecessary version tags (#58)
jonaro00 Jun 7, 2023
d7b5ab8
Update & simplify axum examples, bump versions (#60)
jonaro00 Jun 15, 2023
d6eaf17
chore: v0.19.0 (#63)
oddgrd Jun 20, 2023
6b9eb2f
chore: v0.20.0 (#68)
oddgrd Jun 27, 2023
34d0cb4
Revert "chore: v0.20.0 (#68)" (#69)
oddgrd Jun 27, 2023
60596a0
feat: add turso example (#67)
Kazy Jun 28, 2023
6e23185
Revert "Revert "chore: v0.20.0 (#68)" (#69)" (#70)
oddgrd Jun 28, 2023
5b02a89
feat: document new init command, add community examples list (#65)
jonaro00 Jul 5, 2023
398ac9c
chore: v0.21.0 (#71)
oddgrd Jul 10, 2023
2262f8a
custom-resource: added pdo example (#73)
iulianbarbu Jul 18, 2023
bd9086e
Chore/v0.22.0 (#76)
oddgrd Jul 31, 2023
d286f41
chore: bump sqlx in resources (#75)
oddgrd Jul 31, 2023
fdd0ceb
Add example of how to run a standalone binary alongside the Shuttle o…
jonaro00 Aug 4, 2023
562f967
chore: v0.23.0 (#79)
oddgrd Aug 7, 2023
6837de8
feat: examples for injecting a custom tracing layer (#78)
AlphaKeks Aug 15, 2023
a079b84
chore: v0.24.0 release (#80)
iulianbarbu Aug 16, 2023
d617b76
Added a fullstack Rust template to the 'Community Examples' section o…
TylerBloom Aug 18, 2023
edeb214
add axum yew webapp example (#82)
Aug 26, 2023
07f1d3f
chore: v0.25.0 (#83)
oddgrd Aug 28, 2023
ac11cb1
feat: add shuttle-metadata example (#81)
orhun Aug 28, 2023
c7a46af
remove example list entry
jonaro00 Sep 2, 2023
84bc104
feat: add custom-tracing-subscriber example (#84)
orhun Sep 14, 2023
cadded9
chore: v0.26.0 (#85)
oddgrd Sep 14, 2023
c781aa6
Revert "chore: v0.26.0 (#85)" (#86)
oddgrd Sep 14, 2023
4a6c33d
Revert "Revert "chore: v0.26.0 (#85)" (#86)" (#87)
oddgrd Sep 18, 2023
1e62759
ci: Create github action that runs `cargo clippy` and `cargo fmt` (#40)
Sep 20, 2023
8ff7ff0
chore: v0.27.0 (#89)
oddgrd Sep 21, 2023
0bffd33
feat: remove uses of static-folder (#88)
jonaro00 Sep 21, 2023
3b68a7d
feat: set rocket static files dir with rocket.toml (#91)
oddgrd Sep 21, 2023
9ef894c
Merge remote-tracking branch 'upstream/main' into develop
oddgrd Sep 21, 2023
14e7062
Merge pull request #90 from shuttle-hq/develop
oddgrd Sep 21, 2023
4712db6
feat: fix auth for SaaS template (#95)
joshua-mo-143 Oct 2, 2023
cfc433f
chore: v0.28.0
oddgrd Oct 2, 2023
acdcb0f
fix: polishing of starter templates (#97)
jonaro00 Oct 9, 2023
f3a9857
chore: v0.29.0 (#98)
oddgrd Oct 9, 2023
fe9cae7
Custom shuttle binary filename (#99)
jonaro00 Oct 19, 2023
7e07f18
refactor: Add examples (#93)
joshua-mo-143 Oct 20, 2023
67fde9a
chore: update libsql-client version in axum turso (#100) (#103)
oddgrd Oct 24, 2023
75c98cf
chore: v0.30.0 (#104)
oddgrd Oct 24, 2023
38c466c
Add shuttle-template-actix (#106)
Oct 30, 2023
a7c7fe5
Add GitHub OAuth community example (#107)
robjtede Oct 31, 2023
7d5469f
bug: revert turso version update (#108)
chesedo Nov 2, 2023
7226d98
chore: v0.31.0 (#109)
oddgrd Nov 2, 2023
25d8771
fix: migration filename (#110)
jonaro00 Nov 8, 2023
153a727
chore: v0.32.0 (#111)
oddgrd Nov 9, 2023
281b8a0
improvement: rocket 0.5.0-rc4 (#112)
Nov 15, 2023
e7e2d4f
chore: v0.33.0 (#113)
oddgrd Nov 16, 2023
f8da105
improvement: rocket 0.5.0 stable (#114)
Nov 23, 2023
216aa7f
chore: v0.34.0 (#115)
jonaro00 Nov 23, 2023
1205ee6
add a full stack CRUD template using Yew, Rocket, and Sled (#116)
wiseaidev Nov 24, 2023
4acc85f
docs: add Bevy example (#102)
joshua-mo-143 Nov 27, 2023
20886ea
fix: allow template to be used with --from flag (#117)
joshua-mo-143 Nov 27, 2023
58bdd5e
chore: v0.35.0 (#118)
oddgrd Dec 7, 2023
56f235d
chore: remove develop branch suggestion from pr template (#122)
oddgrd Dec 20, 2023
7c2f159
chore: update axum examples to axum 0.7 (#123)
jonaro00 Jan 8, 2024
bbaa79f
chore: bump salvo (#121)
dalton-oliveira Jan 8, 2024
b3dba7a
chore: v0.36.0 (#125)
oddgrd Jan 8, 2024
898bda0
chore: update poem to 2.0.0, shuttle-poem to 0.37.0 (#126)
paulotten Jan 17, 2024
37c6135
feat: update everything to new ResourceBuilder + feature flags (#127)
jonaro00 Jan 22, 2024
e2397bb
feat: qdrant resource example (#64)
paulotten Jan 23, 2024
420080f
chore: v0.37.0
jonaro00 Jan 23, 2024
cd95660
feat: update serenity and poise examples to use serenity 0.12 (#129)
jonaro00 Jan 23, 2024
4edebb5
Merge pull request #128 from shuttle-hq/develop
jonaro00 Jan 24, 2024
3a41ef9
feat: cron example with apalis (#131)
joshua-mo-143 Jan 24, 2024
7836b78
feat(shuttle-turso): update turso example to use libsql (#132)
Mouwrice Jan 26, 2024
5ed3730
fix: move static files to proper directory (#119)
joshua-mo-143 Jan 29, 2024
f09baac
chore: v0.38.0 (#134)
jonaro00 Jan 31, 2024
5df025b
merge upstream/main
jonaro00 Jan 31, 2024
e89ed9b
Merge pull request #135 from shuttle-hq/develop
jonaro00 Feb 1, 2024
d1441fa
fix: saas template local run recommendation, npm update (#136)
jonaro00 Feb 2, 2024
a37ef62
SaaS: NextJS14, Turbowatch, Bundle Anaylzer (#137)
ccmvn Feb 8, 2024
62064ca
feat: actix + react + clerk example (#133)
sourabpramanik Feb 8, 2024
c8fbee2
add loco framework template (#139)
kaplanelad Feb 13, 2024
60083ca
chore: v0.39.0
jonaro00 Feb 14, 2024
db1bb32
chore: v0.39.0
jonaro00 Feb 14, 2024
893c5a4
feat: add Feb 2024 benchmark results, add salvo image rescaler (#143)
jonaro00 Feb 16, 2024
88b5aae
feat: htmx template (#138)
joshua-mo-143 Feb 16, 2024
1730b7b
feat: Add opendal hello world example (#142)
Xuanwo Feb 16, 2024
20c9dff
--idle-minutes 0 added at start (#141)
ccmvn Feb 22, 2024
b82ff31
chore: v0.40.0 (#147)
jonaro00 Mar 4, 2024
a0791d7
feat: template definition system, remove superflous templates (#148)
jonaro00 Mar 5, 2024
12ce8a7
chore: v0.41.0 (#151)
jonaro00 Mar 7, 2024
37adada
feat: update templates to latest schema (#150)
jonaro00 Mar 7, 2024
5ca1680
fix: replace deprecated fn call in example `rocket/jwt-authentication…
supleed2 Mar 7, 2024
90bc717
add serenity weather forecast bot example (#146)
Lonanche Mar 11, 2024
3341724
feat: bevy+axum hello world (#144)
joshua-mo-143 Mar 11, 2024
732d8b1
feat: Oauth2 template (#155)
joshua-mo-143 Mar 12, 2024
5010bd4
chore: move secrets & metadata to runtime (#153)
jonaro00 Mar 15, 2024
e9e2ab5
chore: v0.42.0
jonaro00 Mar 15, 2024
ede5a23
ci: no matrix fail fast (#158)
jonaro00 Mar 16, 2024
c0cae7b
ci: use patches for shuttle/main on develop branch (#154)
sourabpramanik Mar 18, 2024
e0d4934
fix: more removals of shuttle-secrets
jonaro00 Mar 18, 2024
f8c944a
ci: change shuttle checkout dir
jonaro00 Mar 18, 2024
588462f
Merge pull request #157 from shuttle-hq/develop
jonaro00 Mar 18, 2024
42dcc1a
chore: update libsql dep in axum/turso example (#159)
Jaco-Minnaar Mar 25, 2024
7629447
chore: v0.43.0
jonaro00 Mar 28, 2024
e4401fb
Merge pull request #160 from shuttle-hq/develop
jonaro00 Apr 2, 2024
7d45c76
feat: bump poem version (#161)
sourabpramanik Apr 8, 2024
1d72701
fix: poem AFIT
jonaro00 Apr 8, 2024
6f2f503
fix: clippy
jonaro00 Apr 8, 2024
55e473a
feat: update turso resource output type in turso example (#164)
joshua-mo-143 Apr 23, 2024
19dda45
chore: v0.44.0 (#165)
oddgrd Apr 23, 2024
c5ae2d2
Merge pull request #166 from shuttle-hq/develop
oddgrd Apr 23, 2024
ca678a9
feat: templates tags, logos & some readmes (#163)
jonaro00 Apr 23, 2024
1dd14da
chore: v0.45.0 (#167)
jonaro00 May 13, 2024
9c3c4f1
Update templates.toml
chrisaddy May 31, 2024
f7d2770
Merge pull request #168 from chrisaddy/main
oddgrd May 31, 2024
e8588a6
feat: feature flag example (#171)
jonaro00 Jun 13, 2024
0384527
chore: 0.46.0
jonaro00 Jun 13, 2024
17e58f9
chore: merge develop into main for 0.46.0
jonaro00 Jun 13, 2024
5743125
fix: opendal version (#173)
jonaro00 Jun 13, 2024
613f54d
Add shell true to turbowatch in `fullstack-templates/saas`
Ancientkingg Jul 8, 2024
f114453
Merge pull request #176 from Ancientkingg/main
oddgrd Jul 11, 2024
5576692
chore: upgrade qdrant to 1.10.1 (#177)
oddgrd Jul 22, 2024
0d0693d
chore: 0.47.0 (#178)
jonaro00 Jul 22, 2024
3480af7
feat: openai example (#180)
jonaro00 Jul 22, 2024
daf1aaa
chore: merge develop into main for 0.47.0
jonaro00 Jul 23, 2024
9cc7a8e
bump sqlx to 0.8 in database examples (#181)
Aug 15, 2024
cda84a7
chore: bump sqlx to 0.8.2
jonaro00 Sep 4, 2024
3ec0743
bump loco version to 0.9.0 (#186)
kaplanelad Sep 19, 2024
3f2b1c4
chore: ignore shuttle files
jonaro00 Sep 27, 2024
548c82c
Merge branch 'main' into develop
jonaro00 Sep 27, 2024
d08ff9d
chore: 0.48.0
jonaro00 Oct 1, 2024
5eb614e
chore: merge develop into main for v0.48.0
jonaro00 Oct 1, 2024
1a807fe
actix web + axum Shuttle.toml
jonaro00 Oct 8, 2024
3f35b74
bevy - rocket Shuttle.toml
jonaro00 Oct 8, 2024
2906047
fix: mentions of cargo shuttle
jonaro00 Oct 8, 2024
6c015b0
final Shuttle.toml
jonaro00 Oct 8, 2024
ae1a394
fix: templates.toml
jonaro00 Oct 10, 2024
32d0904
chore: merge develop into main for shuttle.dev
jonaro00 Oct 10, 2024
330c626
nit: move ci script
jonaro00 Oct 10, 2024
c3ee721
nit
jonaro00 Oct 10, 2024
a6b5f0d
readme link
jonaro00 Oct 15, 2024
e6a0199
fix: websocket examples urls
jonaro00 Oct 29, 2024
25fd5de
chore: v0.49.0
jonaro00 Nov 12, 2024
c23da29
chore: merge develop into main for 0.49.0
jonaro00 Nov 12, 2024
4185a78
feat: update openai template (#193)
joshua-mo-143 Nov 25, 2024
e45e918
chore: update shuttle-cron to latest versions and persist cron jobs (…
geofmureithi Dec 6, 2024
b1cdaac
docs: add missing word (#195)
c-git Dec 16, 2024
b1bea52
improvement: update libsql to 0.6.0 in Axum Turso example (#197)
Jan 7, 2025
3dcb936
chore: v0.50.0
oddgrd Jan 7, 2025
abc3d8e
Merge pull request #198 from shuttle-hq/develop
oddgrd Jan 7, 2025
5e2e5f2
feat: rewrite url shortener with pg opendal
jonaro00 Jan 8, 2025
8f60756
fix: feature name
jonaro00 Jan 8, 2025
592388f
feat: use axum 0.7/0.8 feature flags (#200)
jonaro00 Jan 9, 2025
26bb0b7
url shortener use serde json operator
jonaro00 Jan 9, 2025
d68c4ff
chore: bump salvo examples
jonaro00 Jan 9, 2025
9bf3f60
fix: bump opendal-memory example
jonaro00 Jan 9, 2025
391f368
chore: v0.51.0
jonaro00 Jan 10, 2025
802e30f
chore: merge develop into main for v0.51.0
jonaro00 Jan 10, 2025
73bf022
chore: bump loco to 0.14.0 (#202)
jonaro00 Jan 14, 2025
17959f6
chore: remove custom service that depends on shuttle-persist
jonaro00 Jan 15, 2025
82ead55
links
jonaro00 Jan 15, 2025
ce1653b
rocket: Include Rocket.toml in build assets (#204)
kikniknik Jan 26, 2025
e91535a
chore: v0.52.0
jonaro00 Feb 4, 2025
b12c2e6
chore: merge develop into main for 0.52.0
jonaro00 Feb 4, 2025
25ebe6d
chore: v0.35.0
jonaro00 Mar 12, 2025
937b42c
bump async-openai example
jonaro00 Mar 12, 2025
7833761
chore: v0.53.0
jonaro00 Mar 12, 2025
6408406
chore: v0.54.0
jonaro00 May 7, 2025
09ba0af
fix: tag order on postgres examples
jonaro00 May 7, 2025
33adbac
chore: v0.54.0
jonaro00 May 7, 2025
7707825
feat: add initial rama examples (#205)
GlenDC May 20, 2025
a1a59fd
fix: add rama templates entries
jonaro00 May 21, 2025
82baf9c
chore: v0.55.0
jonaro00 May 21, 2025
637c010
fix versions
jonaro00 May 21, 2025
f13cf19
chore: merge develop into main for v0.55.0
jonaro00 May 21, 2025
1f4943b
Add BetterStack resource metrics dashboard
shaaza Jun 6, 2025
e23b7e9
Merge pull request #215 from shuttle-hq/codex/create-telemetry-better…
shaaza Jun 11, 2025
470d745
nit: delete unused secrets file
jonaro00 Jun 11, 2025
20d8cd0
chore: v0.56.0
jonaro00 Jul 1, 2025
1d28510
chore: merge develop into main for v0.56.0
jonaro00 Jul 2, 2025
283d9a4
New Template: Axum AI Assisted (#221)
dcodesdev Jul 3, 2025
1eae9bc
Updated a template to use axum 0.8 (#220)
dcodesdev Jul 8, 2025
039d7d0
feat: Axum Todo list template (#216)
jonaro00 Jul 9, 2025
3154023
New Template: SSE MCP Server (#223)
dcodesdev Jul 18, 2025
1ffca03
chore: update loco for 0.56 (#222)
jonaro00 Jul 19, 2025
6d7b9f2
New Example: SSE MCP Server with OAuth (#224)
dcodesdev Aug 13, 2025
9e0c254
chore: services cleanup, bumps (#226)
jonaro00 Sep 10, 2025
75b6636
fmt
jonaro00 Sep 10, 2025
0866919
chore: 0.57.0
jonaro00 Sep 10, 2025
6afd79e
New Axum Template (#228)
dcodesdev Sep 11, 2025
b727c0e
nits
jonaro00 Sep 11, 2025
9777d91
chore: v0.57.0
jonaro00 Sep 11, 2025
75861dd
New Template: Snippet Sharing App (#229)
dcodesdev Sep 15, 2025
93f1aa8
Create data pipeline monitoring
AdepojuJeremy Sep 19, 2025
964516f
Delete axum/data pipeline monitoring
AdepojuJeremy Sep 19, 2025
4d503a8
Re-add Polars + OpenTelemetry pipeline example under axum templates (…
AdepojuJeremy Sep 19, 2025
3bf28fb
Re-add Polars + OpenTelemetry pipeline example under axum templates (…
AdepojuJeremy Sep 19, 2025
d359218
Merge branch 'main' into main
dcodesdev Sep 23, 2025
cd69950
Save current changes before running clippy --fix
AdepojuJeremy Sep 23, 2025
d7fe69a
Apply cargo fmt and clippy fixes
AdepojuJeremy Sep 23, 2025
ccc0db4
Add polars-otel-shuttle entry to templates.toml
AdepojuJeremy Sep 23, 2025
0732c59
WIP: current edits before clippy fixes
AdepojuJeremy Sep 24, 2025
ce634a2
Add polars-otel-shuttle entry to templates.toml
AdepojuJeremy Sep 24, 2025
a34ade4
Merge branch 'main' of https://github.com/AdepojuJeremy/shuttle-examples
AdepojuJeremy Sep 24, 2025
8c86ed8
Save changes before clippy fixes
AdepojuJeremy Sep 24, 2025
c1637ef
Save changes before clippy fixes
AdepojuJeremy Sep 24, 2025
78c66b0
Address maintainer feedback and fix CI issues:
AdepojuJeremy Sep 24, 2025
498cc89
Update README.md
AdepojuJeremy Sep 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions axum/polars-otel-shuttle/Cargo.toml
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure there are no unused dependencies here.

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[package]
name = "polars-otel-shuttle"
version = "0.1.0"
edition = "2021"

[features]
bench-cli = [] # local CLI binary
otel-otlp = ["opentelemetry-otlp"] # enable real OTLP exporter when you want it

[dependencies]
anyhow = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# Web (for Shuttle build)
axum = { version = "0.8", features = ["json"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace"] }

# Tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json", "time"] }
time = { version = "0.3", features = ["formatting", "macros"] }
tracing-opentelemetry = "0.31"

# OpenTelemetry (core + SDK; OTLP exporter is optional via feature)
opentelemetry = { version = "0.30", features = ["trace"] }
opentelemetry_sdk = { version = "0.30", features = ["trace", "rt-tokio"] }
opentelemetry-otlp = { version = "0.30", features = ["http-proto", "tls"], optional = true }

# Runtime (new enough to satisfy shuttle-runtime)
tokio = { version = "1.47.0", features = ["rt-multi-thread", "macros"] }

# ETL
polars = { version = "0.49", features = [
"lazy", "csv", "parquet", "fmt", "strings", "dtype-date", "dtype-datetime"
] }
chrono = { version = "0.4", features = ["clock"] }
comfy-table = "7"

# Shuttle (only used on deploy)
shuttle-runtime = { version = "0.56", features = ["setup-otel-exporter"] }
shuttle-axum = "0.56"
55 changes: 55 additions & 0 deletions axum/polars-otel-shuttle/README.md
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make this concise, it's too long.

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Polars ETL with OpenTelemetry

An ETL pipeline using Polars for data processing and OpenTelemetry for observability, deployable on Shuttle.

## What it does

- Processes CSV data with Polars (load → clean → aggregate → filter/sort → save)
- Exposes HTTP endpoints via Axum
- Emits metrics and traces via OpenTelemetry
- Integrates with Better Stack for monitoring (when deployed on Shuttle)

## Running locally

**ETL benchmark:**
```bash
RUST_LOG=info cargo run --release --features bench-cli
```

**Web service:**
```bash
cargo run --release
```

Place your CSV file at `./data/yellow_tripdata_2015-01.csv` or set `DATA_PATH=/path/to/file.csv`.

## Deploy to Shuttle

```bash
shuttle deploy
```

## Endpoints

- `GET /` - Health check
- `GET /health` - Health check with metrics
- `GET /benchmark` - Returns ETL metrics and emits telemetry events

## Observability

The service emits OpenTelemetry metrics:
- `monotonic_counter.http_requests_total` - Request counts
- `histogram.request_duration_ms` - Request latency
- `histogram.*_time_ms` - ETL stage timings
- `monotonic_counter.rows_processed` - Data throughput

When deployed on Shuttle with Better Stack integration enabled, these automatically appear in your telemetry dashboard.

## Configuration

**Environment variables:**
- `DATA_PATH` - Path to CSV file (default: `data/yellow_tripdata_2015-01.csv`)

**Features:**
- `bench-cli` - Enables local ETL benchmark
- `otel-otlp` - Enables OTLP export (for non-Shuttle deployments)
2 changes: 2 additions & 0 deletions axum/polars-otel-shuttle/Shuttle.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name = "polars-otel-shuttle"
# Shuttle uses your #[shuttle_runtime::main] entry point in src/main.rs
Loading