common

package
v0.7.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2025 License: Apache-2.0 Imports: 30 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DateFieldsByGVK = map[schema.GroupVersionKind][]string{
	{Group: "", Version: "v1", Kind: "ConfigMap"}:             {"Age"},
	{Group: "", Version: "v1", Kind: "Endpoints"}:             {"Age"},
	{Group: "", Version: "v1", Kind: "Event"}:                 {"Last Seen", "First Seen"},
	{Group: "", Version: "v1", Kind: "Namespace"}:             {"Age"},
	{Group: "", Version: "v1", Kind: "Node"}:                  {"Age"},
	{Group: "", Version: "v1", Kind: "PersistentVolume"}:      {"Age"},
	{Group: "", Version: "v1", Kind: "PersistentVolumeClaim"}: {"Age"},
	{Group: "", Version: "v1", Kind: "Pod"}:                   {"Age"},
	{Group: "", Version: "v1", Kind: "ReplicationController"}: {"Age"},
	{Group: "", Version: "v1", Kind: "ResourceQuota"}:         {"Age"},
	{Group: "", Version: "v1", Kind: "Secret"}:                {"Age"},
	{Group: "", Version: "v1", Kind: "Service"}:               {"Age"},
	{Group: "", Version: "v1", Kind: "ServiceAccount"}:        {"Age"},

	{Group: "admissionregistration.k8s.io", Version: "v1alpha2", Kind: "MutatingAdmissionPolicy"}:          {"Age"},
	{Group: "admissionregistration.k8s.io", Version: "v1alpha2", Kind: "MutatingAdmissionPolicyBinding"}:   {"Age"},
	{Group: "admissionregistration.k8s.io", Version: "v1alpha2", Kind: "ValidatingAdmissionPolicy"}:        {"Age"},
	{Group: "admissionregistration.k8s.io", Version: "v1alpha2", Kind: "ValidatingAdmissionPolicyBinding"}: {"Age"},
	{Group: "admissionregistration.k8s.io", Version: "v1beta1", Kind: "MutatingWebhookConfiguration"}:      {"Age"},
	{Group: "admissionregistration.k8s.io", Version: "v1beta1", Kind: "ValidatingWebhookConfiguration"}:    {"Age"},

	{Group: "apiserverinternal.k8s.io", Version: "v1alpha1", Kind: "StorageVersion"}: {"Age"},

	{Group: "apps", Version: "v1", Kind: "DaemonSet"}:               {"Age"},
	{Group: "apps", Version: "v1", Kind: "Deployment"}:              {"Age"},
	{Group: "apps", Version: "v1", Kind: "ReplicaSet"}:              {"Age"},
	{Group: "apps", Version: "v1", Kind: "StatefulSet"}:             {"Age"},
	{Group: "apps", Version: "v1beta1", Kind: "ControllerRevision"}: {"Age"},

	{Group: "autoscaling", Version: "v1", Kind: "Scale"}:                        {"Age"},
	{Group: "autoscaling", Version: "v2beta1", Kind: "HorizontalPodAutoscaler"}: {"Age"},

	{Group: "ext.cattle.io", Version: "v1", Kind: "Token"}:      {"Age"},
	{Group: "ext.cattle.io", Version: "v1", Kind: "Kubeconfig"}: {"Age"},

	{Group: "batch", Version: "v1", Kind: "Job"}:          {"Duration", "Age"},
	{Group: "batch", Version: "v1beta1", Kind: "CronJob"}: {"Last Schedule", "Age"},

	{Group: "certificates.k8s.io", Version: "v1beta1", Kind: "CertificateSigningRequest"}: {"Age"},

	{Group: "coordination.k8s.io", Version: "v1", Kind: "Lease"}:                {"Age"},
	{Group: "coordination.k8s.io", Version: "v1alpha2", Kind: "LeaseCandidate"}: {"Age"},

	{Group: "discovery.k8s.io", Version: "v1beta1", Kind: "EndpointSlice"}: {"Age"},

	{Group: "flowcontrol.k8s.io", Version: "v1", Kind: "FlowSchema"}:                 {"Age"},
	{Group: "flowcontrol.k8s.io", Version: "v1", Kind: "PriorityLevelConfiguration"}: {"Age"},

	{Group: "networking.k8s.io", Version: "v1beta1", Kind: "Ingress"}:       {"Age"},
	{Group: "networking.k8s.io", Version: "v1beta1", Kind: "IngressClass"}:  {"Age"},
	{Group: "networking.k8s.io", Version: "v1beta1", Kind: "IPAddress"}:     {"Age"},
	{Group: "networking.k8s.io", Version: "v1beta1", Kind: "NetworkPolicy"}: {"Age"},
	{Group: "networking.k8s.io", Version: "v1beta1", Kind: "ServiceCIDR"}:   {"Age"},

	{Group: "node.k8s.io", Version: "v1", Kind: "RuntimeClass"}: {"Age"},

	{Group: "policy", Version: "v1", Kind: "PodDisruptionBudget"}: {"Age"},

	{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "ClusterRoleBinding"}: {"Age"},
	{Group: "rbac.authorization.k8s.io", Version: "v1beta1", Kind: "RoleBinding"}:        {"Age"},

	{Group: "resource.k8s.io", Version: "v1beta1", Kind: "DeviceClass"}:           {"Age"},
	{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaim"}:         {"Age"},
	{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceClaimTemplate"}: {"Age"},
	{Group: "resource.k8s.io", Version: "v1beta1", Kind: "ResourceSlice"}:         {"Age"},

	{Group: "scheduling.k8s.io", Version: "v1", Kind: "PriorityClass"}: {"Age"},

	{Group: "storage.k8s.io", Version: "v1", Kind: "CSIDriver"}:                  {"Age"},
	{Group: "storage.k8s.io", Version: "v1", Kind: "CSINode"}:                    {"Age"},
	{Group: "storage.k8s.io", Version: "v1", Kind: "StorageClass"}:               {"Age"},
	{Group: "storage.k8s.io", Version: "v1", Kind: "VolumeAttachment"}:           {"Age"},
	{Group: "storage.k8s.io", Version: "v1beta1", Kind: "VolumeAttributesClass"}: {"Age"},
}

Functions

func DefaultTemplate

func DefaultTemplate(clientGetter proxy.ClientGetter,
	summaryCache *summarycache.SummaryCache,
	asl accesscontrol.AccessSetLookup,
	namespaceCache corecontrollers.NamespaceCache,
	options TemplateOptions) schema.Template

func DefaultTemplateForStore added in v0.3.0

func DefaultTemplateForStore(store types.Store,
	summaryCache *summarycache.SummaryCache,
	asl accesscontrol.AccessSetLookup,
	options TemplateOptions) schema.Template

DefaultTemplateForStore provides a default schema template which uses a provided, pre-initialized store. Primarily used when creating a Template that uses a Lasso SQL store internally.

func GetIndexValueFromString added in v0.6.16

func GetIndexValueFromString(pathString string) int

GetIndexValueFromString looks for values between [ ]. e.g: $.metadata.fields[2], in this case it would return 2 In case it doesn't find any value between brackets it returns -1

func ParseTimestampOrHumanReadableDuration added in v0.6.17

func ParseTimestampOrHumanReadableDuration(s string) (time.Duration, error)

ParseTimestampOrHumanReadableDuration can do one of three things with an incoming string: 1. Recognize it's an absolute timestamp and calculate a relative `time.Duration` 2. Recognize it's a human-readable duration (like 3m) and convert to a relative `time.Duration` 3. Return an error because it doesn't recognize the input

Types

type ColumnDefinition

type ColumnDefinition struct {
	metav1.TableColumnDefinition `json:",inline"`
	Field                        string `json:"field,omitempty"`
}

func GetColumnDefinitions added in v0.6.16

func GetColumnDefinitions(schema *types.APISchema) []ColumnDefinition

GetColumnDefinitions returns ColumnDefinitions from an APISchema

type DynamicColumns

type DynamicColumns struct {
	// contains filtered or unexported fields
}

func NewDynamicColumns

func NewDynamicColumns(config *rest.Config) (*DynamicColumns, error)

func (*DynamicColumns) SetColumns

func (d *DynamicColumns) SetColumns(ctx context.Context, schema *types.APISchema) error

type TemplateOptions added in v0.6.16

type TemplateOptions struct {
	InSQLMode bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL