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
| 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 |
| 58 | type 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 | |
| 83 | type nsStore struct { |
| 84 | collection krt.Collection[config.Config] |
nothing calls this directly
no outgoing calls
no test coverage detected