-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tremor Deployment Language (Troy) #36
base: main
Are you sure you want to change the base?
Conversation
There are also the following steps: | ||
|
||
* Disconnect an artefact instance from all its connections (e.g. disconnect an offramp from its pipelines) | ||
* Destroy an artefact instance and thus stop its operation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We might want to mention that removing instances trickles down (up?) to connected instances for automatic reclemation of resources. And if / how we do that in the future
|
||
If no instance id is given, as part of the flow instantiation a new instance of the artefact is created with the flow instance id filled in as instance id. So, users can omit an instance id if they want to have their artefacts be auto-created as part of an event flow. | ||
They will also be auto-deleted upon flow deletion. Our goal with this setup is to make it possible for users to define their tremor setup | ||
as one unit, the `Flow`. It can be instantiated and deleted with one command or API call. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
constistency in casing:
as one unit, the `Flow`. It can be instantiated and deleted with one command or API call. | |
as one unit, the `flow`. It can be instantiated and deleted with one command or API call. |
|
||
If the port is ommitted, based on its position a default port is chosen. If a reference is on the LHS the port `out` is chosen, on the RHS `in` is implied. This matches the normal event flow: From the `out` port of an artefact to an `in` port of another one. Other cases need to be handled explicitly. | ||
|
||
#### Connect Statement Sugar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we consider not having to quite the parts in the arrow sytnax? Something like:
# without ports
/source/stdin -> /pipeline/pipe;
/pipeline/pipe/err -> /sink/system::stderr;
# with ports
pipeline/pipe:err -> /sink/my_error_file:in;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, i think we should discuss a non-stringy representation of TremorURL.
Signed-off-by: Matthias Wahl <[email protected]>
Signed-off-by: Matthias Wahl <[email protected]>
Signed-off-by: Matthias Wahl <[email protected]>
Co-authored-by: Heinz N. Gies <[email protected]> Signed-off-by: Matthias Wahl <[email protected]>
Co-authored-by: Heinz N. Gies <[email protected]> Signed-off-by: Matthias Wahl <[email protected]>
Signed-off-by: Matthias Wahl <[email protected]>
Signed-off-by: Matthias Wahl <[email protected]>
Idea from random chatting in discord:
|
Interesting thought, one concern I would have is how will that affect clustering. We will want to have some distinction between pipelines as a nonpersistent, semi stateless, nonblocking entity and sources/sinks as a stateful, persistent, potentially blocking entity. Treating them exactly the same way during configuration time might make it harder for users to understand the implications of a configuration. As it is now (and that clearly isn't ideal 😂) there is an extremely clear distinction between "this interacts with the outside world and will be slow" and "woosh pipeline!!!!" that would get lost if it's all selects |
Rendered