Skip to main content

All Connector configuration variables

As of SaaS v2, Connector configuration uses new canonical property names documented below. The legacy moderne.agent.* property names (and their MODERNE_AGENT_* environment variable equivalents) are still accepted and automatically mapped to their canonical equivalents at startup. New deployments should use the canonical names shown here.

This document includes all of the variables you can configure the Moderne Connector to run with. Your configuration will only use some of these.

Core variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CONNECTOR_APIGATEWAYRSOCKETURItrueThe URI used to connect to the Moderne API, provided by Moderne.
MODERNE_CONNECTOR_CRYPTO_SYMMETRICKEYfalseA 256-bit AES encryption key, hex encoded, used to encrypt your LSTs before they reach Moderne. Required unless every organization source sets encrypt to false.
MODERNE_CONNECTOR_NICKNAMEtrueA name used to identify your Connector in the SaaS Connector dashboard UI.
MODERNE_CONNECTOR_TOKENtrueThe Moderne SaaS Connector connection token, provided by Moderne.
MODERNE_SCM_DEFAULTCOMMITOPTIONS_{index}falseAll options available.Use to restrict which commit options are available in Moderne. Acceptable values: Direct, Branch, Fork, PullRequest, ForkAndPullRequest, None. Use None on its own to disable committing entirely.
MODERNE_AUTHORIZATION_ACCESSTOKENS_MAXEXPIRYDAYSfalseThe maximum number of days a personal access token can be configured to expire in. When set, users cannot create tokens with an expiry date beyond this limit.
MODERNE_CONNECTOR_WRITEMIGRATEDCONFIGfalsetrueWhether the Connector writes a moderne.yml showing your configuration in canonical property names on startup. Useful when migrating from the legacy moderne.agent.* format.
MODERNE_CONNECTOR_MIGRATEDCONFIGPATHfalsemoderne.ymlWhere the Connector writes that file.

Example:

docker run \
-e MODERNE_CONNECTOR_APIGATEWAYRSOCKETURI=https://api.tenant.moderne.io/connector \
-e MODERNE_CONNECTOR_CRYPTO_SYMMETRICKEY=yourSymmetricKey \
-e MODERNE_CONNECTOR_NICKNAME=prod-1 \
-e MODERNE_CONNECTOR_TOKEN=yourToken \
-e MODERNE_SCM_DEFAULTCOMMITOPTIONS_0=PullRequest \
-e MODERNE_SCM_DEFAULTCOMMITOPTIONS_1=ForkAndPullRequest \
# ... Additional variables

Azure variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_SCM_AZUREDEVOPS_{index}_OAUTH_CLIENTIDtrueThe client ID of the registered OAuth app.
MODERNE_SCM_AZUREDEVOPS_{index}_OAUTH_CLIENTSECRETtrueThe client secret of the registered OAuth app.
MODERNE_SCM_AZUREDEVOPS_{index}_OAUTH_TENANTIDtrueThe Azure tenant ID of the registered OAuth app.
MODERNE_SCM_AZUREDEVOPS_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this Azure DevOps instance. If specified, PROXY_PORT must also be set.
MODERNE_SCM_AZUREDEVOPS_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this Azure DevOps instance. If specified, PROXY_HOST must also be set.
MODERNE_SCM_AZUREDEVOPS_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_SCM_AZUREDEVOPS_0_OAUTH_CLIENTID=4affd674-286d-423f-b643-7ffe4dec0f53 \
-e MODERNE_SCM_AZUREDEVOPS_0_OAUTH_CLIENTSECRET=yourClientSecret \
-e MODERNE_SCM_AZUREDEVOPS_0_OAUTH_TENANTID=488bc312-9fdc-43d2-a647-7a7b28066cc4 \
# ... Additional variables

Bitbucket Cloud variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_SCM_BITBUCKETCLOUD_OAUTH_KEYtrueThe key specified in your Bitbucket OAuth consumer.
MODERNE_SCM_BITBUCKETCLOUD_OAUTH_SECRETtrueThe secret specified in your Bitbucket OAuth consumer.
MODERNE_SCM_BITBUCKETCLOUD_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this Bitbucket Cloud instance. If specified, PROXY_PORT must also be set.
MODERNE_SCM_BITBUCKETCLOUD_PROXY_PORTfalseThe port of the proxy server to use for connections to this Bitbucket Cloud instance. If specified, PROXY_HOST must also be set.
MODERNE_SCM_BITBUCKETCLOUD_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_SCM_BITBUCKETCLOUD_OAUTH_KEY=yourOAuthKey \
-e MODERNE_SCM_BITBUCKETCLOUD_OAUTH_SECRET=yourSecretKey \
# ... Additional variables

Bitbucket Data Center variables

You can configure multiple Bitbucket instances by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_SCM_BITBUCKETDATACENTER_{index}_URItrueThe fully-qualified URI of the running Bitbucket instance. For example: https://bitbucket.myorg.com.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_PRIVATEKEYconditional(OAuth1.0a only) The private key you configured for this Bitbucket instance.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_OAUTH_KEYconditional(OAuth2 only) The client id for the Application Link that you configured for this Bitbucket instance.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_OAUTH_SECRETconditional(OAuth2 only) The client secret for the Application Link that you configured for this Bitbucket instance.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_SKIPSSLfalsefalseSpecifies 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.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this Bitbucket Data Center instance. If specified, PROXY_PORT must also be set.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this Bitbucket Data Center instance. If specified, PROXY_HOST must also be set.
MODERNE_SCM_BITBUCKETDATACENTER_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_SCM_BITBUCKETDATACENTER_0_OAUTH_KEY=yourClientId \
-e MODERNE_SCM_BITBUCKETDATACENTER_0_OAUTH_SECRET=yourClientSecret \
-e MODERNE_SCM_BITBUCKETDATACENTER_0_URI=https://bitbucket.myorg.com \
# ... Additional variables

GitHub variables

You can configure multiple GitHub OAuth apps by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_SCM_GITHUB_{index}_OAUTH_CLIENTIDtrueThe client id configured in GitHub.
MODERNE_SCM_GITHUB_{index}_OAUTH_CLIENTSECRETtrueThe client secret configured in GitHub.
MODERNE_SCM_GITHUB_{index}_URItrueThe fully-qualified hostname of the running GitHub instance.
MODERNE_SCM_GITHUB_{index}_SKIPSSLfalsefalseSpecifies 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.
MODERNE_SCM_GITHUB_{index}_ALLOWABLEORGANIZATIONS_{index}falseSee descriptionSpecifies 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_SCM_GITHUB_{index}_OAUTH_INCLUDEPRIVATEREPOSfalseSee descriptionBy 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 to true.
MODERNE_SCM_GITHUB_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this GitHub instance. If specified, PROXY_PORT must also be set.
MODERNE_SCM_GITHUB_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this GitHub instance. If specified, PROXY_HOST must also be set.
MODERNE_SCM_GITHUB_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_SCM_GITHUB_0_OAUTH_CLIENTID=yourClientId \
-e MODERNE_SCM_GITHUB_0_OAUTH_CLIENTSECRET=yourClientSecret \
-e MODERNE_SCM_GITHUB_0_URI=https://myorg.github.com \
-e MODERNE_SCM_GITHUB_0_ALLOWABLEORGANIZATIONS_0=moderne \
-e MODERNE_SCM_GITHUB_0_ALLOWABLEORGANIZATIONS_1=openrewrite \
-e MODERNE_SCM_GITHUB_0_OAUTH_INCLUDEPRIVATEREPOS=true \
# ... Additional variables

GitLab variables

You can configure multiple GitLab OAuth apps by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_SCM_GITLAB_{index}_OAUTH_CLIENTIDtrueThe application id configured in GitLab.
MODERNE_SCM_GITLAB_{index}_OAUTH_CLIENTSECRETtrueThe secret configured in GitLab.
MODERNE_SCM_GITLAB_{index}_URItrueThe fully-qualified hostname of your GitLab instance.
MODERNE_SCM_GITLAB_{index}_SKIPSSLfalsefalseSpecifies 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.
MODERNE_SCM_GITLAB_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this GitLab instance. If specified, PROXY_PORT must also be set.
MODERNE_SCM_GITLAB_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this GitLab instance. If specified, PROXY_HOST must also be set.
MODERNE_SCM_GITLAB_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_SCM_GITLAB_0_OAUTH_CLIENTID=yourClientId \
-e MODERNE_SCM_GITLAB_0_OAUTH_CLIENTSECRET=yourClientSecret \
-e MODERNE_SCM_GITLAB_0_URI=https://your-gitlab.com \
# ... Additional variables

Organization hierarchy variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_ORGANIZATION_SOURCES_FILE_{index}_PATHfalseThe path to a local repos.csv file, relative to the Connector's permanent directory (moderne.storage.permanent-dir).
MODERNE_ORGANIZATION_SOURCES_FILE_{index}_ENCRYPTfalsetrueWhether the Connector fetches each LST from this source, encrypts it with your symmetric key, and uploads it to Moderne. See LST encryption for the rules that apply per source type.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_URIfalseThe URL of an HTTP(S) endpoint serving your repos.csv file (e.g., https://<internal-endpoint>/repos.csv).
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_USERNAMEfalseUsername for basic auth against the HTTP endpoint. Mutually exclusive with bearer-token.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_PASSWORDfalsePassword for basic auth against the HTTP endpoint. Mutually exclusive with bearer-token.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_BEARERTOKENfalseBearer token for the HTTP endpoint. Mutually exclusive with username/password.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to the HTTP endpoint. If specified, PROXY_PORT must also be set.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to the HTTP endpoint. If specified, PROXY_HOST must also be set.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_SKIPSSLfalsefalseWhether to skip SSL/TLS verification for connections to the HTTP endpoint. Set to true if it uses a self-signed certificate.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this source and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_ORGANIZATION_SOURCES_HTTP_{index}_ENCRYPTfalsetrueWhether the Connector fetches each LST from this source, encrypts it with your symmetric key, and uploads it to Moderne. See LST encryption for the rules that apply per source type.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_URIfalseThe S3 URI of a CSV object (e.g., s3://my-bucket/repos-lock.csv). For the full set of S3 auth/region/endpoint arguments, please see S3 organization source.
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_URIfalseThe Cloud Storage URI of a CSV object (e.g., gs://my-bucket/repos-lock.csv). For the full set of Cloud Storage auth/project/endpoint arguments, please see Google Cloud Storage organization source.

Example using a local file:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_FILE_0_PATH=repos.csv \
# ... Additional variables

Example using an HTTP URL:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_URI=https://internal.example.com/repos.csv \
# ... Additional variables

Organization sync variables

These variables control how often the Connector re-fetches each repos.csv source and the global concurrency for LST download, encryption, and upload operations. Both are optional.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CONNECTOR_ORGANIZATION_INTERVALfalse10mHow often the Connector re-fetches each source repos.csv and re-runs enrichment. Applies whether the Connector takes publish URIs from the CSV or discovers them by polling. Specified as a duration (e.g., 10m, 1h).
MODERNE_CONNECTOR_ORGANIZATION_DOWNLOADPARALLELISMfalsemax(4, availableProcessors())Global cap on concurrent LST download, encrypt, and upload operations across all configured sources.
MODERNE_CONNECTOR_ORGANIZATION_ENRICHBATCHSIZEfalse50How many enriched rows accumulate before the Connector pushes them to Moderne. Smaller values make publications appear sooner during long first cycles, at the cost of more round trips.
MODERNE_CONNECTOR_ORGANIZATION_HEARTBEATINTERVALfalse2mHow often the Connector sends a liveness heartbeat while a cycle is in flight. Must stay well below the gateway contribution TTL, so keep the default unless asked to change it.
MODERNE_ORGANIZATION_CHANGETOKENTTLfalse5mHow long Moderne caches each source change token before checking the source again. Lower values shorten the lag between an upstream publish and the organization tree reflecting it.
MODERNE_ORGANIZATION_REFRESHINTERVALfalse1mHow often Moderne checks configured sources for changes in the background. Requests always return the current snapshot immediately; this bounds how stale that snapshot can be.

Example:

docker run \
# ... Existing variables
-e MODERNE_CONNECTOR_ORGANIZATION_INTERVAL=5m \
-e MODERNE_CONNECTOR_ORGANIZATION_DOWNLOADPARALLELISM=8 \
# ... Additional variables

Maven repository variables

You can configure multiple Maven repositories by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_URItrueThe URI of your Maven repository.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_LOCALREPOSITORYfalse~/.moderne-mavenThe path on disk where LST artifacts and Maven index files will be downloaded to. This is on the disk where the Connector is being run and not on the Maven instance.

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.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_USERNAMEfalsenullThe username used to resolve artifacts.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_PASSWORDfalsenullThe password used to resolve artifacts.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_RELEASESfalsetrueSpecifies whether or not this repository should be searched for releases.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_SNAPSHOTSfalsetrueSpecifies whether or not this repository should be searched for snapshots.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this Maven repository. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, we will validate that we can connect to this Maven repository, and fail to start up the Connector if we cannot. Set this to true to skip this validation.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this Maven repository.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this Maven repository.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established (and the first data received). Specified as a duration (e.g., 30s, 1m).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_READTIMEOUTfalse60sTimeout for reading the response body from the Maven repository. Specified as a duration (e.g., 60s, 5m).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_INTERVALfalse10mHow often this repository is polled for new LST artifacts. Specified as a duration (e.g., 10m, 1h).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_{index}_DOWNLOADPARALLELISMfalseMaximum number of concurrent LST downloads from this repository. Defaults to the Connector-wide moderne.connector.organization.download-parallelism.

Example:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_0_URI=https://myartifactory.example.com/artifactory/libs-releases-local \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_0_USERNAME=admin \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_MAVEN_0_PASSWORD=password \
# ... Additional variables

Artifactory repository variables

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}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_URItrueThe URL of your Artifactory instance.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_USERNAMEfalseThe username used to connect to your Artifactory instance. This user must have permission to run AQL queries.

Note: Only one of basic auth (username+password) or bearer token can be used.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_PASSWORDfalseThe password used to connect to your Artifactory instance.

Note: Only one of basic auth (username+password) or bearer token can be used.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_BEARERTOKENfalseThe bearer token (access token) used to connect to your Artifactory instance.

Note: Only one of basic auth (username+password) or bearer token can be used. If bearer-token is specified, username and password must not be provided.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_LSTQUERYFILTERS_{index}trueThe AQL query fragment used to select LST artifacts to send to Moderne. If multiple are specified, they are combined together with an AND.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_SKIPSSLfalsefalseSpecifies whether or not to skip SSL verification for HTTP connections from the Connector to this Artifactory instance. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, we will validate that we can connect to this Artifactory instance, and fail to start up the Connector if we cannot. Set this to true to skip this validation.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this Artifactory instance.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this Artifactory instance.
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established (and the first data received). Specified as a duration (e.g., 30s, 1m).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_READTIMEOUTfalse60sTimeout for reading the response body from the Artifactory instance. Specified as a duration (e.g., 60s, 5m).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_INTERVALfalse10mHow often this repository is polled for new LST artifacts. Specified as a duration (e.g., 10m, 1h).
MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_{index}_DOWNLOADPARALLELISMfalseMaximum number of concurrent LST downloads from this repository. Defaults to the Connector-wide moderne.connector.organization.download-parallelism.

Example:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_0_URI=https://myartifactory.example.com/artifactory/ \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_0_USERNAME=admin \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_0_PASSWORD=password \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_0_LSTQUERYFILTERS_0='"name":{"$match":"*-ast.jar"}' \
-e MODERNE_ORGANIZATION_SOURCES_HTTP_0_POLL_ARTIFACTORY_0_LSTQUERYFILTERS_1='"repo":{"$eq":"example-maven"}' \
# ... Additional variables

Recipe marketplace Maven variables

Recipe marketplace repositories are configured under the moderne.recipe.marketplace.repositories namespace. You can configure multiple Maven repositories by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_URItrueThe URL of your Maven repository.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_USERNAMEfalsenullThe username used to resolve artifacts.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_PASSWORDfalsenullThe password used to resolve artifacts.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy used to reach this repository.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy used to reach this repository.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this Maven repository. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_RELEASESfalsetrueSpecifies whether or not this repository should be searched for releases.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_SNAPSHOTSfalsetrueSpecifies whether or not this repository should be searched for snapshots.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established, and the first data received. Specified as a duration (e.g., 30s, 1m).
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_{index}_READTIMEOUTfalse60sTimeout for reading the response body. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_0_URI=https://myartifactory.example.com/artifactory/libs-releases-local \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_0_USERNAME=admin \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_MAVEN_0_PASSWORD=password \
# ... Additional variables

Recipe marketplace NPM variables

NPM repositories support either basic authentication (username + password) or bearer token authentication (bearer-token), but not both at the same time. You can configure multiple NPM registries by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_URItrueThe URL of your NPM registry: the endpoint that serves package metadata, which is the value you would give npm config set registry. In Artifactory this is https://<host>/artifactory/api/npm/<repository-key>; in Nexus, https://<host>/repository/<repository-name>.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_USERNAMEfalsenullThe username used to resolve artifacts. Mutually exclusive with bearer-token.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_PASSWORDfalsenullThe password used to resolve artifacts. Mutually exclusive with bearer-token.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_BEARERTOKENfalsenullA bearer token used to resolve artifacts. Mutually exclusive with username/password.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy used to reach this registry.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy used to reach this registry.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this NPM registry. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_SCOPEfalsenullThe npm package scope this registry serves, including the leading @ (e.g., @myorg). Omit it on the one registry that serves unscoped packages. Scopes must be unique, and at most one registry may omit it.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established, and the first data received. Specified as a duration (e.g., 30s, 1m).
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_{index}_READTIMEOUTfalse60sTimeout for reading the response body. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_0_URI=https://myartifactory.example.com/artifactory/api/npm/npm-local \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NPM_0_BEARERTOKEN=... \
# ... Additional variables

Recipe marketplace NuGet variables

NuGet repositories support either basic authentication (username + password) or bearer token authentication (bearer-token), but not both at the same time. You can configure multiple NuGet feeds by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_URItrueThe URL of your NuGet feed.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_USERNAMEfalsenullThe username used to resolve artifacts. Mutually exclusive with bearer-token.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_PASSWORDfalsenullThe password used to resolve artifacts. Mutually exclusive with bearer-token.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_BEARERTOKENfalsenullA bearer token used to resolve artifacts. Mutually exclusive with username/password.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy used to reach this feed.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy used to reach this feed.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this NuGet feed. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established, and the first data received. Specified as a duration (e.g., 30s, 1m).
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_{index}_READTIMEOUTfalse60sTimeout for reading the response body. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_0_URI=https://myartifactory.example.com/artifactory/api/nuget/nuget-local \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_NUGET_0_BEARERTOKEN=... \
# ... Additional variables

Recipe marketplace PyPI variables

You can configure multiple PyPI indexes by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_URItrueThe URL of your PyPI index: the PEP 503 endpoint that serves project pages, which is normally the repository base plus /simple. In Artifactory this is https://<host>/artifactory/api/pypi/<repository-key>/simple. The repository base on its own is also accepted.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_USERNAMEfalsenullThe username used to resolve artifacts.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_PASSWORDfalsenullThe password used to resolve artifacts.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy used to reach this index.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy used to reach this index.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this PyPI index. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_BEARERTOKENfalsenullA bearer token used to resolve artifacts. Mutually exclusive with username/password.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established, and the first data received. Specified as a duration (e.g., 30s, 1m).
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_{index}_READTIMEOUTfalse60sTimeout for reading the response body. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_0_URI=https://myartifactory.example.com/artifactory/api/pypi/pypi-local/simple \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_0_USERNAME=admin \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_PYPI_0_PASSWORD=password \
# ... Additional variables

Recipe marketplace Go variables

Go recipe modules are resolved through a Go module proxy. Go module proxies authenticate with basic auth only - there is no separate bearer-token field. Supply your credentials as USERNAME + PASSWORD (for Artifactory, use your username and identity token as the password). If your proxy authenticates with a token alone, put the token in PASSWORD and set USERNAME to any non-empty placeholder that your proxy ignores (for example, __token__). You can configure multiple Go module proxies by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_URItrueThe URL of your Go module proxy.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_USERNAMEfalsenullThe username used to resolve artifacts.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_PASSWORDfalsenullThe password used to resolve artifacts. For Artifactory, use your identity token as the password.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_SKIPSSLfalsefalseWhether or not to skip SSL/TLS verification for calls from the Connector to this Go module proxy. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_BEARERTOKENfalsenullA bearer token used to resolve artifacts. Mutually exclusive with username/password.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy to use for connections to this repository.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy to use for connections to this repository.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established, and the first data received. Specified as a duration (e.g., 30s, 1m).
MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_READTIMEOUTfalse60sTimeout for reading the response body. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_0_URI=https://myartifactory.example.com/artifactory/api/go/go-local \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_0_USERNAME=admin \
-e MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_0_PASSWORD=identityToken \
# ... Additional variables
Go authenticates with basic auth, not native bearer tokens

Go does not support native bearer authentication for dependency resolution, so a bearer or access token must be supplied as the PASSWORD (for Artifactory, the identity token) rather than as a bearer token. A ..._BEARERTOKEN field (MODERNE_RECIPE_MARKETPLACE_REPOSITORIES_GO_{index}_BEARERTOKEN or --moderne.recipe.marketplace.repositories.go[{index}].bearer-token) may still bind, but it is ignored. Authenticate with USERNAME/PASSWORD as described above.

S3 bucket variables

You can configure multiple S3 buckets by including multiple entries, each with a different {index}.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_ORGANIZATION_SOURCES_S3_{index}_URItrueThe S3 bucket URI. Must start with s3:// (e.g., s3://my-bucket-name).
MODERNE_ORGANIZATION_SOURCES_S3_{index}_ENDPOINTURLfalseCustom endpoint URL for S3-compatible services (e.g., http://localhost:9000 for MinIO). Leave empty for standard AWS S3.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_REGIONfalseThe AWS region where the bucket is located (e.g., us-east-1).
MODERNE_ORGANIZATION_SOURCES_S3_{index}_ACCESSKEYfalse (Required if not using profile or IAM role)The AWS access key ID for authentication.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_SECRETKEYfalse (Required if using access key)The AWS secret key for authentication.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_PROFILEfalse (Alternative to access key/secret key)The AWS profile name from your credentials file.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_SKIPSSLtrue (If using self-signed cert or non-HTTPS endpoint)falseSpecifies whether to skip SSL verification for connections to the S3 endpoint.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_PROXY_HOSTfalsenullThe host of an HTTP proxy to use for connections to the S3 endpoint.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_PROXY_PORTfalsenullThe port of an HTTP proxy to use for connections to the S3 endpoint.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this source and fails to start if it cannot. Set this to true to skip that validation.
MODERNE_ORGANIZATION_SOURCES_S3_{index}_ENCRYPTfalsetrueWhether the Connector fetches each LST from this source, encrypts it with your symmetric key, and uploads it to Moderne. See LST encryption for the rules that apply per source type.

Example:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_S3_0_URI=s3://my-lst-bucket \
-e MODERNE_ORGANIZATION_SOURCES_S3_0_REGION=us-east-1 \
-e MODERNE_ORGANIZATION_SOURCES_S3_0_ACCESSKEY=AKIAIOSFODNN7EXAMPLE \
-e MODERNE_ORGANIZATION_SOURCES_S3_0_SECRETKEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
# ... Additional variables

Google Cloud Storage bucket variables

You can configure multiple Cloud Storage buckets by including multiple entries, each with a different {index}. For a full walkthrough, including the permissions the Connector needs, please see the Google Cloud Storage organization source guide.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_URItrueThe Cloud Storage URI of the CSV object (e.g., gs://my-bucket/repos-lock.csv).
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_CREDENTIALSJSONfalse (Required if not using Application Default Credentials)The contents of a service account key file.
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_PROJECTfalseThe project to bill requests to. Only needed for requester-pays buckets.
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_ENDPOINTURLfalseOverrides the default storage.googleapis.com endpoint (e.g., a Private Service Connect endpoint).
MODERNE_ORGANIZATION_SOURCES_GCS_{index}_ENCRYPTfalsetrueWhether the Connector fetches each LST from this source, encrypts it with your symmetric key, and uploads it to Moderne. See LST encryption for the rules that apply per source type.

Example:

docker run \
# ... Existing variables
-e MODERNE_ORGANIZATION_SOURCES_GCS_0_URI=gs://my-lst-bucket/repos-lock.csv \
# ... Additional variables

Recipe POM cache variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CONNECTOR_RECIPE_POMCACHE_TYPEfalseUsed to specify what type of cache the POM should use. Acceptable values: IN_MEMORY or REDIS. If unset, no caching is performed.
MODERNE_CONNECTOR_RECIPE_POMCACHE_POMTTLfalse60mHow long cached .pom files should live in the POM cache. Specified as a duration (e.g., 60m, 2h).
MODERNE_CONNECTOR_RECIPE_POMCACHE_METADATATTLfalse10mHow long cached maven-metadata.xml files should live in the POM cache. This defaults lower than pom-ttl because metadata changes as new versions are published.
MODERNE_CONNECTOR_RECIPE_POMCACHE_ENTRYTTLMINUTESfalseDeprecated. Use moderne.connector.recipe.pom-cache.pom-ttl instead. If set, this value in minutes is used as the .pom TTL.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_HOSTtrue (If the POM cache type is REDIS)The URL of the Redis instance.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_PORTtrue (If the POM cache type is REDIS)6379The port number of the Redis instance.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_USERNAMEfalseThe username needed to authenticate to the Redis instance.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_PASSWORDfalseThe password needed to authenticate with the Redis instance.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_SSLfalsefalseIf set to true, then SSL will be enabled for the connection to the Redis instance.
MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_DATABASEfalse0The Redis DB index.

Example:

docker run \
# ... Existing variables
-e MODERNE_CONNECTOR_RECIPE_POMCACHE_TYPE=REDIS \
-e MODERNE_CONNECTOR_RECIPE_POMCACHE_REDIS_HOST=localhost \
# ... Additional variables

HTTP proxy variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CONNECTOR_APIGATEWAY_PROXY_HOSTfalseHost (without scheme) for the proxy server.
MODERNE_CONNECTOR_APIGATEWAY_PROXY_PORTfalsePort for the proxy server.

If you include either a host or port, you must include both.

Example:

docker run \
# ... Existing variables
-e MODERNE_CONNECTOR_APIGATEWAY_PROXY_HOST=proxy.mycompany.com \
-e MODERNE_CONNECTOR_APIGATEWAY_PROXY_PORT=8179 \
# ... Additional variables

UI customization variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_UI_MOREHELP_0_LABELfalsenullCustom label for first link under the 'Need more help?' menu. If populated, the URI property must also be populated. Maximum of 3 help items supported.
MODERNE_UI_MOREHELP_0_URIfalsenullThe URI for the first custom help resource. Must be a fully qualified URI that is accessible to users of the platform.
MODERNE_UI_MOREHELP_1_LABELfalsenullCustom label for second link under the 'Need more help?' menu. If populated, the URI property must also be populated.
MODERNE_UI_MOREHELP_1_URIfalsenullThe URI for the second custom help resource. Must be a fully qualified URI that is accessible to users of the platform.
MODERNE_UI_MOREHELP_2_LABELfalsenullCustom label for third link under the 'Need more help?' menu. If populated, the URI property must also be populated.
MODERNE_UI_MOREHELP_2_URIfalsenullThe URI for the third custom help resource. Must be a fully qualified URI that is accessible to users of the platform.
MODERNE_UI_CLIDOWNLOADINSTRUCTIONS_LABELfalsenullCLI download instructions label to show in the platform UI. Overrides the default display of the CLI tools menu presented in the Moderne platform's user interface. If populated, the URI property must also be populated.
MODERNE_UI_CLIDOWNLOADINSTRUCTIONS_URIfalsenullThe URI of the instructions documentation. Must be a fully qualified URI that is accessible to users of the platform.
MODERNE_UI_LOGINTEXTfalsenullCustom text shown on the Moderne login screen. Useful for tenant-specific welcome messages or compliance notices.
MODERNE_UI_LOGINLINKS_{index}_LABELfalsenullCustom label for a link shown on the login screen. If populated, the URI property at the same index must also be populated.
MODERNE_UI_LOGINLINKS_{index}_URIfalsenullThe URI for a custom login-screen link. Must be a fully qualified URI.

Example:

docker run \
# ... Existing variables
-e MODERNE_UI_MOREHELP_0_LABEL="Getting started" \
-e MODERNE_UI_MOREHELP_0_URI="https://docs.moderne.io/user-documentation/moderne-platform/getting-started" \
-e MODERNE_UI_MOREHELP_1_LABEL="How to guides" \
-e MODERNE_UI_MOREHELP_1_URI="https://docs.moderne.io/user-documentation/moderne-platform/how-to-guides" \
-e MODERNE_UI_CLIDOWNLOADINSTRUCTIONS_LABEL="Download CLI Tools" \
-e MODERNE_UI_CLIDOWNLOADINSTRUCTIONS_URI="https://docs.example.com/moderne-cli-setup" \
# ... Additional variables

Generic HTTP tool variables

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CONNECTOR_HTTPTOOL_{index}_URItrueFully qualified URI to your HTTP tool.
MODERNE_CONNECTOR_HTTPTOOL_{index}_USERNAMEfalseUsername used to authenticate to HTTP tool.

Note: Only one of basic auth (username+password) and bearer token can be used. If username and password are specified, bearer-token must not be provided.
MODERNE_CONNECTOR_HTTPTOOL_{index}_PASSWORDfalsePassword used to authenticate to HTTP tool.

Note: Only one of basic auth (username+password) and bearer token can be used. If username and password are specified, bearer-token must not be provided.
MODERNE_CONNECTOR_HTTPTOOL_{index}_BEARERTOKENfalseBearer token used to authenticate to HTTP tool.

Note: Only one of basic auth (username+password) and bearer token can be used. If bearer-token is specified, username and password must not be provided.
MODERNE_CONNECTOR_HTTPTOOL_{index}_SKIPSSLfalsefalseSpecifies whether or not to skip SSL validation for HTTP connections to this HTTP tool. This must be set to true if you use a self-signed SSL/TLS certificate.
MODERNE_CONNECTOR_HTTPTOOL_{index}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, we will validate that we can connect to this HTTP tool, and fail to start up the Connector if we cannot. Set this to true to skip this validation.
MODERNE_CONNECTOR_HTTPTOOL_{index}_PROXY_HOSTfalseThe hostname of a proxy server to use for connections to this HTTP tool.
MODERNE_CONNECTOR_HTTPTOOL_{index}_PROXY_PORTfalseThe port of the proxy server to use for connections to this HTTP tool.
MODERNE_CONNECTOR_HTTPTOOL_{index}_CONNECTTIMEOUTfalse30sTimeout for the connection to be established (and the first data received). Specified as a duration (e.g., 30s, 1m).
MODERNE_CONNECTOR_HTTPTOOL_{index}_READTIMEOUTfalse60sTimeout for reading the response body from the HTTP tool. Specified as a duration (e.g., 60s, 5m).

Example:

docker run \
# ... Existing variables
-e MODERNE_CONNECTOR_HTTPTOOL_0_URI=https://launchdarkly.mycompany.com \
-e MODERNE_CONNECTOR_HTTPTOOL_0_USERNAME=myUser \
-e MODERNE_CONNECTOR_HTTPTOOL_0_PASSWORD=${SECRET_NAME} \
# ... Additional variables

Moddy LLM variables

Variables for enabling Moddy, Moderne's multi-repo AI agent. Variables are nested under the specific provider you are configuring. Replace {PROVIDER} with one of OPENAI, ANTHROPIC, GEMINI, or MISTRAL (for environment variables) or {provider} with one of openai, anthropic, gemini, or mistral (for JAR arguments).

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_MODDY_{PROVIDER}_APIKEYtrueThe API key for the specified LLM provider. Replace {PROVIDER} with OPENAI, ANTHROPIC, GEMINI, or MISTRAL.
MODERNE_MODDY_{PROVIDER}_MODELfalseOptional model name override for the LLM provider.
MODERNE_MODDY_{PROVIDER}_URIfalseOptional URI override for the LLM API endpoint. If not specified, the default endpoint for the provider is used. Useful for routing requests through a custom API gateway.
MODERNE_MODDY_{PROVIDER}_PROXY_HOSTfalseThe hostname of a proxy server used to reach the LLM API. If specified, PROXY_PORT must also be set.
MODERNE_MODDY_{PROVIDER}_PROXY_PORTfalseThe port of the proxy server used to reach the LLM API. If specified, PROXY_HOST must also be set.
MODERNE_MODDY_ADMINONLYfalsefalseIf true, only admins will see Moddy in the UI and be able to chat with Moddy.
MODERNE_MODDY_{PROVIDER}_SKIPSSLfalsefalseWhether to skip SSL/TLS verification for connections to the LLM API. Set to true only if the endpoint uses a self-signed certificate.
MODERNE_MODDY_{PROVIDER}_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_MODDY_ANTHROPIC_APIKEY=${ANTHROPIC_API_KEY} \
# ... Additional variables

Storage variables

Filesystem location used by the Connector for its working state. Mount a persistent volume here so the state survives Connector restarts.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_STORAGE_PERMANENTDIRfalse./working-set/permanentFilesystem path where the Connector stores working files: any file-based repos.csv you point at it, in-progress checkpoints used to resume after a restart, a cached copy of the last enrichment result, and any Maven repository indexes it builds. The path must be writable.

Example:

docker run \
# ... Existing variables
-e MODERNE_STORAGE_PERMANENTDIR=/var/moderne/permanent \
# ... Additional variables

Changelog variables

Variables for enabling the Changelog feature, which surfaces pull requests, commits, and check results across your SCMs in a single Moderne view. Configure credentials for each SCM provider you want included.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CHANGELOG_GITHUB_APPIDfalseGitHub App ID used to post Changelog updates.
MODERNE_CHANGELOG_GITHUB_PRIVATEKEYfalseGitHub App private key. Accepts a literal key, or file:/path/to/key.pem to read from disk.
MODERNE_CHANGELOG_GITHUB_WEBHOOKSECRETfalseShared secret configured on the GitHub App webhook.
MODERNE_CHANGELOG_GITHUB_ORIGINS_{index}falsegithub.comHostname(s) this GitHub App serves. Set to your GitHub Enterprise hostname if self-hosted.
MODERNE_CHANGELOG_GITHUB_INSTALLATIONS_{ORG}falseMap of organization name to GitHub App installation ID. Find the ID at https://github.com/organizations/<org>/settings/installations - click the app, then copy the number from the URL.
MODERNE_CHANGELOG_GITLAB_TOKENfalseGitLab access token used to post Changelog updates.
MODERNE_CHANGELOG_GITLAB_ORIGINS_{index}falsegitlab.comHostname(s) of your GitLab instance(s). Set to your self-hosted hostname if you are not on GitLab.com.
MODERNE_CHANGELOG_BITBUCKET_TOKENfalseBitbucket Data Center HTTP access token used to post Changelog updates.
MODERNE_CHANGELOG_BITBUCKET_ORIGINS_{index}falseHostname(s) of your Bitbucket Data Center install(s). No default. Must be set if Bitbucket Data Center is configured.
MODERNE_CHANGELOG_BITBUCKETCLOUD_TOKENfalseBitbucket Cloud app password or access token used to post Changelog updates.
MODERNE_CHANGELOG_BITBUCKETCLOUD_ORIGINS_{index}falsebitbucket.orgHostname(s) for Bitbucket Cloud.
MODERNE_CHANGELOG_AZUREDEVOPS_TOKENfalseAzure DevOps personal access token used to post Changelog updates.
MODERNE_CHANGELOG_AZUREDEVOPS_ORIGINS_{index}falsedev.azure.comHostname(s) of your Azure DevOps instance(s). Set to your hostname if using Azure DevOps Server on-prem.

Example:

docker run \
# ... Existing variables
-e MODERNE_CHANGELOG_GITHUB_APPID=123456 \
-e MODERNE_CHANGELOG_GITHUB_PRIVATEKEY=file:/secrets/github-moderne-changelog.pem \
-e MODERNE_CHANGELOG_GITHUB_INSTALLATIONS_ORG1=12345678 \
-e MODERNE_CHANGELOG_GITHUB_INSTALLATIONS_ORG2=87654321 \
# ... Additional variables

Organizations service variables

These configure an optional customer-hosted organizations service. For a full walkthrough, please see the Organizations service guide.

Environment variables:

Variable NameRequiredDefaultDescription
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_URItrueThe URL of your organizations service GraphQL endpoint.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_USERNAMEfalsenullUsername, if the service requires basic authentication.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_PASSWORDfalsenullPassword, if the service requires basic authentication.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_BEARERTOKENfalsenullBearer token, if the service uses token authentication. Takes precedence over username/password when both are set.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_PROXY_HOSTfalseThe host of an HTTP proxy to use for connections to this service.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_PROXY_PORTfalseThe port of an HTTP proxy to use for connections to this service.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_SKIPSSLfalsefalseWhether to skip SSL/TLS verification for connections to this service. Set to true if it uses a self-signed certificate.
MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_SKIPVALIDATECONNECTIVITYfalsefalseBy default, on Connector startup, the Connector validates that it can reach this service and fails to start if it cannot. Set this to true to skip that validation.

Example:

docker run \
# ... Existing variables
-e MODERNE_CUSTOMINTEGRATIONS_ORGANIZATIONSERVICE_URI=https://org-service.internal/graphql \
# ... Additional variables