You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement as a part of the same binary of the Helm release storage
Create dedicated Type for a given Storage backend TypeInstance
- In context: go template + helm release name + namespace
Implement templating support:
Template passed in context to the storage backend - it is specified and stored in Local Hub on create/update
The service renders the template against the manifests and values for the installed release, and returns the output
(Almost) the same logic that we have currently in Helm Runner
Common
Modify Helm runner: - Remove output.goTemplate. As discussed with @mszostok, we'll keep it to have it as a support for further workflow steps - Stop supporting usage of funcs from _helpers.tpl As discussed with @mszostok, we'll keep it to have it as a support for further workflow steps
Update JSON Schema for Type
Add another output from Helm Runner - create artifact, which puts context for Helm release backend
It can be further split into two tasks, but I don't think it makes sense to do so. The most important thing is that the point no 1 needs to be done ASAP to unblock other subtasks.
Bootstrap Go code for the helm storage backends (no dependencies) [0.5MD]
Single entrypoint (directory in cmd)
Based on flags, a different storage backend gRPC server is run
Both servers (release + template) implement the same Storage Backend ProtoBuf interface (use already generated Go code)
Modify pipelines to build a single Docker image
Add dedicated Helm chart and Hub manifests to install Helm storage backends (dependency: 1, but it can be developed/tested with a usage of different docker images initially, so it can be started in parallel to 1) [1.5MD]
Single Helm chart, one deployment, two containers and two separate services
The implementation produces two TypeInstances for two storage backends (helm release backend + helm template backend) - define them
Update pipelines for releasing Helm charts
Write instruction on PR how to install such storage backend. It will be later reused in documentation
Description
Blocked By: #645
As the Helm backend storage and allow its discovery and consumption via dedicated TypeInstance.
Subtasks
AC
The Helm storage backend consists of two quite independent parts:
Helm release storage
/cmd/helm-storage-backend
. Implement gRPC server. Types are already generated.backend.context
to allow specifying it.GetValue
method, the rest just validate data (e.g. onDelete checks whether a given Helm release).Helm template storage
A storage backend that supports helm templating:
- In context: go template + helm release name + namespace
Common
- RemoveAs discussed with @mszostok, we'll keep it to have it as a support for further workflow stepsoutput.goTemplate
.- Stop supporting usage of funcs fromAs discussed with @mszostok, we'll keep it to have it as a support for further workflow steps_helpers.tpl
storage backend
section:Related issues
See epic #604 for the reason and use cases.
The text was updated successfully, but these errors were encountered: