Documentation ¶
Index ¶
- Constants
- Variables
- func FakeCustomControllerRSSyncedWithPods() []apps_v1.ReplicaSet
- func FakeDaemonSets() []apps_v1.DaemonSet
- func FakeDepSyncedWithRS() []apps_v1.Deployment
- func FakeDeploymentConfigs() []osapps_v1.DeploymentConfig
- func FakeDeployments(conf config.Config) []apps_v1.Deployment
- func FakeDuplicatedDeployments() []apps_v1.Deployment
- func FakeDuplicatedReplicaSets() []apps_v1.ReplicaSet
- func FakeDuplicatedStatefulSets() []apps_v1.StatefulSet
- func FakePodLogsProxy() *kubernetes.PodLogs
- func FakePodLogsSyncedWithDeployments() *kubernetes.PodLogs
- func FakePodLogsZtunnel() *kubernetes.PodLogs
- func FakePodSyncedWithDeployments() *core_v1.Pod
- func FakePodsFromCustomController() []core_v1.Pod
- func FakePodsNoController() []core_v1.Pod
- func FakePodsSyncedWithDeployments() []core_v1.Pod
- func FakePodsSyncedWithDuplicated() []core_v1.Pod
- func FakeRSSyncedWithPods() []apps_v1.ReplicaSet
- func FakeReplicaSets(conf config.Config) []apps_v1.ReplicaSet
- func FakeReplicationControllers() []core_v1.ReplicationController
- func FakeServices() []core_v1.Service
- func FakeStatefulSets() []apps_v1.StatefulSet
- func FakeWaypointNServiceEnrolledPods() []core_v1.Service
- func FakeWaypointNamespaceEnrolledPods(waypoint bool) []core_v1.Pod
- func FakeWaypointPod() []core_v1.Pod
- func FakeZtunnelDaemonSet() []apps_v1.DaemonSet
- func FakeZtunnelPods() []core_v1.Pod
- func FilterUniqueIstioReferences(refs []*models.IstioValidationKey) []*models.IstioValidationKey
- func FilterWorkloadReferences(wSelector string, istioConfigList models.IstioConfigList, cluster string) []*models.IstioValidationKey
- func GetIstioAPI(resourceType string) bool
- func GetIstioScaler() func(name string) float64
- func GetWorkloadStatus(wl models.Workload) string
- func IsAccessibleError(err error) bool
- func IsValidProxyLogLevel(level string) bool
- func NewControlPlaneMonitor(cache cache.KialiCache, clientFactory kubernetes.ClientFactory, ...) *controlPlaneMonitor
- func SetWithBackends(cf kubernetes.ClientFactory, prom prometheus.ClientInterface)
- func SetupBusinessLayer(t *testing.T, k8s kubernetes.ClientInterface, config config.Config) cache.KialiCache
- func Start(cf kubernetes.ClientFactory, controlPlaneMonitor ControlPlaneMonitor, ...)
- func WithControlPlaneMonitor(cpm ControlPlaneMonitor)
- func WithDiscovery(disc meshDiscovery)
- func WithKialiCache(cache cache.KialiCache)
- func WithProm(prom prometheus.ClientInterface)
- type AccessLogEntry
- type AccessibleNamespaceError
- type AppCriteria
- type AppService
- func (in *AppService) GetAppDetails(ctx context.Context, criteria AppCriteria) (models.App, error)
- func (in *AppService) GetAppList(ctx context.Context, criteria AppCriteria) (models.AppList, error)
- func (in *AppService) GetClusterAppList(ctx context.Context, criteria AppCriteria) (models.ClusterApps, error)
- type ControlPlaneMonitor
- type DashboardsService
- func (in *DashboardsService) BuildIstioDashboard(metrics models.MetricsMap, direction string) *models.MonitoringDashboard
- func (in *DashboardsService) GetCustomDashboardRefs(namespace, app, version string, pods []*models.Pod) []models.Runtime
- func (in *DashboardsService) GetDashboard(ctx context.Context, params models.DashboardQuery, template string) (*models.MonitoringDashboard, error)
- func (in *DashboardsService) SearchExplicitDashboards(pods []models.Pod) []models.Runtime
- type FakeControlPlaneMonitor
- type HealthService
- func (in *HealthService) GetAppHealth(ctx context.Context, namespace, cluster, app, rateInterval string, ...) (models.AppHealth, error)
- func (in *HealthService) GetNamespaceAppHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceAppHealth, error)
- func (in *HealthService) GetNamespaceServiceHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceServiceHealth, error)
- func (in *HealthService) GetNamespaceWorkloadHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceWorkloadHealth, error)
- func (in *HealthService) GetServiceHealth(ctx context.Context, namespace, cluster, service, rateInterval string, ...) (models.ServiceHealth, error)
- func (in *HealthService) GetWorkloadHealth(ctx context.Context, namespace, cluster, workload, rateInterval string, ...) (models.WorkloadHealth, error)
- type IstioCertsService
- type IstioConfigCriteria
- type IstioConfigService
- func (in *IstioConfigService) CreateIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType string, body []byte) (models.IstioConfigDetails, error)
- func (in *IstioConfigService) DeleteIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType, name string) error
- func (in *IstioConfigService) GatewayAPIClasses(cluster string) []config.GatewayAPIClass
- func (in *IstioConfigService) GetIstioConfigDetails(ctx context.Context, cluster, namespace, objectType, object string) (models.IstioConfigDetails, error)
- func (in *IstioConfigService) GetIstioConfigList(ctx context.Context, cluster string, criteria IstioConfigCriteria) (*models.IstioConfigList, error)
- func (in *IstioConfigService) GetIstioConfigListForNamespace(ctx context.Context, cluster, namespace string, criteria IstioConfigCriteria) (*models.IstioConfigList, error)
- func (in *IstioConfigService) GetIstioConfigMap(ctx context.Context, namespace string, criteria IstioConfigCriteria) (models.IstioConfigMap, error)
- func (in *IstioConfigService) GetIstioConfigPermissions(ctx context.Context, namespaces []string, cluster string) models.IstioConfigPermissions
- func (in *IstioConfigService) IsAmbientEnabled(cluster string) bool
- func (in *IstioConfigService) IsGatewayAPI(cluster string) bool
- func (in *IstioConfigService) UpdateIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType, name, jsonPatch string) (models.IstioConfigDetails, error)
- type IstioStatusService
- type IstioValidationsService
- func (in *IstioValidationsService) GetIstioObjectValidations(ctx context.Context, cluster, namespace string, objectType string, ...) (models.IstioValidations, models.IstioReferencesMap, error)
- func (in *IstioValidationsService) GetValidations(ctx context.Context, cluster, namespace, service, workload string) (models.IstioValidations, error)
- type Layer
- type LogEntry
- type LogOptions
- type MeshService
- type MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Add(key, value string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) AddOp(key, value, op string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Aggregate(key, value string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) App(name, namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Build() string
- func (lb *MetricsLabelsBuilder) BuildForErrors() []string
- func (lb *MetricsLabelsBuilder) Cluster(cluster string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Namespace(namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) PeerApp(name, namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) PeerNamespace(namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) PeerService(name, namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) PeerWorkload(name, namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Protocol(name string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) QueryScope() *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Reporter(name string, includeAmbient bool) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) SelfReporter() *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Service(name, namespace string) *MetricsLabelsBuilder
- func (lb *MetricsLabelsBuilder) Workload(name, namespace string) *MetricsLabelsBuilder
- type MetricsService
- func (in *MetricsService) GetControlPlaneMetrics(q models.IstioMetricsQuery, scaler func(n string) float64) (models.MetricsMap, error)
- func (in *MetricsService) GetMetrics(q models.IstioMetricsQuery, scaler func(n string) float64) (models.MetricsMap, error)
- func (in *MetricsService) GetStats(queries []models.MetricsStatsQuery) (map[string]models.MetricsStats, error)
- type NamespaceHealthCriteria
- type NamespaceService
- func (in *NamespaceService) GetClusterList() []string
- func (in *NamespaceService) GetClusterNamespace(ctx context.Context, namespace string, cluster string) (*models.Namespace, error)
- func (in *NamespaceService) GetClusterNamespaces(ctx context.Context, cluster string) ([]models.Namespace, error)
- func (in *NamespaceService) GetNamespaceClusters(ctx context.Context, namespace string) ([]models.Namespace, error)
- func (in *NamespaceService) GetNamespaces(ctx context.Context) ([]models.Namespace, error)
- func (in *NamespaceService) UpdateNamespace(ctx context.Context, namespace string, jsonPatch string, cluster string) (*models.Namespace, error)
- type OAuthAuthorizationServer
- type OAuthConfig
- type ObjectChecker
- type OpenshiftOAuthService
- func (in *OpenshiftOAuthService) AuthCodeURL(verifier string, cluster string) (string, error)
- func (in *OpenshiftOAuthService) Exchange(ctx context.Context, code string, verifier string, cluster string) (*oauth2.Token, error)
- func (in *OpenshiftOAuthService) GetUserInfo(ctx context.Context, token string, cluster string) (*user_v1.User, error)
- func (in *OpenshiftOAuthService) Logout(ctx context.Context, token string, cluster string) error
- func (in *OpenshiftOAuthService) OAuthConfig(cluster string) (*OAuthConfig, error)
- type PodLog
- type ProxyLoggingService
- type ProxyStatusService
- func (in *ProxyStatusService) GetConfigDump(cluster, namespace, pod string) (models.EnvoyProxyDump, error)
- func (in *ProxyStatusService) GetConfigDumpResourceEntries(cluster, namespace, pod, resource string) (*models.EnvoyProxyDump, error)
- func (in *ProxyStatusService) GetPodProxyStatus(cluster, ns, pod string) *models.ProxyStatus
- type ReferenceChecker
- type RegistryCriteria
- type RegistryStatusService
- type ServiceCriteria
- type SpanFilter
- type SvcService
- func (in *SvcService) GetService(ctx context.Context, cluster, namespace, service string) (models.Service, error)
- func (in *SvcService) GetServiceAppName(ctx context.Context, cluster, namespace, service string) (string, error)
- func (in *SvcService) GetServiceDetails(ctx context.Context, cluster, namespace, service, interval string, ...) (*models.ServiceDetails, error)
- func (in *SvcService) GetServiceList(ctx context.Context, criteria ServiceCriteria) (*models.ServiceList, error)
- func (in *SvcService) UpdateService(ctx context.Context, cluster, namespace, service string, interval string, ...) (*models.ServiceDetails, error)
- type TLSService
- func (in *TLSService) ClusterWideNSmTLSStatus(ctx context.Context, namespaces []models.Namespace, cluster string) ([]models.MTLSStatus, error)
- func (in *TLSService) MeshWidemTLSStatus(ctx context.Context, cluster string, revision string) (models.MTLSStatus, error)
- func (in *TLSService) NamespaceWidemTLSStatus(ctx context.Context, namespace, cluster string) (models.MTLSStatus, error)
- type TracingService
- func (in *TracingService) GetAppSpans(ns, app string, query models.TracingQuery) ([]model.TracingSpan, error)
- func (in *TracingService) GetAppTraces(ns, app string, query models.TracingQuery) (*model.TracingResponse, error)
- func (in *TracingService) GetErrorTraces(ns, app string, duration time.Duration) (errorTraces int, err error)
- func (in *TracingService) GetServiceSpans(ctx context.Context, ns, service string, query models.TracingQuery) ([]model.TracingSpan, error)
- func (in *TracingService) GetServiceTraces(ctx context.Context, ns, service string, query models.TracingQuery) (*model.TracingResponse, error)
- func (in *TracingService) GetStatus() (accessible bool, err error)
- func (in *TracingService) GetTraceDetail(traceID string) (trace *model.TracingSingleTrace, err error)
- func (in *TracingService) GetWorkloadSpans(ctx context.Context, ns, workload string, query models.TracingQuery) ([]model.TracingSpan, error)
- func (in *TracingService) GetWorkloadTraces(ctx context.Context, ns, workload string, query models.TracingQuery) (*model.TracingResponse, error)
- type WorkloadCriteria
- type WorkloadService
- func (in *WorkloadService) BuildLogOptionsCriteria(container, duration string, logType models.LogType, sinceTime, maxLines string) (*LogOptions, error)
- func (in *WorkloadService) GetPod(cluster, namespace, name string) (*models.Pod, error)
- func (in *WorkloadService) GetWaypoints(ctx context.Context) models.Workloads
- func (in *WorkloadService) GetWorkload(ctx context.Context, criteria WorkloadCriteria) (*models.Workload, error)
- func (in *WorkloadService) GetWorkloadAppName(ctx context.Context, cluster, namespace, workload string) (string, error)
- func (in *WorkloadService) GetWorkloadList(ctx context.Context, criteria WorkloadCriteria) (models.WorkloadList, error)
- func (in *WorkloadService) StreamPodLogs(cluster, namespace, name string, opts *LogOptions, w http.ResponseWriter) error
- func (in *WorkloadService) UpdateWorkload(ctx context.Context, cluster string, namespace string, workloadName string, ...) (*models.Workload, error)
Constants ¶
const ( IstioDefaultCASecret string = "istio-ca-secret" UserProvidedCASecret string = "cacerts" CACert string = "ca-cert.pem" CAChainCert string = "cert-chain.pem" )
const ( IstiodClusterIDEnvKey = "CLUSTER_ID" IstiodExternalEnvKey = "EXTERNAL_ISTIOD" IstiodScopeGatewayEnvKey = "PILOT_SCOPE_GATEWAY_TO_NAMESPACE" IstioInjectionLabel = "istio-injection" IstioControlPlaneClustersLabel = "topology.istio.io/controlPlaneClusters" )
const ( MTLSEnabled = "MTLS_ENABLED" MTLSPartiallyEnabled = "MTLS_PARTIALLY_ENABLED" MTLSNotEnabled = "MTLS_NOT_ENABLED" MTLSDisabled = "MTLS_DISABLED" )
const (
AllowAny = "ALLOW_ANY"
)
Variables ¶
var HealthAnnotation = []models.AnnotationKey{models.RateHealthAnnotation}
Annotation Filter for Health
var ValidProxyLogLevels = []string{"off", "trace", "debug", "info", "warning", "error", "critical"}
ValidProxyLogLevels are the application log levels supported by the envoy admin interface.
Functions ¶
func FakeCustomControllerRSSyncedWithPods ¶ added in v1.33.0
func FakeCustomControllerRSSyncedWithPods() []apps_v1.ReplicaSet
func FakeDaemonSets ¶ added in v1.33.0
func FakeDepSyncedWithRS ¶
func FakeDepSyncedWithRS() []apps_v1.Deployment
func FakeDeploymentConfigs ¶
func FakeDeploymentConfigs() []osapps_v1.DeploymentConfig
func FakeDeployments ¶
func FakeDeployments(conf config.Config) []apps_v1.Deployment
func FakeDuplicatedDeployments ¶ added in v0.9.1
func FakeDuplicatedDeployments() []apps_v1.Deployment
func FakeDuplicatedReplicaSets ¶ added in v0.9.1
func FakeDuplicatedReplicaSets() []apps_v1.ReplicaSet
func FakeDuplicatedStatefulSets ¶ added in v0.9.1
func FakeDuplicatedStatefulSets() []apps_v1.StatefulSet
func FakePodLogsProxy ¶ added in v1.33.0
func FakePodLogsProxy() *kubernetes.PodLogs
func FakePodLogsSyncedWithDeployments ¶ added in v0.18.0
func FakePodLogsSyncedWithDeployments() *kubernetes.PodLogs
func FakePodLogsZtunnel ¶ added in v1.84.0
func FakePodLogsZtunnel() *kubernetes.PodLogs
func FakePodSyncedWithDeployments ¶ added in v0.18.0
func FakePodsFromCustomController ¶ added in v1.33.0
func FakePodsNoController ¶
func FakePodsSyncedWithDuplicated ¶ added in v0.9.1
func FakeRSSyncedWithPods ¶
func FakeRSSyncedWithPods() []apps_v1.ReplicaSet
func FakeReplicaSets ¶
func FakeReplicaSets(conf config.Config) []apps_v1.ReplicaSet
func FakeReplicationControllers ¶
func FakeReplicationControllers() []core_v1.ReplicationController
func FakeServices ¶
func FakeStatefulSets ¶
func FakeStatefulSets() []apps_v1.StatefulSet
func FakeWaypointNServiceEnrolledPods ¶ added in v1.87.0
func FakeWaypointNamespaceEnrolledPods ¶ added in v1.87.0
func FakeWaypointPod ¶ added in v1.87.0
func FakeZtunnelDaemonSet ¶ added in v1.84.0
func FakeZtunnelPods ¶ added in v1.84.0
func FilterUniqueIstioReferences ¶ added in v1.42.0
func FilterUniqueIstioReferences(refs []*models.IstioValidationKey) []*models.IstioValidationKey
func FilterWorkloadReferences ¶ added in v1.42.0
func FilterWorkloadReferences(wSelector string, istioConfigList models.IstioConfigList, cluster string) []*models.IstioValidationKey
func GetIstioAPI ¶ added in v0.9.1
GetIstioAPI provides the Kubernetes API that manages this Istio resource type or empty string if it's not managed
func GetIstioScaler ¶ added in v1.27.0
func GetWorkloadStatus ¶ added in v1.33.0
func IsAccessibleError ¶ added in v1.10.0
func IsValidProxyLogLevel ¶ added in v1.41.0
IsValidLogLevel determines if the provided string is a valid proxy log level. This can be called before calling SetLogLevel.
func NewControlPlaneMonitor ¶ added in v1.78.0
func NewControlPlaneMonitor(cache cache.KialiCache, clientFactory kubernetes.ClientFactory, conf config.Config, discovery *istio.Discovery) *controlPlaneMonitor
func SetWithBackends ¶
func SetWithBackends(cf kubernetes.ClientFactory, prom prometheus.ClientInterface)
SetWithBackends allows for specifying the ClientFactory and Prometheus clients to be used. Mock friendly. Used only with tests.
func SetupBusinessLayer ¶ added in v1.66.0
func SetupBusinessLayer(t *testing.T, k8s kubernetes.ClientInterface, config config.Config) cache.KialiCache
SetupBusinessLayer mocks out some global variables in the business package such as the kiali cache and the prometheus client.
func Start ¶ added in v1.46.0
func Start( cf kubernetes.ClientFactory, controlPlaneMonitor ControlPlaneMonitor, cache cache.KialiCache, disc meshDiscovery, prom prometheus.ClientInterface, traceClientLoader func() tracing.ClientInterface, grafana *grafana.Service, )
Start sets the globals necessary for the business layer. TODO: Refactor out global vars.
func WithControlPlaneMonitor ¶ added in v1.78.0
func WithControlPlaneMonitor(cpm ControlPlaneMonitor)
WithControlPlaneMonitor is a testing func that lets you replace the global cpm var.
func WithDiscovery ¶ added in v1.87.0
func WithDiscovery(disc meshDiscovery)
WithDiscovery is a testing func that lets you replace the global discovery var.
func WithKialiCache ¶ added in v1.66.0
func WithKialiCache(cache cache.KialiCache)
WithKialiCache is a testing func that lets you replace the global cache var.
func WithProm ¶ added in v1.66.0
func WithProm(prom prometheus.ClientInterface)
WithProm is a testing func that lets you replace the global prom client var.
Types ¶
type AccessLogEntry ¶ added in v1.33.0
type AccessLogEntry struct { Timestamp string `json:"timestamp,omitempty"` TimestampUnix int64 `json:"timestampUnix,omitempty"` }
AccessLogEntry provides parsed info from a single proxy access log entry
type AccessibleNamespaceError ¶ added in v1.10.0
type AccessibleNamespaceError struct {
// contains filtered or unexported fields
}
func (*AccessibleNamespaceError) Error ¶ added in v1.10.0
func (in *AccessibleNamespaceError) Error() string
type AppCriteria ¶ added in v1.48.0
type AppService ¶
type AppService struct {
// contains filtered or unexported fields
}
AppService deals with fetching Workloads group by "app" label, which will be identified as an "application"
func NewAppService ¶ added in v1.86.0
func NewAppService(businessLayer *Layer, conf *config.Config, prom prometheus.ClientInterface, grafana *grafana.Service, userClients map[string]kubernetes.ClientInterface) AppService
func (*AppService) GetAppDetails ¶ added in v1.48.0
func (in *AppService) GetAppDetails(ctx context.Context, criteria AppCriteria) (models.App, error)
GetApp is the API handler to fetch the details for a given namespace and app name
func (*AppService) GetAppList ¶
func (in *AppService) GetAppList(ctx context.Context, criteria AppCriteria) (models.AppList, error)
GetAppList is the API handler to fetch the list of applications in a given namespace
func (*AppService) GetClusterAppList ¶ added in v1.82.1
func (in *AppService) GetClusterAppList(ctx context.Context, criteria AppCriteria) (models.ClusterApps, error)
GetClusterAppList is the API handler to fetch the list of applications in a given namespace and cluster
type ControlPlaneMonitor ¶ added in v1.78.0
type ControlPlaneMonitor interface { PollIstiodForProxyStatus(ctx context.Context) // RefreshIstioCache should update the kiali cache's istio related stores. RefreshIstioCache(ctx context.Context) error }
ControlPlaneMonitor is an interface for the control plane monitor. This is an interface solely for testing purposes since we need to mock out portforwarding and polling.
type DashboardsService ¶ added in v0.12.0
type DashboardsService struct { CustomEnabled bool // contains filtered or unexported fields }
DashboardsService deals with fetching dashboards from config
func NewDashboardsService ¶ added in v0.12.0
func NewDashboardsService(conf *config.Config, grafana *grafana.Service, namespace *models.Namespace, workload *models.Workload) *DashboardsService
NewDashboardsService initializes this business service
func (*DashboardsService) BuildIstioDashboard ¶ added in v1.27.0
func (in *DashboardsService) BuildIstioDashboard(metrics models.MetricsMap, direction string) *models.MonitoringDashboard
BuildIstioDashboard returns Istio dashboard filled-in with metrics
func (*DashboardsService) GetCustomDashboardRefs ¶ added in v0.17.0
func (in *DashboardsService) GetCustomDashboardRefs(namespace, app, version string, pods []*models.Pod) []models.Runtime
GetCustomDashboardRefs finds all dashboard IDs and Titles associated to this app and add them to the model
func (*DashboardsService) GetDashboard ¶ added in v0.12.0
func (in *DashboardsService) GetDashboard(ctx context.Context, params models.DashboardQuery, template string) (*models.MonitoringDashboard, error)
GetDashboard returns a dashboard filled-in with target data
func (*DashboardsService) SearchExplicitDashboards ¶ added in v1.27.0
func (in *DashboardsService) SearchExplicitDashboards(pods []models.Pod) []models.Runtime
SearchExplicitDashboards will check annotations of all supplied pods to extract a unique list of dashboards Accepted annotations are "kiali.io/runtimes" and "kiali.io/dashboards"
type FakeControlPlaneMonitor ¶ added in v1.78.0
type FakeControlPlaneMonitor struct{}
FakeControlPlaneMonitor is used for testing and implements ControlPlaneMonitor.
func (*FakeControlPlaneMonitor) PollIstiodForProxyStatus ¶ added in v1.78.0
func (f *FakeControlPlaneMonitor) PollIstiodForProxyStatus(ctx context.Context)
func (*FakeControlPlaneMonitor) RefreshIstioCache ¶ added in v1.78.0
func (f *FakeControlPlaneMonitor) RefreshIstioCache(ctx context.Context) error
type HealthService ¶
type HealthService struct {
// contains filtered or unexported fields
}
HealthService deals with fetching health from various sources and convert to kiali model
func (*HealthService) GetAppHealth ¶
func (in *HealthService) GetAppHealth(ctx context.Context, namespace, cluster, app, rateInterval string, queryTime time.Time, appD *appDetails) (models.AppHealth, error)
GetAppHealth returns an app health from just Namespace and app name (thus, it fetches data from K8S and Prometheus)
func (*HealthService) GetNamespaceAppHealth ¶
func (in *HealthService) GetNamespaceAppHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceAppHealth, error)
GetNamespaceAppHealth returns a health for all apps in given Namespace (thus, it fetches data from K8S and Prometheus)
func (*HealthService) GetNamespaceServiceHealth ¶
func (in *HealthService) GetNamespaceServiceHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceServiceHealth, error)
GetNamespaceServiceHealth returns a health for all services in given Namespace (thus, it fetches data from K8S and Prometheus)
func (*HealthService) GetNamespaceWorkloadHealth ¶
func (in *HealthService) GetNamespaceWorkloadHealth(ctx context.Context, criteria NamespaceHealthCriteria) (models.NamespaceWorkloadHealth, error)
GetNamespaceWorkloadHealth returns a health for all workloads in given Namespace (thus, it fetches data from K8S and Prometheus)
func (*HealthService) GetServiceHealth ¶
func (in *HealthService) GetServiceHealth(ctx context.Context, namespace, cluster, service, rateInterval string, queryTime time.Time, svc *models.Service) (models.ServiceHealth, error)
GetServiceHealth returns a service health (service request error rate)
func (*HealthService) GetWorkloadHealth ¶
func (in *HealthService) GetWorkloadHealth(ctx context.Context, namespace, cluster, workload, rateInterval string, queryTime time.Time, w *models.Workload) (models.WorkloadHealth, error)
GetWorkloadHealth returns a workload health from just Namespace and workload (thus, it fetches data from K8S and Prometheus)
type IstioCertsService ¶ added in v1.40.0
type IstioCertsService struct {
// contains filtered or unexported fields
}
func NewIstioCertsService ¶ added in v1.87.0
func NewIstioCertsService(conf *config.Config, discovery meshDiscovery, k8s kubernetes.ClientInterface) IstioCertsService
func (*IstioCertsService) GetCertsInfo ¶ added in v1.40.0
type IstioConfigCriteria ¶
type IstioConfigCriteria struct { IncludeGateways bool IncludeK8sGateways bool IncludeK8sGRPCRoutes bool IncludeK8sHTTPRoutes bool IncludeK8sReferenceGrants bool IncludeK8sTCPRoutes bool IncludeK8sTLSRoutes bool IncludeVirtualServices bool IncludeDestinationRules bool IncludeServiceEntries bool IncludeSidecars bool IncludeAuthorizationPolicies bool IncludePeerAuthentications bool IncludeWorkloadEntries bool IncludeWorkloadGroups bool IncludeRequestAuthentications bool IncludeEnvoyFilters bool IncludeWasmPlugins bool IncludeTelemetry bool LabelSelector string WorkloadSelector string }
func ParseIstioConfigCriteria ¶ added in v1.20.0
func ParseIstioConfigCriteria(objects, labelSelector, workloadSelector string) IstioConfigCriteria
func (IstioConfigCriteria) Include ¶ added in v1.24.0
func (icc IstioConfigCriteria) Include(resource string) bool
type IstioConfigService ¶
type IstioConfigService struct {
// contains filtered or unexported fields
}
func (*IstioConfigService) CreateIstioConfigDetail ¶ added in v0.14.0
func (in *IstioConfigService) CreateIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType string, body []byte) (models.IstioConfigDetails, error)
func (*IstioConfigService) DeleteIstioConfigDetail ¶ added in v0.9.1
func (in *IstioConfigService) DeleteIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType, name string) error
DeleteIstioConfigDetail deletes the given Istio resource
func (*IstioConfigService) GatewayAPIClasses ¶ added in v1.74.0
func (in *IstioConfigService) GatewayAPIClasses(cluster string) []config.GatewayAPIClass
func (*IstioConfigService) GetIstioConfigDetails ¶
func (in *IstioConfigService) GetIstioConfigDetails(ctx context.Context, cluster, namespace, objectType, object string) (models.IstioConfigDetails, error)
GetIstioConfigDetails returns a specific Istio configuration object. It uses following parameters: - "namespace": namespace where configuration is stored - "objectType": type of the configuration - "object": name of the configuration
func (*IstioConfigService) GetIstioConfigList ¶ added in v0.9.1
func (in *IstioConfigService) GetIstioConfigList(ctx context.Context, cluster string, criteria IstioConfigCriteria) (*models.IstioConfigList, error)
func (*IstioConfigService) GetIstioConfigListForNamespace ¶ added in v1.82.0
func (in *IstioConfigService) GetIstioConfigListForNamespace(ctx context.Context, cluster, namespace string, criteria IstioConfigCriteria) (*models.IstioConfigList, error)
func (*IstioConfigService) GetIstioConfigMap ¶ added in v1.69.0
func (in *IstioConfigService) GetIstioConfigMap(ctx context.Context, namespace string, criteria IstioConfigCriteria) (models.IstioConfigMap, error)
GetIstioConfigMap returns a map of Istio config objects list per cluster @TODO this method should replace GetIstioConfigList
func (*IstioConfigService) GetIstioConfigPermissions ¶ added in v1.29.0
func (in *IstioConfigService) GetIstioConfigPermissions(ctx context.Context, namespaces []string, cluster string) models.IstioConfigPermissions
func (*IstioConfigService) IsAmbientEnabled ¶ added in v1.67.0
func (in *IstioConfigService) IsAmbientEnabled(cluster string) bool
func (*IstioConfigService) IsGatewayAPI ¶ added in v1.58.0
func (in *IstioConfigService) IsGatewayAPI(cluster string) bool
func (*IstioConfigService) UpdateIstioConfigDetail ¶ added in v0.12.0
func (in *IstioConfigService) UpdateIstioConfigDetail(ctx context.Context, cluster, namespace, resourceType, name, jsonPatch string) (models.IstioConfigDetails, error)
type IstioStatusService ¶ added in v1.18.0
type IstioStatusService struct {
// contains filtered or unexported fields
}
SvcService deals with fetching istio/kubernetes services related content and convert to kiali model
func NewIstioStatusService ¶ added in v1.78.0
func NewIstioStatusService( conf *config.Config, homeClusterSAClient kubernetes.ClientInterface, userClients map[string]kubernetes.ClientInterface, tracing *TracingService, workloads *WorkloadService, discovery meshDiscovery, ) IstioStatusService
func (*IstioStatusService) GetStatus ¶ added in v1.18.0
func (iss *IstioStatusService) GetStatus(ctx context.Context) (kubernetes.IstioComponentStatus, error)
type IstioValidationsService ¶
type IstioValidationsService struct {
// contains filtered or unexported fields
}
func (*IstioValidationsService) GetIstioObjectValidations ¶
func (in *IstioValidationsService) GetIstioObjectValidations(ctx context.Context, cluster, namespace string, objectType string, object string) (models.IstioValidations, models.IstioReferencesMap, error)
GetIstioObjectValidations validates a single Istio object of the given type with the given name found in the given namespace.
func (*IstioValidationsService) GetValidations ¶ added in v0.14.0
func (in *IstioValidationsService) GetValidations(ctx context.Context, cluster, namespace, service, workload string) (models.IstioValidations, error)
GetValidations returns an IstioValidations object with all the checks found when running all the enabled checkers. If service is "" then the whole namespace is validated. If service is not empty string, then all of its associated Istio objects are validated.
type Layer ¶
type Layer struct { App AppService Health HealthService IstioConfig IstioConfigService IstioStatus IstioStatusService IstioCerts IstioCertsService Tracing TracingService Mesh MeshService Namespace NamespaceService ProxyLogging ProxyLoggingService ProxyStatus ProxyStatusService RegistryStatus RegistryStatusService Svc SvcService TLS TLSService Validations IstioValidationsService Workload WorkloadService }
Layer is a container for fast access to inner services. A business layer is created per token/user. Any data that needs to be saved across layers is saved in the Kiali Cache.
func NewLayer ¶ added in v1.79.0
func NewLayer( conf *config.Config, cache cache.KialiCache, cf kubernetes.ClientFactory, prom prometheus.ClientInterface, traceClient tracing.ClientInterface, cpm ControlPlaneMonitor, grafana *grafana.Service, discovery *istio.Discovery, authInfos map[string]*api.AuthInfo, ) (*Layer, error)
NewLayer creates the business layer using the passed k8sClients and prom clients. Note that the client passed here should *not* be the Kiali ServiceAccount client. It should be the user client based on the logged in user's token.
func NewWithBackends ¶ added in v0.10.0
func NewWithBackends(userClients map[string]kubernetes.ClientInterface, kialiSAClients map[string]kubernetes.ClientInterface, prom prometheus.ClientInterface, traceClient tracing.ClientInterface) *Layer
NewWithBackends creates the business layer using the passed k8sClients and prom clients. Note that the client passed here should *not* be the Kiali ServiceAccount client. It should be the user client based on the logged in user's token.
type LogEntry ¶ added in v1.25.0
type LogEntry struct { Message string `json:"message,omitempty"` Severity string `json:"severity,omitempty"` OriginalTime time.Time `json:"-"` Timestamp string `json:"timestamp,omitempty"` TimestampUnix int64 `json:"timestampUnix,omitempty"` AccessLog *parser.AccessLog `json:"accessLog,omitempty"` }
LogEntry holds a single log entry
type LogOptions ¶ added in v1.26.0
type LogOptions struct { Duration *time.Duration LogType models.LogType MaxLines *int core_v1.PodLogOptions // contains filtered or unexported fields }
LogOptions holds query parameter values
type MeshService ¶ added in v1.29.0
type MeshService struct {
// contains filtered or unexported fields
}
MeshService is a support service for retrieving data about the mesh environment when Istio is installed with multi-cluster enabled. Prefer initializing this type via the NewMeshService function.
func NewMeshService ¶ added in v1.29.0
func NewMeshService( kialiSAClients map[string]kubernetes.ClientInterface, cache cache.KialiCache, namespaceService NamespaceService, conf *config.Config, discovery meshDiscovery, ) MeshService
NewMeshService initializes a new MeshService structure with the given k8s clients.
func (*MeshService) CanaryUpgradeStatus ¶ added in v1.60.0
func (in *MeshService) CanaryUpgradeStatus() (*models.CanaryUpgradeStatus, error)
func (*MeshService) IsValidCluster ¶ added in v1.68.0
func (in *MeshService) IsValidCluster(cluster string) bool
Checks if a cluster exist
type MetricsLabelsBuilder ¶ added in v1.27.0
type MetricsLabelsBuilder struct {
// contains filtered or unexported fields
}
func NewMetricsLabelsBuilder ¶ added in v1.27.0
func NewMetricsLabelsBuilder(direction string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Add ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Add(key, value string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) AddOp ¶ added in v1.86.0
func (lb *MetricsLabelsBuilder) AddOp(key, value, op string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Aggregate ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Aggregate(key, value string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) App ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) App(name, namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Build ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Build() string
func (*MetricsLabelsBuilder) BuildForErrors ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) BuildForErrors() []string
func (*MetricsLabelsBuilder) Cluster ¶ added in v1.68.0
func (lb *MetricsLabelsBuilder) Cluster(cluster string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Namespace ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Namespace(namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) PeerApp ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) PeerApp(name, namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) PeerNamespace ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) PeerNamespace(namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) PeerService ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) PeerService(name, namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) PeerWorkload ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) PeerWorkload(name, namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Protocol ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Protocol(name string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) QueryScope ¶ added in v1.48.0
func (lb *MetricsLabelsBuilder) QueryScope() *MetricsLabelsBuilder
QueryScope adds scope labels, if configured
func (*MetricsLabelsBuilder) Reporter ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Reporter(name string, includeAmbient bool) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) SelfReporter ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) SelfReporter() *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Service ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Service(name, namespace string) *MetricsLabelsBuilder
func (*MetricsLabelsBuilder) Workload ¶ added in v1.27.0
func (lb *MetricsLabelsBuilder) Workload(name, namespace string) *MetricsLabelsBuilder
type MetricsService ¶ added in v1.27.0
type MetricsService struct {
// contains filtered or unexported fields
}
MetricsService deals with fetching metrics from prometheus
func NewMetricsService ¶ added in v1.27.0
func NewMetricsService(prom prometheus.ClientInterface) *MetricsService
NewMetricsService initializes this business service
func (*MetricsService) GetControlPlaneMetrics ¶ added in v1.57.0
func (in *MetricsService) GetControlPlaneMetrics(q models.IstioMetricsQuery, scaler func(n string) float64) (models.MetricsMap, error)
func (*MetricsService) GetMetrics ¶ added in v1.27.0
func (in *MetricsService) GetMetrics(q models.IstioMetricsQuery, scaler func(n string) float64) (models.MetricsMap, error)
func (*MetricsService) GetStats ¶ added in v1.27.0
func (in *MetricsService) GetStats(queries []models.MetricsStatsQuery) (map[string]models.MetricsStats, error)
GetStats computes metrics stats, currently response times, for a set of queries
type NamespaceHealthCriteria ¶ added in v1.56.0
type NamespaceService ¶
type NamespaceService struct {
// contains filtered or unexported fields
}
NamespaceService deals with fetching k8sClients namespaces / OpenShift projects and convert to kiali model
func NewNamespaceService ¶
func NewNamespaceService( userClients map[string]kubernetes.ClientInterface, kialiSAClients map[string]kubernetes.ClientInterface, cache cache.KialiCache, conf *config.Config, discovery meshDiscovery, ) NamespaceService
func (*NamespaceService) GetClusterList ¶ added in v1.72.0
func (in *NamespaceService) GetClusterList() []string
GetClusterList Returns a list of cluster names based on the user clients
func (*NamespaceService) GetClusterNamespace ¶ added in v1.72.0
func (in *NamespaceService) GetClusterNamespace(ctx context.Context, namespace string, cluster string) (*models.Namespace, error)
GetClusterNamespace returns the definition of the specified namespace.
func (*NamespaceService) GetClusterNamespaces ¶ added in v1.72.0
func (in *NamespaceService) GetClusterNamespaces(ctx context.Context, cluster string) ([]models.Namespace, error)
GetClusterNamespaces is just a convenience routine that filters GetNamespaces for a particular cluster
func (*NamespaceService) GetNamespaceClusters ¶ added in v1.71.0
func (in *NamespaceService) GetNamespaceClusters(ctx context.Context, namespace string) ([]models.Namespace, error)
GetNamespaceClusters is a convenience routine that filters GetNamespaces for a particular namespace
func (*NamespaceService) GetNamespaces ¶
Returns a list of the given namespaces / projects
type OAuthAuthorizationServer ¶ added in v0.16.0
type OAuthAuthorizationServer struct { AuthorizationEndpoint string `json:"authorization_endpoint"` TokenEndpoint string `json:"token_endpoint"` Issuer string `json:"issuer"` }
Structure that's returned by the openshift oauth authorization server. It defaults to following the snake_case format, so we parse it to something more usable on our side.
type OAuthConfig ¶ added in v1.84.0
type OAuthConfig struct { // AuthorizationEndpoint is the url to redirect the user to for authentication. // Kiali must now redirect to a url that it owns in order to first attach // the nonce to the session until we can think of a better way to do this. AuthorizationEndpoint string RedirectURL string TokenAgeInSeconds int }
OAuthConfig is some configuration for the OAuth service.
type ObjectChecker ¶
type ObjectChecker interface {
Check() models.IstioValidations
}
type OpenshiftOAuthService ¶ added in v0.16.0
type OpenshiftOAuthService struct {
// contains filtered or unexported fields
}
func NewOpenshiftOAuthService ¶ added in v1.84.0
func NewOpenshiftOAuthService(ctx context.Context, conf *config.Config, kialiSAClients map[string]kubernetes.ClientInterface, clientFactory kubernetes.ClientFactory) (*OpenshiftOAuthService, error)
NewOpenshiftOAuthService creates a new OpenshiftOAuthService. It will try to autodiscover the OAuth server configuration from each cluster. It also assumes that you've created an OAuthClient for Kiali in each cluster.
func (*OpenshiftOAuthService) AuthCodeURL ¶ added in v1.84.0
func (in *OpenshiftOAuthService) AuthCodeURL(verifier string, cluster string) (string, error)
AuthCodeURL returns the URL to redirect the user to for authentication.
func (*OpenshiftOAuthService) Exchange ¶ added in v1.84.0
func (in *OpenshiftOAuthService) Exchange(ctx context.Context, code string, verifier string, cluster string) (*oauth2.Token, error)
Exchange exchanges the code for a token that can be used to talk to the kube API server.
func (*OpenshiftOAuthService) GetUserInfo ¶ added in v0.16.0
func (*OpenshiftOAuthService) Logout ¶ added in v0.20.0
Logout deletes the oauth access token from the API server.
func (*OpenshiftOAuthService) OAuthConfig ¶ added in v1.84.0
func (in *OpenshiftOAuthService) OAuthConfig(cluster string) (*OAuthConfig, error)
type PodLog ¶ added in v1.25.0
type PodLog struct { Entries []LogEntry `json:"entries,omitempty"` LinesTruncated bool `json:"linesTruncated,omitempty"` }
PodLog reports log entries
type ProxyLoggingService ¶ added in v1.41.0
type ProxyLoggingService struct {
// contains filtered or unexported fields
}
ProxyLoggingService is a thin layer over the kube interface for proxy logging functions.
func (*ProxyLoggingService) SetLogLevel ¶ added in v1.41.0
func (in *ProxyLoggingService) SetLogLevel(cluster, namespace, pod, level string) error
SetLogLevel sets the pod's proxy log level.
type ProxyStatusService ¶ added in v1.35.0
type ProxyStatusService struct {
// contains filtered or unexported fields
}
func (*ProxyStatusService) GetConfigDump ¶ added in v1.35.0
func (in *ProxyStatusService) GetConfigDump(cluster, namespace, pod string) (models.EnvoyProxyDump, error)
func (*ProxyStatusService) GetConfigDumpResourceEntries ¶ added in v1.35.0
func (in *ProxyStatusService) GetConfigDumpResourceEntries(cluster, namespace, pod, resource string) (*models.EnvoyProxyDump, error)
func (*ProxyStatusService) GetPodProxyStatus ¶ added in v1.35.0
func (in *ProxyStatusService) GetPodProxyStatus(cluster, ns, pod string) *models.ProxyStatus
type ReferenceChecker ¶ added in v1.47.0
type ReferenceChecker interface {
References() models.IstioReferencesMap
}
type RegistryCriteria ¶ added in v1.44.0
type RegistryStatusService ¶ added in v1.35.0
type RegistryStatusService struct {
// contains filtered or unexported fields
}
func (*RegistryStatusService) GetRegistryServices ¶ added in v1.44.0
func (in *RegistryStatusService) GetRegistryServices(criteria RegistryCriteria) []*kubernetes.RegistryService
type ServiceCriteria ¶ added in v1.43.0
type SpanFilter ¶ added in v1.24.0
type SpanFilter = func(span *jaegerModels.Span) bool
type SvcService ¶
type SvcService struct {
// contains filtered or unexported fields
}
SvcService deals with fetching istio/kubernetes services related content and convert to kiali model
func (*SvcService) GetService ¶
func (*SvcService) GetServiceAppName ¶ added in v1.24.0
func (in *SvcService) GetServiceAppName(ctx context.Context, cluster, namespace, service string) (string, error)
GetServiceAppName returns the "Application" name (app label) that relates to a service This label is taken from the service selector, which means it is assumed that pods are selected using that label
func (*SvcService) GetServiceDetails ¶ added in v1.43.0
func (in *SvcService) GetServiceDetails(ctx context.Context, cluster, namespace, service, interval string, queryTime time.Time) (*models.ServiceDetails, error)
GetService returns a single service and associated data using the interval and queryTime
func (*SvcService) GetServiceList ¶
func (in *SvcService) GetServiceList(ctx context.Context, criteria ServiceCriteria) (*models.ServiceList, error)
GetServiceList returns a list of all services for a given criteria
func (*SvcService) UpdateService ¶ added in v1.30.0
type TLSService ¶ added in v0.16.0
type TLSService struct {
// contains filtered or unexported fields
}
func (*TLSService) ClusterWideNSmTLSStatus ¶ added in v1.81.0
func (in *TLSService) ClusterWideNSmTLSStatus(ctx context.Context, namespaces []models.Namespace, cluster string) ([]models.MTLSStatus, error)
func (*TLSService) MeshWidemTLSStatus ¶ added in v0.16.0
func (in *TLSService) MeshWidemTLSStatus(ctx context.Context, cluster string, revision string) (models.MTLSStatus, error)
func (*TLSService) NamespaceWidemTLSStatus ¶ added in v0.16.0
func (in *TLSService) NamespaceWidemTLSStatus(ctx context.Context, namespace, cluster string) (models.MTLSStatus, error)
type TracingService ¶ added in v1.75.0
type TracingService struct {
// contains filtered or unexported fields
}
func NewTracingService ¶ added in v1.79.0
func NewTracingService(conf *config.Config, tracing tracing.ClientInterface, svcService *SvcService, workloadService *WorkloadService) TracingService
func (*TracingService) GetAppSpans ¶ added in v1.75.0
func (in *TracingService) GetAppSpans(ns, app string, query models.TracingQuery) ([]model.TracingSpan, error)
func (*TracingService) GetAppTraces ¶ added in v1.75.0
func (in *TracingService) GetAppTraces(ns, app string, query models.TracingQuery) (*model.TracingResponse, error)
func (*TracingService) GetErrorTraces ¶ added in v1.75.0
func (*TracingService) GetServiceSpans ¶ added in v1.75.0
func (in *TracingService) GetServiceSpans(ctx context.Context, ns, service string, query models.TracingQuery) ([]model.TracingSpan, error)
func (*TracingService) GetServiceTraces ¶ added in v1.75.0
func (in *TracingService) GetServiceTraces(ctx context.Context, ns, service string, query models.TracingQuery) (*model.TracingResponse, error)
GetServiceTraces returns traces involving the requested service. Note that because the tracing API pulls traces by "App", only a subset of the traces may actually involve the requested service. Callers may need to upwardly adjust TracingQuery.Limit to get back the number of desired traces. It depends on the number of services backing the app. For example, if there are 2 services for the app, if evenly distributed, a query limit of 20 may return only 10 traces. The ratio is typically not as bad as it is with GetWorkloadTraces.
func (*TracingService) GetStatus ¶ added in v1.75.0
func (in *TracingService) GetStatus() (accessible bool, err error)
func (*TracingService) GetTraceDetail ¶ added in v1.75.0
func (in *TracingService) GetTraceDetail(traceID string) (trace *model.TracingSingleTrace, err error)
func (*TracingService) GetWorkloadSpans ¶ added in v1.75.0
func (in *TracingService) GetWorkloadSpans(ctx context.Context, ns, workload string, query models.TracingQuery) ([]model.TracingSpan, error)
func (*TracingService) GetWorkloadTraces ¶ added in v1.75.0
func (in *TracingService) GetWorkloadTraces(ctx context.Context, ns, workload string, query models.TracingQuery) (*model.TracingResponse, error)
GetWorkloadTraces returns traces involving the requested workload. Note that because the tracing API pulls traces by "App", only a subset of the traces may actually involve the requested workload. Callers may need to upwardly adjust TracingQuery.Limit to get back the number of desired traces. It depends on the number of workloads backing the app. For example, if there are 5 workloads for the app, if evenly distributed, a query limit of 25 may return only 5 traces.
type WorkloadCriteria ¶ added in v1.43.0
type WorkloadService ¶
type WorkloadService struct {
// contains filtered or unexported fields
}
WorkloadService deals with fetching istio/kubernetes workloads related content and convert to kiali model
func NewWorkloadService ¶ added in v1.62.0
func NewWorkloadService( userClients map[string]kubernetes.ClientInterface, prom prometheus.ClientInterface, cache cache.KialiCache, layer *Layer, config *config.Config, grafana *grafana.Service, ) *WorkloadService
func (*WorkloadService) BuildLogOptionsCriteria ¶ added in v1.27.0
func (in *WorkloadService) BuildLogOptionsCriteria(container, duration string, logType models.LogType, sinceTime, maxLines string) (*LogOptions, error)
func (*WorkloadService) GetPod ¶ added in v0.18.0
func (in *WorkloadService) GetPod(cluster, namespace, name string) (*models.Pod, error)
func (*WorkloadService) GetWaypoints ¶ added in v1.87.0
func (in *WorkloadService) GetWaypoints(ctx context.Context) models.Workloads
GetWaypoints: Return the list of workloads when the waypoint proxy is applied per namespace
func (*WorkloadService) GetWorkload ¶
func (in *WorkloadService) GetWorkload(ctx context.Context, criteria WorkloadCriteria) (*models.Workload, error)
GetWorkload is the API handler to fetch details of a specific workload. If includeServices is set true, the Workload will fetch all services related
func (*WorkloadService) GetWorkloadAppName ¶ added in v1.24.0
func (in *WorkloadService) GetWorkloadAppName(ctx context.Context, cluster, namespace, workload string) (string, error)
GetWorkloadAppName returns the "Application" name (app label) that relates to a workload
func (*WorkloadService) GetWorkloadList ¶
func (in *WorkloadService) GetWorkloadList(ctx context.Context, criteria WorkloadCriteria) (models.WorkloadList, error)
GetWorkloadList is the API handler to fetch the list of workloads in a given namespace.
func (*WorkloadService) StreamPodLogs ¶ added in v1.53.0
func (in *WorkloadService) StreamPodLogs(cluster, namespace, name string, opts *LogOptions, w http.ResponseWriter) error
StreamPodLogs streams pod logs to an HTTP Response given the provided options
Source Files ¶
- apps.go
- controlplane_monitor.go
- dashboards.go
- fake_controlplane_monitor.go
- health.go
- istio_certs.go
- istio_config.go
- istio_status.go
- istio_validations.go
- layer.go
- mesh.go
- metrics.go
- metrics_definitions.go
- metrics_labels_builder.go
- namespaces.go
- openshift_oauth.go
- proxy_logging.go
- proxy_status.go
- registry_status.go
- services.go
- test_util.go
- testing.go
- tls.go
- tracing.go
- workloads.go