From f29ed4e7e77077cce701023dbaca413847f66281 Mon Sep 17 00:00:00 2001 From: Feilian Xie Date: Fri, 12 Jan 2024 03:09:23 +0800 Subject: [PATCH] Elaborate in which cases the client reads from a cache --- pkg/client/client.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index 27dbd52edf..c0ebb39e3d 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -90,12 +90,18 @@ type CacheOptions struct { type NewClientFunc func(config *rest.Config, options Options) (Client, error) // New returns a new Client using the provided config and Options. -// The returned client reads from a local cache or directly from the API server, -// and writes are always performed directly on the API server. -// (read operations may use object caches, but write operations do not). -// It understands how to work with normal types (both custom resources -// and aggregated/built-in resources), as well as unstructured types. // +// The client's read behavior is determined by Options.Cache. +// If either Options.Cache or Options.Cache.Reader is nil, +// the client reads directly from the API server. +// If both Options.Cache and Options.Cache.Reader are non-nil, +// the client reads from a local cache. However, specific +// resources can still be configured to bypass the cache based +// on Options.Cache.Unstructured and Options.Cache.DisableFor. +// Write operations are always performed directly on the API server. +// +// The client understands how to work with normal types (both custom resources +// and aggregated/built-in resources), as well as unstructured types. // In the case of normal types, the scheme will be used to look up the // corresponding group, version, and kind for the given type. In the // case of unstructured types, the group, version, and kind will be extracted