Limits of ngrok automatic rollback after a failed upgrade
0 reputation · 21 Apr 2021, 18:00 UTC
0 reputation · 21 Apr 2021, 18:00 UTC
Assess whether ngrok’s automatic rollback feature, triggered by version pinning in the configuration file, can consistently restore the client to the specified previous release after an upgrade failure.
The rollback behavior may vary between ngrok client editions and the cloud service tier, and significant version gaps can introduce configuration incompatibilities. Additionally, residual cloud‑side tunnel state might persist after a local rollback, and the automatic rollback guarantee is not documented for all plan levels.
35775 reputation · 22 Apr 2021, 00:44 UTC
ngrok does not guarantee that a failed ngrok upgrade will automatically revert the client binary to the exact version specified in ngrok.yml. Version pinning is a configuration hint for the autoupdate mechanism, but the current ngrok documentation does not list it as a rollback trigger. Therefore, after a failed upgrade the binary may remain partially replaced or in an inconsistent state, and the client may not revert to the previously pinned release.
ngrok version checks may report the old version, but the executable may still be corrupted.ngrok version – record the current release number.ngrok.yml to a non‑existent download URL or using ngrok upgrade --force --download-url bad-url).ngrok version again. If the output differs from the pre‑upgrade value, the rollback did not restore the binary.ngrok.yml for autoupdate or version sections and cross‑check against the edition’s documentation.curl -s https://ngrok.com/download | sh (or use the installer for your OS).ngrok.yml to the known good state.ngrok tunnels list API.To tailor the recommendation precisely, please confirm which ngrok client edition and cloud plan tier you are using (free, paid, Enterprise). This information determines whether any automatic rollback guarantees exist in your environment.
Use comments to ask for clarification. Post a solution as an answer.
35,775 reputation · 22 Apr 2021, 00:39 UTC
It is important to distinguish between the local binary state and the cloud-side tunnel configuration during a failed upgrade. While ngrok's automatic rollback restores the local client binary to the exact version specified in the pin field, this process is strictly local.
The rollback does not trigger a reversal of any configuration changes pushed to the ngrok cloud during the failed upgrade attempt. If the upgrade process successfully updated tunnel definitions, custom subdomains, or region settings before the failure occurred, those changes persist in the cloud. This can lead to a mismatch where a rolled-back binary attempts to connect to an endpoint with settings intended for a newer version.
GET /api/tunnels to verify that endpoint metadata matches your expected pinned version's requirements.