Skip to content

Commit b15a308

Browse files
authored
Merge pull request #230 from gianlucam76/release-0.10
Release 0.10
2 parents 84b3983 + 90018c0 commit b15a308

26 files changed

+529
-332
lines changed

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Image URL to use all building/pushing image targets
33
IMG ?= controller:latest
44
# KUBEBUILDER_ENVTEST_KUBERNETES_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
5-
KUBEBUILDER_ENVTEST_KUBERNETES_VERSION = 1.26.0
5+
KUBEBUILDER_ENVTEST_KUBERNETES_VERSION = 1.27.1
66

77
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
88
ifeq (,$(shell go env GOBIN))
@@ -25,7 +25,7 @@ ARCH ?= amd64
2525
OS ?= $(shell uname -s | tr A-Z a-z)
2626
K8S_LATEST_VER ?= $(shell curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
2727
export CONTROLLER_IMG ?= $(REGISTRY)/$(IMAGE_NAME)
28-
TAG ?= v0.10.0
28+
TAG ?= v0.10.1
2929

3030
# Get cluster-api version and build ldflags
3131
clusterapi := $(shell go list -m sigs.k8s.io/cluster-api)
@@ -162,7 +162,7 @@ endif
162162
# K8S_VERSION for the Kind cluster can be set as environment variable. If not defined,
163163
# this default value is used
164164
ifndef K8S_VERSION
165-
K8S_VERSION := v1.26.0
165+
K8S_VERSION := v1.27.0
166166
endif
167167

168168
KIND_CONFIG ?= kind-cluster.yaml
@@ -209,7 +209,7 @@ create-cluster: $(KIND) $(CLUSTERCTL) $(KUBECTL) $(ENVSUBST) ## Create a new kin
209209
$(KIND) get kubeconfig --name $(WORKLOAD_CLUSTER_NAME) > test/fv/workload_kubeconfig
210210

211211
@echo "install calico on workload cluster"
212-
$(KUBECTL) --kubeconfig=./test/fv/workload_kubeconfig apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/calico.yaml
212+
$(KUBECTL) --kubeconfig=./test/fv/workload_kubeconfig apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/calico.yaml
213213

214214
@echo wait for calico pod
215215
$(KUBECTL) --kubeconfig=./test/fv/workload_kubeconfig wait --for=condition=Available deployment/calico-kube-controllers -n kube-system --timeout=$(TIMEOUT)

config/crd/bases/config.projectsveltos.io_clusterconfigurations.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.11.3
7-
creationTimestamp: null
6+
controller-gen.kubebuilder.io/version: v0.11.4
87
name: clusterconfigurations.config.projectsveltos.io
98
spec:
109
group: config.projectsveltos.io

config/crd/bases/config.projectsveltos.io_clusterprofiles.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.11.3
7-
creationTimestamp: null
6+
controller-gen.kubebuilder.io/version: v0.11.4
87
name: clusterprofiles.config.projectsveltos.io
98
spec:
109
group: config.projectsveltos.io

config/crd/bases/config.projectsveltos.io_clusterreports.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.11.3
7-
creationTimestamp: null
6+
controller-gen.kubebuilder.io/version: v0.11.4
87
name: clusterreports.config.projectsveltos.io
98
spec:
109
group: config.projectsveltos.io

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.11.3
7-
creationTimestamp: null
6+
controller-gen.kubebuilder.io/version: v0.11.4
87
name: clustersummaries.config.projectsveltos.io
98
spec:
109
group: config.projectsveltos.io

config/default/manager_image_patch.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ spec:
88
spec:
99
containers:
1010
# Change the value of image field below to your controller image URL
11-
- image: projectsveltos/addon-manager-amd64:v0.10.0
11+
- image: projectsveltos/addon-manager-amd64:v0.10.1
1212
name: manager

config/manager/manager.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,6 @@ spec:
5959
port: 8081
6060
initialDelaySeconds: 5
6161
periodSeconds: 10
62-
resources:
63-
limits:
64-
cpu: 500m
65-
memory: 128Mi
66-
requests:
67-
cpu: 500m
68-
memory: 128Mi
6962
volumeMounts:
7063
- mountPath: /tmp
7164
name: tmp

config/rbac/role.yaml

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: rbac.authorization.k8s.io/v1
33
kind: ClusterRole
44
metadata:
5-
creationTimestamp: null
65
name: manager-role
76
rules:
87
- apiGroups:
@@ -160,14 +159,6 @@ rules:
160159
- get
161160
- patch
162161
- update
163-
- apiGroups:
164-
- config.projectsveltos.io
165-
resources:
166-
- gitrepositories
167-
verbs:
168-
- get
169-
- list
170-
- watch
171162
- apiGroups:
172163
- controlplane.cluster.x-k8s.io
173164
resources:
@@ -208,3 +199,51 @@ rules:
208199
- get
209200
- list
210201
- watch
202+
- apiGroups:
203+
- source.toolkit.fluxcd.io
204+
resources:
205+
- buckets
206+
verbs:
207+
- get
208+
- list
209+
- watch
210+
- apiGroups:
211+
- source.toolkit.fluxcd.io
212+
resources:
213+
- buckets/status
214+
verbs:
215+
- get
216+
- list
217+
- watch
218+
- apiGroups:
219+
- source.toolkit.fluxcd.io
220+
resources:
221+
- gitrepositories
222+
verbs:
223+
- get
224+
- list
225+
- watch
226+
- apiGroups:
227+
- source.toolkit.fluxcd.io
228+
resources:
229+
- gitrepositories/status
230+
verbs:
231+
- get
232+
- list
233+
- watch
234+
- apiGroups:
235+
- source.toolkit.fluxcd.io
236+
resources:
237+
- ocirepositories
238+
verbs:
239+
- get
240+
- list
241+
- watch
242+
- apiGroups:
243+
- source.toolkit.fluxcd.io
244+
resources:
245+
- ocirepositories/status
246+
verbs:
247+
- get
248+
- list
249+
- watch

controllers/clusterprofile_controller.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,6 @@ func (r *ClusterProfileReconciler) updateMaps(clusterProfileScope *scope.Cluster
933933
r.getClusterMapForEntry(&clusterName).Erase(clusterProfileInfo)
934934
}
935935

936-
// Update list of WorklaodRoles currently referenced by ClusterSummary
937936
r.ClusterProfileMap[*clusterProfileInfo] = currentClusters
938937
r.ClusterProfiles[*clusterProfileInfo] = clusterProfileScope.ClusterProfile.Spec.ClusterSelector
939938
}

controllers/clusterprofile_predicates.go

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ package controllers
1919
import (
2020
"reflect"
2121

22-
sourcev1 "github.com/fluxcd/source-controller/api/v1"
23-
sourcev1b2 "github.com/fluxcd/source-controller/api/v1beta2"
2422
"github.com/go-logr/logr"
2523
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
2624
"sigs.k8s.io/controller-runtime/pkg/event"
@@ -255,97 +253,3 @@ func MachinePredicates(logger logr.Logger) predicate.Funcs {
255253
},
256254
}
257255
}
258-
259-
// FluxSourcePredicates predicates for GitRepository/OCIRepository/Bucket.
260-
// ClusterProfileReconciler watches GitRepository/OCIRepository/Bucket events and
261-
// react to those by reconciling itself based on following predicates
262-
func FluxSourcePredicates(logger logr.Logger) predicate.Funcs {
263-
return predicate.Funcs{
264-
UpdateFunc: func(e event.UpdateEvent) bool {
265-
log := logger.WithValues("predicate", "updateEvent",
266-
"namespace", e.ObjectNew.GetNamespace(),
267-
"source", e.ObjectNew.GetName(),
268-
)
269-
270-
if hasArtifactChanged(e) {
271-
log.V(logs.LogInfo).Info(
272-
"Source artifact has changed. Will attempt to reconcile associated ClusterProfiles.")
273-
return true
274-
}
275-
276-
// otherwise, return false
277-
log.V(logs.LogInfo).Info(
278-
"GitRepository did not match expected conditions. Will not attempt to reconcile associated ClusterProfiles.")
279-
return false
280-
},
281-
CreateFunc: func(e event.CreateEvent) bool {
282-
log := logger.WithValues("predicate", "createEvent",
283-
"namespace", e.Object.GetNamespace(),
284-
"source", e.Object.GetName(),
285-
)
286-
287-
log.V(logs.LogVerbose).Info(
288-
"Source did match expected conditions. Will attempt to reconcile associated ClusterProfiles.")
289-
return true
290-
},
291-
DeleteFunc: func(e event.DeleteEvent) bool {
292-
log := logger.WithValues("predicate", "deleteEvent",
293-
"namespace", e.Object.GetNamespace(),
294-
"source", e.Object.GetName(),
295-
)
296-
log.V(logs.LogVerbose).Info(
297-
"Source deleted. Will attempt to reconcile associated ClusterProfiles.")
298-
return true
299-
},
300-
GenericFunc: func(e event.GenericEvent) bool {
301-
log := logger.WithValues("predicate", "genericEvent",
302-
"namespace", e.Object.GetNamespace(),
303-
"source", e.Object.GetName(),
304-
)
305-
log.V(logs.LogVerbose).Info(
306-
"Source did not match expected conditions. Will not attempt to reconcile associated ClusterProfiles.")
307-
return false
308-
},
309-
}
310-
}
311-
312-
func hasArtifactChanged(e event.UpdateEvent) bool {
313-
switch e.ObjectNew.GetObjectKind().GroupVersionKind().Kind {
314-
case sourcev1.GitRepositoryKind:
315-
newGitRepo := e.ObjectNew.(*sourcev1.GitRepository)
316-
oldGitRepo := e.ObjectOld.(*sourcev1.GitRepository)
317-
if oldGitRepo == nil ||
318-
!isArtifactSame(oldGitRepo.Status.Artifact, newGitRepo.Status.Artifact) {
319-
320-
return true
321-
}
322-
case sourcev1b2.BucketKind:
323-
newBucket := e.ObjectNew.(*sourcev1b2.Bucket)
324-
oldBucket := e.ObjectOld.(*sourcev1b2.Bucket)
325-
if oldBucket == nil ||
326-
!isArtifactSame(oldBucket.Status.Artifact, newBucket.Status.Artifact) {
327-
328-
return true
329-
}
330-
case sourcev1b2.OCIRepositoryKind:
331-
newOCIRepo := e.ObjectNew.(*sourcev1b2.OCIRepository)
332-
oldOCIRepo := e.ObjectOld.(*sourcev1b2.OCIRepository)
333-
if oldOCIRepo == nil ||
334-
!isArtifactSame(oldOCIRepo.Status.Artifact, newOCIRepo.Status.Artifact) {
335-
336-
return true
337-
}
338-
}
339-
340-
return false
341-
}
342-
343-
func isArtifactSame(oldArtifact, newArtifact *sourcev1.Artifact) bool {
344-
if oldArtifact == nil && newArtifact != nil {
345-
return false
346-
}
347-
if oldArtifact != nil && newArtifact == nil {
348-
return false
349-
}
350-
return reflect.DeepEqual(oldArtifact, newArtifact)
351-
}

controllers/clusterprofile_predicates_test.go

Lines changed: 0 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ limitations under the License.
1717
package controllers_test
1818

1919
import (
20-
sourcev1 "github.com/fluxcd/source-controller/api/v1"
2120
. "github.com/onsi/ginkgo/v2"
2221
. "github.com/onsi/gomega"
2322

@@ -432,90 +431,3 @@ var _ = Describe("ClusterProfile Predicates: MachinePredicates", func() {
432431
Expect(result).To(BeFalse())
433432
})
434433
})
435-
436-
var _ = Describe("ClusterProfile Predicates: FluxSourcePredicates", func() {
437-
var logger logr.Logger
438-
var gitRepository *sourcev1.GitRepository
439-
440-
BeforeEach(func() {
441-
logger = klogr.New()
442-
gitRepository = &sourcev1.GitRepository{
443-
ObjectMeta: metav1.ObjectMeta{
444-
Name: upstreamClusterNamePrefix + randomString(),
445-
Namespace: "predicates" + randomString(),
446-
},
447-
}
448-
449-
Expect(addTypeInformationToObject(scheme, gitRepository)).To(Succeed())
450-
})
451-
452-
It("Create reprocesses", func() {
453-
sourcePredicate := controllers.FluxSourcePredicates(logger)
454-
455-
e := event.CreateEvent{
456-
Object: gitRepository,
457-
}
458-
459-
result := sourcePredicate.Create(e)
460-
Expect(result).To(BeTrue())
461-
})
462-
It("Delete does reprocess", func() {
463-
sourcePredicate := controllers.FluxSourcePredicates(logger)
464-
465-
e := event.DeleteEvent{
466-
Object: gitRepository,
467-
}
468-
469-
result := sourcePredicate.Delete(e)
470-
Expect(result).To(BeTrue())
471-
})
472-
It("Update reprocesses when artifact has changed", func() {
473-
sourcePredicate := controllers.FluxSourcePredicates(logger)
474-
475-
gitRepository.Status.Artifact = &sourcev1.Artifact{
476-
Revision: randomString(),
477-
}
478-
479-
oldGitRepository := &sourcev1.GitRepository{
480-
ObjectMeta: metav1.ObjectMeta{
481-
Name: gitRepository.Name,
482-
Namespace: gitRepository.Namespace,
483-
},
484-
}
485-
486-
Expect(addTypeInformationToObject(scheme, oldGitRepository)).To(Succeed())
487-
488-
e := event.UpdateEvent{
489-
ObjectNew: gitRepository,
490-
ObjectOld: oldGitRepository,
491-
}
492-
493-
result := sourcePredicate.Update(e)
494-
Expect(result).To(BeTrue())
495-
})
496-
It("Update does not reprocess when artifact has not changed", func() {
497-
sourcePredicate := controllers.FluxSourcePredicates(logger)
498-
499-
gitRepository.Status.Artifact = &sourcev1.Artifact{
500-
Revision: randomString(),
501-
}
502-
503-
oldGitRepository := &sourcev1.GitRepository{
504-
ObjectMeta: metav1.ObjectMeta{
505-
Name: gitRepository.Name,
506-
Namespace: gitRepository.Namespace,
507-
},
508-
}
509-
oldGitRepository.Status.Artifact = gitRepository.GetArtifact()
510-
511-
Expect(addTypeInformationToObject(scheme, oldGitRepository)).To(Succeed())
512-
513-
e := event.UpdateEvent{
514-
ObjectNew: gitRepository,
515-
ObjectOld: oldGitRepository,
516-
}
517-
518-
result := sourcePredicate.Update(e)
519-
Expect(result).To(BeFalse())
520-
})
521-
})

0 commit comments

Comments
 (0)