handlers

package
v1.82.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: Apache-2.0 Imports: 35 Imported by: 20

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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(w http.ResponseWriter, r *http.Request)

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 AppList added in v0.7.0

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

AppList is the API handler to fetch all the apps to be displayed, related to a single namespace

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(w http.ResponseWriter, r *http.Request)

func AuthenticationInfo added in v0.16.0

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

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(w http.ResponseWriter, r *http.Request)

ClustersMetrics is the API handler to fetch metrics to be displayed, related to all services in provided namespaces of 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 Config added in v0.10.0

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

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(w http.ResponseWriter, r *http.Request)

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 GetClusters added in v1.29.0

func GetClusters(conf *config.Config, kialiCache cache.KialiCache, clientFactory kubernetes.ClientFactory, prom prometheus.ClientInterface, traceClientLoader func() tracing.ClientInterface, cpm business.ControlPlaneMonitor) http.HandlerFunc

GetClusters writes to the HTTP response a JSON document with the list of clusters that are part of the mesh when multi-cluster is enabled. If multi-cluster is not enabled in the control plane, this handler may provide erroneous data.

func GetGrafanaInfo

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

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 GetMesh added in v1.73.0

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

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(w http.ResponseWriter, r *http.Request)

GraphNamespaces is a REST http.HandlerFunc handling graph generation for 1 or more namespaces

func GraphNode added in v0.8.0

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

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 IstiodResourceThresholds added in v1.57.0

func IstiodResourceThresholds(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(w http.ResponseWriter, r *http.Request)

func MeshGraph added in v1.81.0

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

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 NamespaceList

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

func NamespaceMetrics

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

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(w http.ResponseWriter, r *http.Request)

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

func OutboundTrafficPolicyMode added in v1.53.0

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

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(w http.ResponseWriter, r *http.Request)

Root provides basic status of the server.

func ServiceDashboard added in v0.12.0

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

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 ServiceList

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

ServiceList is the API handler to fetch the list of services in a given namespace

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 *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(w http.ResponseWriter, r *http.Request)

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 WorkloadList added in v0.6.0

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

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

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"`
	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() (AuthenticationHandler, error)

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]kubernetes.Cluster `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.

Jump to

Keyboard shortcuts

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