controllers

package
v1.4.25 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2022 License: MIT Imports: 30 Imported by: 0

Documentation

Overview

Copyright 2018 Microsoft. All rights reserved. MIT License

Copyright 2018 Microsoft. All rights reserved. MIT License

Copyright 2018 Microsoft. All rights reserved. MIT License

Copyright 2018 Microsoft. All rights reserved. MIT License

Copyright 2018 Microsoft. All rights reserved. MIT License

Copyright 2018 Microsoft. All rights reserved. MIT License

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FlattenNameSpaceSelector

func FlattenNameSpaceSelector(nsSelector *metav1.LabelSelector) []metav1.LabelSelector

flattenNameSpaceSelector will help flatten multiple NameSpace selector match Expressions values into multiple label selectors helping with the OR condition.

func GetOperatorAndLabel

func GetOperatorAndLabel(label string) (string, string)

GetOperatorAndLabel returns the operator associated with the label and the label without operator.

func GetOperatorsAndLabels

func GetOperatorsAndLabels(labelsWithOps []string) ([]string, []string)

GetOperatorsAndLabels returns the operators along with the associated labels.

func HashSelector

func HashSelector(selector *metav1.LabelSelector) string

HashSelector returns the hash value of the selector.

func ParseLabel

func ParseLabel(label string) (string, bool)

ParseLabel takes a Azure-NPM processed label then returns if it's referring to complement set, and if so, returns the original set as well.

Types

type Cache added in v1.4.15

type Cache struct {
	NodeName string
	NsMap    map[string]*Namespace
	PodMap   map[string]*NpmPod
	ListMap  map[string]*ipsm.Ipset
	SetMap   map[string]*ipsm.Ipset
}

type IsSafeCleanUpAzureNpmChain

type IsSafeCleanUpAzureNpmChain bool

IsSafeCleanUpAzureNpmChain is used to indicate whether default Azure NPM chain can be safely deleted or not.

type LabelAppendOperation added in v1.4.15

type LabelAppendOperation bool
const (
	ClearExistingLabels    LabelAppendOperation = true
	AppendToExistingLabels LabelAppendOperation = false
)

type NamedPortOperation

type NamedPortOperation string

NamedPortOperation decides opeartion (e.g., delete or add) for named port ipset in manageNamedPortIpsets

type Namespace added in v1.4.15

type Namespace struct {
	LabelsMap map[string]string // NameSpace labels
	// contains filtered or unexported fields
}

type NamespaceController

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

func NewNameSpaceController

func NewNameSpaceController(nameSpaceInformer coreinformer.NamespaceInformer, ipsMgr *ipsm.IpsetManager, npmNamespaceCache *NpmNamespaceCache) *NamespaceController

func (*NamespaceController) Run

func (nsc *NamespaceController) Run(stopCh <-chan struct{})

type NetworkPolicyController

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

func NewNetworkPolicyController

func NewNetworkPolicyController(npInformer networkinginformers.NetworkPolicyInformer, ipsMgr *ipsm.IpsetManager, placeAzureChainFirst bool) *NetworkPolicyController

func (*NetworkPolicyController) BootupDataplane

func (c *NetworkPolicyController) BootupDataplane() error

BootupDataplane does all initialization tasks for data plane TODO(jungukcho) Need to refactor UninitNpmChains since it assumes it has already AZURE-NPM chains

func (*NetworkPolicyController) LengthOfRawNpMap

func (c *NetworkPolicyController) LengthOfRawNpMap() int

func (*NetworkPolicyController) Run

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

func (*NetworkPolicyController) RunPeriodicTasks

func (c *NetworkPolicyController) RunPeriodicTasks(stopCh <-chan struct{})

type NpmNamespaceCache

type NpmNamespaceCache struct {
	sync.Mutex
	NsMap map[string]*Namespace // Key is ns-<nsname>
}

NpmNamespaceCache to store namespace struct in nameSpaceController.go. Since this cache is shared between podController and NameSpaceController, it has mutex for avoiding racing condition between them.

func (*NpmNamespaceCache) MarshalJSON

func (n *NpmNamespaceCache) MarshalJSON() ([]byte, error)

type NpmPod added in v1.4.15

type NpmPod struct {
	Name           string
	Namespace      string
	PodIP          string
	Labels         map[string]string
	ContainerPorts []corev1.ContainerPort
	Phase          corev1.PodPhase
}

type PodController

type PodController struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewPodController

func NewPodController(podInformer coreinformer.PodInformer, ipsMgr *ipsm.IpsetManager, npmNamespaceCache *NpmNamespaceCache) *PodController

func (*PodController) LengthOfPodMap

func (c *PodController) LengthOfPodMap() int

func (*PodController) MarshalJSON

func (c *PodController) MarshalJSON() ([]byte, error)

func (*PodController) Run

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

type ReqHeap

An ReqHeap is a min-heap of labelSelectorRequirements.

func (ReqHeap) Len

func (h ReqHeap) Len() int

func (ReqHeap) Less

func (h ReqHeap) Less(i, j int) bool

func (*ReqHeap) Pop

func (h *ReqHeap) Pop() interface{}

func (*ReqHeap) Push

func (h *ReqHeap) Push(x interface{})

func (ReqHeap) Swap

func (h ReqHeap) Swap(i, j int)

Jump to

Keyboard shortcuts

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