Documentation
¶
Index ¶
- Variables
- func CheckMessage(checkId string) string
- type Address
- type Addresses
- type Aggregation
- type App
- type AppHealth
- type AppList
- type AppListItem
- type Autoscaler
- type Chart
- type ClusterRbacConfig
- type ClusterRbacConfigs
- type ContainerInfo
- type DashboardRef
- type DestinationRule
- type DestinationRules
- type DestinationService
- type Endpoint
- type Endpoints
- type Gateway
- type Gateways
- type GrafanaInfo
- type IstioAdapter
- type IstioAdapters
- type IstioCheck
- type IstioConfigDetails
- type IstioConfigList
- type IstioRule
- type IstioRuleList
- type IstioRules
- type IstioTemplate
- type IstioTemplates
- type IstioValidation
- type IstioValidationKey
- type IstioValidations
- func (iv IstioValidations) FilterByKey(objectType, name string) IstioValidations
- func (iv IstioValidations) FilterByTypes(objectTypes []string) IstioValidations
- func (iv IstioValidations) MarshalJSON() ([]byte, error)
- func (iv IstioValidations) MergeValidations(validations IstioValidations) IstioValidations
- type JaegerInfo
- type MeshPolicies
- type MeshPolicy
- type MonitoringDashboard
- type Namespace
- type NamespaceAppHealth
- type NamespaceServiceHealth
- type NamespaceValidations
- type NamespaceWorkloadHealth
- type Pod
- type Pods
- type Policies
- type Policy
- type Port
- type Ports
- type QuotaSpec
- type QuotaSpecBinding
- type QuotaSpecBindings
- type QuotaSpecs
- type Reference
- type RequestHealth
- type ResourcePermissions
- type Runtime
- type Service
- type ServiceDetails
- func (s *ServiceDetails) SetDestinationRules(dr []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
- func (s *ServiceDetails) SetEndpoints(eps *v1.Endpoints)
- func (s *ServiceDetails) SetErrorTraces(errorTraces int)
- func (s *ServiceDetails) SetPods(pods []v1.Pod)
- func (s *ServiceDetails) SetService(svc *v1.Service)
- func (s *ServiceDetails) SetSourceWorkloads(sw map[string][]prometheus.Workload)
- func (s *ServiceDetails) SetVirtualServices(vs []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
- type ServiceEntries
- type ServiceEntry
- type ServiceHealth
- type ServiceList
- type ServiceOverview
- type ServiceRole
- type ServiceRoleBinding
- type ServiceRoleBindings
- type ServiceRoles
- type Services
- type SeverityLevel
- type SourceWorkload
- type VirtualService
- type VirtualServices
- type Workload
- func (workload *Workload) ParseCronJob(cnjb *batch_v1beta1.CronJob)
- func (workload *Workload) ParseDeployment(d *appsv1.Deployment)
- func (workload *Workload) ParseDeploymentConfig(dc *osappsv1.DeploymentConfig)
- func (workload *Workload) ParseJob(job *batch_v1.Job)
- func (workload *Workload) ParsePod(pod *v1.Pod)
- func (workload *Workload) ParsePods(controllerName string, controllerType string, pods []v1.Pod)
- func (workload *Workload) ParseReplicaSet(r *appsv1.ReplicaSet)
- func (workload *Workload) ParseReplicationController(r *v1.ReplicationController)
- func (workload *Workload) ParseStatefulSet(s *appsv1.StatefulSet)
- func (workload *Workload) SetDestinationServices(dss []prometheus.Service)
- func (workload *Workload) SetPods(pods []v1.Pod)
- func (workload *Workload) SetServices(svcs []v1.Service)
- 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",
}
Functions ¶
func CheckMessage ¶
Types ¶
type Addresses ¶
type Addresses []Address
func (*Addresses) Parse ¶
func (addresses *Addresses) Parse(as []v1.EndpointAddress)
type Aggregation ¶
Aggregation is the model representing label's allowed aggregation, transformed from aggregation in MonitoringDashboard k8s resource
func ConvertAggregations ¶
func ConvertAggregations(from kubernetes.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"`
}
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 Chart ¶
type Chart struct {
Name string `json:"name"`
Unit string `json:"unit"`
Spans int `json:"spans"`
Metric *prometheus.Metric `json:"metric"`
Histogram prometheus.Histogram `json:"histogram"`
}
Chart is the model representing a custom chart, transformed from charts in MonitoringDashboard k8s resource
func ConvertChart ¶
func ConvertChart(from kubernetes.MonitoringDashboardChart) Chart
ConvertChart converts a k8s chart (from MonitoringDashboard k8s resource) into this models chart
type ClusterRbacConfig ¶
type ClusterRbacConfig struct {
Metadata meta_v1.ObjectMeta `json:"metadata"`
Spec struct {
Mode interface{} `json:"mode"`
Inclusion interface{} `json:"inclusion"`
Exclusion interface{} `json:"exclusion"`
} `json:"spec"`
}
func (*ClusterRbacConfig) Parse ¶
func (rc *ClusterRbacConfig) Parse(clusterRbacConfig kubernetes.IstioObject)
type ClusterRbacConfigs ¶
type ClusterRbacConfigs []ClusterRbacConfig
func (*ClusterRbacConfigs) Parse ¶
func (rcs *ClusterRbacConfigs) Parse(clusterRbacConfigs []kubernetes.IstioObject)
type ContainerInfo ¶
ContainerInfo holds container name and image
type DashboardRef ¶
DashboardRef holds template name and title for a custom dashboard
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 ¶
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 ¶
DestinationService holds service identifiers used for workload dependencies
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 ¶
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 ¶
func CastIstioAdapter(adapter kubernetes.IstioObject) IstioAdapter
type IstioAdapters ¶
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 ¶
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 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 ¶
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"`
Rule *IstioRule `json:"rule"`
Adapter *IstioAdapter `json:"adapter"`
Template *IstioTemplate `json:"template"`
QuotaSpec *QuotaSpec `json:"quotaSpec"`
QuotaSpecBinding *QuotaSpecBinding `json:"quotaSpecBinding"`
Policy *Policy `json:"policy"`
MeshPolicy *MeshPolicy `json:"meshPolicy"`
ClusterRbacConfig *ClusterRbacConfig `json:"clusterRbacConfig"`
ServiceRole *ServiceRole `json:"serviceRole"`
ServiceRoleBinding *ServiceRoleBinding `json:"serviceRoleBinding"`
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"`
Rules IstioRules `json:"rules"`
Adapters IstioAdapters `json:"adapters"`
Templates IstioTemplates `json:"templates"`
QuotaSpecs QuotaSpecs `json:"quotaSpecs"`
QuotaSpecBindings QuotaSpecBindings `json:"quotaSpecBindings"`
Policies Policies `json:"policies"`
MeshPolicies MeshPolicies `json:"meshPolicies"`
ClusterRbacConfigs ClusterRbacConfigs `json:"clusterRbacConfigs"`
ServiceRoles ServiceRoles `json:"serviceRoles"`
ServiceRoleBindings ServiceRoleBindings `json:"serviceRoleBindings"`
IstioValidations IstioValidations `json:"validations"`
}
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 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 ¶
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 ¶
func CastIstioTemplate(template kubernetes.IstioObject) IstioTemplate
type IstioTemplates ¶
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 ¶
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 ¶
IstioValidationKey is the key value composed of an Istio ObjectType and Name.
func BuildKey ¶
func BuildKey(objectType, name string) IstioValidationKey
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) FilterByTypes ¶
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) 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 MeshPolicies ¶
type MeshPolicies []MeshPolicy
func (*MeshPolicies) Parse ¶
func (mps *MeshPolicies) Parse(meshPolicies []kubernetes.IstioObject)
type MeshPolicy ¶
type MeshPolicy struct {
Metadata meta_v1.ObjectMeta `json:"metadata"`
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 (*MeshPolicy) Parse ¶
func (mp *MeshPolicy) Parse(meshPolicy kubernetes.IstioObject)
type MonitoringDashboard ¶
type MonitoringDashboard struct {
Title string `json:"title"`
Charts []Chart `json:"charts"`
Aggregations []Aggregation `json:"aggregations"`
}
MonitoringDashboard is the model representing custom monitoring dashboard, transformed from MonitoringDashboard k8s resource
func PrepareIstioDashboard ¶
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:"-"`
}
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 CastProjectCollection ¶
type NamespaceAppHealth ¶
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"`
RuntimesAnnotation []string `json:"runtimesAnnotation"`
}
Pod holds a subset of v1.Pod data that is meaningful in Kiali
func (Pod) HasIstioSideCar ¶
type Policies ¶
type Policies []Policy
func (*Policies) Parse ¶
func (ps *Policies) Parse(policies []kubernetes.IstioObject)
type Policy ¶
type Policy struct {
Metadata meta_v1.ObjectMeta `json:"metadata"`
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 ¶
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 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 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 ¶
func NewEmptyRequestHealth() RequestHealth
func (*RequestHealth) AggregateInbound ¶
func (in *RequestHealth) AggregateInbound(sample *model.Sample)
AggregateInbound adds the provided metric sample to internal inbound counters and updates error ratios
func (*RequestHealth) AggregateOutbound ¶
func (in *RequestHealth) AggregateOutbound(sample *model.Sample)
AggregateOutbound adds the provided metric sample to internal outbound counters and updates error ratios
type ResourcePermissions ¶
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 Runtime ¶
type Runtime struct {
Name string `json:"name"`
DashboardRefs []DashboardRef `json:"dashboardRefs"`
}
Runtime holds the runtime title and associated dashboard template(s)
type 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"`
Validations IstioValidations `json:"validations"`
ErrorTraces int `json:"errorTraces"`
}
func (*ServiceDetails) SetDestinationRules ¶
func (s *ServiceDetails) SetDestinationRules(dr []kubernetes.IstioObject, canCreate, canUpdate, canDelete bool)
func (*ServiceDetails) SetEndpoints ¶
func (s *ServiceDetails) SetEndpoints(eps *v1.Endpoints)
func (*ServiceDetails) SetErrorTraces ¶
func (s *ServiceDetails) SetErrorTraces(errorTraces int)
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, canCreate, 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 {
Requests RequestHealth `json:"requests"`
}
ServiceHealth contains aggregated health from various sources, for a given service
func EmptyServiceHealth ¶
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 ServiceRole ¶
type ServiceRole struct {
Metadata meta_v1.ObjectMeta `json:"metadata"`
Spec struct {
Rules interface{} `json:"rules"`
} `json:"spec"`
}
func (*ServiceRole) Parse ¶
func (sr *ServiceRole) Parse(serviceRole kubernetes.IstioObject)
type ServiceRoleBinding ¶
type ServiceRoleBinding struct {
Metadata meta_v1.ObjectMeta `json:"metadata"`
Spec struct {
Subjects interface{} `json:"subjects"`
RoleRef interface{} `json:"roleRef"`
} `json:"spec"`
}
func (*ServiceRoleBinding) Parse ¶
func (srb *ServiceRoleBinding) Parse(serviceRoleBinding kubernetes.IstioObject)
type ServiceRoleBindings ¶
type ServiceRoleBindings []ServiceRoleBinding
func (*ServiceRoleBindings) Parse ¶
func (srbs *ServiceRoleBindings) Parse(serviceRoleBindings []kubernetes.IstioObject)
type ServiceRoles ¶
type ServiceRoles []ServiceRole
func (*ServiceRoles) Parse ¶
func (srs *ServiceRoles) Parse(serviceRoles []kubernetes.IstioObject)
type SeverityLevel ¶
type SeverityLevel string
const ( ErrorSeverity SeverityLevel = "error" WarningSeverity SeverityLevel = "warning" )
type SourceWorkload ¶
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 ¶
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"`
// 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"`
// Runtimes and associated dashboards
Runtimes []Runtime `json:"runtimes"`
}
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 *appsv1.Deployment)
func (*Workload) ParseDeploymentConfig ¶
func (workload *Workload) ParseDeploymentConfig(dc *osappsv1.DeploymentConfig)
func (*Workload) ParseReplicaSet ¶
func (workload *Workload) ParseReplicaSet(r *appsv1.ReplicaSet)
func (*Workload) ParseReplicationController ¶
func (workload *Workload) ParseReplicationController(r *v1.ReplicationController)
func (*Workload) ParseStatefulSet ¶
func (workload *Workload) ParseStatefulSet(s *appsv1.StatefulSet)
func (*Workload) SetDestinationServices ¶
func (workload *Workload) SetDestinationServices(dss []prometheus.Service)
func (*Workload) SetServices ¶
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
Source Files
¶
- address.go
- app.go
- autoscalers.go
- cluster_rbac_config.go
- dashboards.go
- destination_rule.go
- endpoint.go
- gateway.go
- grafana_info.go
- health.go
- istio_config.go
- istio_rule.go
- istio_validation.go
- jaeger_info.go
- mesh_policy.go
- namespace.go
- pod.go
- policy.go
- port.go
- quota_spec.go
- quota_spec_binding.go
- service.go
- service_entry.go
- service_role.go
- service_role_binding.go
- util.go
- virtual_service.go
- workload.go