ocurity / dracon

Security scanning & static analysis tool - forked and rewritten from @thought-machine/dracon
https://ocurity.com
Apache License 2.0
61 stars 9 forks source link

Implement improved Helm workflow for components and pipelines #167

Closed ptzianos closed 2 months ago

ptzianos commented 2 months ago

Issue

Following the refactoring of the repository in order to ditch please, we practically copied the existing workflows and ported them onto Makefile. Using these workflows, we discovered an issue: by bundling the Tasks with the Pipelines and then deploying them via Helm creates the issue that the same Tasks seem to belong to different Helm releases. This causes people to be unable to deploy multiple pipelines at the same time. We should fix that. Originally, the solution to the problem was to prefix each task with the name of the pipeline using. However, this is a hacky solution and can't be used in production, because soon nobody will have any idea which actual version of a Task is deployed on the cluster.

Expected behaviour

The user should be able to deploy as many pipelines as they wish. The Task management should be separate from the Pipelines. Tasks should be offered as a Helm package that is easy to deploy and track the version. We should rely more heavily on our own concise description of a Pipeline instead of producing a Pipeline object from that and then deploying that. And we should offer a CLI tool to our users that simplifies the whole process into one step.