Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-937

Import existing connections from RoboMongo

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Won't Fix
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Connectivity
    • None

    Description

      In researching COMPASS-426, I discovered that RoboMongo stores deployment details (including credentials in plaintext) as JSON in it's config file, ~/.config/robomongo/0.9/robomongo.json (see example below). Many Compass users are already RoboMongo users and using the data from the existing config file to pre-populate the saved connections in Compass would dramatically improve the first-run experience for them.

      This work would be done as a part of or after the Deployment Awareness epic.

      {
       "autoExec" : false,
       "autoExpand" : false,
       "autocompletionMode" : 1,
       "batchSize" : 50,
       "connections" : [
        {
         "connectionName" : "Local Authd",
         "credentials" : [
          {
           "databaseName" : "admin",
           "enabled" : true,
           "mechanism" : "SCRAM-SHA-1",
           "userName" : "myUserAdmin",
           "userPassword" : "abc123"
          }
         ],
         "defaultDatabase" : "",
         "serverHost" : "localhost",
         "serverPort" : 27017,
         "ssh" : {
          "askPassword" : false,
          "enabled" : false,
          "host" : "",
          "method" : "publickey",
          "passphrase" : "",
          "port" : 22,
          "privateKeyFile" : "",
          "publicKeyFile" : "",
          "userName" : "",
          "userPassword" : ""
         },
         "ssl" : {
          "allowInvalidCertificates" : false,
          "allowInvalidHostnames" : false,
          "askPassphrase" : false,
          "caFile" : "",
          "crlFile" : "",
          "pemKeyFile" : "",
          "pemPassPhrase" : "",
          "sslEnabled" : false,
          "useAdvancedOptions" : false,
          "usePemFile" : false
         }
        }
       ],
       "disableConnectionShortcuts" : false,
       "imported" : false,
       "lineNumbers" : false,
       "loadMongoRcJs" : false,
       "minimizeToTray" : false,
       "mongoTimeoutSec" : 10,
       "shellTimeoutSec" : 15,
       "style" : "",
       "textFontFamily" : "",
       "textFontPointSize" : -1,
       "timeZone" : 0,
       "toolbars" : {
       
       },
       "uuidEncoding" : 0,
       "version" : "2.0",
       "viewMode" : 1
      }
      

      Note: 3tstudio already exploits this "feature" of RoboMongo to offer a convenient "Import Connections" dialog.

      Attachments

        Activity

          People

            Unassigned Unassigned
            lucas.hrabovsky Lucas Hrabovsky (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: