The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

  MongoHosting   deploy MongoDB shared cluster in the cloud at linode or digitalocean 
 

SYNOPSIS

  # INSTALL
  $ git clone git@github.com:ovntatar/MongoHosting.git
  $ cd MongoHosting
  $sudo apt-get install make gcc carton dialog libio-socket-ssl-perl libxml-parser-lite-perl libxml-dom-perl libxml-parser-perl libxml-xslt-perl libnet-ssleay-perl libcrypt-ssleay-perl libnet-https-any-perl libpoe-filter-ssl-perl
  $ carton install # install deps

  # ENV VARS - In order for the script to work you'll need to set 3 environment variables:
  ##  API Key for provider (eg. DigitalOcean, Linode, etc)
  $ export PROVIDER_API_KEY=121234123123213123123123123213123123123 

  ## Path to the private key you want to use to login into the machines
  $ export PRIVATE_KEY=/path/to/private/key/id_rsa

  ## Config file (defaults to config.yml)
  $ export DEPLOY_CONFIG=linode-config.yml

  # SETUP CLUSTER
  ## edit config.yml, then:
  $ carton exec rex deploy

  #REMOVE HOST - To remove a host from the cluster you need to run the following command

  $ carton exec rex remove
  # You'll be presented with a list of hosts to be removed. Pick as many as you want and hit OK and then confirm.

  #TESTING - After deploy is done you can connect to any Mongo router from the host defined at app_host at the config file and test it with something like this:

  mongo router-ip:port/admin
  use exampleDB
  sh.enableSharding("exampleDB")
  for (var i = 1; i <= 500; i++) db.exampleCollection.insert( { x : i } )
  db.exampleCollection.findOne()


 

DESCRIPTION

MongoHosting is a command line tool to set up a shared cluster at linode or digital ocean

PERL VERSIONS

You can also specify the minimum perl required in cpanfile:

  requires 'perl', '5.16.3';

AUTHOR

Ovidiu Tatar, Gabriel Andrade

COPYRIGHT

 3Ziele.de - ovntatar
 

LICENSE

This software is licensed under the same terms as Perl itself.

SEE ALSO

MongoHosting