cfg

package
v0.7.3 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const NodeNamePrefix = "marmot-node"

Variables

View Source
var Cleanup = flag.Bool("cleanup", false, "Only cleanup marmot triggers and changelogs")
View Source
var Config = &Configuration{
	SeqMapPath:     "/tmp/seq-map.cbor",
	DBPath:         "/tmp/marmot.db",
	NodeID:         1,
	Publish:        true,
	Replicate:      true,
	ScanMaxChanges: 512,
	CleanInterval:  5,

	Snapshot: SnapshotConfiguration{
		Enable:    true,
		StoreType: Nats,
		Nats: ObjectStoreConfiguration{
			Replicas: 1,
		},
		S3: S3Configuration{},
	},

	ReplicationLog: ReplicationLogConfiguration{
		Shards:     8,
		MaxEntries: 1024,
		Replicas:   1,
		Compress:   true,
	},

	NATS: NATSConfiguration{
		URLs:          []string{nats.DefaultURL},
		SubjectPrefix: "marmot-change-log",
		StreamPrefix:  "marmot-changes",
	},

	Logging: LoggingConfiguration{
		Verbose: false,
		Format:  "console",
	},
}
View Source
var ConfigPath = flag.String("config", "marmot.toml", "Path to configuration file")
View Source
var SaveSnapshot = flag.Bool("save-snapshot", false, "Only take snapshot and upload")

Functions

func Load added in v0.7.0

func Load(path string) error

Types

type Configuration added in v0.7.0

type Configuration struct {
	SeqMapPath     string `toml:"seq_map_path"`
	DBPath         string `toml:"db_path"`
	NodeID         uint64 `toml:"node_id"`
	Publish        bool   `toml:"publish"`
	Replicate      bool   `toml:"replicate"`
	ScanMaxChanges uint32 `toml:"scan_max_changes"`
	CleanInterval  uint32 `toml:"cleanup_interval"`

	Snapshot       SnapshotConfiguration       `toml:"snapshot"`
	ReplicationLog ReplicationLogConfiguration `toml:"replication_log"`
	NATS           NATSConfiguration           `toml:"nats"`
	Logging        LoggingConfiguration        `toml:"logging"`
}

func (*Configuration) NodeName added in v0.7.1

func (c *Configuration) NodeName() string

func (*Configuration) SnapshotStorageType added in v0.7.1

func (c *Configuration) SnapshotStorageType() SnapshotStoreType

type LoggingConfiguration added in v0.7.0

type LoggingConfiguration struct {
	Verbose bool   `toml:"verbose"`
	Format  string `toml:"format"`
}

type NATSConfiguration added in v0.7.0

type NATSConfiguration struct {
	URLs          []string `toml:"urls"`
	SubjectPrefix string   `toml:"subject_prefix"`
	StreamPrefix  string   `toml:"stream_prefix"`
}

type ObjectStoreConfiguration added in v0.7.1

type ObjectStoreConfiguration struct {
	Replicas   int    `toml:"replicas"`
	BucketName string `toml:"bucket"`
}

type ReplicationLogConfiguration added in v0.7.0

type ReplicationLogConfiguration struct {
	Shards     uint64 `toml:"shards"`
	MaxEntries int64  `toml:"max_entries"`
	Replicas   int    `toml:"replicas"`
	Compress   bool   `toml:"compress"`
}

type S3Configuration added in v0.7.1

type S3Configuration struct {
	DirPath      string `toml:"path"`
	Endpoint     string `toml:"endpoint"`
	AccessKey    string `toml:"access_key"`
	SecretKey    string `toml:"secret"`
	SessionToken string `toml:"session_token"`
	Bucket       string `toml:"bucket"`
	UseSSL       bool   `toml:"use_ssl"`
}

type SnapshotConfiguration added in v0.7.0

type SnapshotConfiguration struct {
	Enable    bool                     `toml:"enabled"`
	StoreType SnapshotStoreType        `toml:"store"`
	Nats      ObjectStoreConfiguration `toml:"nats"`
	S3        S3Configuration          `toml:"s3"`
}

type SnapshotStoreType added in v0.7.1

type SnapshotStoreType string
const (
	Nats SnapshotStoreType = "nats"
	S3                     = "s3"
)

Jump to

Keyboard shortcuts

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