Documentation
¶
Overview ¶
Package vale is the library-first entrypoint for embedding Vale.
The root package intentionally exposes process-independent construction APIs. The standalone valed binary wires the same components with dix/configx/logx under cmd/.
Index ¶
- type CertificateStorage
- type CertificateStorageFactory
- type Cluster
- type ClusterFactory
- type ClusterPeer
- type Config
- type ConfigBuilder
- type ConfigEndpoint
- type ConfigMiddleware
- type ConfigProviderFactory
- type ConfigRoute
- type ConfigSecurity
- type EntrypointOption
- type Extension
- type ExtensionFunc
- type ForwardAuthOption
- func ForwardAuthForwardBody(maxBodyBytes int64) ForwardAuthOption
- func ForwardAuthMaxResponseBodyBytes(maxBodyBytes int64) ForwardAuthOption
- func ForwardAuthRequestHeaders(headers ...string) ForwardAuthOption
- func ForwardAuthResponseHeaders(headers ...string) ForwardAuthOption
- func ForwardAuthTimeout(timeout string) ForwardAuthOption
- func ForwardAuthTrustForwardHeader(enabled bool) ForwardAuthOption
- type Gateway
- type MetricsFactory
- type MiddlewareFactory
- type MiddlewareOption
- func MiddlewareAddPrefix(pathPrefix string) MiddlewareOption
- func MiddlewareBasicAuth(realm string, users map[string]string) MiddlewareOption
- func MiddlewareChain(names ...string) MiddlewareOption
- func MiddlewareCompress(minBytes int) MiddlewareOption
- func MiddlewareForwardAuth(address string, options ...ForwardAuthOption) MiddlewareOption
- func MiddlewareIPAllowList(trustForwardHeader bool, sourceRange ...string) MiddlewareOption
- func MiddlewareMaxBodyBytes(maxBodyBytes int64) MiddlewareOption
- func MiddlewareRedirectRegex(pattern, replacement string, permanent bool) MiddlewareOption
- func MiddlewareRedirectScheme(scheme, port string, permanent bool) MiddlewareOption
- func MiddlewareReplacePath(path string) MiddlewareOption
- func MiddlewareReplacePathRegex(pattern, replacement string) MiddlewareOption
- func MiddlewareRequestHeader(key, value string) MiddlewareOption
- func MiddlewareResponseHeader(key, value string) MiddlewareOption
- func MiddlewareStripPrefix(pathPrefix string) MiddlewareOption
- func MiddlewareStripPrefixes(pathPrefixes ...string) MiddlewareOption
- func MiddlewareType(middlewareType string) MiddlewareOption
- type MiddlewareRegistry
- type ObservabilityFactory
- type Option
- func WithCertificateStorage(storage certstore.Storage) Option
- func WithCertificateStorageFromRegistry(ctx context.Context, registry *Registry, name string) Option
- func WithClusterFactory(factory gateway.ClusterFactory) Option
- func WithClusterFromRegistry(registry *Registry, name string) Option
- func WithConfigSourceProviders(configProviders ...provider.ConfigProvider) Option
- func WithEventBus(bus provider.EventBus) Option
- func WithExtensions(extensions ...Extension) Option
- func WithFallbackProviders(providers ...provider.SnapshotProvider) Option
- func WithLogger(logger *slog.Logger) Option
- func WithMetricsFactory(factory gateway.MetricsFactory) Option
- func WithMetricsFromRegistry(registry *Registry, name string) Option
- func WithMiddlewareRegistry(registry *runtime.MiddlewareRegistry) Option
- func WithObservability(obs observabilityx.Observability) Option
- func WithObservabilityFromRegistry(registry *Registry, name string) Option
- func WithRegistry(registry *Registry) Option
- func WithSnapshotProvider(snapshotProvider provider.SnapshotProvider) Option
- func WithStaticConfig(cfgData *config.Config) Option
- func WithStaticSnapshot(snapshot *runtime.CompiledSnapshot) Option
- func WithWatch(enabled bool) Option
- func WithWatchErrorHandler(handler func(error)) Option
- type ProviderSpec
- type Registry
- func (r *Registry) CertificateStorageNames() *collectionlist.List[string]
- func (r *Registry) ClusterFactory(name string) (ClusterFactory, bool)
- func (r *Registry) ClusterFactoryNames() *collectionlist.List[string]
- func (r *Registry) ConfigProviderTypes() *collectionlist.List[string]
- func (r *Registry) CreateCertificateStorage(ctx context.Context, name string) (certstore.Storage, error)
- func (r *Registry) CreateConfigProvider(ctx context.Context, spec ProviderSpec) (provider.ConfigProvider, error)
- func (r *Registry) CreateObservability(name string, logger *slog.Logger) (observabilityx.Observability, error)
- func (r *Registry) CreateSnapshotProvider(ctx context.Context, spec ProviderSpec) (provider.SnapshotProvider, error)
- func (r *Registry) MetricsFactory(name string) (MetricsFactory, bool)
- func (r *Registry) MetricsFactoryNames() *collectionlist.List[string]
- func (r *Registry) MiddlewareRegistry() *runtime.MiddlewareRegistry
- func (r *Registry) ObservabilityFactoryNames() *collectionlist.List[string]
- func (r *Registry) RegisterCertificateStorage(name string, factory CertificateStorageFactory) error
- func (r *Registry) RegisterClusterFactory(name string, factory ClusterFactory) error
- func (r *Registry) RegisterConfigProvider(providerType string, factory ConfigProviderFactory) error
- func (r *Registry) RegisterMetricsFactory(name string, factory MetricsFactory) error
- func (r *Registry) RegisterMiddleware(middlewareType string, factory MiddlewareFactory) error
- func (r *Registry) RegisterObservabilityFactory(name string, factory ObservabilityFactory) error
- func (r *Registry) RegisterSnapshotProvider(providerType string, factory SnapshotProviderFactory) error
- func (r *Registry) SnapshotProviderTypes() *collectionlist.List[string]
- func (r *Registry) Use(extensions ...Extension) error
- type RouteOption
- type RuntimeACME
- type RuntimeCatalog
- type RuntimeEndpoint
- type RuntimeEntrypoint
- type RuntimeMiddleware
- type RuntimeRoute
- type RuntimeRouteFilter
- type RuntimeRouteRecord
- type RuntimeSecurity
- type RuntimeService
- type RuntimeSnapshot
- type RuntimeTLS
- type SnapshotProviderFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertificateStorage ¶ added in v0.1.1
type CertificateStorageFactory ¶ added in v0.1.1
type ClusterFactory ¶ added in v0.1.1
type ClusterFactory = gateway.ClusterFactory
type ClusterPeer ¶ added in v0.1.1
type ClusterPeer = gateway.ClusterPeer
type ConfigBuilder ¶
type ConfigBuilder = provider.ConfigBuilder
func NewConfigBuilder ¶
func NewConfigBuilder() *ConfigBuilder
type ConfigEndpoint ¶
func NewConfigEndpoint ¶
func NewConfigEndpoint(rawURL string, weight int) ConfigEndpoint
type ConfigMiddleware ¶
type ConfigMiddleware = config.Middleware
type ConfigProviderFactory ¶
type ConfigProviderFactory = provider.ConfigProviderFactory
type ConfigRoute ¶
type ConfigSecurity ¶
type EntrypointOption ¶
type EntrypointOption = provider.EntrypointOption
func EntrypointACME ¶
func EntrypointACME(email, cacheDir string, domains ...string) EntrypointOption
func EntrypointTLS ¶
func EntrypointTLS(certFile, keyFile string) EntrypointOption
type ExtensionFunc ¶ added in v0.1.1
func (ExtensionFunc) Register ¶ added in v0.1.1
func (fn ExtensionFunc) Register(registry *Registry) error
type ForwardAuthOption ¶ added in v0.1.2
type ForwardAuthOption = provider.ForwardAuthOption
func ForwardAuthForwardBody ¶ added in v0.1.2
func ForwardAuthForwardBody(maxBodyBytes int64) ForwardAuthOption
func ForwardAuthMaxResponseBodyBytes ¶ added in v0.1.2
func ForwardAuthMaxResponseBodyBytes(maxBodyBytes int64) ForwardAuthOption
func ForwardAuthRequestHeaders ¶ added in v0.1.2
func ForwardAuthRequestHeaders(headers ...string) ForwardAuthOption
func ForwardAuthResponseHeaders ¶ added in v0.1.2
func ForwardAuthResponseHeaders(headers ...string) ForwardAuthOption
func ForwardAuthTimeout ¶ added in v0.1.2
func ForwardAuthTimeout(timeout string) ForwardAuthOption
func ForwardAuthTrustForwardHeader ¶ added in v0.1.2
func ForwardAuthTrustForwardHeader(enabled bool) ForwardAuthOption
type MetricsFactory ¶
type MetricsFactory = gateway.MetricsFactory
type MiddlewareFactory ¶
type MiddlewareFactory = runtime.MiddlewareFactory
type MiddlewareOption ¶
type MiddlewareOption = provider.MiddlewareOption
func MiddlewareAddPrefix ¶
func MiddlewareAddPrefix(pathPrefix string) MiddlewareOption
func MiddlewareBasicAuth ¶ added in v0.1.1
func MiddlewareBasicAuth(realm string, users map[string]string) MiddlewareOption
func MiddlewareChain ¶
func MiddlewareChain(names ...string) MiddlewareOption
func MiddlewareCompress ¶ added in v0.1.1
func MiddlewareCompress(minBytes int) MiddlewareOption
func MiddlewareForwardAuth ¶ added in v0.1.2
func MiddlewareForwardAuth(address string, options ...ForwardAuthOption) MiddlewareOption
func MiddlewareIPAllowList ¶ added in v0.1.1
func MiddlewareIPAllowList(trustForwardHeader bool, sourceRange ...string) MiddlewareOption
func MiddlewareMaxBodyBytes ¶
func MiddlewareMaxBodyBytes(maxBodyBytes int64) MiddlewareOption
func MiddlewareRedirectRegex ¶
func MiddlewareRedirectRegex(pattern, replacement string, permanent bool) MiddlewareOption
func MiddlewareRedirectScheme ¶
func MiddlewareRedirectScheme(scheme, port string, permanent bool) MiddlewareOption
func MiddlewareReplacePath ¶
func MiddlewareReplacePath(path string) MiddlewareOption
func MiddlewareReplacePathRegex ¶
func MiddlewareReplacePathRegex(pattern, replacement string) MiddlewareOption
func MiddlewareRequestHeader ¶
func MiddlewareRequestHeader(key, value string) MiddlewareOption
func MiddlewareResponseHeader ¶
func MiddlewareResponseHeader(key, value string) MiddlewareOption
func MiddlewareStripPrefix ¶
func MiddlewareStripPrefix(pathPrefix string) MiddlewareOption
func MiddlewareStripPrefixes ¶
func MiddlewareStripPrefixes(pathPrefixes ...string) MiddlewareOption
func MiddlewareType ¶
func MiddlewareType(middlewareType string) MiddlewareOption
type MiddlewareRegistry ¶
type MiddlewareRegistry = runtime.MiddlewareRegistry
func DefaultMiddlewareRegistry ¶
func DefaultMiddlewareRegistry() *MiddlewareRegistry
func NewMiddlewareRegistry ¶
func NewMiddlewareRegistry() *MiddlewareRegistry
type ObservabilityFactory ¶ added in v0.1.1
type ObservabilityFactory func(*slog.Logger) (observabilityx.Observability, error)
type Option ¶
func WithCertificateStorage ¶ added in v0.1.1
func WithCertificateStorageFromRegistry ¶ added in v0.1.1
func WithClusterFactory ¶
func WithClusterFactory(factory gateway.ClusterFactory) Option
func WithClusterFromRegistry ¶ added in v0.1.1
func WithConfigSourceProviders ¶
func WithConfigSourceProviders(configProviders ...provider.ConfigProvider) Option
func WithEventBus ¶
func WithExtensions ¶ added in v0.1.1
func WithFallbackProviders ¶
func WithFallbackProviders(providers ...provider.SnapshotProvider) Option
func WithLogger ¶
func WithMetricsFactory ¶
func WithMetricsFactory(factory gateway.MetricsFactory) Option
func WithMetricsFromRegistry ¶
func WithMiddlewareRegistry ¶
func WithMiddlewareRegistry(registry *runtime.MiddlewareRegistry) Option
func WithObservability ¶
func WithObservability(obs observabilityx.Observability) Option
func WithObservabilityFromRegistry ¶ added in v0.1.1
func WithRegistry ¶
func WithSnapshotProvider ¶
func WithSnapshotProvider(snapshotProvider provider.SnapshotProvider) Option
func WithStaticConfig ¶
func WithStaticSnapshot ¶
func WithStaticSnapshot(snapshot *runtime.CompiledSnapshot) Option
func WithWatchErrorHandler ¶
type ProviderSpec ¶
type ProviderSpec = provider.ProviderSpec
func NewProviderSpec ¶
func NewProviderSpec(providerType string) ProviderSpec
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry ¶
func NewRegistry() *Registry
func (*Registry) CertificateStorageNames ¶ added in v0.1.1
func (r *Registry) CertificateStorageNames() *collectionlist.List[string]
func (*Registry) ClusterFactory ¶ added in v0.1.1
func (r *Registry) ClusterFactory(name string) (ClusterFactory, bool)
func (*Registry) ClusterFactoryNames ¶ added in v0.1.1
func (r *Registry) ClusterFactoryNames() *collectionlist.List[string]
func (*Registry) ConfigProviderTypes ¶
func (r *Registry) ConfigProviderTypes() *collectionlist.List[string]
func (*Registry) CreateCertificateStorage ¶ added in v0.1.1
func (*Registry) CreateConfigProvider ¶
func (r *Registry) CreateConfigProvider(ctx context.Context, spec ProviderSpec) (provider.ConfigProvider, error)
func (*Registry) CreateObservability ¶ added in v0.1.1
func (r *Registry) CreateObservability(name string, logger *slog.Logger) (observabilityx.Observability, error)
func (*Registry) CreateSnapshotProvider ¶
func (r *Registry) CreateSnapshotProvider(ctx context.Context, spec ProviderSpec) (provider.SnapshotProvider, error)
func (*Registry) MetricsFactory ¶
func (r *Registry) MetricsFactory(name string) (MetricsFactory, bool)
func (*Registry) MetricsFactoryNames ¶
func (r *Registry) MetricsFactoryNames() *collectionlist.List[string]
func (*Registry) MiddlewareRegistry ¶
func (r *Registry) MiddlewareRegistry() *runtime.MiddlewareRegistry
func (*Registry) ObservabilityFactoryNames ¶ added in v0.1.1
func (r *Registry) ObservabilityFactoryNames() *collectionlist.List[string]
func (*Registry) RegisterCertificateStorage ¶ added in v0.1.1
func (r *Registry) RegisterCertificateStorage(name string, factory CertificateStorageFactory) error
func (*Registry) RegisterClusterFactory ¶ added in v0.1.1
func (r *Registry) RegisterClusterFactory(name string, factory ClusterFactory) error
func (*Registry) RegisterConfigProvider ¶
func (r *Registry) RegisterConfigProvider(providerType string, factory ConfigProviderFactory) error
func (*Registry) RegisterMetricsFactory ¶
func (r *Registry) RegisterMetricsFactory(name string, factory MetricsFactory) error
func (*Registry) RegisterMiddleware ¶
func (r *Registry) RegisterMiddleware(middlewareType string, factory MiddlewareFactory) error
func (*Registry) RegisterObservabilityFactory ¶ added in v0.1.1
func (r *Registry) RegisterObservabilityFactory(name string, factory ObservabilityFactory) error
func (*Registry) RegisterSnapshotProvider ¶
func (r *Registry) RegisterSnapshotProvider(providerType string, factory SnapshotProviderFactory) error
func (*Registry) SnapshotProviderTypes ¶
func (r *Registry) SnapshotProviderTypes() *collectionlist.List[string]
type RouteOption ¶
type RouteOption = provider.RouteOption
func RouteHeader ¶
func RouteHeader(key, value string) RouteOption
func RouteHost ¶
func RouteHost(host string) RouteOption
func RouteMethod ¶
func RouteMethod(method string) RouteOption
func RouteMiddlewares ¶
func RouteMiddlewares(names ...string) RouteOption
func RoutePathPrefix ¶
func RoutePathPrefix(pathPrefix string) RouteOption
type RuntimeACME ¶
type RuntimeACME = runtime.ACMERuntime
type RuntimeCatalog ¶
type RuntimeEntrypoint ¶
type RuntimeEntrypoint = runtime.EntrypointRuntime
type RuntimeMiddleware ¶
type RuntimeMiddleware = runtime.MiddlewareRuntime
func NewMiddleware ¶
func NewMiddleware(name string) RuntimeMiddleware
type RuntimeRoute ¶
type RuntimeRoute = runtime.CompiledRoute
func NewRoute ¶
func NewRoute(name, entrypoint string, service *RuntimeService) *RuntimeRoute
type RuntimeRouteFilter ¶
type RuntimeRouteFilter = runtime.RouteFilter
type RuntimeRouteRecord ¶
type RuntimeRouteRecord = runtime.RouteRecord
type RuntimeSecurity ¶
type RuntimeSecurity = runtime.SecurityRuntime
type RuntimeService ¶
type RuntimeService = runtime.ServiceRuntime
func NewService ¶
func NewService(name, strategy string, endpoints ...*RuntimeEndpoint) *RuntimeService
type RuntimeSnapshot ¶
type RuntimeSnapshot = runtime.CompiledSnapshot
func NewSnapshot ¶
func NewSnapshot() *RuntimeSnapshot
type RuntimeTLS ¶
type RuntimeTLS = runtime.TLSRuntime
type SnapshotProviderFactory ¶
type SnapshotProviderFactory = provider.SnapshotProviderFactory
Directories
¶
| Path | Synopsis |
|---|---|
|
benchmarks
|
|
|
cmd/proxybench
command
Command proxybench runs a lightweight HTTP reverse-proxy benchmark.
|
Command proxybench runs a lightweight HTTP reverse-proxy benchmark. |
|
Package certstore provides certificate storage contracts and in-memory projections for Vale TLS assets.
|
Package certstore provides certificate storage contracts and in-memory projections for Vale TLS assets. |
|
cluster
|
|
|
raftnode
module
|
|
|
cmd
module
|
|
|
Package compiler turns declarative Vale config into runtime snapshots.
|
Package compiler turns declarative Vale config into runtime snapshots. |
|
Package config contains Vale's declarative gateway configuration model.
|
Package config contains Vale's declarative gateway configuration model. |
|
Package gateway embeds Vale in other Go programs: build a Gateway with functional options, call Start to listen on entrypoints and on the admin address from the compiled snapshot, then Stop for graceful shutdown.
|
Package gateway embeds Vale in other Go programs: build a Gateway with functional options, call Start to listen on entrypoints and on the admin address from the compiled snapshot, then Stop for graceful shutdown. |
|
observability
|
|
|
prometheus
module
|
|
|
Package provider defines Vale snapshot/config provider interfaces and helpers.
|
Package provider defines Vale snapshot/config provider interfaces and helpers. |
|
memoryconfig
Package memoryconfig provides an in-memory mutable config provider.
|
Package memoryconfig provides an in-memory mutable config provider. |
|
merged
Package merged merges multiple config providers into one runtime provider.
|
Package merged merges multiple config providers into one runtime provider. |
|
static
Package static provides an immutable runtime snapshot provider.
|
Package static provides an immutable runtime snapshot provider. |
|
staticconfig
Package staticconfig provides an immutable declarative config provider.
|
Package staticconfig provides an immutable declarative config provider. |
|
docker
module
|
|
|
file
module
|
|
|
fileconfig
module
|
|
|
k8s
module
|
|
|
Package proxy builds reverse proxy handlers for compiled services.
|
Package proxy builds reverse proxy handlers for compiled services. |
|
Package runtime contains Vale's collectionx-backed compiled data plane model, route matcher, middleware chain, health checker, access logging, and metrics recorder contracts.
|
Package runtime contains Vale's collectionx-backed compiled data plane model, route matcher, middleware chain, health checker, access logging, and metrics recorder contracts. |
Click to show internal directories.
Click to hide internal directories.