Skip to end of metadata
Go to start of metadata

Overview

JFrog Mission Control uses several databases for different features of its operation.

  • ElasticSearch 6.6.0 (6.1.1 from 3.0.0 to 3.4.x) and 6.3 stores analytics data used to create Trends
  • PostgreSQL 9.6.11 is used for configuration management
  • MongoDB 3.2.6 (from 2.x to 3.3.x only) is used for configuration management

Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

From version 2.1, Mission Control gives you the option of using your own ElasticSearch, PostgreSQL or MongoDB databases if you have these already installed and in use in your organization.

It is up to you to choose which, if any of these databases to externalize when you install Mission Control.

During the installation process, the Mission Control installation script will first ask if you want to perform a standard installation:

Perform a standard Installation? [Y/n]:

If you respond "Y", the installation process will automatically run to completion and install internal databases for Mission Control to use.

If you respond "n", then for each of the three databases, Mission Control will ask whether you want to use the internal database or an external one you are already using in your organization.

You take full responsibility for your own databases

If you choose to have Mission Control use any of your own databases for its operation, you take full responsibility for the maintenance, monitoring, backup and correct functioning of these databases.

If you do externalize any of the databases, Mission Control will also ask if you want it to seed the database or prefer to do it manually.

Page Contents


Externalizing ElasticSearch

To externalize the ElasticSearch database, respond to the prompts as described below:

PromptResponse
Install Elasticsearch? [Y/n]:n
 "n"
Please enter the Elasticsearch URL
[http://docker.for.mac.localhost:9200]:

 Provide the URL to your ElasticSearch database or accept the default if that is correct.

Please ensure you provide http or https protocol in the url.

After the installation completes, update the following properties in the file: mission-control.properties with appropriate values

  • elastic.username
  • elastic.password

Externalizing MongoDB (from 2.x to 3.3.x only)

To externalize the MongoDB database, respond to the prompts as described below:

PromptResponse
Install MongoDB? [Y/n]:n
 "n"
Please enter the MongoDB Host
[docker.for.mac.localhost]:
Enter the host that MongoDB is available on. (Usually, `localhost`). NOTE: Do NOT include a protocol.
Please enter the MongoDB Port [27017]:

Enter the port that Mission Control can use to access MongoDB. (Usually, 27017)

Docker installation does not try to automatically seed the database

In a Docker installation, the installer does not attempt to seed the external MongoDB database. Instead, it copies the files needed for manual seeding as described in Manually Seeding MongoDB below and the automatic installation process ends here.  

Attempt to seed MongoDB? [y/N]:







To have the installer seed your MongoDB automatically, respond with "y"

MongoDB must be on the same machine for automatic seeding

The installer can only seed a MongoDB database automatically if it is on the same machine as the installer.

If your MongoDB is installed on another machine, respond with "N".

If you respond with "N", the installer copies the files you will need to manually seed the database and ends the installation process.

If you respond with "y" the installer continue and prompt you with the following questions.

Is this a fresh installation with no users? (If you choose 'y', the installer will create an admin user):

If you respond "y", the installer will prompt you for and admin user and password


Please enter the MongoDB admin user ID:

Please enter the MongoDB admin user password:

Provide an admin user ID and password

The installer will attempt to perform the following actions to seed the MongoDB automatically:

  • create the necessary databases and users
  • copy all files required to seed the MongoDB database to a separate folder to enable manual seeding at a later time should that be necessary

    If the automatic seeding operation fails, the installer will display a prompt asking if you want to retry, abort or skip.

Manually Seeding MongoDB (from 2.x to 3.3.x only)

Seed the database before starting JFrog Mission Control

 If you choose to seed your database manually, make sure you do so BEFORE starting up JFrog Mission Control.

MongoDB is used to store metadata about Mission Control's microservices, so the script attempts to create the necessary databases and users. If you are familiar with MongoDB or do not have access to the Mongo instance, you can review the createMongoUsers.js file and create these yourself using the appropriate database client. If not and if you have access to the instance where MongoDB is installed, follow the instructions below:

  • Copy the files createMongoUsers.sh and createMongoUsers.js to the system where MongoDB is running. 
  • Make the shell file executable (chmod +x createMongoUsers.sh)
  • Execute the file ./createMongoUsers.sh and follow the prompts on screen. 

Externalizing PostgreSQL

To externalize the PostgreSQL database, respond to the prompts as described below:

PromptResponse
Install Postgres? [Y/n]:n
 "n"
Please enter the Postgres Host
[docker.for.mac.localhost]:
Enter the host that Postgres is available on. NOTE: Do NOT include a protocol.
Please enter the Postgres Port [5432]:
Enter the port that Mission Control can use to access Postgres. (Usually, 5432)

Manually Seeding PostgreSQL

Seed the database before starting JFrog Mission Control

 If you choose to seed your database manually, make sure you do so BEFORE starting up JFrog Mission Control.

Running the seeding steps manually

Additional information about seeding your database manually a pre-configured script can be found here.

PostgreSQL is used to store metadata about Mission Control's microservices, so the script attempts to create the necessary database, users and schema. If you are familiar with PostgreSQL or do not have access to the postgres instance, you can review the createPostgresUsers.sh file and create these yourself using the appropriate database client. If not and if you have access to the instance where PostgreSQL is installed, follow the instructions below:

  • Copy createPostgresUsers.sh to the system where PostgreSQL is running. 
  • Make the shell file executable (chmod +x createPostgresUsers.sh)
  • Review the default values used. If you change any values, make sure to change the corresponding environment variables in the installer.
  • Execute the file ./createPostgresUsers.sh


Externalizing Databases on an Existing Installation

You can externalize the databases Mission Control uses on an existing installation at any time by simply running the installer again.

When prompted with Perform a standard upgrade? [Y/n], select "N".

Now just continue with the process in the same way you would during a new installation 


Changing Externalized Databases

Mission Control offers you the flexibility to decide when to externalize its databases, and even to switch externalized databases in case you have more than one instance of any particular database installed in your system.

  • No labels