Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
trickster
command
Package main is the main package for the Trickster application
|
Package main is the main package for the Trickster application |
|
examples
|
|
|
packages/cache/bbolt
command
|
|
|
packages/cache/memory
command
|
|
|
pkg
|
|
|
appinfo
Package app holds application build information
|
Package app holds application build information |
|
backends
Package backends the interface and generic functionality for Backend providers
|
Package backends the interface and generic functionality for Backend providers |
|
backends/alb
Package alb implements the Application Load Balancer Backend
|
Package alb implements the Application Load Balancer Backend |
|
backends/alb/mech
Package mech provides the ALB Mechanisms functionality
|
Package mech provides the ALB Mechanisms functionality |
|
backends/alb/mech/fanout
Package fanout is the shared primitive for ALB mechanisms that scatter a single inbound request to N pool members and gather their responses.
|
Package fanout is the shared primitive for ALB mechanisms that scatter a single inbound request to N pool members and gather their responses. |
|
backends/alb/pool
Package pool provides an application load balancer pool
|
Package pool provides an application load balancer pool |
|
backends/clickhouse
Package clickhouse provides the ClickHouse backend provider
|
Package clickhouse provides the ClickHouse backend provider |
|
backends/clickhouse/authenticator
Package authenticator provides an Authenticator implementation for ClickHouse.
|
Package authenticator provides an Authenticator implementation for ClickHouse. |
|
backends/influxdb
Package influxdb provides the InfluxDB Backend provider
|
Package influxdb provides the InfluxDB Backend provider |
|
backends/influxdb/iofmt
package iofmt assists with managing supported input and output formats across the various versions of InfluxDB
|
package iofmt assists with managing supported input and output formats across the various versions of InfluxDB |
|
backends/prometheus
Package prometheus provides the Prometheus Backend provider
|
Package prometheus provides the Prometheus Backend provider |
|
backends/prometheus/promql
Package promql provides utilities for parsing and rewriting PromQL queries.
|
Package promql provides utilities for parsing and rewriting PromQL queries. |
|
backends/reverseproxy
Package reverseproxy provides the HTTP Reverse Proxy (no caching) Backend provider
|
Package reverseproxy provides the HTTP Reverse Proxy (no caching) Backend provider |
|
backends/reverseproxycache
Package reverseproxycache provides the HTTP Reverse Proxy Cache Backend provider
|
Package reverseproxycache provides the HTTP Reverse Proxy Cache Backend provider |
|
backends/tree
Package tree provides data structures that define the possible paths through chained Backends to assist with config Validation
|
Package tree provides data structures that define the possible paths through chained Backends to assist with config Validation |
|
cache
Package cache defines the Trickster cache interfaces and provides general cache functionality
|
Package cache defines the Trickster cache interfaces and provides general cache functionality |
|
cache/badger
Package badger is the BadgerDB implementation of the Trickster Cache
|
Package badger is the BadgerDB implementation of the Trickster Cache |
|
cache/bbolt
Package bbolt is the bbolt implementation of the Trickster Cache
|
Package bbolt is the bbolt implementation of the Trickster Cache |
|
cache/filesystem
Package filesystem is the filesystem implementation of the Trickster Cache
|
Package filesystem is the filesystem implementation of the Trickster Cache |
|
cache/index
Package index defines the Trickster Cache Index
|
Package index defines the Trickster Cache Index |
|
cache/memory
Package memory is the memory implementation of the Trickster Cache and uses ristretto (TinyLFU admission-controlled cache) to manage cache objects
|
Package memory is the memory implementation of the Trickster Cache and uses ristretto (TinyLFU admission-controlled cache) to manage cache objects |
|
cache/negative
Package negative defines the Negative Cache which is a simple lookup map of httpStatus to TTL
|
Package negative defines the Negative Cache which is a simple lookup map of httpStatus to TTL |
|
cache/redis
Package redis is the redis implementation of the Trickster Cache and supports Standalone, Sentinel and Cluster
|
Package redis is the redis implementation of the Trickster Cache and supports Standalone, Sentinel and Cluster |
|
cache/registry
Package registry handles the registration of cache implementations to be used by proxy cache handlers
|
Package registry handles the registration of cache implementations to be used by proxy cache handlers |
|
cache/status
Package status governs the possible Cache Lookup Status values
|
Package status governs the possible Cache Lookup Status values |
|
checksum/fnv
Package fnv implements the Fowler Noll Vo hash function (version a) taken with much appreciation from, and giving all credit to: https://github.com/influxdata/influxdb/blob/v1.8.0/models/inline_fnv.go
|
Package fnv implements the Fowler Noll Vo hash function (version a) taken with much appreciation from, and giving all credit to: https://github.com/influxdata/influxdb/blob/v1.8.0/models/inline_fnv.go |
|
checksum/md5
Package md5 provides string-based checksum functionality
|
Package md5 provides string-based checksum functionality |
|
checksum/sha1
Package sha1 provides string-based checksum functionality
|
Package sha1 provides string-based checksum functionality |
|
config
Package config provides Trickster configuration abilities, including parsing and printing configuration files, command line parameters, and environment variables, as well as default values and state.
|
Package config provides Trickster configuration abilities, including parsing and printing configuration files, command line parameters, and environment variables, as well as default values and state. |
|
config/reload
Package reload helps with reloading the running Trickster configuration
|
Package reload helps with reloading the running Trickster configuration |
|
daemon
package server runs the Trickster process as an HTTP(S) Listener based on the provided configuration
|
package server runs the Trickster process as an HTTP(S) Listener based on the provided configuration |
|
encoding/gzip
Package gzip provides gzip capabilities for byte slices
|
Package gzip provides gzip capabilities for byte slices |
|
encoding/zlib
Package zlib provides zlib (RFC 1950) capabilities for byte slices.
|
Package zlib provides zlib (RFC 1950) capabilities for byte slices. |
|
observability/logging/logger
package logger provides a package-level logger for application-wide use, and provides all of the same functions of logging.Logger at the package level - except for Close() (because this logger should always be open).
|
package logger provides a package-level logger for application-wide use, and provides all of the same functions of logging.Logger at the package level - except for Close() (because this logger should always be open). |
|
observability/metrics
Package metrics implements prometheus metrics and exposes the metrics HTTP listener
|
Package metrics implements prometheus metrics and exposes the metrics HTTP listener |
|
observability/tracing
Package tracing provides distributed tracing services to Trickster
|
Package tracing provides distributed tracing services to Trickster |
|
observability/tracing/errors
Package errors provides tracing errors
|
Package errors provides tracing errors |
|
observability/tracing/exporters/noop
Package noop provides a Noop Tracer
|
Package noop provides a Noop Tracer |
|
observability/tracing/exporters/otlp
Package otlp provides a OTLP Tracer
|
Package otlp provides a OTLP Tracer |
|
observability/tracing/exporters/stdout
Package stdout provides a Stdout Tracer
|
Package stdout provides a Stdout Tracer |
|
observability/tracing/registry
Package registration registers configured tracers for use with handlers
|
Package registration registers configured tracers for use with handlers |
|
parsing/sql
Package sql provides a basic SQL SQLParser that can be extended by individual implementations.
|
Package sql provides a basic SQL SQLParser that can be extended by individual implementations. |
|
proxy
Package proxy provides all proxy services for Trickster
|
Package proxy provides all proxy services for Trickster |
|
proxy/authenticator
Package authenticator provides implementations of Authenticators
|
Package authenticator provides implementations of Authenticators |
|
proxy/context
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests
|
Package context manages the insertion of Request-specific information (which cache to use, etc.) into proxied HTTP requests |
|
proxy/engines
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers.
|
Package engines provides the Reverse Proxy, Reverse Proxy Cache, and Time Series Delta Proxy Cache features for use by handlers. |
|
proxy/errors
Package errors provides common Error functionality to the Trickster proxy
|
Package errors provides common Error functionality to the Trickster proxy |
|
proxy/handlers
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers
|
Package handlers provides several non-proxy handlers for use internally by other Trickster handlers |
|
proxy/handlers/health
Package health provides an application-wide health handler endpoint that is usually mapped to /trickster/health and provides the health status of the application's configured proxy endpoints
|
Package health provides an application-wide health handler endpoint that is usually mapped to /trickster/health and provides the health status of the application's configured proxy endpoints |
|
proxy/headers
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package
|
Package headers provides functionality for HTTP Headers not provided by the builtin net/http package |
|
proxy/methods
Package methods provides functionality for handling HTTP methods
|
Package methods provides functionality for handling HTTP methods |
|
proxy/params
Package params provides support for handling URL Parameters
|
Package params provides support for handling URL Parameters |
|
proxy/ranges/byterange
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests
|
Package byterange provides acceleration functions for Byte Ranges for use with HTTP Range Requests |
|
proxy/request
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request
|
Package request provides functionality for handling HTTP Requests including the insertion of configuration options into the request |
|
proxy/router
package router provides an interface for routing HTTP requests to handlers
|
package router provides an interface for routing HTTP requests to handlers |
|
proxy/router/lm
package lm represents a simple Longest Match router
|
package lm represents a simple Longest Match router |
|
proxy/router/route
package route provides a Route data structure for Request Routing
|
package route provides a Route data structure for Request Routing |
|
proxy/tls
Package tls handles options for TLS (https) requests
|
Package tls handles options for TLS (https) requests |
|
proxy/urls
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package
|
Package urls provides capabilities for manipulating URLs that are not provided by the builtin net/url package |
|
routing
Package routing is the Trickster Request Router
|
Package routing is the Trickster Request Router |
|
testutil
Package testing provides functionality for use when conducting tests
|
Package testing provides functionality for use when conducting tests |
|
testutil/albpool
Package albpool provides shared test helpers for constructing ALB pools, targets, and parent requests.
|
Package albpool provides shared test helpers for constructing ALB pools, targets, and parent requests. |
|
testutil/golden
Package golden holds JSON-fixture helpers for tests that maintain testdata/ goldens.
|
Package golden holds JSON-fixture helpers for tests that maintain testdata/ goldens. |
|
testutil/timeseries/model
Package model is a test utility package that serializes between a *DataSet and the Prometheus HTTP API JSON Format
|
Package model is a test utility package that serializes between a *DataSet and the Prometheus HTTP API JSON Format |
|
testutil/tls
Package tls provides functionality for use when conducting tests with TLS
|
Package tls provides functionality for use when conducting tests with TLS |
|
testutil/writer
package writer represents a Test ResponseWriter for use in Unit Tests
|
package writer represents a Test ResponseWriter for use in Unit Tests |
|
timeseries
Package timeseries defines the interface for managing time seres objects and provides time range manipulation capabilities
|
Package timeseries defines the interface for managing time seres objects and provides time range manipulation capabilities |
|
timeseries/dataset
Package dataset defines the interface for managing time seres objects and provides time range manipulation capabilities
|
Package dataset defines the interface for managing time seres objects and provides time range manipulation capabilities |
|
timeseries/sqlparser
Package sqlparser provides customizations to the base sql parser that are specific to timeseries (for example, parsing trickster directives from comments)
|
Package sqlparser provides customizations to the base sql parser that are specific to timeseries (for example, parsing trickster directives from comments) |
|
util
Package util provides utility sub-packages to Trickster
|
Package util provides utility sub-packages to Trickster |
|
util/middleware
Package middleware provides middleware functions used by the Router during registration to construct handler chains
|
Package middleware provides middleware functions used by the Router during registration to construct handler chains |
|
util/regexp/matching
Package matching provides patterns for processing regexp.Regexp matches
|
Package matching provides patterns for processing regexp.Regexp matches |
|
util/safego
Package safego spawns goroutines whose panics must not crash the process.
|
Package safego spawns goroutines whose panics must not crash the process. |
|
util/strings
Package strings provides extended functionality for string types
|
Package strings provides extended functionality for string types |
|
util/timeconv
Package timeconv provides time conversion capabilities to Trickster
|
Package timeconv provides time conversion capabilities to Trickster |
Click to show internal directories.
Click to hide internal directories.