infinyon / fluvio

Lean and mean distributed stream processing system written in rust and web assembly. Alternative to Kafka + Flink in one.
https://www.fluvio.io/
Apache License 2.0
3.88k stars 491 forks source link

Add CLI command for managing SmartModules #1758

Closed nicholastmosher closed 2 years ago

nicholastmosher commented 3 years ago

New proposed subcommands for persistent SmartStreams/SmartModules

# Create a new SmartModule
$ fluvio smartmodule create <name> [--wasm-file=path/to/binary.wasm] [--source-file=path/to/project]

# Update a SmartModule that already exists, or create it if it does not exist
$ fluvio smartmodule update <name> [--wasm-file=path/to/binary.wasm] [--source-file=path/to/project]

# Delete if the named smartmodule is not in use, reject otherwise unless --force is given
$ fluvio smartmodule delete <name> [--force]

$ fluvio smartmodule list
$ fluvio smartmodule describe

Fluvio Client needs an API for SmartModules

Fluvio CLI should accept SmartModule name for consuming

fluvio consume my-topic --filter=<name of smartmodule>

--filter should accept file path or persistent SmartModule

This applies also to --map and --aggregate.

Checklist:

nacardin commented 2 years ago

We don't seen describe or update at the moment. Update requires a versioning strategy. Otherwise this is done.