handlers

package
v1.89.2 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2024 License: Apache-2.0 Imports: 39 Imported by: 22

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultPromClientSupplier = prometheus.NewClient

Functions

func AggregateMetrics added in v1.21.0

func AggregateMetrics(w http.ResponseWriter, r *http.Request)

AggregateMetrics is the API handler to fetch metrics to be displayed, related to a single aggregate

func AppDashboard added in v0.12.0

func AppDashboard(conf *config.Config, grafana *grafana.Service) http.HandlerFunc

AppDashboard is the API handler to fetch Istio dashboard, related to a single app

func AppDetails added in v0.7.0

func AppDetails(w http.ResponseWriter, r *http.Request)

AppDetails is the API handler to fetch all details to be displayed, related to a single app

func AppMetrics added in v0.6.0

func AppMetrics(w http.ResponseWriter, r *http.Request)

AppMetrics is the API handler to fetch metrics to be displayed, related to an app-label grouping

func AppSpans added in v1.22.1

func AppSpans(w http.ResponseWriter, r *http.Request)

AppSpans is the API handler to fetch Tracing spans of a specific app

func AppTraces added in v1.24.0

func AppTraces(w http.ResponseWriter, r *http.Request)

func Authenticate added in v0.16.0

func Authenticate(conf *config.Config, authController authentication.AuthController) http.HandlerFunc

func AuthenticationInfo added in v0.16.0

func AuthenticationInfo(conf *config.Config, authController authentication.AuthController, clusters []string) http.HandlerFunc

func ClustersApps added in v1.82.1

func ClustersApps(w http.ResponseWriter, r *http.Request)

ClustersApps is the API handler to fetch all the apps to be displayed, related to a single cluster

func ClustersHealth added in v1.82.0

func ClustersHealth(w http.ResponseWriter, r *http.Request)

ClustersHealth is the API handler to get app-based health of every services from namespaces in the given cluster

func ClustersMetrics added in v1.81.0

func ClustersMetrics(promSupplier promClientSupplier, discovery remoteClusterIdentifier) http.HandlerFunc

ClustersMetrics is the API handler to fetch metrics to be displayed, related to all services in provided namespaces of given cluster

func ClustersServices added in v1.83.0

func ClustersServices(w http.ResponseWriter, r *http.Request)

ClustersServices is the API handler to fetch the list of services from a given cluster

func ClustersTls added in v1.81.0

func ClustersTls(w http.ResponseWriter, r *http.Request)

ClustersTls is the API to get mTLS status for given namespaces within a single cluster

func ClustersWorkloads added in v1.83.0

func ClustersWorkloads(w http.ResponseWriter, r *http.Request)

ClustersWorkloads is the API handler to fetch all the workloads to be displayed, related to a single namespace

func Config added in v0.10.0

func Config(conf *config.Config, discovery *istio.Discovery) http.HandlerFunc

Config is a REST http.HandlerFunc serving up the Kiali configuration made public to clients.

func ConfigDump added in v1.28.0

func ConfigDump(w http.ResponseWriter, r *http.Request)

func ConfigDumpResourceEntries added in v1.28.0

func ConfigDumpResourceEntries(w http.ResponseWriter, r *http.Request)

func ConfigValidationSummary added in v1.53.0

func ConfigValidationSummary(w http.ResponseWriter, r *http.Request)

ConfigValidationSummary is the API handler to fetch validations summary to be displayed. It is related to all the Istio Objects within given namespaces

func CrippledFeatures added in v1.55.0

func CrippledFeatures(w http.ResponseWriter, r *http.Request)

func CustomDashboard added in v0.12.0

func CustomDashboard(conf *config.Config, grafana *grafana.Service) http.HandlerFunc

CustomDashboard is the API handler to fetch runtime metrics to be displayed, related to a single app

func ErrorTraces added in v1.14.0

func ErrorTraces(w http.ResponseWriter, r *http.Request)

func GetGrafanaInfo

func GetGrafanaInfo(conf *config.Config, grafanaService *grafana.Service) http.HandlerFunc

GetGrafanaInfo provides the Grafana URL and other info, first by checking if a config exists then (if not) by inspecting the Kubernetes Grafana service in Istio installation namespace

func GetOldestNamespace added in v1.72.0

func GetOldestNamespace(namespaces []models.Namespace) *models.Namespace

GetOldestNamespace is a convenience function that takes a list of Namespaces and returns the Namespace with the oldest CreationTimestamp. In a tie, preference is towards the head of the list.

func GetTracingInfo added in v1.75.0

func GetTracingInfo(w http.ResponseWriter, r *http.Request)

Get TracingInfo provides the Tracing URL and other info

func GraphNamespaces added in v0.10.0

func GraphNamespaces(
	conf *config.Config,
	kialiCache cache.KialiCache,
	clientFactory kubernetes.ClientFactory,
	prom prometheus.ClientInterface,
	cpm business.ControlPlaneMonitor,
	traceClientLoader func() tracing.ClientInterface,
	grafana *grafana.Service,
	discovery *istio.Discovery,
) http.HandlerFunc

func GraphNode added in v0.8.0

func GraphNode(
	conf *config.Config,
	kialiCache cache.KialiCache,
	clientFactory kubernetes.ClientFactory,
	prom prometheus.ClientInterface,
	cpm business.ControlPlaneMonitor,
	traceClientLoader func() tracing.ClientInterface,
	grafana *grafana.Service,
	discovery *istio.Discovery,
) http.HandlerFunc

GraphNode is a REST http.HandlerFunc handling node-detail graph config generation.

func Healthz added in v0.17.0

func Healthz(w http.ResponseWriter, r *http.Request)

Healthz is a trivial endpoint that simply returns a 200 status code with no response body. This is to simply confirm the readiness of the server. You can use this for readiness and liveness probes.

func IstioCerts added in v1.40.0

func IstioCerts(w http.ResponseWriter, r *http.Request)

IstioCerts returns information about internal certificates used by Istio

func IstioConfigCreate added in v0.14.0

func IstioConfigCreate(w http.ResponseWriter, r *http.Request)

func IstioConfigDelete added in v0.9.1

func IstioConfigDelete(w http.ResponseWriter, r *http.Request)

func IstioConfigDetails

func IstioConfigDetails(w http.ResponseWriter, r *http.Request)

func IstioConfigList

func IstioConfigList(w http.ResponseWriter, r *http.Request)

func IstioConfigPermissions added in v1.13.0

func IstioConfigPermissions(w http.ResponseWriter, r *http.Request)

func IstioConfigUpdate added in v0.12.0

func IstioConfigUpdate(w http.ResponseWriter, r *http.Request)

func IstioStatus added in v1.18.0

func IstioStatus(w http.ResponseWriter, r *http.Request)

IstioStatus returns a list of istio components and its status

func IstiodCanariesStatus added in v1.60.0

func IstiodCanariesStatus(w http.ResponseWriter, r *http.Request)

func LoggingUpdate added in v1.41.0

func LoggingUpdate(w http.ResponseWriter, r *http.Request)

func Logout added in v0.16.0

func Logout(conf *config.Config, authController authentication.AuthController) http.HandlerFunc

func MeshGraph added in v1.81.0

func MeshGraph(
	conf *config.Config,
	clientFactory kubernetes.ClientFactory,
	cache cache.KialiCache,
	grafana *grafana.Service,
	prom prometheus.ClientInterface,
	traceClientLoader func() tracing.ClientInterface,
	discovery *istio.Discovery,
	cpm business.ControlPlaneMonitor,
) http.HandlerFunc

MeshGraph is a REST http.HandlerFunc handling graph generation for the mesh

func MeshTls added in v0.21.0

func MeshTls(w http.ResponseWriter, r *http.Request)

MeshTls is the API to get mesh-wide mTLS status

func MetricsStats added in v1.27.0

func MetricsStats(w http.ResponseWriter, r *http.Request)

MetricsStats is the API handler to compute some stats based on metrics

func NamespaceInfo added in v1.84.0

func NamespaceInfo(w http.ResponseWriter, r *http.Request)

func NamespaceList

func NamespaceList(w http.ResponseWriter, r *http.Request)

func NamespaceMetrics

func NamespaceMetrics(promSupplier promClientSupplier, discovery remoteClusterIdentifier) http.HandlerFunc

NamespaceMetrics is the API handler to fetch metrics to be displayed, related to all services in the namespace

func NamespaceTls added in v0.16.0

func NamespaceTls(w http.ResponseWriter, r *http.Request)

NamespaceTls is the API to get namespace-wide mTLS status

func NamespaceUpdate added in v1.22.1

func NamespaceUpdate(w http.ResponseWriter, r *http.Request)

NamespaceUpdate is the API to perform a patch on a Namespace configuration

func NamespaceValidationSummary added in v1.10.0

func NamespaceValidationSummary(discovery *istio.Discovery) http.HandlerFunc

NamespaceValidationSummary is the API handler to fetch validations summary to be displayed. It is related to all the Istio Objects within the namespace

func PodDetails added in v0.18.0

func PodDetails(w http.ResponseWriter, r *http.Request)

PodDetails is the API handler to fetch all details to be displayed, related to a single pod

func PodLogs added in v0.18.0

func PodLogs(w http.ResponseWriter, r *http.Request)

PodLogs is the API handler to fetch logs for a single pod container

func RespondWithAPIResponse added in v1.82.0

func RespondWithAPIResponse(w http.ResponseWriter, code int, payload ResponseConverter)

func RespondWithCode added in v0.14.0

func RespondWithCode(w http.ResponseWriter, code int)

func RespondWithDetailedError added in v1.3.0

func RespondWithDetailedError(w http.ResponseWriter, code int, message, detail string)

func RespondWithError

func RespondWithError(w http.ResponseWriter, code int, message string)

func RespondWithJSON

func RespondWithJSON(w http.ResponseWriter, code int, payload interface{})

func RespondWithJSONIndent

func RespondWithJSONIndent(w http.ResponseWriter, code int, payload interface{})

func Root

func Root(conf *config.Config, clientFactory kubernetes.ClientFactory, cache cache.KialiCache, grafana *grafana.Service) http.HandlerFunc

Root provides basic status of the server.

func ServiceDashboard added in v0.12.0

func ServiceDashboard(conf *config.Config, grafana *grafana.Service) http.HandlerFunc

ServiceDashboard is the API handler to fetch Istio dashboard, related to a single service

func ServiceDetails

func ServiceDetails(w http.ResponseWriter, r *http.Request)

ServiceDetails is the API handler to fetch full details of an specific service

func ServiceMetrics

func ServiceMetrics(w http.ResponseWriter, r *http.Request)

ServiceMetrics is the API handler to fetch metrics to be displayed, related to a single service

func ServiceSpans added in v1.12.0

func ServiceSpans(w http.ResponseWriter, r *http.Request)

ServiceSpans is the API handler to fetch Tracing spans of a specific service

func ServiceTraces added in v1.24.0

func ServiceTraces(w http.ResponseWriter, r *http.Request)

func ServiceUpdate added in v1.30.0

func ServiceUpdate(w http.ResponseWriter, r *http.Request)

func TraceDetails added in v1.11.0

func TraceDetails(w http.ResponseWriter, r *http.Request)

func WithAuthInfo added in v1.73.0

func WithAuthInfo(authInfo map[string]*api.AuthInfo, hf http.HandlerFunc) http.HandlerFunc

WithAuthInfo injects the given auth info into the request context of the given handler. Useful for testing only.

func WorkloadDashboard added in v0.12.0

func WorkloadDashboard(conf *config.Config, grafana *grafana.Service) http.HandlerFunc

WorkloadDashboard is the API handler to fetch Istio dashboard, related to a single workload

func WorkloadDetails added in v0.6.0

func WorkloadDetails(w http.ResponseWriter, r *http.Request)

WorkloadDetails is the API handler to fetch all details to be displayed, related to a single workload

func WorkloadMetrics added in v0.6.0

func WorkloadMetrics(w http.ResponseWriter, r *http.Request)

WorkloadMetrics is the API handler to fetch metrics to be displayed, related to a single workload

func WorkloadSpans added in v1.24.0

func WorkloadSpans(w http.ResponseWriter, r *http.Request)

WorkloadSpans is the API handler to fetch Tracing spans of a specific workload

func WorkloadTraces added in v1.24.0

func WorkloadTraces(w http.ResponseWriter, r *http.Request)

func WorkloadUpdate added in v1.22.0

func WorkloadUpdate(w http.ResponseWriter, r *http.Request)

WorkloadUpdate is the API to perform a patch on a Workload configuration

Types

type AuthInfo added in v0.16.0

type AuthInfo struct {
	Strategy                        string            `json:"strategy"`
	AuthorizationEndpoint           string            `json:"authorizationEndpoint,omitempty"`
	AuthorizationEndpointPerCluster map[string]string `json:"authorizationEndpointPerCluster,omitempty"`
	LogoutEndpoint                  string            `json:"logoutEndpoint,omitempty"`
	LogoutRedirect                  string            `json:"logoutRedirect,omitempty"`
	SessionInfo                     sessionInfo       `json:"sessionInfo"`
	SecretMissing                   bool              `json:"secretMissing,omitempty"`
}

type AuthenticationHandler added in v0.16.0

type AuthenticationHandler struct {
	// contains filtered or unexported fields
}

func NewAuthenticationHandler added in v0.16.0

func NewAuthenticationHandler(
	conf *config.Config,
	authController authentication.AuthController,
	homeClusterSAClient kubernetes.ClientInterface,
	authRedirectHandler http.Handler,
	kialiSAClients map[string]kubernetes.ClientInterface,
) AuthenticationHandler

func (*AuthenticationHandler) Handle added in v0.16.0

func (aHandler *AuthenticationHandler) Handle(next http.Handler) http.Handler

func (*AuthenticationHandler) HandleUnauthenticated added in v0.16.0

func (aHandler *AuthenticationHandler) HandleUnauthenticated(next http.Handler) http.Handler

type DeploymentConfig added in v1.36.5

type DeploymentConfig struct {
	ViewOnlyMode bool `json:"viewOnlyMode,omitempty"`
}

type IstioAnnotations added in v1.23.0

type IstioAnnotations struct {
	AmbientAnnotation        string `json:"ambientAnnotation,omitempty"`
	AmbientAnnotationEnabled string `json:"ambientAnnotationEnabled,omitempty"`
	IstioInjectionAnnotation string `json:"istioInjectionAnnotation,omitempty"`
}

type IstioCanaryRevision added in v1.37.0

type IstioCanaryRevision struct {
	Current string `json:"current,omitempty"`
	Upgrade string `json:"upgrade,omitempty"`
}

type KialiCrippledFeatures added in v1.55.0

type KialiCrippledFeatures struct {
	RequestSize             bool `json:"requestSize"`
	RequestSizeAverage      bool `json:"requestSizeAverage"`
	RequestSizePercentiles  bool `json:"requestSizePercentiles"`
	ResponseSize            bool `json:"responseSize"`
	ResponseSizeAverage     bool `json:"responseSizeAverage"`
	ResponseSizePercentiles bool `json:"responseSizePercentiles"`
	ResponseTime            bool `json:"responseTime"`
	ResponseTimeAverage     bool `json:"responseTimeAverage"`
	ResponseTimePercentiles bool `json:"responseTimePercentiles"`
}

type PrometheusConfig added in v0.15.0

type PrometheusConfig struct {
	GlobalScrapeInterval int64 `json:"globalScrapeInterval,omitempty"`
	StorageTsdbRetention int64 `json:"storageTsdbRetention,omitempty"`
}

PrometheusConfig holds actual Prometheus configuration that is useful to Kiali. All durations are in seconds.

type PrometheusPartialConfig added in v0.15.0

type PrometheusPartialConfig struct {
	Global struct {
		Scrape_interval string
	}
}

type PublicConfig added in v0.10.0

type PublicConfig struct {
	AccessibleNamespaces []string                      `json:"accessibleNamespaces,omitempty"`
	AuthStrategy         string                        `json:"authStrategy,omitempty"`
	AmbientEnabled       bool                          `json:"ambientEnabled,omitempty"`
	Clusters             map[string]models.KubeCluster `json:"clusters,omitempty"`
	Deployment           DeploymentConfig              `json:"deployment,omitempty"`
	GatewayAPIClasses    []config.GatewayAPIClass      `json:"gatewayAPIClasses,omitempty"`
	GatewayAPIEnabled    bool                          `json:"gatewayAPIEnabled,omitempty"`
	HealthConfig         config.HealthConfig           `json:"healthConfig,omitempty"`
	InstallationTag      string                        `json:"installationTag,omitempty"`
	IstioAnnotations     IstioAnnotations              `json:"istioAnnotations,omitempty"`
	IstioCanaryRevision  IstioCanaryRevision           `json:"istioCanaryRevision,omitempty"`
	IstioConfigMap       string                        `json:"istioConfigMap"`
	IstioIdentityDomain  string                        `json:"istioIdentityDomain,omitempty"`
	IstioLabels          config.IstioLabels            `json:"istioLabels,omitempty"`
	IstioNamespace       string                        `json:"istioNamespace,omitempty"`
	IstioStatusEnabled   bool                          `json:"istioStatusEnabled,omitempty"`
	KialiFeatureFlags    config.KialiFeatureFlags      `json:"kialiFeatureFlags,omitempty"`
	LogLevel             string                        `json:"logLevel,omitempty"`
	Prometheus           PrometheusConfig              `json:"prometheus,omitempty"`
}

PublicConfig is a subset of Kiali configuration that can be exposed to clients to help them interact with the system.

type ResponseConverter added in v1.82.0

type ResponseConverter interface {
	ConvertToResponse()
}

ResponseConverter can do some last minute changes to itself before being marshaled to JSON. This is useful for things like converting nil slices to empty slices because the frontend expects an empty array instead of null in the response.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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