nautobot / nautobot-app-design-builder

https://docs.nautobot.com/projects/design-builder/en/latest/
Other
8 stars 2 forks source link

Allow decouple Design Deployment operations #180

Open chadell opened 2 months ago

chadell commented 2 months ago

Proposed Functionality

Design Builder has two main engines:

My proposal is to allow the decoupling these two processes to enable some use cases (detailed below).

How to do it?

This is my proposed implementation approach:

  1. We create a new model called DesignRender with these fields:
    • job_result: FK to the JobResult that was run by the DesignJob
    • rendered_plan: JSON field with the result of the plan
    • status: FK to status to allow understanding if this rendered result has been built (next step), ready to be built, pending data, pending approval, etc.
  2. The Design run job will allow two run modes: normal or decoupled. The decoupled one will only create the DesignRender result, not the DesignDeployment.
  3. In the DesignRender view, there will be an option to BUILD the rendered result (depending on the status), that is a new job that only implements the builder phase.

It could remain the idea of the Golden Config ConfigPlan.

Use Case

itdependsnetworks commented 2 months ago

I don't really understand this, but this would be helpful It allows injecting a human approval step in a workflow execution for someone to check what the data that is expected to be created