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 ClusterListenAddr = flag.String("cluster-addr", "", "Cluster listening address")
View Source
var ClusterPeers = flag.String("cluster-peers", "", "Comma separated list of clusters")
View Source
var Config = &Configuration{ SeqMapPath: path.Join(TmpDir, "seq-map.cbor"), DBPath: path.Join(TmpDir, "marmot.db"), NodeID: 0, Publish: true, Replicate: true, ScanMaxChanges: 512, CleanupInterval: 5000, SleepTimeout: 0, PollingInterval: 0, Snapshot: SnapshotConfiguration{ Enable: true, StoreType: Nats, Nats: ObjectStoreConfiguration{ Replicas: 1, }, S3: S3Configuration{}, }, ReplicationLog: ReplicationLogConfiguration{ Shards: 1, MaxEntries: 1024, Replicas: 1, Compress: true, }, NATS: NATSConfiguration{ URLs: []string{}, SubjectPrefix: "marmot-change-log", StreamPrefix: "marmot-changes", ServerConfigFile: "", SeedFile: "", CredsPassword: "", CredsUser: "", }, 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")
View Source
var TmpDir = os.TempDir()
Functions ¶
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"`
CleanupInterval uint32 `toml:"cleanup_interval"`
SleepTimeout uint32 `toml:"sleep_timeout"`
PollingInterval uint32 `toml:"polling_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 NATSConfiguration ¶ added in v0.7.0
type NATSConfiguration struct {
URLs []string `toml:"urls"`
SubjectPrefix string `toml:"subject_prefix"`
StreamPrefix string `toml:"stream_prefix"`
ServerConfigFile string `toml:"server_config"`
SeedFile string `toml:"seed_file"`
CredsUser string `toml:"user_name"`
CredsPassword string `toml:"user_password"`
}
type ObjectStoreConfiguration ¶ added in v0.7.1
type ReplicationLogConfiguration ¶ added in v0.7.0
type S3Configuration ¶ added in v0.7.1
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" )
Click to show internal directories.
Click to hide internal directories.