Skip to content

ztkent/monstache

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monstache

Go daemon that syncs MongoDB to ElasticSearch & OpenSearch in realtime.
This fork provides a simple framework to build and run a custom Monstache container.

Monstache
Monstache Documentation

Support:

This version of Monstache is designed for:

  • MongoDB 3.6+
  • Elasticsearch 7.0+
  • OpenSearch 2.0+

It uses the official MongoDB Golang driver, and the community supported Elasticsearch driver.

Plugins

To simplify the process of building plugins, this project provides a new configuration option:

mapper-plugin-path = "local"

This option allows you to build plugins alongside the Monstache container.
Elimating the need for dynamic loading improves plugin compatibilty and performance.

Plugin Options

Plugins support the following functions:

func Map(input *monstachemap.MapperPluginInput) (output *monstachemap.MapperPluginOutput, err error)
func Filter(input *monstachemap.MapperPluginInput) (keep bool, err error)
func Pipeline(ns string, changeStream bool) (stages []interface, err error)
func Process(input*monstachemap.ProcessPluginInput) error

All plugin options are documented in monstache/plugin/plugin.go.

Compiled Plugins

Compiling plugins is still supported, you can follow the instructions from Monstache as reference:

About

Framework to build a custom Monstache container

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Go 98.9%
  • Other 1.1%