gracek8s

package
v0.0.0-...-1486261 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2023 License: MIT Imports: 14 Imported by: 1

Documentation

Index

Constants

View Source
const (
	PathServiceAccountNamespace = "/var/run/secrets/kubernetes.io/serviceaccount/namespace"
)

Variables

This section is empty.

Functions

func DefaultClient

func DefaultClient() (client *kubernetes.Clientset, err error)

DefaultClient create kubernetes client automatically, first try in-cluster client, then from default kubeconfig locations

func ExtractMetadata

func ExtractMetadata(v any) v1.ObjectMeta

ExtractMetadata extract 'metadata' field from any kubernetes resource object

func GetOrCreate

func GetOrCreate[T any](ctx context.Context, api APIGetCreate[T], obj *T) (out *T, err error)

GetOrCreate get or create a kubernetes resource

func GetOrCreateTLSSecret

func GetOrCreateTLSSecret(
	ctx context.Context,
	api APIGetCreate[corev1.Secret],
	name string,
	opts gracex509.GenerateOptions,
) (secret *corev1.Secret, res gracex509.PEMPair, err error)

GetOrCreateTLSSecret get or create a secret with type tls, using gracex509.Generate

func InClusterClient

func InClusterClient() (client *kubernetes.Clientset, err error)

InClusterClient create a kubernetes client from in-cluster environment

func InClusterNamespace

func InClusterNamespace() (string, error)

InClusterNamespace determine current namespace from in-cluster environment

Types

type APIGetCreate

type APIGetCreate[T any] interface {
	Get(ctx context.Context, name string, opts metav1.GetOptions) (*T, error)
	Create(ctx context.Context, obj *T, opts metav1.CreateOptions) (*T, error)
}

type MetadataObject

type MetadataObject struct {
	v1.ObjectMeta `json:"metadata"`
}

Jump to

Keyboard shortcuts

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