Documentation ¶
Index ¶
- func NewKubeCache(kialiClient kubernetes.ClientInterface, cfg config.Config, ...) (*kubeCache, error)
- type CachingClient
- func (cc *CachingClient) GetConfigMap(namespace, name string) (*core_v1.ConfigMap, error)
- func (cc *CachingClient) GetDaemonSet(namespace string, name string) (*apps_v1.DaemonSet, error)
- func (cc *CachingClient) GetDaemonSets(namespace string) ([]apps_v1.DaemonSet, error)
- func (cc *CachingClient) GetDeployment(namespace string, name string) (*apps_v1.Deployment, error)
- func (cc *CachingClient) GetDeployments(namespace string) ([]apps_v1.Deployment, error)
- func (cc *CachingClient) GetEndpoints(namespace string, name string) (*core_v1.Endpoints, error)
- func (cc *CachingClient) GetPods(namespace, labelSelector string) ([]core_v1.Pod, error)
- func (cc *CachingClient) GetReplicaSets(namespace string) ([]apps_v1.ReplicaSet, error)
- func (cc *CachingClient) GetService(namespace string, name string) (*core_v1.Service, error)
- func (cc *CachingClient) GetServices(namespace string, selectorLabels map[string]string) ([]core_v1.Service, error)
- func (cc *CachingClient) GetStatefulSet(namespace string, name string) (*apps_v1.StatefulSet, error)
- func (cc *CachingClient) GetStatefulSets(namespace string) ([]apps_v1.StatefulSet, error)
- type KialiCache
- func FakeGatewaysKialiCache(gws []*networking_v1beta1.Gateway) KialiCache
- func FakeServicesKialiCache(rss []*kubernetes.RegistryService, gws []*networking_v1beta1.Gateway, ...) KialiCache
- func FakeTlsKialiCache(token string, namespaces []string, pa []*security_v1beta1.PeerAuthentication, ...) KialiCache
- func NewKialiCache(clientFactory kubernetes.ClientFactory, cfg config.Config, ...) (KialiCache, error)
- type KubeCache
- type NamespacesCache
- type ProxyStatusCache
- type RegistryRefreshHandler
- type RegistryStatusCache
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewKubeCache ¶ added in v1.64.0
func NewKubeCache(kialiClient kubernetes.ClientInterface, cfg config.Config, refreshHandler RegistryRefreshHandler, namespaceSeedList ...string) (*kubeCache, error)
Starts all informers. These run until context is cancelled.
Types ¶
type CachingClient ¶ added in v1.62.0
type CachingClient struct { kubernetes.ClientInterface // contains filtered or unexported fields }
CachingClient is a wrapper around a ClientInterface that adds caching. If the object is cached then it is read from the cache. Not all object types are cached. When an object is created, updated, or deleted, then the cache is refreshed and updated.
func NewCachingClient ¶ added in v1.62.0
func NewCachingClient(cache KialiCache, client kubernetes.ClientInterface) *CachingClient
NewCachingClient creates a new CachingClient out of a cache and a client.
func (*CachingClient) GetConfigMap ¶ added in v1.62.0
func (cc *CachingClient) GetConfigMap(namespace, name string) (*core_v1.ConfigMap, error)
func (*CachingClient) GetDaemonSet ¶ added in v1.62.0
func (*CachingClient) GetDaemonSets ¶ added in v1.62.0
func (cc *CachingClient) GetDaemonSets(namespace string) ([]apps_v1.DaemonSet, error)
func (*CachingClient) GetDeployment ¶ added in v1.62.0
func (cc *CachingClient) GetDeployment(namespace string, name string) (*apps_v1.Deployment, error)
func (*CachingClient) GetDeployments ¶ added in v1.62.0
func (cc *CachingClient) GetDeployments(namespace string) ([]apps_v1.Deployment, error)
func (*CachingClient) GetEndpoints ¶ added in v1.62.0
func (*CachingClient) GetPods ¶ added in v1.62.0
func (cc *CachingClient) GetPods(namespace, labelSelector string) ([]core_v1.Pod, error)
func (*CachingClient) GetReplicaSets ¶ added in v1.62.0
func (cc *CachingClient) GetReplicaSets(namespace string) ([]apps_v1.ReplicaSet, error)
func (*CachingClient) GetService ¶ added in v1.62.0
func (*CachingClient) GetServices ¶ added in v1.62.0
func (*CachingClient) GetStatefulSet ¶ added in v1.62.0
func (cc *CachingClient) GetStatefulSet(namespace string, name string) (*apps_v1.StatefulSet, error)
func (*CachingClient) GetStatefulSets ¶ added in v1.62.0
func (cc *CachingClient) GetStatefulSets(namespace string) ([]apps_v1.StatefulSet, error)
type KialiCache ¶
type KialiCache interface { GetKubeCaches() map[string]KubeCache // Embedded for backward compatibility for business methods that just use one cluster. // All business methods should eventually use the multi-cluster cache. KubeCache NamespacesCache ProxyStatusCache RegistryStatusCache }
KialiCache stores both kube objects and non-kube related data such as pods' proxy status. It is exclusively used by the business layer where it's expected to be a singleton. This business layer cache needs access to all the kiali service account has access to so it uses the kiali service account token instead of a user token. Access to the objects returned by the cache should be filtered/restricted to the user's token access but the cache returns objects without any filtering or restrictions.
func FakeGatewaysKialiCache ¶ added in v1.45.0
func FakeGatewaysKialiCache(gws []*networking_v1beta1.Gateway) KialiCache
Fake KialiCache used for Gateway Scenarios It populates the Namespaces, Informers and Gateway information needed
func FakeServicesKialiCache ¶ added in v1.46.0
func FakeServicesKialiCache(rss []*kubernetes.RegistryService, gws []*networking_v1beta1.Gateway, vss []*networking_v1beta1.VirtualService, drs []*networking_v1beta1.DestinationRule, ses []*networking_v1beta1.ServiceEntry, sds []*networking_v1beta1.Sidecar, ras []*security_v1beta1.RequestAuthentication, wes []*networking_v1beta1.WorkloadEntry, ) KialiCache
Fake KialiCache used for RegistryServices and All IstioConfigs Scenarios It populates the Namespaces, Informers and Registry information needed
func FakeTlsKialiCache ¶ added in v1.45.0
func FakeTlsKialiCache(token string, namespaces []string, pa []*security_v1beta1.PeerAuthentication, dr []*networking_v1beta1.DestinationRule) KialiCache
Fake KialiCache used for TLS Scenarios It populates the Namespaces, Informers and Registry information needed
func NewKialiCache ¶
func NewKialiCache(clientFactory kubernetes.ClientFactory, cfg config.Config, namespaceSeedList ...string) (KialiCache, error)
type KubeCache ¶ added in v1.64.0
type KubeCache interface { // Control methods // Check if a namespace is listed to be cached; if yes, creates a cache for that namespace CheckNamespace(namespace string) bool // Refresh will recreate the necessary cache. If the cache is cluster-scoped the "namespace" argument // is ignored and the whole cache is recreated, otherwise only the namespace-specific cache is updated. Refresh(namespace string) // Stop all caches Stop() // UpdateClient will update the client used by the cache. // Useful for when the token is refreshed for the client. // This causes a full refresh of the cache. UpdateClient(client kubernetes.ClientInterface) error CheckIstioResource(resourceType string) bool GetConfigMap(namespace, name string) (*core_v1.ConfigMap, error) GetDaemonSets(namespace string) ([]apps_v1.DaemonSet, error) GetDaemonSet(namespace, name string) (*apps_v1.DaemonSet, error) GetDeployments(namespace string) ([]apps_v1.Deployment, error) GetDeployment(namespace, name string) (*apps_v1.Deployment, error) GetEndpoints(namespace, name string) (*core_v1.Endpoints, error) GetStatefulSets(namespace string) ([]apps_v1.StatefulSet, error) GetStatefulSet(namespace, name string) (*apps_v1.StatefulSet, error) GetServices(namespace string, selectorLabels map[string]string) ([]core_v1.Service, error) GetService(namespace string, name string) (*core_v1.Service, error) GetPods(namespace, labelSelector string) ([]core_v1.Pod, error) GetReplicaSets(namespace string) ([]apps_v1.ReplicaSet, error) GetDestinationRule(namespace, name string) (*networking_v1beta1.DestinationRule, error) GetDestinationRules(namespace, labelSelector string) ([]*networking_v1beta1.DestinationRule, error) GetEnvoyFilter(namespace, name string) (*networking_v1alpha3.EnvoyFilter, error) GetEnvoyFilters(namespace, labelSelector string) ([]*networking_v1alpha3.EnvoyFilter, error) GetGateway(namespace, name string) (*networking_v1beta1.Gateway, error) GetGateways(namespace, labelSelector string) ([]*networking_v1beta1.Gateway, error) GetServiceEntry(namespace, name string) (*networking_v1beta1.ServiceEntry, error) GetServiceEntries(namespace, labelSelector string) ([]*networking_v1beta1.ServiceEntry, error) GetSidecar(namespace, name string) (*networking_v1beta1.Sidecar, error) GetSidecars(namespace, labelSelector string) ([]*networking_v1beta1.Sidecar, error) GetVirtualService(namespace, name string) (*networking_v1beta1.VirtualService, error) GetVirtualServices(namespace, labelSelector string) ([]*networking_v1beta1.VirtualService, error) GetWorkloadEntry(namespace, name string) (*networking_v1beta1.WorkloadEntry, error) GetWorkloadEntries(namespace, labelSelector string) ([]*networking_v1beta1.WorkloadEntry, error) GetWorkloadGroup(namespace, name string) (*networking_v1beta1.WorkloadGroup, error) GetWorkloadGroups(namespace, labelSelector string) ([]*networking_v1beta1.WorkloadGroup, error) GetWasmPlugin(namespace, name string) (*extentions_v1alpha1.WasmPlugin, error) GetWasmPlugins(namespace, labelSelector string) ([]*extentions_v1alpha1.WasmPlugin, error) GetTelemetry(namespace, name string) (*v1alpha1.Telemetry, error) GetTelemetries(namespace, labelSelector string) ([]*v1alpha1.Telemetry, error) GetK8sGateway(namespace, name string) (*gatewayapi_v1beta1.Gateway, error) GetK8sGateways(namespace, labelSelector string) ([]*gatewayapi_v1beta1.Gateway, error) GetK8sHTTPRoute(namespace, name string) (*gatewayapi_v1beta1.HTTPRoute, error) GetK8sHTTPRoutes(namespace, labelSelector string) ([]*gatewayapi_v1beta1.HTTPRoute, error) GetAuthorizationPolicy(namespace, name string) (*security_v1beta1.AuthorizationPolicy, error) GetAuthorizationPolicies(namespace, labelSelector string) ([]*security_v1beta1.AuthorizationPolicy, error) GetPeerAuthentication(namespace, name string) (*security_v1beta1.PeerAuthentication, error) GetPeerAuthentications(namespace, labelSelector string) ([]*security_v1beta1.PeerAuthentication, error) GetRequestAuthentication(namespace, name string) (*security_v1beta1.RequestAuthentication, error) GetRequestAuthentications(namespace, labelSelector string) ([]*security_v1beta1.RequestAuthentication, error) }
type NamespacesCache ¶
type ProxyStatusCache ¶ added in v1.25.0
type ProxyStatusCache interface {
GetPodProxyStatus(namespace, pod string) *kubernetes.ProxyStatus
}
type RegistryRefreshHandler ¶ added in v1.44.0
type RegistryRefreshHandler struct {
// contains filtered or unexported fields
}
func NewRegistryHandler ¶ added in v1.44.0
func NewRegistryHandler(refresh func()) RegistryRefreshHandler
func (RegistryRefreshHandler) OnAdd ¶ added in v1.44.0
func (sh RegistryRefreshHandler) OnAdd(obj interface{})
func (RegistryRefreshHandler) OnDelete ¶ added in v1.44.0
func (sh RegistryRefreshHandler) OnDelete(obj interface{})
func (RegistryRefreshHandler) OnUpdate ¶ added in v1.44.0
func (sh RegistryRefreshHandler) OnUpdate(oldObj, newObj interface{})
type RegistryStatusCache ¶ added in v1.35.0
type RegistryStatusCache interface { CheckRegistryStatus() bool GetRegistryStatus() *kubernetes.RegistryStatus SetRegistryStatus(registryStatus *kubernetes.RegistryStatus) RefreshRegistryStatus() }