MCPcopy
hub / github.com/istio/istio / Client

Struct Client

pilot/pkg/config/kube/crdclient/client.go:58–81  ·  view source on GitHub ↗

Client is a client for Istio CRDs, implementing config store cache This is used for CRUD operators on Istio configuration, as well as handling of events on config changes

Source from the content-addressed store, hash-verified

56// Client is a client for Istio CRDs, implementing config store cache
57// This is used for CRUD operators on Istio configuration, as well as handling of events on config changes
58type Client struct {
59 // schemas defines the set of schemas used by this client.
60 // Note: this must be a subset of the schemas defined in the codegen
61 schemas collection.Schemas
62
63 // domainSuffix for the config metadata
64 domainSuffix string
65
66 // revision for this control plane instance. We will only read configs that match this revision.
67 revision string
68
69 // kinds keeps track of all cache handlers for known types
70 kinds map[config.GroupVersionKind]nsStore
71 // a flag indicates whether this client has been run, it is to prevent run queue twice
72 started *atomic.Bool
73
74 schemasByCRDName map[string]resource.Schema
75 client kube.Client
76 logger *log.Scope
77
78 // namespacesFilter is only used to initiate filtered informer.
79 filtersByGVK map[config.GroupVersionKind]kubetypes.Filter
80 stop chan struct{}
81}
82
83type nsStore struct {
84 collection krt.Collection[config.Config]

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected