Skip to content

Commit

Permalink
Use interfaces for k8s clients in resources package.
Browse files Browse the repository at this point in the history
Allows for mocking later.
  • Loading branch information
fasaxc committed Jan 7, 2025
1 parent b65b27e commit 36ebf0c
Show file tree
Hide file tree
Showing 25 changed files with 31 additions and 31 deletions.
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/bgpconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
BGPConfigCRDName = "bgpconfigurations.crd.projectcalico.org"
)

func NewBGPConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewBGPConfigClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/bgpfilter.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
BGPFilterCRDName = "BGPFilters.crd.projectcalico.org"
)

func NewBGPFilterClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewBGPFilterClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/bgppeer.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
BGPPeerCRDName = "bgppeers.crd.projectcalico.org"
)

func NewBGPPeerClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewBGPPeerClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/caliconodestatus.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
CalicoNodeStatusCRDName = "CalicoNodeStatuses.crd.projectcalico.org"
)

func NewCalicoNodeStatusClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewCalicoNodeStatusClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/clusterinfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
ClusterInfoCRDName = "clusterinformations.crd.projectcalico.org"
)

func NewClusterInfoClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewClusterInfoClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/customresource.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ import (
// mechanism for a 1:1 mapping between a Calico Resource and an equivalent Kubernetes
// custom resource type.
type customK8sResourceClient struct {
clientSet *kubernetes.Clientset
restClient *rest.RESTClient
clientSet kubernetes.Interface
restClient rest.Interface

// Name of the CRD. Not used.
name string
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/felixconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
FelixConfigCRDName = "felixconfigurations.crd.projectcalico.org"
)

func NewFelixConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewFelixConfigClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
GlobalNetworkPolicyCRDName = "globalnetworkpolicies.crd.projectcalico.org"
)

func NewGlobalNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewGlobalNetworkPolicyClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/globalnetworkset.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
GlobalNetworkSetCRDName = "globalnetworksets.crd.projectcalico.org"
)

func NewGlobalNetworkSetClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewGlobalNetworkSetClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/hostendpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
HostEndpointCRDName = "hostendpoints.crd.projectcalico.org"
)

func NewHostEndpointClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewHostEndpointClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ipam_affinity.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const (
BlockAffinityCRDName = "blockaffinities.crd.projectcalico.org"
)

func NewBlockAffinityClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewBlockAffinityClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
// Create a resource client which manages k8s CRDs.
rc := customK8sResourceClient{
clientSet: c,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ipam_block.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const (
IPAMBlockCRDName = "ipamblocks.crd.projectcalico.org"
)

func NewIPAMBlockClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewIPAMBlockClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
// Create a resource client which manages k8s CRDs.
rc := customK8sResourceClient{
clientSet: c,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ipam_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const (
IPAMConfigCRDName = "ipamconfigs.crd.projectcalico.org"
)

func NewIPAMConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewIPAMConfigClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &ipamConfigClient{
rc: customK8sResourceClient{
clientSet: c,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ipam_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const (
IPAMHandleCRDName = "ipamhandles.crd.projectcalico.org"
)

func NewIPAMHandleClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewIPAMHandleClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
// Create a resource client which manages k8s CRDs.
rc := customK8sResourceClient{
clientSet: c,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ippool.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const (
IPPoolCRDName = "ippools.crd.projectcalico.org"
)

func NewIPPoolClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewIPPoolClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/ipreservation.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
IPReservationCRDName = "ipreservations.crd.projectcalico.org"
)

func NewIPReservationClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewIPReservationClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/k8sservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import (
// resources. This allows a syncer to return the kubernetes resources that are included in this client,
// These resource types are only accessible through the backend client API.

func NewServiceClient(c *kubernetes.Clientset) K8sResourceClient {
func NewServiceClient(c kubernetes.Interface) K8sResourceClient {
return &serviceClient{
Converter: conversion.NewConverter(),
clientSet: c,
Expand All @@ -47,7 +47,7 @@ func NewServiceClient(c *kubernetes.Clientset) K8sResourceClient {
// Implements the api.Client interface for Kubernetes Service.
type serviceClient struct {
conversion.Converter
clientSet *kubernetes.Clientset
clientSet kubernetes.Interface
}

// Create is not supported.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const (
KubeControllersConfigCRDName = "kubecontrollersconfigurations.crd.projectcalico.org"
)

func NewKubeControllersConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewKubeControllersConfigClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/kubeendpointslice.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (
// NewKubernetesEndpointSliceClient returns a new client for interacting with Kubernetes EndpointSlice objects.
// Note that this client is only intended for use by the felix syncer in KDD mode, and as such is largely unimplemented
// except for the functions required by the syncer.
func NewKubernetesEndpointSliceClient(c *kubernetes.Clientset) K8sResourceClient {
func NewKubernetesEndpointSliceClient(c kubernetes.Interface) K8sResourceClient {
return &endpointSliceClient{
Converter: conversion.NewConverter(),
clientSet: c,
Expand All @@ -45,7 +45,7 @@ func NewKubernetesEndpointSliceClient(c *kubernetes.Clientset) K8sResourceClient
// Implements the api.Client interface for Kubernetes EndpointSlice.
type endpointSliceClient struct {
conversion.Converter
clientSet *kubernetes.Clientset
clientSet kubernetes.Interface
}

func (c *endpointSliceClient) Create(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error) {
Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/kubenetworkpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (
// NewKubernetesNetworkPolicyClient returns a new client for interacting with Kubernetes NetworkPolicy objects.
// Note that this client is only intended for use by the felix syncer in KDD mode, and as such is largely unimplemented
// except for the functions required by the syncer.
func NewKubernetesNetworkPolicyClient(c *kubernetes.Clientset) K8sResourceClient {
func NewKubernetesNetworkPolicyClient(c kubernetes.Interface) K8sResourceClient {
return &networkPolicyClient{
Converter: conversion.NewConverter(),
clientSet: c,
Expand All @@ -45,7 +45,7 @@ func NewKubernetesNetworkPolicyClient(c *kubernetes.Clientset) K8sResourceClient
// Implements the api.Client interface for Kubernetes NetworkPolicy.
type networkPolicyClient struct {
conversion.Converter
clientSet *kubernetes.Clientset
clientSet kubernetes.Interface
}

func (c *networkPolicyClient) Create(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error) {
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/networkpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
NetworkPolicyCRDName = "networkpolicies.crd.projectcalico.org"
)

func NewNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewNetworkPolicyClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/networkset.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const (
NetworkSetCRDName = "networksets.crd.projectcalico.org"
)

func NewNetworkSetClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewNetworkSetClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ const (
nodeWireguardPublicKeyV6Annotation = "projectcalico.org/WireguardPublicKeyV6"
)

func NewNodeClient(c *kubernetes.Clientset, usePodCIDR bool) K8sResourceClient {
func NewNodeClient(c kubernetes.Interface, usePodCIDR bool) K8sResourceClient {
return &nodeClient{
clientSet: c,
usePodCIDR: usePodCIDR,
Expand All @@ -68,7 +68,7 @@ type validatorFunc func(string) error

// Implements the api.Client interface for Nodes.
type nodeClient struct {
clientSet *kubernetes.Clientset
clientSet kubernetes.Interface
usePodCIDR bool
}

Expand Down
4 changes: 2 additions & 2 deletions libcalico-go/lib/backend/k8s/resources/profile.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import (
"github.com/projectcalico/calico/libcalico-go/lib/resources"
)

func NewProfileClient(c *kubernetes.Clientset) K8sResourceClient {
func NewProfileClient(c kubernetes.Interface) K8sResourceClient {
return &profileClient{
clientSet: c,
Converter: conversion.NewConverter(),
Expand All @@ -46,7 +46,7 @@ func NewProfileClient(c *kubernetes.Clientset) K8sResourceClient {

// Implements the api.Client interface for Profiles.
type profileClient struct {
clientSet *kubernetes.Clientset
clientSet kubernetes.Interface
conversion.Converter
}

Expand Down
2 changes: 1 addition & 1 deletion libcalico-go/lib/backend/k8s/resources/tiers.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const (
TierCRDName = "tiers.crd.projectcalico.org"
)

func NewTierClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient {
func NewTierClient(c kubernetes.Interface, r rest.Interface) K8sResourceClient {
return &customK8sResourceClient{
clientSet: c,
restClient: r,
Expand Down

0 comments on commit 36ebf0c

Please sign in to comment.