common

package
v0.8.7 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2026 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 ParseHumanReadableDuration added in v0.6.16

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

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