Skip to content

Commit b3b0e95

Browse files
authored
Merge pull request #862 from gianlucam76/more-template-functions
(feat): track full diff for resources
2 parents e710bcc + 9487bb8 commit b3b0e95

22 files changed

+277
-137
lines changed

api/v1beta1/clustersummary_types.go

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ type ClusterSummaryStatus struct {
212212
// +kubebuilder:resource:path=clustersummaries,scope=Namespaced
213213
// +kubebuilder:subresource:status
214214
// +kubebuilder:storageversion
215+
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of ClusterSummary"
215216
// +kubebuilder:printcolumn:name="HelmCharts",type="string",JSONPath=".status.featureSummaries[?(@.featureID==\"Helm\")].status",description="Indicates whether HelmCharts are all provisioned",priority=2
216217
// +kubebuilder:printcolumn:name="KustomizeRefs",type="string",JSONPath=".status.featureSummaries[?(@.featureID==\"Kustomize\")].status",description="Indicates whether KustomizeRefs are all provisioned",priority=2
217218
// +kubebuilder:printcolumn:name="PolicyRefs",type="string",JSONPath=".status.featureSummaries[?(@.featureID==\"Resources\")].status",description="Indicates whether PolicyRefs are all provisioned",priority=2

config/crd/bases/config.projectsveltos.io_clustersummaries.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -936,6 +936,10 @@ spec:
936936
subresources:
937937
status: {}
938938
- additionalPrinterColumns:
939+
- description: Time duration since creation of ClusterSummary
940+
jsonPath: .metadata.creationTimestamp
941+
name: Age
942+
type: date
939943
- description: Indicates whether HelmCharts are all provisioned
940944
jsonPath: .status.featureSummaries[?(@.featureID=="Helm")].status
941945
name: HelmCharts

controllers/clustercache/cluster_cache_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ var _ = Describe("Clustercache", func() {
8686
Expect(cacheMgr.GetConfigFromMap(clusterObj)).To(BeNil())
8787
Expect(cacheMgr.GetSecretForCluster(clusterObj)).To(BeNil())
8888
Expect(cacheMgr.GetClusterFromSecret(secretObj)).To(BeNil())
89-
9089
})
9190

9291
It("RemoveSecret removes entries for all clusters using the modified secret", func() {
@@ -136,9 +135,12 @@ func createClusterResources(cluster *libsveltosv1beta1.SveltosCluster) *corev1.S
136135
}
137136

138137
Expect(testEnv.Create(context.TODO(), ns)).To(Succeed())
138+
Expect(waitForObject(context.TODO(), testEnv.Client, ns)).To(Succeed())
139+
139140
Expect(testEnv.Create(context.TODO(), cluster)).To(Succeed())
140141
Expect(testEnv.Create(context.TODO(), secret)).To(Succeed())
141142

143+
Expect(waitForObject(context.TODO(), testEnv.Client, cluster)).To(Succeed())
142144
Expect(waitForObject(context.TODO(), testEnv.Client, secret)).To(Succeed())
143145
return secret
144146
}

controllers/clustercache/clustercache_suite_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import (
4141
"github.com/projectsveltos/addon-controller/internal/test/helpers"
4242
libsveltosv1beta1 "github.com/projectsveltos/libsveltos/api/v1beta1"
4343
libsveltoscrd "github.com/projectsveltos/libsveltos/lib/crd"
44-
"github.com/projectsveltos/libsveltos/lib/utils"
44+
"github.com/projectsveltos/libsveltos/lib/k8s_utils"
4545
)
4646

4747
var (
@@ -95,7 +95,7 @@ var _ = BeforeSuite(func() {
9595
}()
9696

9797
var sveltosCRD *unstructured.Unstructured
98-
sveltosCRD, err = utils.GetUnstructured(libsveltoscrd.GetSveltosClusterCRDYAML())
98+
sveltosCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetSveltosClusterCRDYAML())
9999
Expect(err).To(BeNil())
100100
Expect(testEnv.Create(context.TODO(), sveltosCRD)).To(Succeed())
101101
Expect(waitForObject(context.TODO(), testEnv, sveltosCRD)).To(Succeed())

controllers/clustersummary_controller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func (r *ClusterSummaryReconciler) reconcileNormal(
366366
err = r.removeResourceSummary(ctx, clusterSummaryScope, logger)
367367
if err != nil {
368368
logger.V(logs.LogInfo).Error(err, "failed to remove ResourceSummary.")
369-
return reconcile.Result{Requeue: true, RequeueAfter: deleteRequeueAfter}, nil
369+
return reconcile.Result{Requeue: true, RequeueAfter: normalRequeueAfter}, nil
370370
}
371371
}
372372

controllers/controllers_suite_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ import (
4343
"github.com/projectsveltos/libsveltos/lib/clusterproxy"
4444
libsveltoscrd "github.com/projectsveltos/libsveltos/lib/crd"
4545
"github.com/projectsveltos/libsveltos/lib/deployer"
46+
"github.com/projectsveltos/libsveltos/lib/k8s_utils"
4647
libsveltosset "github.com/projectsveltos/libsveltos/lib/set"
47-
"github.com/projectsveltos/libsveltos/lib/utils"
4848
)
4949

5050
var (
@@ -92,37 +92,37 @@ var _ = BeforeSuite(func() {
9292
}()
9393

9494
var sveltosCRD *unstructured.Unstructured
95-
sveltosCRD, err = utils.GetUnstructured(libsveltoscrd.GetSveltosClusterCRDYAML())
95+
sveltosCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetSveltosClusterCRDYAML())
9696
Expect(err).To(BeNil())
9797
Expect(testEnv.Create(context.TODO(), sveltosCRD)).To(Succeed())
9898
Expect(waitForObject(context.TODO(), testEnv, sveltosCRD)).To(Succeed())
9999

100100
var resourceSummaryCRD *unstructured.Unstructured
101-
resourceSummaryCRD, err = utils.GetUnstructured(libsveltoscrd.GetResourceSummaryCRDYAML())
101+
resourceSummaryCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetResourceSummaryCRDYAML())
102102
Expect(err).To(BeNil())
103103
Expect(testEnv.Create(context.TODO(), resourceSummaryCRD)).To(Succeed())
104104
Expect(waitForObject(context.TODO(), testEnv, resourceSummaryCRD)).To(Succeed())
105105

106106
var dcCRD *unstructured.Unstructured
107-
dcCRD, err = utils.GetUnstructured(libsveltoscrd.GetDebuggingConfigurationCRDYAML())
107+
dcCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetDebuggingConfigurationCRDYAML())
108108
Expect(err).To(BeNil())
109109
Expect(testEnv.Create(context.TODO(), dcCRD)).To(Succeed())
110110
Expect(waitForObject(context.TODO(), testEnv, dcCRD)).To(Succeed())
111111

112112
var reloaderCRD *unstructured.Unstructured
113-
reloaderCRD, err = utils.GetUnstructured(libsveltoscrd.GetReloaderCRDYAML())
113+
reloaderCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetReloaderCRDYAML())
114114
Expect(err).To(BeNil())
115115
Expect(testEnv.Create(context.TODO(), reloaderCRD)).To(Succeed())
116116
Expect(waitForObject(context.TODO(), testEnv, reloaderCRD)).To(Succeed())
117117

118118
var setCRD *unstructured.Unstructured
119-
setCRD, err = utils.GetUnstructured(libsveltoscrd.GetSetCRDYAML())
119+
setCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetSetCRDYAML())
120120
Expect(err).To(BeNil())
121121
Expect(testEnv.Create(context.TODO(), setCRD)).To(Succeed())
122122
Expect(waitForObject(context.TODO(), testEnv, setCRD)).To(Succeed())
123123

124124
var clusterSetCRD *unstructured.Unstructured
125-
clusterSetCRD, err = utils.GetUnstructured(libsveltoscrd.GetClusterSetCRDYAML())
125+
clusterSetCRD, err = k8s_utils.GetUnstructured(libsveltoscrd.GetClusterSetCRDYAML())
126126
Expect(err).To(BeNil())
127127
Expect(testEnv.Create(context.TODO(), clusterSetCRD)).To(Succeed())
128128
Expect(waitForObject(context.TODO(), testEnv, clusterSetCRD)).To(Succeed())

controllers/handlers_helm.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,10 @@ import (
6767
libsveltosv1beta1 "github.com/projectsveltos/libsveltos/api/v1beta1"
6868
"github.com/projectsveltos/libsveltos/lib/clusterproxy"
6969
"github.com/projectsveltos/libsveltos/lib/deployer"
70+
"github.com/projectsveltos/libsveltos/lib/k8s_utils"
7071
logs "github.com/projectsveltos/libsveltos/lib/logsettings"
7172
"github.com/projectsveltos/libsveltos/lib/patcher"
7273
libsveltostemplate "github.com/projectsveltos/libsveltos/lib/template"
73-
"github.com/projectsveltos/libsveltos/lib/utils"
7474
)
7575

7676
var (
@@ -1186,7 +1186,7 @@ func upgradeCRDs(ctx context.Context, requestedChart *configv1beta1.HelmChart, k
11861186
return err
11871187
}
11881188

1189-
dr, err := utils.GetDynamicResourceInterface(destConfig, apiextensionsv1.SchemeGroupVersion.WithKind("CustomResourceDefinition"), "")
1189+
dr, err := k8s_utils.GetDynamicResourceInterface(destConfig, apiextensionsv1.SchemeGroupVersion.WithKind("CustomResourceDefinition"), "")
11901190
if err != nil {
11911191
return err
11921192
}
@@ -1933,7 +1933,7 @@ func collectHelmContent(manifest string, logger logr.Logger) ([]*unstructured.Un
19331933
resources := make([]*unstructured.Unstructured, 0, len(elements))
19341934

19351935
for i := range elements {
1936-
policy, err := utils.GetUnstructured([]byte(elements[i]))
1936+
policy, err := k8s_utils.GetUnstructured([]byte(elements[i]))
19371937
if err != nil {
19381938
logger.Error(err, fmt.Sprintf("failed to get policy from Data %.100s", elements[i]))
19391939
return nil, err
@@ -2350,15 +2350,15 @@ func addExtraMetadata(ctx context.Context, requestedChart *configv1beta1.HelmCha
23502350
}
23512351

23522352
var dr dynamic.ResourceInterface
2353-
dr, err = utils.GetDynamicResourceInterface(config, r.GroupVersionKind(), namespace)
2353+
dr, err = k8s_utils.GetDynamicResourceInterface(config, r.GroupVersionKind(), namespace)
23542354
if err != nil {
23552355
return err
23562356
}
23572357

23582358
addExtraLabels(r, clusterSummary.Spec.ClusterProfileSpec.ExtraLabels)
23592359
addExtraAnnotations(r, clusterSummary.Spec.ClusterProfileSpec.ExtraAnnotations)
23602360

2361-
err = updateResource(ctx, dr, clusterSummary, r, []string{}, logger)
2361+
_, err = updateResource(ctx, dr, clusterSummary, r, []string{}, logger)
23622362
if err != nil {
23632363
logger.V(logs.LogInfo).Info(fmt.Sprintf("failed to update resource %s %s/%s: %v",
23642364
r.GetKind(), r.GetNamespace(), r.GetName(), err))

controllers/handlers_kustomize.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ import (
5353
"github.com/projectsveltos/libsveltos/lib/clusterproxy"
5454
"github.com/projectsveltos/libsveltos/lib/deployer"
5555
"github.com/projectsveltos/libsveltos/lib/funcmap"
56+
"github.com/projectsveltos/libsveltos/lib/k8s_utils"
5657
logs "github.com/projectsveltos/libsveltos/lib/logsettings"
5758
libsveltostemplate "github.com/projectsveltos/libsveltos/lib/template"
58-
"github.com/projectsveltos/libsveltos/lib/utils"
5959
)
6060

6161
const (
@@ -663,7 +663,7 @@ func getKustomizedResources(ctx context.Context, c client.Client, clusterSummary
663663
}
664664

665665
var u *unstructured.Unstructured
666-
u, err = utils.GetUnstructured(yaml)
666+
u, err = k8s_utils.GetUnstructured(yaml)
667667
if err != nil {
668668
logger.V(logs.LogInfo).Info(fmt.Sprintf("failed to get unstructured %v", err))
669669
return nil, nil, nil, err

controllers/handlers_resources.go

-1
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,6 @@ func updateClusterReportWithResourceReports(ctx context.Context, c client.Client
453453
} else if featureID == configv1beta1.FeatureKustomize {
454454
clusterReport.Status.KustomizeResourceReports = resourceReports
455455
}
456-
457456
return c.Status().Update(ctx, clusterReport)
458457
})
459458
return err

0 commit comments

Comments
 (0)