Hardware

JFrog Mission Control requires the following hardware:

  • Processor: 6 cores
  • RAM Memory: 8 GB
  • Storage: 100 GB

Platforms

JFrog Mission Control supports any non-Windows platform that can run Docker v1.11 and above. In addition, it has been tested and verified to run as a non-Docker installation on the following 64-bit flavors of Linux:

  • Debian 8.x

  • CentOS 7.x

  • Ubuntu 16.x
  • Red Hat 7.x

External Databases

The following databases are required and need to be externalized:

  • Elasticsearch 6.3
  • Postgres 9.6.11 

For more details, please refer to Using External Databases.


Artifactory

From version 3.0, Mission Control requires at least one Artifactory service with version 5.6.0 and above to serve as the authentication provider. Other Artifactory services may have lower versions.


Java Requirements

Starting from Mission Control 3.4, You can run Mission Control with JDK 11. Support for Java 8 is still available.

JFrog Mission Control has been validated to work on Oracle JDK 8/11 or Open JDK 8/11. Make sure to install one of these versions of Java. Mission Control requires Java Cryptography Extensions installed and these are packaged by default in versions starting Oracle JDK 8u162 and Open JDK 8u161 versions. To check if JCE is installed, run

$JAVA_HOME/bin/jrunscript -e 'print (javax.crypto.Cipher.getMaxAllowedKeyLength("RC5") >= 256);')

If you have prior versions of JDK 8, download the extensions for Oracle JDK.

JFMC_JAVA_HOME

This can be skipped for docker installer, as the containers will have all the configurations preset.

Starting from Mission Control v3.1, installation supports custom java home to JDK 8. The installer looks for JFMC_JAVA_HOME environment variable in setenv.sh.

RPM/Debian installation : $MC_DATA/setenv.sh (usually /var/opt/jfrog/mission-control/setenv.sh)

ZIP installation : $MC_HOME/data/setenv.sh

CentOS and RedHat has strict selinux security policies on what files a user/process can access, make sure java is installed in a location which can be accessed by the user who will perform start action on Mission Control services. Installing in /opt/java is recommended.

To change JFMC_JAVA_HOME, follow the instructions below: 

  1. Stop Mission Control
  2. Modify or set JFMC_JAVA_HOME in setenv.sh
  3. Start Mission Control

SELinux

CentOS flavors may have issues starting MongoDB because of SELinux restrictions. Please refer to the MongoDB documentation for instructions on configuring SELinux. 

Browsers

Mission Control has been tested with the latest versions (known at the time of release) of Google Chrome, Firefox and Safari.

Microservices and Ports

When setting microservice ports, make sure to only expose the Mission Control server to the outside world. All other microservices should never be exposed to outside world.

Docker Installation

Mission Control's Docker installation only needs port 8080 to be exposed on the host to function.

If the port is occupied, Mission control will throw an error on start.

To change the port that the Docker installation uses, please refer to Changing Port Settings

The following microservices manage the different aspects of the product:

serverjfmc_server_1Primary Mission Control service
insight_serverjfmc_insight_server_1Handles insight related data management and API functions
schedulerjfmc_scheduler_1Manages scheduling for different internal Mission Control tasks
executorjfmc_executor_1Executes tasks related to data management
elasticsearchjfmc_elasticsearch_1Database used by insight for time-series data used in graphs & Projects
mongodb

jfmc_mongodb_1

(Deprecated starting 3.4.x)

Database used for storing all data.

If you upgrade to 3.4.x and above from earlier versions, mongo data will be migrated to PostgreSQL

(Deprecated starting 3.4.x)

postgres

jfmc_postgres_1


Database used for storing all data

Linux Installation

Mission Control runs a number of microservices with specific port allocations as described in the table below.

If a port is already in-use, please refer to Changing Port Settings.

MicroservicePortPurposeService name in Debian and CentOS Installs

Mission Control Server

8080Core Mission Control servicemission-control.service

Scheduler

8085Manages scheduling for different internal Mission Control tasksjfi-scheduler.service

Executor

8087Executes tasks to collect data from servicesjfi-executor.service

Graphs Core

8090Graphs core functionsjfi-core.service
8089

Graphs core functions over SSL

Removed in version 3.3.0

Elasticsearch


9200Data service used for time-series data to generate graphselasticsearch.service
9300Transport client port for bulk inserts

Mongo

27017

Data service used for storing non-time series data

Deprecated post 3.4.x

mongod.service

Postgres


5432

Data service used by all microservice

Added from 3.4.x

postgresql-9.6.service

ZIP Installation

Mission Control runs a number of microservices with specific port allocations as described in the table below.

If a port is already in-use, please refer to Changing Port Settings.

MicroservicePortPurpose

Mission Control Server

8080Core Mission Control service

Scheduler

8085Manages scheduling for different internal Mission Control tasks

Executor

8087Executes tasks to collect data from services

Graphs Core

8090Graphs core functions
8089Graphs core functions over SSL (Removed in version 3.3.0)