Documentation
¶
Index ¶
- Constants
- func LoadSnapshotFromGloo(opts *Options, tempDir string) (string, error)
- func NewPortForwardedClient(ctx context.Context, kubectlCli *kubectl.Cli, podSelector, namespace string, ...) (*admincli.Client, func(), error)
- func RootCmd(op *options.Options) *cobra.Command
- type API
- type Address
- type Category
- type CircuitBreakers
- type ClusterStatus
- type Clusters
- type EndpointStat
- type EnvoyMetrics
- type FeatureCalculator
- type FeatureType
- type GlooFeatureUsage
- type GlooProxyStats
- type HealthStatus
- type HostStatus
- type Inputs
- type K8sClusterInfo
- type KubernetesStats
- type Label
- type Locality
- type NodeResources
- type Options
- type ProxyData
- type ProxyFeatureCount
- type ProxyFeatureCountCategory
- type ProxyInfo
- type SocketAddress
- type Stat
- type Stats
- type Threshold
- type UpstreamStat
- type UsageMetadata
- type UsageStat
- type UsageStats
Constants ¶
View Source
const ( GEMENI_AI_BACKEND FeatureType = "Gemini AI Backend" LLM_AI_BACKEND FeatureType = "LLM AI Backend" AZURE_OPENAI_AI_BACKEND FeatureType = "Azure OpenAI AI Backend" ANTHROPIC_AI_BACKEND FeatureType = "Anthropic AI Backend" MISTRAL_AI_BACKEND FeatureType = "MistralAI AI Backend" OPENAI_AI_BACKEND FeatureType = "OpenAI AI Backend" VERTEXAI_AI_BACKEND FeatureType = "VertexAI AI Backend" CONSUL_BACKEND FeatureType = "Consul Backend" GCP_BACKEND FeatureType = "GCP Backend" STATIC_BACKEND FeatureType = "Static Backend" AWS_EC2_BACKEND FeatureType = "AWS EC2 Backend" AWS_LAMBDA_BACKEND FeatureType = "AWS Lambda Backend" AZURE_FUNCTION_BACKEND FeatureType = "Azure Function Backend" PIPE_BACKEND FeatureType = "Pipe Backend" KUBE_BACKEND FeatureType = "Kube Backend" UPSTREAM_HEALTH_CHECKS FeatureType = "Upstream Health Checks" OUTLIER_DETECTION FeatureType = "Outlier Detection" UPSTREAM_HTTP2 FeatureType = "Upstream HTTP2" UPSTREAM_HTTP_PROXY FeatureType = "Upstream HTTP Proxy" FAILOVER FeatureType = "Failover" CIRCUIT_BREAKERS FeatureType = "Circuit Breakers" UPSTREAM_MTLS FeatureType = "Upstream mTLS" UPSTREAM_TLS FeatureType = "Upstream TLS" REDIRECT FeatureType = "Redirect" GRAPHQL FeatureType = "GraphQl" DELEGATION FeatureType = "Delegation" ROUTE_TABLE_WEIGHTS FeatureType = "Route Table Weights" DIRECT_RESPONSE FeatureType = "Direct Response" AI_SEMANTIC_CACHE FeatureType = "AI Semantic Cache" AI_PROMPT_ENRICHMENT FeatureType = "AI Prompt Enrichment" AI_RAG FeatureType = "AI Rag" AI_PROMPT_GUARD FeatureType = "AI Prompt Guard" CONNECT_MATCHING FeatureType = "Connect Matching" PREFIX_PATH_MATCHING FeatureType = "Prefix Path Matching" EXACT_PATH_MATCHING FeatureType = "Exact Path Matching" REGEX_PATH_MATCHING FeatureType = "Regex Path Matching" METHOD_MATCHING FeatureType = "Method Matching" QUERY_PARAMETER_MATCHING FeatureType = "Query Parameter Matching" HEADER_MATCHING FeatureType = "Header Matching" PORTAL_AUTH FeatureType = "Portal Auth" HMAC_AUTH FeatureType = "HMAC Auth" BUFFER_PER_ROUTE FeatureType = "Buffer Per Route" PASSTHROUGH_AUTH FeatureType = "Passthrough Auth" OPA_AUTH FeatureType = "OPA Auth" PLUGIN_AUTH FeatureType = "Plugin Auth" API_KEY_AUTH FeatureType = "API Key Auth" BASIC_AUTH FeatureType = "Basic Auth" LDAP_AUTH FeatureType = "LDAP Auth" OAUTH2_AUTH FeatureType = "OAuth2 Auth" TRANSFORMATIONS FeatureType = "Transformations" CORS FeatureType = "CORS" HEADER_MANIPULATION FeatureType = "Header Manipulation" ROUTE_STATS FeatureType = "Route Stats" RETRIES FeatureType = "Retries" HTTPS FeatureType = "HTTPS" MTLS FeatureType = "MTLS" PROXY_PROTOCOL FeatureType = "Proxy Protocol" TCP_ROUTING FeatureType = "TCP Routing" LOCAL_RATE_LIMITING FeatureType = "Local Rate Limiting" CONNECTION_LIMIT FeatureType = "Connection Limit" HTTP_CONNECTION_MANAGEMENT FeatureType = "HTTP Connection Management" INBOUND_HEALTH_CHECK FeatureType = "Inbound Health Check" WEB_APPLICATION_FIREWALL FeatureType = "Web Application Firewall" HEADER_VALIDATION FeatureType = "Header Validation" TAP_FILTER FeatureType = "Tap Filter" STATEFUL_SESSION FeatureType = "Stateful Session" WASM FeatureType = "WASM" DATA_LOSS_PREVENTION FeatureType = "Data Loss Prevention" DYNAMIC_FORWAD_PROXY FeatureType = "Dynamic Forward Proxy" CLUSTER_HEADER FeatureType = "Cluster Header" MULTI_UPSTREAM_ROUTE FeatureType = "Multi Upstream Route" UPSTREAM_GROUP_ROUTE FeatureType = "Upstream Group Route" GRPC_JSON_TRANSCODING FeatureType = "GRPC JSON Transcoder" GZIP_COMPRESSION FeatureType = "gzip Compression" FAULT_INJECTION FeatureType = "Fault Injection" PREFIX_REWRITE FeatureType = "Prefix Rewrite" UPSTREAM_TIMEOUT FeatureType = "Request Timeout" ROUTE_TRACING FeatureType = "Route Tracing" REQUEST_SHADOWING FeatureType = "Request Shadowing" HOST_REWRITE FeatureType = "Host Rewrite" AUTO_HOST_REWRITE FeatureType = "Auto Host Rewrite" APPEND_XFF_HEADER FeatureType = "Append XFF Header" CSRF FeatureType = "CSRF" MAX_STREAM_DURATION FeatureType = "Max Stream Duration" IDLE_TIMEOUT FeatureType = "Idle Timeout" EXTERNAL_PROCESSING FeatureType = "External Processing" HASH_LOAD_BALANCING FeatureType = "Hash Load Balancing" LOCALITY_LOAD_BALANCING FeatureType = "Locality Load Balancing" LEAST_REQUEST_LOAD_BALANCING FeatureType = "Least Request Load Balancing" MAGLEV_LOAD_BALANCING FeatureType = "Maglev Load Balancing" ROUND_ROBIN_LOAD_BALANCING FeatureType = "Round Robin Load Balancing" RANDOM_LOAD_BALANCING FeatureType = "Random Load Balancing" RING_HASH_LOAD_BALANCING FeatureType = "Ring Hash Load Balancing" REGEX_REWRITE FeatureType = "Regex Rewrite" RESPONSE_CACHING FeatureType = "Response Caching" BUFFER_LIMIT FeatureType = "Buffer Limit" TLS_ROUTING FeatureType = "TLS Routing" SOCKET_OPTIONS FeatureType = "Socket Options" MOST_SPECIAL_HEADER_MUTATIONS_WINS FeatureType = "Most Specific Header Mutations Wins" HYBRID_GATEWAY FeatureType = "Hybrid Gateway" MAX_DIRECT_RESPONSE_BODY_SIZE FeatureType = "Max Direct Response Body Size" ACCESS_LOGGING FeatureType = "Access Logging" EARLY_ACCESS_LOGGING FeatureType = "Early Access Logging" CONNECTION_BALANCING FeatureType = "Connection Balancing" RATE_LIMITING FeatureType = "Rate Limiting" JWT FeatureType = "JWT" RBAC FeatureType = "RBAC" DISCOVERY_NAMESPACE FeatureType = "Discovery Namespace" WATCH_NAMESPACES FeatureType = "Watch Namespaces" KUBERNETES_CONFIG_SOURCE FeatureType = "Kubernetes Config Source" DIRECTORY_CONFIG_SOURCE FeatureType = "Directory Config Source" CONSUL_KV_SOURCE FeatureType = "Consul KV Source" UPSTREAM_GROUP_CONFIG_SOURCE FeatureType = "Upstream Group Config Source" KUBERNETES_SECRET_SOURCE FeatureType = "Kubernetes Secret Source" VAULT_SECRET_SOURCE FeatureType = "Vault Secret Source" DIRECTORY_SECRET_SOURCE FeatureType = "Directory Secret Source" KUBERNETES_SECRET_SOURCE_OPTIONS FeatureType = "Kubernetes Secret Source Options" VAULT_SECRET_SOURCE_OPTIONS FeatureType = "Vault Secret Source Options" DIRECTORY_SECRET_SOURCE_OPTIONS FeatureType = "Directory Secret Source Options" KUBERNETES_ARTIFACT_SOURCE FeatureType = "Kubernetes Artifact Source" DIRECTORY_ARTIFACT_SOURCE FeatureType = "Directory Artifact Source" CONSUL_KV_ARTIFACT_SOURCE FeatureType = "Consul KV Artifact Source" REFRESH_RATE FeatureType = "Refresh Rate" FDS_WHITELIST FeatureType = "FDS Whitelist" FDS_DISABLED FeatureType = "FDS Disabled" DEV_MODE FeatureType = "Dev Mode" LINKERD FeatureType = "Linkerd" KNATIVE FeatureType = "Knative" UDS_DISCOVERY FeatureType = "UDS Discovery" GRAPHQL_FDS FeatureType = "GraphQL FDS" XDS_BIND_ADDR FeatureType = "XDS Bind Addr" VALIDATION_BIND_ADDR FeatureType = "Validation Bind Addr" GLOBAL_CIRCUIT_BREAKER FeatureType = "Global Circuit Breakers" ENDPOINTS_WARMING_TIMEOUT FeatureType = "Endpoints Warming Timeout" AWS_OPTIONS FeatureType = "AWS Options" INVALID_CONFIG_POLICY FeatureType = "Invalid Config Policy" DISABLE_KUBERNETES_DESTINATIONS FeatureType = "Disable Kubernetes Destinations" DISABLE_GRPC_WEB FeatureType = "Disable GRPC Web" DISABLE_PROXY_GARBAGE_COLLECTION FeatureType = "Disable Proxy Garbage Collection" REGEX_MAX_PROGRAM_SIZE FeatureType = "Regex Max Program Size" REST_XDS_BIND_ADDR FeatureType = "REST XDS Bind Addr" FAIL_OVER_UPSTREAM_DNS_POLLING_INTERVAL FeatureType = "Fail Over Upstream DNS Polling Interval" REMOVE_UNUSED_FILTERS FeatureType = "Remove Unused Filters" PROXY_DEBUG_BIND_ADDR FeatureType = "Proxy Debug Bind Addr" LOG_TRANSFORMATION_REQUEST_RESPONSE_INFO FeatureType = "Log Transformation Request Response Info" TRANSFORMATION_ESCAPE_CHARACTERS FeatureType = "Transformation Escape Characters" ISTIO_OPTIONS FeatureType = "Istio Options" VALIDATION_OPTIONS FeatureType = "Validation Options" READ_GATEWAYS_FROM_ALL_NAMESPACES FeatureType = "Read Gateways From All Namespaces" COMPRESSED_PROXY_SPEC FeatureType = "Compressed Proxy Spec" GLOBAL_ONE_WAY_TLS FeatureType = "Global One Way TLS" PERSIST_PROXY_SPEC FeatureType = "Persist Proxy Spec" DISABLE_GATEWAY_CONTROLLER FeatureType = "Enable Gateway Controller" ISOLATE_VIRTUAL_HOSTS_BY_SSL_CONFIG FeatureType = "Isolate Virtual Hosts By SSL Config" TRANSLATE_EMPTY_GATEWAYS FeatureType = "Translate Empty Gateways" CONSUL_CONFIGURATION FeatureType = "Consul Configuration" CONSUL_DISCOVERY FeatureType = "Consul Discovery" KUBERNETES_API_RATE_LIMITS FeatureType = "Kubernetes API Rate Limits" GLOBAL_EXTENSIONS FeatureType = "Global Extensions" GLOBAL_RBAC FeatureType = "Global RBAC" GLOBAL_EXTAUTH_SETTINGS FeatureType = "Global Extauth Settings" GLOBAL_NAMED_EXTAUTH_SETTINGS FeatureType = "Global Named Extauth Settings" GLOBAL_CACHING_SERVER_SETTINGS FeatureType = "Global Caching Server Settings" GLOBAL_METADATA_SETTINGS FeatureType = "Global Metadata Settings" GLOBAL_OBSERVABILITY_SETTINGS FeatureType = "Global Observability Settings" GLOBAL_UPSTREAM_SETTINGS FeatureType = "Global Upstream Settings" GLOBAL_WATCH_NAMESPACE_SELECTORS FeatureType = "Global Watch Namespace Selectors" GLOBAL_GRAPHQL_SETTINGS FeatureType = "Global GraphQL Settings" GLOBAL_EXTPROC_SETTINGS FeatureType = "Global Extproc Settings" GlooEdgeAPI API = "Gloo Edge API" GatewayAPI API = "Gateway API" KGatewayAPI API = "kGateway API" )
Variables ¶
This section is empty.
Functions ¶
func LoadSnapshotFromGloo ¶
func NewPortForwardedClient ¶
Types ¶
type Address ¶
type Address struct {
SocketAddress SocketAddress `json:"socket_address,omitempty"`
Pipe struct {
Path string `json:"path"`
} `json:"pipe,omitempty"`
}
type CircuitBreakers ¶
type CircuitBreakers struct {
Thresholds []Threshold `json:"thresholds"`
}
type ClusterStatus ¶
type ClusterStatus struct {
Name string `json:"name"`
AddedViaAPI bool `json:"added_via_api"`
HostStatuses []HostStatus `json:"host_statuses"`
CircuitBreakers CircuitBreakers `json:"circuit_breakers"`
ObservabilityName string `json:"observability_name"`
EdsServiceName string `json:"eds_service_name,omitempty"`
}
type Clusters ¶
type Clusters struct {
ClusterStatuses []ClusterStatus `json:"cluster_statuses"`
}
type EndpointStat ¶
type EnvoyMetrics ¶
type FeatureCalculator ¶
type FeatureCalculator struct {
Configs *snapshot.Instance
Features map[API][]*UsageStat `json:"glooFeatureUsage"`
}
func (*FeatureCalculator) AddUsageStat ¶
func (f *FeatureCalculator) AddUsageStat(stat *UsageStat)
func (*FeatureCalculator) ProcessHTTPListenerOptions ¶
func (f *FeatureCalculator) ProcessHTTPListenerOptions(options *gloov1.HttpListenerOptions, parentName string, parentKind string, parentAPI API, proxyNames []string)
type FeatureType ¶
type FeatureType string
func (FeatureType) MarshalYAML ¶
func (f FeatureType) MarshalYAML() (interface{}, error)
MarshalYAML implements yaml.Marshaler interface
type GlooFeatureUsage ¶
type GlooFeatureUsage struct {
APICounts map[string]int `json:"apiCounts" yaml:"apiCounts"`
FeatureCountPerProxy map[string]*ProxyFeatureCountCategory `json:"featureCountPerProxy" yaml:"featureCountPerProxy"`
}
type GlooProxyStats ¶
type GlooProxyStats struct {
GlooProxyMetrics *EnvoyMetrics `json:"glooProxyMetrics" yaml:"glooProxyMetrics"`
GlooProxyStats []*UpstreamStat `json:"glooProxyStats" yaml:"glooProxyStats"`
}
type HealthStatus ¶
type HealthStatus struct {
EdsHealthStatus string `json:"eds_health_status"`
}
type HostStatus ¶
type HostStatus struct {
Address Address `json:"address"`
Stats []EndpointStat `json:"stats"`
HealthStatus HealthStatus `json:"health_status"`
Weight int `json:"weight"`
Hostname string `json:"hostname,omitempty"`
Locality Locality `json:"locality"`
}
type Inputs ¶
type Inputs struct {
GlooEdgeConfigs *snapshot.Instance `json:"glooEdgeConfigs"`
K8sClusterInfo *K8sClusterInfo `json:"k8sClusterInfo"`
ProxyStats map[string]*ProxyInfo `json:"proxyStats"`
}
type K8sClusterInfo ¶
type KubernetesStats ¶
type KubernetesStats struct {
Pods int `json:"pods" yaml:"pods"`
NodeResources *NodeResources `json:"nodeResources" yaml:"nodeResources"`
Services int `json:"services" yaml:"services"`
}
type NodeResources ¶
type ProxyData ¶
type ProxyData struct {
Name string `json:"name" yaml:"name"`
Namespace string `json:"namespace" yaml:"namespace"`
EnvoyMetrics *EnvoyMetrics `json:"envoyMetrics" yaml:"envoyMetrics"`
}
type ProxyFeatureCount ¶
type ProxyFeatureCount struct {
FeatureCount map[FeatureType]int `json:"featureCount" yaml:"featureCount"`
}
type ProxyFeatureCountCategory ¶
type ProxyFeatureCountCategory struct {
Categories map[Category]ProxyFeatureCount `json:"categories" yaml:"categories"`
}
type SocketAddress ¶
type UpstreamStat ¶
type UsageMetadata ¶
type UsageMetadata struct {
ProxyNames []string `json:"proxyNames" yaml:"proxyNames,flow"`
Name string `json:"name" yaml:"name"`
Namespace string `json:"namespace" yaml:"namespace"`
ParentName string `json:"parentName" yaml:"parentName"`
ParentNamespace string `json:"parentNamespace" yaml:"parentNamespace"`
Kind string `json:"kind" yaml:"kind"`
Category Category `json:"category" yaml:"category,double"`
API API `json:"api" yaml:"api,double"`
}
type UsageStat ¶
type UsageStat struct {
Type FeatureType `json:"type" yaml:"type,double"`
Metadata UsageMetadata `json:"metadata" yaml:"metadata"`
}
type UsageStats ¶
type UsageStats struct {
GlooFeatureUsage map[API]*GlooFeatureUsage `json:"glooFeatureUsage" yaml:"glooFeatureUsage"`
GlooProxyStats map[string]*GlooProxyStats `json:"glooProxyStats" yaml:"glooProxyStats"`
KubernetesStats *KubernetesStats `json:"kubernetesStats" yaml:"kubernetesStats"`
}
func (*UsageStats) Print ¶
func (u *UsageStats) Print(format string) error
Click to show internal directories.
Click to hide internal directories.