Edit this page on GitHub

Home > docs > getting started > Configuration

Configuration

The Concord server can be configured via a configuration file. Typically this is done by the administrator responsible for the Concord installation.

A Concord user does not need to be concerned about these settings and instead needs to define their processes and further details. Check out our quickstart guide.

The following configuration details are available:

Common Environment Variables

Dependencies

Variable Description Default value
CONCORD_MAVEN_CFG Path to a JSON file empty

Expected format of the configuration file:

{
  "repositories": [
    {
      "id": "central",
      "layout": "default",
      "url": "https://repo.maven.apache.org/maven2/"
    }
  ]
}

Server Configuration File

Concord Server uses Typesafe Config format for its configuration files.

The path to the configuration file must be passed via ollie.conf JVM parameter like so:

java ... -Dollie.conf=/opt/concord/conf/server.conf com.walmartlabs.concord.server.Main

When using Docker it can be passed as CONCORD_CFG_FILE environment variable.

The complete configuration file for the Server can be found in the source code repository.

A minimal example suitable for local development (assuming OpenLDAP):

concord-server {
    db {
        appPassword = "q1"
        inventoryPassword = "q1"
    }

    secretStore {
        # just some random base64 values
        serverPassword = "cTFxMXExcTE="
        secretStoreSalt = "SCk4KmBlazMi"
        projectSecretSalt = "I34xCmcOCwVv"
    }

    ldap {
        url = "ldap://oldap:389"
        searchBase = "dc=example,dc=org"
        systemUsername = "cn=admin,dc=example,dc=org"
        systemPassword = "admin"
    }
}

Server Environment Variables

All parameters are optional.

Forms

Variable Description Default value
FORM_SERVER_DIR Directory to store custom form files a new temporary directory

HTTPS support

Variable Description Default value
SECURE_COOKIES Enable secure attribute on server cookies. false

Agent Configuration File

Concord Agent uses Typesafe Config format for its configuration files.

The path to the configuration file must be passed via ollie.conf JVM parameter like so:

java ... -Dollie.conf=/opt/concord/conf/server.conf com.walmartlabs.concord.agent.Main

When using Docker it can be passed as CONCORD_CFG_FILE environment variable.

The complete configuration file for the Agent can be found in the source code repository.

The configuration file is optional for local development.

Process Runtime Variables

Specific Concord project executions are processes on the so-called agents. The following parameters affect the agent configuration used for any process execution. All parameters are optional.

Variable Description Default value
SERVER_HOST Hostname of the server. localhost
SERVER_PORT Port of the server’s API for agents. 8101
AGENT_LOG_DIR Directory to store payload execution log files. a new temporary directory
AGENT_PAYLOAD_DIR Directory to store unpacked payload files. a new temporary directory
AGENT_JAVA_CMD Path to java executable. java
DEPS_CACHE_DIR Path to a directory for the dependency cache. a new temporary directory

Default Process Variables

As a Concord administrator, you can set default variable values that are automatically set in all process executions.

This allows you to set global parameters such as the connection details for an SMTP server used by the SMTP task in one central location separate from the individual projects.

The values are configured in a YAML file. The path to the file and the name are configured in the server’s configuration file. The following example, shows how to configure an SMTP server to be used by all processes. As a result, project authors do not need to specify the SMTP server configuration in their own concord.yml.

smtpParams:
  host: "smtp.example.com"
  port: 25