Skip to content

Commit

Permalink
Review fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Inbaraj-S committed Aug 16, 2023
1 parent 770995c commit 527025c
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 29 deletions.
14 changes: 7 additions & 7 deletions pkg/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,29 @@ import (
"k8s.io/client-go/kubernetes"
)

type Client struct {
type ClientProvider struct {
kubernetesClient kubernetes.Interface
wafClient *waf.Client
lbClient *loadbalancer.LoadBalancerClient
certificatesClient *certificate.CertificatesClient
}

func NewWrapperClient(kubernetesClient kubernetes.Interface, wafClient *waf.Client, lbClient *loadbalancer.LoadBalancerClient, certificatesClient *certificate.CertificatesClient) *Client {
return &Client{kubernetesClient: kubernetesClient, wafClient: wafClient, lbClient: lbClient, certificatesClient: certificatesClient}
func NewWrapperClient(kubernetesClient kubernetes.Interface, wafClient *waf.Client, lbClient *loadbalancer.LoadBalancerClient, certificatesClient *certificate.CertificatesClient) *ClientProvider {
return &ClientProvider{kubernetesClient: kubernetesClient, wafClient: wafClient, lbClient: lbClient, certificatesClient: certificatesClient}
}

func (c Client) GetK8Client() kubernetes.Interface {
func (c ClientProvider) GetK8Client() kubernetes.Interface {
return c.kubernetesClient
}

func (c Client) GetWafClient() *waf.Client {
func (c ClientProvider) GetWafClient() *waf.Client {
return c.wafClient
}

func (c Client) GetLbClient() *loadbalancer.LoadBalancerClient {
func (c ClientProvider) GetLbClient() *loadbalancer.LoadBalancerClient {
return c.lbClient
}

func (c Client) GetCertClient() *certificate.CertificatesClient {
func (c ClientProvider) GetCertClient() *certificate.CertificatesClient {
return c.certificatesClient
}
4 changes: 2 additions & 2 deletions pkg/controllers/backend/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ type Controller struct {
endpointLister corelisters.EndpointsLister

queue workqueue.RateLimitingInterface
client *client.Client
client *client.ClientProvider
}

func NewController(
Expand All @@ -63,7 +63,7 @@ func NewController(
serviceLister corelisters.ServiceLister,
endpointLister corelisters.EndpointsLister,
podLister corelisters.PodLister,
client *client.Client,
client *client.ClientProvider,
) *Controller {

c := &Controller{
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/ingress/ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ type Controller struct {
serviceLister corelisters.ServiceLister
queue workqueue.RateLimitingInterface
informer networkinginformers.IngressInformer
client *client.Client
client *client.ClientProvider
metricsCollector *metric.IngressCollector
}

// NewController creates a new Controller.
func NewController(controllerClass string, defaultCompartmentId string,
ingressClassInformer networkinginformers.IngressClassInformer, ingressInformer networkinginformers.IngressInformer,
serviceLister corelisters.ServiceLister,
client *client.Client,
client *client.ClientProvider,
reg *prometheus.Registry) *Controller {

c := &Controller{
Expand Down
12 changes: 6 additions & 6 deletions pkg/controllers/ingressclass/ingressclass.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,13 @@ type Controller struct {
lister networkinglisters.IngressClassLister
queue workqueue.RateLimitingInterface
informer networkinginformers.IngressClassInformer
client *client.Client
client *client.ClientProvider
cache ctrcache.Cache
}

// NewController creates a new Controller.
func NewController(defaultCompartmentId string, defaultSubnetId string, controllerClass string, informer networkinginformers.IngressClassInformer,
client *client.Client, ctrcache ctrcache.Cache) *Controller {
client *client.ClientProvider, ctrcache ctrcache.Cache) *Controller {

c := &Controller{
defaultCompartmentId: defaultCompartmentId,
Expand Down Expand Up @@ -297,12 +297,12 @@ func (c *Controller) ensureLoadBalancer(ic *networkingv1.IngressClass) error {
}

func (c *Controller) setupWebApplicationFirewall(ic *networkingv1.IngressClass, compartmentId *string, lbId *string) error {
firewall, err, err2, done := c.client.GetWafClient().GetFireWallId(c.client.GetK8Client(), ic, compartmentId, lbId)
if done {
return err2
firewall, conflictError, throwableError, updateRequired := c.client.GetWafClient().GetFireWallId(c.client.GetK8Client(), ic, compartmentId, lbId)
if !updateRequired {
return throwableError
}
// update to ingressclass
if err == nil && firewall.GetId() != nil {
if conflictError == nil && firewall.GetId() != nil {
patchError, done := util.PatchIngressClassWithAnnotation(c.client.GetK8Client(), ic, util.IngressClassFireWallIdAnnotation, *firewall.GetId())
if done {
return patchError
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/routingpolicy/routingpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ type Controller struct {
serviceLister corelisters.ServiceLister
queue workqueue.RateLimitingInterface
informer networkinginformers.IngressInformer
client *client.Client
client *client.ClientProvider
}

// NewController creates a new Controller.
Expand All @@ -55,7 +55,7 @@ func NewController(
ingressClassInformer networkinginformers.IngressClassInformer,
ingressInformer networkinginformers.IngressInformer,
serviceLister corelisters.ServiceLister,
client *client.Client,
client *client.ClientProvider,
) *Controller {

c := &Controller{
Expand Down
10 changes: 5 additions & 5 deletions pkg/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ import (
"github.com/oracle/oci-native-ingress-controller/pkg/controllers/routingpolicy"
"github.com/oracle/oci-native-ingress-controller/pkg/loadbalancer"
"github.com/oracle/oci-native-ingress-controller/pkg/metric"
. "github.com/oracle/oci-native-ingress-controller/pkg/oci/client"
ociclient "github.com/oracle/oci-native-ingress-controller/pkg/oci/client"
"github.com/oracle/oci-native-ingress-controller/pkg/types"
w "github.com/oracle/oci-native-ingress-controller/pkg/waf"
"github.com/oracle/oci-native-ingress-controller/pkg/waf"
"github.com/prometheus/client_golang/prometheus"

v1 "k8s.io/client-go/informers/core/v1"
Expand Down Expand Up @@ -117,7 +117,7 @@ func SetUpControllers(opts types.IngressOpts, ingressClassInformer networkinginf
}
}

func setupClient(ctx context.Context, opts types.IngressOpts, k8client clientset.Interface) *client.Client {
func setupClient(ctx context.Context, opts types.IngressOpts, k8client clientset.Interface) *client.ClientProvider {
configProvider, err := auth.GetConfigurationProvider(ctx, opts, k8client)
if err != nil {
klog.Fatalf("failed to load authentication configuration provider: %v", err)
Expand Down Expand Up @@ -145,9 +145,9 @@ func setupClient(ctx context.Context, opts types.IngressOpts, k8client clientset

lbClient := loadbalancer.New(&ociLBClient)

certificatesClient := certificate.New(&ociCertificatesMgmtClient, NewCertificateClient(&ociCertificatesClient))
certificatesClient := certificate.New(&ociCertificatesMgmtClient, ociclient.NewCertificateClient(&ociCertificatesClient))

wafClient := w.New(&ociWafClient)
wafClient := waf.New(&ociWafClient)

return client.NewWrapperClient(k8client, wafClient, lbClient, certificatesClient)
}
Expand Down
10 changes: 5 additions & 5 deletions pkg/waf/waf.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func (W Client) CreateFirewall(lbId *string, compartmentID *string, policyId *st
return r, err
}

func (W Client) GetFireWallId(kubeClient kubernetes.Interface, ic *networkingv1.IngressClass, compartmentId *string, lbId *string) (waf.CreateWebAppFirewallResponse, error, error, bool) {
func (W Client) GetFireWallId(kubeClient kubernetes.Interface, ic *networkingv1.IngressClass, compartmentId *string, lbId *string) (response waf.CreateWebAppFirewallResponse, conflictError error, throwableError error, updateRequired bool) {
policyId := util.GetIngressClassWafPolicy(ic)
fireWallId := util.GetIngressClassFireWallId(ic)
if policyId == "" {
Expand All @@ -61,23 +61,23 @@ func (W Client) GetFireWallId(kubeClient kubernetes.Interface, ic *networkingv1.
util.PatchIngressClassWithAnnotation(kubeClient, ic, util.IngressClassFireWallIdAnnotation, "")
klog.Infof("Web Firewall cleaned up %s", fireWallId)
}
return waf.CreateWebAppFirewallResponse{}, nil, nil, true
return waf.CreateWebAppFirewallResponse{}, nil, nil, false
}
if fireWallId != "" {
// check policy ocid for the existing firewall == policy in ingressclass
firewallPolicyId, err := W.GetWebAppFirewallWithId(fireWallId)
if err == nil && firewallPolicyId == policyId {
return waf.CreateWebAppFirewallResponse{}, nil, nil, true
return waf.CreateWebAppFirewallResponse{}, nil, nil, false
}

}
// create firewall
firewall, err := W.CreateFirewall(lbId, compartmentId, common.String(policyId), ic.Name)
if err != nil && !apierrors.IsConflict(err) {
klog.Error("Unable to create web app firewall", err)
return waf.CreateWebAppFirewallResponse{}, nil, err, true
return waf.CreateWebAppFirewallResponse{}, nil, err, false
}
return firewall, err, nil, false
return firewall, err, nil, true
}

func (W Client) GetWebAppFirewall(ctx context.Context, request waf.GetWebAppFirewallRequest) (response waf.GetWebAppFirewallResponse, err error) {
Expand Down

0 comments on commit 527025c

Please sign in to comment.