download

package
v0.25.0-rc4 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2020 License: Apache-2.0 Imports: 12 Imported by: 14

Documentation

Overview

Package download implements low-level OPA bundle downloading.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Polling PollingConfig `json:"polling"`
}

Config represents the configuration for the downloader.

func (*Config) ValidateAndInjectDefaults

func (c *Config) ValidateAndInjectDefaults() error

ValidateAndInjectDefaults checks for configuration errors and ensures all values are set on the Config object.

type Downloader

type Downloader struct {
	// contains filtered or unexported fields
}

Downloader implements low-level OPA bundle downloading. Downloader can be started and stopped. After starting, the downloader will request bundle updates from the remote HTTP endpoint that the client is configured to connect to.

func New

func New(config Config, client rest.Client, path string) *Downloader

New returns a new Downloader that can be started.

func (*Downloader) ClearCache added in v0.19.0

func (d *Downloader) ClearCache()

ClearCache resets the etag value on the downloader

func (*Downloader) Start

func (d *Downloader) Start(ctx context.Context)

Start tells the Downloader to begin downloading bundles.

func (*Downloader) Stop

func (d *Downloader) Stop(ctx context.Context)

Stop tells the Downloader to stop begin downloading bundles.

func (*Downloader) WithBundleVerificationConfig added in v0.22.0

func (d *Downloader) WithBundleVerificationConfig(config *bundle.VerificationConfig) *Downloader

WithBundleVerificationConfig sets the key configuration used to verify a signed bundle

func (*Downloader) WithCallback

func (d *Downloader) WithCallback(f func(context.Context, Update)) *Downloader

WithCallback registers a function f to be called when download updates occur.

func (*Downloader) WithLogAttrs

func (d *Downloader) WithLogAttrs(attrs [][2]string) *Downloader

WithLogAttrs sets an optional set of key/value pair attributes to include in log messages emitted by the downloader.

func (*Downloader) WithSizeLimitBytes added in v0.25.0

func (d *Downloader) WithSizeLimitBytes(n int64) *Downloader

WithSizeLimitBytes sets the file size limit for bundles read by this downloader.

type PollingConfig

type PollingConfig struct {
	MinDelaySeconds *int64 `json:"min_delay_seconds,omitempty"` // min amount of time to wait between successful poll attempts
	MaxDelaySeconds *int64 `json:"max_delay_seconds,omitempty"` // max amount of time to wait between poll attempts
}

PollingConfig represents polling configuration for the downloader.

type Update

type Update struct {
	ETag    string
	Bundle  *bundle.Bundle
	Error   error
	Metrics metrics.Metrics
}

Update contains the result of a download. If an error occurred, the Error field will be non-nil. If a new bundle is available, the Bundle field will be non-nil.

Jump to

Keyboard shortcuts

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