Documentation ¶
Index ¶
- Variables
- func CheckMessage(checkId string) string
- type AdditionalItem
- type Address
- type Addresses
- type Aggregation
- type App
- type AppHealth
- type AppList
- type AppListItem
- type AuthorizationPolicies
- type AuthorizationPolicy
- type Autoscaler
- type Bootstrap
- type Chart
- type Cluster
- type Clusters
- type ContainerInfo
- type ConversionParams
- type CustomMetricsQuery
- type DashboardQuery
- type DashboardRef
- type Datapoint
- type DestinationRule
- type DestinationRules
- type Endpoint
- type Endpoints
- type EnvoyFilter
- type EnvoyFilters
- type EnvoyProxyDump
- type ExternalLink
- type Gateway
- type Gateways
- type GrafanaInfo
- type HTTPMatchRequest
- type HTTPMatchRule
- type IstioBase
- type IstioCheck
- type IstioConfigDetails
- type IstioConfigList
- type IstioConfigPermissions
- type IstioMetricsQuery
- type IstioValidation
- type IstioValidationKey
- type IstioValidationSummary
- type IstioValidations
- func (iv IstioValidations) FilterByKey(objectType, name string) IstioValidations
- func (iv IstioValidations) FilterBySingleType(objectType, name string) IstioValidations
- func (iv IstioValidations) FilterByTypes(objectTypes []string) IstioValidations
- func (iv IstioValidations) MarshalJSON() ([]byte, error)
- func (iv IstioValidations) MergeReferences(validations IstioValidations) IstioValidations
- func (iv IstioValidations) MergeValidations(validations IstioValidations) IstioValidations
- func (iv IstioValidations) SummarizeValidation(ns string) IstioValidationSummary
- type Iter8AnalyticsConfig
- type Iter8CandidateStatus
- type Iter8Criteria
- type Iter8CriteriaDetail
- type Iter8ExperimentAction
- type Iter8ExperimentDetail
- type Iter8ExperimentItem
- type Iter8ExperimentSpec
- type Iter8Info
- type Iter8Match
- type Iter8Metric
- type Iter8Metrics
- type Iter8SuccessCrideriaStatus
- type Iter8TrafficControl
- type JaegerInfo
- type Listener
- type Listeners
- type MTLSStatus
- type Metric
- type MetricsMap
- type MetricsStats
- type MetricsStatsQueries
- type MetricsStatsQuery
- type MetricsStatsResult
- type MonitoringDashboard
- type Namespace
- type NamespaceAppHealth
- type NamespaceNames
- type NamespaceServiceHealth
- type NamespaceValidations
- type NamespaceWorkloadHealth
- type Namespaces
- type PeerAuthentication
- type PeerAuthentications
- type Pod
- type Pods
- type Policies
- type Policy
- type Port
- type Ports
- type ProxyStatus
- type Reference
- type RequestAuthentication
- type RequestAuthentications
- type RequestHealth
- type ResourcePermissions
- type ResourcesPermissions
- type Route
- type Routes
- type Runtime
- type Service
- type ServiceDefinitionList
- type ServiceDetails
- func (s *ServiceDetails) SetDestinationRules(dr []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
- func (s *ServiceDetails) SetEndpoints(eps *core_v1.Endpoints)
- func (s *ServiceDetails) SetPods(pods []core_v1.Pod)
- func (s *ServiceDetails) SetService(svc *core_v1.Service)
- func (s *ServiceDetails) SetVirtualServices(vs []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
- type ServiceEntries
- type ServiceEntry
- type ServiceHealth
- type ServiceList
- type ServiceOverview
- type Services
- type SeverityLevel
- type Sidecar
- type Sidecars
- type Stat
- type Target
- type TracingQuery
- type VirtualService
- type VirtualServices
- type Workload
- func (w Workload) CastWorkloadStatus() *WorkloadStatus
- func (workload *Workload) HasIstioSidecar() bool
- func (workload *Workload) ParseCronJob(cnjb *batch_v1beta1.CronJob)
- func (workload *Workload) ParseDeployment(d *apps_v1.Deployment)
- func (workload *Workload) ParseDeploymentConfig(dc *osapps_v1.DeploymentConfig)
- func (workload *Workload) ParseJob(job *batch_v1.Job)
- func (workload *Workload) ParsePod(pod *core_v1.Pod)
- func (workload *Workload) ParsePods(controllerName string, controllerType string, pods []core_v1.Pod)
- func (workload *Workload) ParseReplicaSet(r *apps_v1.ReplicaSet)
- func (workload *Workload) ParseReplicaSetParent(r *apps_v1.ReplicaSet, workloadName string, workloadType string)
- func (workload *Workload) ParseReplicationController(r *core_v1.ReplicationController)
- func (workload *Workload) ParseStatefulSet(s *apps_v1.StatefulSet)
- func (workload *Workload) SetPods(pods []core_v1.Pod)
- func (workload *Workload) SetServices(svcs []core_v1.Service)
- type WorkloadEntries
- type WorkloadEntry
- type WorkloadHealth
- type WorkloadItem
- type WorkloadList
- type WorkloadListItem
- type WorkloadOverviews
- type WorkloadStatus
- type Workloads
Constants ¶
This section is empty.
Variables ¶
var ObjectTypeSingular = map[string]string{
"gateways": "gateway",
"virtualservices": "virtualservice",
"destinationrules": "destinationrule",
"serviceentries": "serviceentry",
"rules": "rule",
"quotaspecs": "quotaspec",
"quotaspecbindings": "quotaspecbinding",
"servicemeshpolicies": "servicemeshpolicy",
"policies": "policy",
"serviceroles": "servicerole",
"servicerolebindings": "servicerolebinding",
"clusterrbacconfigs": "clusterrbacconfig",
"authorizationpolicies": "authorizationpolicy",
"sidecars": "sidecar",
"peerauthentications": "peerauthentication",
"requestauthentications": "requestauthentication",
}
Functions ¶
func CheckMessage ¶ added in v0.14.0
Types ¶
type AdditionalItem ¶ added in v1.10.0
type AdditionalItem struct { Title string `json:"title"` Value string `json:"value"` Icon string `json:"icon"` }
func GetAdditionalDetails ¶ added in v1.10.0
func GetAdditionalDetails(conf *config.Config, annotations map[string]string) []AdditionalItem
func GetFirstAdditionalIcon ¶ added in v1.15.0
func GetFirstAdditionalIcon(conf *config.Config, annotations map[string]string) *AdditionalItem
type Addresses ¶
type Addresses []Address
func (*Addresses) Parse ¶
func (addresses *Addresses) Parse(as []core_v1.EndpointAddress)
type Aggregation ¶ added in v0.12.0
type Aggregation struct { Label string `json:"label"` DisplayName string `json:"displayName"` SingleSelection bool `json:"singleSelection"` }
Aggregation is the model representing label's allowed aggregation, transformed from aggregation in MonitoringDashboard k8s resource
func ConvertAggregations ¶ added in v0.12.0
func ConvertAggregations(from v1alpha1.MonitoringDashboardSpec) []Aggregation
ConvertAggregations converts a k8s aggregations (from MonitoringDashboard k8s resource) into this models aggregations Results are sorted by DisplayName
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"` // Runtimes and associated dashboards Runtimes []Runtime `json:"runtimes"` }
type AppHealth ¶
type AppHealth struct { WorkloadStatuses []*WorkloadStatus `json:"workloadStatuses"` Requests RequestHealth `json:"requests"` }
AppHealth contains aggregated health from various sources, for a given app
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"` // Labels for App Labels map[string]string `json:"labels"` }
AppListItem has the necessary information to display the console app list
type AuthorizationPolicies ¶ added in v1.12.0
type AuthorizationPolicies []AuthorizationPolicy
AuthorizationPolicies authorizationPolicies
This is used for returning an array of AuthorizationPolicies ¶
swagger:model authorizationPolicies An array of authorizationPolicy swagger:allOf
func (*AuthorizationPolicies) Parse ¶ added in v1.12.0
func (aps *AuthorizationPolicies) Parse(authorizationPolicies []kubernetes.IstioObject)
type AuthorizationPolicy ¶ added in v1.12.0
type AuthorizationPolicy struct { IstioBase Spec struct { Selector interface{} `json:"selector,omitempty"` Rules interface{} `json:"rules,omitempty"` Action interface{} `json:"action,omitempty"` } `json:"spec"` }
AuthorizationPolicy authorizationPolicy
This is used for returning an AuthorizationPolicy ¶
swagger:model authorizationPolicy
func (*AuthorizationPolicy) Parse ¶ added in v1.12.0
func (ap *AuthorizationPolicy) Parse(authorizationPolicy kubernetes.IstioObject)
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 *autoscaling_v1.HorizontalPodAutoscaler)
type Bootstrap ¶ added in v1.28.0
type Bootstrap struct {
Bootstrap map[string]interface{} `json:"bootstrap,inline"`
}
func (*Bootstrap) Parse ¶ added in v1.28.0
func (bd *Bootstrap) Parse(dump *kubernetes.ConfigDump) error
type Chart ¶ added in v0.12.0
type Chart struct { Name string `json:"name"` Unit string `json:"unit"` Spans int `json:"spans"` StartCollapsed bool `json:"startCollapsed"` ChartType *string `json:"chartType,omitempty"` Min *int `json:"min,omitempty"` Max *int `json:"max,omitempty"` Metrics []Metric `json:"metrics"` XAxis *string `json:"xAxis"` Error string `json:"error"` }
Chart is the model representing a custom chart, transformed from charts in MonitoringDashboard k8s resource
func ConvertChart ¶ added in v0.12.0
func ConvertChart(from v1alpha1.MonitoringDashboardChart) Chart
ConvertChart converts a k8s chart (from MonitoringDashboard k8s resource) into this models chart
type Cluster ¶ added in v1.28.0
type Cluster struct { ServiceFQDN string `json:"service_fqdn"` Port int `json:"port"` Subset string `json:"subset"` Direction string `json:"direction"` Type string `json:"type"` DestinationRule string `json:"destination_rule"` }
func (*Cluster) Parse ¶ added in v1.28.0
func (cs *Cluster) Parse(cluster kubernetes.EnvoyCluster)
type Clusters ¶ added in v1.28.0
type Clusters []*Cluster
func (*Clusters) Parse ¶ added in v1.28.0
func (css *Clusters) Parse(dump *kubernetes.ConfigDump) error
type ContainerInfo ¶
ContainerInfo holds container name and image
type ConversionParams ¶ added in v1.27.0
type CustomMetricsQuery ¶ added in v1.27.0
type CustomMetricsQuery struct { prometheus.RangeQuery Namespace string App string Version string RawDataAggregator string }
CustomMetricsQuery holds query parameters for a custom metrics query
func (*CustomMetricsQuery) FillDefaults ¶ added in v1.27.0
func (q *CustomMetricsQuery) FillDefaults()
FillDefaults fills the struct with default parameters
type DashboardQuery ¶ added in v1.27.0
type DashboardQuery struct { prometheus.RangeQuery Namespace string LabelsFilters map[string]string AdditionalLabels []Aggregation RawDataAggregator string }
DashboardQuery holds query parameters for a dashboard query
func (*DashboardQuery) FillDefaults ¶ added in v1.27.0
func (q *DashboardQuery) FillDefaults()
FillDefaults fills the struct with default parameters
type DashboardRef ¶ added in v0.12.0
DashboardRef holds template name and title for a custom dashboard
type Datapoint ¶ added in v1.27.0
func (Datapoint) MarshalJSON ¶ added in v1.27.0
MarshalJSON implements json.Marshaler.
type DestinationRule ¶
type DestinationRule struct { IstioBase Spec struct { Host interface{} `json:"host,omitempty"` TrafficPolicy interface{} `json:"trafficPolicy,omitempty"` Subsets interface{} `json:"subsets,omitempty"` ExportTo interface{} `json:"exportTo,omitempty"` } `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 EnvoyFilter ¶ added in v1.18.2
type EnvoyFilter struct { IstioBase Spec struct { WorkloadSelector interface{} `json:"workloadSelector"` ConfigPatches interface{} `json:"configPatches"` } `json:"spec"` }
EnvoyFilter envoyFilter
This is used for returning an EnvoyFilter ¶
swagger:model envoyFilter
func (*EnvoyFilter) Parse ¶ added in v1.18.2
func (ef *EnvoyFilter) Parse(envoyFilter kubernetes.IstioObject)
type EnvoyFilters ¶ added in v1.18.2
type EnvoyFilters []EnvoyFilter
EnvoyFilters envoyFilters
This is used for returning an array of EnvoyFilter ¶
swagger:model envoyFilters An array of envoyFilter swagger:allOf
func (*EnvoyFilters) Parse ¶ added in v1.18.2
func (efs *EnvoyFilters) Parse(envoyFilters []kubernetes.IstioObject)
type EnvoyProxyDump ¶ added in v1.28.0
type EnvoyProxyDump struct { ConfigDump *kubernetes.ConfigDump `json:"config_dump,omitempty"` Bootstrap *Bootstrap `json:"bootstrap,omitempty"` Clusters *Clusters `json:"clusters,omitempty"` Listeners *Listeners `json:"listeners,omitempty"` Routes *Routes `json:"routes,omitempty"` }
type ExternalLink ¶ added in v1.27.0
type ExternalLink struct { URL string `json:"url"` Name string `json:"name"` Variables v1alpha1.MonitoringDashboardExternalLinkVariables `json:"variables"` }
ExternalLink provides links to external dashboards (e.g. to Grafana)
type Gateway ¶
type Gateway struct { IstioBase 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 {
ExternalLinks []ExternalLink `json:"externalLinks"`
}
GrafanaInfo provides information to access Grafana dashboards
type HTTPMatchRequest ¶ added in v1.25.0
type HTTPMatchRequest struct { URI HTTPMatchRule `json:"uri,omitempty"` Headers []HTTPMatchRule `json:"headers,omitempty"` }
type HTTPMatchRule ¶ added in v1.27.0
type IstioBase ¶ added in v1.24.0
type IstioBase struct { meta_v1.TypeMeta Metadata meta_v1.ObjectMeta `json:"metadata"` Status map[string]interface{} `json:"status,omitempty"` }
func (*IstioBase) Parse ¶ added in v1.24.0
func (ib *IstioBase) Parse(io kubernetes.IstioObject)
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 SeverityLevel `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 Build ¶ added in v0.14.0
func Build(checkId string, 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"` WorkloadEntry *WorkloadEntry `json:"workloadEntry"` EnvoyFilter *EnvoyFilter `json:"envoyFilter"` Sidecar *Sidecar `json:"sidecar"` AuthorizationPolicy *AuthorizationPolicy `json:"authorizationPolicy"` PeerAuthentication *PeerAuthentication `json:"peerAuthentication"` RequestAuthentication *RequestAuthentication `json:"requestAuthentication"` Permissions ResourcePermissions `json:"permissions"` IstioValidation *IstioValidation `json:"validation"` }
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"` WorkloadEntries WorkloadEntries `json:"workloadEntries"` EnvoyFilters EnvoyFilters `json:"envoyFilters"` Sidecars Sidecars `json:"sidecars"` AuthorizationPolicies AuthorizationPolicies `json:"authorizationPolicies"` PeerAuthentications PeerAuthentications `json:"peerAuthentications"` RequestAuthentications RequestAuthentications `json:"requestAuthentications"` IstioValidations IstioValidations `json:"validations"` }
IstioConfigList istioConfigList
This type is used for returning a response of IstioConfigList ¶
swagger:model IstioConfigList
type IstioConfigPermissions ¶ added in v1.13.0
type IstioConfigPermissions map[string]*ResourcesPermissions
IstioConfigPermissions holds a map of ResourcesPermissions per namespace
type IstioMetricsQuery ¶ added in v1.27.0
type IstioMetricsQuery struct { prometheus.RangeQuery Filters []string Namespace string App string Workload string Service string Direction string // outbound | inbound RequestProtocol string // e.g. http | grpc Reporter string // source | destination, defaults to source if not provided Aggregate string AggregateValue string }
IstioMetricsQuery holds query parameters for a typical metrics query
func (*IstioMetricsQuery) FillDefaults ¶ added in v1.27.0
func (q *IstioMetricsQuery) FillDefaults()
FillDefaults fills the struct with default parameters
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"` // Related objects (only validation errors) References []IstioValidationKey `json:"references"` }
IstioValidation represents a list of checks associated to an Istio object. swagger:model
type IstioValidationKey ¶
type IstioValidationKey struct { ObjectType string `json:"objectType"` Name string `json:"name"` Namespace string `json:"namespace"` }
IstioValidationKey is the key value composed of an Istio ObjectType and Name.
func BuildKey ¶ added in v0.15.0
func BuildKey(objectType, name, namespace string) IstioValidationKey
type IstioValidationSummary ¶ added in v1.10.0
type IstioValidationSummary struct { // Number of validations with error severity // required: true // example: 2 Errors int `json:"errors"` // Number of Istio Objects analyzed // required: true // example: 6 ObjectCount int `json:"objectCount"` // Number of validations with warning severity // required: true // example: 4 Warnings int `json:"warnings"` }
IstioValidationSummary represents the number of errors/warnings of a set of Istio Validations.
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) FilterBySingleType ¶ added in v0.20.0
func (iv IstioValidations) FilterBySingleType(objectType, name string) IstioValidations
func (IstioValidations) FilterByTypes ¶ added in v0.14.0
func (iv IstioValidations) FilterByTypes(objectTypes []string) IstioValidations
FilterByTypes takes an input as ObjectTypes, transforms to singular types and filters the validations
func (IstioValidations) MarshalJSON ¶
func (iv IstioValidations) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (IstioValidations) MergeReferences ¶ added in v1.7.0
func (iv IstioValidations) MergeReferences(validations IstioValidations) IstioValidations
func (IstioValidations) MergeValidations ¶
func (iv IstioValidations) MergeValidations(validations IstioValidations) IstioValidations
func (IstioValidations) SummarizeValidation ¶ added in v1.10.0
func (iv IstioValidations) SummarizeValidation(ns string) IstioValidationSummary
type Iter8AnalyticsConfig ¶ added in v1.18.1
type Iter8AnalyticsConfig struct { Port int `yaml:"port,omitempty"` Prometheus struct { Auth struct { CAFile string `yaml:"ca_file"` InsecureSkipVerify bool `yaml:"insecure_skip_verify"` Password string `yaml:"password"` Token string `yaml:"token"` Type string `yaml:"type"` UserName string `yaml:"username"` } `yaml:"auth"` URL string `yaml:"url"` } `yaml:"prometheus"` }
type Iter8CandidateStatus ¶ added in v1.24.0
type Iter8CandidateStatus struct { Name string `json:"name"` Version string `json:"version"` Weight int32 `json:"weight"` WinProbability float32 `json:"winProbability"` Request_Count int32 `json:"requestCount"` CriteriaAssessments []kubernetes.Iter8CriterionAssessment `json:"criterionAssessment"` }
type Iter8Criteria ¶ added in v1.15.0
type Iter8CriteriaDetail ¶ added in v1.15.0
type Iter8CriteriaDetail struct { Name string `json:"name"` Criteria Iter8Criteria `json:"criteria"` Metric Iter8Metric `json:"metric"` }
type Iter8ExperimentAction ¶ added in v1.24.0
type Iter8ExperimentDetail ¶ added in v1.15.0
type Iter8ExperimentDetail struct { ExperimentItem Iter8ExperimentItem `json:"experimentItem"` CriteriaDetails []Iter8CriteriaDetail `json:"criterias"` Networking kubernetes.Iter8Networking `json:"networking"` TrafficControl Iter8TrafficControl `json:"trafficControl"` Permissions ResourcePermissions `json:"permissions"` ExperimentType string `json:"experimentType"` Duration kubernetes.Iter8Duration `json:"duration"` Action string `json:"action"` }
For Displaying Iter8 Experiment Tabs
func (*Iter8ExperimentDetail) Parse ¶ added in v1.15.0
func (i *Iter8ExperimentDetail) Parse(iter8Object kubernetes.Iter8Experiment)
type Iter8ExperimentItem ¶ added in v1.15.0
type Iter8ExperimentItem struct { Name string `json:"name"` Phase string `json:"phase"` Status string `json:"status"` Baseline Iter8CandidateStatus `json:"baseline"` Candidates []Iter8CandidateStatus `json:"candidates"` Namespace string `json:"namespace"` InitTime string `json:"initTime"` StartTime string `json:"startTime"` EndTime string `json:"endTime"` TargetService string `json:"targetService"` TargetServiceNamespace string `json:"targetServiceNamespace"` Winner Iter8SuccessCrideriaStatus `json:"winner"` Kind string `json:"kind"` ExperimentType string `json:"experimentKind"` }
For Displaying Iter8 Experiment Details
func (*Iter8ExperimentItem) Parse ¶ added in v1.15.0
func (i *Iter8ExperimentItem) Parse(iter8Object kubernetes.Iter8Experiment)
type Iter8ExperimentSpec ¶ added in v1.15.0
type Iter8ExperimentSpec struct { Name string `json:"name"` Namespace string `json:"namespace"` Service string `json:"service"` APIVersion string `json:"apiversion"` Baseline string `json:"baseline"` Candidates []string `json:"candidates"` TrafficControl Iter8TrafficControl `json:"trafficControl"` Criterias []Iter8Criteria `json:"criterias"` Hosts []kubernetes.Iter8Host `json:"hosts"` RoutingID string `json:"routingID"` Action *kubernetes.ExperimentAction `json:"action"` TrafficSplit map[string]int32 `json:"trafficSplit,omitempty"` ExperimentKind string `json:"experimentKind"` ExperimentType string `json:"experimentType"` Duration kubernetes.Iter8Duration `json:"duration"` Cleanup bool `json:"cleanup"` Metrics Iter8Metrics `json:"metrics"` }
Spec for Creating Experiment
func (*Iter8ExperimentSpec) Parse ¶ added in v1.20.0
func (i *Iter8ExperimentSpec) Parse(iter8Object Iter8ExperimentDetail)
type Iter8Match ¶ added in v1.24.0
type Iter8Match struct {
HTTP []HTTPMatchRequest `json:"http,omitempty"`
}
Match contains matching criteria for requests
type Iter8Metric ¶ added in v1.15.0
type Iter8Metric struct { Name string `json:"name"` Numerator kubernetes.CounterMetric `json:"numerator" yaml:"numerator"` Denominator kubernetes.CounterMetric `json:"denominator" yaml:"denominator"` ZeroToOne *bool `json:"zero_to_one,omitempty" yaml:"zero_to_one,omitempty"` PreferredDirection *string `json:"preferred_direction,omitempty" yaml:"preferred_direction,omitempty"` }
type Iter8Metrics ¶ added in v1.24.0
type Iter8Metrics struct { CounterMetrics []kubernetes.CounterMetric `json:"counter_metrics,omitempty"` RatioMetrics []kubernetes.RatioMetric `json:"ratio_metrics,omitempty"` }
type Iter8SuccessCrideriaStatus ¶ added in v1.18.1
type Iter8TrafficControl ¶ added in v1.15.0
type Iter8TrafficControl struct { Strategy string `json:"strategy,omitempty"` // v1.0.0 OnTermination string `json:"onTermination,omitempty"` // v1.0.0 Match Iter8Match `json:"match,omitempty"` // v1.0.0 Percentage int32 `json:"percentage,omitempty"` // v1.0.0 MaxIncrement int32 `json:"maxIncrement,omitempty"` }
type JaegerInfo ¶
type Listeners ¶ added in v1.28.0
type Listeners []*Listener
func (*Listeners) Parse ¶ added in v1.28.0
func (ls *Listeners) Parse(dump *kubernetes.ConfigDump) error
type MTLSStatus ¶ added in v0.16.0
type MTLSStatus struct { // mTLS status: MTLS_ENABLED, MTLS_PARTIALLY_ENABLED, MTLS_NOT_ENABLED // required: true // example: MTLS_ENABLED Status string `json:"status"` }
MTLSStatus describes the current mTLS status of a mesh entity
type Metric ¶ added in v1.27.0
type Metric struct { Labels map[string]string `json:"labels"` Datapoints []Datapoint `json:"datapoints"` Stat string `json:"stat,omitempty"` Name string `json:"name"` }
func ConvertHistogram ¶ added in v1.1.0
func ConvertHistogram(name string, from prometheus.Histogram, conversionParams ConversionParams) ([]Metric, error)
func ConvertMetric ¶ added in v1.27.0
func ConvertMetric(name string, from prometheus.Metric, conversionParams ConversionParams) ([]Metric, error)
type MetricsMap ¶ added in v1.27.0
MetricsMap contains all simple metrics and histograms data for standard timeseries queries
type MetricsStats ¶ added in v1.27.0
type MetricsStats struct {
ResponseTimes []Stat `json:"responseTimes"`
}
MetricsStats contains opinionated statistics on metrics on a single target. Currently limited to response times (avg/percentiles over interval)
type MetricsStatsQueries ¶ added in v1.27.0
type MetricsStatsQueries struct {
Queries []MetricsStatsQuery
}
type MetricsStatsQuery ¶ added in v1.27.0
type MetricsStatsQuery struct { Target Target PeerTarget *Target RawQueryTime int64 `json:"queryTime"` QueryTime time.Time `json:"-"` RawInterval string `json:"interval"` Interval string `json:"-"` Direction string // outbound | inbound Avg bool Quantiles []string }
func (*MetricsStatsQuery) GenKey ¶ added in v1.27.0
func (q *MetricsStatsQuery) GenKey() string
GenKey !! HAS to mirror frontend's genStatsKey in SpanTable.tsx
func (*MetricsStatsQuery) Validate ¶ added in v1.27.0
func (q *MetricsStatsQuery) Validate() *util.Errors
type MetricsStatsResult ¶ added in v1.27.0
type MetricsStatsResult struct { Stats map[string]MetricsStats `json:"stats"` // Key is built from query params, see "GenKey" above. The same key needs to be generated client-side for matching. Warnings []string `json:"warnings"` }
MetricsStatsResult holds the MetricsStats per target, plus errors
type MonitoringDashboard ¶ added in v0.12.0
type MonitoringDashboard struct { Title string `json:"title"` Charts []Chart `json:"charts"` Aggregations []Aggregation `json:"aggregations"` ExternalLinks []ExternalLink `json:"externalLinks"` }
MonitoringDashboard is the model representing custom monitoring dashboard, transformed from MonitoringDashboard k8s resource
func PrepareIstioDashboard ¶ added in v0.12.0
func PrepareIstioDashboard(direction, local, remote string) MonitoringDashboard
PrepareIstioDashboard prepares the Istio dashboard title and aggregations dynamically for input values
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:"-"` // Labels for Namespace Labels map[string]string `json:"labels"` }
A Namespace provide a scope for names This type is used to describe a set of objects.
swagger:model namespace
func CastNamespace ¶
func CastNamespaceCollection ¶
func CastProject ¶
func CastProject(p osproject_v1.Project) Namespace
func CastProjectCollection ¶
func CastProjectCollection(ps []osproject_v1.Project) []Namespace
type NamespaceAppHealth ¶
NamespaceAppHealth is an alias of map of app name x health
type NamespaceNames ¶ added in v1.14.0
type NamespaceNames []string
func (NamespaceNames) Includes ¶ added in v1.14.0
func (nsn NamespaceNames) Includes(namespace string) bool
func (NamespaceNames) IsSubsetOf ¶ added in v1.14.0
func (a NamespaceNames) IsSubsetOf(b NamespaceNames) bool
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 Namespaces ¶ added in v1.12.0
type Namespaces []Namespace
func (Namespaces) GetNames ¶ added in v1.12.0
func (nss Namespaces) GetNames() []string
func (Namespaces) Includes ¶ added in v1.12.0
func (nss Namespaces) Includes(namespace string) bool
type PeerAuthentication ¶ added in v1.18.0
type PeerAuthentication struct { IstioBase Spec struct { Selector interface{} `json:"selector"` Mtls interface{} `json:"mtls"` PortLevelMtls interface{} `json:"portLevelMtls"` } `json:"spec"` }
PeerAuthentication peerAuthentication
This is used for returning an PeerAuthentication ¶
swagger:model peerAuthentication
func (*PeerAuthentication) Parse ¶ added in v1.18.0
func (pa *PeerAuthentication) Parse(peerAuthentication kubernetes.IstioObject)
type PeerAuthentications ¶ added in v1.18.0
type PeerAuthentications []PeerAuthentication
PeerAuthentications peerAuthentications
This is used for returning an array of PeerAuthentication ¶
swagger:model peerAuthentications An array of peerAuthentication swagger:allOf
func (*PeerAuthentications) Parse ¶ added in v1.18.0
func (pas *PeerAuthentications) Parse(peerAuthentications []kubernetes.IstioObject)
type Pod ¶
type Pod struct { Name string `json:"name"` Labels map[string]string `json:"labels"` CreatedAt string `json:"createdAt"` CreatedBy []Reference `json:"createdBy"` Containers []*ContainerInfo `json:"containers"` IstioContainers []*ContainerInfo `json:"istioContainers"` IstioInitContainers []*ContainerInfo `json:"istioInitContainers"` Status string `json:"status"` StatusMessage string `json:"statusMessage"` StatusReason string `json:"statusReason"` AppLabel bool `json:"appLabel"` VersionLabel bool `json:"versionLabel"` Annotations map[string]string `json:"annotations"` ProxyStatus *ProxyStatus `json:"proxyStatus"` }
Pod holds a subset of v1.Pod data that is meaningful in Kiali
func (Pod) HasIstioSidecar ¶ added in v0.20.0
HasIstioSidecar returns true if the pod has an Istio proxy sidecar
type Pods ¶
type Pods []*Pod
Pods alias for list of Pod structs
func (Pods) HasIstioSidecar ¶ added in v0.20.0
HasIstioSidecar returns true if there are no pods or all pods have a sidecar
func (Pods) SyncedPodProxiesCount ¶ added in v1.25.0
SyncedPodsCount returns the number of Pods with its proxy synced If none of the pods have Istio Sidecar, then return -1
type Policies ¶ added in v0.14.0
type Policies []Policy
func (*Policies) Parse ¶ added in v0.14.0
func (ps *Policies) Parse(policies []kubernetes.IstioObject)
type Policy ¶ added in v0.14.0
type Policy struct { IstioBase Spec struct { Targets interface{} `json:"targets"` Peers interface{} `json:"peers"` PeerIsOptional interface{} `json:"peerIsOptional"` Origins interface{} `json:"origins"` OriginIsOptional interface{} `json:"originIsOptional"` PrincipalBinding interface{} `json:"principalBinding"` } `json:"spec"` }
func (*Policy) Parse ¶ added in v0.14.0
func (p *Policy) Parse(policy kubernetes.IstioObject)
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 core_v1.ServicePort)
func (*Port) ParseEndpointPort ¶
func (port *Port) ParseEndpointPort(p core_v1.EndpointPort)
type Ports ¶
type Ports []Port
func (*Ports) Parse ¶
func (ports *Ports) Parse(ps []core_v1.ServicePort)
func (*Ports) ParseEndpointPorts ¶
func (ports *Ports) ParseEndpointPorts(ps []core_v1.EndpointPort)
type ProxyStatus ¶ added in v1.25.0
type ProxyStatus struct { CDS string `json:"CDS"` EDS string `json:"EDS"` LDS string `json:"LDS"` RDS string `json:"RDS"` }
ProxyStatus gives the sync status of the sidecar proxy. In healthy scenarios all variables should be true. If at least one variable is false, then the proxy isn't fully sync'ed with pilot.
func (ProxyStatus) IsSynced ¶ added in v1.25.0
func (ps ProxyStatus) IsSynced() bool
IsSynced returns true when all the components are with SYNCED status
type RequestAuthentication ¶ added in v1.18.0
type RequestAuthentication struct { IstioBase Spec struct { Selector interface{} `json:"selector"` JwtRules interface{} `json:"jwtRules"` } `json:"spec"` }
RequestAuthentication requestAuthentication
This is used for returning an RequestAuthentication ¶
swagger:model requestAuthentication
func (*RequestAuthentication) Parse ¶ added in v1.18.0
func (ra *RequestAuthentication) Parse(requestAuthentication kubernetes.IstioObject)
type RequestAuthentications ¶ added in v1.18.0
type RequestAuthentications []RequestAuthentication
RequestAuthentications requestAuthentications
This is used for returning an array of RequestAuthentication ¶
swagger:model requestAuthentications An array of requestAuthentication swagger:allOf
func (*RequestAuthentications) Parse ¶ added in v1.18.0
func (ras *RequestAuthentications) Parse(requestAuthentications []kubernetes.IstioObject)
type RequestHealth ¶
type RequestHealth struct { Inbound map[string]map[string]float64 `json:"inbound"` Outbound map[string]map[string]float64 `json:"outbound"` // contains filtered or unexported fields }
RequestHealth holds several stats about recent request errors
- Inbound//Outbound are the rates of requests by protocol and status_code. Example: Inbound: { "http": {"200": 1.5, "400": 2.3}, "grpc": {"1": 1.2} }
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
func (*RequestHealth) CombineReporters ¶ added in v1.29.1
func (in *RequestHealth) CombineReporters()
RequestHealth internally stores Inbound rate separated by reporter There were duplicated values that should exist in both reports but there may exist values that only are present in one or another reporter, those should be consolidated into a single result
type ResourcePermissions ¶ added in v0.9.1
type ResourcePermissions struct { Create bool `json:"create"` Update bool `json:"update"` Delete bool `json:"delete"` }
ResourcePermissions holds permission flags for an object type True means allowed.
type ResourcesPermissions ¶ added in v1.13.0
type ResourcesPermissions map[string]*ResourcePermissions
ResourcesPermissions holds a map of permission flags per resource
type Routes ¶ added in v1.28.0
type Routes []*Route
func (*Routes) Parse ¶ added in v1.28.0
func (rs *Routes) Parse(dump *kubernetes.ConfigDump) error
type Runtime ¶ added in v0.14.0
type Runtime struct { Name string `json:"name"` DashboardRefs []DashboardRef `json:"dashboardRefs"` }
Runtime holds the runtime title and associated dashboard template(s)
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"` Selectors map[string]string `json:"selectors"` Type string `json:"type"` Ip string `json:"ip"` Ports Ports `json:"ports"` ExternalName string `json:"externalName"` }
type ServiceDefinitionList ¶ added in v1.5.0
type ServiceDefinitionList struct { Namespace Namespace `json:"namespace"` ServiceDefinitions []ServiceDetails `json:"serviceDefinitions"` }
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"` Workloads WorkloadOverviews `json:"workloads"` Health ServiceHealth `json:"health"` Validations IstioValidations `json:"validations"` NamespaceMTLS MTLSStatus `json:"namespaceMTLS"` AdditionalDetails []AdditionalItem `json:"additionalDetails"` }
func (*ServiceDetails) SetDestinationRules ¶
func (s *ServiceDetails) SetDestinationRules(dr []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
func (*ServiceDetails) SetEndpoints ¶
func (s *ServiceDetails) SetEndpoints(eps *core_v1.Endpoints)
func (*ServiceDetails) SetPods ¶
func (s *ServiceDetails) SetPods(pods []core_v1.Pod)
func (*ServiceDetails) SetService ¶
func (s *ServiceDetails) SetService(svc *core_v1.Service)
func (*ServiceDetails) SetVirtualServices ¶
func (s *ServiceDetails) SetVirtualServices(vs []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
type ServiceEntries ¶
type ServiceEntries []ServiceEntry
func (*ServiceEntries) Parse ¶
func (ses *ServiceEntries) Parse(serviceEntries []kubernetes.IstioObject)
type ServiceEntry ¶
type ServiceEntry struct { IstioBase 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"` WorkloadSelector interface{} `json:"workloadSelector"` ExportTo interface{} `json:"exportTo"` SubjectAltNames interface{} `json:"subjectAltNames"` } `json:"spec"` }
func (*ServiceEntry) Parse ¶
func (se *ServiceEntry) Parse(serviceEntry kubernetes.IstioObject)
type ServiceHealth ¶
type ServiceHealth struct {
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"` Validations IstioValidations `json:"validations"` }
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"` // Additional detail sample, such as type of api being served (graphql, grpc, rest) // example: rest // required: false AdditionalDetailSample *AdditionalItem `json:"additionalDetailSample"` // Labels for Service Labels map[string]string `json:"labels"` }
type SeverityLevel ¶ added in v0.14.0
type SeverityLevel string
const ( ErrorSeverity SeverityLevel = "error" WarningSeverity SeverityLevel = "warning" Unknown SeverityLevel = "unknown" )
type Sidecar ¶ added in v0.21.0
type Sidecar struct { IstioBase Spec struct { WorkloadSelector interface{} `json:"workloadSelector"` Ingress interface{} `json:"ingress"` Egress interface{} `json:"egress"` OutboundTrafficPolicy interface{} `json:"outboundTrafficPolicy"` Localhost interface{} `json:"localhost"` } `json:"spec"` }
func (*Sidecar) Parse ¶ added in v0.21.0
func (sc *Sidecar) Parse(sidecar kubernetes.IstioObject)
type Sidecars ¶ added in v0.21.0
type Sidecars []Sidecar
func (*Sidecars) Parse ¶ added in v0.21.0
func (scs *Sidecars) Parse(sidecars []kubernetes.IstioObject)
type TracingQuery ¶ added in v1.19.0
type VirtualService ¶
type VirtualService struct { IstioBase Spec struct { Hosts interface{} `json:"hosts,omitempty"` Gateways interface{} `json:"gateways,omitempty"` Http interface{} `json:"http,omitempty"` Tcp interface{} `json:"tcp,omitempty"` Tls interface{} `json:"tls,omitempty"` ExportTo interface{} `json:"exportTo,omitempty"` } `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 defined by the user in the controller Spec // required: true // example: 2 DesiredReplicas int32 `json:"desiredReplicas"` // Number of current replicas pods that matches controller selector labels // required: true // example: 2 CurrentReplicas int32 `json:"currentReplicas"` // Number of available replicas // required: true // example: 1 AvailableReplicas int32 `json:"availableReplicas"` // Pods bound to the workload Pods Pods `json:"pods"` // Services that match workload selector Services Services `json:"services"` // Runtimes and associated dashboards Runtimes []Runtime `json:"runtimes"` // Additional details to display, such as configured annotations AdditionalDetails []AdditionalItem `json:"additionalDetails"` }
Workload has the details of a workload
func (Workload) CastWorkloadStatus ¶ added in v1.25.0
func (w Workload) CastWorkloadStatus() *WorkloadStatus
CastWorkloadStatus returns a WorkloadStatus out of a given Workload
func (*Workload) HasIstioSidecar ¶ added in v0.20.0
HasIstioSidecar return true if there is at least one pod and all pods have sidecars
func (*Workload) ParseCronJob ¶
func (workload *Workload) ParseCronJob(cnjb *batch_v1beta1.CronJob)
func (*Workload) ParseDeployment ¶
func (workload *Workload) ParseDeployment(d *apps_v1.Deployment)
func (*Workload) ParseDeploymentConfig ¶
func (workload *Workload) ParseDeploymentConfig(dc *osapps_v1.DeploymentConfig)
func (*Workload) ParseReplicaSet ¶
func (workload *Workload) ParseReplicaSet(r *apps_v1.ReplicaSet)
func (*Workload) ParseReplicaSetParent ¶ added in v1.29.0
func (workload *Workload) ParseReplicaSetParent(r *apps_v1.ReplicaSet, workloadName string, workloadType string)
func (*Workload) ParseReplicationController ¶
func (workload *Workload) ParseReplicationController(r *core_v1.ReplicationController)
func (*Workload) ParseStatefulSet ¶
func (workload *Workload) ParseStatefulSet(s *apps_v1.StatefulSet)
func (*Workload) SetServices ¶
type WorkloadEntries ¶ added in v1.18.0
type WorkloadEntries []WorkloadEntry
WorkloadEntries workloadEntries
This is used for returning an array of WorkloadEntry ¶
swagger:model workloadEntries An array of workloadEntry swagger:allOf
func (*WorkloadEntries) Parse ¶ added in v1.18.0
func (wes *WorkloadEntries) Parse(workloadEntries []kubernetes.IstioObject)
type WorkloadEntry ¶ added in v1.18.0
type WorkloadEntry struct { IstioBase Spec struct { Address interface{} `json:"address"` Ports interface{} `json:"ports"` Labels interface{} `json:"labels"` Network interface{} `json:"network"` Locality interface{} `json:"locality"` Weight interface{} `json:"weight"` ServiceAccount interface{} `json:"serviceAccount"` } `json:"spec"` }
WorkloadEntry workloadEntry
This is used for returning an WorkloadEntry ¶
swagger:model workloadEntry
func (*WorkloadEntry) Parse ¶ added in v1.18.0
func (we *WorkloadEntry) Parse(workloadEntry kubernetes.IstioObject)
type WorkloadHealth ¶
type WorkloadHealth struct { WorkloadStatus *WorkloadStatus `json:"workloadStatus"` Requests RequestHealth `json:"requests"` }
WorkloadHealth contains aggregated health from various sources, for a given workload
func EmptyWorkloadHealth ¶ added in v1.24.0
func EmptyWorkloadHealth() *WorkloadHealth
EmptyWorkloadHealth create an empty WorkloadHealth
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"` }
func (WorkloadList) GetLabels ¶ added in v1.16.0
func (wl WorkloadList) GetLabels() []labels.Set
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 Workload has an explicit Istio policy annotation // It's mapped as a pointer to show three values nil, true, false IstioInjectionAnnotation *bool `json:"istioInjectionAnnotation,omitempty"` // Define if Pods related to this Workload has an IstioSidecar deployed // required: true // example: true IstioSidecar bool `json:"istioSidecar"` // Additional item sample, such as type of api being served (graphql, grpc, rest) // example: rest // required: false AdditionalDetailSample *AdditionalItem `json:"additionalDetailSample"` // 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"` DesiredReplicas int32 `json:"desiredReplicas"` CurrentReplicas int32 `json:"currentReplicas"` AvailableReplicas int32 `json:"availableReplicas"` SyncedProxies int32 `json:"syncedProxies"` }
WorkloadStatus gives - number of desired replicas defined in the Spec of a controller - number of current replicas that matches selector of a controller - number of available replicas for a given workload In healthy scenarios all variables should point same value. When something wrong happens the different values can indicate an unhealthy situation. i.e.
desired = 1, current = 10, available = 0 would means that a user scaled down a workload from 10 to 1 but in the operaton 10 pods showed problems, so no pod is available/ready but user will see 10 pods under a workload
type Workloads ¶
type Workloads []*Workload
func (Workloads) CastWorkloadStatuses ¶ added in v1.25.0
func (ws Workloads) CastWorkloadStatuses() []*WorkloadStatus
CastWorkloadStatuses returns a WorkloadStatus array out of a given set of Workloads
Source Files ¶
- additional_item.go
- address.go
- app.go
- authorization_policy.go
- autoscalers.go
- config_dump.go
- dashboards.go
- destination_rule.go
- endpoint.go
- envoy_filter.go
- gateway.go
- grafana_info.go
- health.go
- istio_base.go
- istio_config.go
- istio_validation.go
- iter8.go
- metrics.go
- mtls_status.go
- namespace.go
- peer_authentication.go
- pod.go
- policy.go
- port.go
- request_authentication.go
- service.go
- service_entry.go
- sidecars.go
- tracing.go
- util.go
- virtual_service.go
- workload.go
- workload_entry.go