debugutils

package
v0.0.0-...-c4d1043 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2021 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertPodListsToUnstructured

func ConvertPodListsToUnstructured(pods []*corev1.PodList) (kuberesource.UnstructuredResources, error)

func ConvertPodsToUnstructured

func ConvertPodsToUnstructured(pods *corev1.PodList) (kuberesource.UnstructuredResources, error)

func DefaultLogCollector

func DefaultLogCollector() (*logCollector, error)

func DefaultResourceCollector

func DefaultResourceCollector() (*resourceCollector, error)

func NewLogCollector

func NewLogCollector(logRequestBuilder *LogRequestBuilder) *logCollector

Types

type Aggregator

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

func DefaultAggregator

func DefaultAggregator() (*Aggregator, error)

func NewAggregator

func NewAggregator(resourceCollector ResourceCollector, logCollector LogCollector, storageClient StorageClient, fs afero.Fs, dir string) *Aggregator

func (*Aggregator) StreamFromManifest

func (a *Aggregator) StreamFromManifest(manifest helmchart.Manifests, namespace, filename string) error

type FileStorageClient

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

func DefaultFileStorageClient

func DefaultFileStorageClient() *FileStorageClient

func NewFileStorageClient

func NewFileStorageClient(fs afero.Fs) *FileStorageClient

func (*FileStorageClient) Save

func (fsc *FileStorageClient) Save(location string, resources ...*StorageObject) error

type GcsStorageClient

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

func DefaultGcsStorageClient

func DefaultGcsStorageClient(ctx context.Context) (*GcsStorageClient, error)

func NewGcsStorageClient

func NewGcsStorageClient(client *storage.Client, ctx context.Context) *GcsStorageClient

func (*GcsStorageClient) Save

func (gsc *GcsStorageClient) Save(location string, resources ...*StorageObject) error

type LabelPodFinder

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

func DefaultLabelPodFinder

func DefaultLabelPodFinder() (*LabelPodFinder, error)

func NewLabelPodFinder

func NewLabelPodFinder(client kubernetes.Interface) *LabelPodFinder

func (*LabelPodFinder) GetPods

func (lpf *LabelPodFinder) GetPods(resources kuberesource.UnstructuredResources) ([]*corev1.PodList, error)

type LogCollector

type LogCollector interface {
	GetLogRequests(resources kuberesource.UnstructuredResources) ([]*LogsRequest, error)
	SaveLogs(client StorageClient, location string, requests []*LogsRequest) error
}

type LogMeta

type LogMeta struct {
	PodMeta       metav1.ObjectMeta
	ContainerName string
}

func (LogMeta) ResourceId

func (lr LogMeta) ResourceId() string

func (LogMeta) ResourcePath

func (lr LogMeta) ResourcePath(dir string) string

type LogRequestBuilder

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

func DefaultLogRequestBuilder

func DefaultLogRequestBuilder() (*LogRequestBuilder, error)

func NewLogRequestBuilder

func NewLogRequestBuilder(clientset corev1client.CoreV1Interface, podFinder PodFinder) *LogRequestBuilder

func (*LogRequestBuilder) LogsFromUnstructured

func (lrb *LogRequestBuilder) LogsFromUnstructured(resources kuberesource.UnstructuredResources, opts ...LogRequestOptions) ([]*LogsRequest, error)

func (*LogRequestBuilder) RetrieveLogs

func (lrb *LogRequestBuilder) RetrieveLogs(pods *corev1.PodList, opts ...LogRequestOptions) []*LogsRequest

func (LogRequestBuilder) StreamLogs

func (lc LogRequestBuilder) StreamLogs(requests []*LogsRequest) ([]*LogsResponse, error)

type LogRequestOptions

type LogRequestOptions func(options *corev1.PodLogOptions)
var (
	FollowLogs LogRequestOptions = func(options *corev1.PodLogOptions) {
		options.Follow = true
	}
	PreviousLogs LogRequestOptions = func(options *corev1.PodLogOptions) {
		options.Previous = true

	}
	LogsSince = func(since time.Time) LogRequestOptions {
		return func(options *corev1.PodLogOptions) {
			options.SinceTime = &metav1.Time{Time: since}
		}
	}
)

type LogsRequest

type LogsRequest struct {
	LogMeta
	Request rest.ResponseWrapper
}

func NewLogsRequest

func NewLogsRequest(podMeta metav1.ObjectMeta, containerName string, request *rest.Request) *LogsRequest

type LogsResponse

type LogsResponse struct {
	LogMeta
	Response io.ReadCloser
}

type PodFinder

type PodFinder interface {
	GetPods(resources kuberesource.UnstructuredResources) ([]*corev1.PodList, error)
}

type ResourceCollector

type ResourceCollector interface {
	RetrieveResources(resources kuberesource.UnstructuredResources, namespace string, opts metav1.ListOptions) ([]kuberesource.VersionedResources, error)
	SaveResources(client StorageClient, location string, versionedResources []kuberesource.VersionedResources) error
}

type StorageClient

type StorageClient interface {
	Save(location string, resources ...*StorageObject) error
}

type StorageObject

type StorageObject struct {
	Resource io.Reader
	Name     string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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