OPA periodically reports its version to a publicly hosted, external service. The version reports only contain the OPA version number (e.g., v0.12.3) and a randomly generated UUID. This feature is only applicable to the and opa version
commands.
In case of the opa run
command, this feature is ON by-default and can be easily disabled by specifying the flag. When OPA is started in either the server or repl mode, OPA calls the external service on a best-effort basis and shares the version it’s running. The time taken to execute the remote call and process the subsequent response from the external service does not delay OPA’s start-up.
In case of the opa version
command, this feature can be enabled by specifying the --check
or flag.
Sample HTTP request from OPA to the external service looks like this:
The id field in the request body above is a version 4 random UUID generated when OPA starts.
The external service checks the OPA version reported by a remote OPA client and responds with information about the latest OPA release. This information includes a link to download the latest OPA version, release notes etc.
The external service response contains a link to download the latest released OPA binary for client’s platform, and a link to the OPA release notes.