marmot

module
v0.2.0-preview2 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2025 License: MIT

README

Marmot

❗ This project is currently in active development and subject to change. It's not recommended you deploy this in production. You may encounter bugs and data may not be accurate.

Marmot is an open-source data catalog that helps teams discover, understand, and govern their data assets. It's designed for modern data ecosystems where data flows through multiple systems, formats, and teams.

Marmot was designed with the following in mind:

  • Simplicity: Easy to use UI, single binary deployment
  • Performance: Fast search and efficient processing
  • Extensibility: Document almost anything with the flexible API

✨ Features:

  • Find anything fast with flexible queries: Boolean, text, metadata, and comparison operators for powerful search capabilities
  • Populate assets with your preferred technology: CLI, API, Terraform, and Pulumi integrations
  • Visualize data flows with interactive graphs: Track dependencies and analyze impact through comprehensive lineage visualization
  • Documentation and governance: Markdown documentation support with tagging and classification capabilities

🔌Supported Data Sources

Marmot offers multiple ways to ingest assets: through its CLI, API, or infrastructure-as-code solutions like Terraform and Pulumi. The CLI features a growing ecosystem of plugins with current support for Kafka, AsyncAPI, PostgreSQL, SQS, SNS, and many others. For assets not covered by existing plugins, Marmot's flexible API and infrastructure-as-code providers enable ingestion of virtually any asset type you need.

📚 Documentation

If you want to get started with Marmot quickly following the quickstart guide in the documentation to get up and running in minutes.

You can also check out the API documentation to help with building custom integrations.

🛠️ Local Development

  1. Start PostgreSQL:
docker run --name postgres \
  --network bridge \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=marmot \
  -p 5432:5432 \
  -d postgres:latest
  1. Start the frontend development server:
cd web/marmot
pnpm install
pnpm dev
  1. In another terminal, start the backend:
make dev

The app will be available at:

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

⚖️License

This project is licensed under the MIT License - see the LICENSE file for details.

Directories

Path Synopsis
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
internal
cmd
docgen/cmd command
mrn
plugin/providers/asyncapi
+marmot:name=AsyncAPI +marmot:description=This plugin enables fetching data from AsyncAPI specifications.
+marmot:name=AsyncAPI +marmot:description=This plugin enables fetching data from AsyncAPI specifications.
plugin/providers/bigquery
+marmot:name=BigQuery +marmot:description=This plugin discovers datasets and tables from Google BigQuery projects.
+marmot:name=BigQuery +marmot:description=This plugin discovers datasets and tables from Google BigQuery projects.
plugin/providers/kafka
+marmot:name=Kafka +marmot:description=This plugin discovers Kafka topics from Kafka clusters.
+marmot:name=Kafka +marmot:description=This plugin discovers Kafka topics from Kafka clusters.
plugin/providers/mongodb
+marmot:name=MongoDB +marmot:description=This plugin discovers databases and collections from MongoDB instances.
+marmot:name=MongoDB +marmot:description=This plugin discovers databases and collections from MongoDB instances.
plugin/providers/mysql
+marmot:name=MySQL +marmot:description=This plugin discovers databases and tables from MySQL instances.
+marmot:name=MySQL +marmot:description=This plugin discovers databases and tables from MySQL instances.
plugin/providers/postgresql
+marmot:name=PostgreSQL +marmot:description=This plugin discovers databases and tables from PostgreSQL instances.
+marmot:name=PostgreSQL +marmot:description=This plugin discovers databases and tables from PostgreSQL instances.
plugin/providers/sns
+marmot:name=SNS +marmot:description=This plugin discovers SNS topics from AWS accounts.
+marmot:name=SNS +marmot:description=This plugin discovers SNS topics from AWS accounts.
plugin/providers/sqs
+marmot:name=SQS +marmot:description=This plugin discovers SQS queues from AWS accounts.
+marmot:name=SQS +marmot:description=This plugin discovers SQS queues from AWS accounts.

Jump to

Keyboard shortcuts

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