graylog2-server icon indicating copy to clipboard operation
graylog2-server copied to clipboard

Wizard Step: Completion Step

Open grotlue opened this issue 1 year ago • 2 comments

  • When switching to this step, the input and everything else configured in the previous steps will be excuted
  • It shows a list of all the steps that have been completed
  • It shows errors and error messages of failed steps

4748b276-c649-488f-b8df-87271083e97b#media-blob-url=true id=b9b9b4a3-697e-49b0-890f-2ee61c9e5677 contextId=10149 collection=

grotlue avatar Sep 26 '24 13:09 grotlue

Maybe we present the text as showing what will be done (eg. Input "my Big Input" will be started!) rather than what is already done

We discussed performing the actions sequentially, and showing user error of which step fails in event of fail

we discussed rolling anything we created here back, in the event of a fail

tellistone avatar Oct 11 '24 14:10 tellistone

if the input no longer exists or is not in setup mode when you press OK, handle that exception

tellistone avatar Oct 14 '24 10:10 tellistone

Steps that are executed

Always

Illuminate

  • Not in scope for this cycle, but with adding the Illuminate flow, we will have more steps here (will be added in a seperate issue)

Routing

Option 1 - Use default stream

  • No extra routing necessary

Option 2 - Use existing stream

Option 3 - New Stream

grotlue avatar Nov 14 '24 14:11 grotlue

Regarding the APIs for routing: For options 1 and 2, I suggest we introduce a new API put /system/pipelines/pipeline. Same as put /system/pipelines/pipeline/{id}, but BE will add the rule to default pipeline (and create one, if it doesn't yet exist). Since the payload source field includes the pipeline name, we need to use the same in FE and BE.

Alternatively, the new endpoint could just take an input ID as the parameter. BE would then create the rule and add it to a default pipeline. This would reduce coupling between FE and BE.

Re option 1: What default stream is this referring to? According to #20568, user either selects an existing stream or creates a new one.

patrickmann avatar Nov 18 '24 13:11 patrickmann

Re option 1: What default stream is this referring to? According to https://github.com/Graylog2/graylog2-server/issues/20568, user either selects an existing stream or creates a new one.

Default is: All messages (Default Stream)

Both API options sound fine for me. Both would need the pipeline name (nullable -> which means default) and the input id passed, right?

grotlue avatar Nov 18 '24 14:11 grotlue

Discussion outcome 19.11.2024

  • For messages to work with Illuminate, we need them to be in the Default Stream first. That's one of the reasons why we prefer pipeline rules over stream rules.
  • We need an immutable pipeline for wizard-related routing (e.g. "built-in" or "system" pipeline)
    • we always add rule to stage 0
    • in this case immutable means:
      • not deletable
      • can't be renamed
      • connections can't be changed
      • rules can be deleted, added, edited
    • Alternative approach: pipeline is deletable, but will be recreated immediately
      • That would lead to users potentially messing up routing that was created by a wizard (we can live with that though)
      • less effort as it won't need UI adjustments
      • we decided to go for this option even though the pipeline won't be immutable in this case

grotlue avatar Nov 19 '24 14:11 grotlue