dao

package
v0.0.0-...-5b2b967 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2020 License: Apache-2.0, Apache-2.0 Imports: 69 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MetaAccess = NewMeta()

MetaAccess tracks resources metadata.

View Source
var RestMapping = &RestMapper{}

RestMapping holds k8s resource mapping

Functions

func BenchConfigFor

func BenchConfigFor(benchFile, path string) config.BenchConfig

BenchConfigFor returns a custom bench spec if defined otherwise returns the default one.

func Describe

func Describe(c client.Connection, gvr client.GVR, path string) (string, error)

Describe describes a resource.

func FQN

func FQN(ns, n string) string

FQN returns a fully qualified resource name.

func FetchNode

func FetchNode(ctx context.Context, f Factory, path string) (*v1.Node, error)

FetchNode retrieves a node.

func FetchNodes

func FetchNodes(ctx context.Context, f Factory, labelsSel string) (*v1.NodeList, error)

FetchNodes retrieves all nodes.

func IsFuzzySelector

func IsFuzzySelector(s string) bool

IsFuzzySelector checks if filter is fuzzy or not.

func IsK8sMeta

func IsK8sMeta(m metav1.APIResource) bool

IsK8sMeta checks for non resource meta.

func IsK9sMeta

func IsK9sMeta(m metav1.APIResource) bool

IsK9sMeta checks for non resource meta.

func IsOpenFaasEnabled

func IsOpenFaasEnabled() bool

IsOpenFaasEnabled returns true if a gateway url is set in the environment.

func MetaFQN

func MetaFQN(m metav1.ObjectMeta) string

MetaFQN returns a fully qualified resource name.

func PodToKey

func PodToKey(path string) string

PodToKey converts a pod path to a generic bench config key

func PortForwardID

func PortForwardID(path, co string) string

PortForwardID computes port-forward identifier.

func ToYAML

func ToYAML(o runtime.Object) (string, error)

ToYAML converts a resource to its YAML representation.

func Truncate

func Truncate(str string, width int) string

Truncate a string to the given l and suffix ellipsis if needed.

Types

type Accessor

type Accessor interface {
	Lister
	Getter

	// Init the resource with a factory object.
	Init(Factory, client.GVR)

	// GVR returns a gvr a string.
	GVR() string
}

Accessor represents an accessible k8s resource.

func AccessorFor

func AccessorFor(f Factory, gvr client.GVR) (Accessor, error)

AccessorFor returns a client accessor for a resource if registered. Otherwise it returns a generic accessor. Customize here for non resource types or types with metrics or logs.

type Accessors

type Accessors map[client.GVR]Accessor

Accessors represents a collection of dao accessors.

type Alias

type Alias struct {
	NonResource
	*config.Aliases
}

Alias tracks standard and custom command aliases.

func NewAlias

func NewAlias(f Factory) *Alias

NewAlias returns a new set of aliases.

func (*Alias) AsGVR

func (a *Alias) AsGVR(cmd string) (client.GVR, bool)

AsGVR returns a matching gvr if it exists.

func (*Alias) Check

func (a *Alias) Check(cmd string) bool

Check verifies an alias is defined for this command.

func (*Alias) Ensure

func (a *Alias) Ensure() (config.Alias, error)

Ensure makes sure alias are loaded.

func (*Alias) Get

func (a *Alias) Get(_ context.Context, _ string) (runtime.Object, error)

Get fetch a resource.

func (*Alias) List

func (a *Alias) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of aliases.

type Benchmark

type Benchmark struct {
	NonResource
}

Benchmark represents a benchmark resource.

func (*Benchmark) Delete

func (b *Benchmark) Delete(path string, cascade, force bool) error

Delete nukes a resource.

func (*Benchmark) Get

Get returns a resource.

func (*Benchmark) List

func (b *Benchmark) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of resources.

type Container

type Container struct {
	NonResource
}

Container represents a pod's container dao.

func (*Container) List

func (c *Container) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of containers.

func (*Container) TailLogs

func (c *Container) TailLogs(ctx context.Context, logChan LogChan, opts LogOptions) error

TailLogs tails a given container logs

type Context

type Context struct {
	NonResource
}

Context represents a kubenetes context.

func (*Context) Get

func (c *Context) Get(ctx context.Context, path string) (runtime.Object, error)

Get a Context.

func (*Context) KubeUpdate

func (c *Context) KubeUpdate(n string) error

KubeUpdate modifies kubeconfig default context.

func (*Context) List

func (c *Context) List(_ context.Context, _ string) ([]runtime.Object, error)

List all Contexts on the current cluster.

func (*Context) MustCurrentContextName

func (c *Context) MustCurrentContextName() string

MustCurrentContextName return the active context name.

func (*Context) Switch

func (c *Context) Switch(ctx string) error

Switch to another context.

type Controller

type Controller interface {
	// Pod returns a pod instance matching the selector.
	Pod(path string) (string, error)
}

Controller represents a pod controller.

type CronJob

type CronJob struct {
	Generic
}

CronJob represents a cronjob K8s resource.

func (*CronJob) Run

func (c *CronJob) Run(path string) error

Run a CronJob.

func (*CronJob) Scan

func (c *CronJob) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for cluster resource refs.

func (*CronJob) ScanSA

func (c *CronJob) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

type CustomResourceDefinition

type CustomResourceDefinition struct {
	Resource
}

CustomResourceDefinition represents a CRD resource model.

func (*CustomResourceDefinition) List

List returns a collection of nodes.

type DaemonSet

type DaemonSet struct {
	Resource
}

DaemonSet represents a K8s daemonset.

func (*DaemonSet) GetInstance

func (d *DaemonSet) GetInstance(fqn string) (*appsv1.DaemonSet, error)

GetInstance returns a daemonset instance.

func (*DaemonSet) IsHappy

func (d *DaemonSet) IsHappy(ds appsv1.DaemonSet) bool

IsHappy check for happy deployments.

func (*DaemonSet) Pod

func (d *DaemonSet) Pod(fqn string) (string, error)

Pod returns a pod victim by name.

func (*DaemonSet) Restart

func (d *DaemonSet) Restart(ctx context.Context, path string) error

Restart a DaemonSet rollout.

func (*DaemonSet) Scan

func (d *DaemonSet) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for cluster refs.

func (*DaemonSet) ScanSA

func (d *DaemonSet) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

func (*DaemonSet) TailLogs

func (d *DaemonSet) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tail logs for all pods represented by this DaemonSet.

type Deployment

type Deployment struct {
	Resource
}

Deployment represents a deployment K8s resource.

func (*Deployment) IsHappy

func (d *Deployment) IsHappy(dp appsv1.Deployment) bool

IsHappy check for happy deployments.

func (*Deployment) Load

func (*Deployment) Load(f Factory, fqn string) (*appsv1.Deployment, error)

Load returns a deployment instance.

func (*Deployment) Pod

func (d *Deployment) Pod(fqn string) (string, error)

Pod returns a pod victim by name.

func (*Deployment) Restart

func (d *Deployment) Restart(ctx context.Context, path string) error

Restart a Deployment rollout.

func (*Deployment) Scale

func (d *Deployment) Scale(ctx context.Context, path string, replicas int32) error

Scale a Deployment.

func (*Deployment) Scan

func (d *Deployment) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for resource references.

func (*Deployment) ScanSA

func (d *Deployment) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

func (*Deployment) TailLogs

func (d *Deployment) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tail logs for all pods represented by this Deployment.

type Describer

type Describer interface {
	// Describe describes a resource.
	Describe(path string) (string, error)

	// ToYAML dumps a resource to YAML.
	ToYAML(path string) (string, error)
}

Describer describes a resource.

type Dir

type Dir struct {
	NonResource
}

Dir tracks standard and custom command aliases.

func NewDir

func NewDir(f Factory) *Dir

NewDir returns a new set of aliases.

func (*Dir) Get

func (a *Dir) Get(_ context.Context, _ string) (runtime.Object, error)

Get fetch a resource.

func (*Dir) List

func (a *Dir) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of aliases.

type DrainOptions

type DrainOptions struct {
	GracePeriodSeconds  int
	Timeout             time.Duration
	IgnoreAllDaemonSets bool
	DeleteLocalData     bool
	Force               bool
}

DrainOptions tracks drain attributes.

type Factory

type Factory interface {
	// Client retrieves an api client.
	Client() client.Connection

	// Get fetch a given resource.
	Get(gvr, path string, wait bool, sel labels.Selector) (runtime.Object, error)

	// List fetch a collection of resources.
	List(gvr, ns string, wait bool, sel labels.Selector) ([]runtime.Object, error)

	// ForResource fetch an informer for a given resource.
	ForResource(ns, gvr string) (informers.GenericInformer, error)

	// CanForResource fetch an informer for a given resource if authorized
	CanForResource(ns, gvr string, verbs []string) (informers.GenericInformer, error)

	// WaitForCacheSync synchronize the cache.
	WaitForCacheSync()

	// DeleteForwarder deletes a pod forwarder.
	DeleteForwarder(path string)

	// Forwards returns all portforwards.
	Forwarders() watch.Forwarders
}

Factory represents a resource factory.

type Generic

type Generic struct {
	NonResource
}

Generic represents a generic resource.

func (*Generic) Delete

func (g *Generic) Delete(path string, cascade, force bool) error

Delete deletes a resource.

func (*Generic) Describe

func (g *Generic) Describe(path string) (string, error)

Describe describes a resource.

func (*Generic) Get

func (g *Generic) Get(ctx context.Context, path string) (runtime.Object, error)

Get returns a given resource.

func (*Generic) List

func (g *Generic) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of resources. BOZO!! no auth check??

func (*Generic) ToYAML

func (g *Generic) ToYAML(path string) (string, error)

ToYAML returns a resource yaml.

type Getter

type Getter interface {
	// Get return a given resource.
	Get(ctx context.Context, path string) (runtime.Object, error)
}

Getter represents a resource getter.

type Helm

type Helm struct {
	NonResource
}

Helm represents a helm chart.

func (*Helm) Delete

func (c *Helm) Delete(path string, cascade, force bool) error

Delete uninstall a Helm.

func (*Helm) Describe

func (c *Helm) Describe(path string) (string, error)

Describe returns the chart notes.

func (*Helm) EnsureHelmConfig

func (c *Helm) EnsureHelmConfig(ns string) (*action.Configuration, error)

EnsureHelmConfig return a new configuration.

func (*Helm) Get

func (c *Helm) Get(_ context.Context, path string) (runtime.Object, error)

Get returns a resource.

func (*Helm) List

func (c *Helm) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of resources.

func (*Helm) ToYAML

func (c *Helm) ToYAML(path string) (string, error)

ToYAML returns the chart manifest.

type HorizontalPodAutoscaler

type HorizontalPodAutoscaler struct {
	Resource
}

HorizontalPodAutoscaler represents a HPA resource model.

func (*HorizontalPodAutoscaler) List

List returns a collection of nodes.

type Job

type Job struct {
	Resource
}

Job represents a K8s job resource.

func (*Job) List

func (j *Job) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of resources.

func (*Job) Scan

func (j *Job) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for resource references.

func (*Job) ScanSA

func (j *Job) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

func (*Job) TailLogs

func (j *Job) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tail logs for all pods represented by this Job.

type Lister

type Lister interface {
	// List returns a resource collection.
	List(ctx context.Context, ns string) ([]runtime.Object, error)
}

Lister represents a resource lister.

type LogChan

type LogChan chan *LogItem

LogChan represents a channel for logs.

type LogItem

type LogItem struct {
	Pod, Container, Timestamp string
	SingleContainer           bool
	Bytes                     []byte
}

LogItem represents a container log line.

func NewLogItem

func NewLogItem(b []byte) *LogItem

NewLogItem returns a new item.

func NewLogItemFromString

func NewLogItemFromString(s string) *LogItem

NewLogItemFromString returns a new item.

func (*LogItem) Clone

func (l *LogItem) Clone() *LogItem

Clone copies an item.

func (*LogItem) ID

func (l *LogItem) ID() string

ID returns pod and or container based id.

func (*LogItem) Info

func (l *LogItem) Info() string

Info returns pod and container information.

func (*LogItem) IsEmpty

func (l *LogItem) IsEmpty() bool

IsEmpty checks if the entry is empty.

func (*LogItem) Render

func (l *LogItem) Render(c int, showTime bool) []byte

Render returns a log line as string.

type LogItems

type LogItems []*LogItem

LogItems represents a collection of log items.

func (LogItems) DumpDebug

func (l LogItems) DumpDebug(m string)

DumpDebug for debuging

func (LogItems) Filter

func (l LogItems) Filter(q string) ([]int, [][]int, error)

Filter filters out log items based on given filter.

func (LogItems) Lines

func (l LogItems) Lines() []string

Lines returns a collection of log lines.

func (LogItems) Render

func (l LogItems) Render(showTime bool, ll [][]byte)

Render returns logs as a collection of strings.

type LogOptions

type LogOptions struct {
	Path            string
	Container       string
	Lines           int64
	Previous        bool
	SingleContainer bool
	MultiPods       bool
	ShowTimestamp   bool
	SinceTime       string
	SinceSeconds    int64
	In, Out         string
}

LogOptions represent logger options.

func (LogOptions) DecorateLog

func (o LogOptions) DecorateLog(bytes []byte) *LogItem

DecorateLog add a log header to display po/co information along with the log message.

func (LogOptions) FixedSizeName

func (o LogOptions) FixedSizeName() string

FixedSizeName returns a normalize fixed size pod name if possible.

func (LogOptions) HasContainer

func (o LogOptions) HasContainer() bool

HasContainer checks if a container is present.

func (LogOptions) Info

func (o LogOptions) Info() string

Info returns the option pod and container info.

func (LogOptions) ToPodLogOptions

func (o LogOptions) ToPodLogOptions() *v1.PodLogOptions

ToPodLogOptions returns pod log options.

type Loggable

type Loggable interface {
	// TaiLogs streams resource logs.
	TailLogs(ctx context.Context, c LogChan, opts LogOptions) error
}

Loggable represents resources with logs.

type Logger

type Logger interface {
	// Logs tails a resource logs.
	Logs(path string, opts *v1.PodLogOptions) (*restclient.Request, error)
}

Logger represents a resource that exposes logs.

type Meta

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

Meta represents available resource metas.

func NewMeta

func NewMeta() *Meta

NewMeta returns a resource meta.

func (*Meta) AllGVRs

func (m *Meta) AllGVRs() client.GVRs

AllGVRs returns all cluster resources.

func (*Meta) LoadResources

func (m *Meta) LoadResources(f Factory) error

LoadResources hydrates server preferred+CRDs resource metadata.

func (*Meta) MetaFor

func (m *Meta) MetaFor(gvr client.GVR) (metav1.APIResource, error)

MetaFor returns a resource metadata for a given gvr.

func (*Meta) RegisterMeta

func (m *Meta) RegisterMeta(gvr string, res metav1.APIResource)

RegisterMeta registers a new resource meta object.

type Node

type Node struct {
	Resource
}

Node represents a node model.

func (*Node) CountPods

func (n *Node) CountPods(nodeName string) (int, error)

CountPods counts the pods scheduled on a given node.

func (*Node) Drain

func (n *Node) Drain(path string, opts DrainOptions, w io.Writer) error

Drain drains a node.

func (*Node) Get

func (n *Node) Get(ctx context.Context, path string) (runtime.Object, error)

Get returns a node resource.

func (*Node) List

func (n *Node) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of node resources.

func (*Node) ToggleCordon

func (n *Node) ToggleCordon(path string, cordon bool) error

ToggleCordon toggles cordon/uncordon a node.

type NodeMaintainer

type NodeMaintainer interface {
	// ToggleCordon toggles cordon/uncordon a node.
	ToggleCordon(path string, cordon bool) error

	// Drain drains the given node.
	Drain(path string, opts DrainOptions, w io.Writer) error
}

NodeMaintainer performs node maintenance operations.

type NodeMetricsFunc

type NodeMetricsFunc func() (*mv1beta1.NodeMetricsList, error)

NodeMetricsFunc retrieves node metrics.

type NonResource

type NonResource struct {
	Factory
	// contains filtered or unexported fields
}

NonResource represents a non k8s resource.

func (*NonResource) GVR

func (n *NonResource) GVR() string

GVR returns a gvr.

func (*NonResource) Get

Get returns the given resource.

func (*NonResource) Init

func (n *NonResource) Init(f Factory, gvr client.GVR)

Init initializes the resource.

type Nuker

type Nuker interface {
	// Delete removes a resource from the api server.
	Delete(path string, cascade, force bool) error
}

Nuker represents a resource deleter.

type OpenFaas

type OpenFaas struct {
	NonResource
}

OpenFaas represents a faas gateway connection.

func (*OpenFaas) Delete

func (f *OpenFaas) Delete(path string, _, _ bool) error

Delete removes a function.

func (*OpenFaas) Describe

func (f *OpenFaas) Describe(path string) (string, error)

Describe describes a function.

func (*OpenFaas) Get

func (f *OpenFaas) Get(ctx context.Context, path string) (runtime.Object, error)

Get returns a function by name.

func (*OpenFaas) List

func (f *OpenFaas) List(_ context.Context, ns string) ([]runtime.Object, error)

List returns a collection of functions.

func (*OpenFaas) ToYAML

func (f *OpenFaas) ToYAML(path string) (string, error)

ToYAML dumps a function to yaml.

type Pod

type Pod struct {
	Resource
}

Pod represents a pod resource.

func (*Pod) Containers

func (p *Pod) Containers(path string, includeInit bool) ([]string, error)

Containers returns all container names on pod

func (*Pod) Get

func (p *Pod) Get(ctx context.Context, path string) (runtime.Object, error)

Get returns a resource instance if found, else an error.

func (*Pod) GetInstance

func (p *Pod) GetInstance(fqn string) (*v1.Pod, error)

GetInstance returns a pod instance.

func (*Pod) IsHappy

func (p *Pod) IsHappy(po v1.Pod) bool

IsHappy check for happy deployments.

func (*Pod) List

func (p *Pod) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of nodes.

func (*Pod) Logs

func (p *Pod) Logs(path string, opts *v1.PodLogOptions) (*restclient.Request, error)

Logs fetch container logs for a given pod and container.

func (*Pod) Pod

func (p *Pod) Pod(fqn string) (string, error)

Pod returns a pod victim by name.

func (*Pod) Scan

func (p *Pod) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for cluster resource refs.

func (*Pod) ScanSA

func (p *Pod) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

func (*Pod) TailLogs

func (p *Pod) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tails a given container logs

type Policy

type Policy struct {
	Resource
}

Policy represent rbac policy.

func (*Policy) List

func (p *Policy) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns available policies.

type Popeye

type Popeye struct {
	NonResource
}

Popeye tracks cluster sanitization.

func NewPopeye

func NewPopeye(f Factory) *Popeye

NewPopeye returns a new set of aliases.

func (*Popeye) Get

func (p *Popeye) Get(_ context.Context, _ string) (runtime.Object, error)

Get retrieves a resource.

func (*Popeye) List

func (p *Popeye) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of aliases.

type PortForward

type PortForward struct {
	NonResource
}

PortForward represents a port forward dao.

func (*PortForward) Delete

func (p *PortForward) Delete(path string, cascade, force bool) error

Delete a portforward.

func (*PortForward) List

func (p *PortForward) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of port forwards.

type PortForwarder

type PortForwarder struct {
	Factory
	genericclioptions.IOStreams
	// contains filtered or unexported fields
}

PortForwarder tracks a port forward stream.

func NewPortForwarder

func NewPortForwarder(f Factory) *PortForwarder

NewPortForwarder returns a new port forward streamer.

func (*PortForwarder) Active

func (p *PortForwarder) Active() bool

Active returns the forward status.

func (*PortForwarder) Age

func (p *PortForwarder) Age() string

Age returns the port forward age.

func (*PortForwarder) Container

func (p *PortForwarder) Container() string

Container returns the targetes container.

func (*PortForwarder) FQN

func (p *PortForwarder) FQN() string

FQN returns the portforward unique id.

func (*PortForwarder) HasPortMapping

func (p *PortForwarder) HasPortMapping(m string) bool

HasPortMapping checks if port mapping is defined for this fwd.

func (*PortForwarder) Path

func (p *PortForwarder) Path() string

Path returns the pod resource path.

func (*PortForwarder) Ports

func (p *PortForwarder) Ports() []string

Ports returns the forwarded ports mappings.

func (*PortForwarder) SetActive

func (p *PortForwarder) SetActive(b bool)

SetActive mark a portforward as active.

func (*PortForwarder) Start

func (p *PortForwarder) Start(path, co string, tt []client.PortTunnel) (*portforward.PortForwarder, error)

Start initiates a port forward session for a given pod and ports.

func (*PortForwarder) Stop

func (p *PortForwarder) Stop()

Stop terminates a port forard

type Pulse

type Pulse struct {
	NonResource
}

Pulse tracks pulses.

func (*Pulse) List

func (h *Pulse) List(ctx context.Context, ns string) ([]runtime.Object, error)

List lists out pulses.

type Rbac

type Rbac struct {
	Resource
}

Rbac represents a model for listing rbac resources.

func (*Rbac) List

func (r *Rbac) List(ctx context.Context, ns string) ([]runtime.Object, error)

List lists out rbac resources.

type Ref

type Ref struct {
	GVR string
	FQN string
}

Ref represents a resource reference.

type RefScanner

type RefScanner interface {
	// Init initializes the scanner
	Init(Factory, client.GVR)
	// Scan scan the resource for references.
	Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)
	ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)
}

RefScanner represents a resource reference scanner.

type Reference

type Reference struct {
	NonResource
}

Reference represents cluster resource references.

func (*Reference) Get

func (r *Reference) Get(ctx context.Context, path string) (runtime.Object, error)

Get fetch a given reference.

func (*Reference) List

func (r *Reference) List(ctx context.Context, ns string) ([]runtime.Object, error)

List collects all references.

func (*Reference) Scan

func (r *Reference) Scan(ctx context.Context) ([]runtime.Object, error)

Scan scan cluster resources for references.

func (*Reference) ScanSA

func (r *Reference) ScanSA(ctx context.Context) ([]runtime.Object, error)

ScanSA scans for serviceaccount refs.

type Refs

type Refs []Ref

Refs represents a collection of resource references.

func ScanForRefs

func ScanForRefs(ctx context.Context, f Factory) (Refs, error)

ScanForRefs scans cluster resources for resource references.

func ScanForSARefs

func ScanForSARefs(ctx context.Context, f Factory) (Refs, error)

ScanForSARefs scans cluster resources for serviceaccount refs.

type ReplicaSet

type ReplicaSet struct {
	Resource
}

ReplicaSet represents a replicaset K8s resource.

func (*ReplicaSet) Load

func (r *ReplicaSet) Load(f Factory, path string) (*v1.ReplicaSet, error)

Load returns a given instance.

func (*ReplicaSet) Rollback

func (r *ReplicaSet) Rollback(fqn string) error

Rollback reverses the last deployment.

type Resource

type Resource struct {
	Generic
}

Resource represents an informer based resource.

func (*Resource) Get

func (r *Resource) Get(_ context.Context, path string) (runtime.Object, error)

Get returns a resource instance if found, else an error.

func (*Resource) List

func (r *Resource) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of resources.

func (*Resource) ToYAML

func (r *Resource) ToYAML(path string) (string, error)

ToYAML returns a resource yaml.

type ResourceMetas

type ResourceMetas map[client.GVR]metav1.APIResource

ResourceMetas represents a collection of resource metadata.

type RestMapper

type RestMapper struct {
	client.Connection
}

RestMapper map resource to REST mapping ie kind, group, version.

func (*RestMapper) Name

func (*RestMapper) Name() meta.RESTScopeName

Name protocol returns rest scope name.

func (*RestMapper) ResourceFor

func (r *RestMapper) ResourceFor(resourceArg, kind string) (*meta.RESTMapping, error)

ResourceFor produces a rest mapping from a given resource. Support full res name ie deployment.v1.apps.

func (*RestMapper) ToRESTMapper

func (r *RestMapper) ToRESTMapper() (meta.RESTMapper, error)

ToRESTMapper map resources to kind, and map kind and version to interfaces for manipulating K8s objects.

type Restartable

type Restartable interface {
	// Restart performs a rollout restart.
	Restart(ctx context.Context, path string) error
}

Restartable represents a restartable resource.

type Runnable

type Runnable interface {
	// Run triggers a run.
	Run(path string) error
}

Runnable represents a runnable resource.

type Scalable

type Scalable interface {
	// Scale scales a resource up or down.
	Scale(ctx context.Context, path string, replicas int32) error
}

Scalable represents resources that can scale.

type ScreenDump

type ScreenDump struct {
	NonResource
}

ScreenDump represents a scraped resources.

func (*ScreenDump) Delete

func (d *ScreenDump) Delete(path string, cascade, force bool) error

Delete a ScreenDump.

func (*ScreenDump) List

func (d *ScreenDump) List(ctx context.Context, _ string) ([]runtime.Object, error)

List returns a collection of screen dumps.

type Service

type Service struct {
	Resource
}

Service represents a k8s service.

func (*Service) GetInstance

func (s *Service) GetInstance(fqn string) (*v1.Service, error)

GetInstance returns a service instance.

func (*Service) Pod

func (s *Service) Pod(fqn string) (string, error)

Pod returns a pod victim by name.

func (*Service) TailLogs

func (s *Service) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tail logs for all pods represented by this Service.

type StatefulSet

type StatefulSet struct {
	Resource
}

StatefulSet represents a K8s sts.

func (*StatefulSet) IsHappy

func (s *StatefulSet) IsHappy(sts appsv1.StatefulSet) bool

IsHappy check for happy sts.

func (*StatefulSet) Pod

func (s *StatefulSet) Pod(fqn string) (string, error)

Pod returns a pod victim by name.

func (*StatefulSet) Restart

func (s *StatefulSet) Restart(ctx context.Context, path string) error

Restart a StatefulSet rollout.

func (*StatefulSet) Scale

func (s *StatefulSet) Scale(ctx context.Context, path string, replicas int32) error

Scale a StatefulSet.

func (*StatefulSet) Scan

func (s *StatefulSet) Scan(ctx context.Context, gvr, fqn string, wait bool) (Refs, error)

Scan scans for cluster resource refs.

func (*StatefulSet) ScanSA

func (s *StatefulSet) ScanSA(ctx context.Context, fqn string, wait bool) (Refs, error)

ScanSA scans for serviceaccount refs.

func (*StatefulSet) TailLogs

func (s *StatefulSet) TailLogs(ctx context.Context, c LogChan, opts LogOptions) error

TailLogs tail logs for all pods represented by this StatefulSet.

type Subject

type Subject struct {
	Resource
}

Subject represents a subject model.

func (*Subject) List

func (s *Subject) List(ctx context.Context, ns string) ([]runtime.Object, error)

List returns a collection of subjects.

type Switchable

type Switchable interface {
	// Switch changes the active context.
	Switch(ctx string) error
}

Switchable represents a switchable resource.

type Table

type Table struct {
	Generic
}

Table retrieves K8s resources as tabular data.

func (*Table) Get

func (t *Table) Get(ctx context.Context, path string) (runtime.Object, error)

Get returns a given resource.

func (*Table) List

func (t *Table) List(ctx context.Context, ns string) ([]runtime.Object, error)

List all Resources in a given namespace.

Jump to

Keyboard shortcuts

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