// STRYKE-DEMO — LIVE DEMOS FOR EVERY STRYKE-* PACKAGE

14 demos · one .stk script per stryke-* connector · docker-compose for the live services · make run-all runs every demo whose service is reachable

Report GitHub Issues
// Color scheme

>_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

#PackageDemo fileService needed
1stryke-arrowdemos/01_arrow.stknone (in-process)
2stryke-mysqldemos/02_mysql.stkMySQL 5.7+ / MariaDB
3stryke-postgresdemos/03_postgres.stkPostgres 12+
4stryke-sparkdemos/04_spark.stknone (embedded)
5stryke-awsdemos/05_aws.stkLocalStack or real AWS
6stryke-gcpdemos/06_gcp.stkreal GCP (ADC)
7stryke-kafkademos/07_kafka.stkKafka broker
8stryke-grpcdemos/08_grpc.stkreflection-enabled gRPC server
9stryke-parquetdemos/09_parquet.stknone (in-process)
10stryke-duckdbdemos/10_duckdb.stknone (embedded)
11stryke-redisdemos/11_redis.stkRedis 6+
12stryke-mongodemos/12_mongo.stkMongoDB 5+
13stryke-k8sdemos/13_k8s.stkKubernetes 1.24+ (kind / k3s / cloud)
14stryke-dockerdemos/14_docker.stkDocker 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