Cozystack AGL — Terraform Backend
Draft 2 — The interface
type Backend interface {
Type() Type
TargetGVK() schema.GroupVersionKind
TargetName(appName string, def *ApplicationDefinition) string
Build(ctx, app *Application, def *ApplicationDefinition) (client.Object, error)
ProjectStatus(target client.Object) (ApplicationStatus, error)
Reconcile(ctx, c client.Client, target client.Object,
def *ApplicationDefinition) (updated bool, err error)
}
Two implementations in the same PR:
pkg/agl/backend/helm/ — extracted from current code.
pkg/agl/backend/terraform/ — new.