Documentation ¶
Index ¶
- Constants
- Variables
- func Load(filePath string) error
- type Configuration
- type LoggingConfiguration
- type NATSConfiguration
- type ObjectStoreConfiguration
- type PrometheusConfiguration
- type ReplicationLogConfiguration
- type S3Configuration
- type SFTPConfiguration
- type SnapshotConfiguration
- type SnapshotStoreType
- type WebDAVConfiguration
Constants ¶
View Source
const EmbeddedClusterName = "e-marmot"
View Source
const NodeNamePrefix = "marmot-node"
Variables ¶
View Source
var CleanupFlag = flag.Bool("cleanup", false, "Only cleanup marmot triggers and changelogs")
View Source
var ClusterAddrFlag = flag.String("cluster-addr", "", "Cluster listening address")
View Source
var ClusterPeersFlag = flag.String("cluster-peers", "", "Comma separated list of clusters")
View Source
var Config = &Configuration{ SeqMapPath: path.Join(DataRootDir, "seq-map.cbor"), DBPath: path.Join(DataRootDir, "marmot.db"), NodeID: 0, Publish: true, Replicate: true, ScanMaxChanges: 512, CleanupInterval: 5000, SleepTimeout: 0, PollingInterval: 0, Snapshot: SnapshotConfiguration{ Enable: true, Interval: 0, StoreType: Nats, Nats: ObjectStoreConfiguration{ Replicas: 1, }, S3: S3Configuration{}, WebDAV: WebDAVConfiguration{}, SFTP: SFTPConfiguration{}, }, ReplicationLog: ReplicationLogConfiguration{ Shards: 1, MaxEntries: 1024, Replicas: 1, Compress: true, UpdateExisting: false, }, NATS: NATSConfiguration{ URLs: []string{}, SubjectPrefix: "marmot-change-log", StreamPrefix: "marmot-changes", ServerConfigFile: "", SeedFile: "", CredsPassword: "", CredsUser: "", BindAddress: ":-1", ConnectRetries: 5, ReconnectWaitSeconds: 2, }, Logging: LoggingConfiguration{ Verbose: false, Format: "console", }, Prometheus: PrometheusConfiguration{ Bind: ":3010", Enable: false, Namespace: "marmot", Subsystem: "", }, }
View Source
var ConfigPathFlag = flag.String("config", "", "Path to configuration file")
View Source
var DataRootDir = os.TempDir()
View Source
var LeafServerFlag = flag.String("leaf-servers", "", "Comma separated list of leaf servers")
View Source
var SaveSnapshotFlag = flag.Bool("save-snapshot", false, "Only take snapshot and upload")
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"` Prometheus PrometheusConfiguration `toml:"prometheus"` }
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"` CAFile string `toml:"ca_file"` CertFile string `toml:"cert_file"` KeyFile string `toml:"key_file"` BindAddress string `toml:"bind_address"` ConnectRetries int `toml:"connect_retries"` ReconnectWaitSeconds int `toml:"reconnect_wait_seconds"` }
type ObjectStoreConfiguration ¶ added in v0.7.1
type PrometheusConfiguration ¶ added in v0.8.7
type ReplicationLogConfiguration ¶ added in v0.7.0
type S3Configuration ¶ added in v0.7.1
type SFTPConfiguration ¶ added in v0.8.5
type SFTPConfiguration struct {
Url string `toml:"url"`
}
type SnapshotConfiguration ¶ added in v0.7.0
type SnapshotConfiguration struct { Enable bool `toml:"enabled"` Interval uint32 `toml:"interval"` StoreType SnapshotStoreType `toml:"store"` Nats ObjectStoreConfiguration `toml:"nats"` S3 S3Configuration `toml:"s3"` WebDAV WebDAVConfiguration `toml:"webdav"` SFTP SFTPConfiguration `toml:"sftp"` }
type SnapshotStoreType ¶ added in v0.7.1
type SnapshotStoreType string
const ( Nats SnapshotStoreType = "nats" S3 SnapshotStoreType = "s3" WebDAV SnapshotStoreType = "webdav" SFTP SnapshotStoreType = "sftp" )
type WebDAVConfiguration ¶ added in v0.8.4
type WebDAVConfiguration struct {
Url string `toml:"url"`
}
Click to show internal directories.
Click to hide internal directories.