Documentation ¶
Overview ¶
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Package k8s provides a client for interacting with a Kubernetes cluster.
Index ¶
- Constants
- func SortImages(images, compareWith ImageMap) []string
- type GeneratedPKI
- type ImageMap
- type ImageNodeMap
- type K8s
- func (k *K8s) CreateConfigmap(namespace, name string, data map[string][]byte) (*corev1.ConfigMap, error)
- func (k *K8s) CreateNamespace(name string, namespace *corev1.Namespace) (*corev1.Namespace, error)
- func (k *K8s) CreatePod(pod *corev1.Pod) (*corev1.Pod, error)
- func (k *K8s) CreateSecret(secret *corev1.Secret) error
- func (k *K8s) CreateService(service *corev1.Service) (*corev1.Service, error)
- func (k *K8s) DeleteConfigMapsByLabel(namespace string, labels Labels) error
- func (k *K8s) DeleteConfigmap(namespace, name string) error
- func (k *K8s) DeleteNamespace(ctx context.Context, name string) error
- func (k *K8s) DeletePod(namespace string, name string) error
- func (k *K8s) DeleteSecret(secret *corev1.Secret) error
- func (k *K8s) DeleteService(namespace, name string) error
- func (k *K8s) DetectDistro() (string, error)
- func (k *K8s) GeneratePod(name, namespace string) *corev1.Pod
- func (k *K8s) GenerateSecret(namespace, name string, secretType corev1.SecretType) *corev1.Secret
- func (k *K8s) GenerateService(namespace, name string) *corev1.Service
- func (k *K8s) GenerateTLSSecret(namespace, name string, conf GeneratedPKI) (*corev1.Secret, error)
- func (k *K8s) GetAllImages() (ImageNodeMap, error)
- func (k *K8s) GetAllPods() (*corev1.PodList, error)
- func (k *K8s) GetAllServiceAccounts() (*corev1.ServiceAccountList, error)
- func (k *K8s) GetArchitecture() (string, error)
- func (k *K8s) GetImagesWithNodes(namespace string) (ImageNodeMap, error)
- func (k *K8s) GetNamespaces() (*corev1.NamespaceList, error)
- func (k *K8s) GetNodes() (*corev1.NodeList, error)
- func (k *K8s) GetPods(namespace string) (*corev1.PodList, error)
- func (k *K8s) GetSecret(namespace, name string) (*corev1.Secret, error)
- func (k *K8s) GetSecretsWithLabel(namespace, labelSelector string) (*corev1.SecretList, error)
- func (k *K8s) GetService(namespace, serviceName string) (*corev1.Service, error)
- func (k *K8s) GetServiceAccount(namespace, name string) (*corev1.ServiceAccount, error)
- func (k *K8s) GetServiceAccounts(namespace string) (*corev1.ServiceAccountList, error)
- func (k *K8s) GetServicesByLabel(namespace, label, value string) (*corev1.ServiceList, error)
- func (k *K8s) GetServicesByLabelExists(namespace, label string) (*corev1.ServiceList, error)
- func (k *K8s) ReplaceConfigmap(namespace, name string, data map[string][]byte) (*corev1.ConfigMap, error)
- func (k *K8s) ReplaceSecret(secret *corev1.Secret) error
- func (k *K8s) ReplaceService(service *corev1.Service) (*corev1.Service, error)
- func (k *K8s) ReplaceTLSSecret(namespace, name string, conf GeneratedPKI) error
- func (k *K8s) SaveServiceAccount(svcAccount *corev1.ServiceAccount) (*corev1.ServiceAccount, error)
- func (k *K8s) UpdateNamespace(namespace *corev1.Namespace) (*corev1.Namespace, error)
- func (k *K8s) WaitForHealthyCluster(timeout time.Duration) error
- func (k *K8s) WaitForPodsAndContainers(target PodLookup, waitForAllPods bool) []string
- type Labels
- type Log
- type PodLookup
Constants ¶
const ( DistroIsUnknown = "unknown" DistroIsK3s = "k3s" DistroIsK3d = "k3d" DistroIsKind = "kind" DistroIsMicroK8s = "microk8s" DistroIsEKS = "eks" DistroIsEKSAnywhere = "eksanywhere" DistroIsDockerDesktop = "dockerdesktop" DistroIsGKE = "gke" DistroIsAKS = "aks" DistroIsRKE2 = "rke2" DistroIsTKG = "tkg" )
Variables ¶
This section is empty.
Functions ¶
func SortImages ¶
SortImages returns a sorted list of images.
Types ¶
type GeneratedPKI ¶
type ImageNodeMap ¶
type K8s ¶
func NewWithWait ¶
NewWithWait is a convenience function that creates a new K8s client and waits for the cluster to be healthy.
func (*K8s) CreateConfigmap ¶
func (k *K8s) CreateConfigmap(namespace, name string, data map[string][]byte) (*corev1.ConfigMap, error)
CreateConfigmap applys a configmap to the cluster
func (*K8s) CreateNamespace ¶
CreateNamespace creates the given namespace or returns it if it already exists in the cluster.
func (*K8s) CreateSecret ¶
CreateSecret creates a Kubernetes secret.
func (*K8s) CreateService ¶
CreateService creates the given service in the cluster.
func (*K8s) DeleteConfigMapsByLabel ¶
DeleteConfigMapsByLabel deletes a configmap by label(s)
func (*K8s) DeleteConfigmap ¶
DeleteConfigmap delets a confimap by name
func (*K8s) DeleteNamespace ¶
DeleteNamespace deletes the given namespace from the cluster.
func (*K8s) DeleteSecret ¶
DeleteSecret deletes a Kubernetes secret.
func (*K8s) DeleteService ¶
DeleteService removes a service from the cluster by namespace and name.
func (*K8s) DetectDistro ¶
DetectDistro returns the matching distro or unknown if not found
func (*K8s) GeneratePod ¶
GeneratePod creates a new pod without adding it to the k8s cluster
func (*K8s) GenerateSecret ¶
GenerateSecret returns a Kubernetes secret object without applying it to the cluster.
func (*K8s) GenerateService ¶
GenerateService returns a K8s service struct without writing to the cluster
func (*K8s) GenerateTLSSecret ¶
GenerateTLSSecret returns a Kubernetes secret object without applying it to the cluster.
func (*K8s) GetAllImages ¶
func (k *K8s) GetAllImages() (ImageNodeMap, error)
GetAllImages returns a list of images and their nodes found in pods in the cluster.
func (*K8s) GetAllPods ¶
GetAllPods returns a list of pods from the cluster for all namesapces
func (*K8s) GetAllServiceAccounts ¶
func (k *K8s) GetAllServiceAccounts() (*corev1.ServiceAccountList, error)
GetAllServiceAccounts returns a list of services accounts for all namespaces.
func (*K8s) GetArchitecture ¶
GetArchitecture returns the cluster system architecture if found or an error if not
func (*K8s) GetImagesWithNodes ¶
func (k *K8s) GetImagesWithNodes(namespace string) (ImageNodeMap, error)
GetImagesWithNodes returns all images and their nodes in a given namespace.
func (*K8s) GetNamespaces ¶
func (k *K8s) GetNamespaces() (*corev1.NamespaceList, error)
GetNamespaces returns a list of namespaces in the cluster.
func (*K8s) GetSecretsWithLabel ¶
func (k *K8s) GetSecretsWithLabel(namespace, labelSelector string) (*corev1.SecretList, error)
GetSecrtsWithLabel returns a list of Kubernetes secrets with the given label.
func (*K8s) GetService ¶
GetService returns a Kubernetes service resource in the provided namespace with the given name.
func (*K8s) GetServiceAccount ¶
func (k *K8s) GetServiceAccount(namespace, name string) (*corev1.ServiceAccount, error)
GetServiceAccount reutrns a single service account by namespace and name.
func (*K8s) GetServiceAccounts ¶
func (k *K8s) GetServiceAccounts(namespace string) (*corev1.ServiceAccountList, error)
GetServiceAccounts returns a list of service accounts in a given namespace
func (*K8s) GetServicesByLabel ¶
func (k *K8s) GetServicesByLabel(namespace, label, value string) (*corev1.ServiceList, error)
GetServicesByLabel returns a list of matched services given a label and value. To search all namespaces, pass "" in the namespace arg
func (*K8s) GetServicesByLabelExists ¶
func (k *K8s) GetServicesByLabelExists(namespace, label string) (*corev1.ServiceList, error)
GetServicesByLabelExists returns a list of matched services given a label. To search all namespaces, pass "" in the namespace arg
func (*K8s) ReplaceConfigmap ¶
func (k *K8s) ReplaceConfigmap(namespace, name string, data map[string][]byte) (*corev1.ConfigMap, error)
ReplaceConfigmap deletes and recreates a configmap
func (*K8s) ReplaceSecret ¶
ReplaceSecret replaces a Kubernetes secret with a new secret.
func (*K8s) ReplaceService ¶
ReplaceService deletes and re-creates a service
func (*K8s) ReplaceTLSSecret ¶
func (k *K8s) ReplaceTLSSecret(namespace, name string, conf GeneratedPKI) error
ReplaceTLSSecret replaces a Kubernetes secret with a new TLS secret.
func (*K8s) SaveServiceAccount ¶
func (k *K8s) SaveServiceAccount(svcAccount *corev1.ServiceAccount) (*corev1.ServiceAccount, error)
SaveServiceAccount updates the given service account in the cluster
func (*K8s) UpdateNamespace ¶
UpdateNamespace updates the given namespace in the cluster.
func (*K8s) WaitForHealthyCluster ¶
WaitForHealthyCluster checks for an available K8s cluster every second until timeout.
type PodLookup ¶
type PodLookup struct { Namespace string `json:"namespace" jsonschema:"description=The namespace to target for data injection"` Selector string `json:"selector" jsonschema:"description=The K8s selector to target for data injection"` Container string `json:"container" jsonschema:"description=The container to target for data injection"` }