>_STRYKE-DEMO
Fourteen packages, one pull. Live runnable demos for every stryke-* connector in the family — arrow, aws, docker, duckdb, gcp, grpc, k8s, kafka, mongo, mysql, parquet, postgres, redis, spark. One s install pulls them all from GitHub; each demo is a standalone .stk script you can run directly. docker-compose.yml spins up every live service used by the demos.
The 14 demos
| # | Package | Demo file | Service needed |
|---|---|---|---|
| 1 | stryke-arrow | demos/01_arrow.stk | none (in-process) |
| 2 | stryke-mysql | demos/02_mysql.stk | MySQL 5.7+ / MariaDB |
| 3 | stryke-postgres | demos/03_postgres.stk | Postgres 12+ |
| 4 | stryke-spark | demos/04_spark.stk | none (embedded) |
| 5 | stryke-aws | demos/05_aws.stk | LocalStack or real AWS |
| 6 | stryke-gcp | demos/06_gcp.stk | real GCP (ADC) |
| 7 | stryke-kafka | demos/07_kafka.stk | Kafka broker |
| 8 | stryke-grpc | demos/08_grpc.stk | reflection-enabled gRPC server |
| 9 | stryke-parquet | demos/09_parquet.stk | none (in-process) |
| 10 | stryke-duckdb | demos/10_duckdb.stk | none (embedded) |
| 11 | stryke-redis | demos/11_redis.stk | Redis 6+ |
| 12 | stryke-mongo | demos/12_mongo.stk | MongoDB 5+ |
| 13 | stryke-k8s | demos/13_k8s.stk | Kubernetes 1.24+ (kind / k3s / cloud) |
| 14 | stryke-docker | demos/14_docker.stk | Docker daemon (Desktop / dockerd / DOCKER_HOST) |
Color legend: green = no service required · cyan = local docker-compose can host it · yellow = real cloud creds required.
Install
# clone + bootstrap with stryke's package manager git clone https://github.com/MenkeTechnologies/stryke-demo cd stryke-demo s install # pulls all 14 stryke-* packages from GitHub # verify each demo is runnable make check
s install resolves the package set declared in stryke.toml and clones each stryke-* repo into stryke's package store. Each demo script imports its package by name (no path indirection).
Spin up all live services
# bring up MySQL, Postgres, Kafka, Redis, MongoDB, LocalStack, k3s docker compose up -d # verify everything is healthy docker compose ps make services-up # convenience wrapper # tear down docker compose down
docker-compose.yml ships every dependency the in-tree demos need: MySQL, Postgres, Kafka (KRaft, single-node), Redis, MongoDB, LocalStack (S3 + DynamoDB + SQS + Lambda + STS), and k3s (single-node Kubernetes for stryke-k8s). The Spark, Arrow, Parquet, and DuckDB demos run embedded — no docker required. The gRPC demo expects an externally-running reflection-enabled gRPC server.
Run a single demo
# direct stryke invocation stryke demos/01_arrow.stk stryke demos/10_duckdb.stk stryke demos/13_k8s.stk # or via make (handles env vars per demo) make run-arrow make run-mysql make run-redis
Each demo prints what it's doing as it goes — nothing magic, nothing hidden. Read the .stk file to see exactly which package functions are being exercised.
Run everything available
# probe each service, skip demos whose dependency is unreachable make run-all # or the raw stryke entrypoint that does the probing stryke demos/run_all.stk
run_all.stk probes each live service on its expected port and skips demos whose dependency isn't up. The in-process demos (arrow, spark, parquet, duckdb) always run. Output is a summary table showing which demos succeeded vs were skipped vs failed.
Layout
stryke-demo/ ├── demos/ │ ├── 01_arrow.stk # arrow / parquet / feather columnar I/O │ ├── 02_mysql.stk # CRUD + bind params + NDJSON export │ ├── 03_postgres.stk # same shape as mysql │ ├── 04_spark.stk # Spark Connect (no JVM) │ ├── 05_aws.stk # S3 + DynamoDB against LocalStack │ ├── 06_gcp.stk # GCS + Pub/Sub │ ├── 07_kafka.stk # produce + consume + admin │ ├── 08_grpc.stk # reflection-driven list + call │ ├── 09_parquet.stk # schema + stats + head + recompress │ ├── 10_duckdb.stk # direct parquet/csv query without import │ ├── 11_redis.stk # KV + lists + hashes + pub/sub │ ├── 12_mongo.stk # find + aggregation + index admin │ ├── 13_k8s.stk # get + apply + scale + logs │ ├── 14_docker.stk # ps + logs + exec + events │ └── run_all.stk # probe services + run reachable demos ├── docker-compose.yml # MySQL / Postgres / Kafka / Redis / Mongo / LocalStack / gRPC ├── Makefile # `make run-*`, `services-up`, `check`, `run-all` ├── stryke.toml # package manifest (declares the 14 deps) └── docs/ # this site (GitHub Pages)
Updating dep pins
The stryke.toml pins each stryke-* package to a git ref. To pull every dep to its tip:
s update # refresh git refs and re-resolve make check # verify all demos still parse