models

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ObjectTypeSingular = map[string]string{
	"gateways":          "gateway",
	"virtualservices":   "virtualservice",
	"destinationrules":  "destinationrule",
	"serviceentries":    "serviceentry",
	"rules":             "rule",
	"quotaspecs":        "quotaspec",
	"quotaspecbindings": "quotaspecbinding",
}

Functions

This section is empty.

Types

type Address

type Address struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
	IP   string `json:"ip"`
}

func (*Address) Parse

func (address *Address) Parse(a v1.EndpointAddress)

type Addresses

type Addresses []Address

func (*Addresses) Parse

func (addresses *Addresses) Parse(as []v1.EndpointAddress)

type App

type App struct {
	// Namespace where the app lives in
	// required: true
	// example: bookinfo
	Namespace Namespace `json:"namespace"`

	// Name of the application
	// required: true
	// example: reviews
	Name string `json:"name"`

	// Workloads for a given application
	// required: true
	Workloads []WorkloadItem `json:"workloads"`

	// List of service names linked with an application
	// required: true
	ServiceNames []string `json:"serviceNames"`
}

type AppHealth

type AppHealth struct {
	Envoy            []EnvoyHealthWrapper `json:"envoy"`
	WorkloadStatuses []WorkloadStatus     `json:"workloadStatuses"`
	Requests         RequestHealth        `json:"requests"`
}

AppHealth contains aggregated health from various sources, for a given app

func EmptyAppHealth

func EmptyAppHealth() AppHealth

EmptyAppHealth create an empty AppHealth

type AppList

type AppList struct {
	// Namespace where the apps live in
	// required: true
	// example: bookinfo
	Namespace Namespace `json:"namespace"`

	// Applications for a given namespace
	// required: true
	Apps []AppListItem `json:"applications"`
}

type AppListItem

type AppListItem struct {
	// Name of the application
	// required: true
	// example: reviews
	Name string `json:"name"`

	// Define if all Pods related to the Workloads of this app has an IstioSidecar deployed
	// required: true
	// example: true
	IstioSidecar bool `json:"istioSidecar"`
}

AppListItem has the necessary information to display the console app list

type Autoscaler

type Autoscaler struct {
	Name      string            `json:"name"`
	Labels    map[string]string `json:"labels"`
	CreatedAt string            `json:"createdAt"`
	// Spec
	MinReplicas                    int32 `json:"minReplicas"`
	MaxReplicas                    int32 `json:"maxReplicas"`
	TargetCPUUtilizationPercentage int32 `json:"targetCPUUtilizationPercentage"`
	// Status
	ObservedGeneration              int64  `json:"observedGeneration,omitempty"`
	LastScaleTime                   string `json:"lastScaleTime,omitempty"`
	CurrentReplicas                 int32  `json:"currentReplicas"`
	DesiredReplicas                 int32  `json:"desiredReplicas"`
	CurrentCPUUtilizationPercentage int32  `json:"currentCPUUtilizationPercentage,omitempty"`
}

func (*Autoscaler) Parse

func (autoscaler *Autoscaler) Parse(d *v1.HorizontalPodAutoscaler)

type ContainerInfo

type ContainerInfo struct {
	Name  string `json:"name"`
	Image string `json:"image"`
}

ContainerInfo holds container name and image

type DestinationRule

type DestinationRule struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Host          interface{} `json:"host"`
		TrafficPolicy interface{} `json:"trafficPolicy"`
		Subsets       interface{} `json:"subsets"`
	} `json:"spec"`
}

DestinationRule destinationRule

This is used for returning a DestinationRule

swagger:model destinationRule

func (*DestinationRule) HasCircuitBreaker added in v0.9.1

func (dRule *DestinationRule) HasCircuitBreaker(namespace string, serviceName string, version string) bool

func (*DestinationRule) Parse

func (dRule *DestinationRule) Parse(destinationRule kubernetes.IstioObject)

type DestinationRules

type DestinationRules struct {
	Permissions ResourcePermissions `json:"permissions"`
	Items       []DestinationRule   `json:"items"`
}

DestinationRules destinationRules

This is used for returning an array of DestinationRules

swagger:model destinationRules An array of destinationRule swagger:allOf

func (*DestinationRules) Parse

func (dRules *DestinationRules) Parse(destinationRules []kubernetes.IstioObject)

type DestinationService added in v0.11.0

type DestinationService struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

DestinationService holds service identifiers used for workload dependencies

type Endpoint

type Endpoint struct {
	Addresses Addresses `json:"addresses"`
	Ports     Ports     `json:"ports"`
}

func (*Endpoint) Parse

func (endpoint *Endpoint) Parse(s v1.EndpointSubset)

type Endpoints

type Endpoints []Endpoint

func (*Endpoints) Parse

func (endpoints *Endpoints) Parse(es *v1.Endpoints)

type EnvoyHealthWrapper

type EnvoyHealthWrapper struct {
	prometheus.EnvoyServiceHealth
	Service string `json:"service"`
}

EnvoyHealthWrapper wraps EnvoyServiceHealth with the service name

type Gateway

type Gateway struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Servers  interface{} `json:"servers"`
		Selector interface{} `json:"selector"`
	} `json:"spec"`
}

func (*Gateway) Parse

func (gw *Gateway) Parse(gateway kubernetes.IstioObject)

type Gateways

type Gateways []Gateway

func (*Gateways) Parse

func (gws *Gateways) Parse(gateways []kubernetes.IstioObject)

type GrafanaInfo

type GrafanaInfo struct {
	URL                   string `json:"url"`
	ServiceDashboardPath  string `json:"serviceDashboardPath"`
	WorkloadDashboardPath string `json:"workloadDashboardPath"`
	VarNamespace          string `json:"varNamespace"`
	VarService            string `json:"varService"`
	VarWorkload           string `json:"varWorkload"`
}

GrafanaInfo provides information to access Grafana dashboards

type IstioAdapter added in v0.11.0

type IstioAdapter struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     interface{}        `json:"spec"`
	Adapter  string             `json:"adapter"`
	// We need to bring the plural to use it from the UI to build the API
	Adapters string `json:"adapters"`
}

IstioAdapter istioAdapter

This type type is used for returning a IstioAdapter

swagger:model istioAdapter

func CastIstioAdapter added in v0.11.0

func CastIstioAdapter(adapter kubernetes.IstioObject) IstioAdapter

type IstioAdapters added in v0.11.0

type IstioAdapters []IstioAdapter

IstioAdapters istioAdapters

This type type is used for returning an array of IstioAdapters

swagger:model istioAdapters An array of istioAdapter swagger:allOf

func CastIstioAdaptersCollection added in v0.11.0

func CastIstioAdaptersCollection(adapters []kubernetes.IstioObject) IstioAdapters

type IstioCheck

type IstioCheck struct {
	// Description of the check
	// required: true
	// example: Weight sum should be 100
	Message string `json:"message"`

	// Indicates the level of importance: error or warning
	// required: true
	// example: error
	Severity string `json:"severity"`

	// String that describes where in the yaml file is the check located
	// example: spec/http[0]/route
	Path string `json:"path"`
}

IstioCheck represents an individual check. swagger:model

func BuildCheck

func BuildCheck(message, severity, path string) IstioCheck

type IstioConfigDetails

type IstioConfigDetails struct {
	Namespace        Namespace           `json:"namespace"`
	ObjectType       string              `json:"objectType"`
	Gateway          *Gateway            `json:"gateway"`
	VirtualService   *VirtualService     `json:"virtualService"`
	DestinationRule  *DestinationRule    `json:"destinationRule"`
	ServiceEntry     *ServiceEntry       `json:"serviceEntry"`
	Rule             *IstioRule          `json:"rule"`
	Adapter          *IstioAdapter       `json:"adapter"`
	Template         *IstioTemplate      `json:"template"`
	QuotaSpec        *QuotaSpec          `json:"quotaSpec"`
	QuotaSpecBinding *QuotaSpecBinding   `json:"quotaSpecBinding"`
	Permissions      ResourcePermissions `json:"permissions"`
}

type IstioConfigList

type IstioConfigList struct {
	// The namespace of istioConfiglist
	//
	// required: true
	Namespace         Namespace         `json:"namespace"`
	Gateways          Gateways          `json:"gateways"`
	VirtualServices   VirtualServices   `json:"virtualServices"`
	DestinationRules  DestinationRules  `json:"destinationRules"`
	ServiceEntries    ServiceEntries    `json:"serviceEntries"`
	Rules             IstioRules        `json:"rules"`
	Adapters          IstioAdapters     `json:"adapters"`
	Templates         IstioTemplates    `json:"templates"`
	QuotaSpecs        QuotaSpecs        `json:"quotaSpecs"`
	QuotaSpecBindings QuotaSpecBindings `json:"quotaSpecBindings"`
}

IstioConfigList istioConfigList

This type is used for returning a response of IstioConfigList

swagger:model IstioConfigList

type IstioRule

type IstioRule struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Match   interface{} `json:"match"`
		Actions interface{} `json:"actions"`
	} `json:"spec"`
}

IstioRule istioRule

This type type is used for returning a IstioRule

swagger:model istioRule

func CastIstioRule

func CastIstioRule(rule kubernetes.IstioObject) IstioRule

type IstioRuleList

type IstioRuleList struct {
	Namespace Namespace   `json:"namespace"`
	Rules     []IstioRule `json:"rules"`
}

type IstioRules

type IstioRules []IstioRule

IstioRules istioRules

This type type is used for returning an array of IstioRules

swagger:model istioRules An array of istioRule swagger:allOf

func CastIstioRulesCollection

func CastIstioRulesCollection(rules []kubernetes.IstioObject) IstioRules

type IstioTemplate added in v0.11.0

type IstioTemplate struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     interface{}        `json:"spec"`
	Template string             `json:"template"`
	// We need to bring the plural to use it from the UI to build the API
	Templates string `json:"templates"`
}

IstioTemplate istioTemplate

This type type is used for returning a IstioTemplate

swagger:model istioTemplate

func CastIstioTemplate added in v0.11.0

func CastIstioTemplate(template kubernetes.IstioObject) IstioTemplate

type IstioTemplates added in v0.11.0

type IstioTemplates []IstioTemplate

IstioTemplates istioTemplates

This type type is used for returning an array of IstioTemplates

swagger:model istioTemplates An array of istioTemplates swagger:allOf

func CastIstioTemplatesCollection added in v0.11.0

func CastIstioTemplatesCollection(templates []kubernetes.IstioObject) IstioTemplates

type IstioValidation

type IstioValidation struct {
	// Name of the object itself
	// required: true
	// example: reviews
	Name string `json:"name"`

	// Type of the object
	// required: true
	// example: virtualservice
	ObjectType string `json:"objectType"`

	// Represents validity of the object: in case of warning, validity remains as true
	// required: true
	// example: false
	Valid bool `json:"valid"`

	// Array of checks. It might be empty.
	Checks []*IstioCheck `json:"checks"`
}

IstioValidation represents a list of checks associated to an Istio object. swagger:model

type IstioValidationKey

type IstioValidationKey struct {
	ObjectType string
	Name       string
}

IstioValidationKey is the key value composed of an Istio ObjectType and Name.

type IstioValidations

type IstioValidations map[IstioValidationKey]*IstioValidation

IstioValidations represents a set of IstioValidation grouped by IstioValidationKey.

func (IstioValidations) FilterByKey

func (iv IstioValidations) FilterByKey(objectType, name string) IstioValidations

func (IstioValidations) MarshalJSON

func (iv IstioValidations) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (IstioValidations) MergeValidations

func (iv IstioValidations) MergeValidations(validations IstioValidations) IstioValidations

type JaegerInfo

type JaegerInfo struct {
	URL string `json:"url"`
}

JaegerInfo provides information to access Jaeger UI

type Namespace

type Namespace struct {
	// The id of the namespace.
	//
	// example:  istio-system
	// required: true
	Name string `json:"name"`

	// Creation date of the namespace.
	// There is no need to export this through the API. So, this is
	// set to be ignored by JSON package.
	//
	// required: true
	CreationTimestamp time.Time `json:"-"`
}

A Namespace provide a scope for names This type is used to describe a set of objects.

swagger:model namespace

func CastNamespace

func CastNamespace(ns v1.Namespace) Namespace

func CastNamespaceCollection

func CastNamespaceCollection(ns []v1.Namespace) []Namespace

func CastProject

func CastProject(p osv1.Project) Namespace

func CastProjectCollection

func CastProjectCollection(ps []osv1.Project) []Namespace

type NamespaceAppHealth

type NamespaceAppHealth map[string]*AppHealth

NamespaceAppHealth is an alias of map of app name x health

type NamespaceServiceHealth

type NamespaceServiceHealth map[string]*ServiceHealth

NamespaceServiceHealth is an alias of map of service name x health

type NamespaceValidations

type NamespaceValidations map[string]IstioValidations

NamespaceValidations represents a set of IstioValidations grouped by namespace

type NamespaceWorkloadHealth

type NamespaceWorkloadHealth map[string]*WorkloadHealth

NamespaceWorkloadHealth is an alias of map of workload name x health

type Pod

type Pod struct {
	Name                string            `json:"name"`
	Labels              map[string]string `json:"labels"`
	CreatedAt           string            `json:"createdAt"`
	CreatedBy           []Reference       `json:"createdBy"`
	IstioContainers     []*ContainerInfo  `json:"istioContainers"`
	IstioInitContainers []*ContainerInfo  `json:"istioInitContainers"`
	Status              string            `json:"status"`
	AppLabel            bool              `json:"appLabel"`
	VersionLabel        bool              `json:"versionLabel"`
}

Pod holds a subset of v1.Pod data that is meaningful in Kiali

func (Pod) HasIstioSideCar

func (pod Pod) HasIstioSideCar() bool

func (*Pod) Parse

func (pod *Pod) Parse(p *v1.Pod)

ParseDeployment extracts desired information from k8s Pod info

type Pods

type Pods []*Pod

Pods alias for list of Pod structs

func (Pods) HasIstioSideCar

func (pods Pods) HasIstioSideCar() bool

func (*Pods) Parse

func (pods *Pods) Parse(list []v1.Pod)

ParseDeployment extracts desired information from k8s []Pod info

type Port

type Port struct {
	Name     string `json:"name"`
	Protocol string `json:"protocol"`
	Port     int32  `json:"port"`
}

func (*Port) Parse

func (port *Port) Parse(p v1.ServicePort)

func (*Port) ParseEndpointPort

func (port *Port) ParseEndpointPort(p v1.EndpointPort)

type Ports

type Ports []Port

func (*Ports) Parse

func (ports *Ports) Parse(ps []v1.ServicePort)

func (*Ports) ParseEndpointPorts

func (ports *Ports) ParseEndpointPorts(ps []v1.EndpointPort)

type QuotaSpec

type QuotaSpec struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Rules interface{} `json:"rules"`
	} `json:"spec"`
}

func (*QuotaSpec) Parse

func (qs *QuotaSpec) Parse(quotaSpec kubernetes.IstioObject)

type QuotaSpecBinding

type QuotaSpecBinding struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		QuotaSpecs interface{} `json:"quotaSpecs"`
		Services   interface{} `json:"services"`
	} `json:"spec"`
}

func (*QuotaSpecBinding) Parse

func (qsb *QuotaSpecBinding) Parse(quotaSpecBinding kubernetes.IstioObject)

type QuotaSpecBindings

type QuotaSpecBindings []QuotaSpecBinding

func (*QuotaSpecBindings) Parse

func (qsbs *QuotaSpecBindings) Parse(quotaSpecBindings []kubernetes.IstioObject)

type QuotaSpecs

type QuotaSpecs []QuotaSpec

func (*QuotaSpecs) Parse

func (qss *QuotaSpecs) Parse(quotaSpecs []kubernetes.IstioObject)

type Reference

type Reference struct {
	Name string `json:"name"`
	Kind string `json:"kind"`
}

Reference holds some information on the pod creator

type RequestHealth

type RequestHealth struct {
	ErrorRatio         float64 `json:"errorRatio"`
	InboundErrorRatio  float64 `json:"inboundErrorRatio"`
	OutboundErrorRatio float64 `json:"outboundErrorRatio"`
	// contains filtered or unexported fields
}

RequestHealth holds several stats about recent request errors

func NewEmptyRequestHealth added in v0.11.0

func NewEmptyRequestHealth() RequestHealth

func (*RequestHealth) AggregateInbound added in v0.11.0

func (in *RequestHealth) AggregateInbound(sample *model.Sample)

AggregateInbound adds the provided metric sample to internal inbound counters and updates error ratios

func (*RequestHealth) AggregateOutbound added in v0.11.0

func (in *RequestHealth) AggregateOutbound(sample *model.Sample)

AggregateOutbound adds the provided metric sample to internal outbound counters and updates error ratios

type ResourcePermissions added in v0.9.1

type ResourcePermissions struct {
	Update bool `json:"update"`
	Delete bool `json:"delete"`
}

ResourcePermissions holds permission flags for an object type True means allowed.

type Service

type Service struct {
	Name            string            `json:"name"`
	CreatedAt       string            `json:"createdAt"`
	ResourceVersion string            `json:"resourceVersion"`
	Namespace       Namespace         `json:"namespace"`
	Labels          map[string]string `json:"labels"`
	Type            string            `json:"type"`
	Ip              string            `json:"ip"`
	Ports           Ports             `json:"ports"`
}

func (*Service) Parse

func (s *Service) Parse(service *v1.Service)

type ServiceDetails

type ServiceDetails struct {
	Service          Service                     `json:"service"`
	IstioSidecar     bool                        `json:"istioSidecar"`
	Endpoints        Endpoints                   `json:"endpoints"`
	VirtualServices  VirtualServices             `json:"virtualServices"`
	DestinationRules DestinationRules            `json:"destinationRules"`
	Dependencies     map[string][]SourceWorkload `json:"dependencies"`
	Workloads        WorkloadOverviews           `json:"workloads"`
	Health           ServiceHealth               `json:"health"`
}

func (*ServiceDetails) SetDestinationRules

func (s *ServiceDetails) SetDestinationRules(dr []kubernetes.IstioObject, canUpdate, canDelete bool)

func (*ServiceDetails) SetEndpoints

func (s *ServiceDetails) SetEndpoints(eps *v1.Endpoints)

func (*ServiceDetails) SetPods

func (s *ServiceDetails) SetPods(pods []v1.Pod)

func (*ServiceDetails) SetService

func (s *ServiceDetails) SetService(svc *v1.Service)

func (*ServiceDetails) SetSourceWorkloads

func (s *ServiceDetails) SetSourceWorkloads(sw map[string][]prometheus.Workload)

func (*ServiceDetails) SetVirtualServices

func (s *ServiceDetails) SetVirtualServices(vs []kubernetes.IstioObject, canUpdate, canDelete bool)

type ServiceEntries

type ServiceEntries []ServiceEntry

func (*ServiceEntries) Parse

func (ses *ServiceEntries) Parse(serviceEntries []kubernetes.IstioObject)

type ServiceEntry

type ServiceEntry struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Hosts      interface{} `json:"hosts"`
		Addresses  interface{} `json:"addresses"`
		Ports      interface{} `json:"ports"`
		Location   interface{} `json:"location"`
		Resolution interface{} `json:"resolution"`
		Endpoints  interface{} `json:"endpoints"`
	} `json:"spec"`
}

func (*ServiceEntry) Parse

func (se *ServiceEntry) Parse(serviceEntry kubernetes.IstioObject)

type ServiceHealth

type ServiceHealth struct {
	Envoy    prometheus.EnvoyServiceHealth `json:"envoy"`
	Requests RequestHealth                 `json:"requests"`
}

ServiceHealth contains aggregated health from various sources, for a given service

func EmptyServiceHealth added in v0.11.0

func EmptyServiceHealth() ServiceHealth

EmptyServiceHealth create an empty ServiceHealth

type ServiceList

type ServiceList struct {
	Namespace Namespace         `json:"namespace"`
	Services  []ServiceOverview `json:"services"`
}

type ServiceOverview

type ServiceOverview struct {
	// Name of the Service
	// required: true
	// example: reviews-v1
	Name string `json:"name"`
	// Define if Pods related to this Service has an IstioSidecar deployed
	// required: true
	// example: true
	IstioSidecar bool `json:"istioSidecar"`
	// Has label app
	// required: true
	// example: true
	AppLabel bool `json:"appLabel"`
}

type Services

type Services []*Service

func (*Services) Parse

func (ss *Services) Parse(services []v1.Service)

type SourceWorkload

type SourceWorkload struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

SourceWorkload holds workload identifiers used for service dependencies

type VirtualService

type VirtualService struct {
	Metadata meta_v1.ObjectMeta `json:"metadata"`
	Spec     struct {
		Hosts    interface{} `json:"hosts"`
		Gateways interface{} `json:"gateways"`
		Http     interface{} `json:"http"`
		Tcp      interface{} `json:"tcp"`
		Tls      interface{} `json:"tls"`
	} `json:"spec"`
}

VirtualService virtualService

This type is used for returning a VirtualService

swagger:model virtualService

func (*VirtualService) IsValidHost added in v0.9.1

func (vService *VirtualService) IsValidHost(namespace string, serviceName string) bool

IsValidHost returns true if VirtualService hosts applies to the service

func (*VirtualService) Parse

func (vService *VirtualService) Parse(virtualService kubernetes.IstioObject)

type VirtualServices

type VirtualServices struct {
	Permissions ResourcePermissions `json:"permissions"`
	Items       []VirtualService    `json:"items"`
}

VirtualServices virtualServices

This type is used for returning an array of VirtualServices with some permission flags

swagger:model virtualServices An array of virtualService swagger:allOf

func (*VirtualServices) Parse

func (vServices *VirtualServices) Parse(virtualServices []kubernetes.IstioObject)

type Workload

type Workload struct {
	WorkloadListItem

	// Number of desired replicas
	// required: true
	// example: 2
	Replicas int32 `json:"replicas"`

	// Number of available replicas
	// required: true
	// example: 1
	AvailableReplicas int32 `json:"availableReplicas"`

	// Number of unavailable replicas
	// required: true
	// example: 1
	UnavailableReplicas int32 `json:"unavailableReplicas"`

	// Pods bound to the workload
	Pods Pods `json:"pods"`

	// Services that match workload selector
	Services Services `json:"services"`

	DestinationServices []DestinationService `json:"destinationServices"`
}

Workload has the details of a workload

func (*Workload) ParseCronJob

func (workload *Workload) ParseCronJob(cnjb *batch_v1beta1.CronJob)

func (*Workload) ParseDeployment

func (workload *Workload) ParseDeployment(d *v1beta1.Deployment)

func (*Workload) ParseDeploymentConfig

func (workload *Workload) ParseDeploymentConfig(dc *osappsv1.DeploymentConfig)

func (*Workload) ParseJob

func (workload *Workload) ParseJob(job *batch_v1.Job)

func (*Workload) ParsePod

func (workload *Workload) ParsePod(pod *v1.Pod)

func (*Workload) ParsePods

func (workload *Workload) ParsePods(controllerName string, controllerType string, pods []v1.Pod)

func (*Workload) ParseReplicaSet

func (workload *Workload) ParseReplicaSet(r *v1beta2.ReplicaSet)

func (*Workload) ParseReplicationController

func (workload *Workload) ParseReplicationController(r *v1.ReplicationController)

func (*Workload) ParseStatefulSet

func (workload *Workload) ParseStatefulSet(s *v1beta2.StatefulSet)

func (*Workload) SetDestinationServices added in v0.11.0

func (workload *Workload) SetDestinationServices(dss []prometheus.Service)

func (*Workload) SetPods

func (workload *Workload) SetPods(pods []v1.Pod)

func (*Workload) SetServices

func (workload *Workload) SetServices(svcs []v1.Service)

type WorkloadHealth

type WorkloadHealth struct {
	WorkloadStatus WorkloadStatus `json:"workloadStatus"`
	Requests       RequestHealth  `json:"requests"`
}

WorkloadHealth contains aggregated health from various sources, for a given workload

type WorkloadItem

type WorkloadItem struct {
	// Name of a workload member of an application
	// required: true
	// example: reviews-v1
	WorkloadName string `json:"workloadName"`

	// Define if all Pods related to the Workload has an IstioSidecar deployed
	// required: true
	// example: true
	IstioSidecar bool `json:"istioSidecar"`
}

type WorkloadList

type WorkloadList struct {
	// Namespace where the workloads live in
	// required: true
	// example: bookinfo
	Namespace Namespace `json:"namespace"`

	// Workloads for a given namespace
	// required: true
	Workloads []WorkloadListItem `json:"workloads"`
}

type WorkloadListItem

type WorkloadListItem struct {
	// Name of the workload
	// required: true
	// example: reviews-v1
	Name string `json:"name"`

	// Type of the workload
	// required: true
	// example: deployment
	Type string `json:"type"`

	// Creation timestamp (in RFC3339 format)
	// required: true
	// example: 2018-07-31T12:24:17Z
	CreatedAt string `json:"createdAt"`

	// Kubernetes ResourceVersion
	// required: true
	// example: 192892127
	ResourceVersion string `json:"resourceVersion"`

	// Define if Pods related to this Workload has an IstioSidecar deployed
	// required: true
	// example: true
	IstioSidecar bool `json:"istioSidecar"`

	// Workload labels
	Labels map[string]string `json:"labels"`

	// Define if Pods related to this Workload has the label App
	// required: true
	// example: true
	AppLabel bool `json:"appLabel"`

	// Define if Pods related to this Workload has the label Version
	// required: true
	// example: true
	VersionLabel bool `json:"versionLabel"`

	// Number of current workload pods
	// required: true
	// example: 1
	PodCount int `json:"podCount"`
}

WorkloadListItem has the necessary information to display the console workload list

func (*WorkloadListItem) ParseWorkload

func (workload *WorkloadListItem) ParseWorkload(w *Workload)

type WorkloadOverviews

type WorkloadOverviews []*WorkloadListItem

type WorkloadStatus

type WorkloadStatus struct {
	Name              string `json:"name"`
	Replicas          int32  `json:"replicas"`
	AvailableReplicas int32  `json:"available"`
}

WorkloadStatus gives the available / total replicas in a deployment of a pod

type Workloads

type Workloads []*Workload

Jump to

Keyboard shortcuts

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