benthosdev / benthos-lab Goto Github PK
View Code? Open in Web Editor NEWA web app for writing, executing and sharing Benthos pipeline configurations
Home Page: https://lab.benthos.dev
License: MIT License
A web app for writing, executing and sharing Benthos pipeline configurations
Home Page: https://lab.benthos.dev
License: MIT License
Hi,
I have a text file that I want to process each line individually in a pipeline. I expected input type benthos_lab to work similar to 'file' input, in that by default each individual input line would be treated as a single message.
That doesn't appear to be the case as I had to nest my pipeline in a for_each to get it to work properly.
I tried adding "multipart: false" but the results are the same.
I then ran the same config directly under benthos, after changing the input type to 'file'.
In my test directly on benthos, changing the input file to multipart: true caused it to behave like input benthos_lab does (e.g. incorrectly for my use-case)
That makes me think benthos_lab input defaults to multipart: true, and cannot be changed to multipart: false.
I was experimenting with some configurations and wanted to use labs as a sort of sanity checker.
I noticed that if i select certain components from the "add XXX" too will populate deprecated components in the generated config.
For example:
Add Condition -> Metadata
will populate a filter_parts
component which is deprecated
This appears on lab.benthos.dev and in the docker build
I did not do a thorough search of components, stopped at the one.
I'm not sure that it's worth exposing the full cache configuration spec for this service but we ought to have a persistent storage option, most likely exposed via flags.
Using jeffail/benthos-lab docker image.
Same issue on vivaldi and chromium, running on manjaro linux.
After one or two actions, like add a new input, site hangs and crashes after a view moments.
No errors shown in docker output.
It'd be great to support testing input and output processing pipelines and broker patterns by compiling input and output sections. We'd need a mechanism for injecting messages via a custom input and the same for extracting resulting messages from a custom output.
We have a very similar requirement outlined in benthosdev/benthos#207 so it makes sense to build components that can be shared.
Wondering if we can show the possible red types based on picking the original type when free typing.
For example, if i choose "Text", then the possible sub types are "operator" and "value"
Not sure how viable it is to have a mobile version of this but might as well take a shot.
https://github.com/tinygo-org/tinygo/blob/master/src/examples/wasm/README.md
It might work because the code is pretty simple.
The latest release has been working for me on 2 golang projects so far.
Might be worth trying it out for benthos lab.
This is able to compile a golang badgerDB to tinygo.
all: g-dep js-dep js-dep-os g-all js-build
all-delete: g-dep-delete js-dep-delete
# https://github.com/genjidb/genji
LIB_NAME=genji
LIB=github.com/genjidb/$(LIB_NAME)
g-dep:
git clone https://$(LIB)
g-dep-delete:
rm -rf $(LIB_NAME)
g-init:
cd $(LIB_NAME) && go mod tidy
g-all:
cd $(LIB_NAME) && $(MAKE) all
g-gen:
cd $(LIB_NAME) && $(MAKE) gen
g-build:
cd $(LIB_NAME) && $(MAKE) build
g-test:
cd $(LIB_NAME) && $(MAKE) test
g-bench:
cd $(LIB_NAME) && $(MAKE) bench
g-run:
genji -h
#### JS / WASM
# https://github.com/genjidb/genji.js
JS_LIB_NAME=genji.js
JS_LIB=github.com/genjidb/$(JS_LIB_NAME)
js-dep:
git clone https://$(JS_LIB)
js-dep-delete:
rm -rf $(JS_LIB_NAME)
js-dep-os:
# tinygo
brew tap tinygo-org/tools
brew install tinygo
tinygo version
js-build:
# also calls tinygo.
cd $(JS_LIB_NAME) && yarn install && yarn build
It would be cool to add a settings section that is specific to the session itself. That would allow you to set things like how the input is interpreted (current system vs single message N lines) for a specific session.
Current settings would remain the same and be cookie based, session settings get stored in the session similar to the input.
We want to try and minimize traffic as much as possible.
We don't need user specific rate limits but maybe a sensible global one would at least give us basic protection against slamming our cache.
With stuff like vim mode for elite hackers such as myself.
This will include blacklisting most cache options.
Let's try and annotate linting or compilation errors in the editor window.
Currently you get a blank page with "Server failed" if you try to access a lab session that doesn't exist. There should be a nice 404 page that explains the situation in the form of a dope graphic.
Might be worth doing this so that we can embed URLs inside easier.
I tried to build a lab with the latest benthos version (3.2.1) that requires Go 1.13.
It builds successfully with a few Dockerfile changes, but the Attempting to initialise Benthos engine...
message doesn't disappear when I visit UI.
In the browser's console I see the following error:
(index):1 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #20 module="go" function="syscall/js.copyBytesToGo" error: function import requires a callable
Promise.then (async)
(anonymous) @ editor.js:400
I noticed that whatever version of benthos I try to build with Go 1.13 in the lab I get the same error.
I'm not sure that it's worth exposing the full cache configuration spec for this service but we ought to have a persistent storage option, most likely exposed via flags.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.