Mongo3

Rule your mongoDB clusters!
A Sinatra based admin console for mongoDB

DESCRIPTION:

Mongo3 allows you to manage your mongoDB clusters using a web based admin console.
The console provides for getting an overview of your mongo landscape and drilldown to
see various information about your databases. You will be able to manage your clusters
by performing common database admin tasks directly from the web console.

The initial release of Mongo3 will be a read only shallow mode. Further development
still needs to take place to build up the functionality from the existing code base.

PROJECT INFORMATION

FEATURES:

  • Easily administer your mongo cluster information

  • Get a real time snapshot of what your configuration looks like

  • Drill down on clusters, databases, collections and indexes

  • Manage all mongo artifacts from a single web interface

ROAD MAP:

  • Provide support for db authentication [done]

  • Ability to drilldown in collections and query for content [done]

  • CRUD on dbs, collections, indexes [done]

  • Administer users [done]

  • Collection rename

  • Database creation

  • Manage logs

  • Support for shards and replication

  • Add support for drilling down array and embedded documents [done]

DEPENDENCIES

  • At this time mongo3 only is supported on ruby 1.8 and sinatra 0.9.4

  • mongo + mongo_ext

  • agnostic-will_paginate

  • memcache-client

  • sinatra

  • mongo_rack

  • main

INSTALL:

gem install mongo3

USAGE:

Configure It!

You will need to give mongo3 some information about your mongo configuration. 
In order to do so create a .mongo3 directory in your home directory and create 
a file landscape.yml. You will need to specify the envs, host and ports specific
to your configuration, but here is a sample.

landscape.yml  
  development:
    host: localhost
    port: 27017

  beta:
    host:     beta_host_name
    port:     27017
    user:     bobo
    password: secret

Launch It!

Launch it. Fires up sinatra and opens up the console
NOTE!!: The gem now leverages mongo_rack ( a mongoDB based session store ).
By default, this assumes a mongoDB instance is running on localhost and on default port!

> mongo3

Alternatively you can use a different mongo instance to store mongo3 session information
or use memcache by specifying the --pool options as follows:

To use the mongo session store on localhost at port 27030 with db name 'mongo3' and collection named 'sessions' 

> mongo3 --pool "mongo://localhost:27030/mongo3/sessions" 

To use memcache session store on localhost at port 11233 with namespace 'mongo3'

> mongo3 --pool "memcache://localhost:11233/mongo3"

The pool options assumes the following format:

--pool {mongo|memcache}://{host}:{port}/{db_name|namespace}/{cltn_name}

LICENSE:

Copyright 2011-2012 LiquidRail LLC

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.