From 1b97ed3ca759a530585a520c8edd01e26bdee582 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 5 Jul 2026 10:48:52 +0300 Subject: initial work for a central applier algo --- internal/resource/resource.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'internal/resource/resource.go') diff --git a/internal/resource/resource.go b/internal/resource/resource.go index f7951c3..4e72485 100644 --- a/internal/resource/resource.go +++ b/internal/resource/resource.go @@ -5,16 +5,28 @@ import ( "log" ) +type Applier interface { + Apply() error +} + +type ApplierFunc func() error + +func (f ApplierFunc) Apply() error { + return f() +} + type Resource struct { Type string Name string + Apply Applier dependsOn map[string]struct{} } -func Register(type_, name string) Resource { +func Register(type_, name string, apply Applier) Resource { r := Resource{ Type: type_, Name: name, + Apply: apply, dependsOn: make(map[string]struct{}), } -- cgit v1.2.3