8000 GitHub - colin404/kubelistcheck: Checks if get/list kubernetes resources from kube-apiserver cache
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

colin404/kubelistcheck

Repository files navigation

kubelistcheck


kubelistcheck is a golang analyzer that checks if code get/list kubernetes resources from kube-apiserver cache

Installation

go install github.com/colin404/kubelistcheck/cmd/kubelistcheck@latest

Usage

kubelistcheck [-flag] [package]

Flags:
  -get
       enable check for GetOptions 

Example

// File: a.go
package a

import (
	"context"

	v1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	clientset "k8s.io/client-go/kubernetes"
)

func ListPods(cli clientset.Interface) (*v1.PodList, error) {
	return cli.CoreV1().Pods(metav1.NamespaceDefault).List(context.Background(), metav1.ListOptions{})
}

func GetPod(cli clientset.Interface, name string) (*v1.Pod, error) {
	return cli.CoreV1().Pods(metav1.NamespaceDefault).Get(context.Background(), name, metav1.GetOptions{})
}

Run kubelistcheck:

kubelistcheck a.go

or you can check recursively:

kubelistcheck ./...

output is:

/tmp/a.go:12:79: ResourceVersion is not setted in ListOptions

About

Checks if get/list kubernetes resources from kube-apiserver cache

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0