npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mongo-hydra

v0.2.0

Published

A open source mongo orchestration tool with high hopes

Downloads

5

Readme

mongo-hydra

A open source mongo orchestration tool with high hopes.

Vision

Automate the creation, modification, or deletion of everything required to run a highly available scalable mongo cluster.

Reliability Highly available, self healing, resistant to failure, scalable leveraging existing orchestration tools (eg k8s)

Developer Experience Infra as code, simple to get started, easy to scale down for local development and experimentation.

At unu we run large mongo clusters. We use homegrown tools to manage these clusters. These tools were originally built in bash and have become hard to maintain.

Mongo-hydra is an attempt to open source all that learning in a proper reuseable maintainable tool that we will use internally too.

Installation

CLI

$ npm install -g mongo-hydra
+ mongo-hydra@latest

hydra replication -f examples/replication/hydra.yaml

Docker Image

docker pull unumotors/mongo-hydra

Release Schedule

| Version | Component / Feature | Github Milestone | |----------|--------------------------------------|----------------------------------------------------------------| | v0.1.0 | Basic scaffolding + connection logic | v0.0.1 | | v0.2.0 | Manage replication | v0.2.0 | | v0.3.0 | Sharding | v0.3.0 | | v0.4.0 | User and roles | v0.4.0 | | v0.5.0 | Authentication | v0.5.0 | | v0.6.0 | K8s Operator + CRDs | v0.6.0 |

Comparison

Similar tools like KubeDB and Percona Kubernetes Operator exist. This lists their current feature set.

| | | Hydra |KubeDB | Percona | |-----------------|-----------------------|-----------|--------------|------------| | Interface | CLI | ✅ | ⛔ | ⛔ | | | Raw Machines | ✅ | ⛔ | ⛔ | | | Docker Standalone | ✅ | ⛔ | ⛔ | | | k8s operator | ⛔ | ✅ | ✅ | | MongoDB support | Replica sets | ✅ | ✅ | ✅ | | | Delayed members | ⛔ | ⛔ | ⛔ | | | Arbiter members | ⛔ | ⛔ | ✅ | | | Sharded cluster | ⛔ | ⛔ | ⛔ | | | User management | ⛔ | ⛔ | ⛔ | | | Admin user setup | ⛔ | ✅ (k8s) | ✅(k8s) | | | Mongo version support | ✅ =<4.2 | 🟠 3.6 | ✅ 4.2 | | Security | Certificates | ⛔ | ⛔ | ✅ | | | Keyfiles | ⛔ | ✅ | ⛔ | | | Encryption at rest | ⛔ | ⛔ | ✅ | | Backups | Automatic backups | ⛔ | ✅ | ✅ | | | s3 | ⛔ | ✅ | ✅ | | | gcs | ⛔ | ✅ | ⛔ | | | tarsnap | ⛔ | ⛔ | ⛔ | | Monitoring | Prometheus | ⛔ | ✅ | ⛔ | | | Custom | ⛔ | ⛔ | ✅ | | Various | Documentation | 🟠 Limited| ✅ | 🟠 Limited |

Warning

Right now this project is pre alpha and not recommended for production systems.

Tests

This project is supported by unit and integration level tests.

To run the unit-tests you need to provide a mongod instance without auth at localhost and run npm run test-dev.

To run integration tests you need to run MONGO_VERSION=4.0 docker-compose -f test-integration/docker-compose.yaml up and npm run test-integration.

Community & Contributions

Although we will gladly welcome contributions in the near future we would like to first get our first minimal release as we need to aim to maintain feature parity with our internal tool, before opening it up to external contributions.

Questions and feedback: file an issue.

Follow along: Github Releases.

License

Copyright 2020 unu GmbH

Licensed under MIT