All agent configuration variables
This document includes all of the variables you can configure the Moderne agent to run with. Your configuration will only use some of these.
OCI Container
Executable JAR
Variables:
MODERNE_AGENT_APIGATEWAYRSOCKETURI
– The URI used to connect to the Moderne API, provided by Moderne.MODERNE_AGENT_CRYPTO_SYMMETRICKEY
– A 256-bit AES encryption key, hex encoded. Used to encrypt your artifacts.MODERNE_AGENT_NICKNAME
– A name used to identify your agent in the SaaS agent dashboard UI.MODERNE_AGENT_TOKEN
– The Moderne SaaS agent connection token, provided by Moderne.
Example:
docker run \
-e MODERNE_AGENT_APIGATEWAYRSOCKETURI=https://api.tenant.moderne.io/rsocket \
-e MODERNE_AGENT_CRYPTO_SYMMETRICKEY=yourSymmetricKey \
-e MODERNE_AGENT_NICKNAME=prod-1 \
-e MODERNE_AGENT_TOKEN=yourToken \
# ... Additional variables
Arguments:
--moderne.agent.apiGatewayRsocketUri
– The URI used to connect to the Moderne API, provided by Moderne.--moderne.agent.crypto.symmetricKey
– A 256-bit AES encryption key, hex encoded. Used to encrypt your artifacts.--moderne.agent.nickname
– A name used to identify your agent in the SaaS agent dashboard UI.--moderne.agent.token
– The Moderne SaaS agent connection token, provided by Moderne.
Example:
java -jar moderne-agent-{version}.jar \
--moderne.agent.apiGatewayRsocketUri=https://api.tenant.moderne.io/rsocket \
--moderne.agent.crypto.symmetricKey=yourSymmetricKey
--moderne.agent.nickname=prod-1 \
--moderne.agent.token=yourToken \
# ... Additional arguments
OCI Container
Executable JAR
Variables:
MODERNE_AGENT_BITBUCKET_CLOUD_OAUTH_KEY
– The key specified in your Bitbucket OAuth consumer.MODERNE_AGENT_BITBUCKET_CLOUD_OAUTH_SECRET
– The secret specified in your Bitbucket OAuth consumer.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_BITBUCKET_CLOUD_OAUTH_KEY=yourOAuthKey \
-e MODERNE_AGENT_BITBUCKET_CLOUD_OAUTH_SECRET=yourSecretKey \
# ... Additional variables
Arguments:
--moderne.agent.bitbucket.cloud.oauthKey
– The key specified in your Bitbucket OAuth consumer.--moderne.agent.bitbucket.cloud.oauthSecret
– The secret specified in your Bitbucket OAuth consumer.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.bitbucket.cloud.oauthKey=yourOAuthKey \
--moderne.agent.bitbucket.cloud.oauthSecret=yourSecretKey \
# ... Additional arguments
You can configure multiple Bitbucket instances by including multiple entries, each with a different
{index}
.OCI Container
Executable JAR
Variables:
MODERNE_AGENT_BITBUCKET_{index}_PRIVATEKEY
– The private key you configured for this Bitbucket instance.MODERNE_AGENT_BITBUCKET_{index}_URL
– The fully-qualified URL of the running Bitbucket instance. For example:https://bitbucket.myorg.com
MODERNE_AGENT_BITBUCKET_{index}_SKIPSSL
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this Bitbucket instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_BITBUCKET_0_PRIVATEKEY=yourPrivateKey \
-e MODERNE_AGENT_BITBUCKET_0_URL=https://bitbucket.myorg.com \
# ... Additional variables
Arguments:
--moderne.agent.bitbucket[{index}].privateKey
– The private key you configured for this Bitbucket instance.--moderne.agent.bitbucket[{index}].url
– The fully-qualified URL of the running Bitbucket instance. For example:https://bitbucket.myorg.com
--moderne.agent.bitbucket[{index}].skipSsl
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this Bitbucket instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.bitbucket[0].privateKey=yourPrivateKey \
--moderne.agent.bitbucket[0].url=https://bitbucket.myorg.com \
# ... Additional arguments
You can configure multiple GitHub OAuth apps by including multiple entries, each with a different
{index}
.OCI Container
Executable JAR
Variables:
MODERNE_AGENT_GITHUB_{index}_OAUTH_CLIENTID
– The client id configured in GitHub.MODERNE_AGENT_GITHUB_{index}_OAUTH_CLIENTSECRET
– The client secret configured in GitHub.MODERNE_AGENT_GITHUB_{index}_URL
– The fully-qualified hostname of the running GitHub instance.MODERNE_AGENT_GITHUB_{index}_SKIPSSL
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this GitHub instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults to false.MODERNE_AGENT_GITHUB_{index}_ALLOWABLE_ORGANIZATIONS_{index}
– (Optional) Specifies what organizations you can fork recipe results to. By default, there are no restrictions on which organizations can be committed to. If you want multiple organizations, increase the last index and add one per line.MODERNE_AGENT_GITHUB_{index}_OAUTH_INCLUDEPRIVATEREPOS
– (Optional) By default, the OAuth app will only have access to public repositories within your organization(s). To provide the OAuth app access to private repositories, you can set this totrue
.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_GITHUB_0_OAUTH_CLIENTID=yourClientId \
-e MODERNE_AGENT_GITHUB_0_OAUTH_CLIENTSECRET=yourClientSecret \
-e MODERNE_AGENT_GITHUB_0_URL=https://myorg.github.com \
-e MODERNE_AGENT_GITHUB_0_ALLOWABLE_ORGANIZATIONS_0=moderne \
-e MODERNE_AGENT_GITHUB_0_ALLOWABLE_ORGANIZATIONS_1=openrewrite \
-e MODERNE_AGENT_GITHUB_0_OAUTH_INCLUDEPRIVATEREPOS=true \
# ... Additional variables
Arguments:
--moderne.agent.github[{index}].oauth.clientId
– The client id configured in GitHub.--moderne.agent.github[{index}].oauth.clientSecret
– The client secret configured in GitHub.--moderne.agent.github[{index}].url
– The fully-qualified hostname of the running GitHub instance.--moderne.agent.github[{index}].skipSsl
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this GitHub instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults to false.--moderne.agent.github[{index}].allowableOrganizations[{index}]
– (Optional) Specifies what organizations you can fork recipe results to. By default, there are no restrictions on which organizations can be committed to. If you want multiple organizations, increase the last index and add one per line.--moderne_agent_github[{index}].oauth.includePrivateRepos
– (Optional) By default, the OAuth app will only have access to public repositories within your organization(s). To provide the OAuth app access to private repositories, you can set this totrue
.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.github[0].oauth.clientId=yourClientId \
--moderne.agent.github[0].oauth.clientSecret=yourClientSecret \
--moderne.agent.github[0].url=https://myorg.github.com \
--moderne.agent.github[0].allowableOrganizations[0]=moderne \
--moderne.agent.github[0].allowableOrganizations[1]=openrewrite \
--moderne.agent.github[0].oauth.includePrivateRepos=true \
# ... Additional arguments
You can configure multiple GitLab OAuth apps by including multiple entries, each with a different
{index}
.OCI Container
Executable JAR
Variables:
MODERNE_AGENT_GITLAB_{index}_OAUTH_CLIENTID
– The application id configured in GitLab.MODERNE_AGENT_GITLAB_{index}_OAUTH_CLIENTSECRET
– The secret configured in GitLab.`MODERNE_AGENT_GITLAB_{index}_URL
– The fully-qualified hostname of your GitLab instance.`MODERNE_AGENT_BITBUCKET_{index}_SKIPSSL
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this GitLab instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_GITLAB_0_OAUTH_CLIENTID=yourClientId \
-e MODERNE_AGENT_GITLAB_0_OAUTH_CLIENTSECRET=yourClientSecret \
-e MODERNE_AGENT_GITLAB_0_URL=https://your-gitlab.com \
# ... Additional variables
Arguments:
--moderne.agent.gitlab[{index}].oauth.clientId
– The application id configured in GitLab.--moderne.agent.gitlab[{index}].oauth.clientSecret
– The secret configured in GitLab.`--moderne.agent.gitlab[{index}].url
– The fully-qualified hostname of your GitLab instance.`--moderne.agent.gitlab[{index}].skipSsl
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this GitLab instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.gitlab[0].oauth.clientId=yourClientId \
--moderne.agent.gitlab[0].oauth.clientSecret=yourClientSecret \
--moderne.agent.gitlab[0].url=https://your-gitlab.com \
# ... Additional arguments
OCI Container
Executable JAR
Variables:
MODERNE_AGENT_ORGANIZATION_URL
– The URL of your GraphQL service that provides organization information.MODERNE_AGENT_ORGANIZATION_UPDATE_INTERVAL_SECONDS
– (Optional) Specifies how often to request your organization information. Defaults to600
(10 minutes).
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_ORGANIZATION_URL=http://localhost:8091 \
-e MODERNE_AGENT_ORGANIZATION_UPDATE_INTERVAL_SECONDS=600 \
# ... Additional variables
Arguments:
--moderne.agent.organization.url
– The URL of your GraphQL service that provides organization information.--moderne.agent.organization.updateIntervalSeconds
– (Optional) Specifies how often to request your organization information. Defaults to600
(10 minutes).
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.organization.url=http://localhost:8091 \
--moderne.agent.organization.updateIntervalSeconds=600 \
# ... Additional arguments
You can configure multiple Maven repositories by including multiple entries, each with a different
{index}
.OCI Container
Executable JAR
Variables:
MODERNE_AGENT_MAVEN_{index}_URL
– The URL of your Maven repository.MODERNE_AGENT_MAVEN_{index}_LOCALREPOSITORY
– The path on disk where LST artifacts and Maven index files will be downloaded to. This is on the disk where the agent is being run and not on the Maven instance. Defaults to~/.moderne-maven
- LST artifacts are deleted from this location after they are transmitted to Moderne. Index files will remain behind to be used to detect diffs in the artifacts. If changes are discovered, only the incremental diffs will be downloaded (to limit the amount of data being transferred).
- If multiple Maven repositories are configured on the agent, they must have different
MODERNE_AGENT_MAVEN_{index}_LOCALREPOSITORY
configured.
MODERNE_AGENT_MAVEN_{index}_USERNAME
– (Optional) The username used to resolve artifacts. Defaults tonull
.MODERNE_AGENT_MAVEN_{index}_PASSWORD
– (Optional) The password used to resolve artifacts. Defaults tonull
.MODERNE_AGENT_MAVEN_{index}_RELEASES
– (Optional) Specifies whether or not this repository should be searched for releases. Defaults totrue
.MODERNE_AGENT_MAVEN_{index}_SNAPSHOTS
– (Optional) Specifies whether or not this repository should be searched for snapshots. Defaults totrue
.MODERNE_AGENT_MAVEN_{index}_ASTSOURCE
– (Optional) Specifies whether or not this repository should be searched for LST artifacts. Defaults totrue
(Note: LSTs used to be called ASTs).MODERNE_AGENT_MAVEN_{index}_RECIPESOURCE
– (Optional) Specifies whether or not this repository should be searched for recipe jars. Defaults totrue
.MODERNE_AGENT_MAVEN_{index}_SKIPSSL
– (Optional) Whether or not to skip SSL/TLS verification for calls from the agent to this Maven repository. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_MAVEN_0_URL=https://myartifactory.example.com/artifactory/libs-releases-local \
-e MODERNE_AGENT_MAVEN_0_LOCALREPOSITORY=~/.moderne-maven \
-e MODERNE_AGENT_MAVEN_0_USERNAME=admin \
-e MODERNE_AGENT_MAVEN_0_PASSWORD=password \
# ... Additional variables
Arguments:
--moderne.agent.maven[{index}].url
– The URL of your Maven repository.--moderne.agent.maven[{index}].localRepository
– The path on disk where LST artifacts and Maven index files will be downloaded to. This is on the disk where the agent is being run and not on the Maven instance. Defaults to~/.moderne-maven
- LST artifacts are deleted from this location after they are transmitted to Moderne. Index files will remain behind to be used to detect diffs in the artifacts. If changes are discovered, only the incremental diffs will be downloaded (to limit the amount of data being transferred).
- If multiple Maven repositories are configured on the agent, they must have different
MODERNE_AGENT_MAVEN_{index}_LOCALREPOSITORY
configured.
--moderne.agent.maven[{index}].username
– (Optional) The username used to resolve artifacts. Defaults tonull
.--moderne.agent.maven[{index}].password
– (Optional) The password used to resolve artifacts. Defaults tonull
.--moderne.agent.maven[{index}].releases
– (Optional) Specifies whether or not this repository should be searched for releases. Defaults totrue
.--moderne.agent.maven[{index}].snapshots
– (Optional) Specifies whether or not this repository should be searched for snapshots. Defaults totrue
.--moderne.agent.maven[{index}].astSource
– (Optional) Specifies whether or not this repository should be searched for LST artifacts. Defaults totrue
(Note: LSTs used to be called ASTs).--moderne.agent.maven[{index}].recipeSource
– (Optional) Specifies whether or not this repository should be searched for recipe jars. Defaults totrue
.--moderne.agent.maven[{index}].skipSsl
– (Optional) Whether or not to skip SSL/TLS verification for calls from the agent to this Maven repository. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.maven[0].url=https://myartifactory.example.com/artifactory/libs-releases-local \
--moderne-agent.maven[0].localRepository=~/.moderne-maven \
--moderne.agent.maven[0].username=admin \
--moderne.agent.maven[0].password=password \
# ... Additional arguments
You can configure multiple Artifactory servers by including multiple entries, each with a different
{index}
. Within a given Artifactory server configuration, you can configure multiple LST query filters by including multiple entries, each with a different {index}
.OCI Container
Executable JAR
Variables:
MODERNE_AGENT_ARTIFACTORY_{index}_URL
– The URL of your Artifactory instance.MODERNE_AGENT_ARTIFACTORY_{index}_USERNAME
– The username used to connect to your Artifactory instance. This user must have permission to run AQL queries.MODERNE_AGENT_ARTIFACTORY_{index}_PASSWORD
– The password used to connect to your Artifactory instance.MODERNE_AGENT_ARTIFACTORY_{index}_ASTQUERYFILTERS_{index}
– The AQL query fragment used to select LST artifacts to send to Moderne. If multiple are specified, they are combined together with anAND
.MODERNE_AGENT_ARTIFACTORY_{index}_SKIPSSL
– (Optional) Specifies whether or not to skip SSL verification for HTTP connections from the agent to this Artifactory instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_ARTIFACTORY_0_URL=https://myartifactory.example.com/artifactory/ \
-e MODERNE_AGENT_ARTIFACTORY_0_USERNAME=admin \
-e MODERNE_AGENT_ARTIFACTORY_0_PASSWORD=password \
-e MODERNE_AGENT_ARTIFACTORY_0_ASTQUERYFILTERS_0='"name":{"$match":"*-ast.jar"}' \
-e MODERNE_AGENT_ARTIFACTORY_0_ASTQUERYFILTERS_1='"repo":{"$eq":"example-maven"}' \
# ... Additional variables
Arguments:
--moderne.agent.artifactory[{index}].url
– The URL of your Artifactory instance.--moderne.agent.artifactory[{index}].username
– The username used to connect to your Artifactory instance. This user must have permission to run AQL queries.--moderne.agent.artifactory[{index}].password
– The password used to connect to your Artifactory instance.--moderne.agent.artifactory[{index}].astQueryFilters[{index}]
– The AQL query fragment used to select LST artifacts to send to Moderne. If multiple are specified, they are combined together with anAND
.--moderne.agent.artifactory[{index}].skipSsl
– (Optional) Specifies whether or not to skip SSL verification for HTTP connections from the agent to this Artifactory instance. This must be set to true if you use a self-signed SSL/TLS certificate. Defaults tofalse
.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.artifactory[0].url=https://myartifactory.example.com/artifactory/ \
--moderne.agent.artifactory[0].username=admin \
--moderne.agent.artifactory[0].password=password \
--moderne.agent.artifactory[0].astQueryFilters[0]='{"name":{"$match":"*-ast.jar"}}' \
--moderne.agent.artifactory[0].astQueryFilters[1]='{"repo":{"$eq":"example-maven"}}' \
# ... Additional arguments
The platform provides several fallback repositories for recipe loading when an agent has not been configured with any recipe sources. This fallback behavior can be disabled using recipe configuration.
OCI Container
Executable JAR
Variables:
MODERNE_AGENT_RECIPE_USEONLYCONFIGURED
– Only use the recipe sources configured in the agent.
Example:
docker run \
# ... Existing variables
-e MODERNE_AGENT_RECIPE_USEONLYCONFIGURED=true \
# ... Additional variables
Arguments:
--moderne.agent.recipe.useOnlyConfigured
– Only use the recipe sources configured in the agent.
Example:
java -jar moderne-agent-{version}.jar \
# ... Existing arguments
--moderne.agent.recipe.useOnlyConfigured=true \
# ... Additional arguments