Skip to content

Commit

Permalink
Support flux 2 4 0 (#4230)
Browse files Browse the repository at this point in the history
Updates for API Changes in Flux v2.4.0
  • Loading branch information
casibbald authored Dec 9, 2024
1 parent f4d477c commit 379395c
Show file tree
Hide file tree
Showing 44 changed files with 6,587 additions and 3,106 deletions.
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ TEST_TO_RUN?=./...
TEST_V?=-v
##@ Test
unit-tests: ## Run unit tests
@go install github.com/onsi/ginkgo/v2/ginkgo@v2.1.3
@go install github.com/onsi/ginkgo/v2/ginkgo@v2.19.0
# This tool doesn't have releases - it also is only a shim
@go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
KUBEBUILDER_ASSETS=$$(setup-envtest use -p path 1.24.2) CGO_ENABLED=0 ginkgo $(TEST_V) -tags unittest $(TEST_TO_RUN)
KUBEBUILDER_ASSETS=$$(setup-envtest use -p path 1.31.0) CGO_ENABLED=0 ginkgo $(TEST_V) -tags unittest $(TEST_TO_RUN)

local-kind-cluster-with-registry:
./tools/kind-with-registry.sh
Expand Down Expand Up @@ -233,10 +233,10 @@ download-test-crds:
for group_resource in $$group_resources; do \
group="$${group_resource%/*}"; resource="$${group_resource#*/}"; \
echo "Downloading $${group}.$${resource}"; \
curl -sL "https://raw.githubusercontent.com/fluxcd/source-controller/v1.0.0/config/crd/bases/$${group}.toolkit.fluxcd.io_$${resource}.yaml" -o "tools/testcrds/$${group}.toolkit.fluxcd.io_$${resource}.yaml"; \
curl -sL "https://raw.githubusercontent.com/fluxcd/source-controller/v1.4.1/config/crd/bases/$${group}.toolkit.fluxcd.io_$${resource}.yaml" -o "tools/testcrds/$${group}.toolkit.fluxcd.io_$${resource}.yaml"; \
done
curl -sL "https://raw.githubusercontent.com/fluxcd/kustomize-controller/v1.0.0/config/crd/bases/kustomize.toolkit.fluxcd.io_kustomizations.yaml" -o "tools/testcrds/kustomize.toolkit.fluxcd.io_kustomizations.yaml"
curl -sL "https://raw.githubusercontent.com/fluxcd/helm-controller/v0.37.0/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml" -o "tools/testcrds/helm.toolkit.fluxcd.io_helmreleases.yaml"
curl -sL "https://raw.githubusercontent.com/fluxcd/kustomize-controller/v1.4.0/config/crd/bases/kustomize.toolkit.fluxcd.io_kustomizations.yaml" -o "tools/testcrds/kustomize.toolkit.fluxcd.io_kustomizations.yaml"
curl -sL "https://raw.githubusercontent.com/fluxcd/helm-controller/v1.1.0/config/crd/bases/helm.toolkit.fluxcd.io_helmreleases.yaml" -o "tools/testcrds/helm.toolkit.fluxcd.io_helmreleases.yaml"

.PHONY: help
# Thanks to https://www.thapaliya.com/en/writings/well-documented-makefiles/
Expand Down
2 changes: 1 addition & 1 deletion buf.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ deps:
- remote: buf.build
owner: googleapis
repository: googleapis
commit: 553fd4b4b3a640be9b69a3fa0c17b383
commit: c0913f24652a4cfc95f77d97443a5005
- remote: buf.build
owner: grpc-ecosystem
repository: grpc-gateway
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "chart.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "chart.labels" . | nindent 4 }}
{{- include "chart.appSelectorLabels" . | nindent 4 }}
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "chart.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/network-policy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-dashboard-ingress
namespace: {{ .Release.Namespace }}
spec:
podSelector:
matchLabels:
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/oidc-auth-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ apiVersion: v1
kind: Secret
metadata:
name: oidc-auth
namespace: {{ .Release.Namespace }}
labels:
{{- include "chart.labels" . | nindent 4 }}
data:
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ apiVersion: v1
kind: Service
metadata:
name: {{ include "chart.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "chart.labels" . | nindent 4 }}
annotations:
Expand Down
1 change: 0 additions & 1 deletion charts/gitops-server/templates/serviceaccount.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "chart.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "chart.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
Expand Down
2 changes: 1 addition & 1 deletion core/clustersmngr/cluster/delegating_cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func (c *delegatingCacheCluster) makeCachingClient(leafClient client.Client) (cl
return nil, fmt.Errorf("could not create HTTP client from config: %w", err)
}

mapper, err := apiutil.NewDiscoveryRESTMapper(c.restConfig, httpClient)
mapper, err := apiutil.NewDynamicRESTMapper(c.restConfig, httpClient)
if err != nil {
return nil, fmt.Errorf("could not create RESTMapper from config: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion core/clustersmngr/cluster/single.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func getClientFromConfig(config *rest.Config, scheme *apiruntime.Scheme) (client
return nil, fmt.Errorf("could not create HTTP client from config: %w", err)
}

mapper, err := apiutil.NewDiscoveryRESTMapper(config, httpClient)
mapper, err := apiutil.NewDynamicRESTMapper(config, httpClient)
if err != nil {
return nil, fmt.Errorf("could not create RESTMapper from config: %w", err)
}
Expand Down
7 changes: 5 additions & 2 deletions core/clustersmngr/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,10 +202,13 @@ func TestUpdateNamespaces(t *testing.T) {
clustersFetcher.FetchReturns([]cluster.Cluster{c1, c2, c3}, nil)

g.Expect(clustersManager.UpdateClusters(ctx)).To(Succeed())
g.Expect(clustersManager.UpdateNamespaces(ctx)).To(MatchError(MatchRegexp("failed creating server client to pool.*cluster: %s.*", clusterName3)))
g.Expect(clustersManager.UpdateNamespaces(ctx)).To(MatchError(MatchRegexp("Failed to list resource on cluster=\"%s\".*", clusterName3)))
contents := clustersManager.GetClustersNamespaces()

g.Expect(contents).To(HaveLen(2))
// TODO(Flux 2.3 migration): Apparently a change in behavior. Check if more needs to be updated.
g.Expect(contents).To(HaveLen(3))
g.Expect(contents).To(HaveKeyWithValue(clusterName3, BeNil()))
// g.Expect(contents).To(HaveLen(2))
g.Expect(contents).To(HaveKey(clusterName1))
g.Expect(contents).To(HaveKey(clusterName2))
})
Expand Down
16 changes: 8 additions & 8 deletions core/fluxsync/adapters.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package fluxsync

import (
helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
imgautomationv1 "github.com/fluxcd/image-automation-controller/api/v1beta1"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
imgautomationv1 "github.com/fluxcd/image-automation-controller/api/v1beta2"
reflectorv1 "github.com/fluxcd/image-reflector-controller/api/v1beta2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
"github.com/fluxcd/pkg/apis/meta"
Expand Down Expand Up @@ -69,7 +69,7 @@ func (obj GitRepositoryAdapter) DeepCopyClientObject() client.Object {
}

type BucketAdapter struct {
*sourcev1b2.Bucket
*sourcev1.Bucket
}

func (obj BucketAdapter) GetLastHandledReconcileRequest() string {
Expand All @@ -81,7 +81,7 @@ func (obj BucketAdapter) AsClientObject() client.Object {
}

func (obj BucketAdapter) GroupVersionKind() schema.GroupVersionKind {
return sourcev1b2.GroupVersion.WithKind(sourcev1b2.BucketKind)
return sourcev1.GroupVersion.WithKind(sourcev1.BucketKind)
}

func (obj BucketAdapter) SetSuspended(suspend bool) error {
Expand All @@ -106,7 +106,7 @@ func (obj HelmChartAdapter) AsClientObject() client.Object {
}

func (obj HelmChartAdapter) GroupVersionKind() schema.GroupVersionKind {
return sourcev1b2.GroupVersion.WithKind(sourcev1b2.HelmChartKind)
return sourcev1.GroupVersion.WithKind(sourcev1.HelmChartKind)
}

func (obj HelmChartAdapter) SetSuspended(suspend bool) error {
Expand All @@ -131,7 +131,7 @@ func (obj HelmRepositoryAdapter) AsClientObject() client.Object {
}

func (obj HelmRepositoryAdapter) GroupVersionKind() schema.GroupVersionKind {
return sourcev1b2.GroupVersion.WithKind(sourcev1b2.HelmRepositoryKind)
return sourcev1.GroupVersion.WithKind(sourcev1.HelmRepositoryKind)
}

func (obj HelmRepositoryAdapter) SetSuspended(suspend bool) error {
Expand Down Expand Up @@ -374,8 +374,8 @@ func ToReconcileable(gvk schema.GroupVersionKind) Reconcilable {
// TODO: remove all these and let them fall through to the Unstructured case?
case sourcev1.GitRepositoryKind:
return GitRepositoryAdapter{GitRepository: &sourcev1.GitRepository{}}
case sourcev1b2.BucketKind:
return BucketAdapter{Bucket: &sourcev1b2.Bucket{}}
case sourcev1.BucketKind:
return BucketAdapter{Bucket: &sourcev1.Bucket{}}
case sourcev1b2.HelmRepositoryKind:
return HelmRepositoryAdapter{HelmRepository: &sourcev1b2.HelmRepository{}}
case sourcev1b2.HelmChartKind:
Expand Down
2 changes: 1 addition & 1 deletion core/server/events_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

"testing"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
. "github.com/onsi/gomega"
pb "github.com/weaveworks/weave-gitops/pkg/api/core"
Expand Down
2 changes: 1 addition & 1 deletion core/server/fluxruntime.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import (
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
Expand Down
2 changes: 1 addition & 1 deletion core/server/helm_release.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"fmt"
"strings"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
"github.com/weaveworks/weave-gitops/core/clustersmngr"
pb "github.com/weaveworks/weave-gitops/pkg/api/core"
)
Expand Down
2 changes: 1 addition & 1 deletion core/server/inventory.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"strings"
"sync"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
"github.com/fluxcd/pkg/ssa"
"github.com/go-logr/logr"
Expand Down
2 changes: 1 addition & 1 deletion core/server/inventory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"fmt"
"testing"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
"github.com/fluxcd/pkg/apis/meta"
sourcev1 "github.com/fluxcd/source-controller/api/v1"
Expand Down
2 changes: 1 addition & 1 deletion core/server/objects.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"errors"
"fmt"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
"github.com/hashicorp/go-multierror"
"github.com/weaveworks/weave-gitops/core/clustersmngr"
Expand Down
10 changes: 4 additions & 6 deletions core/server/objects_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ import (
"encoding/json"
"testing"

sourcev1b2 "github.com/fluxcd/source-controller/api/v1beta2"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
sourcev1 "github.com/fluxcd/source-controller/api/v1"
. "github.com/onsi/gomega"
Expand Down Expand Up @@ -929,12 +927,12 @@ func TestGetObjectSessionObjects(t *testing.T) {
Spec: helmv2.HelmReleaseSpec{},
}

bucket := &sourcev1b2.Bucket{
bucket := &sourcev1.Bucket{
ObjectMeta: metav1.ObjectMeta{
Name: constants.RunDevBucketName,
Namespace: testNS,
},
Spec: sourcev1b2.BucketSpec{},
Spec: sourcev1.BucketSpec{},
}

fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithRuntimeObjects(ns, kust, helm, bucket).Build()
Expand Down Expand Up @@ -966,7 +964,7 @@ func TestGetObjectSessionObjects(t *testing.T) {
res, err = c.GetObject(ctx, &pb.GetObjectRequest{
Name: constants.RunDevBucketName,
Namespace: testNS,
Kind: sourcev1b2.BucketKind,
Kind: sourcev1.BucketKind,
ClusterName: testCluster,
})

Expand Down
5 changes: 2 additions & 3 deletions core/server/session_logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ import (
"context"
"encoding/json"
"fmt"
sourcev1 "github.com/fluxcd/source-controller/api/v1"
"io"
"regexp"
"sort"
"strconv"
"strings"
"time"

sourcev1b2 "github.com/fluxcd/source-controller/api/v1beta2"

"github.com/weaveworks/weave-gitops/pkg/compositehash"

"github.com/minio/minio-go/v7"
Expand Down Expand Up @@ -421,7 +420,7 @@ func getBucketConnectionInfo(ctx context.Context, clusterName, fluxNamespace str
}

// get bucket source
bucket := sourcev1b2.Bucket{
bucket := sourcev1.Bucket{
ObjectMeta: metav1.ObjectMeta{
Name: constants.RunDevBucketName,
Namespace: fluxNamespace,
Expand Down
4 changes: 2 additions & 2 deletions core/server/session_logs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
sourcev1b2 "github.com/fluxcd/source-controller/api/v1beta2"
sourcev1 "github.com/fluxcd/source-controller/api/v1"
"io"
"strings"
"testing"
Expand Down Expand Up @@ -33,7 +33,7 @@ func (m *mockGet) Get(ctx context.Context, key types.NamespacedName, obj client.
"accesskey": []byte("abcd"),
"secretkey": []byte("1234"),
}
case *sourcev1b2.Bucket:
case *sourcev1.Bucket:
obj.Spec.Endpoint = "endpoint:9000"
obj.Spec.Insecure = false
}
Expand Down
13 changes: 6 additions & 7 deletions core/server/suspend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ import (
"context"
"testing"

helmv2 "github.com/fluxcd/helm-controller/api/v2beta2"
imgautomationv1 "github.com/fluxcd/image-automation-controller/api/v1beta1"
helmv2 "github.com/fluxcd/helm-controller/api/v2"
imgautomationv1 "github.com/fluxcd/image-automation-controller/api/v1beta2"
reflectorv1 "github.com/fluxcd/image-reflector-controller/api/v1beta2"
kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1"
sourcev1 "github.com/fluxcd/source-controller/api/v1"
sourcev1b2 "github.com/fluxcd/source-controller/api/v1beta2"
. "github.com/onsi/gomega"
api "github.com/weaveworks/weave-gitops/pkg/api/core"
"github.com/weaveworks/weave-gitops/pkg/kube"
Expand Down Expand Up @@ -51,13 +50,13 @@ func TestSuspend_Suspend(t *testing.T) {
obj: gr,
},
{
kind: sourcev1b2.HelmRepositoryKind,
apiVersion: sourcev1b2.GroupVersion.String(),
kind: sourcev1.HelmRepositoryKind,
apiVersion: sourcev1.GroupVersion.String(),
obj: hr,
},
{
kind: sourcev1b2.BucketKind,
apiVersion: sourcev1b2.GroupVersion.String(),
kind: sourcev1.BucketKind,
apiVersion: sourcev1.GroupVersion.String(),
obj: makeBucket("bucket-1", *ns),
},
{
Expand Down
Loading

0 comments on commit 379395c

Please sign in to comment.