k8s

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 45 Imported by: 5

Documentation

Index

Constants

View Source
const (
	DEFAULT_CLUSTER          = "default_cluster"
	DEVTRON_SERVICE_NAME     = "devtron-service"
	DefaultClusterUrl        = "https://kubernetes.default.svc"
	BearerToken              = "bearer_token"
	CertificateAuthorityData = "cert_auth_data"
	CertData                 = "cert_data"
	TlsKey                   = "tls_key"
	LiveZ                    = "/livez"
	Running                  = "Running"
	RestartingNotSupported   = "restarting not supported"
	DEVTRON_APP_LABEL_KEY    = "app"
	DEVTRON_APP_LABEL_VALUE1 = "devtron"
	DEVTRON_APP_LABEL_VALUE2 = "orchestrator"
)

Variables

This section is empty.

Functions

func CheckEvictionSupport

func CheckEvictionSupport(clientset kubernetes.Interface) (schema.GroupVersion, error)

CheckEvictionSupport uses Discovery API to find out if the server support eviction subresource If support, it will return its groupVersion; Otherwise, it will return an empty GroupVersion

func CheckIfValidLabel

func CheckIfValidLabel(labelKey string, labelValue string) error

func DeletePod

func DeletePod(pod v1.Pod, k8sClientSet *kubernetes.Clientset, deleteOptions metav1.DeleteOptions) error

DeletePod will delete the given pod, or return an error if it couldn't

func EvictPod

func EvictPod(pod v1.Pod, k8sClientSet *kubernetes.Clientset, evictionGroupVersion schema.GroupVersion, deleteOptions metav1.DeleteOptions) error

EvictPod will evict the given pod, or return an error if it couldn't

func IsDevtronApp

func IsDevtronApp(labels map[string]string) bool

func IsPod

func IsPod(gvk schema.GroupVersionKind) bool

func IsService

func IsService(gvk schema.GroupVersionKind) bool

func OverrideK8sHttpClientWithTracer

func OverrideK8sHttpClientWithTracer(restConfig *rest.Config) (*http.Client, error)

func ResolveResourceReferences

func ResolveResourceReferences(un *unstructured.Unstructured) ([]metav1.OwnerReference, func(ResourceKey) bool)

func ServerResourceForGroupVersionKind

func ServerResourceForGroupVersionKind(discoveryClient discovery.DiscoveryInterface, gvk schema.GroupVersionKind) (*metav1.APIResource, error)

func UpdateNodeUnschedulableProperty

func UpdateNodeUnschedulableProperty(desiredUnschedulable bool, node *v1.Node, k8sClientSet *kubernetes.Clientset) (*v1.Node, error)

Types

type ApplyResourcesRequest

type ApplyResourcesRequest struct {
	Manifest  string `json:"manifest"`
	ClusterId int    `json:"clusterId"`
}

type ApplyResourcesResponse

type ApplyResourcesResponse struct {
	Kind     string `json:"kind"`
	Name     string `json:"name"`
	Error    string `json:"error"`
	IsUpdate bool   `json:"isUpdate"`
}

type ClusterConfig

type ClusterConfig struct {
	ClusterName                     string
	Host                            string
	BearerToken                     string
	InsecureSkipTLSVerify           bool
	KeyData                         string
	CertData                        string
	CAData                          string
	ClusterId                       int
	ProxyUrl                        string
	ToConnectForClusterVerification bool
	ToConnectWithSSHTunnel          bool
	SSHTunnelUser                   string
	SSHTunnelPassword               string
	SSHTunnelAuthKey                string
	SSHTunnelServerAddress          string
}

type ClusterResourceListMap

type ClusterResourceListMap struct {
	Headers       []string                 `json:"headers"`
	Data          []map[string]interface{} `json:"data"`
	ServerVersion string                   `json:"serverVersion"`
}

type EventsResponse

type EventsResponse struct {
	Events *v1.EventList `json:"events,omitempty"`
}

type GetAllApiResourcesResponse

type GetAllApiResourcesResponse struct {
	ApiResources []*K8sApiResource `json:"apiResources"`
	AllowedAll   bool              `json:"allowedAll"`
}

type JsonPatchType

type JsonPatchType struct {
	Op    string      `json:"op"`
	Path  string      `json:"path"`
	Value interface{} `json:"value"`
}

type K8sApiResource

type K8sApiResource struct {
	Gvk        schema.GroupVersionKind     `json:"gvk"`
	Gvr        schema.GroupVersionResource `json:"gvr"`
	Namespaced bool                        `json:"namespaced"`
}

type K8sRequestBean

type K8sRequestBean struct {
	ResourceIdentifier ResourceIdentifier `json:"resourceIdentifier"`
	Patch              string             `json:"patch,omitempty"`
	PodLogsRequest     PodLogsRequest     `json:"podLogsRequest,omitempty"`
	ForceDelete        bool               `json:"forceDelete,omitempty"`
}

type K8sService added in v0.0.10

type K8sService interface {
	GetLogsForAPod(kubeClient *kubernetes.Clientset, namespace string, podName string, container string, follow bool) *restclient.Request
	GetMetricsClientSet(restConfig *rest.Config, k8sHttpClient *http.Client) (*metrics.Clientset, error)
	GetNmByName(ctx context.Context, metricsClientSet *metrics.Clientset, name string) (*v1beta1.NodeMetrics, error)
	GetNmList(ctx context.Context, metricsClientSet *metrics.Clientset) (*v1beta1.NodeMetricsList, error)
	GetPodsListForNamespace(ctx context.Context, k8sClientSet *kubernetes.Clientset, namespace string) (*v1.PodList, error)
	GetServerVersionFromDiscoveryClient(k8sClientSet *kubernetes.Clientset) (*version.Info, error)
	GetNodeByName(ctx context.Context, k8sClientSet *kubernetes.Clientset, name string) (*v1.Node, error)
	GetNodesList(ctx context.Context, k8sClientSet *kubernetes.Clientset) (*v1.NodeList, error)
	GetCoreV1ClientByRestConfig(restConfig *rest.Config) (*v12.CoreV1Client, error)
	GetCoreV1ClientInCluster() (*v12.CoreV1Client, error)
	GetKubeVersion() (*version.Info, error)
	ValidateResource(resourceObj map[string]interface{}, gvk schema.GroupVersionKind, validateCallback func(namespace string, group string, kind string, resourceName string) bool) bool
	BuildK8sObjectListTableData(manifest *unstructured.UnstructuredList, namespaced bool, gvk schema.GroupVersionKind, validateResourceAccess func(namespace string, group string, kind string, resourceName string) bool) (*ClusterResourceListMap, error)
	GetPodByName(namespace string, name string, client *v12.CoreV1Client) (*v1.Pod, error)
	GetK8sInClusterRestConfig() (*rest.Config, error)
	GetResourceInfoByLabelSelector(ctx context.Context, namespace string, labelSelector string) (*v1.Pod, error)
	GetClientByToken(serverUrl string, token map[string]string) (*v12.CoreV1Client, error)
	ListNamespaces(client *v12.CoreV1Client) (*v1.NamespaceList, error)
	DeleteAndCreateJob(content []byte, namespace string, clusterConfig *ClusterConfig) error
	DeletePodByLabel(namespace string, labels string, clusterConfig *ClusterConfig) error
	CreateJob(namespace string, name string, clusterConfig *ClusterConfig, job *batchV1.Job) error
	GetLiveZCall(path string, k8sClientSet *kubernetes.Clientset) ([]byte, error)
	DiscoveryClientGetLiveZCall(cluster *ClusterConfig) ([]byte, error)
	GetK8sConfigAndClientsByRestConfig(restConfig *rest.Config) (*http.Client, *kubernetes.Clientset, error)
	GetK8sConfigAndClients(clusterConfig *ClusterConfig) (*rest.Config, *http.Client, *kubernetes.Clientset, error)
	GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *http.Client, dynamic.Interface, error)
	GetK8sInClusterConfigAndClients() (*rest.Config, *http.Client, *kubernetes.Clientset, error)
	DeleteJob(namespace string, name string, clusterConfig *ClusterConfig) error
	DeleteSecret(namespace string, name string, client *v12.CoreV1Client) error
	UpdateSecret(namespace string, secret *v1.Secret, client *v12.CoreV1Client) (*v1.Secret, error)
	CreateSecretData(namespace string, secret *v1.Secret, v1Client *v12.CoreV1Client) (*v1.Secret, error)
	CreateSecret(namespace string, data map[string][]byte, secretName string, secretType v1.SecretType, client *v12.CoreV1Client, labels map[string]string, stringData map[string]string) (*v1.Secret, error)
	GetSecret(namespace string, name string, client *v12.CoreV1Client) (*v1.Secret, error)
	PatchConfigMapJsonType(namespace string, clusterConfig *ClusterConfig, name string, data interface{}, path string) (*v1.ConfigMap, error)
	PatchConfigMap(namespace string, clusterConfig *ClusterConfig, name string, data map[string]interface{}) (*v1.ConfigMap, error)
	UpdateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error)
	CreateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error)
	GetConfigMap(namespace string, name string, client *v12.CoreV1Client) (*v1.ConfigMap, error)
	CheckIfNsExists(namespace string, client *v12.CoreV1Client) (exists bool, err error)
	CreateNsIfNotExists(namespace string, clusterConfig *ClusterConfig) (err error)
	GetK8sDiscoveryClientInCluster() (*discovery.DiscoveryClient, error)
	GetK8sDiscoveryClient(clusterConfig *ClusterConfig) (*discovery.DiscoveryClient, error)
	GetClientForInCluster() (*v12.CoreV1Client, error)
	GetCoreV1Client(clusterConfig *ClusterConfig) (*v12.CoreV1Client, error)
	GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restclient.Config, error)
	GetResource(ctx context.Context, namespace string, name string, gvk schema.GroupVersionKind, restConfig *rest.Config) (*ManifestResponse, error)
	UpdateResource(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string, k8sRequestPatch string) (*ManifestResponse, error)
	DeleteResource(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string, name string, forceDelete bool) (*ManifestResponse, error)
	GetPodListByLabel(namespace, label string, clientSet *kubernetes.Clientset) ([]v1.Pod, error)
	ExtractK8sServerMajorAndMinorVersion(k8sServerVersion *version.Info) (int, int, error)
	GetK8sServerVersion(clientSet *kubernetes.Clientset) (*version.Info, error)
	DecodeGroupKindversion(data string) (*schema.GroupVersionKind, error)
	GetApiResources(restConfig *rest.Config, includeOnlyVerb string) ([]*K8sApiResource, error)
	CreateResources(ctx context.Context, restConfig *rest.Config, manifest string, gvk schema.GroupVersionKind, namespace string) (*ManifestResponse, error)
	PatchResourceRequest(ctx context.Context, restConfig *rest.Config, pt types.PatchType, manifest string, name string, namespace string, gvk schema.GroupVersionKind) (*ManifestResponse, error)
	GetResourceList(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string) (*ResourceListResponse, bool, error)
	GetResourceIfWithAcceptHeader(restConfig *rest.Config, groupVersionKind schema.GroupVersionKind) (resourceIf dynamic.NamespaceableResourceInterface, namespaced bool, err error)
	GetPodLogs(ctx context.Context, restConfig *rest.Config, name string, namespace string, sinceTime *metav1.Time, tailLines int, sinceSeconds int, follow bool, containerName string, isPrevContainerLogsEnabled bool) (io.ReadCloser, error)
	ListEvents(restConfig *rest.Config, namespace string, groupVersionKind schema.GroupVersionKind, ctx context.Context, name string) (*v1.EventList, error)
	GetResourceIf(restConfig *rest.Config, groupVersionKind schema.GroupVersionKind) (resourceIf dynamic.NamespaceableResourceInterface, namespaced bool, err error)
	FetchConnectionStatusForCluster(k8sClientSet *kubernetes.Clientset) error
	CreateK8sClientSet(restConfig *rest.Config) (*kubernetes.Clientset, error)
}

type K8sServiceImpl added in v0.0.10

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

func NewK8sUtil

func NewK8sUtil(logger *zap.SugaredLogger, runTimeConfig *client.RuntimeConfig) *K8sServiceImpl

func (K8sServiceImpl) BuildK8sObjectListTableData added in v0.0.10

func (impl K8sServiceImpl) BuildK8sObjectListTableData(manifest *unstructured.UnstructuredList, namespaced bool, gvk schema.GroupVersionKind, validateResourceAccess func(namespace string, group string, kind string, resourceName string) bool) (*ClusterResourceListMap, error)

func (K8sServiceImpl) CheckIfNsExists added in v0.0.10

func (impl K8sServiceImpl) CheckIfNsExists(namespace string, client *v12.CoreV1Client) (exists bool, err error)

func (K8sServiceImpl) CreateConfigMap added in v0.0.10

func (impl K8sServiceImpl) CreateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error)

func (K8sServiceImpl) CreateJob added in v0.0.10

func (impl K8sServiceImpl) CreateJob(namespace string, name string, clusterConfig *ClusterConfig, job *batchV1.Job) error

func (K8sServiceImpl) CreateK8sClientSet added in v0.0.10

func (impl K8sServiceImpl) CreateK8sClientSet(restConfig *rest.Config) (*kubernetes.Clientset, error)

func (K8sServiceImpl) CreateNsIfNotExists added in v0.0.10

func (impl K8sServiceImpl) CreateNsIfNotExists(namespace string, clusterConfig *ClusterConfig) (err error)

func (*K8sServiceImpl) CreateResources added in v0.0.10

func (impl *K8sServiceImpl) CreateResources(ctx context.Context, restConfig *rest.Config, manifest string, gvk schema.GroupVersionKind, namespace string) (*ManifestResponse, error)

func (K8sServiceImpl) CreateSecret added in v0.0.10

func (impl K8sServiceImpl) CreateSecret(namespace string, data map[string][]byte, secretName string, secretType v1.SecretType, client *v12.CoreV1Client, labels map[string]string, stringData map[string]string) (*v1.Secret, error)

func (K8sServiceImpl) CreateSecretData added in v0.0.10

func (impl K8sServiceImpl) CreateSecretData(namespace string, secret *v1.Secret, v1Client *v12.CoreV1Client) (*v1.Secret, error)

func (*K8sServiceImpl) DecodeGroupKindversion added in v0.0.10

func (impl *K8sServiceImpl) DecodeGroupKindversion(data string) (*schema.GroupVersionKind, error)

func (K8sServiceImpl) DeleteAndCreateJob added in v0.0.10

func (impl K8sServiceImpl) DeleteAndCreateJob(content []byte, namespace string, clusterConfig *ClusterConfig) error

DeleteAndCreateJob Deletes and recreates if job exists else creates the job

func (K8sServiceImpl) DeleteJob added in v0.0.10

func (impl K8sServiceImpl) DeleteJob(namespace string, name string, clusterConfig *ClusterConfig) error

func (K8sServiceImpl) DeletePodByLabel added in v0.0.10

func (impl K8sServiceImpl) DeletePodByLabel(namespace string, labels string, clusterConfig *ClusterConfig) error

func (*K8sServiceImpl) DeleteResource added in v0.0.10

func (impl *K8sServiceImpl) DeleteResource(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string, name string, forceDelete bool) (*ManifestResponse, error)

func (K8sServiceImpl) DeleteSecret added in v0.0.10

func (impl K8sServiceImpl) DeleteSecret(namespace string, name string, client *v12.CoreV1Client) error

func (K8sServiceImpl) DiscoveryClientGetLiveZCall added in v0.0.10

func (impl K8sServiceImpl) DiscoveryClientGetLiveZCall(cluster *ClusterConfig) ([]byte, error)

func (K8sServiceImpl) ExtractK8sServerMajorAndMinorVersion added in v0.0.10

func (impl K8sServiceImpl) ExtractK8sServerMajorAndMinorVersion(k8sServerVersion *version.Info) (int, int, error)

func (K8sServiceImpl) FetchConnectionStatusForCluster added in v0.0.10

func (impl K8sServiceImpl) FetchConnectionStatusForCluster(k8sClientSet *kubernetes.Clientset) error

func (K8sServiceImpl) GetApiResources added in v0.0.10

func (impl K8sServiceImpl) GetApiResources(restConfig *rest.Config, includeOnlyVerb string) ([]*K8sApiResource, error)

if verb is supplied empty, that means - return all

func (K8sServiceImpl) GetClientByToken added in v0.0.10

func (impl K8sServiceImpl) GetClientByToken(serverUrl string, token map[string]string) (*v12.CoreV1Client, error)

func (K8sServiceImpl) GetClientForInCluster added in v0.0.10

func (impl K8sServiceImpl) GetClientForInCluster() (*v12.CoreV1Client, error)

func (K8sServiceImpl) GetConfigMap added in v0.0.10

func (impl K8sServiceImpl) GetConfigMap(namespace string, name string, client *v12.CoreV1Client) (*v1.ConfigMap, error)

func (K8sServiceImpl) GetCoreV1Client added in v0.0.10

func (impl K8sServiceImpl) GetCoreV1Client(clusterConfig *ClusterConfig) (*v12.CoreV1Client, error)

func (K8sServiceImpl) GetCoreV1ClientByRestConfig added in v0.0.10

func (impl K8sServiceImpl) GetCoreV1ClientByRestConfig(restConfig *rest.Config) (*v12.CoreV1Client, error)

func (K8sServiceImpl) GetCoreV1ClientInCluster added in v0.0.10

func (impl K8sServiceImpl) GetCoreV1ClientInCluster() (*v12.CoreV1Client, error)

func (K8sServiceImpl) GetK8sConfigAndClients added in v0.0.10

func (impl K8sServiceImpl) GetK8sConfigAndClients(clusterConfig *ClusterConfig) (*rest.Config, *http.Client, *kubernetes.Clientset, error)

func (K8sServiceImpl) GetK8sConfigAndClientsByRestConfig added in v0.0.10

func (impl K8sServiceImpl) GetK8sConfigAndClientsByRestConfig(restConfig *rest.Config) (*http.Client, *kubernetes.Clientset, error)

func (K8sServiceImpl) GetK8sDiscoveryClient added in v0.0.10

func (impl K8sServiceImpl) GetK8sDiscoveryClient(clusterConfig *ClusterConfig) (*discovery.DiscoveryClient, error)

func (K8sServiceImpl) GetK8sDiscoveryClientInCluster added in v0.0.10

func (impl K8sServiceImpl) GetK8sDiscoveryClientInCluster() (*discovery.DiscoveryClient, error)

func (K8sServiceImpl) GetK8sDynamicClient added in v0.0.10

func (impl K8sServiceImpl) GetK8sDynamicClient(restConfig *rest.Config, k8sHttpClient *http.Client) (dynamic.Interface, error)

func (K8sServiceImpl) GetK8sInClusterConfigAndClients added in v0.0.10

func (impl K8sServiceImpl) GetK8sInClusterConfigAndClients() (*rest.Config, *http.Client, *kubernetes.Clientset, error)

func (K8sServiceImpl) GetK8sInClusterConfigAndDynamicClients added in v0.0.10

func (impl K8sServiceImpl) GetK8sInClusterConfigAndDynamicClients() (*rest.Config, *http.Client, dynamic.Interface, error)

func (K8sServiceImpl) GetK8sInClusterRestConfig added in v0.0.10

func (impl K8sServiceImpl) GetK8sInClusterRestConfig() (*rest.Config, error)

func (K8sServiceImpl) GetK8sServerVersion added in v0.0.10

func (impl K8sServiceImpl) GetK8sServerVersion(clientSet *kubernetes.Clientset) (*version.Info, error)

func (K8sServiceImpl) GetKubeVersion added in v0.0.10

func (impl K8sServiceImpl) GetKubeVersion() (*version.Info, error)

func (K8sServiceImpl) GetLiveZCall added in v0.0.10

func (impl K8sServiceImpl) GetLiveZCall(path string, k8sClientSet *kubernetes.Clientset) ([]byte, error)

func (K8sServiceImpl) GetLogsForAPod added in v0.0.10

func (impl K8sServiceImpl) GetLogsForAPod(kubeClient *kubernetes.Clientset, namespace string, podName string, container string, follow bool) *restclient.Request

func (K8sServiceImpl) GetMetricsClientSet added in v0.0.10

func (impl K8sServiceImpl) GetMetricsClientSet(restConfig *rest.Config, k8sHttpClient *http.Client) (*metrics.Clientset, error)

func (K8sServiceImpl) GetNmByName added in v0.0.10

func (impl K8sServiceImpl) GetNmByName(ctx context.Context, metricsClientSet *metrics.Clientset, name string) (*v1beta1.NodeMetrics, error)

func (K8sServiceImpl) GetNmList added in v0.0.10

func (impl K8sServiceImpl) GetNmList(ctx context.Context, metricsClientSet *metrics.Clientset) (*v1beta1.NodeMetricsList, error)

func (K8sServiceImpl) GetNodeByName added in v0.0.10

func (impl K8sServiceImpl) GetNodeByName(ctx context.Context, k8sClientSet *kubernetes.Clientset, name string) (*v1.Node, error)

func (K8sServiceImpl) GetNodesList added in v0.0.10

func (impl K8sServiceImpl) GetNodesList(ctx context.Context, k8sClientSet *kubernetes.Clientset) (*v1.NodeList, error)

func (K8sServiceImpl) GetPodByName added in v0.0.10

func (impl K8sServiceImpl) GetPodByName(namespace string, name string, client *v12.CoreV1Client) (*v1.Pod, error)

func (K8sServiceImpl) GetPodListByLabel added in v0.0.10

func (impl K8sServiceImpl) GetPodListByLabel(namespace, label string, clientSet *kubernetes.Clientset) ([]v1.Pod, error)

func (K8sServiceImpl) GetPodLogs added in v0.0.10

func (impl K8sServiceImpl) GetPodLogs(ctx context.Context, restConfig *rest.Config, name string, namespace string, sinceTime *metav1.Time, tailLines int, sinceSeconds int, follow bool, containerName string, isPrevContainerLogsEnabled bool) (io.ReadCloser, error)

func (K8sServiceImpl) GetPodsListForNamespace added in v0.0.10

func (impl K8sServiceImpl) GetPodsListForNamespace(ctx context.Context, k8sClientSet *kubernetes.Clientset, namespace string) (*v1.PodList, error)

func (*K8sServiceImpl) GetResource added in v0.0.10

func (impl *K8sServiceImpl) GetResource(ctx context.Context, namespace string, name string, gvk schema.GroupVersionKind, restConfig *rest.Config) (*ManifestResponse, error)

func (K8sServiceImpl) GetResourceIf added in v0.0.10

func (impl K8sServiceImpl) GetResourceIf(restConfig *rest.Config, groupVersionKind schema.GroupVersionKind) (resourceIf dynamic.NamespaceableResourceInterface, namespaced bool, err error)

func (K8sServiceImpl) GetResourceIfWithAcceptHeader added in v0.0.10

func (impl K8sServiceImpl) GetResourceIfWithAcceptHeader(restConfig *rest.Config, groupVersionKind schema.GroupVersionKind) (resourceIf dynamic.NamespaceableResourceInterface, namespaced bool, err error)

func (K8sServiceImpl) GetResourceInfoByLabelSelector added in v0.0.10

func (impl K8sServiceImpl) GetResourceInfoByLabelSelector(ctx context.Context, namespace string, labelSelector string) (*v1.Pod, error)

func (K8sServiceImpl) GetResourceList added in v0.0.10

func (impl K8sServiceImpl) GetResourceList(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string) (*ResourceListResponse, bool, error)

func (K8sServiceImpl) GetRestConfigByCluster added in v0.0.10

func (impl K8sServiceImpl) GetRestConfigByCluster(clusterConfig *ClusterConfig) (*restclient.Config, error)

func (K8sServiceImpl) GetSecret added in v0.0.10

func (impl K8sServiceImpl) GetSecret(namespace string, name string, client *v12.CoreV1Client) (*v1.Secret, error)

func (K8sServiceImpl) GetServerVersionFromDiscoveryClient added in v0.0.10

func (impl K8sServiceImpl) GetServerVersionFromDiscoveryClient(k8sClientSet *kubernetes.Clientset) (*version.Info, error)

func (K8sServiceImpl) ListEvents added in v0.0.10

func (impl K8sServiceImpl) ListEvents(restConfig *rest.Config, namespace string, groupVersionKind schema.GroupVersionKind, ctx context.Context, name string) (*v1.EventList, error)

func (K8sServiceImpl) ListNamespaces added in v0.0.10

func (impl K8sServiceImpl) ListNamespaces(client *v12.CoreV1Client) (*v1.NamespaceList, error)

func (K8sServiceImpl) PatchConfigMap added in v0.0.10

func (impl K8sServiceImpl) PatchConfigMap(namespace string, clusterConfig *ClusterConfig, name string, data map[string]interface{}) (*v1.ConfigMap, error)

func (K8sServiceImpl) PatchConfigMapJsonType added in v0.0.10

func (impl K8sServiceImpl) PatchConfigMapJsonType(namespace string, clusterConfig *ClusterConfig, name string, data interface{}, path string) (*v1.ConfigMap, error)

func (K8sServiceImpl) PatchResourceRequest added in v0.0.10

func (impl K8sServiceImpl) PatchResourceRequest(ctx context.Context, restConfig *rest.Config, pt types.PatchType, manifest string, name string, namespace string, gvk schema.GroupVersionKind) (*ManifestResponse, error)

func (K8sServiceImpl) UpdateConfigMap added in v0.0.10

func (impl K8sServiceImpl) UpdateConfigMap(namespace string, cm *v1.ConfigMap, client *v12.CoreV1Client) (*v1.ConfigMap, error)

func (*K8sServiceImpl) UpdateResource added in v0.0.10

func (impl *K8sServiceImpl) UpdateResource(ctx context.Context, restConfig *rest.Config, gvk schema.GroupVersionKind, namespace string, k8sRequestPatch string) (*ManifestResponse, error)

func (K8sServiceImpl) UpdateSecret added in v0.0.10

func (impl K8sServiceImpl) UpdateSecret(namespace string, secret *v1.Secret, client *v12.CoreV1Client) (*v1.Secret, error)

func (K8sServiceImpl) ValidateResource added in v0.0.10

func (impl K8sServiceImpl) ValidateResource(resourceObj map[string]interface{}, gvk schema.GroupVersionKind, validateCallback func(namespace string, group string, kind string, resourceName string) bool) bool

type ManifestResponse

type ManifestResponse struct {
	Manifest unstructured.Unstructured `json:"manifest,omitempty"`
	// EphemeralContainers are set for Pod kind manifest response only.
	// will only contain ephemeral containers which are in running state
	// +optional
	EphemeralContainers []*k8sObjectsUtil.EphemeralContainerData `json:"ephemeralContainers,omitempty"`
}

func (*ManifestResponse) SetRunningEphemeralContainers added in v0.0.8

func (manifestResponse *ManifestResponse) SetRunningEphemeralContainers() error

SetRunningEphemeralContainers will extract out all the running ephemeral containers of the given pod manifest and sets in manifestResponse.EphemeralContainers if given manifest is not of pod kind

type PodLogsRequest

type PodLogsRequest struct {
	SinceTime                  *v12.Time `json:"sinceTime,omitempty"`
	SinceSeconds               int       `json:"sinceSeconds,omitempty"`
	TailLines                  int       `json:"tailLines"`
	Follow                     bool      `json:"follow"`
	ContainerName              string    `json:"containerName"`
	IsPrevContainerLogsEnabled bool      `json:"previous"`
}

type ResourceIdentifier

type ResourceIdentifier struct {
	Name             string                  `json:"name"` //pod name for logs request
	Namespace        string                  `json:"namespace"`
	GroupVersionKind schema.GroupVersionKind `json:"groupVersionKind"`
}

type ResourceKey

type ResourceKey struct {
	Group     string
	Kind      string
	Namespace string
	Name      string
}

func GetResourceKey

func GetResourceKey(obj *unstructured.Unstructured) ResourceKey

func NewResourceKey

func NewResourceKey(group string, kind string, namespace string, name string) ResourceKey

func (ResourceKey) GroupKind

func (k ResourceKey) GroupKind() schema.GroupKind

func (*ResourceKey) String

func (k *ResourceKey) String() string

type ResourceListResponse

type ResourceListResponse struct {
	Resources unstructured.UnstructuredList `json:"resources,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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