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.