Skip to content
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

Allow decouple Design Deployment operations #180

Open
chadell opened this issue Jul 12, 2024 · 1 comment
Open

Allow decouple Design Deployment operations #180

chadell opened this issue Jul 12, 2024 · 1 comment

Comments

@chadell
Copy link
Contributor

chadell commented Jul 12, 2024

Proposed Functionality

Design Builder has two main engines:

  • Renderer: creates a YAML file from the input data, context and J2 files.
  • Builder: uses the YAML file to create the DB objects

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.
  1. The Design run job will allow two run modes: normal or decoupled. The decoupled one will only create the DesignRender result, not the DesignDeployment.
  2. 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

  • It allows injecting a human approval step in a workflow execution for someone to check what the data that is expected to be created
  • It allows accommodating long-lasting render processes, for example, interacting with an external API that takes hours until it completes all the data (data that will be retrieved during the builder phase)
@itdependsnetworks
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants