You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# tremor-script --pre-process script.tremor => tremor dbg highlight --pre-process script.tremor# tremor-script -s script.tremor => tremor dbg highlight script.tremor# tremor-script -l script.tremor => tremor dbg lex script.tremor# tremor-script -a script.tremor => tremor dbg ast --highlight script.tremor# tremor-script -r script.tremor => tremor dbg ast script.tremor# tremor-script --process script.tremor => tremor run script.tremor# tremor-script -e file.json script.tremor => cat file.json | tremor-tool run script.tremor# => tremor-tool run -i file.json script.tremor# tremor-script --string "[1,2]" script.tremor => echo "[1,2]" | tremor-tool run script.tremor# tremor-script -e file.json -o error script.tremor => cat file.json | tremor-tool run --port err script.tremor## tremor-query -p script.trickle => tremor dbg highlight --pre-process script.trickle# tremor-query -s script.trickle => tremor dbg highlight script.trickle# tremor-query -l script.trickle => tremor dbg lex script.trickle# tremor-query -a script.trickle => tremor dbg ast --highlight script.trickle# tremor-query -r script.trickle => tremor dbg ast script.trickle# NEW => tremor run script.trickle# tremor-query -e file.json script.trickle => cat file.json | tremor-tool run script.trickle# => tremor-tool run -i file.json script.trickle# tremor-query --string "[1,2]" script.trickle => echo "[1,2]" | tremor-tool run script.trickle# tremor-query -e file.json -o error script.trickle => cat file.json | tremor-tool run --port err script.trickle## tremor-server -c f.yml f2.yml -q query.trickle => tremor server -f f.yml f2.yml query.trickle## Concept:# 1) rare / more developper focused commands are in the `dbg` sub command# 2) server commands are behind the `server` sub scommand.# 3) local commands are behind `run` and detect script/query based on file extnesions# 4) api commands are behind `api`
---
name: tremorversion: "0.8"author: The Tremor Teamabout: Tremorsettings:
- ArgRequiredElseHelpargs:
- verbose:
short: vmultiple: truehelp: Sets the level of verbositysubcommands:
- server:
about: Tremor serverargs:
loaded-files:
help: Pipelines, onramps, etc to loadshort: ftakes_value: truemin_values: 1max_values: 10000no-api:
help: Disable the APItakes_value: falseshort: nlong: no-apiapi-host:
help: Listening host for the APIshort: hlong: api-hostinstance:
help: Instance identifiershort: ilong: instancelogger-config:
help: log4rs configshort: llong: logger-config
- dbg:
about: Advanced debugging commandssubcommands:
- highlight:
about: Highlights a trickle or script fileargs:
pre-process:
help: Prints the preprocessed source instead of the originalshort: plong: pre-process
- ast:
about: prints the ast of the fileargs:
- SCRIPT:
help: tremor script filenamerequired: true
- highlight:
help: highlight outputshort: hlong: no-highlight
- lex:
about: prints output of the lexerargs:
- SCRIPT:
help: tremor script filenamerequired: true
- no-highlight:
help: do not highlight outputshort: nlong: no-highlight
- run:
about: > Run tremor script and query files against stdin or a json data archive, the data will be read from STDIN and written to STDOUT.args:
- SCRIPT:
help: filename to run the data throughrequired: true
- ENCODER:
short: elong: encoderhelp: The codec to use for encoding the datadefault_value: json
- DECODER:
short: dlong: decoderhelp: The codec to use for decoding the datadefault_value: json
- INFILE:
help: input fileshort: itakes_value: truedefault_value: "-"
- OUTFILE:
help: output fileshort: otakes_value: truedefault_value: "-"
- PREPROCESSOR:
long: pre-processormultiple: truehelp: preprocessor to pass data through before decodingdefault_value: lines
- POSTPROCESSOR:
long: post-processormultiple: truehelp: postprocessor to pass data through after encoding
- output-port:
long: portshort: phelp: selects the port to pull output
- api:
about: Tremor API clientargs:
- format:
short: fmultiple: falsehelp: Sets the output formatpossible_values: [json, yaml]takes_value: true
- config:
short: clong: configvalue_name: FILEhelp: Sets a custom config filetakes_value: truesubcommands:
- version:
about: Get tremor version
- target:
about: Target one or many tremor server instancessubcommands:
- list:
about: List registered targets
- create:
about: Create a new API targetargs:
- TARGET_ID:
help: The unique target id for the targetted tremor serversrequired: true
- SOURCE:
help: JSON or YAML file request bodyrequired: true
- delete:
about: Delete an existing API targetargs:
- TARGET_ID:
help: The unique target id for the targetted tremor serversrequired: true
- binding:
about: Query/update binding specification repositorysubcommands:
- list:
about: List registered binding specifications
- fetch:
about: Fetch a binding by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the binding specificationrequired: true
- delete:
about: Delete a binding by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the binding specificationrequired: true
- create:
about: Create and register a binding specificationargs:
- SOURCE:
help: JSON or YAML file request bodyrequired: true
- instance:
about: Fetch an binding instance by artefact id and instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the binding specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the binding specificationrequired: true
- activate:
about: Activate a binding by artefact id and servant instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the binding specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the binding specificationrequired: true
- SOURCE:
help: JSON -r YAML file request bodyrequired: true
- deactivate:
about: Activate a binding by artefact id and servant instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the binding specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the binding specificationrequired: true
- pipeline:
about: Query/update pipeline specification repositorysubcommands:
- list:
about: List registered pipeline specifications
- fetch:
about: Fetch a pipeline by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the pipeline specificationrequired: true
- delete:
about: Delete a pipeline by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the pipeline specificationrequired: true
- create:
about: Create and register a pipeline specificationargs:
- SOURCE:
help: JSON or YAML file request bodyrequired: false
- instance:
about: Fetch an pipeline instance by artefact id and instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the pipeline specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the pipeline specificationrequired: true
- onramp:
about: Query/update onramp specification repositorysubcommands:
- list:
about: List registered onramp specifications
- fetch:
about: Fetch an onramp by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the onramp specificationrequired: true
- delete:
about: Delete an onramp by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the onramp specificationrequired: true
- create:
about: Create and register an onramp specificationargs:
- SOURCE:
help: JSON or YAML file request bodyrequired: false
- instance:
about: Fetch an onramp instance by artefact id and instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the onramp specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the onramp specificationrequired: true
- offramp:
about: Query/update offramp specification repositorysubcommands:
- list:
about: List registered offramp specifications
- fetch:
about: Fetch an offramp by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the offramp specificationrequired: true
- delete:
about: Delete an offramp by artefact idargs:
- ARTEFACT_ID:
help: The unique artefact id for the offramp specificationrequired: true
- create:
about: Create and register an offramp specificationargs:
- SOURCE:
help: JSON or YAML file request bodyrequired: false
- instance:
about: Fetch an offramp instance by artefact id and instance idargs:
- ARTEFACT_ID:
help: The unique artefact id for the offramp specificationrequired: true
- INSTANCE_ID:
help: The unique instance id for the offramp specificationrequired: true
The text was updated successfully, but these errors were encountered:
Ensure required/optional parameters are correctly specified to avoid bugs such as #206 perhaps by extending EQC tests to fuzz test command line interactions based on the cli clap yaml as drafted above.
Describe the problem you are trying to solve
We currently have 4 command-line tools that people need to keep in mind, switch between, and build separately. This can be burdensome and confusing.
Describe the solution you'd like
Combine all the tools into a single binary. This will make it easy for the user to use tremor and have the binary handy.
The concept of a singular binary is popular in the go ecosystem and well perceived in tools like docker & friends so it's a well-accepted practice.
Notes
This supersedes #7 and #8.
A draft of the CLI:
The text was updated successfully, but these errors were encountered: