agent icon indicating copy to clipboard operation
agent copied to clipboard

[RFC] River: A Flow-optimized config language

Open rfratto opened this issue 2 years ago • 2 comments

This RFC expands on the expressions design proposed by #1546 with a suggestion that a custom config language for Flow expressions is required to make Flow be as useful and powerful as possible. The current implementation of Flow uses HCL, but with the number of changes I had to make to HCL to get things to work, it doesn't appear to be the best fit.

I would prefer not creating a new language, but I see it as our only option for Flow. Most of this RFC focuses on the rationale for how I reached this conclusion, why existing languages aren't the best fit, and why it's important to do this for Flow earlier instead of later.

Additionally, in light of proposing a new language, I focus on reducing the learning curve as much as possible to reduce friction from users migrating from the existing YAML configs to Flow.

The current prototype of River is in the main branch, but is subject to removal if we abandon the proposal.

rfratto avatar Jun 29 '22 17:06 rfratto

@rfratto we probably should merge this before releasing any flow version, wdyt?

marctc avatar Aug 09 '22 15:08 marctc

@rfratto we probably should merge this before releasing any flow version, wdyt?

Yeah, agreed, I'll open it up for final review now.

rfratto avatar Aug 09 '22 20:08 rfratto