mirror of
https://github.com/rancher/steve.git
synced 2025-09-14 22:39:20 +00:00
Index more sqlite cache fields (#271)
* Add more fields to index when sql-caching is on. Misc changes: - Use the builtin Event class, not events.k8s.io (by looking at the dashboard client code) - Specify full path to the management.cattle.io fields. - Map `Event.type` to `Event._type` for indexing. Use a compound transform-func to first check for a "signal", and then to run all the relevant transformers until either one fails or the list is exhausted. - Includes moving the fakeSummaryCache type into a common area. Use a simpler way of running transforms. * Inline the function to get the gvk key. * Create a '--sql-cache' flag to turn on caching for the steve CLI. * Improve error-handling in object transformer. * Drop the 'GetTransform' function. * Inline the code that transforms a payload into a k8s-unstructured object.
This commit is contained in:
@@ -10,7 +10,6 @@ import (
|
||||
wranglerSummary "github.com/rancher/wrangler/v3/pkg/summary"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
// SummaryCache provides an interface to get a summary/relationships for an object. Implemented by the summaryCache
|
||||
@@ -24,26 +23,14 @@ type DefaultFields struct {
|
||||
Cache SummaryCache
|
||||
}
|
||||
|
||||
// GetTransform produces the default transformation func
|
||||
func (d *DefaultFields) GetTransform() cache.TransformFunc {
|
||||
return d.transform
|
||||
}
|
||||
|
||||
// transform implements virtual.VirtualTransformFunc, and adds reserved fields/summary
|
||||
func (d *DefaultFields) transform(obj any) (any, error) {
|
||||
raw, isSignal, err := getUnstructured(obj)
|
||||
if isSignal {
|
||||
return obj, nil
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
raw = addIDField(raw)
|
||||
raw, err = addSummaryFields(raw, d.Cache)
|
||||
// TransformCommon implements virtual.VirtualTransformFunc, and adds reserved fields/summary
|
||||
func (d *DefaultFields) TransformCommon(obj *unstructured.Unstructured) (*unstructured.Unstructured, error) {
|
||||
obj = addIDField(obj)
|
||||
obj, err := addSummaryFields(obj, d.Cache)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to add summary fields: %w", err)
|
||||
}
|
||||
return raw, nil
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
// addSummaryFields adds the virtual fields for object state.
|
||||
|
Reference in New Issue
Block a user