controller

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2022 License: BSD-3-Clause Imports: 26 Imported by: 1

Documentation

Overview

Copyright 2019, Verizon Media Inc. Licensed under the terms of the 3-Clause BSD license. See LICENSE file in github.com/yahoo/k8s-athenz-istio-auth for terms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

func NewController

func NewController(dnsSuffix string, istioClient *crd.Client, k8sClient kubernetes.Interface, adClient adClientset.Interface,
	istioClientSet versioned.Interface, adResyncInterval, crcResyncInterval, apResyncInterval time.Duration, enableOriginJwtSubject bool, enableAuthzPolicyController bool, componentsEnabledAuthzPolicy *common.ComponentEnabled, combinationPolicyTag string) *Controller

NewController is responsible for creating the main controller object and initializing all of its dependencies:

  1. Rate limiting queue
  2. Istio custom resource config store cache for service role, service role bindings, and cluster rbac config
  3. Onboarding controller responsible for creating / updating / deleting the cluster rbac config object based on a service label
  4. Service shared index informer
  5. Athenz Domain shared index informer
  6. Authorization Policy controller responsible for creating / updating / deleting the authorization policy object based on service annotation and athenz domain spec

func (*Controller) Run

func (c *Controller) Run(stopCh <-chan struct{})

Run starts the main controller loop running sync at every poll interval. It also starts the following controller dependencies: 1. Service informer 2. Istio custom resource informer 3. Athenz Domain informer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL