Documentation
¶
Index ¶
- Constants
- Variables
- func ContextFromHeaders(r *http.Request) context.Context
- func StartSpan(ctx context.Context, name string) (context.Context, trace.Span)
- func StartSpanWithBaggage(ctx context.Context, name string, hCtx json.Marshaler) (context.Context, trace.Span, error)
- func WithBaggage(ctx context.Context, b map[string]string) (context.Context, error)
- type CUETemplater
- type ExternalProviderFn
- type GenericProviderFn
- type NativeProviderFn
- type Package
- type PackageManager
- func (in *PackageManager) GetImports() []*build.Instance
- func (in *PackageManager) GetPackages() []Package
- func (in *PackageManager) GetProviders() map[string]Provider
- func (in *PackageManager) ListenExternalPackages(stopCh <-chan struct{})
- func (in *PackageManager) LoadExternalPackages(ctx context.Context) error
- func (in *PackageManager) LoadInternalPackages(pkgs ...Package)
- type PackageManagerOption
- type PropagatedCtx
- type Provider
- type ProviderFn
- type TraceHeaderPropagator
- type WithInternalPackage
- type WithResyncPeriod
Constants ¶
const (
// VelaPrefix default prefix for internal package names
VelaPrefix = "vela/"
)
Variables ¶
var DefaultClient = singleton.NewSingleton(func() *http.Client { return &http.Client{ Transport: &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: DefaultClientInsecureSkipVerify}, }, } })
DefaultClient client for dealing requests
var DefaultClientInsecureSkipVerify = true
DefaultClientInsecureSkipVerify set if the default external provider client use insecure-skip-verify
Functions ¶
func ContextFromHeaders ¶ added in v1.10.0
ContextFromHeaders extracts the span context and baggage from an HTTP request and returns the reconstructed ctx.
func StartSpan ¶ added in v1.10.0
StartSpan creates a new OpenTelemetry span and returns the updated context and span.
Types ¶
type CUETemplater ¶
type CUETemplater interface {
GetName() string
GetPath() string
GetTemplates() []string
GetImports() []*build.Instance
}
CUETemplater the interface for retrieving cue templates and imports
type ExternalProviderFn ¶
ExternalProviderFn external provider that implements ProviderFn interface
func (*ExternalProviderFn) Call ¶
Call dial external endpoints by passing the json data of the input parameter, then fill back returned values
func (*ExternalProviderFn) InjectHeaders ¶ added in v1.10.0
func (in *ExternalProviderFn) InjectHeaders(ctx context.Context, r *http.Request)
InjectHeaders Injects headers from the current span into the http request headers
type GenericProviderFn ¶
GenericProviderFn generic function that implements ProviderFn interface
type NativeProviderFn ¶
NativeProviderFn native function that implements ProviderFn interface
type Package ¶
type Package interface {
Provider
CUETemplater
}
Package composed by Provider & CUETemplater, the atomic unit for engine to use
func NewExternalPackage ¶
NewExternalPackage create Package based on given CRD object
func NewInternalPackage ¶
NewInternalPackage create package based on given functions
type PackageManager ¶
type PackageManager struct {
Internals *maps.SyncMap[string, Package]
Externals *maps.SyncMap[string, Package]
ResyncPeriod time.Duration
StopCh chan struct{}
}
PackageManager manages cue packages
func NewPackageManager ¶
func NewPackageManager(opts ...PackageManagerOption) *PackageManager
NewPackageManager create PackageManager with given options
func (*PackageManager) GetImports ¶
func (in *PackageManager) GetImports() []*build.Instance
GetImports return all build.Instances built by given packages
func (*PackageManager) GetPackages ¶
func (in *PackageManager) GetPackages() []Package
GetPackages return all internal and external packages
func (*PackageManager) GetProviders ¶
func (in *PackageManager) GetProviders() map[string]Provider
GetProviders return all providers provisioned by given packages
func (*PackageManager) ListenExternalPackages ¶
func (in *PackageManager) ListenExternalPackages(stopCh <-chan struct{})
ListenExternalPackages start informer to listen external package changes
func (*PackageManager) LoadExternalPackages ¶
func (in *PackageManager) LoadExternalPackages(ctx context.Context) error
LoadExternalPackages load all external packages
func (*PackageManager) LoadInternalPackages ¶
func (in *PackageManager) LoadInternalPackages(pkgs ...Package)
LoadInternalPackages load given internal packages
type PackageManagerOption ¶
type PackageManagerOption interface {
ApplyTo(*PackageManager)
}
PackageManagerOption option for configuring PackageManager
type PropagatedCtx ¶ added in v1.10.0
PropagatedCtx .
func GetPropagatedContext ¶ added in v1.10.0
func GetPropagatedContext(ctx context.Context) (*PropagatedCtx, bool)
GetPropagatedContext retrieves the PropagatedCtx from the given context if present.
func (*PropagatedCtx) GetCueContext ¶ added in v1.10.0
func (p *PropagatedCtx) GetCueContext() (*cue.Value, error)
GetCueContext returns the embedded JSON context as a CUE value.
func (*PropagatedCtx) RawJSON ¶ added in v1.10.0
func (p *PropagatedCtx) RawJSON() json.RawMessage
RawJSON returns the embedded JSON context as a json.RawMessage.
func (*PropagatedCtx) UnmarshalContext ¶ added in v1.10.0
func (p *PropagatedCtx) UnmarshalContext(out interface{}) error
UnmarshalContext unmarshals the embedded JSON context into the provided struct.
type Provider ¶
type Provider interface {
GetName() string
GetProviderFn(do string) ProviderFn
}
Provider the interface to get provider function
type ProviderFn ¶
ProviderFn the function interface to process cue values
type TraceHeaderPropagator ¶ added in v1.10.0
type TraceHeaderPropagator struct {
// contains filtered or unexported fields
}
TraceHeaderPropagator .
func (TraceHeaderPropagator) Extract ¶ added in v1.10.0
func (cp TraceHeaderPropagator) Extract(ctx context.Context, carrier propagation.TextMapCarrier) context.Context
Extract reconstructs the span context and baggage from the provided HTTP headers.
func (TraceHeaderPropagator) Fields ¶ added in v1.10.0
func (cp TraceHeaderPropagator) Fields() []string
Fields returns the list of HTTP headers used for trace context propagation.
func (TraceHeaderPropagator) Inject ¶ added in v1.10.0
func (cp TraceHeaderPropagator) Inject(ctx context.Context, carrier propagation.TextMapCarrier)
Inject serializes the span baggage and trace context into the provided HTTP headers.
type WithInternalPackage ¶
type WithInternalPackage struct {
Package
}
WithInternalPackage add internal package
func (WithInternalPackage) ApplyTo ¶
func (in WithInternalPackage) ApplyTo(m *PackageManager)
ApplyTo .
type WithResyncPeriod ¶
WithResyncPeriod set resync period for external package informer