cache

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ACKRoleAccountMap is the name of the configmap map object storing
	// all the AWS Account IDs associated with their AWS Role ARNs.
	ACKRoleAccountMap = "ack-role-account-map"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountCache

type AccountCache struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

AccountCache is responsible for caching the CARM configmap data. It is listening to all the events related to the CARM map and make the changes accordingly.

func NewAccountCache

func NewAccountCache(log logr.Logger) *AccountCache

NewAccountCache instanciate a new AccountCache.

func (*AccountCache) GetAccountRoleARN

func (c *AccountCache) GetAccountRoleARN(accountID string) (string, bool)

GetAccountRoleARN queries the AWS accountID associated Role ARN from the cached CARM configmap. This function is thread safe.

func (*AccountCache) Run

func (c *AccountCache) Run(clientSet kubernetes.Interface, stopCh <-chan struct{})

Run instantiate a new SharedInformer for ConfigMaps and runs it to begin processing items.

type Caches

type Caches struct {

	// Accounts cache
	Accounts *AccountCache

	// Namespaces cache
	Namespaces *NamespaceCache
	// contains filtered or unexported fields
}

Caches is used to interact with the different caches

func New

func New(log logr.Logger) Caches

New instantiate a new Caches object.

func (Caches) Run

func (c Caches) Run(clientSet kubernetes.Interface)

Run runs all the owned caches

func (Caches) Stop

func (c Caches) Stop()

Stop closes the stop channel and cause all the SharedInformers by caches to stop running

type NamespaceCache

type NamespaceCache struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

NamespaceCache is responsible of keeping track of namespaces annotations, and caching those related to the ACK controller.

func NewNamespaceCache

func NewNamespaceCache(log logr.Logger) *NamespaceCache

NewNamespaceCache instanciate a new NamespaceCache.

func (*NamespaceCache) GetDefaultRegion

func (c *NamespaceCache) GetDefaultRegion(namespace string) (string, bool)

GetDefaultRegion returns the default region if it it exists

func (*NamespaceCache) GetDeletionPolicy added in v0.22.1

func (c *NamespaceCache) GetDeletionPolicy(namespace string, service string) (string, bool)

GetDeletionPolicy returns the deletion policy if it exists

func (*NamespaceCache) GetEndpointURL added in v0.8.0

func (c *NamespaceCache) GetEndpointURL(namespace string) (string, bool)

GetEndpointURL returns the endpoint URL if it exists

func (*NamespaceCache) GetOwnerAccountID

func (c *NamespaceCache) GetOwnerAccountID(namespace string) (string, bool)

GetOwnerAccountID returns the owner account ID if it exists

func (*NamespaceCache) Run

func (c *NamespaceCache) Run(clientSet kubernetes.Interface, stopCh <-chan struct{})

Run instantiate a new shared informer for namespaces and runs it to begin processing items.

Jump to

Keyboard shortcuts

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