Using Environment variables
adb
and xcrun
nimbus-cli
assumes that adb
and xcrun
are on the PATH
. If they are not (or aren't spelled adb
or adb.exe
), then you can configure them via the ADB_PATH
and XCRUN_PATH
environment variables.
export ADB_PATH="/Applications/Android Studio.app/platform-tools/bin/adb"
export XCRUN_PATH="$HOME/Library/CustomXcode/bin/xcrun"
Experimenter URLs
Experimenter URLs are used for accessing experiments via the /api/v6
endpoints. They're hardcoded into nimbus-cli
for both stage and production versions. However, just occassionally you may want to change these URLs.
e.g. for a local development version of experimenter with localhost
:
export NIMBUS_API_URL=https://localhost:8080
export NIMBUS_API_STAGE_URL=https://localhost:3030
Remote Settings URLs
URLs for Remote Settings are also hardcoded into nimbus-cli
for both the stage and release versions. Like Experimenter, you may occassionally want to change these URLs.
e.g.
export NIMBUS_URL=https://no-cdn.remote-settings.mozilla.com
export NIMBUS_STAGE_URL=https://no-cdn.stage-remote-settings.mozilla.com
This has been helpful in the past when trying to debug a problem with CDN, or Remote Settings has moved.
Note: while the Remote Settings represents what the live apps see, there is approximately 1 hour latency between changing an experiment on Experimenter and it being synced to Remote Settings.
Manifest Cache Directory
The manifest downloading happens on each invocation of the enroll
, validate
and test-feature
commands.
You can speed this up by setting directory as the cache for downloading the manifests:
export NIMBUS_MANIFEST_CACHE=./caches/fml
However, it should be noted that for some files (especially downloading from main
), they change even though the URL remains the same.
For this, you should consider putting into your .profile
file something like
export NIMBUS_MANIFEST_CACHE=$HOME/.local/state/fml/$(date -Idate)
so as to only use the cache for one day.
Suppressing update checking
The nimbus-cli
periodically checks for a new version. This can be disabled by setting the following environment variable.
export NIMBUS_CLI_SUPPRESS_UPDATE_CHECK="true"
The server host and port
By default, the server that is started with nimbus-cli start-server
uses the machine's network interface to derive the external IP address.
Communicating with the server is done by other instances of nimbus-cli
by posting to the /post
endpoint. The port and host can be configured with the following environment variables.
export NIMBUS_CLI_SERVER_HOST=0.0.0.0
export NIMBUS_CLI_SERVER_PORT=9090