From 1e125eb3154600be0e72c683a23100ef4a77d4a0 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Thu, 31 Dec 2020 15:39:12 -0500 Subject: [PATCH 1/9] nearrly compiling in gm --- contrib/codegen/funcs/funcs.go | 8 + .../input/hybrid_input_reconciler.gotmpl | 62 ++++--- .../templates/input/input_reconciler.gotmpl | 52 +++--- .../templates/input/input_snapshot.gotmpl | 155 +++++++++--------- .../input_snapshot_manual_builder.gotmpl | 32 ++-- 5 files changed, 159 insertions(+), 150 deletions(-) diff --git a/contrib/codegen/funcs/funcs.go b/contrib/codegen/funcs/funcs.go index af7633860..9bc9926ad 100644 --- a/contrib/codegen/funcs/funcs.go +++ b/contrib/codegen/funcs/funcs.go @@ -1,11 +1,13 @@ package funcs import ( + "fmt" "path/filepath" "sort" "strings" "text/template" + "github.com/iancoleman/strcase" "github.com/solo-io/skv2/codegen/model" "k8s.io/apimachinery/pkg/runtime/schema" ) @@ -57,6 +59,7 @@ func MakeHomogenousSnapshotFuncs( } return clientImportPath(grp) + "/controller" }, + "gvk": gvk, } } @@ -128,9 +131,14 @@ func MakeHybridSnapshotFuncs( } return clientImportPath(grp) + "/controller" }, + "gvk": gvk, } } +func gvk(resource model.Resource) string { + return strcase.ToCamel(fmt.Sprintf("%s-%s", resource.GroupVersion.String(), resource.Kind)) +} + // gets the go package for an imported group's clients func clientImportPath(grp importedGroup) string { diff --git a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl index 6f3736688..d98b91b70 100644 --- a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl +++ b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl @@ -35,8 +35,8 @@ import ( {{- if gt (len $remoteGroups) 0 }} {{- range $group := $remoteGroups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -// * {{ $kindPlural }} +{{- $gvkPlural := pluralize (gvk $resource) }} +// * {{ $gvkPlural }} {{- end }} {{- end }} // from a remote cluster. @@ -44,8 +44,8 @@ import ( {{- if gt (len $localGroups) 0 }} {{- range $group := $localGroups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -// * {{ $kindPlural }} +{{- $gvkPlural := pluralize (gvk $resource) }} +// * {{ $gvkPlural }} {{- end }} {{- end }} // from the local cluster. @@ -82,8 +82,6 @@ func Register{{ $snapshotName }}InputReconciler( {{- end }} options {{ $snapshotName }}ReconcileOptions, ) (input.InputReconciler, error) { -// {{$remoteGroups}} {{gt 0 (len $remoteGroups)}} {{ len $remoteGroups }} -// {{$localGroups}} {{- if eq 0 (len $remoteGroups) }} multiClusterReconcileFunc := input.MultiClusterReconcileFunc(nil) {{- end }} @@ -102,11 +100,11 @@ func Register{{ $snapshotName }}InputReconciler( {{- range $group := $remoteGroups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // initialize {{ $kindPlural }} reconcile loop for remote clusters - {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.Remote.{{ $kindPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, &remoteInputReconciler{base: base}, options.Remote.Predicates...) +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // initialize {{ $gvkPlural }} reconcile loop for remote clusters + {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.Remote.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, &remoteInputReconciler{base: base}, options.Remote.Predicates...) {{- end }} {{- end }} @@ -114,11 +112,11 @@ func Register{{ $snapshotName }}InputReconciler( {{- range $group := $localGroups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // initialize {{ $kindPlural }} reconcile loop for local cluster - if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options.Local.{{ $kindPlural }}).Run{{ $resource.Kind }}Reconciler(ctx, &localInputReconciler{base: base}, options.Local.Predicates...); err != nil { +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // initialize {{ $gvkPlural }} reconcile loop for local cluster + if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options.Local.{{ $gvkPlural }}).Run{{ $resource.Kind }}Reconciler(ctx, &localInputReconciler{base: base}, options.Local.Predicates...); err != nil { return nil, err } {{- end }} @@ -134,11 +132,11 @@ type Remote{{ $snapshotName }}ReconcileOptions struct { {{- range $group := $remoteGroups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // Options for reconciling {{ $kindPlural }} - {{ $kindPlural }} reconcile.Options + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // Options for reconciling {{ $gvkPlural }} + {{ $gvkPlural }} reconcile.Options {{- end }} {{- end }} @@ -154,9 +152,9 @@ type remote{{ $snapshotName }}InputReconciler struct { {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *remote{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { obj.ClusterName = clusterName @@ -183,11 +181,11 @@ type Local{{ $snapshotName }}ReconcileOptions struct { {{- range $group := $localGroups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // Options for reconciling {{ $kindPlural }} - {{ $kindPlural }} reconcile.Options + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // Options for reconciling {{ $gvkPlural }} + {{ $gvkPlural }} reconcile.Options {{- end }} {{- end }} @@ -203,9 +201,9 @@ type local{{ $snapshotName }}InputReconciler struct { {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *local{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { return r.base.ReconcileLocalGeneric(obj) diff --git a/contrib/codegen/templates/input/input_reconciler.gotmpl b/contrib/codegen/templates/input/input_reconciler.gotmpl index 5dc66eff0..3967421a6 100644 --- a/contrib/codegen/templates/input/input_reconciler.gotmpl +++ b/contrib/codegen/templates/input/input_reconciler.gotmpl @@ -5,8 +5,8 @@ // storage event is received for any of: {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -// * {{ $kindPlural }} +{{- $gvkPlural := pluralize (gvk $resource) }} +// * {{ $gvkPlural }} {{- end }} {{- end }} // for a given cluster or set of clusters. @@ -42,9 +42,9 @@ type multiCluster{{ $snapshotName }}Reconciler interface { {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $controller_import_prefix }}.Multicluster{{ $resource.Kind }}Reconciler {{- end }} {{- end }} @@ -62,11 +62,11 @@ type {{ $snapshotName }}ReconcileOptions struct { {{- range $group := $groups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // Options for reconciling {{ $kindPlural }} - {{ $kindPlural }} reconcile.Options +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // Options for reconciling {{ $gvkPlural }} + {{ $gvkPlural }} reconcile.Options {{- end }} {{- end }} } @@ -98,11 +98,11 @@ func RegisterMultiCluster{{ $snapshotName }}Reconciler( {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} - {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.{{ $kindPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, r, predicates...) + {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, r, predicates...) {{- end }} @@ -114,9 +114,9 @@ func RegisterMultiCluster{{ $snapshotName }}Reconciler( {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *multiCluster{{ $snapshotName }}ReconcilerImpl) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { obj.ClusterName = clusterName @@ -143,9 +143,9 @@ type singleCluster{{ $snapshotName }}Reconciler interface { {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $controller_import_prefix }}.{{ $resource.Kind }}Reconciler {{- end }} {{- end }} @@ -183,9 +183,9 @@ func RegisterSingleCluster{{ $snapshotName }}Reconciler( {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options).Run{{ $resource.Kind }}Reconciler(ctx, r, predicates...); err != nil { return nil, err } @@ -199,9 +199,9 @@ func RegisterSingleCluster{{ $snapshotName }}Reconciler( {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *singleCluster{{ $snapshotName }}ReconcilerImpl) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { return r.base.ReconcileLocalGeneric(obj) diff --git a/contrib/codegen/templates/input/input_snapshot.gotmpl b/contrib/codegen/templates/input/input_snapshot.gotmpl index 84405a879..9b3e88d6f 100644 --- a/contrib/codegen/templates/input/input_snapshot.gotmpl +++ b/contrib/codegen/templates/input/input_snapshot.gotmpl @@ -5,8 +5,8 @@ // The Input {{ $snapshotName }}Snapshot contains the set of all: {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -// * {{ $kindPlural }} +{{- $gvkPlural := pluralize (gvk $resource) }} +// * {{ $gvkPlural }} {{- end }} {{- end }} // read from a given cluster or set of clusters, across all namespaces. @@ -71,9 +71,9 @@ type {{ $snapshotName }}Snapshot interface { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} - // return the set of input {{ $kindPlural }} - {{ $kindPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set +{{- $gvkPlural := pluralize (gvk $resource) }} + // return the set of input {{ $gvkPlural }} + {{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} {{- end }} {{- if $needs_sync_status }} @@ -97,8 +97,9 @@ type {{ $snapshotName }}SyncStatusOptions struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - // sync status of {{ $resource.Kind }} objects - {{ $resource.Kind }} bool + {{- $gvk := gvk $resource }} + // sync status of {{ $gvk }} objects + {{ $gvk }} bool {{- end }} {{- end }} } @@ -109,9 +110,9 @@ type snapshot{{ $snapshotName }} struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} {{- end }} @@ -123,9 +124,9 @@ func New{{ $snapshotName }}Snapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} {{- end }} @@ -135,9 +136,9 @@ func New{{ $snapshotName }}Snapshot( {{/* add constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }}: {{ $kindLowerCamelPlural }}, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }}: {{ $gvkLowerCamelPlural }}, {{- end }} {{- end }} } @@ -147,12 +148,12 @@ func New{{ $snapshotName }}Snapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -func (s snapshot{{ $snapshotName }}) {{ $kindPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { - return s.{{ $kindLowerCamelPlural }} +func (s snapshot{{ $snapshotName }}) {{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { + return s.{{ $gvkLowerCamelPlural }} } {{- end }} {{- end }} @@ -166,12 +167,13 @@ func (s snapshot{{ $snapshotName }}) SyncStatusesMultiCluster(ctx context.Contex {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} + {{- $gvk := gvk $resource }} + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{- if $resource.Status }} - if opts.{{ $resource.Kind }} { - for _, obj := range s.{{ $kindPlural }}().List() { + if opts.{{ $gvk }} { + for _, obj := range s.{{ $gvkPlural }}().List() { clusterClient, err := mcClient.Cluster(obj.ClusterName) if err != nil { errs = multierror.Append(errs, err) @@ -196,12 +198,13 @@ func (s snapshot{{ $snapshotName }}) SyncStatuses(ctx context.Context, c client. {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} + {{- $gvk := gvk $resource }} + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{- if $resource.Status }} - if opts.{{ $resource.Kind }} { - for _, obj := range s.{{ $kindPlural }}().List() { + if opts.{{ $gvk }} { + for _, obj := range s.{{ $gvkPlural }}().List() { if _, err := controllerutils.UpdateStatus(ctx, c, obj); err != nil { errs = multierror.Append(errs, err) } @@ -221,9 +224,9 @@ func (s snapshot{{ $snapshotName }}) MarshalJSON() ([]byte, error) { {{/* add map contents here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - snapshotMap["{{ $kindLowerCamelPlural }}"] = s.{{ $kindLowerCamelPlural }}.List() +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + snapshotMap["{{ $gvkLowerCamelPlural }}"] = s.{{ $gvkLowerCamelPlural }}.List() {{- end }} {{- end }} return json.Marshal(snapshotMap) @@ -240,11 +243,11 @@ type {{ $snapshotName }}BuildOptions struct { {{- range $group := $groups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // List options for composing a snapshot from {{ $kindPlural }} - {{ $kindPlural }} Resource{{ $snapshotName }}BuildOptions +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + // List options for composing a snapshot from {{ $gvkPlural }} + {{ $gvkPlural }} Resource{{ $snapshotName }}BuildOptions {{- end }} {{- end }} } @@ -281,10 +284,10 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() {{- end }} {{- end }} @@ -295,10 +298,10 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{/* generate calls to insert funcs here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - if err := b.insert{{ $kindPlural }}FromCluster(ctx, cluster, {{ $kindLowerCamelPlural }}, opts.{{ $kindPlural }}); err != nil { +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + if err := b.insert{{ $gvkPlural }}FromCluster(ctx, cluster, {{ $gvkLowerCamelPlural }}, opts.{{ $gvkPlural }}); err != nil { errs = multierror.Append(errs, err) } {{- end }} @@ -311,9 +314,9 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{/* generate params for snapshot constructor here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{$kindLowerCamelPlural}}, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{$gvkLowerCamelPlural}}, {{- end }} {{- end }} ) @@ -326,11 +329,11 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{ $client_import_prefix := group_import_name $group }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} -func (b *multiCluster{{ $snapshotName }}Builder) insert{{ $kindPlural }}FromCluster(ctx context.Context, cluster string, {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { - {{ $kindLowerCamel }}Client, err := {{ $client_import_prefix }}.NewMulticluster{{ $resource.Kind }}Client(b.client).Cluster(cluster) +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} +func (b *multiCluster{{ $snapshotName }}Builder) insert{{ $gvkPlural }}FromCluster(ctx context.Context, cluster string, {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { + {{ $gvkLowerCamel }}Client, err := {{ $client_import_prefix }}.NewMulticluster{{ $resource.Kind }}Client(b.client).Cluster(cluster) if err != nil { return err } @@ -358,15 +361,15 @@ func (b *multiCluster{{ $snapshotName }}Builder) insert{{ $kindPlural }}FromClus } } - {{ $kindLowerCamel }}List, err := {{ $kindLowerCamel }}Client.List{{ $resource.Kind }}(ctx, opts.ListOptions...) + {{ $gvkLowerCamel }}List, err := {{ $gvkLowerCamel }}Client.List{{ $resource.Kind }}(ctx, opts.ListOptions...) if err != nil { return err } - for _, item := range {{ $kindLowerCamel }}List.Items { + for _, item := range {{ $gvkLowerCamel }}List.Items { item := item // pike item.ClusterName = cluster // set cluster for in-memory processing - {{ $kindLowerCamelPlural }}.Insert(&item) + {{ $gvkLowerCamelPlural }}.Insert(&item) } return nil @@ -398,10 +401,10 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() {{- end }} {{- end }} @@ -410,10 +413,10 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{/* generate calls to insert funcs here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - if err := b.insert{{ $kindPlural }}(ctx, {{ $kindLowerCamelPlural }}, opts.{{ $kindPlural }}); err != nil { +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + if err := b.insert{{ $gvkPlural }}(ctx, {{ $gvkLowerCamelPlural }}, opts.{{ $gvkPlural }}); err != nil { errs = multierror.Append(errs, err) } {{- end }} @@ -424,9 +427,9 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{/* generate params for snapshot constructor here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{$kindLowerCamelPlural}}, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{$gvkLowerCamelPlural}}, {{- end }} {{- end }} ) @@ -439,10 +442,10 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} -func (b *singleCluster{{ $snapshotName }}Builder) insert{{ $kindPlural }}(ctx context.Context, {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} +func (b *singleCluster{{ $snapshotName }}Builder) insert{{ $gvkPlural }}(ctx context.Context, {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { if opts.Verifier != nil { gvk := schema.GroupVersionKind{ @@ -462,14 +465,14 @@ func (b *singleCluster{{ $snapshotName }}Builder) insert{{ $kindPlural }}(ctx co } } - {{ $kindLowerCamel }}List, err := {{ $client_import_prefix }}.New{{ $resource.Kind }}Client(b.mgr.GetClient()).List{{ $resource.Kind }}(ctx, opts.ListOptions...) + {{ $gvkLowerCamel }}List, err := {{ $client_import_prefix }}.New{{ $resource.Kind }}Client(b.mgr.GetClient()).List{{ $resource.Kind }}(ctx, opts.ListOptions...) if err != nil { return err } - for _, item := range {{ $kindLowerCamel }}List.Items { + for _, item := range {{ $gvkLowerCamel }}List.Items { item := item // pike - {{ $kindLowerCamelPlural }}.Insert(&item) + {{ $gvkLowerCamelPlural }}.Insert(&item) } return nil diff --git a/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl b/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl index e30dc86da..7a8b51d88 100644 --- a/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl +++ b/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl @@ -22,9 +22,9 @@ name string {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} {{- end }} @@ -36,10 +36,10 @@ name: name, {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), {{- end }} {{- end }} } @@ -51,10 +51,10 @@ i.name, {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - i.{{ $kindLowerCamelPlural }}, + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + i.{{ $gvkLowerCamelPlural }}, {{- end }} {{- end }} ) @@ -62,11 +62,11 @@ i.name, {{- range $group := $groups }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - func (i *Input{{ $snapshotName }}SnapshotManualBuilder) Add{{ $kindPlural }}({{ $kindLowerCamelPlural }} []*{{ group_import_name $group }}.{{ $resource.Kind }}) *Input{{ $snapshotName }}SnapshotManualBuilder { - i.{{ $kindLowerCamelPlural }}.Insert({{ $kindLowerCamelPlural }}...) + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + func (i *Input{{ $snapshotName }}SnapshotManualBuilder) Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} []*{{ group_import_name $group }}.{{ $resource.Kind }}) *Input{{ $snapshotName }}SnapshotManualBuilder { + i.{{ $gvkLowerCamelPlural }}.Insert({{ $gvkLowerCamelPlural }}...) return i } {{- end }} From 12810cacbf94909bffc634140de63dfcc8d8dc13 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Thu, 31 Dec 2020 16:11:27 -0500 Subject: [PATCH 2/9] create one reconciler per group to handle kind collisions --- .../input/hybrid_input_reconciler.gotmpl | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl index d98b91b70..21fc8038c 100644 --- a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl +++ b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl @@ -104,7 +104,7 @@ func Register{{ $snapshotName }}InputReconciler( {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // initialize {{ $gvkPlural }} reconcile loop for remote clusters - {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.Remote.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, &remoteInputReconciler{base: base}, options.Remote.Predicates...) + {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.Remote.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, &remote{{ upper_camel $group.Group }}InputReconciler{base: base}, options.Remote.Predicates...) {{- end }} {{- end }} @@ -116,7 +116,7 @@ func Register{{ $snapshotName }}InputReconciler( {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // initialize {{ $gvkPlural }} reconcile loop for local cluster - if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options.Local.{{ $gvkPlural }}).Run{{ $resource.Kind }}Reconciler(ctx, &localInputReconciler{base: base}, options.Local.Predicates...); err != nil { + if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options.Local.{{ $gvkPlural }}).Run{{ $resource.Kind }}Reconciler(ctx, &local{{ upper_camel $group.Group }}InputReconciler{base: base}, options.Local.Predicates...); err != nil { return nil, err } {{- end }} @@ -144,24 +144,25 @@ type Remote{{ $snapshotName }}ReconcileOptions struct { Predicates []predicate.Predicate } -type remote{{ $snapshotName }}InputReconciler struct { - base input.InputReconciler -} - {{- range $group := $remoteGroups }} {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} + +type remote{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler struct { + base input.InputReconciler +} + {{- range $resource := $group.Resources }} {{- $gvkPlural := pluralize (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -func (r *remote{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { +func (r *remote{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { obj.ClusterName = clusterName return r.base.ReconcileRemoteGeneric(obj) } -func (r *remote{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}Deletion(clusterName string, obj reconcile.Request) error { +func (r *remote{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}Deletion(clusterName string, obj reconcile.Request) error { ref := &sk_core_v1.ClusterObjectRef{ Name: obj.Name, Namespace: obj.Namespace, @@ -193,23 +194,24 @@ type Local{{ $snapshotName }}ReconcileOptions struct { Predicates []predicate.Predicate } -type local{{ $snapshotName }}InputReconciler struct { - base input.InputReconciler -} - {{- range $group := $localGroups }} {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} + +type local{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler struct { + base input.InputReconciler +} + {{- range $resource := $group.Resources }} {{- $gvkPlural := pluralize (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -func (r *local{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { +func (r *local{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { return r.base.ReconcileLocalGeneric(obj) } -func (r *local{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}Deletion(obj reconcile.Request) error { +func (r *local{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}Deletion(obj reconcile.Request) error { ref := &sk_core_v1.ObjectRef{ Name: obj.Name, Namespace: obj.Namespace, From c56ae0f52b32e0de0e8e192f544ecbfd0f8b2845 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Mon, 4 Jan 2021 10:19:57 -0500 Subject: [PATCH 3/9] cl --- changelog/v0.16.0/disambiguate.yaml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changelog/v0.16.0/disambiguate.yaml diff --git a/changelog/v0.16.0/disambiguate.yaml b/changelog/v0.16.0/disambiguate.yaml new file mode 100644 index 000000000..249515714 --- /dev/null +++ b/changelog/v0.16.0/disambiguate.yaml @@ -0,0 +1,4 @@ +changelog: + - type: BREAKING_CHANGE + issueLink: https://github.com/solo-io/skv2/issues/151 + description: Fully qualify resources from Kind to Group Version Kind to disambiguate types in snapshots. From 0d3561071e5373455f0d5308c94026a955ee422f Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Mon, 25 Jan 2021 09:01:49 -0500 Subject: [PATCH 4/9] try the output snap --- .../templates/output/output_snapshot.gotmpl | 252 +++++++++--------- 1 file changed, 130 insertions(+), 122 deletions(-) diff --git a/contrib/codegen/templates/output/output_snapshot.gotmpl b/contrib/codegen/templates/output/output_snapshot.gotmpl index 325bf7187..01aa0add8 100644 --- a/contrib/codegen/templates/output/output_snapshot.gotmpl +++ b/contrib/codegen/templates/output/output_snapshot.gotmpl @@ -38,9 +38,10 @@ type Snapshot interface { {{/* generate a getter for each resource */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} - // return the set of {{ $kindPlural }} with a given set of labels - {{ $kindPlural }}() []Labeled{{ $resource.Kind }}Set +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} + // return the set of {{ $gvkPlural }} with a given set of labels + {{ $gvkPlural }}() []Labeled{{ $gvk }}Set {{- end }} {{- end }} @@ -59,9 +60,10 @@ type snapshot struct { {{/* generate fields of the real snapshot impl here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} []Labeled{{ $resource.Kind }}Set +{{- $gvk := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set {{- end }} {{- end }} clusters []string @@ -72,9 +74,10 @@ func NewSnapshot( {{/* generate constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} []Labeled{{ $resource.Kind }}Set, +{{- $gvk := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set, {{- end }} {{- end }} clusters ...string, // the set of clusters to apply the snapshot to. only required for multicluster snapshots. @@ -84,9 +87,9 @@ func NewSnapshot( {{/* add constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }}: {{ $kindLowerCamelPlural }}, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }}: {{ $gvkLowerCamelPlural }}, {{- end }} {{- end }} clusters: clusters, @@ -102,9 +105,9 @@ func NewLabelPartitionedSnapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} {{- end }} clusters ...string, // the set of clusters to apply the snapshot to. only required for multicluster snapshots. @@ -113,10 +116,10 @@ func NewLabelPartitionedSnapshot( {{/* convert input sets to partioned output sets */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - partitioned{{ $kindPlural }}, err := partition{{ $kindPlural }}ByLabel(labelKey, {{ $kindLowerCamelPlural }}) +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + partitioned{{ $gvkPlural }}, err := partition{{ $gvkPlural }}ByLabel(labelKey, {{ $gvkLowerCamelPlural }}) if err != nil { return nil, err } @@ -128,10 +131,8 @@ func NewLabelPartitionedSnapshot( {{/* args for NewSnapshot */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - partitioned{{ $kindPlural }}, +{{- $gvkPlural := pluralize (gvk $resource) }} + partitioned{{ $gvkPlural }}, {{- end }} {{- end }} clusters..., @@ -147,9 +148,9 @@ func NewSinglePartitionedSnapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} {{- end }} clusters ...string, // the set of clusters to apply the snapshot to. only required for multicluster snapshots. @@ -158,10 +159,11 @@ func NewSinglePartitionedSnapshot( {{/* convert input sets to partioned output sets */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - labeled{{ $kindPlural }}, err := NewLabeled{{ $resource.Kind }}Set({{ $kindLowerCamelPlural }}, snapshotLabels) +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + labeled{{ $gvkPlural }}, err := NewLabeled{{ $gvk }}Set({{ $gvkLowerCamelPlural }}, snapshotLabels) if err != nil { return nil, err } @@ -173,10 +175,11 @@ func NewSinglePartitionedSnapshot( {{/* args for NewSnapshot */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - []Labeled{{ $resource.Kind }}Set{labeled{{ $kindPlural }}}, +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + []Labeled{{ $gvk }}Set{labeled{{ $gvkPlural }}}, {{- end }} {{- end }} clusters..., @@ -191,9 +194,9 @@ func (s *snapshot) ApplyLocalCluster(ctx context.Context, cli client.Client, err {{/* generate each list conversion */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - for _, outputSet := range s.{{ $kindLowerCamelPlural }} { +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + for _, outputSet := range s.{{ $gvkLowerCamelPlural }} { genericLists = append(genericLists, outputSet.Generic()) } {{- end }} @@ -212,9 +215,9 @@ func (s *snapshot) ApplyMultiCluster(ctx context.Context, multiClusterClient mul {{/* generate each list conversion */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - for _, outputSet := range s.{{ $kindLowerCamelPlural }} { +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + for _, outputSet := range s.{{ $gvkLowerCamelPlural }} { genericLists = append(genericLists, outputSet.Generic()) } {{- end }} @@ -231,20 +234,21 @@ func (s *snapshot) ApplyMultiCluster(ctx context.Context, multiClusterClient mul {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -func partition{{ $kindPlural }}ByLabel(labelKey string, set {{ $set_import_prefix }}.{{ $resource.Kind }}Set) ([]Labeled{{ $resource.Kind }}Set, error) { +func partition{{ $gvkPlural }}ByLabel(labelKey string, set {{ $set_import_prefix }}.{{ $resource.Kind }}Set) ([]Labeled{{ $gvk }}Set, error) { setsByLabel := map[string]{{ $set_import_prefix }}.{{ $resource.Kind }}Set{} for _, obj := range set.List() { if obj.Labels == nil { - return nil, MissingRequiredLabelError(labelKey, "{{ $resource.Kind }}", obj) + return nil, MissingRequiredLabelError(labelKey, "{{ $gvk }}", obj) } labelValue := obj.Labels[labelKey] if labelValue == "" { - return nil, MissingRequiredLabelError(labelKey, "{{ $resource.Kind }}", obj) + return nil, MissingRequiredLabelError(labelKey, "{{ $gvk }}", obj) } setForValue, ok := setsByLabel[labelValue] @@ -256,27 +260,27 @@ func partition{{ $kindPlural }}ByLabel(labelKey string, set {{ $set_import_prefi } // partition by label key - var partitioned{{ $kindPlural }} []Labeled{{ $resource.Kind }}Set + var partitioned{{ $gvkPlural }} []Labeled{{ $gvk }}Set for labelValue, setForValue := range setsByLabel { labels := map[string]string{labelKey: labelValue} - partitionedSet, err := NewLabeled{{ $resource.Kind }}Set(setForValue, labels) + partitionedSet, err := NewLabeled{{ $gvk }}Set(setForValue, labels) if err != nil { return nil, err } - partitioned{{ $kindPlural }} = append(partitioned{{ $kindPlural }}, partitionedSet) + partitioned{{ $gvkPlural }} = append(partitioned{{ $gvkPlural }}, partitionedSet) } // sort for idempotency - sort.SliceStable(partitioned{{ $kindPlural }}, func(i, j int) bool { - leftLabelValue := partitioned{{ $kindPlural }}[i].Labels()[labelKey] - rightLabelValue := partitioned{{ $kindPlural }}[j].Labels()[labelKey] + sort.SliceStable(partitioned{{ $gvkPlural }}, func(i, j int) bool { + leftLabelValue := partitioned{{ $gvkPlural }}[i].Labels()[labelKey] + rightLabelValue := partitioned{{ $gvkPlural }}[j].Labels()[labelKey] return leftLabelValue < rightLabelValue }) - return partitioned{{ $kindPlural }}, nil + return partitioned{{ $gvkPlural }}, nil } {{- end }} @@ -285,12 +289,13 @@ func partition{{ $kindPlural }}ByLabel(labelKey string, set {{ $set_import_prefi {{/* generate getters here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -func (s snapshot) {{ $kindPlural }}() []Labeled{{ $resource.Kind }}Set { - return s.{{ $kindLowerCamelPlural }} +func (s snapshot) {{ $gvkPlural}}() []Labeled{{ $gvk }}Set { + return s.{{ $gvkLowerCamelPlural }} } {{- end }} {{- end }} @@ -301,13 +306,15 @@ func (s snapshot) MarshalJSON() ([]byte, error) { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamel }}Set := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() - for _, set := range s.{{ $kindLowerCamelPlural }} { - {{ $kindLowerCamel }}Set = {{ $kindLowerCamel }}Set.Union(set.Set() ) +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamel }}Set := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() + for _, set := range s.{{ $gvkLowerCamelPlural }} { + {{ $gvkLowerCamel }}Set = {{ $gvkLowerCamel }}Set.Union(set.Set() ) } - snapshotMap["{{ $kindLowerCamelPlural }}"] = {{ $kindLowerCamel }}Set.List() + snapshotMap["{{ $gvkLowerCamelPlural }}"] = {{ $gvkLowerCamel }}Set.List() {{- end }} {{- end }} @@ -321,15 +328,16 @@ func (s snapshot) MarshalJSON() ([]byte, error) { {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{ $type_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} -// Labeled{{ $resource.Kind }}Set represents a set of {{ $kindLowerCamelPlural }} +// Labeled{{ $gvk }}Set represents a set of {{ $gvkLowerCamelPlural }} // which share a common set of labels. -// These labels are used to find diffs between {{ $resource.Kind }}Sets. -type Labeled{{ $resource.Kind }}Set interface { - // returns the set of Labels shared by this {{ $resource.Kind }}Set +// These labels are used to find diffs between {{ $gvk }}Sets. +type Labeled{{ $gvk }}Set interface { + // returns the set of Labels shared by this {{ $gvk }}Set Labels() map[string]string // returns the set of {{ $resource.Kind }}es with the given labels @@ -339,34 +347,34 @@ type Labeled{{ $resource.Kind }}Set interface { Generic() output.ResourceList } -type labeled{{ $resource.Kind }}Set struct { +type labeled{{ $gvk }}Set struct { set {{ $set_import_prefix }}.{{ $resource.Kind }}Set labels map[string]string } -func NewLabeled{{ $resource.Kind }}Set(set {{ $set_import_prefix }}.{{ $resource.Kind }}Set, labels map[string]string) (Labeled{{ $resource.Kind }}Set, error) { - // validate that each {{ $resource.Kind }} contains the labels, else this is not a valid Labeled{{ $resource.Kind }}Set +func NewLabeled{{ $gvk }}Set(set {{ $set_import_prefix }}.{{ $resource.Kind }}Set, labels map[string]string) (Labeled{{ $gvk }}Set, error) { + // validate that each {{ $resource.Kind }} contains the labels, else this is not a valid Labeled{{ $gvk }}Set for _, item := range set.List() { for k, v := range labels { // k=v must be present in the item if item.Labels[k] != v { - return nil, eris.Errorf("internal error: %v=%v missing on {{ $resource.Kind }} %v", k, v, item.Name) + return nil, eris.Errorf("internal error: %v=%v missing on {{ $gvk }} %v", k, v, item.Name) } } } - return &labeled{{ $resource.Kind }}Set{set: set, labels: labels}, nil + return &labeled{{ $gvk }}Set{set: set, labels: labels}, nil } -func (l *labeled{{ $resource.Kind }}Set) Labels() map[string]string { +func (l *labeled{{ $gvk }}Set) Labels() map[string]string { return l.labels } -func (l *labeled{{ $resource.Kind }}Set) Set() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { +func (l *labeled{{ $gvk }}Set) Set() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { return l.set } -func (l labeled{{ $resource.Kind }}Set) Generic() output.ResourceList { +func (l labeled{{ $gvk }}Set) Generic() output.ResourceList { var desiredResources []ezkube.Object for _, desired := range l.set.List() { desiredResources = append(desiredResources, desired) @@ -403,9 +411,9 @@ type builder struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} {{- end }} } @@ -417,10 +425,9 @@ return &builder{ {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - {{ $kindLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + {{ $gvkLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), {{- end }} {{- end }} } @@ -433,15 +440,16 @@ type Builder interface { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} - // add {{ $kindPlural }} to the collected outputs - Add{{ $kindPlural }}({{ $kindLowerCamelPlural }} ...*{{ group_import_name $group }}.{{ $resource.Kind }}) + // add {{ $gvkPlural }} to the collected outputs + Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} ...*{{ group_import_name $group }}.{{ $resource.Kind }}) - // get the collected {{ $kindPlural }} - Get{{ $kindPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set + // get the collected {{ $gvkPlural }} + Get{{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} {{- end }} @@ -468,16 +476,17 @@ type Builder interface { {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} -func (b *builder) Add{{ $kindPlural }}({{ $kindLowerCamelPlural }} ...*{{ group_import_name $group }}.{{ $resource.Kind }}) { - for _, obj := range {{ $kindLowerCamelPlural }} { +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} +func (b *builder) Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} ...*{{ group_import_name $group }}.{{ $resource.Kind }}) { + for _, obj := range {{ $gvkLowerCamelPlural }} { if obj == nil { continue } - contextutils.LoggerFrom(b.ctx).Debugf("added output {{ $resource.Kind }} %v", sets.Key(obj)) - b.{{ $kindLowerCamelPlural }}.Insert(obj) + contextutils.LoggerFrom(b.ctx).Debugf("added output {{ $gvk }} %v", sets.Key(obj)) + b.{{ $gvkLowerCamelPlural }}.Insert(obj) } } {{- end }} @@ -486,11 +495,12 @@ func (b *builder) Add{{ $kindPlural }}({{ $kindLowerCamelPlural }} ...*{{ group_ {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $kindPlural := pluralize $resource.Kind }} -{{- $kindLowerCamel := lower_camel $resource.Kind }} -{{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} -func (b *builder) Get{{ $kindPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { - return b.{{ $kindLowerCamelPlural }} +{{- $gvk := gvk $resource }} +{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} +func (b *builder) Get{{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { + return b.{{ $gvkLowerCamelPlural }} } {{- end }} @@ -503,10 +513,9 @@ func (b *builder) BuildLabelPartitionedSnapshot(labelKey string) (Snapshot, erro {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - b.{{ $kindLowerCamelPlural }}, + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + b.{{ $gvkLowerCamelPlural }}, {{- end }} {{- end }} b.clusters..., @@ -520,10 +529,9 @@ func (b *builder) BuildSinglePartitionedSnapshot(snapshotLabels map[string]strin {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - b.{{ $kindLowerCamelPlural }}, + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + b.{{ $gvkLowerCamelPlural }}, {{- end }} {{- end }} b.clusters..., @@ -545,10 +553,9 @@ func (b *builder) Merge(other Builder) { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - b.Add{{ $kindPlural }}(other.Get{{ $kindPlural }}().List()...) + {{- $gvk := gvk $resource }} + {{- $gvkPlural := pluralize (gvk $resource) }} + b.Add{{ $gvkPlural }}(other.Get{{ $gvkPlural }}().List()...) {{- end }} {{- end }} for _, cluster := range other.Clusters() { @@ -564,11 +571,12 @@ func (b *builder) Clone() Builder { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - for _, {{ $kindLowerCamel }} := range b.Get{{ $kindPlural }}().List() { - clone.Add{{ $kindPlural }}({{ $kindLowerCamel }}.DeepCopy()) + {{- $gvk := gvk $resource }} + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} + for _, {{ $gvkLowerCamel }} := range b.Get{{ $gvkPlural }}().List() { + clone.Add{{ $gvkPlural }}({{ $gvkLowerCamel }}.DeepCopy()) } {{- end }} {{- end }} From 83587781a7d5e7067c1918db1f6f7706b9f91bb5 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Mon, 25 Jan 2021 15:15:09 -0500 Subject: [PATCH 5/9] cl --- changelog/{v0.16.0 => v0.18.0}/disambiguate.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog/{v0.16.0 => v0.18.0}/disambiguate.yaml (100%) diff --git a/changelog/v0.16.0/disambiguate.yaml b/changelog/v0.18.0/disambiguate.yaml similarity index 100% rename from changelog/v0.16.0/disambiguate.yaml rename to changelog/v0.18.0/disambiguate.yaml From 2c59fc9452ccb6c763ed07786a341a06570102f6 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Tue, 26 Jan 2021 09:08:24 -0500 Subject: [PATCH 6/9] no errs --- .../templates/output/output_snapshot.gotmpl | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/contrib/codegen/templates/output/output_snapshot.gotmpl b/contrib/codegen/templates/output/output_snapshot.gotmpl index a20926e65..b97c45ffa 100644 --- a/contrib/codegen/templates/output/output_snapshot.gotmpl +++ b/contrib/codegen/templates/output/output_snapshot.gotmpl @@ -61,7 +61,7 @@ type snapshot struct { {{/* generate fields of the real snapshot impl here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := pluralize (gvk $resource) }} +{{- $gvk := (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set @@ -75,7 +75,7 @@ func NewSnapshot( {{/* generate constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := pluralize (gvk $resource) }} +{{- $gvk := (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set, @@ -164,7 +164,7 @@ func NewSinglePartitionedSnapshot( {{- $gvkPlural := pluralize (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} - labeled{{ $gvkPlural }}, err := NewLabeled{{ $gvk }}Set({{ $gvkLowerCamelPlural }}, snapshotLabels) + labeled{{ $gvk }}, err := NewLabeled{{ $gvk }}Set({{ $gvkLowerCamelPlural }}, snapshotLabels) if err != nil { return nil, err } @@ -180,7 +180,7 @@ func NewSinglePartitionedSnapshot( {{- $gvkPlural := pluralize (gvk $resource) }} {{- $gvkLowerCamel := lower_camel (gvk $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} - []Labeled{{ $gvk }}Set{labeled{{ $gvkPlural }}}, + []Labeled{{ $gvk }}Set{labeled{{ $gvk }}}, {{- end }} {{- end }} clusters..., @@ -600,17 +600,17 @@ func (b *builder) Delta(other Builder) output.SnapshotDelta { {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} {{- $kindPlural := pluralize $resource.Kind }} - {{- $kindLowerCamel := lower_camel $resource.Kind }} - {{- $kindLowerCamelPlural := pluralize $kindLowerCamel }} - // calcualte delta between {{ $kindPlural }} - {{ $kindLowerCamel }}Delta := b.Get{{ $kindPlural }}().Delta(other.Get{{ $kindPlural }}()) - {{ $kindLowerCamel }}Gvk := schema.GroupVersionKind{ + {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + // calculate delta between {{ $kindPlural }} + {{ $gvkLowerCamel }}Delta := b.Get{{ $gvkPlural }}().Delta(other.Get{{ $gvkPlural }}()) + {{ $gvkLowerCamel }}Gvk := schema.GroupVersionKind{ Group: "{{ $resource.Group.Group }}", Version: "{{ $resource.Version }}", Kind: "{{ $resource.Kind }}", } - delta.AddInserted({{ $kindLowerCamel }}Gvk, {{ $kindLowerCamel }}Delta.Inserted) - delta.AddRemoved({{ $kindLowerCamel }}Gvk, {{ $kindLowerCamel }}Delta.Removed) + delta.AddInserted({{ $gvkLowerCamel }}Gvk, {{ $gvkLowerCamel }}Delta.Inserted) + delta.AddRemoved({{ $gvkLowerCamel }}Gvk, {{ $gvkLowerCamel }}Delta.Removed) {{- end }} {{- end }} return delta From b1bedc059ca471a6bc2848cd47eaf9d081c0c484 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Tue, 26 Jan 2021 09:29:51 -0500 Subject: [PATCH 7/9] install-go-tools --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 2061e573e..27b63d6b2 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/Masterminds/sprig/v3 v3.1.0 github.com/avast/retry-go v2.2.0+incompatible github.com/aws/aws-sdk-go v1.30.15 - github.com/envoyproxy/protoc-gen-validate v0.1.0 + github.com/envoyproxy/protoc-gen-validate v0.3.0-java github.com/gertd/go-pluralize v0.1.1 github.com/go-logr/logr v0.3.0 github.com/go-logr/zapr v0.2.0 diff --git a/go.sum b/go.sum index 39c79b173..bc1d36e26 100644 --- a/go.sum +++ b/go.sum @@ -235,6 +235,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.3.0-java h1:bV5JGEB1ouEzZa0hgVDFFiClrUEuGWRaAc/3mxR2QK0= +github.com/envoyproxy/protoc-gen-validate v0.3.0-java/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M= From 089386a5fb23e5f2faa684473132cafcd77edeb7 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Tue, 2 Feb 2021 16:56:54 -0500 Subject: [PATCH 8/9] snake the group version kind --- contrib/codegen/funcs/funcs.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contrib/codegen/funcs/funcs.go b/contrib/codegen/funcs/funcs.go index 2d7527dc3..a99b9438c 100644 --- a/contrib/codegen/funcs/funcs.go +++ b/contrib/codegen/funcs/funcs.go @@ -1,7 +1,6 @@ package funcs import ( - "fmt" "path/filepath" "sort" "strings" @@ -141,7 +140,14 @@ func MakeHybridSnapshotFuncs( } func gvk(resource model.Resource) string { - return strcase.ToCamel(fmt.Sprintf("%s-%s", resource.GroupVersion.String(), resource.Kind)) + group := strcase.ToCamel(resource.GroupVersion.Group) + version := strcase.ToCamel(resource.Version) + kind := strcase.ToCamel(resource.Kind) + + if group == "" { + return strings.Join(append([]string{}, version, kind), "_") + } + return strings.Join(append([]string{}, group, version, kind), "_") } // gets the go package for an imported group's clients From cff8fc589c3d9a99b6ad552989f3dde713f3aa91 Mon Sep 17 00:00:00 2001 From: Joe Kelley Date: Tue, 2 Feb 2021 17:10:46 -0500 Subject: [PATCH 9/9] rename func --- contrib/codegen/funcs/funcs.go | 6 +- .../input/hybrid_input_reconciler.gotmpl | 28 ++--- .../templates/input/input_reconciler.gotmpl | 30 ++--- .../templates/input/input_snapshot.gotmpl | 62 +++++------ .../input_snapshot_manual_builder.gotmpl | 14 +-- .../templates/output/output_snapshot.gotmpl | 104 +++++++++--------- 6 files changed, 122 insertions(+), 122 deletions(-) diff --git a/contrib/codegen/funcs/funcs.go b/contrib/codegen/funcs/funcs.go index a99b9438c..10e9fa9c3 100644 --- a/contrib/codegen/funcs/funcs.go +++ b/contrib/codegen/funcs/funcs.go @@ -58,7 +58,7 @@ func MakeHomogenousSnapshotFuncs( } return clientImportPath(grp) + "/controller" }, - "gvk": gvk, + "gvkCamelSnake": gvkCamelSnake, } } @@ -135,11 +135,11 @@ func MakeHybridSnapshotFuncs( } return clientImportPath(grp) + "/controller" }, - "gvk": gvk, + "gvkCamelSnake": gvkCamelSnake, } } -func gvk(resource model.Resource) string { +func gvkCamelSnake(resource model.Resource) string { group := strcase.ToCamel(resource.GroupVersion.Group) version := strcase.ToCamel(resource.Version) kind := strcase.ToCamel(resource.Kind) diff --git a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl index 21fc8038c..636baf509 100644 --- a/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl +++ b/contrib/codegen/templates/input/hybrid_input_reconciler.gotmpl @@ -35,7 +35,7 @@ import ( {{- if gt (len $remoteGroups) 0 }} {{- range $group := $remoteGroups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // * {{ $gvkPlural }} {{- end }} {{- end }} @@ -44,7 +44,7 @@ import ( {{- if gt (len $localGroups) 0 }} {{- range $group := $localGroups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // * {{ $gvkPlural }} {{- end }} {{- end }} @@ -100,8 +100,8 @@ func Register{{ $snapshotName }}InputReconciler( {{- range $group := $remoteGroups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // initialize {{ $gvkPlural }} reconcile loop for remote clusters {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.Remote.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, &remote{{ upper_camel $group.Group }}InputReconciler{base: base}, options.Remote.Predicates...) @@ -112,8 +112,8 @@ func Register{{ $snapshotName }}InputReconciler( {{- range $group := $localGroups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // initialize {{ $gvkPlural }} reconcile loop for local cluster if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options.Local.{{ $gvkPlural }}).Run{{ $resource.Kind }}Reconciler(ctx, &local{{ upper_camel $group.Group }}InputReconciler{base: base}, options.Local.Predicates...); err != nil { @@ -132,8 +132,8 @@ type Remote{{ $snapshotName }}ReconcileOptions struct { {{- range $group := $remoteGroups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // Options for reconciling {{ $gvkPlural }} {{ $gvkPlural }} reconcile.Options @@ -153,8 +153,8 @@ type remote{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler stru } {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *remote{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { @@ -182,8 +182,8 @@ type Local{{ $snapshotName }}ReconcileOptions struct { {{- range $group := $localGroups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // Options for reconciling {{ $gvkPlural }} {{ $gvkPlural }} reconcile.Options @@ -203,8 +203,8 @@ type local{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler struc } {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *local{{ upper_camel $group.Group }}{{ $snapshotName }}InputReconciler) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { diff --git a/contrib/codegen/templates/input/input_reconciler.gotmpl b/contrib/codegen/templates/input/input_reconciler.gotmpl index a67ece974..c5c2aff5e 100644 --- a/contrib/codegen/templates/input/input_reconciler.gotmpl +++ b/contrib/codegen/templates/input/input_reconciler.gotmpl @@ -5,7 +5,7 @@ // storage event is received for any of: {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // * {{ $gvkPlural }} {{- end }} {{- end }} @@ -42,8 +42,8 @@ type multiCluster{{ $snapshotName }}Reconciler interface { {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $controller_import_prefix }}.Multicluster{{ $resource.Kind }}Reconciler {{- end }} @@ -62,8 +62,8 @@ type {{ $snapshotName }}ReconcileOptions struct { {{- range $group := $groups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // Options for reconciling {{ $gvkPlural }} {{ $gvkPlural }} reconcile.Options @@ -98,8 +98,8 @@ func RegisterMultiCluster{{ $snapshotName }}Reconciler( {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $controller_import_prefix }}.NewMulticluster{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", clusters, options.{{ $gvkPlural }}).AddMulticluster{{ $resource.Kind }}Reconciler(ctx, r, predicates...) @@ -114,8 +114,8 @@ func RegisterMultiCluster{{ $snapshotName }}Reconciler( {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *multiCluster{{ $snapshotName }}ReconcilerImpl) Reconcile{{ $resource.Kind }}(clusterName string, obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { @@ -143,8 +143,8 @@ type singleCluster{{ $snapshotName }}Reconciler interface { {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $controller_import_prefix }}.{{ $resource.Kind }}Reconciler {{- end }} @@ -183,8 +183,8 @@ func RegisterSingleCluster{{ $snapshotName }}Reconciler( {{- range $group := $groups }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} if err := {{ $controller_import_prefix }}.New{{ $resource.Kind }}ReconcileLoop("{{ $resource.Kind }}", mgr, options).Run{{ $resource.Kind }}Reconciler(ctx, r, predicates...); err != nil { return nil, err @@ -199,8 +199,8 @@ func RegisterSingleCluster{{ $snapshotName }}Reconciler( {{ $type_import_prefix := group_import_name $group }} {{ $controller_import_prefix := (printf "%v_controllers" (group_import_name $group)) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (r *singleCluster{{ $snapshotName }}ReconcilerImpl) Reconcile{{ $resource.Kind }}(obj *{{ $type_import_prefix }}.{{ $resource.Kind }}) (reconcile.Result, error) { diff --git a/contrib/codegen/templates/input/input_snapshot.gotmpl b/contrib/codegen/templates/input/input_snapshot.gotmpl index 349ac134d..65e140126 100644 --- a/contrib/codegen/templates/input/input_snapshot.gotmpl +++ b/contrib/codegen/templates/input/input_snapshot.gotmpl @@ -4,7 +4,7 @@ // The Input {{ $snapshotName }}Snapshot contains the set of all: {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // * {{ $gvkPlural }} {{- end }} {{- end }} @@ -67,7 +67,7 @@ type {{ $snapshotName }}Snapshot interface { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // return the set of input {{ $gvkPlural }} {{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} @@ -90,7 +90,7 @@ type {{ $snapshotName }}SyncStatusOptions struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvk := gvk $resource }} + {{- $gvk := gvkCamelSnake $resource }} // sync status of {{ $gvk }} objects {{ $gvk }} bool {{- end }} @@ -103,7 +103,7 @@ type snapshot{{ $snapshotName }} struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} @@ -117,7 +117,7 @@ func New{{ $snapshotName }}Snapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} @@ -129,7 +129,7 @@ func New{{ $snapshotName }}Snapshot( {{/* add constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }}: {{ $gvkLowerCamelPlural }}, {{- end }} @@ -141,8 +141,8 @@ func New{{ $snapshotName }}Snapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (s snapshot{{ $snapshotName }}) {{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { @@ -159,9 +159,9 @@ func (s snapshot{{ $snapshotName }}) SyncStatusesMultiCluster(ctx context.Contex {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvk := gvk $resource }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvk := gvkCamelSnake $resource }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{- if $resource.Status }} if opts.{{ $gvk }} { @@ -189,9 +189,9 @@ func (s snapshot{{ $snapshotName }}) SyncStatuses(ctx context.Context, c client. {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvk := gvk $resource }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvk := gvkCamelSnake $resource }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{- if $resource.Status }} if opts.{{ $gvk }} { @@ -214,7 +214,7 @@ func (s snapshot{{ $snapshotName }}) MarshalJSON() ([]byte, error) { {{/* add map contents here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} snapshotMap["{{ $gvkLowerCamelPlural }}"] = s.{{ $gvkLowerCamelPlural }}.List() {{- end }} @@ -233,8 +233,8 @@ type {{ $snapshotName }}BuildOptions struct { {{- range $group := $groups }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // List options for composing a snapshot from {{ $gvkPlural }} {{ $gvkPlural }} Resource{{ $snapshotName }}BuildOptions @@ -274,8 +274,8 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() {{- end }} @@ -288,8 +288,8 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{/* generate calls to insert funcs here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} if err := b.insert{{ $gvkPlural }}FromCluster(ctx, cluster, {{ $gvkLowerCamelPlural }}, opts.{{ $gvkPlural }}); err != nil { errs = multierror.Append(errs, err) @@ -304,7 +304,7 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{/* generate params for snapshot constructor here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{$gvkLowerCamelPlural}}, {{- end }} @@ -319,8 +319,8 @@ func (b *multiCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Conte {{ $client_import_prefix := group_import_name $group }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (b *multiCluster{{ $snapshotName }}Builder) insert{{ $gvkPlural }}FromCluster(ctx context.Context, cluster string, {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { {{ $gvkLowerCamel }}Client, err := {{ $client_import_prefix }}.NewMulticluster{{ $resource.Kind }}Client(b.client).Cluster(cluster) @@ -400,8 +400,8 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() {{- end }} @@ -412,8 +412,8 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{/* generate calls to insert funcs here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} if err := b.insert{{ $gvkPlural }}(ctx, {{ $gvkLowerCamelPlural }}, opts.{{ $gvkPlural }}); err != nil { errs = multierror.Append(errs, err) @@ -426,7 +426,7 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{/* generate params for snapshot constructor here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{$gvkLowerCamelPlural}}, {{- end }} @@ -441,8 +441,8 @@ func (b *singleCluster{{ $snapshotName }}Builder) BuildSnapshot(ctx context.Cont {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{ $client_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (b *singleCluster{{ $snapshotName }}Builder) insert{{ $gvkPlural }}(ctx context.Context, {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, opts Resource{{ $snapshotName }}BuildOptions) error { diff --git a/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl b/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl index 7a8b51d88..9c8bb8544 100644 --- a/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl +++ b/contrib/codegen/templates/input/input_snapshot_manual_builder.gotmpl @@ -22,7 +22,7 @@ name string {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} @@ -36,8 +36,8 @@ name: name, {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), {{- end }} @@ -51,8 +51,8 @@ i.name, {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} i.{{ $gvkLowerCamelPlural }}, {{- end }} @@ -62,8 +62,8 @@ i.name, {{- range $group := $groups }} {{- range $resource := $group.Resources }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (i *Input{{ $snapshotName }}SnapshotManualBuilder) Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} []*{{ group_import_name $group }}.{{ $resource.Kind }}) *Input{{ $snapshotName }}SnapshotManualBuilder { i.{{ $gvkLowerCamelPlural }}.Insert({{ $gvkLowerCamelPlural }}...) diff --git a/contrib/codegen/templates/output/output_snapshot.gotmpl b/contrib/codegen/templates/output/output_snapshot.gotmpl index b97c45ffa..fc83ae2c5 100644 --- a/contrib/codegen/templates/output/output_snapshot.gotmpl +++ b/contrib/codegen/templates/output/output_snapshot.gotmpl @@ -39,8 +39,8 @@ type Snapshot interface { {{/* generate a getter for each resource */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} // return the set of {{ $gvkPlural }} with a given set of labels {{ $gvkPlural }}() []Labeled{{ $gvk }}Set {{- end }} @@ -61,8 +61,8 @@ type snapshot struct { {{/* generate fields of the real snapshot impl here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set {{- end }} @@ -75,8 +75,8 @@ func NewSnapshot( {{/* generate constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} []Labeled{{ $gvk }}Set, {{- end }} @@ -88,7 +88,7 @@ func NewSnapshot( {{/* add constructor params here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }}: {{ $gvkLowerCamelPlural }}, {{- end }} @@ -106,7 +106,7 @@ func NewLabelPartitionedSnapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} @@ -117,8 +117,8 @@ func NewLabelPartitionedSnapshot( {{/* convert input sets to partioned output sets */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} partitioned{{ $gvkPlural }}, err := partition{{ $gvkPlural }}ByLabel(labelKey, {{ $gvkLowerCamelPlural }}) if err != nil { @@ -132,7 +132,7 @@ func NewLabelPartitionedSnapshot( {{/* args for NewSnapshot */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkPlural := pluralize (gvk $resource) }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} partitioned{{ $gvkPlural }}, {{- end }} {{- end }} @@ -149,7 +149,7 @@ func NewSinglePartitionedSnapshot( {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set, {{- end }} @@ -160,9 +160,9 @@ func NewSinglePartitionedSnapshot( {{/* convert input sets to partioned output sets */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} labeled{{ $gvk }}, err := NewLabeled{{ $gvk }}Set({{ $gvkLowerCamelPlural }}, snapshotLabels) if err != nil { @@ -176,9 +176,9 @@ func NewSinglePartitionedSnapshot( {{/* args for NewSnapshot */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} []Labeled{{ $gvk }}Set{labeled{{ $gvk }}}, {{- end }} @@ -195,7 +195,7 @@ func (s *snapshot) ApplyLocalCluster(ctx context.Context, cli client.Client, err {{/* generate each list conversion */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} for _, outputSet := range s.{{ $gvkLowerCamelPlural }} { genericLists = append(genericLists, outputSet.Generic()) @@ -216,7 +216,7 @@ func (s *snapshot) ApplyMultiCluster(ctx context.Context, multiClusterClient mul {{/* generate each list conversion */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} for _, outputSet := range s.{{ $gvkLowerCamelPlural }} { genericLists = append(genericLists, outputSet.Generic()) @@ -235,9 +235,9 @@ func (s *snapshot) ApplyMultiCluster(ctx context.Context, multiClusterClient mul {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func partition{{ $gvkPlural }}ByLabel(labelKey string, set {{ $set_import_prefix }}.{{ $resource.Kind }}Set) ([]Labeled{{ $gvk }}Set, error) { @@ -290,9 +290,9 @@ func partition{{ $gvkPlural }}ByLabel(labelKey string, set {{ $set_import_prefix {{/* generate getters here */}} {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (s snapshot) {{ $gvkPlural}}() []Labeled{{ $gvk }}Set { @@ -307,9 +307,9 @@ func (s snapshot) MarshalJSON() ([]byte, error) { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamel }}Set := {{ $set_import_prefix }}.New{{ $resource.Kind }}Set() for _, set := range s.{{ $gvkLowerCamelPlural }} { @@ -329,9 +329,9 @@ func (s snapshot) MarshalJSON() ([]byte, error) { {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{ $type_import_prefix := group_import_name $group }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // Labeled{{ $gvk }}Set represents a set of {{ $gvkLowerCamelPlural }} @@ -412,7 +412,7 @@ type builder struct { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }} {{ $set_import_prefix }}.{{ $resource.Kind }}Set {{- end }} @@ -426,7 +426,7 @@ return &builder{ {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} {{ $gvkLowerCamelPlural }}: {{ $set_import_prefix }}.New{{ $resource.Kind }}Set(), {{- end }} @@ -441,9 +441,9 @@ type Builder interface { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} // add {{ $gvkPlural }} to the collected outputs @@ -481,9 +481,9 @@ type Builder interface { {{- range $group := $groups }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (b *builder) Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} ...*{{ group_import_name $group }}.{{ $resource.Kind }}) { for _, obj := range {{ $gvkLowerCamelPlural }} { @@ -500,9 +500,9 @@ func (b *builder) Add{{ $gvkPlural }}({{ $gvkLowerCamelPlural }} ...*{{ group_im {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} -{{- $gvk := gvk $resource }} -{{- $gvkPlural := pluralize (gvk $resource) }} -{{- $gvkLowerCamel := lower_camel (gvk $resource) }} +{{- $gvk := gvkCamelSnake $resource }} +{{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} +{{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} func (b *builder) Get{{ $gvkPlural }}() {{ $set_import_prefix }}.{{ $resource.Kind }}Set { return b.{{ $gvkLowerCamelPlural }} @@ -518,7 +518,7 @@ func (b *builder) BuildLabelPartitionedSnapshot(labelKey string) (Snapshot, erro {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} b.{{ $gvkLowerCamelPlural }}, {{- end }} @@ -534,7 +534,7 @@ func (b *builder) BuildSinglePartitionedSnapshot(snapshotLabels map[string]strin {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} b.{{ $gvkLowerCamelPlural }}, {{- end }} @@ -558,8 +558,8 @@ func (b *builder) Merge(other Builder) { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvk := gvk $resource }} - {{- $gvkPlural := pluralize (gvk $resource) }} + {{- $gvk := gvkCamelSnake $resource }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} b.Add{{ $gvkPlural }}(other.Get{{ $gvkPlural }}().List()...) {{- end }} {{- end }} @@ -576,9 +576,9 @@ func (b *builder) Clone() Builder { {{- range $group := $groups }} {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} - {{- $gvk := gvk $resource }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvk := gvkCamelSnake $resource }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} {{- $gvkLowerCamelPlural := pluralize $gvkLowerCamel }} for _, {{ $gvkLowerCamel }} := range b.Get{{ $gvkPlural }}().List() { clone.Add{{ $gvkPlural }}({{ $gvkLowerCamel }}.DeepCopy()) @@ -600,8 +600,8 @@ func (b *builder) Delta(other Builder) output.SnapshotDelta { {{ $set_import_prefix := printf "%v_sets" (group_import_name $group) }} {{- range $resource := $group.Resources }} {{- $kindPlural := pluralize $resource.Kind }} - {{- $gvkPlural := pluralize (gvk $resource) }} - {{- $gvkLowerCamel := lower_camel (gvk $resource) }} + {{- $gvkPlural := pluralize (gvkCamelSnake $resource) }} + {{- $gvkLowerCamel := lower_camel (gvkCamelSnake $resource) }} // calculate delta between {{ $kindPlural }} {{ $gvkLowerCamel }}Delta := b.Get{{ $gvkPlural }}().Delta(other.Get{{ $gvkPlural }}()) {{ $gvkLowerCamel }}Gvk := schema.GroupVersionKind{