Documentation ¶
Index ¶
- Variables
- func CheckMessage(checkId string) string
- func ConvertAggregations(from v1alpha1.MonitoringDashboardSpec) []kmodel.Aggregation
- func PrepareIstioDashboard(direction, local, remote string) kmodel.MonitoringDashboard
- type AdditionalItem
- type Address
- type Addresses
- type App
- type AppHealth
- type AppList
- type AppListItem
- type AttributeManifest
- type AttributeManifests
- type AuthorizationPolicies
- type AuthorizationPolicy
- type Autoscaler
- type ClusterRbacConfig
- type ClusterRbacConfigSpec
- type ClusterRbacConfigs
- type ContainerInfo
- type DestinationRule
- type DestinationRules
- type Endpoint
- type Endpoints
- type EnvoyFilter
- type EnvoyFilters
- type Gateway
- type Gateways
- type GrafanaInfo
- type HTTPMarchRule
- type HTTPMatchRequest
- type HttpApiSpec
- type HttpApiSpecBinding
- type HttpApiSpecBindings
- type HttpApiSpecs
- type IstioAdapter
- type IstioAdapters
- type IstioBase
- type IstioCheck
- type IstioConfigDetails
- type IstioConfigList
- type IstioConfigPermissions
- type IstioHandler
- type IstioHandlers
- type IstioInstance
- type IstioInstances
- type IstioRule
- type IstioRuleList
- type IstioRules
- type IstioTemplate
- type IstioTemplates
- 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 MTLSStatus
- type MeshPolicies
- type MeshPolicy
- type MeshPolicySpec
- 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 QuotaSpec
- type QuotaSpecBinding
- type QuotaSpecBindings
- type QuotaSpecs
- type RbacConfig
- type RbacConfigs
- type Reference
- type RequestAuthentication
- type RequestAuthentications
- type RequestHealth
- type ResourcePermissions
- type ResourcesPermissions
- 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 ServiceRole
- type ServiceRoleBinding
- type ServiceRoleBindings
- type ServiceRoles
- type Services
- type SeverityLevel
- type Sidecar
- type Sidecars
- 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) 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
func ConvertAggregations ¶ added in v0.12.0
func ConvertAggregations(from v1alpha1.MonitoringDashboardSpec) []kmodel.Aggregation
ConvertAggregations converts a k8s aggregations (from MonitoringDashboard k8s resource) into this models aggregations Results are sorted by DisplayName
func PrepareIstioDashboard ¶ added in v0.12.0
func PrepareIstioDashboard(direction, local, remote string) kmodel.MonitoringDashboard
PrepareIstioDashboard prepares the Istio dashboard title and aggregations dynamically for input values
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 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 []kmodel.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 AttributeManifest ¶ added in v1.18.2
type AttributeManifest struct { IstioBase Spec struct { Revision interface{} `json:"revision"` Name interface{} `json:"name"` Attributes interface{} `json:"attributes"` } `json:"spec"` }
AttributeManifest attributeManifest
This is used for returning an AttributeManifest ¶
swagger:model attributeManifest
func (*AttributeManifest) Parse ¶ added in v1.18.2
func (am *AttributeManifest) Parse(attributeManifest kubernetes.IstioObject)
type AttributeManifests ¶ added in v1.18.2
type AttributeManifests []AttributeManifest
AttributeManifests attributeManifests
This is used for returning an array of AttributeManifest ¶
swagger:model attributeManifests An array of attributeManifest swagger:allOf
func (*AttributeManifests) Parse ¶ added in v1.18.2
func (ams *AttributeManifests) Parse(attributeManifests []kubernetes.IstioObject)
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 ClusterRbacConfig ¶ added in v0.15.0
type ClusterRbacConfig struct { IstioBase Spec ClusterRbacConfigSpec `json:"spec"` }
func (*ClusterRbacConfig) Parse ¶ added in v0.15.0
func (rc *ClusterRbacConfig) Parse(clusterRbacConfig kubernetes.IstioObject)
type ClusterRbacConfigSpec ¶ added in v1.0.4
type ClusterRbacConfigSpec struct { Mode interface{} `json:"mode"` Inclusion interface{} `json:"inclusion"` Exclusion interface{} `json:"exclusion"` }
type ClusterRbacConfigs ¶ added in v0.15.0
type ClusterRbacConfigs []ClusterRbacConfig
func (*ClusterRbacConfigs) Parse ¶ added in v0.15.0
func (rcs *ClusterRbacConfigs) Parse(clusterRbacConfigs []kubernetes.IstioObject)
type ContainerInfo ¶
ContainerInfo holds container name and image
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 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 []kmodel.ExternalLink `json:"externalLinks"`
}
GrafanaInfo provides information to access Grafana dashboards
type HTTPMarchRule ¶ added in v1.25.0
type HTTPMatchRequest ¶ added in v1.25.0
type HTTPMatchRequest struct { URI HTTPMarchRule `json:"uri,omitempty"` Headers []HTTPMarchRule `json:"headers,omitempty"` }
type HttpApiSpec ¶ added in v1.18.2
type HttpApiSpec struct { IstioBase Spec struct { Attributes interface{} `json:"attributes"` Patterns interface{} `json:"patterns"` ApiKeys interface{} `json:"apiKeys"` } `json:"spec"` }
HttpApiSpec httpApiSpec
This is used for returning an HttpApiSpec ¶
swagger:model httpApiSpec
func (*HttpApiSpec) Parse ¶ added in v1.18.2
func (ef *HttpApiSpec) Parse(httpApiSpec kubernetes.IstioObject)
type HttpApiSpecBinding ¶ added in v1.18.2
type HttpApiSpecBinding struct { IstioBase Spec struct { Services interface{} `json:"services"` ApiSpecs interface{} `json:"apiSpecs"` } `json:"spec"` }
HttpApiSpecBinding httpApiSpecBinding
This is used for returning an HttpApiSpecBinding ¶
swagger:model httpApiSpecBinding
func (*HttpApiSpecBinding) Parse ¶ added in v1.18.2
func (ha *HttpApiSpecBinding) Parse(httpApiSpecBinding kubernetes.IstioObject)
type HttpApiSpecBindings ¶ added in v1.18.2
type HttpApiSpecBindings []HttpApiSpecBinding
HttpApiSpecBindings httpApiSpecBindings
This is used for returning an array of HttpApiSpecBinding ¶
swagger:model httpApiSpecBindings An array of httpApiSpecBinding swagger:allOf
func (*HttpApiSpecBindings) Parse ¶ added in v1.18.2
func (has *HttpApiSpecBindings) Parse(httpApiSpecBindings []kubernetes.IstioObject)
type HttpApiSpecs ¶ added in v1.18.2
type HttpApiSpecs []HttpApiSpec
HttpApiSpecs httpApiSpecs
This is used for returning an array of HttpApiSpec ¶
swagger:model httpApiSpecs An array of httpApiSpec swagger:allOf
func (*HttpApiSpecs) Parse ¶ added in v1.18.2
func (has *HttpApiSpecs) Parse(httpApiSpecs []kubernetes.IstioObject)
type IstioAdapter ¶ added in v0.11.0
type IstioAdapter struct { IstioBase Spec interface{} `json:"spec"` }
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 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"` Rule *IstioRule `json:"rule"` Adapter *IstioAdapter `json:"adapter"` Template *IstioTemplate `json:"template"` Handler *IstioHandler `json:"handler"` Instance *IstioInstance `json:"instance"` QuotaSpec *QuotaSpec `json:"quotaSpec"` QuotaSpecBinding *QuotaSpecBinding `json:"quotaSpecBinding"` AttributeManifest *AttributeManifest `json:"attributeManifest"` HttpApiSpec *HttpApiSpec `json:"httpApiSpec"` HttpApiSpecBinding *HttpApiSpecBinding `json:"httpApiSpecBinding"` Policy *Policy `json:"policy"` MeshPolicy *MeshPolicy `json:"meshPolicy"` ClusterRbacConfig *ClusterRbacConfig `json:"clusterRbacConfig"` RbacConfig *RbacConfig `json:"rbacConfig"` ServiceRole *ServiceRole `json:"serviceRole"` ServiceRoleBinding *ServiceRoleBinding `json:"serviceRoleBinding"` 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"` Rules IstioRules `json:"rules"` Adapters IstioAdapters `json:"adapters"` Templates IstioTemplates `json:"templates"` Handlers IstioHandlers `json:"handlers"` Instances IstioInstances `json:"instances"` QuotaSpecs QuotaSpecs `json:"quotaSpecs"` QuotaSpecBindings QuotaSpecBindings `json:"quotaSpecBindings"` AttributeManifests AttributeManifests `json:"attributeManifests"` HttpApiSpecs HttpApiSpecs `json:"httpApiSpecs"` HttpApiSpecBindings HttpApiSpecBindings `json:"httpApiSpecBindings"` Policies Policies `json:"policies"` MeshPolicies MeshPolicies `json:"meshPolicies"` ClusterRbacConfigs ClusterRbacConfigs `json:"clusterRbacConfigs"` RbacConfigs RbacConfigs `json:"rbacConfigs"` ServiceRoles ServiceRoles `json:"serviceRoles"` ServiceRoleBindings ServiceRoleBindings `json:"serviceRoleBindings"` 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 IstioHandler ¶
type IstioHandler struct { IstioBase Spec interface{} `json:"spec"` }
IstioHandler istioHandler
This type type is used for returning a IstioHandler ¶
swagger:model istioHandler
func CastIstioHandler ¶
func CastIstioHandler(handler kubernetes.IstioObject) IstioHandler
type IstioHandlers ¶ added in v1.20.0
type IstioHandlers []IstioHandler
IstioHandlers istioHandlers
This type type is used for returning an array of IstioHandlers ¶
swagger:model istioHandlers An array of istioHandler swagger:allOf
func CastIstioHandlersCollection ¶ added in v1.20.0
func CastIstioHandlersCollection(handlers []kubernetes.IstioObject) IstioHandlers
type IstioInstance ¶
type IstioInstance struct { IstioBase Spec interface{} `json:"spec"` }
IstioInstance istioInstance
This type type is used for returning a IstioInstance ¶
swagger:model istioInstance
func CastIstioInstance ¶
func CastIstioInstance(instance kubernetes.IstioObject) IstioInstance
type IstioInstances ¶ added in v1.20.0
type IstioInstances []IstioInstance
IstioInstances istioInstances
This type type is used for returning an array of IstioInstances ¶
swagger:model istioInstances An array of istioIstance swagger:allOf
func CastIstioInstancesCollection ¶ added in v1.20.0
func CastIstioInstancesCollection(instances []kubernetes.IstioObject) IstioInstances
type IstioRule ¶
type IstioRule struct { IstioBase 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 ¶ added in v0.11.0
type IstioTemplate struct { IstioBase Spec interface{} `json:"spec"` }
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 istioTemplate 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"` // 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 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 MeshPolicies ¶ added in v0.15.0
type MeshPolicies []MeshPolicy
func (*MeshPolicies) Parse ¶ added in v0.15.0
func (mps *MeshPolicies) Parse(meshPolicies []kubernetes.IstioObject)
type MeshPolicy ¶ added in v0.15.0
type MeshPolicy struct { IstioBase Spec MeshPolicySpec `json:"spec"` }
func (*MeshPolicy) Parse ¶ added in v0.15.0
func (mp *MeshPolicy) Parse(meshPolicy kubernetes.IstioObject)
type MeshPolicySpec ¶ added in v1.0.4
type MeshPolicySpec 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"` }
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"` 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) GetAnnotations ¶ added in v1.1.0
GetAnnotations is needed by k-charted
func (Pod) HasIstioSidecar ¶ added in v0.20.0
HasIstioSidecar returns true if the pod has an Isio 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 QuotaSpec ¶
type QuotaSpec struct { IstioBase Spec struct { Rules interface{} `json:"rules"` } `json:"spec"` }
func (*QuotaSpec) Parse ¶
func (qs *QuotaSpec) Parse(quotaSpec kubernetes.IstioObject)
type QuotaSpecBinding ¶
type QuotaSpecBinding struct { IstioBase 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 RbacConfig ¶ added in v0.16.0
type RbacConfig struct { IstioBase Spec struct { Mode interface{} `json:"mode"` Inclusion interface{} `json:"inclusion"` Exclusion interface{} `json:"exclusion"` } `json:"spec"` }
func (*RbacConfig) Parse ¶ added in v0.16.0
func (rc *RbacConfig) Parse(rbacConfig kubernetes.IstioObject)
type RbacConfigs ¶ added in v0.16.0
type RbacConfigs []RbacConfig
func (*RbacConfigs) Parse ¶ added in v0.16.0
func (rcs *RbacConfigs) Parse(rbacConfigs []kubernetes.IstioObject)
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"` }
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
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 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 ServiceRole ¶ added in v0.15.0
type ServiceRole struct { IstioBase Spec struct { Rules interface{} `json:"rules"` } `json:"spec"` }
func (*ServiceRole) Parse ¶ added in v0.15.0
func (sr *ServiceRole) Parse(serviceRole kubernetes.IstioObject)
type ServiceRoleBinding ¶ added in v0.15.0
type ServiceRoleBinding struct { IstioBase Spec struct { Subjects interface{} `json:"subjects"` RoleRef interface{} `json:"roleRef"` } `json:"spec"` }
func (*ServiceRoleBinding) Parse ¶ added in v0.15.0
func (srb *ServiceRoleBinding) Parse(serviceRoleBinding kubernetes.IstioObject)
type ServiceRoleBindings ¶ added in v0.15.0
type ServiceRoleBindings []ServiceRoleBinding
func (*ServiceRoleBindings) Parse ¶ added in v0.15.0
func (srbs *ServiceRoleBindings) Parse(serviceRoleBindings []kubernetes.IstioObject)
type ServiceRoles ¶ added in v0.15.0
type ServiceRoles []ServiceRole
func (*ServiceRoles) Parse ¶ added in v0.15.0
func (srs *ServiceRoles) Parse(serviceRoles []kubernetes.IstioObject)
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 []kmodel.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) 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
- attribute_manifest.go
- authorization_policy.go
- autoscalers.go
- cluster_rbac_config.go
- dashboards.go
- destination_rule.go
- endpoint.go
- envoy_filter.go
- gateway.go
- grafana_info.go
- health.go
- http_api_spec.go
- http_api_spec_binding.go
- istio_base.go
- istio_config.go
- istio_rule.go
- istio_validation.go
- iter8.go
- mesh_policy.go
- mtls_status.go
- namespace.go
- peer_authentication.go
- pod.go
- policy.go
- port.go
- quota_spec.go
- quota_spec_binding.go
- rbac_config.go
- request_authentication.go
- service.go
- service_entry.go
- service_role.go
- service_role_binding.go
- sidecars.go
- tracing.go
- util.go
- virtual_service.go
- workload.go
- workload_entry.go