Search


Cloud customer?
Upgrade in MyJFrog >


Working with an older version?

JFrog Artifactory 6.x
JFrog Xray 2.x
JFrog Mission Control 3.x
JFrog Distribution 1.x
JFrog Enterprise+ (Pre-Platform Release)




Overview

The following is an example of a complete Mission Control system YAML file showing all the different parameters that you may configure.

Example Templates

It is recommended to use the templates available under $JFROG_HOME/mc/var/etc/

  • system.basic-template.yaml includes most commonly used system configurations
  • system.full-template.yaml includes a list of all available configurations

YAML File Format 

The YAML file is constructed with keys and entities, using the following key: [entity] format.

  • Shared configurations specified under the shared section, are used by all micro-services.
  • Micro-service specific configuration are set under each micro-service section and override similar shared configurations for the specific micro-service.
Page contents


Supported Configurations

Shared Configurations

## JFrog Mission Control config file.
## To comment-out any field and keep correct yaml indentation simply delete the leading '#' character.

configVersion: 1

## NOTE: JFROG_HOME is a place holder for the actual root of the deployed product.
## You should replace JFROG_HOME with the real path!
## For example, in RPM install, JFROG_HOME=/opt/jfrog

## NOTE: Sensitive information like passwords and join key are encrypted on first read.
## NOTE: The provided commented key and value is the default.

## A shared section for keys across all services in this config
shared:

  ## Base URL of the JFrog Platform Deployment (JPD)
  ## This is the URL to the machine where JFrog Artifactory is deployed, or the load balancer pointing to it. It is recommended to use DNS names rather than direct IPs.
  ## Examples: "http://jfrog.acme.com" or "http://10.20.30.40:8082"
  #jfrogUrl:
  
  ## Java 11 distribution to use
  #javaHome: "JFROG_HOME/mc/app/third-party/java"

  ## Shared security configuration
  security:
    ## Join key value for joining the cluster (takes precedence over 'joinKeyFile')
    #joinKey: "XXX"

    ## Join key file location
    #joinKeyFile: "JFROG_HOME/mc/var/etc/security/join.key"

    ## Master key file location
    ## Generated by the product on first startup if not provided
    #masterKeyFile: "JFROG_HOME/mc/var/etc/security/master.key"

    ## Maximum time to wait for key files (master.key and join.key)
    #bootstrapKeysReadTimeoutSecs: 120

  ## Shared logging configuration
  logging:
    consoleLog:
      ## If true, all services' console logs willl be redirected to a common console.log
      #enabled: true

    ## Log rotation settings
    rotation:
      ## The max file size at which enforce rotation
      #maxSizeMb: 25

      ## The number of backup files to maintain
      #maxFiles: 10

      ## Whether to compress the backup file
      #compress: true

  ## Shared node settings
  node:
    ## A unique id to identify this node.
    ## Default: auto generated at startup.
    #id: "mc1"

    ## Default: auto resolved by startup script
    #ip:

  ## PostgreSQL database to use with the product
  database:
    ## Note: schema for each service is different in mission control
    ## therefore user credentials are at service level
    #type: postgresql
    #driver: org.postgresql.Driver
    #url: jdbc:postgresql://localhost:5432/mission_control

  ## ElasticSearch settings
  elasticsearch:
    #url: "http://localhost:9200"
    #username: admin
    #password: admin
    #nodeDiscovery: false

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64

Mission Control Operational Microservices

## Mission control template
mc:
  #port: 8080

  ## Mission control database settings
  database:
    #username: jfmc
    #password: password
    #schema: jfmc_server

    ## Max connections to the database the main connection pool can consume
    #maxOpenConnections: 10

  ## Extra Java options to pass to the JVM. These values add to or override the defaults.
  #extraJavaOpts: "-Xms3g -Xmx4g"

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64


## Insight scheduler template
insight-scheduler:
  #port: 8085

  ## Insight scheduler database settings
  database:
    #schema: insight_scheduler
    #username: jfisc
    #password: password

    ## Max connections to the database the main connection pool can consume
    #maxOpenConnections: 10

  ## Extra Java options to pass to the JVM. These values add to or override the defaults.
  #extraJavaOpts: "-Xms3g -Xmx4g"

  ## Scheduler to go standby in ha scenario when services in this node are down
  ha:
  #nodeHealthCheck:
    #autoKillOnMaxFailures: false

  ## Clients settings
  clients:
    ## Time outs and retry count for access client
    access:
      #joinRetry: 5
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 45

    ## Time outs and retry count for insight client
    insight:
      #tokenRetry: 5
      #tokenRetryIntervalMillis: 10000

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64


## Insight executor template
insight-executor:
  #port: 8087

  #maxThreads: 50

  ## Insight executor database settings
  database:
    #schema: insight_executor
    #username: jfiex
    #password: password

    ## Max connections to the database the main connection pool can consume
    #maxOpenConnections: 10

  ## Extra Java options to pass to the JVM. These values add to or override the defaults.
  #extraJavaOpts: "-Xms3g -Xmx4g"

  ## Clients settings
  clients:
    insight:
      #tokenRetry: 5
      #tokenRetryIntervalMillis: 10000

    artifactory:
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 180

      ## Number of days to fetch the replication data from artifactory
      #replicationStartedAfterPeriodDays: -6

    xray:
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 45

    access:
      #joinRetry: 5
      #joinRetryIntervalMillis: 10000
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 45

    distribution:
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 45

    missioncontrol:
      #connectionTimeoutSecs: 5
      #socketTimeoutSecs: 45

  insightMetrics:
    #concurrentServices: 10

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64


## Insight server template
insight:
  #port: 8090

  ## Insight server database settings
  database:
    #schema: insight_server
    #username: jfisv
    #password: password

    ## Max connections to the database the main connection pool can consume
    #maxOpenConnections: 10

  ## Insight server allows calls only from these source IPs.
  ## A comma delimited list of CIDR ranges
  #allowIp: 127.0.0.0/8,172.16.0.0/12,::1/128,fe80::/10

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64

Router

## Router template
router:
  ## Profiling related settings
  profiling:
    ## Enable profiling endpoints
    #enabled: true

  ## Corporate proxy related settings
  proxy:
    ## Proxy url for all outgoing http requests
    #httpUrl: ""

    ## Proxy url for all outgoing https requests
    #httpsUrl: ""

    ## List of target hosts to communicate with directly, bypassing the proxy.
    ## "localhost" will always be added to this list automatically.
    #ignoredHosts:
    #- "ignore.me.com"
    #- "ignore.me2.com"

  ## Router entry points
  entrypoints:
    ## The internal port, used by local services to communicate with the router and any other service (local and external)
    #internalPort: 8046

    ## The external port, registered in the service registry, used by external services to communicate with services in this node
    #externalPort: 8082

    ## An internal port used for internal Traefik (and Router) REST API
    #traefikApiPort: 8049

    ## An internal port used for Router's gRPC API
    #grpcPort: 8047

  ## Service registry (Access) communication settings
  serviceRegistry:

    ## Service registry (Access) TLS verification skipped if enabled
    #insecure: false

    ## Service registry (Access) request timeout
    #requestTimeout: 15s
 
    ## Skip the connectivity test step of the Service registry join flow
    ## This may be required for restrictive network setups, where insecure communication is not allowed
    #skipJoinConnectivityTest: false

  ## Topology related settings
  topology:
    ## Local topology settings
    local:
      ## Settings for checking the health of local services
      healthCheck:
        ## Duration between health checks
        #interval: 5s

        ## Health check request timeout
        #requestTimeout: 5s

        ## The number of consecutive successful health checks that must occur before declaring an instance healthy
        #healthyThreshold: 2

        ## The number of consecutive failed health checks that must occur before declaring an instance unhealthy
        #unhealthyThreshold: 2

    ## External topology settings
    external:
      ## Settings for refreshing the router with external topology from the service registry
      refresh:
        ## Refresh interval
        #interval: 3s

        ## The maximum duration a service can be considered as healthy since its last heartbeat
        #maxStaleHeartbeat: 30s

  ## Support bundle aggregation settings
  supportBundle:
    ## The maximum duration support bundle aggregation is allowed before it is automatically cancelled
    #aggregationTimeout: 1h

  ## Logging settings
  logging:
    ## Router log settings
    application:
      ## The log level: error, warning, info, debug, trace
      #level: "info"

      ## The log format: jftext, json
      #format: "jftext"

      ## Whether to include the caller information (runtime frame)
      #caller: false

      ## Whether to print the log also to stdout
      #console: true

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 25
        #maxAgeDays: 0
        #maxFiles: 10

    ## Traefik log settings
    traefik:
      ## The log level: error, warning, info, debug, trace
      #level: "info"

      ## The log format: jftext, json
      #format: "jftext"

      ## Whether to include the caller information (runtime frame)
      #caller: false

      ## Whether to print the log also to stdout
      #console: true

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 25
        #maxAgeDays: 0
        #maxFiles: 10

    ## Request log settings
    request:
      ## If true, request log will contain additional information
      ## This may result in a slight performance overhead
      #verbose: false

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 100
        #maxAgeDays: 0
        #maxFiles: 10

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64
  • No labels
Copyright © 2020 JFrog Ltd.