package loader manages loading from multiple sources



This section is empty.


This section is empty.


This section is empty.


type Loader

type Loader interface {
	// Stop the loader
	Close() error
	// Load the sources
	Load(...source.Source) error
	// A Snapshot of loaded config
	Snapshot() (*Snapshot, error)
	// Force sync of sources
	Sync() error
	// Watch for changes
	Watch(...string) (Watcher, error)
	// Name of loader
	String() string

Loader manages loading sources

type Option

type Option func(o *Options)

type Options

type Options struct {
	Reader reader.Reader
	Source []source.Source

	// for alternative data
	Context context.Context

type Snapshot

type Snapshot struct {
	// The merged ChangeSet
	ChangeSet *source.ChangeSet
	// Deterministic and comparable version of the snapshot
	Version string

Snapshot is a merged ChangeSet

func Copy

func Copy(s *Snapshot) *Snapshot

Copy snapshot

type Watcher

type Watcher interface {
	// First call to next may return the current Snapshot
	// If you are watching a path then only the data from
	// that path is returned.
	Next() (*Snapshot, error)
	// Stop watching for changes
	Stop() error

Watcher lets you watch sources and returns a merged ChangeSet

Source Files


Path Synopsis